Hi, Please unblock dmraid 1.0.0.rc14-7, this upload fixes a grave bug #512771. (Originally reported against dkms on ubuntu, LP #320200) dmraid must not call udevadm trigger --action=add in postinst. This will have utterly dire consequences for the installed machine. Major bugs will be apparent corruption of mounted filesystems (e.g. "/usr: data error") until a reboot. And critical bugs include the entire /dev changing to root:root/660 on upgrade. Changes: dmraid (1.0.0.rc14-7) unstable; urgency=medium . * [506dd59] Fixed command-with-path-in-maintainer-script lintian warning (update-initramfs in postinst/postrm) * [9762976] debian/control: Made the long description for the udeb shorter * [cbde138] debian/control: Added DM-Upload-Allowed and VCS control fields * [543a90a] debian/dmraid.postinst: call udevadm trigger with --action=change (Closes: #512771), (LP: #320482) * [fcc082d] debian/patches/04_generate-uuids.dpatch: Do not call dm_task_run() only for DM_DEVICE_CREATE, but also for DM_DEVICE_REMOVE. (LP: #306275) * [7f379ae] debian/control: Remove priority and section fields in the binary package Cheers, Giuseppe.
diff -u dmraid-1.0.0.rc14/debian/dmraid.postrm dmraid-1.0.0.rc14/debian/dmraid.postrm --- dmraid-1.0.0.rc14/debian/dmraid.postrm +++ dmraid-1.0.0.rc14/debian/dmraid.postrm @@ -4,8 +4,8 @@ case "$1" in remove|purge) - if [ -x /usr/sbin/update-initramfs ]; then - /usr/sbin/update-initramfs -u + if command -v update-initramfs >/dev/null 2>&1; then + update-initramfs -u fi ;; diff -u dmraid-1.0.0.rc14/debian/dmraid.postinst dmraid-1.0.0.rc14/debian/dmraid.postinst --- dmraid-1.0.0.rc14/debian/dmraid.postinst +++ dmraid-1.0.0.rc14/debian/dmraid.postinst @@ -5,12 +5,12 @@ case "$1" in configure) - if [ -x /usr/sbin/update-initramfs ]; then - /usr/sbin/update-initramfs -u + if command -v update-initramfs >/dev/null 2>&1; then + update-initramfs -u fi # Activate existing arrays now. - udevadm trigger --subsystem-match=block --action=add + udevadm trigger --subsystem-match=block --action=change if [ -f /etc/init.d/dmraid ]; then update-rc.d -f dmraid remove diff -u dmraid-1.0.0.rc14/debian/changelog dmraid-1.0.0.rc14/debian/changelog --- dmraid-1.0.0.rc14/debian/changelog +++ dmraid-1.0.0.rc14/debian/changelog @@ -1,3 +1,21 @@ +dmraid (1.0.0.rc14-7) unstable; urgency=medium + + * [506dd59] Fixed command-with-path-in-maintainer-script lintian + warning (update-initramfs in postinst/postrm) + * [9762976] debian/control: Made the long description for the udeb + shorter + * [cbde138] debian/control: Added DM-Upload-Allowed and VCS control + fields + * [543a90a] debian/dmraid.postinst: call udevadm trigger with --action=change + (Closes: #512771), (LP: #320482) + * [fcc082d] debian/patches/04_generate-uuids.dpatch: Do not call + dm_task_run() only for DM_DEVICE_CREATE, but also for + DM_DEVICE_REMOVE. (LP: #306275) + * [7f379ae] debian/control: Remove priority and section fields in the + binary package + + -- Giuseppe Iuculano <giuseppe@iuculano.it> Fri, 23 Jan 2009 21:15:53 +0100 + dmraid (1.0.0.rc14-6) unstable; urgency=low * debian/rules: Added execution rights to diff -u dmraid-1.0.0.rc14/debian/control dmraid-1.0.0.rc14/debian/control --- dmraid-1.0.0.rc14/debian/control +++ dmraid-1.0.0.rc14/debian/control @@ -4,11 +4,12 @@ Maintainer: Giuseppe Iuculano <giuseppe@iuculano.it> Standards-Version: 3.8.0 Build-Depends: debhelper (>= 5), libdevmapper-dev, libklibc-dev, libselinux1-dev, dpatch, autotools-dev +Vcs-git: git://git.debian.org/git/users/derevko-guest/dmraid.git +Vcs-Browser: http://git.debian.org/?p=users/derevko-guest/dmraid.git;a=summary Homepage: http://people.redhat.com/~heinzm/sw/dmraid/ +DM-Upload-Allowed: yes Package: dmraid -Section: admin -Priority: optional Architecture: any Depends: ${shlibs:Depends}, udev, dmsetup Description: Device-Mapper Software RAID support tool @@ -37,21 +38,6 @@ Depends: ${shlibs:Depends}, dmsetup-udeb -Description: Device-Mapper Software RAID support tool +Description: Device-Mapper Software RAID support tool (udeb) dmraid discovers, activates, deactivates and displays properties of software RAID sets (eg, ATARAID) and contained DOS partitions. . - dmraid uses the Linux device-mapper to create devices with respective - mappings for the ATARAID sets discovered. - . - The following formats are supported: - Highpoint HPT37X/HPT45X - Intel Software RAID - LSI Logic MegaRAID - NVidia NForce RAID (nvraid) - Promise FastTrack - Silicon Image(tm) Medley(tm) - VIA Software RAID - . - Please read the documentation in /usr/share/doc/dmraid BEFORE attempting - any use of this software. Improper use can cause data loss! - . This is the minimal package (udeb) used by debian-installer diff -u dmraid-1.0.0.rc14/debian/patches/04_generate-uuids.dpatch dmraid-1.0.0.rc14/debian/patches/04_generate-uuids.dpatch --- dmraid-1.0.0.rc14/debian/patches/04_generate-uuids.dpatch +++ dmraid-1.0.0.rc14/debian/patches/04_generate-uuids.dpatch @@ -5,9 +5,9 @@ ## DP: Generate UUIDs with DMRAID prefix. @DPATCH@ -diff -urNad dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/activate/devmapper.c dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/activate/devmapper.c ---- dmraid-1.0.0.rc14-1ubuntu1~/1.0.0.rc14/lib/activate/devmapper.c 2006-09-15 23:52:11.000000000 +1000 -+++ dmraid-1.0.0.rc14-1ubuntu1/1.0.0.rc14/lib/activate/devmapper.c 2008-07-08 14:10:06.000000000 +1000 +diff -urNad dmraid.git~/1.0.0.rc14/lib/activate/devmapper.c dmraid.git/1.0.0.rc14/lib/activate/devmapper.c +--- dmraid.git~/1.0.0.rc14/lib/activate/devmapper.c 2009-01-23 16:48:44.000000000 +0100 ++++ dmraid.git/1.0.0.rc14/lib/activate/devmapper.c 2009-01-23 18:08:44.000000000 +0100 @@ -21,6 +21,8 @@ #include "internal.h" #include "devmapper.h" @@ -17,7 +17,7 @@ /* Make up a dm path. */ char *mkdm_path(struct lib_context *lc, const char *name) { -@@ -147,24 +149,48 @@ +@@ -147,24 +149,49 @@ return handle_table(lc, NULL, table, get_target_list()); } @@ -56,11 +56,12 @@ - if (ret) - ret = dm_task_run(dmt); -+ if (ret && -+ DM_DEVICE_CREATE == type) -+ ret = dmraid_uuid(lc, rs, uuid, DM_UUID_LEN) && -+ dm_task_set_uuid(dmt, uuid) && -+ dm_task_run(dmt); ++ if (ret) { ++ if (DM_DEVICE_CREATE == type && ++ dmraid_uuid(lc, rs, uuid, DM_UUID_LEN)) ++ dm_task_set_uuid(dmt, uuid); ++ ret = dm_task_run(dmt); ++ } _exit_dm(dmt); return ret;
Attachment:
signature.asc
Description: OpenPGP digital signature