[Bug 1093731] [NEW] udev-finish.conf fails to merge temporary rules files

Yutani hiroaki-yutani at cybozu.co.jp
Wed Dec 26 03:45:12 UTC 2012


Public bug reported:

I removed /etc/udev/rules.d/70-persistent-net.rules and rebooted the machine in order to generate a new rules file, but couldn't get a complete 70-persistent-net.rules. A rule about eth0 was written in /run/udev/tmp--70-persitent-net.rules and didn't merged onto /etc/udev/rules.d/70-persistent-net.rules, which udev-finish.conf is 
expected to do.

This is probably because the tmp dir path specified in udev-finish.conf
is different from that in /lib/udev/rule_generator.functions.


/lib/udev/rule_generator.functions:
        RUNDIR=$(udevadm info --run)
        local tmp_rules_file="$RUNDIR/tmp-rules--${RULES_FILE##*/}"


/etc/init/udev-finish.conf:
    # Copy any rules generated while the root filesystem was read-only
    for file in /dev/.udev/tmp-rules--*
    do
        [ -e "$file" ] || continue
        cat "$file" >> "/etc/udev/rules.d/${file##*tmp-rules--}"

		
In my environment, "udevadm info --run" returns "/run/udev". I think udev-finish.conf should use $(udevadm info --run) instead of "/dev/.udev/".

---
Description:    Ubuntu 12.04.1 LTS
Release:        12.04
udev:
  Installed: 175-0ubuntu9.1
  Candidate: 175-0ubuntu9.2
  Version table:
     175-0ubuntu9.2 0
        500 http://10.0.49.3/ubuntu/ precise-updates/main amd64 Packages
 *** 175-0ubuntu9.1 0
        100 /var/lib/dpkg/status
     175-0ubuntu9 0
        500 http://10.0.49.3/ubuntu/ precise/main amd64 Packages

** Affects: udev (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to udev in Ubuntu.
https://bugs.launchpad.net/bugs/1093731

Title:
  udev-finish.conf fails to merge temporary rules files

Status in “udev” package in Ubuntu:
  New

Bug description:
  I removed /etc/udev/rules.d/70-persistent-net.rules and rebooted the machine in order to generate a new rules file, but couldn't get a complete 70-persistent-net.rules. A rule about eth0 was written in /run/udev/tmp--70-persitent-net.rules and didn't merged onto /etc/udev/rules.d/70-persistent-net.rules, which udev-finish.conf is 
  expected to do.

  This is probably because the tmp dir path specified in udev-
  finish.conf is different from that in
  /lib/udev/rule_generator.functions.

  
  /lib/udev/rule_generator.functions:
          RUNDIR=$(udevadm info --run)
          local tmp_rules_file="$RUNDIR/tmp-rules--${RULES_FILE##*/}"

  
  /etc/init/udev-finish.conf:
      # Copy any rules generated while the root filesystem was read-only
      for file in /dev/.udev/tmp-rules--*
      do
          [ -e "$file" ] || continue
          cat "$file" >> "/etc/udev/rules.d/${file##*tmp-rules--}"

  		
  In my environment, "udevadm info --run" returns "/run/udev". I think udev-finish.conf should use $(udevadm info --run) instead of "/dev/.udev/".

  ---
  Description:    Ubuntu 12.04.1 LTS
  Release:        12.04
  udev:
    Installed: 175-0ubuntu9.1
    Candidate: 175-0ubuntu9.2
    Version table:
       175-0ubuntu9.2 0
          500 http://10.0.49.3/ubuntu/ precise-updates/main amd64 Packages
   *** 175-0ubuntu9.1 0
          100 /var/lib/dpkg/status
       175-0ubuntu9 0
          500 http://10.0.49.3/ubuntu/ precise/main amd64 Packages

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/udev/+bug/1093731/+subscriptions




More information about the foundations-bugs mailing list