Bug#429437: new MAKEDEV usage chroot un friendly
On Tue, 19 Jun 2007 08:38:30 am Ludovic RESLINGER wrote: Ok, but this is not a specific problem of libraw1394 in this case. No its not. irda-utils is another example. libraw1394 require /dev/MAKEDEV to create /dev/raw1394. If you use udev, you must activate and configure it before to install libraw1394. udev is not active in a chroot. It is not a solution to apply your patch because if /dev/MAKEDEV doesn't exist, /dev/raw1394 won't be created and libraw1394 won't work. I don't know how udev work in chroot, I think that you should ask it at udev's maitainer. Or your postinst could get smarter. Unconditionally calling cd /dev ./MAKEDEV *assumes* udev is active. That condition is not true in all cases. Kel. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#429437: new MAKEDEV usage chroot un friendly
On Tue, Jun 19, 2007 at 06:17:14PM +1000, Kel Modderman wrote: On Tue, 19 Jun 2007 08:38:30 am Ludovic RESLINGER wrote: Ok, but this is not a specific problem of libraw1394 in this case. No its not. irda-utils is another example. libraw1394 require /dev/MAKEDEV to create /dev/raw1394. If you use udev, you must activate and configure it before to install libraw1394. udev is not active in a chroot. It is not a solution to apply your patch because if /dev/MAKEDEV doesn't exist, /dev/raw1394 won't be created and libraw1394 won't work. I don't know how udev work in chroot, I think that you should ask it at udev's maitainer. Or your postinst could get smarter. Unconditionally calling cd /dev ./MAKEDEV *assumes* udev is active. That condition is not true in all cases. If you want use libraw1394, it is necessary to create /dev/raw1394 in all cases (in a native system or in a chroot). libraw1394 need makedev or udev. If udev is not installed, normaly, makedev is installed by default. I don't know why udev is not active is a chroot, you may ask that to Marco d'Itry, the udev's maintainer, but it must be active, else libraw1394 will not work. I think this is not a solution to make conditions in my postinst because if /dev/MAKEDEV is not found, /dev/raw1394 won't be create and libraw1394 won't work. Regards -- .---. Ludovic RESLINGER / \ [EMAIL PROTECTED]@./ Trumpet Student in CNR /`\_/`\ Free Software Developer // )X( \\ | \ : )|_ _,'| .''`. /`\_` _/ \ @==TTT=::_ | : :' : \__/'---'\__/ ((_=HHH___)) `.| `. `'` `---UUU---'= `- signature.asc Description: Digital signature
Bug#429437: new MAKEDEV usage chroot un friendly
retitle 429437 /dev/MAKEDEV does not exist in a chroot when udev does not run severity 429437 wishlist thanks Hi Kel, On Tue, Jun 19, 2007 at 06:17:14PM +1000, Kel Modderman wrote: On Tue, 19 Jun 2007 08:38:30 am Ludovic RESLINGER wrote: It is not a solution to apply your patch because if /dev/MAKEDEV doesn't exist, /dev/raw1394 won't be created and libraw1394 won't work. I don't know how udev work in chroot, I think that you should ask it at udev's maitainer. Or your postinst could get smarter. Unconditionally calling cd /dev ./MAKEDEV *assumes* udev is active. That condition is not true in all cases. Not necessarily, as you are using a chroot, the makedev package is present inside by default just after debootstrapping. It also provides a symlink from /dev/MAKEDEV to /sbin/MAKEDEV created by its init script which is called by its postinst maintainer script. To wit, makedev and udev conflict, so you have to make a choice. If you choose to use udev in a chroot, you *have* to run it, otherwise /dev/MAKEDEV will not exist and hence libraw1394 is bound to fail without the raw1394 character device. Silently hiding the non-creation of /dev/raw1394 is a bug and I advise the maintainer not to do so. If you do not want to run udev in your chroot, please choose makedev instead. Cheers, -- .''`. Aurélien GÉRÔME : :' : `. `'` Free Software Developer `- Unix Sys Net Admin signature.asc Description: Digital signature
Bug#429437: new MAKEDEV usage chroot un friendly
Hi This new postinst also affects pbuilder badly (confirmed by trying to rebuild xine-lib 1.1.7-1 in a sid chroot, freshly created on a sid host): Setting up libraw1394-8 (1.2.1-3) ... Creating device node /dev/raw1394... /var/lib/dpkg/info/libraw1394-8.postinst: line 5: ./MAKEDEV: No such file or directory dpkg: error processing libraw1394-8 (--configure): subprocess post-installation script returned error exit status 1 dpkg: dependency problems prevent configuration of libraw1394-dev: libraw1394-dev depends on libraw1394-8; however: Package libraw1394-8 is not configured yet. dpkg: error processing libraw1394-dev (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of libdc1394-13: libdc1394-13 depends on libraw1394-8; however: Package libraw1394-8 is not configured yet. dpkg: error processing libdc1394-13 (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of libdc1394-13-dev: libdc1394-13-dev depends on libdc1394-13 (= 1.1.0-3+b1); however: Package libdc1394-13 is not configured yet. libdc1394-13-dev depends on libraw1394-dev; however: Package libraw1394-dev is not configured yet. dpkg: error processing libdc1394-13-dev (--configure): dependency problems - leaving unconfigured There is just a minimal static /dev/ inside the pbuilder chroot, but no MAKEDEV: $ sudo /usr/sbin/pbuilder login Building the build Environment - extracting base tarball [/var/cache/pbuilder/sid.tgz] - creating local configuration - copying local configuration - mounting /proc filesystem - mounting /dev/pts filesystem - policy-rc.d already exists Obtaining the cached apt archive contents - entering the shell File extracted to: /var/cache/pbuilder/build//22835 W: no hooks of type F found -- ignoring # ls /dev/ agpgart fd mem mixer3 ram12 ram9 sndstat tty7 audio full midi0 mpu401data ram13 random stderr tty8 audio1initctl midi00 mpu401stat ram14 rmidi0 stdintty9 audio2kmem midi01 nullram15 rmidi1 stdout urandom audio3loop0midi02 portram16 rmidi2 tty zero audioctl loop1midi03 ptmxram2 rmidi3 tty0 console loop2midi1 pts ram3 sequencer tty1 core loop3midi2 ram ram4 shmtty2 dsp loop4midi3 ram0ram5 smpte0 tty3 dsp1 loop5mixer ram1ram6 smpte1 tty4 dsp2 loop6mixer1 ram10 ram7 smpte2 tty5 dsp3 loop7mixer2 ram11 ram8 smpte3 tty6 Therefore every package build-depending on libraw1394-dev (which in turn depends on libraw1394-8) now ftbs in pbuilder or any chroot using technique, udev may be installed, but doesn't activate itself in chroot or while running an unsupported kernel, while makedev won't get installed into sid chroots. No one intends to actually use libraw1394-8 without its device node, but it needs to be installable in chroot environments in order to satisfy the build dependency on libraw1394-dev. Regards Stefan Lippers-Hollmann signature.asc Description: This is a digitally signed message part.
Bug#429437: new MAKEDEV usage chroot un friendly
severity 429437 critical thanks On Tue, Jun 19, 2007 at 12:04:08AM +0200, Ludovic RESLINGER wrote: severity 429437 important tags 429437 moreinfo thanks On Tue, Jun 19, 2007 at 01:13:08PM +0200, Aurélien GÉRÔME wrote: retitle 429437 /dev/MAKEDEV does not exist in a chroot when udev does not run severity 429437 wishlist thanks On Tue, Jun 19, 2007 at 04:31:38PM +0200, Aurélien GÉRÔME wrote: severity 429437 minor tags 429437 = patch thanks what on _earth_ ? it breaks other packages build, hence is critical. You should not make assumption on wheter the buildd uses udev or whatever. This is an RC bug and need immediate fix. If nobodies shows up to fix it instead of fighting to guess the severity, I'll do the fix myself. Please not that any good patch is 4 lines long, and you would have used 10x less time to make the fix than to argue about the severity. I'm very unpleased. -- ·O· Pierre Habouzit ··O[EMAIL PROTECTED] OOOhttp://www.madism.org pgptFkkRFVaZe.pgp Description: PGP signature
Bug#429437: new MAKEDEV usage chroot un friendly
On Mon, Jun 18, 2007 at 01:10:38PM +1000, [EMAIL PROTECTED] wrote: Package: libraw1394-8 Version: 1.2.1-3 Severity: serious Tags: patch The new postinst is broken for the common case of installing package in chroot. set -e is used and cd /dev/ ./MAKEDEV is called unconditionally. Please test for existance of ./MAKEDEV, or that you are in a chroot, or just tack a || true onto the offending line. Setting up libraw1394-8 (1.2.1-3) ... Creating device node /dev/raw1394... /var/lib/dpkg/info/libraw1394-8.postinst: line 5: ./MAKEDEV: No such file or directory dpkg: error processing libraw1394-8 (--configure): subprocess post-installation script returned error exit status 1 Thanks, Kel. Hello, I need to know if you use makedev or udev. If you use makedev, /dev/MAKEDEV shoud be a symlink on /sbin/MAKEDEV (used in last version of the package). I verified before to make the changes in libraw1394-8.postinst file, this symlink exist on actual Debian SID with makedev. If you use udev, /dev/MAKEDEV should be a symling on /bin/true, so if you use udev, this file shoud be exist too. I don't understand why MAKEDEV is not in your /dev directory, this file should exist. I need more infos to solve this problem and I don't think that your patch is the solution. Regards -- .---. Ludovic RESLINGER / \ [EMAIL PROTECTED]@./ Trumpet Student in CNR /`\_/`\ Free Software Developer // )X( \\ | \ : )|_ _,'| .''`. /`\_` _/ \ @==TTT=::_ | : :' : \__/'---'\__/ ((_=HHH___)) `.| `. `'` `---UUU---'= `- signature.asc Description: Digital signature
Bug#429437: new MAKEDEV usage chroot un friendly
On Tue, 19 Jun 2007 07:58:35 am Ludovic RESLINGER wrote: On Mon, Jun 18, 2007 at 01:10:38PM +1000, [EMAIL PROTECTED] wrote: Package: libraw1394-8 Version: 1.2.1-3 Severity: serious Tags: patch The new postinst is broken for the common case of installing package in chroot. set -e is used and cd /dev/ ./MAKEDEV is called unconditionally. Please test for existance of ./MAKEDEV, or that you are in a chroot, or just tack a || true onto the offending line. Setting up libraw1394-8 (1.2.1-3) ... Creating device node /dev/raw1394... /var/lib/dpkg/info/libraw1394-8.postinst: line 5: ./MAKEDEV: No such file or directory dpkg: error processing libraw1394-8 (--configure): subprocess post-installation script returned error exit status 1 Thanks, Kel. Hello, I need to know if you use makedev or udev. In a clean chroot, there is nothing in /dev. udev was installed. No my patch is not best answer, but it at least allows package to be installed in chroot. Kel. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#429437: new MAKEDEV usage chroot un friendly
On Tue, 19 Jun 2007 07:58:35 am Ludovic RESLINGER wrote: Hello, I need to know if you use makedev or udev. I should have said: In the chroot, at the time libraw1394-8.postinst was called, udev was installed but inactive due to the fact that it detects it was installed in a chroot in udev.postinst and is no-op. This means that udev does not provide /dev/MAKEDEV in a chroot. There exist only a minimal static /dev at that time. Kel. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]
Bug#429437: new MAKEDEV usage chroot un friendly
Package: libraw1394-8 Version: 1.2.1-3 Severity: serious Tags: patch The new postinst is broken for the common case of installing package in chroot. set -e is used and cd /dev/ ./MAKEDEV is called unconditionally. Please test for existance of ./MAKEDEV, or that you are in a chroot, or just tack a || true onto the offending line. Setting up libraw1394-8 (1.2.1-3) ... Creating device node /dev/raw1394... /var/lib/dpkg/info/libraw1394-8.postinst: line 5: ./MAKEDEV: No such file or directory dpkg: error processing libraw1394-8 (--configure): subprocess post-installation script returned error exit status 1 Thanks, Kel.diff -Nrup libraw1394-1.2.1/debian/libraw1394-8.postinst libraw1394-1.2.1.patched/debian/libraw1394-8.postinst --- libraw1394-1.2.1/debian/libraw1394-8.postinst 2007-06-18 13:01:59.0 +1000 +++ libraw1394-1.2.1.patched/debian/libraw1394-8.postinst 2007-06-18 13:01:24.0 +1000 @@ -2,7 +2,7 @@ if [ $1 = configure ]; then echo -n Creating device node /dev/raw1394... - cd /dev ./MAKEDEV raw1394 + cd /dev ./MAKEDEV raw1394 || true echo done. fi