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