]> git.pld-linux.org Git - packages/geninitrd.git/blobdiff - geninitrd-git.patch
- rel 2; compressors list changed to make best (size) ones as first; always add parti...
[packages/geninitrd.git] / geninitrd-git.patch
index c8e4e6226970e9681958f98140274843e477dce3..90d528abe80adda6c9aec88cbfb499d9b0643a18 100644 (file)
-diff --git a/functions b/functions
-index a3f6b19..f4d9acb 100644
---- a/functions
-+++ b/functions
-@@ -291,3 +291,9 @@ find_modules_by_class_mit() {
-       '
- }
-+# get possible paths for specifed patter containing LIBDIR
-+get_libdir() {
-+      for dir in lib lib64 libx32; do
-+              echo -n "${1/LIBDIR/$dir} "
-+      done
-+}
 diff --git a/geninitrd b/geninitrd
-index 2c435f8..6ad6820 100755
+index 7b962b5..a4de196 100755
 --- a/geninitrd
 +++ b/geninitrd
-@@ -553,17 +553,20 @@ inst_exec() {
-       # hack for uclibc linked binaries requiring this fixed path
-       # XXX: shouldn't rpath be used here instead so th
--      if [ -f $DESTDIR/$_lib/libc.so.0 ]; then
--              lib=$DESTDIR/$_lib/libc.so.0
--              lib=$(ldd "$lib" | awk '/statically|linux-(gate|vdso)\.so/{next} NF == 2 {print $1} /=/{print $3}' | sort -u)
--              libdir=$(cd $(dirname "$lib"); pwd)
--              if [ ! -e $DESTDIR$libdir ]; then
--                      libdir=$(dirname "$libdir")
--                      inst_d $libdir
--                      verbose "+ ln -s /$_lib $DESTDIR$libdir"
--                      ln -s /$_lib $DESTDIR$libdir
-+      for _lib in $(get_libdir LIBDIR); do
-+              if [ -f $DESTDIR/$_lib/libc.so.0 ]; then
-+                      lib=$DESTDIR/$_lib/libc.so.0
-+                      lib=$(ldd "$lib" | awk '/statically|linux-(gate|vdso)\.so/{next} NF == 2 {print $1} /=/{print $3}' | sort -u)
-+                      libdir=$(cd $(dirname "$lib"); pwd)
-+                      if [ ! -e $DESTDIR$libdir ]; then
-+                              libdir=$(dirname "$libdir")
-+                              inst_d $libdir
-+                              verbose "+ ln -s /$_lib $DESTDIR$libdir"
-+                              ln -s /$_lib $DESTDIR$libdir
-+                              break
-+                      fi
-               fi
--      fi
-+      done
- }
- # output modules.conf / modprobe.conf
-@@ -1363,19 +1366,10 @@ for dir in libx32 lib64 lib; do
-       fi
- done
--if [ -d /libx32 -a -d /usr/libx32 ]; then
--      _lib=libx32
--elif [ -d /lib64 -a -d /usr/lib64 ]; then
--      _lib=lib64
--else
--      _lib=lib
--fi
--
- kernel_version=$(echo "$kernel" | awk -F. '{gsub(/[_-].*/, "", $0); print sprintf("%03d%03d",$1,$2)}')
- kernel_version_long=$(echo "$kernel" | awk -F. '{gsub(/[_-].*/, "", $0); print sprintf("%03d%03d%03d",$1,$2,$3)}')
- verbose "# geninitrd $VERSION"
--debug "Using _lib: $_lib"
- debug "Using initrd_dir: $initrd_dir"
- busybox=$(find_tool $initrd_dir/busybox $initrd_dir/initrd-busybox /bin/initrd-busybox) || die "Couldn't find busybox suitable for initrd"
-diff --git a/mod-multipath.sh b/mod-multipath.sh
-index f918dd5..559eb55 100644
---- a/mod-multipath.sh
-+++ b/mod-multipath.sh
-@@ -112,13 +112,19 @@ initrd_gen_multipath() {
-       inst_exec /sbin/multipath /sbin
-       # for udev callouts
--      local scsi_id=$(find_tool /$_lib/udev/scsi_id /lib/udev/scsi_id /sbin/scsi_id)
-+      local scsi_id=$(find_tool $(get_libdir /LIBDIR/udev/scsi_id) /lib/udev/scsi_id /sbin/scsi_id)
-       inst_exec $scsi_id /lib/udev
--      if [ -d /$_lib/multipath ]; then
--              inst_d /$_lib/multipath
--              inst_exec /$_lib/multipath/* /$_lib/multipath
--      else
-+      local installed=0
-+      for _lib in $(get_libdir LIBDIR); do
-+              if [ -d /$_lib/multipath ]; then
-+                      inst_d /$_lib/multipath
-+                      inst_exec /$_lib/multipath/* /$_lib/multipath
-+                      installed=1
-+                      break
-+              fi
-+      done
-+      if [ "$installed" -eq 0 ]; then
-               inst_exec /sbin/mpath* /sbin
-       fi
-diff --git a/mod-suspend.sh b/mod-suspend.sh
-index 48efd57..c984e77 100644
---- a/mod-suspend.sh
-+++ b/mod-suspend.sh
-@@ -13,7 +13,7 @@ setup_mod_suspend() {
-               warn "Tuxonice and mainline suspend are exclusive!"
-       fi
--      resume=$(find_tool $initrd_dir/resume /usr/${_lib}/suspend/resume /usr/sbin/resume)
-+      resume=$(find_tool $(get_libdir /usr/LIBDIR/suspend/resume) $initrd_dir/resume /usr/sbin/resume)
-       if [ ! -x "$resume" ] || [ ! -f /etc/suspend.conf ]; then
-               USE_SUSPEND=no
-@@ -58,11 +58,7 @@ initrd_gen_suspend() {
-       inst $resume_dev $resume_dev
-       inst /etc/suspend.conf /etc/suspend.conf
--      if [ -x /usr/${_lib}/suspend/resume ]; then
--              inst_exec /usr/${_lib}/suspend/resume /bin/resume
--      else
--              inst_exec /usr/sbin/resume /bin/resume
--      fi
-+      inst_exec $resume /bin/resume
-       add_linuxrc <<-'EOF'
-       resume=no
+@@ -1103,8 +1103,7 @@ sym_exists() {
+ # find best compressor (or forced one) for initrd
+ find_compressor() {
+       local mode="$1"
+-      # fastest initrd decompression speed is first
+-      local compressors='lzo gzip xz lzma bzip2'
++      local compressors='xz lzma bzip2 gzip lzo'
+       # a specified one, take it
+       if ! is_yes "$mode"; then
+diff --git a/mod-md.sh b/mod-md.sh
+index a0cd7aa..d9093d4 100644
+--- a/mod-md.sh
++++ b/mod-md.sh
+@@ -139,13 +139,15 @@ initrd_gen_md() {
+       inst_exec $mdassemble /bin/mdassemble
++      echo "DEVICE partitions containers" >> "$DESTDIR/etc/mdadm.conf"
++
+       # LVM on RAID case
+       local dev_list_extra ex_dev
+       dev_list_extra=$(awk '/^DEVICE / { for (i=2; i<=NF; i++) { printf "%s ", $i; }; } ' /etc/mdadm.conf | xargs)
+       new_dev_list_extra=""
+       for ex_dev in $dev_list_extra; do
+-              if [ "$ex_dev" = "partitions" ]; then
+-                      echo "DEVICE partitions" >> "$DESTDIR/etc/mdadm.conf"
++              if [ "$ex_dev" = "partitions" -o "$ex_dev" = "containers" ]; then
++                      echo "DEVICE $ex_dev" >> "$DESTDIR/etc/mdadm.conf"
+                       # FIXME: find and copy partition devices from /proc/partitions
+                       #        - best if done at runtime, now initrd gen time
+                       continue
This page took 0.302016 seconds and 4 git commands to generate.