Bug#429437: new MAKEDEV usage chroot un friendly

2007-06-19 Thread Kel Modderman
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

2007-06-19 Thread Ludovic RESLINGER
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

2007-06-19 Thread Aurélien GÉRÔME
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

2007-06-19 Thread Stefan Lippers-Hollmann
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

2007-06-19 Thread Pierre HABOUZIT
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

2007-06-18 Thread Ludovic RESLINGER
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

2007-06-18 Thread Kel Modderman
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

2007-06-18 Thread Kel Modderman
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

2007-06-17 Thread kelrin
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