Package: udev
Version: 0.070-5
Severity: critical
Tags: patch
Justification: breaks unrelated software


The dvb.sh script was replaced with inline code in udev 0.070-1. This
code fails to produce /dev/dvb/* nodes: following errors were seen.

   Oct 16 12:29:47 localhost udev[7381]: udev_make_node:
   mknod(/dev/dvb/adapter/, 020660, 212, 4) failed with error 'File exists'
   Oct 16 12:29:47 localhost udev[7385]: udev_make_node:
   mknod(/dev/dvb/adapter/, 020660, 212, 5) failed with error 'File exists'
   Oct 16 12:29:47 localhost udev[7392]: udev_make_node:
   mknod(/dev/dvb/adapter/, 020660, 212, 7) failed with error 'File exists'
   Oct 16 12:29:47 localhost udev[7404]: udev_make_node:
   mknod(/dev/dvb/adapter/, 020660, 212, 3) failed with error 'File exists'

On my system, /bin/sh was symlinked to dash.

   lrwxrwxrwx  1 root root 4 Aug 29  2004 /bin/sh -> dash

Replacing this with a symlink to bash fixes the inline dvb code.

   lrwxrwxrwx  1 root root 9 Oct 16 12:34 /bin/sh -> /bin/bash

   /dev/dvb/adapter0:
   total 0
   crw-rw----  1 root video 212, 4 Oct 16 12:45 demux0
   crw-rw----  1 root video 212, 5 Oct 16 12:45 dvr0
   crw-rw----  1 root video 212, 3 Oct 16 12:45 frontend0
   crw-rw----  1 root video 212, 7 Oct 16 12:45 net0

The problematic line is in udev.rules

   KERNEL=="dvb*",         PROGRAM="/bin/sh -c 'K=%k K=$${K#dvb} \
            A=$${K%%%%.*} D=$${K#*.}; echo dvb/adapter$$A/$$D'", \
                NAME="%c"

There's a deficiency in dash, as demonstrated here.

   $ /bin/dash -c 'K=dvb0.net0 K=${K#dvb} ; echo $K'
   <empty line>
   $ /bin/bash -c 'K=dvb0.net0 K=${K#dvb} ; echo $K'
   0.net0
   $ /bin/dash -c 'K=dvb0.net0 ; K=${K#dvb} ; echo $K'
   0.net0

I recommend changing the "PROGRAM" to explicitly use /bin/bash, or to
use the variant with extra semicolons as a workaround for dash.

I've also lodged a bug with the dash package.


-- Package-specific info:
-- /etc/udev/rules.d/:
/etc/udev/rules.d/:
total 0
lrwxrwxrwx  1 root root 20 May  5 17:30 020_permissions.rules -> 
../permissions.rules
lrwxrwxrwx  1 root root 12 Oct 16 00:02 050_hal-plugdev.rules -> ../hal.rules
lrwxrwxrwx  1 root root 13 Aug 29  2004 udev.rules -> ../udev.rules
lrwxrwxrwx  1 root root 19 Oct 15 17:16 z20_persistent.rules -> 
../persistent.rules
lrwxrwxrwx  1 root root 12 Jul  7 19:35 z50_run.rules -> ../run.rules
lrwxrwxrwx  1 root root 16 Oct 15 17:16 z55_hotplug.rules -> ../hotplug.rules
lrwxrwxrwx  1 root root 19 Aug 13 18:41 z60_alsa-utils.rules -> 
../alsa-utils.rules
lrwxrwxrwx  1 root root 17 Jul  7 19:35 z70_hotplugd.rules -> ../hotplugd.rules

-- /sys/:
/sys/block/dm-0/dev
/sys/block/dm-1/dev
/sys/block/dm-2/dev
/sys/block/dm-3/dev
/sys/block/hda/dev
/sys/block/hda/hda1/dev
/sys/block/hdc/dev
/sys/block/hdd/dev
/sys/block/hdd/hdd1/dev
/sys/block/ram0/dev
/sys/block/ram1/dev
/sys/block/ram10/dev
/sys/block/ram11/dev
/sys/block/ram12/dev
/sys/block/ram13/dev
/sys/block/ram14/dev
/sys/block/ram15/dev
/sys/block/ram2/dev
/sys/block/ram3/dev
/sys/block/ram4/dev
/sys/block/ram5/dev
/sys/block/ram6/dev
/sys/block/ram7/dev
/sys/block/ram8/dev
/sys/block/ram9/dev
/sys/class/dvb/dvb0.demux0/dev
/sys/class/dvb/dvb0.dvr0/dev
/sys/class/dvb/dvb0.frontend0/dev
/sys/class/dvb/dvb0.net0/dev
/sys/class/input/event0/dev
/sys/class/input/mice/dev
/sys/class/misc/agpgart/dev
/sys/class/misc/device-mapper/dev
/sys/class/misc/psaux/dev
/sys/class/printer/lp0/dev
/sys/class/sound/audio/dev
/sys/class/sound/controlC0/dev
/sys/class/sound/dmfm/dev
/sys/class/sound/dmmidi/dev
/sys/class/sound/dsp/dev
/sys/class/sound/hwC0D0/dev
/sys/class/sound/midi/dev
/sys/class/sound/midiC0D0/dev
/sys/class/sound/mixer/dev
/sys/class/sound/pcmC0D0c/dev
/sys/class/sound/pcmC0D0p/dev
/sys/class/sound/timer/dev
/sys/class/video4linux/vbi0/dev
/sys/class/video4linux/video0/dev

-- Kernel configuration:


-- System Information:
Debian Release: testing/unstable
  APT prefers breezy
  APT policy: (500, 'breezy'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.13-1-686
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages udev depends on:
ii  initscripts                   2.86.ds1-1 Standard scripts needed for bootin
ii  libc6                         2.3.5-3    GNU C Library: Shared libraries an
ii  libselinux1                   1.26-1     SELinux shared libraries
ii  lsb-base                      3.0-9      Linux Standard Base 3.0 init scrip
ii  makedev                       2.3.1-78   creates device files in /dev
ii  sed                           4.1.4-2    The GNU sed stream editor

udev recommends no packages.

-- debconf information:
  udev/devfs-warning:
* udev/reboot-warning:


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to