* Re: Trouble building v4l-dvb
2010-09-17 14:49 ` Mauro Carvalho Chehab
@ 2010-09-17 15:00 ` Devin Heitmueller
2010-09-17 15:08 ` Mauro Carvalho Chehab
2010-09-17 15:27 ` Jan Hoogenraad
2010-09-26 16:18 ` Jan Hoogenraad
2 siblings, 1 reply; 21+ messages in thread
From: Devin Heitmueller @ 2010-09-17 15:00 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Jan Hoogenraad, Ole W. Saastad, Douglas Schilling Landgraf, linux-media
On Fri, Sep 17, 2010 at 10:49 AM, Mauro Carvalho Chehab
<maurochehab@gmail.com> wrote:
> While you're there, the better is to also disable CONFIG_ALSA on Ubuntu, as the drivers
> won't work anyway.
Note: while building ALSA modules did fail in some versions for
Ubuntu, it has been over a years since I've seen that problem.
Blindly disabling ALSA for all Ubuntu users would be a huge regression
for users.
> As we don't want to have complains from users about "why driver foo is not compiling for me",
> IMO, it should be printing a warning message saying that compilation of ALSA/FIREWIRE drivers with
> that specific kernel version is not possible, due to the back packaging of kernel headers,
> recommending to the user to get a vanilla upstream kernel, if he needs one of the disabled
> drivers.
I agree with this premise for firedtv, but see my comment above about ALSA.
Devin
--
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Trouble building v4l-dvb
2010-09-17 15:00 ` Devin Heitmueller
@ 2010-09-17 15:08 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 21+ messages in thread
From: Mauro Carvalho Chehab @ 2010-09-17 15:08 UTC (permalink / raw)
To: Devin Heitmueller
Cc: Jan Hoogenraad, Ole W. Saastad, Douglas Schilling Landgraf, linux-media
Em 17-09-2010 12:00, Devin Heitmueller escreveu:
> On Fri, Sep 17, 2010 at 10:49 AM, Mauro Carvalho Chehab
> <maurochehab@gmail.com> wrote:
>> While you're there, the better is to also disable CONFIG_ALSA on Ubuntu, as the drivers
>> won't work anyway.
>
> Note: while building ALSA modules did fail in some versions for
> Ubuntu, it has been over a years since I've seen that problem.
> Blindly disabling ALSA for all Ubuntu users would be a huge regression
> for users.
Yeah, blindly disabling it, if some versions work is not the right thing to do.
I'm not an Ubuntu user, so, I'm not sure when it was fixed. Still, from time to time,
people complain to me about this problem with some Ubuntu versions. The last complains I
heard were with some netbook versions of Ubuntu-based distros.
If there's a way to check what versions have broken alsa headers, then the checker should
just disable to the broken ones. Otherwise, the better way seems to just print a warning
message that ALSA might not be working, but keep it enabled.
Cheers,
Mauro
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Trouble building v4l-dvb
2010-09-17 14:49 ` Mauro Carvalho Chehab
2010-09-17 15:00 ` Devin Heitmueller
@ 2010-09-17 15:27 ` Jan Hoogenraad
2010-09-26 16:18 ` Jan Hoogenraad
2 siblings, 0 replies; 21+ messages in thread
From: Jan Hoogenraad @ 2010-09-17 15:27 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Ole W. Saastad, Douglas Schilling Landgraf, linux-media
Really, the only thing I would do is disable the ones that break
compilation. this is ONLY firedtv.
I doubt if anyone would read the messages during compilation.
I'll have a look at the logic.
Mauro Carvalho Chehab wrote:
> Em 17-09-2010 08:08, Jan Hoogenraad escreveu:
>> Thanks !
>>
>> Indeed, the hack so that
>> make allyesmod
>> not select firedtv would be very helpful.
>>
>> that way, it is also clear that firedtv will not work on debian-like distros.
>>
>> Is there a way I cen help with that ?
>> I have no experience with Kconfig, so it would be a learning experience for me.
>
> You don't need to look at Kconfig. there are some scripts under v4l/scripts
> that will deal with Kconfig dependencies. They are meant to identify kernel versions
> and features. Those scripts are, mainly:
>
> v4l/scripts/make_config_compat.pl - Checks for "backported" features, enabling workarounds at v4l/compat.h
> v4l/scripts/make_kconfig.pl - Generates a .config file that will compile with an older kernel
> v4l/scripts/make_makefile.pl - Generates a Makefile that will build/install/remove the kernel modules
>
> Basically, you need to add some intelligence to one of the above scripts (likely make_kconfig)
> to identify that the kernel has broken firewire headers, and disable its compilation, printing
> a warning message to the user.
>
> You'll find a logic at make_makefile.pl to detect an Ubuntu broken kernel that stores the in-kernel
> drivers at the wrong install place. I'm not sure if all Ubuntu kernels/versions do the same
> thing, nor if this is broken for all distro-variants.
>
> Perhaps you may use this logic at make_kconfig.pl. The logic assumes that broken distros
> are the ones that store V4L/DVB files at /lib/modules/\$(KERNELRELEASE)/ubuntu/media.
> This is probably not true for all broken distros (as Ubuntu clones - and maybe Debian - could
> have the same problem, but storing the media files on a different place), so you may
> need to generalize that logic, in order to cover any other distros that don't compile
> firewire.
>
> While you're there, the better is to also disable CONFIG_ALSA on Ubuntu, as the drivers
> won't work anyway.
>
> As we don't want to have complains from users about "why driver foo is not compiling for me",
> IMO, it should be printing a warning message saying that compilation of ALSA/FIREWIRE drivers with
> that specific kernel version is not possible, due to the back packaging of kernel headers,
> recommending to the user to get a vanilla upstream kernel, if he needs one of the disabled
> drivers.
>
> Cheers,
> Mauro
>
--
Jan Hoogenraad
Hoogenraad Interface Services
Postbus 2717
3500 GS Utrecht
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Trouble building v4l-dvb
2010-09-17 14:49 ` Mauro Carvalho Chehab
2010-09-17 15:00 ` Devin Heitmueller
2010-09-17 15:27 ` Jan Hoogenraad
@ 2010-09-26 16:18 ` Jan Hoogenraad
2010-09-27 4:08 ` Mauro Carvalho Chehab
2 siblings, 1 reply; 21+ messages in thread
From: Jan Hoogenraad @ 2010-09-26 16:18 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Ole W. Saastad, Douglas Schilling Landgraf, linux-media
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
but that only contains:
-rw-r--r-- 1 root root 0 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 root 0 2010-09-16 18:25 eth1394.h
-rw-r--r-- 1 root root 0 2010-09-16 18:25 ohci1394.h
-rw-r--r-- 1 root root 0 2010-09-16 18:25 pcilynx.h
-rw-r--r-- 1 root root 0 2010-09-16 18:25 rawio.h
-rw-r--r-- 1 root root 0 2010-09-16 18:25 sbp2.h
-rw-r--r-- 1 root root 0 2010-09-16 18:25 video1394.h
Can you indicate where following files should be located ?
dma.h
csr1212.h
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.
Mauro Carvalho Chehab wrote:
> Em 17-09-2010 08:08, Jan Hoogenraad escreveu:
>> Thanks !
>>
>> Indeed, the hack so that
>> make allyesmod
>> not select firedtv would be very helpful.
>>
>> that way, it is also clear that firedtv will not work on debian-like distros.
>>
>> Is there a way I cen help with that ?
>> I have no experience with Kconfig, so it would be a learning experience for me.
>
> You don't need to look at Kconfig. there are some scripts under v4l/scripts
> that will deal with Kconfig dependencies. They are meant to identify kernel versions
> and features. Those scripts are, mainly:
>
> v4l/scripts/make_config_compat.pl - Checks for "backported" features, enabling workarounds at v4l/compat.h
> v4l/scripts/make_kconfig.pl - Generates a .config file that will compile with an older kernel
> v4l/scripts/make_makefile.pl - Generates a Makefile that will build/install/remove the kernel modules
>
> Basically, you need to add some intelligence to one of the above scripts (likely make_kconfig)
> to identify that the kernel has broken firewire headers, and disable its compilation, printing
> a warning message to the user.
>
> You'll find a logic at make_makefile.pl to detect an Ubuntu broken kernel that stores the in-kernel
> drivers at the wrong install place. I'm not sure if all Ubuntu kernels/versions do the same
> thing, nor if this is broken for all distro-variants.
>
> Perhaps you may use this logic at make_kconfig.pl. The logic assumes that broken distros
> are the ones that store V4L/DVB files at /lib/modules/\$(KERNELRELEASE)/ubuntu/media.
> This is probably not true for all broken distros (as Ubuntu clones - and maybe Debian - could
> have the same problem, but storing the media files on a different place), so you may
> need to generalize that logic, in order to cover any other distros that don't compile
> firewire.
>
> While you're there, the better is to also disable CONFIG_ALSA on Ubuntu, as the drivers
> won't work anyway.
>
> As we don't want to have complains from users about "why driver foo is not compiling for me",
> IMO, it should be printing a warning message saying that compilation of ALSA/FIREWIRE drivers with
> that specific kernel version is not possible, due to the back packaging of kernel headers,
> recommending to the user to get a vanilla upstream kernel, if he needs one of the disabled
> drivers.
>
> Cheers,
> Mauro
>
--
Jan Hoogenraad
Hoogenraad Interface Services
Postbus 2717
3500 GS Utrecht
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: Trouble building v4l-dvb
2010-09-26 16:18 ` Jan Hoogenraad
@ 2010-09-27 4:08 ` Mauro Carvalho Chehab
2010-09-27 18:41 ` updated make_kconfig.pl for Ubuntu Jan Hoogenraad
0 siblings, 1 reply; 21+ messages in thread
From: Mauro Carvalho Chehab @ 2010-09-27 4:08 UTC (permalink / raw)
To: Jan Hoogenraad; +Cc: Ole W. Saastad, Douglas Schilling Landgraf, linux-media
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 root 0 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 root 0 2010-09-16 18:25 eth1394.h
> -rw-r--r-- 1 root root 0 2010-09-16 18:25 ohci1394.h
> -rw-r--r-- 1 root root 0 2010-09-16 18:25 pcilynx.h
> -rw-r--r-- 1 root root 0 2010-09-16 18:25 rawio.h
> -rw-r--r-- 1 root root 0 2010-09-16 18:25 sbp2.h
> -rw-r--r-- 1 root root 0 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
^ permalink raw reply [flat|nested] 21+ messages in thread
* updated make_kconfig.pl for Ubuntu
2010-09-27 4:08 ` Mauro Carvalho Chehab
@ 2010-09-27 18:41 ` Jan Hoogenraad
2010-09-27 19:12 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 21+ messages in thread
From: Jan Hoogenraad @ 2010-09-27 18:41 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Douglas Schilling Landgraf
Cc: Ole W. Saastad, linux-media
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 root 0 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 root 0 2010-09-16 18:25 eth1394.h
>> -rw-r--r-- 1 root root 0 2010-09-16 18:25 ohci1394.h
>> -rw-r--r-- 1 root root 0 2010-09-16 18:25 pcilynx.h
>> -rw-r--r-- 1 root root 0 2010-09-16 18:25 rawio.h
>> -rw-r--r-- 1 root root 0 2010-09-16 18:25 sbp2.h
>> -rw-r--r-- 1 root root 0 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
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: updated make_kconfig.pl for Ubuntu
2010-09-27 18:41 ` updated make_kconfig.pl for Ubuntu Jan Hoogenraad
@ 2010-09-27 19:12 ` Mauro Carvalho Chehab
2010-09-27 20:45 ` Jan Hoogenraad
0 siblings, 1 reply; 21+ messages in thread
From: Mauro Carvalho Chehab @ 2010-09-27 19:12 UTC (permalink / raw)
To: Jan Hoogenraad; +Cc: Douglas Schilling Landgraf, Ole W. Saastad, linux-media
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;
+}
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: updated make_kconfig.pl for Ubuntu
2010-09-27 19:12 ` Mauro Carvalho Chehab
@ 2010-09-27 20:45 ` Jan Hoogenraad
2010-09-27 22:43 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 21+ messages in thread
From: Jan Hoogenraad @ 2010-09-27 20:45 UTC (permalink / raw)
To: Mauro Carvalho Chehab
Cc: Douglas Schilling Landgraf, Ole W. Saastad, linux-media
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
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: updated make_kconfig.pl for Ubuntu
2010-09-27 20:45 ` Jan Hoogenraad
@ 2010-09-27 22:43 ` Mauro Carvalho Chehab
2010-09-28 17:48 ` Jan Hoogenraad
0 siblings, 1 reply; 21+ messages in thread
From: Mauro Carvalho Chehab @ 2010-09-27 22:43 UTC (permalink / raw)
To: Jan Hoogenraad; +Cc: Douglas Schilling Landgraf, Ole W. Saastad, linux-media
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=<some dir>
Cheers,
Mauro
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: updated make_kconfig.pl for Ubuntu
2010-09-27 22:43 ` Mauro Carvalho Chehab
@ 2010-09-28 17:48 ` Jan Hoogenraad
2010-09-28 18:21 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 21+ messages in thread
From: Jan Hoogenraad @ 2010-09-28 17:48 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Douglas Schilling Landgraf
Cc: Ole W. Saastad, linux-media
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 <jan-conceptronic@h-i-s.nl>
# Date 1285695899 -7200
# Node ID 891128e7c3334e41f6c173ee5c01fddbce493b73
# Parent cb34ee1c29fc8891ad3792b3df76031a72e39b9d
Location fix
From: Jan Hoogenraad <jan-conceptronic@h-i-s.nl>
Location fix
Priority: normal
Signed-off-by: Jan Hoogenraad <jan-conceptronic@h-i-s.nl>
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=<some dir>
>
> Cheers,
> Mauro
>
--
Jan Hoogenraad
Hoogenraad Interface Services
Postbus 2717
3500 GS Utrecht
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: updated make_kconfig.pl for Ubuntu
2010-09-28 17:48 ` Jan Hoogenraad
@ 2010-09-28 18:21 ` Mauro Carvalho Chehab
2010-09-28 19:58 ` Jan Hoogenraad
2010-09-29 21:49 ` patches for the Realtek rtl2831 Jan Hoogenraad
0 siblings, 2 replies; 21+ messages in thread
From: Mauro Carvalho Chehab @ 2010-09-28 18:21 UTC (permalink / raw)
To: Jan Hoogenraad; +Cc: Douglas Schilling Landgraf, Ole W. Saastad, linux-media
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 <jan-conceptronic@h-i-s.nl>
> # Date 1285695899 -7200
> # Node ID 891128e7c3334e41f6c173ee5c01fddbce493b73
> # Parent cb34ee1c29fc8891ad3792b3df76031a72e39b9d
> Location fix
>
> From: Jan Hoogenraad <jan-conceptronic@h-i-s.nl>
>
> Location fix
>
> Priority: normal
>
> Signed-off-by: Jan Hoogenraad <jan-conceptronic@h-i-s.nl>
>
> 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";
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.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: updated make_kconfig.pl for Ubuntu
2010-09-28 18:21 ` Mauro Carvalho Chehab
@ 2010-09-28 19:58 ` Jan Hoogenraad
2010-09-29 21:49 ` patches for the Realtek rtl2831 Jan Hoogenraad
1 sibling, 0 replies; 21+ messages in thread
From: Jan Hoogenraad @ 2010-09-28 19:58 UTC (permalink / raw)
To: Douglas Schilling Landgraf; +Cc: Mauro Carvalho Chehab, linux-media
[-- Attachment #1: Type: text/plain, Size: 1185 bytes --]
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
[-- Attachment #2: ubuntu.patch --]
[-- Type: text/x-patch, Size: 1359 bytes --]
# HG changeset patch
# User Jan Hoogenraad <jan-conceptronic@h-i-s.nl>
# Date 1285703652 -7200
# Node ID c8e14191e48d98a19405c9f899abca30cd89bc18
# Parent 1da5fed5c8b2c626180b1a0983fe1c960b999525
Disable FIREDTV for debian/ubuntu distributions with bad header files
From: Jan Hoogenraad <jan-conceptronic@h-i-s.nl>
Disable FIREDTV for debian/ubuntu distributions with problems in header files
Priority: normal
Signed-off-by: Jan Hoogenraad <jan-conceptronic@h-i-s.nl>
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;
+}
^ permalink raw reply [flat|nested] 21+ messages in thread
* patches for the Realtek rtl2831
2010-09-28 18:21 ` Mauro Carvalho Chehab
2010-09-28 19:58 ` Jan Hoogenraad
@ 2010-09-29 21:49 ` Jan Hoogenraad
1 sibling, 0 replies; 21+ messages in thread
From: Jan Hoogenraad @ 2010-09-29 21:49 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: Antti Palosaari, linux-media
Mauro Carvalho Chehab wrote:
>
> A side question: when do you intend to send us the patches for the Realtek
> rtl2831?
>
Basically, I'm waiting for somebody to take up the task to include IR
support in Antti's branches. I don't have the knowledge to do so.
In the mean time, I just maintain the code from Realtek on a sync with
mainline only base in hg, as the code is really sub-standard.
http://www.linuxtv.org/wiki/index.php/Realtek_RTL2831U
I have seen that Realtek keeps updating their Windows code, and the v4l
port, at least for the RTL2832.
I see the "recipes" to use that on many forums.
> Cheers,
> Mauro.
>
--
Jan Hoogenraad
Hoogenraad Interface Services
Postbus 2717
3500 GS Utrecht
^ permalink raw reply [flat|nested] 21+ messages in thread