sort out udev rules madness (3 editions installed into 4 files)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mdadm (Ubuntu) |
Fix Released
|
Undecided
|
Dimitri John Ledkov | ||
Precise |
Fix Released
|
Medium
|
Dimitri John Ledkov | ||
Quantal |
Fix Released
|
Undecided
|
Dimitri John Ledkov |
Bug Description
[IMPACT]
* Previously 3 different versions of udev rules where installed into 4 places (2 in the deb and 2 in the udeb)
* This causes confusion, as multiple mdadm rules are run. It is not clear to the system administrator which udev rule to override in /etc/. It is even more confusing for remastering udebs, as different udev rule was needed to be overridden there.
* The solution is to use a single matching name udev rule in both deb and udeb
* The upstream udev rule was chosen to be used as described in the bug 968074
[TESTCASE #1]
* Unpack old deb and udeb into a temporary directory and execute a command similar to this:
$ find quantal/ -name '*.rules' | xargs -L 1 md5sum
* Expected output is 4 files and 3 unique hashes
* Unpack new deb and udeb into a temporary directory and execute the same command:
$ find precise-proposed/ -name '*.rules' | xargs -L 1 md5sum
* Expected output is 2 files with identical hashes
[TESTCASE #2]
* create RAID arrays with different metadata formats
- internal (0.9, 1.0, 1.1 or 1.2)
* check that udev rules assemble all of above RAID arrays
* expected results:
- both old and new udev rules assemble these arrays
[Regression Potential]
* Same as in the bug 968074, the default udev rule has changed. Users who relied on the previous, incomplete/broken, udev rules may be pleasantly surprised or annoyed that the udev rule name has changed to match the one of Debian and upstream.
* System administrators need to check their /etc/udev/rules.d/ to make sure that (a) they do not override mdadm rules (b) if they do, check that those overrides are still needed (c) that the override is named to match the new udev rule name.
[Other Info]
# Checksums and names of the old udev rules
$ find quantal/debian/ -name '*.rules' | xargs -L 1 md5sum
e14316179874402
916ce910a5829a0
6df86db16655769
e14316179874402
$ Checksum, name and locations of the new udev rule
6df86db16655769
6df86db16655769
Related branches
- Dimitri John Ledkov: Pending requested
-
Diff: 24674 lines (+7902/-9243)110 files modified.pc/applied-patches (+0/-3)
.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/Assemble.c (+0/-1650)
.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/ReadMe.c (+0/-602)
.pc/debian-changes-3.1.4-1+8efb9d1ubuntu4/config.c (+0/-1131)
.pc/debian-conffile-location.diff/Makefile (+287/-0)
.pc/debian-conffile-location.diff/ReadMe.c (+608/-0)
.pc/debian-conffile-location.diff/mdadm.8.in (+2899/-0)
.pc/debian-conffile-location.diff/mdadm.conf.5 (+581/-0)
.pc/debian-conffile-location.diff/mdassemble.8 (+65/-0)
.pc/debian-no-Werror.diff/Makefile (+287/-0)
.pc/debian/conffile-location.diff/Makefile (+0/-286)
.pc/debian/conffile-location.diff/ReadMe.c (+0/-602)
.pc/debian/conffile-location.diff/mdadm.8.in (+0/-2880)
.pc/debian/conffile-location.diff/mdadm.conf.5 (+0/-581)
.pc/debian/conffile-location.diff/mdassemble.8 (+0/-65)
.pc/debian/no-Werror.diff/Makefile (+0/-286)
.pc/sha1-includes.diff/sha1.h (+141/-0)
ANNOUNCE-3.2.4 (+144/-0)
ANNOUNCE-3.2.5 (+31/-0)
Assemble.c (+72/-23)
Create.c (+14/-4)
Detail.c (+8/-7)
Grow.c (+288/-84)
Incremental.c (+6/-8)
Makefile (+7/-6)
Manage.c (+94/-51)
Monitor.c (+19/-12)
ReadMe.c (+7/-1)
check.d/_numbers (+0/-1)
check.d/root_on_raid (+0/-35)
config.c (+6/-6)
debian/README.source (+0/-18)
debian/changelog (+102/-0)
debian/checkarray (+15/-0)
debian/control (+1/-1)
debian/initramfs/local-premount (+1/-0)
debian/mdadm.logcheck.ignore.server (+1/-1)
debian/patches/debian-conffile-location.diff (+126/-0)
debian/patches/debian-disable-udev-incr-assembly.diff (+27/-0)
debian/patches/debian-no-Werror.diff (+26/-0)
debian/patches/debian/conffile-location.diff (+0/-128)
debian/patches/debian/disable-udev-incr-assembly.diff (+0/-29)
debian/patches/debian/no-Werror.diff (+0/-28)
debian/patches/series (+4/-3)
debian/patches/sha1-includes.diff (+45/-0)
debian/po/ca.po (+7/-7)
debian/po/cs.po (+7/-7)
debian/po/da.po (+7/-7)
debian/po/de.po (+7/-7)
debian/po/es.po (+7/-7)
debian/po/eu.po (+7/-7)
debian/po/fi.po (+6/-6)
debian/po/fr.po (+7/-7)
debian/po/gl.po (+7/-7)
debian/po/it.po (+7/-7)
debian/po/ja.po (+7/-7)
debian/po/nl.po (+7/-7)
debian/po/pt.po (+7/-7)
debian/po/pt_BR.po (+39/-7)
debian/po/ru.po (+7/-7)
debian/po/sk.po (+7/-7)
debian/po/sv.po (+7/-7)
debian/po/templates.pot (+2/-2)
debian/po/vi.po (+7/-7)
debian/rules (+7/-17)
debian/source_mdadm.py (+5/-7)
inventory (+28/-26)
lib.c (+7/-2)
makedist (+4/-2)
managemon.c (+6/-0)
mapfile.c (+6/-11)
mdadm.8.in (+42/-23)
mdadm.c (+24/-6)
mdadm.conf-example (+1/-1)
mdadm.conf.5 (+1/-1)
mdadm.h (+38/-14)
mdadm.spec (+2/-2)
mdassemble.8 (+1/-1)
mdmon.8 (+13/-3)
mdmon.c (+48/-11)
mdopen.c (+1/-1)
monitor.c (+20/-16)
msg.c (+10/-0)
msg.h (+1/-0)
platform-intel.h (+1/-0)
sha1.c (+42/-49)
sha1.h (+64/-12)
super-ddf.c (+25/-16)
super-intel.c (+1159/-189)
super0.c (+18/-12)
super1.c (+169/-102)
sysfs.c (+13/-4)
test (+6/-5)
tests/00raid1 (+2/-2)
tests/05r1-bitmapfile (+3/-3)
tests/05r1-grow-external (+2/-2)
tests/05r1-grow-internal (+2/-2)
tests/05r1-grow-internal-1 (+2/-2)
tests/05r1-internalbitmap (+3/-3)
tests/05r1-internalbitmap-v1a (+3/-3)
tests/05r1-internalbitmap-v1b (+3/-3)
tests/05r1-internalbitmap-v1c (+3/-3)
tests/05r1-n3-bitmapfile (+3/-3)
tests/05r1-re-add (+2/-2)
tests/06wrmostly (+2/-2)
tests/07autoassemble (+4/-4)
tests/09imsm-assemble (+3/-3)
tests/09imsm-create-fail-rebuild (+1/-1)
tests/10ddf-create (+1/-1)
util.c (+30/-12)
Changed in mdadm (Ubuntu): | |
status: | New → In Progress |
assignee: | nobody → Dmitrijs Ledkovs (dmitrij.ledkov) |
Changed in mdadm (Ubuntu Precise): | |
status: | New → Confirmed |
assignee: | nobody → Dmitrijs Ledkovs (dmitrij.ledkov) |
Changed in mdadm (Ubuntu Precise): | |
milestone: | none → ubuntu-12.04.1 |
Changed in mdadm (Ubuntu Precise): | |
importance: | Undecided → Medium |
description: | updated |
description: | updated |
Changed in mdadm (Ubuntu Precise): | |
status: | Triaged → In Progress |
description: | updated |
tags: |
added: verification-done removed: verification-needed |
This bug was fixed in the package mdadm - 3.2.3-2ubuntu2
---------------
mdadm (3.2.3-2ubuntu2) quantal; urgency=low
* Minimizing the merge-diff from Debian: mdadm.mdadm- blkid.udev: 0~devel3- 43-g2800528- 1. Upstream's rules have everything we had. initramfs/ hooks: Update to copy only the new/correct udev rules
+ debian/rules, debian/mdadm.udev, debian/
Drop our own udev rules in favour of upstream's. Debian did so in
3.
(LP: #1002357, LP: #968074)
+ debian/
file.
+ debian/rules: Remove pointless diff against debian. And now mdmon
installs itself (LP: #957494).
* debian/ patches/ series: Remove `disable- udev-incr- assembly. diff' to
enable incremental assembly, now that we are using upstream rules & we
always had incremental assembly enabled.
* Fixing lintian tags, that are introduced in Ubuntu: source_ mdadm.py: fix executable- not-elf- or-script
+ debian/
+ debian/changelog: correct trailer formating of acient changelog entry
-- Dmitrijs Ledkovs <email address hidden> Mon, 21 May 2012 20:48:10 +0100