updated make_kconfig.pl for Ubuntu

2010-09-27 Thread Jan Hoogenraad

I have updated launchpad bug

https://bugs.launchpad.net/ubuntu/+source/linux-kernel-headers/+bug/134222

I also created an updated make_kconfig.pl

http://linuxtv.org/hg/~jhoogenraad/rtl2831-r2/file/cb34ee1c29fc/v4l/scripts/make_kconfig.pl

Unfortunately, I forgot to commit changes to the main archive the first 
time. I do not know how to make a patch file for this one file, without 
have all other changes in the two commits as well.
I cannot find a hg export command to make a patch for this one file 
between versions spanning two commits.


Douglas: can you help ?

Mauro Carvalho Chehab wrote:

Em 26-09-2010 13:18, Jan Hoogenraad escreveu:

On
Linux 2.6.28-19-generic
the problem is tackled already:
DVB_FIREDTV_IEEE1394: Requires at least kernel 2.6.30

On newer linux versions (I have tried Linux 2.6.32-24-generic) the problem is 
NOT that the modules dma is not present, it is just that the required header 
files are not present in
/usr/include

Another location mighte have been:
ls -l /usr/src/linux-headers-2.6.28-19-generic/include/config/ieee1394


This is the right place is whatever pointed on your kernel source alias, like:

$ ls -la /lib/modules/2.6.35+/source
lrwxrwxrwx. 1 root root 23 Set 26 21:51 /lib/modules/2.6.35+/source ->  
/home/v4l/v4l/patchwork




but that only contains:
-rw-r--r-- 1 root root0 2010-09-16 18:25 dv1394.h
drwxr-xr-x 3 root root 4096 2010-06-15 20:12 eth1394
-rw-r--r-- 1 root root0 2010-09-16 18:25 eth1394.h
-rw-r--r-- 1 root root0 2010-09-16 18:25 ohci1394.h
-rw-r--r-- 1 root root0 2010-09-16 18:25 pcilynx.h
-rw-r--r-- 1 root root0 2010-09-16 18:25 rawio.h
-rw-r--r-- 1 root root0 2010-09-16 18:25 sbp2.h
-rw-r--r-- 1 root root0 2010-09-16 18:25 video1394.h

Can you indicate where following files  should be located ?
dma.h
csr1212.h
highlevel.h


All of them are at the same place:

/lib/modules/2.6.35+/source/drivers/ieee1394/dma.h
/lib/modules/2.6.35+/source/drivers/ieee1394/csr1212.h
/lib/modules/2.6.35+/source/drivers/ieee1394/highlevel.h



In that case checking if the dma.h file is present might be the best way 
forward.

I'll also file an ubuntu bug once I know what is missing where.
I could not find an entry in launchpad on this issue yet.


This is probably the best thing. A check for dma.h may also work. If you want,
do a patch for it and submit to Douglas.

Cheers,
Mauro




--
Jan Hoogenraad
Hoogenraad Interface Services
Postbus 2717
3500 GS Utrecht
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: updated make_kconfig.pl for Ubuntu

2010-09-27 Thread Mauro Carvalho Chehab
Em 27-09-2010 15:41, Jan Hoogenraad escreveu:
> I have updated launchpad bug
> 
> https://bugs.launchpad.net/ubuntu/+source/linux-kernel-headers/+bug/134222
> 
> I also created an updated make_kconfig.pl
> 
> http://linuxtv.org/hg/~jhoogenraad/rtl2831-r2/file/cb34ee1c29fc/v4l/scripts/make_kconfig.pl
> 
> Unfortunately, I forgot to commit changes to the main archive the first time. 
> I do not know how to make a patch file for this one file, without have all 
> other changes in the two commits as well.
> I cannot find a hg export command to make a patch for this one file between 
> versions spanning two commits.

You can just do a diff with upstream. Anyway, I'm enclosing the merged patch.

There's one problem on it:

$dmahplace="/usr/src/linux-headers-$dmahplace/include/config/ieee1394/dma.h";

Don't use absolute names here. -hg build system is smart enough to get the 
directory
where the kernel is installed, depending on what version you're compiling 
against
(you may change it with "make release").

Based on sub kernelcheck(), were we have:
my $fullkernel="$kernsrc/fs/fcntl.c";

I suspect that using:
$dmahplace="$kernelsrc/include/config/ieee1394/dma.h";

should work properly.

---

FYI, this is the diff from the master -hg:

diff -r 1da5fed5c8b2 v4l/scripts/make_kconfig.pl
--- a/v4l/scripts/make_kconfig.pl   Sun Sep 19 02:23:09 2010 -0300
+++ b/v4l/scripts/make_kconfig.pl   Mon Sep 27 16:04:50 2010 -0300
@@ -597,6 +597,9 @@
 disable_config('STAGING_BROKEN');
 $intopt { "DVB_MAX_ADAPTERS" } = 8;
 
+#check broken Ubuntu headers
+dmahcheck();
+
 # Check dependencies
 my %newconfig = checkdeps();
 
@@ -681,3 +684,27 @@
 EOF3
sleep 5;
 }
+
+# Check for full kernel sources and print a warning
+sub dmahcheck()
+{
+   my $dmahplace= "".$kernsrc;
+   $dmahplace =~ s-^/lib/modules/--g;
+   $dmahplace =~ s-/.*$--g;
+   
$dmahplace="/usr/src/linux-headers-$dmahplace/include/config/ieee1394/dma.h";
+   if (! -e $dmahplace) {
+   print <<"EOF2";
+
+***WARNING:*** File $dmahplace not present.
+This problem is at least present on Ubuntu systems:
+https://bugs.launchpad.net/ubuntu/+source/linux-kernel-headers/+bug/134222
+
+Therefore disabling FIREDTV driver.
+
+EOF2
+
+   disable_config('DVB_FIREDTV');
+
+   }
+   sleep 5;
+}

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: updated make_kconfig.pl for Ubuntu

2010-09-27 Thread Jan Hoogenraad

Mauro:

On my system, the call to make_kconfig reads:
./scripts/make_kconfig.pl /lib/modules/2.6.28-19-generic/build 
/lib/modules/2.6.28-19-generic/build 1


Using $kernelsrc yields the following error:
Global symbol "$kernelsrc" requires explicit package name at 
./scripts/make_kconfig.pl line 694.


Using
$dmahplace="$kernsrc/include/config/ieee1394/dma.h";
yields the following INCORRECT expansion:
/lib/modules/2.6.28-19-generic/build/include/config/ieee1394/dma.h
this is the place where I am building into, which is different from the 
place where Ubuntu places the include files from the package


Thus I built an expression to get:
/usr/src/linux-headers-2.6.28-19-generic/include/config/ieee1394/dma.h
as I described in the mail of yesterday.

Now, I realize that the header files could ALSO be present in the build 
directory, so there should be a check on that as well, as otherwise the 
FIREDTV is incorrectly disabled on other distros, or source builds.


Yes, and I know all of this is ugly 

Mauro Carvalho Chehab wrote:

Em 27-09-2010 15:41, Jan Hoogenraad escreveu:

I have updated launchpad bug

https://bugs.launchpad.net/ubuntu/+source/linux-kernel-headers/+bug/134222

I also created an updated make_kconfig.pl

http://linuxtv.org/hg/~jhoogenraad/rtl2831-r2/file/cb34ee1c29fc/v4l/scripts/make_kconfig.pl

Unfortunately, I forgot to commit changes to the main archive the first time. I 
do not know how to make a patch file for this one file, without have all other 
changes in the two commits as well.
I cannot find a hg export command to make a patch for this one file between 
versions spanning two commits.


You can just do a diff with upstream. Anyway, I'm enclosing the merged patch.

There's one problem on it:

$dmahplace="/usr/src/linux-headers-$dmahplace/include/config/ieee1394/dma.h";

Don't use absolute names here. -hg build system is smart enough to get the 
directory
where the kernel is installed, depending on what version you're compiling 
against
(you may change it with "make release").

Based on sub kernelcheck(), were we have:
my $fullkernel="$kernsrc/fs/fcntl.c";

I suspect that using:
$dmahplace="$kernelsrc/include/config/ieee1394/dma.h";

should work properly.

---

FYI, this is the diff from the master -hg:

diff -r 1da5fed5c8b2 v4l/scripts/make_kconfig.pl
--- a/v4l/scripts/make_kconfig.pl   Sun Sep 19 02:23:09 2010 -0300
+++ b/v4l/scripts/make_kconfig.pl   Mon Sep 27 16:04:50 2010 -0300
@@ -597,6 +597,9 @@
  disable_config('STAGING_BROKEN');
  $intopt { "DVB_MAX_ADAPTERS" } = 8;

+#check broken Ubuntu headers
+dmahcheck();
+
  # Check dependencies
  my %newconfig = checkdeps();

@@ -681,3 +684,27 @@
  EOF3
sleep 5;
  }
+
+# Check for full kernel sources and print a warning
+sub dmahcheck()
+{
+   my $dmahplace= "".$kernsrc;
+   $dmahplace =~ s-^/lib/modules/--g;
+   $dmahplace =~ s-/.*$--g;
+   
$dmahplace="/usr/src/linux-headers-$dmahplace/include/config/ieee1394/dma.h";
+   if (! -e $dmahplace) {
+   print<<"EOF2";
+
+***WARNING:*** File $dmahplace not present.
+This problem is at least present on Ubuntu systems:
+https://bugs.launchpad.net/ubuntu/+source/linux-kernel-headers/+bug/134222
+
+Therefore disabling FIREDTV driver.
+
+EOF2
+
+   disable_config('DVB_FIREDTV');
+
+   }
+   sleep 5;
+}




--
Jan Hoogenraad
Hoogenraad Interface Services
Postbus 2717
3500 GS Utrecht
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: updated make_kconfig.pl for Ubuntu

2010-09-27 Thread Mauro Carvalho Chehab
Em 27-09-2010 17:45, Jan Hoogenraad escreveu:
> Mauro:
> 
> On my system, the call to make_kconfig reads:
> ./scripts/make_kconfig.pl /lib/modules/2.6.28-19-generic/build 
> /lib/modules/2.6.28-19-generic/build 1
> 
> Using $kernelsrc yields the following error:
> Global symbol "$kernelsrc" requires explicit package name at 
> ./scripts/make_kconfig.pl line 694.
> 
> Using
> $dmahplace="$kernsrc/include/config/ieee1394/dma.h";
> yields the following INCORRECT expansion:
> /lib/modules/2.6.28-19-generic/build/include/config/ieee1394/dma.h
> this is the place where I am building into, which is different from the place 
> where Ubuntu places the include files from the package
> 
> Thus I built an expression to get:
> /usr/src/linux-headers-2.6.28-19-generic/include/config/ieee1394/dma.h
> as I described in the mail of yesterday.


Huh? Are you sure that Ubuntu doesn't have a symbolic link at 
/lib/modules/2.6.28-19-generic/build pointing
to /usr/src/linux-headers-2.6.28-19-generic/?

If it doesn't have, then all compat checks done by make_config_compat.pl would 
fail.

> Now, I realize that the header files could ALSO be present in the build 
> directory, so there should be a check on that as well, as otherwise the 
> FIREDTV is incorrectly disabled on other distros, or source builds.
> 
> Yes, and I know all of this is ugly 

It is not just ugly. It will break compilation on Ubuntu with:
$ make release DIR=

Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: updated make_kconfig.pl for Ubuntu

2010-09-28 Thread Jan Hoogenraad

Douglas:

I have an updated make_kconfig.pl for Ububtu on:
http://linuxtv.org/hg/~jhoogenraad/rtl2831-r2/file/cb34ee1c29fc/v4l/scripts/make_kconfig.pl

Could you test if make allyesconfig actually keeps FIREDTV enabled on a 
non-Ubuntu system ?


If so, can you merge this version into the main stream ?


Mauro:

You are very right. I did not look far enough.

The expanded place where I expect the dma.h file would be (as I
/lib/modules/2.6.28-19-generic/build/include/config/ieee1394/dma.h

note that the letters "el" should be removed from your first expression
$dmahplace="$kernelsrc/include/config/ieee1394/dma.h";
needs to be:
$dmahplace="$kernsrc/include/config/ieee1394/dma.h";

Thanks a lot for helping !


As patch, relative to the diff you sent:

# HG changeset patch
# User Jan Hoogenraad 
# Date 1285695899 -7200
# Node ID 891128e7c3334e41f6c173ee5c01fddbce493b73
# Parent  cb34ee1c29fc8891ad3792b3df76031a72e39b9d
Location fix

From: Jan Hoogenraad 

Location fix

Priority: normal

Signed-off-by: Jan Hoogenraad 

diff -r cb34ee1c29fc -r 891128e7c333 v4l/scripts/make_kconfig.pl
--- a/v4l/scripts/make_kconfig.pl   Mon Sep 27 20:27:20 2010 +0200
+++ b/v4l/scripts/make_kconfig.pl   Tue Sep 28 19:44:59 2010 +0200
@@ -688,10 +688,7 @@
 # Check for full kernel sources and print a warning
 sub dmahcheck()
 {
-   my $dmahplace= "".$kernsrc;
-   $dmahplace =~ s-^/lib/modules/--g;
-   $dmahplace =~ s-/.*$--g;
- 
$dmahplace="/usr/src/linux-headers-$dmahplace/include/config/ieee1394/dma.h";

+   my $dmahplace="$kernsrc/include/config/ieee1394/dma.h";
if (! -e $dmahplace) {
print <<"EOF2";


Mauro Carvalho Chehab wrote:

Em 27-09-2010 17:45, Jan Hoogenraad escreveu:

Mauro:

On my system, the call to make_kconfig reads:
./scripts/make_kconfig.pl /lib/modules/2.6.28-19-generic/build 
/lib/modules/2.6.28-19-generic/build 1

Using $kernelsrc yields the following error:
Global symbol "$kernelsrc" requires explicit package name at 
./scripts/make_kconfig.pl line 694.

Using
$dmahplace="$kernsrc/include/config/ieee1394/dma.h";
yields the following INCORRECT expansion:
/lib/modules/2.6.28-19-generic/build/include/config/ieee1394/dma.h
this is the place where I am building into, which is different from the place 
where Ubuntu places the include files from the package

Thus I built an expression to get:
/usr/src/linux-headers-2.6.28-19-generic/include/config/ieee1394/dma.h
as I described in the mail of yesterday.



Huh? Are you sure that Ubuntu doesn't have a symbolic link at 
/lib/modules/2.6.28-19-generic/build pointing
to /usr/src/linux-headers-2.6.28-19-generic/?

If it doesn't have, then all compat checks done by make_config_compat.pl would 
fail.


Now, I realize that the header files could ALSO be present in the build 
directory, so there should be a check on that as well, as otherwise the FIREDTV 
is incorrectly disabled on other distros, or source builds.

Yes, and I know all of this is ugly 


It is not just ugly. It will break compilation on Ubuntu with:
$ make release DIR=

Cheers,
Mauro




--
Jan Hoogenraad
Hoogenraad Interface Services
Postbus 2717
3500 GS Utrecht
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: updated make_kconfig.pl for Ubuntu

2010-09-28 Thread Mauro Carvalho Chehab
Em 28-09-2010 14:48, Jan Hoogenraad escreveu:
> Douglas:
> 
> I have an updated make_kconfig.pl for Ububtu on:
> http://linuxtv.org/hg/~jhoogenraad/rtl2831-r2/file/cb34ee1c29fc/v4l/scripts/make_kconfig.pl
> 
> Could you test if make allyesconfig actually keeps FIREDTV enabled on a 
> non-Ubuntu system ?
> 
> If so, can you merge this version into the main stream ?
> 
> 
> Mauro:
> 
> You are very right. I did not look far enough.
> 
> The expanded place where I expect the dma.h file would be (as I
> /lib/modules/2.6.28-19-generic/build/include/config/ieee1394/dma.h
> 
> note that the letters "el" should be removed from your first expression
> $dmahplace="$kernelsrc/include/config/ieee1394/dma.h";
> needs to be:
> $dmahplace="$kernsrc/include/config/ieee1394/dma.h";
> 
> Thanks a lot for helping !
> 
> 
> As patch, relative to the diff you sent:
> 
> # HG changeset patch
> # User Jan Hoogenraad 
> # Date 1285695899 -7200
> # Node ID 891128e7c3334e41f6c173ee5c01fddbce493b73
> # Parent  cb34ee1c29fc8891ad3792b3df76031a72e39b9d
> Location fix
> 
> From: Jan Hoogenraad 
> 
> Location fix
> 
> Priority: normal
> 
> Signed-off-by: Jan Hoogenraad 
> 
> diff -r cb34ee1c29fc -r 891128e7c333 v4l/scripts/make_kconfig.pl
> --- a/v4l/scripts/make_kconfig.plMon Sep 27 20:27:20 2010 +0200
> +++ b/v4l/scripts/make_kconfig.plTue Sep 28 19:44:59 2010 +0200
> @@ -688,10 +688,7 @@
>  # Check for full kernel sources and print a warning
>  sub dmahcheck()
>  {
> -my $dmahplace= "".$kernsrc;
> -$dmahplace =~ s-^/lib/modules/--g;
> -$dmahplace =~ s-/.*$--g;
> - 
> $dmahplace="/usr/src/linux-headers-$dmahplace/include/config/ieee1394/dma.h";
> +my $dmahplace="$kernsrc/include/config/ieee1394/dma.h";
>  if (! -e $dmahplace) {
>  print <<"EOF2";

Ok, now it looks correct on my eyes, and it should not hurt compilation
with make release and with distros that do a good job with their kernel
packages.

I'll let Douglas review and test, as he is the maintainer.

It would be better if you could send him a diff. you may use hg diff to generate
it against an older version, in order to merge all your make_kconfig.pl patches,
or just create a new clone from master and apply it there.

A side question: when do you intend to send us the patches for the Realtek
rtl2831?

Cheers,
Mauro.

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: updated make_kconfig.pl for Ubuntu

2010-09-28 Thread Jan Hoogenraad

Douglas:

Can you push the updated make_kconfig.pl ?

It is in its own HG tree on:
http://linuxtv.org/hg/~jhoogenraad/ubuntu-firedtv/

Mauro Carvalho Chehab wrote:

Em 28-09-2010 14:48, Jan Hoogenraad escreveu:

Douglas:

I have an updated make_kconfig.pl for Ububtu on:
http://linuxtv.org/hg/~jhoogenraad/rtl2831-r2/file/cb34ee1c29fc/v4l/scripts/make_kconfig.pl

Could you test if make allyesconfig actually keeps FIREDTV enabled on a 
non-Ubuntu system ?

If so, can you merge this version into the main stream ?



Ok, now it looks correct on my eyes, and it should not hurt compilation
with make release and with distros that do a good job with their kernel
packages.

I'll let Douglas review and test, as he is the maintainer.

It would be better if you could send him a diff. you may use hg diff to generate
it against an older version, in order to merge all your make_kconfig.pl patches,
or just create a new clone from master and apply it there.

A side question: when do you intend to send us the patches for the Realtek
rtl2831?

Cheers,
Mauro.




--
Jan Hoogenraad
Hoogenraad Interface Services
Postbus 2717
3500 GS Utrecht
# HG changeset patch
# User Jan Hoogenraad 
# Date 1285703652 -7200
# Node ID c8e14191e48d98a19405c9f899abca30cd89bc18
# Parent  1da5fed5c8b2c626180b1a0983fe1c960b999525
Disable FIREDTV for debian/ubuntu distributions with bad header files

From: Jan Hoogenraad 

Disable FIREDTV for debian/ubuntu distributions with problems in header files

Priority: normal

Signed-off-by: Jan Hoogenraad 

diff -r 1da5fed5c8b2 -r c8e14191e48d v4l/scripts/make_kconfig.pl
--- a/v4l/scripts/make_kconfig.pl	Sun Sep 19 02:23:09 2010 -0300
+++ b/v4l/scripts/make_kconfig.pl	Tue Sep 28 21:54:12 2010 +0200
@@ -597,6 +597,9 @@
 disable_config('STAGING_BROKEN');
 $intopt { "DVB_MAX_ADAPTERS" } = 8;
 
+#check broken Ubuntu headers
+dmahcheck();
+
 # Check dependencies
 my %newconfig = checkdeps();
 
@@ -681,3 +684,24 @@
 EOF3
 	sleep 5;
 }
+
+# Check for full kernel sources and print a warning
+sub dmahcheck()
+{
+	my $dmahplace="$kernsrc/include/config/ieee1394/dma.h";
+	if (! -e $dmahplace) {
+		print <<"EOF2";
+
+***WARNING:*** File $dmahplace not present.
+This problem is at least present on Ubuntu systems:
+https://bugs.launchpad.net/ubuntu/+source/linux-kernel-headers/+bug/134222
+
+Therefore disabling FIREDTV driver.
+
+EOF2
+
+	disable_config('DVB_FIREDTV');
+
+	}
+	sleep 5;
+}