Package: evms Version: 2.5.3-7 Severity: normal Tags: patch The maintainer of initramfs-tools has requested that the evms package take over ownership of the evms-specific hooks in initramfs-tools. He has refused to fix evms specific problems reported to him in the current package in favor of forcing responsibility over to the evms folks.
This patch updates EVMS to conflict on initramfs-tools prior to the next version, when he will *hopefully* remove the old evms hooks, and provides proper versions of the hooks. These have been tested on a system that boots from an evms root located inside an lvm2 container, located inside a raid5 md region. I've tried to make everything generic to work under any evms configuration. Do not try to use the evms scripts currently in initramfs-tools, they're just simply hosed at this point. Feel free to contact me for more info. We ideally should time an evms release in sync with intramfs-tools when they get around to removing their scripts. Paul -- Package-specific info: -- System Information: Debian Release: testing/unstable APT prefers testing APT policy: (650, 'testing'), (600, 'unstable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.14-2-686-smp Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages evms depends on: ii libc6 2.3.5-6 GNU C Library: Shared libraries an ii libevms-2.5 2.5.3-7 Enterprise Volume Management Syste Versions of packages evms recommends: ii evms-cli 2.5.3-7 Enterprise Volume Management Syste ii evms-gui 2.5.3-7 Enterprise Volume Management Syste ii evms-ncurses 2.5.3-7 Enterprise Volume Management Syste -- no debconf information
diff -u -N -r old/evms-2.5.3/debian/control evms-2.5.3/debian/control --- debian/control 2005-11-22 00:32:08.365940317 -0800 +++ debian/control 2005-11-22 00:24:35.844022437 -0800 @@ -11,7 +11,8 @@ Depends: ${shlibs:Depends} Recommends: evms-gui | evms-ncurses, evms-cli Suggests: kernel-patch-evms, evms-ha -Enhances: initrd-tools, devfsd +Enhances: initrd-tools, initramfs-tools, devfsd +Conflicts: initramfs-tools (<= 0.39) Description: Enterprise Volume Management System (core) The EVMS project provides unparalleled flexibility and extensibility in managing storage. This project represents a new approach to @@ -148,7 +149,7 @@ Package: evms-bootdebug Architecture: any -Depends: evms-cli, evms-ncurses, initramfs-tools (>= 0.33) +Depends: evms-cli, evms-ncurses, initramfs-tools (>= 0.39) Description: Enterprise Volume Management System (boot-time debugger) The EVMS project provides unparalleled flexibility and extensibility in managing storage. This project represents a new approach to diff -u -N -r old/evms-2.5.3/debian/evms-bootdebug.dirs evms-2.5.3/debian/evms-bootdebug.dirs --- debian/evms-bootdebug.dirs 2005-11-22 00:32:08.357941521 -0800 +++ debian/evms-bootdebug.dirs 1969-12-31 16:00:00.000000000 -0800 @@ -1,2 +0,0 @@ -/usr/share/initramfs-tools/hooks/ -/usr/share/initramfs-tools/scripts/local-top/ diff -u -N -r old/evms-2.5.3/debian/hooks_evms evms-2.5.3/debian/hooks_evms --- debian/hooks_evms 1969-12-31 16:00:00.000000000 -0800 +++ debian/hooks_evms 2005-11-21 23:32:32.383111827 -0800 @@ -0,0 +1,36 @@ +#!/bin/sh + +PREREQ="" + +prereqs() +{ + echo "$PREREQ" +} + +case $1 in +prereqs) + prereqs + exit 0 + ;; +esac + +. /usr/share/initramfs-tools/hook-functions + +if [ ! -x /sbin/evms_activate ]; then + exit 0 +fi + +copy_exec /sbin/evms_activate /sbin +cp /etc/evms.conf ${DESTDIR}/etc + +EVMS_VERSION=$(/usr/sbin/evms_query info | grep "EVMS Version" | awk '{ print $3; }') + +mkdir -p ${DESTDIR}/lib/evms/${EVMS_VERSION} + +for x in bbr bbr_seg bsd disk dos drivelink gpt lvm2 mac md multipath; do + copy_exec /lib/evms/${EVMS_VERSION}/${x}* /lib/evms/${EVMS_VERSION} +done + +for x in dm_mod linear raid0 raid1 raid10 raid5 raid6; do + manual_add_modules ${x} +done diff -u -N -r old/evms-2.5.3/debian/hooks_evms_bootdebug evms-2.5.3/debian/hooks_evms_bootdebug --- debian/hooks_evms_bootdebug 2005-11-22 00:32:08.342943778 -0800 +++ debian/hooks_evms_bootdebug 2005-11-21 23:32:41.323740969 -0800 @@ -21,8 +21,8 @@ fi # The main binaries -cp /sbin/evms ${DESTDIR}/sbin/ -cp /sbin/evmsn ${DESTDIR}/sbin/ +copy_exec /sbin/evms /sbin +copy_exec /sbin/evmsn /sbin # It's useful to have somewhere the engine can log to mkdir -p ${DESTDIR}/var/log/ @@ -39,15 +39,19 @@ cp /lib/evms/${EVMS_VERSION}/* ${DESTDIR}/lib/evms/${EVMS_VERSION} # We'll also need some support tools for the different filesystems. -cp /sbin/{mkswap,badblocks} ${DESTDIR}/sbin/ -cp /sbin/{mke2fs,resize2fs,e2fsck,tune2fs} ${DESTDIR}/sbin/ + +sbin_files="mkswap badblocks mke2fs resize2fs e2fsck tune2fs" + if [ -x /sbin/reiserfsck ]; then - cp /sbin/{reiserfsck,resize_reiserfs,mkreiserfs} ${DESTDIR}/sbin/ + sbin_files="${sbin_files} reiserfsck resize_reiserfs mkreiserfs" fi if [ -x /sbin/jfs_fsck ]; then - cp /sbin/{jfs_fsck,jfs_mkfs} ${DESTDIR}/sbin/ + sbin_files="${sbin_files} jfs_fsck jfs_mkfs" fi if [ -x /sbin/fsck.xfs ]; then - cp /sbin/{fsck,mkfs}.xfs ${DESTDIR}/sbin/ + sbin_files="${sbin_files} fsck.xfs mkfs.xfs" fi +for file in ${sbin_files} ; do + copy_exec /sbin/${file} /sbin +done diff -u -N -r old/evms-2.5.3/debian/local-top_evms evms-2.5.3/debian/local-top_evms --- debian/local-top_evms 1969-12-31 16:00:00.000000000 -0800 +++ debian/local-top_evms 2005-11-21 22:07:47.653536459 -0800 @@ -0,0 +1,30 @@ +#!/bin/sh + +PREREQ="" + +prereqs() +{ + echo "$PREREQ" +} + +case $1 in +# get pre-requisites +prereqs) + prereqs + exit 0 + ;; +esac + +evms=${ROOT#/dev/evms/} +case ${evms} in + /*) + exit 0 + ;; +esac +unset evms + +for module in dm-mod linear raid0 raid1 raid10 raid5 raid6 ; do + modprobe -q $module +done + +/sbin/evms_activate diff -u -N -r old/evms-2.5.3/debian/rules evms-2.5.3/debian/rules --- debian/rules 2005-11-22 00:32:08.360941070 -0800 +++ debian/rules 2005-11-22 00:08:43.161330725 -0800 @@ -97,6 +97,7 @@ $(CURDIR)/debian/evms-udeb/sbin dh_movefiles + dh_installdirs mkdir -p $(CURDIR)/debian/evms/usr/share/bug/evms install -m 755 debian/bug $(CURDIR)/debian/evms/usr/share/bug/evms/script @@ -117,9 +118,22 @@ install -m 644 debian/evms.mkinitrd.probe \ $(CURDIR)/debian/evms/usr/share/initrd-tools/probe.d/evms - dh_installdirs - install debian/hooks_evms_bootdebug $(CURDIR)/debian/evms-bootdebug/usr/share/initramfs-tools/hooks/evms_bootdebug - install debian/local-top_evms_bootdebug $(CURDIR)/debian/evms-bootdebug/usr/share/initramfs-tools/scripts/local-top/evms_bootdebug + + mkdir -p $(CURDIR)/debian/evms/usr/share/initramfs-tools/hooks + install debian/hooks_evms \ + $(CURDIR)/debian/evms/usr/share/initramfs-tools/hooks/evms + mkdir -p $(CURDIR)/debian/evms/usr/share/initramfs-tools/scripts/local-top + install debian/local-top_evms \ + $(CURDIR)/debian/evms/usr/share/initramfs-tools/scripts/local-top/evms + + mkdir -p $(CURDIR)/debian/evms-bootdebug/usr/share/initramfs-tools/hooks + install debian/hooks_evms_bootdebug \ + $(CURDIR)/debian/evms-bootdebug/usr/share/initramfs-tools/hooks/evms_bootdebug + mkdir -p $(CURDIR)/debian/evms-bootdebug/usr/share/initramfs-tools/scripts/local-top + install debian/local-top_evms_bootdebug \ + $(CURDIR)/debian/evms-bootdebug/usr/share/initramfs-tools/scripts/local-top/evms_bootdebug + + binary-indep: build-indep dh_testdir -i