updated make_kconfig.pl for Ubuntu
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
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
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
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
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
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
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; +}