packages: geninitrd/geninitrd-svn.patch, geninitrd/geninitrd.spec - rel 3; =?UTF-8?Q?=20?=...
arekm
arekm at pld-linux.org
Mon Apr 23 17:35:28 CEST 2012
Author: arekm Date: Mon Apr 23 15:35:28 2012 GMT
Module: packages Tag: HEAD
---- Log message:
- rel 3; our initrd awk has broken hex support - workaround that by own hex2dec function
---- Files affected:
packages/geninitrd:
geninitrd-svn.patch (2.15 -> 2.16) , geninitrd.spec (2.205 -> 2.206)
---- Diffs:
================================================================
Index: packages/geninitrd/geninitrd-svn.patch
diff -u packages/geninitrd/geninitrd-svn.patch:2.15 packages/geninitrd/geninitrd-svn.patch:2.16
--- packages/geninitrd/geninitrd-svn.patch:2.15 Mon Apr 16 16:47:09 2012
+++ packages/geninitrd/geninitrd-svn.patch Mon Apr 23 17:35:23 2012
@@ -1,7 +1,64 @@
+Index: mod-uvesafb.sh
+===================================================================
+--- mod-uvesafb.sh (wersja 12531)
++++ mod-uvesafb.sh (kopia robocza)
+@@ -40,7 +40,7 @@
+ return
+ fi
+
+- debug "initrd_gen_uvesafb"
++ verbose "initrd_gen_uvesafb"
+ mknod $DESTDIR/dev/mem c 1 1
+ mknod $DESTDIR/dev/tty1 c 4 1
+ inst_d /sbin
+Index: mod-scsi.sh
+===================================================================
+--- mod-scsi.sh (wersja 12531)
++++ mod-scsi.sh (kopia robocza)
+@@ -39,7 +39,7 @@
+ local n
+ for n in $PRESCSIMODS; do
+ if [ "X$n" = "Xunknown" ]; then
+- debug "Finding SCSI modules using scsi_hostadapter"
++ verbose "Finding SCSI modules using scsi_hostadapter"
+ local mod scsimodules=$(modprobe_conf | awk '/scsi_hostadapter/ { print $3 }')
+ for mod in $scsimodules; do
+ # for now allow scsi modules to come from anywhere. There are some
+Index: mod-fbsplash.sh
+===================================================================
+--- mod-fbsplash.sh (wersja 12531)
++++ mod-fbsplash.sh (kopia robocza)
+@@ -42,7 +42,7 @@
+ if ! is_yes "$FB_SPLASH"; then
+ return
+ fi
+- debug "Generating fbsplash"
++ verbose "Generating fbsplash"
+
+ if [ -r /etc/sysconfig/fbsplash ]; then
+ . /etc/sysconfig/fbsplash
+@@ -64,7 +64,7 @@
+ for res in $FB_SPLASH_RESOLUTIONS; do
+ if [ -f "/etc/splash/$SPLASH_THEME/$res.cfg" ]; then
+ $fbsplash_geninitramfs -c $DESTDIR -r $res $SPLASH_THEME && \
+- debug "Added $res $SPLASH_THEME theme to initramfs."
++ verbose "Added $res $SPLASH_THEME theme to initramfs."
+ else
+ warn "/etc/splash/$SPLASH_THEME/$res.cfg doesn't exist, skipped"
+ fi
Index: mod-udev.sh
===================================================================
--- mod-udev.sh (wersja 12531)
+++ mod-udev.sh (kopia robocza)
+@@ -41,7 +41,7 @@
+ # generate initrd fragment
+ # @access public
+ initrd_gen_udev() {
+- debug "Setting up udev..."
++ verbose "Setting up udev..."
+
+ inst_d /sbin /etc/udev
+ inst_exec $udevd /sbin/udevd
@@ -55,7 +55,9 @@
local e
@@ -13,10 +70,44 @@
done
# blkid installed by mod-blkid
+Index: mod-usbkbd.sh
+===================================================================
+--- mod-usbkbd.sh (wersja 12531)
++++ mod-usbkbd.sh (kopia robocza)
+@@ -4,7 +4,7 @@
+ # geninitrd mod: usbkbd
+
+ find_modules_usbkbd() {
+- debug "Finding USB keyboard modules"
++ verbose "Finding USB keyboard modules"
+
+ if [ "$(echo /sys/class/input/input*)" = "/sys/class/input/input*" ]; then
+ return
+@@ -20,9 +20,9 @@
+ if [ "$bInterfaceClass" = "03" -a "$bInterfaceProtocol" = "01" ]; then
+ module=$(readlink $i/device/driver/module)
+ module=$(basename $module)
+-
++
+ if [ -n "$module" ]; then
+- debug "Found USB Keyboard: $(cat $i/name)"
++ verbose "Found USB Keyboard: $(cat $i/name)"
+ modules="$modules $module"
+ fi
+ fi
+@@ -34,7 +34,7 @@
+ module=$(basename $module)
+
+ if [ -n "$module" ]; then
+- debug "Found USB Logitech Unifying Device: $(cat $i/name)"
++ verbose "Found USB Logitech Unifying Device: $(cat $i/name)"
+ modules="$modules $module"
+ fi
+ fi
Index: tests/partitions2
===================================================================
--- tests/partitions2 (wersja 0)
-+++ tests/partitions2 (wersja 12546)
++++ tests/partitions2 (wersja 12560)
@@ -0,0 +1,24 @@
+
+major minor #blocks name
@@ -63,16 +154,33 @@
}
# parse 'root=xxx' kernel commandline
-@@ -21,7 +22,7 @@
+@@ -21,25 +22,51 @@
device=
eval "$(
- busybox awk -v c="$ROOT" '
+ busybox awk -v root="$ROOT" '
++ # http://9fans.net/archive/2006/09/261
++ function h2d(str, hstr, res, num, n, digit, i) {
++ hstr = "0123456789abdcef";
++ res = 0;
++ n = split(tolower(str), digit, "");
++
++ for (i = 1; i <= n; i++) {
++ num = index(hstr, digit[i]) - 1;
++ res = res + (num * 16 ^ (n - i));
++ }
++printf("# h2d(%s) -> [%s]\n", str, res);
++
++ return res;
++ }
BEGIN {
- num_pattern_short = "[0-9a-f][0-9a-f][0-9a-f]";
- num_pattern = "[0-9a-f]" num_pattern_short;
-@@ -29,15 +30,26 @@
+- num_pattern_short = "[0-9a-f][0-9a-f][0-9a-f]";
+- num_pattern = "[0-9a-f]" num_pattern_short;
++
++ num_pattern_short = "[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]";
++ num_pattern = "[0-9a-fA-F]" num_pattern_short;
+ dev_pattern = "[hms][a-z][a-z]([0-9])+";
partition = "";
min = -1; maj = -1;
@@ -97,17 +205,20 @@
+ root = "0x" root
+ }
+
-+ maj = sprintf("%d", "0x" substr(root, 3, 2));
-+ min = sprintf("%d", "0x" substr(root, 5, 2));
-+ printf("# BEGIN: maj=%s, min=%s\n", maj, min);
++ maj = h2d(substr(root, 3, 2));
++ min = h2d(substr(root, 5, 2));
++printf("# BEGIN: root=[%s] maj=%s, min=%s\n", root, maj, min);
}
- if (c ~ "^\/dev\/" dev_pattern "$") sub("^/dev/","", c);
- if (c ~ "^" dev_pattern "$") partition = c;
- printf("# BEGIN: partition=%s; maj=%s, min=%s\n", partition, maj, min);
}
- { printf("# maj:[%s], min:[%s], part:[%s]\n", $1, $2, $4) }
+- { printf("# maj:[%s], min:[%s], part:[%s]\n", $1, $2, $4) }
++{ printf("# maj:[%s], min:[%s], part:[%s]\n", $1, $2, $4) }
-@@ -52,7 +64,7 @@
+ partition && $4 == partition { maj = $1; min = $2; printf("# found partition: %s\n", partition) }
+ $1 == maj && $2 == min { partition = $4; printf("# found maj and min: %s, %s\n", maj, min)}
+@@ -52,7 +79,7 @@
printf("device=/dev/%s;\n", partition);
}
}
@@ -116,7 +227,7 @@
)"
if [ -z "$device" ]; then
-@@ -74,7 +86,7 @@
+@@ -74,7 +101,7 @@
# echo "init=$init"
}
@@ -125,39 +236,311 @@
ROOTFS=xfs
# We support passing root as hda3 /dev/hda3 0303 0x0303 and 303
-@@ -102,3 +114,10 @@
+@@ -102,3 +129,22 @@
runtest <<'EOF'
mount -t xfs -r /dev/sda3 /newroot
EOF
+
++ROOT=805
++runtest <<'EOF'
++mount -t xfs -r /dev/sda5 /newroot
++EOF
++
+# lilo for dm-0
+partitions=./partitions2
+ROOT=fe00
+runtest <<'EOF'
+mount -t xfs -r /dev/dm-0 /newroot
+EOF
++
++# lilo for dm-0
++partitions=./partitions2
++ROOT=FE00
++runtest <<'EOF'
++mount -t xfs -r /dev/dm-0 /newroot
++EOF
+Index: tests/partitions
+===================================================================
+--- tests/partitions (wersja 12531)
++++ tests/partitions (kopia robocza)
+@@ -4,6 +4,7 @@
+ 8 1 40131 sda1
+ 8 2 8008402 sda2
+ 8 3 480335467 sda3
++ 8 5 384475581 sda5
+ 8 16 488386584 sdb
+ 8 17 40131 sdb1
+ 8 18 8008402 sdb2
+Index: mod-luks.sh
+===================================================================
+--- mod-luks.sh (wersja 12531)
++++ mod-luks.sh (kopia robocza)
+@@ -34,7 +34,7 @@
+
+ local dev dm_name=${node#/dev/mapper/}
+ if [ "$node" = "$dm_name" ]; then
+- debug "is_luks: $node is not device mapper name"
++ verbose "is_luks: $node is not device mapper name"
+ return 1
+ fi
+
+@@ -47,9 +47,9 @@
+ fi
+
+ if [ $rc = 0 ]; then
+- debug "is_luks: $node is cryptsetup luks"
++ verbose "is_luks: $node is cryptsetup luks"
+ else
+- debug "is_luks: $node is not cryptsetup luks"
++ verbose "is_luks: $node is not cryptsetup luks"
+ fi
+ return $rc
+ }
+@@ -95,7 +95,7 @@
+ initrd_gen_devices
+ # TODO: 'udevadm settle' is called by lukssetup, is udev optional?
+
+- debug "luks: process /etc/crypttab $LUKSNAME"
++ verbose "luks: process /etc/crypttab $LUKSNAME"
+ luks_crypttab $LUKSNAME
+ }
+
+@@ -144,7 +144,7 @@
+ inst $key $keyfile
+ fi
+
+- debug "+ cryptsetup ${keyfile:+-d $keyfile} luksOpen '$src' '$dst'"
++ verbose "+ cryptsetup ${keyfile:+-d $keyfile} luksOpen '$src' '$dst'"
+ add_linuxrc <<-EOF
+ # cryptsetup can be called twice and in case on crypt on lvm only second
+ # will succeed because there will be no src device in first cryptsetup call
+Index: mod-bootsplash.sh
+===================================================================
+--- mod-bootsplash.sh (wersja 12531)
++++ mod-bootsplash.sh (kopia robocza)
+@@ -28,7 +28,7 @@
+ fi
+ local target="$1"
+
+- debug "Generating bootsplash"
++ verbose "Generating bootsplash"
+
+ if [ ! -x /bin/splash.bin ]; then
+ warn "Failed to execute /bin/splash.bin. Is bootsplash package installed?"
+@@ -54,7 +54,7 @@
+ for res in $BOOT_SPLASH_RESOLUTIONS; do
+ if [ -f "/etc/bootsplash/themes/$THEME/config/bootsplash-$res.cfg" ]; then
+ $bootsplash_geninitramfs -s -f "/etc/bootsplash/themes/$THEME/config/bootsplash-$res.cfg" >> "$target" && \
+- debug "Added $res $THEME theme to initrd."
++ verbose "Added $res $THEME theme to initrd."
+ else
+ warn "/etc/bootsplash/themes/$THEME/config/bootsplash-$res.cfg doesn't exist, skipped"
+ fi
+Index: mod-suspend.sh
+===================================================================
+--- mod-suspend.sh (wersja 12531)
++++ mod-suspend.sh (kopia robocza)
+@@ -36,7 +36,7 @@
+ # save suspend VG int oseparate var
+ LVM_SUSPENDVG=$LVM_VGVOLUMES
+ LVM_VGVOLUMES=$vgvolumes
+- debug "suspend device is on LVM"
++ verbose "suspend device is on LVM"
+ fi
+ }
+
+@@ -47,7 +47,7 @@
+ return
+ fi
+
+- debug "Setting up suspend..."
++ verbose "Setting up suspend..."
+
+ mknod $DESTDIR/dev/snapshot c 10 231
+ mkdir -p $DESTDIR${resume_dev%/*}
+Index: mod-blkid.sh
+===================================================================
+--- mod-blkid.sh (wersja 12531)
++++ mod-blkid.sh (kopia robocza)
+@@ -22,7 +22,7 @@
+ if ! is_yes "$USE_BLKID"; then
+ return
+ fi
+- debug "Adding BLKID support to initrd"
++ verbose "Adding BLKID support to initrd"
+
+ inst_exec $blkid /bin/blkid
+ initrd_gen_devices
+Index: mod-nfs.sh
+===================================================================
+--- mod-nfs.sh (wersja 12531)
++++ mod-nfs.sh (kopia robocza)
+@@ -56,7 +56,7 @@
+
+ # use root=/dev/ram0 init=/linuxrc when starting kernel or you will
+ # have problems like init(XX) being child process of swapper(1).
+- debug "Adding rootfs on NFS support to initrd (dhcp)"
++ verbose "Adding rootfs on NFS support to initrd (dhcp)"
+ mknod "$DESTDIR/dev/urandom" c 1 9
+ mkdir "$DESTDIR/newroot"
+ add_linuxrc <<-'EOF'
+Index: mod-condecor.sh
+===================================================================
+--- mod-condecor.sh (wersja 12531)
++++ mod-condecor.sh (kopia robocza)
+@@ -26,7 +26,7 @@
+ if ! is_yes "$FB_CON_DECOR"; then
+ return
+ fi
+- debug "Generating fbcondecor"
++ verbose "Generating fbcondecor"
+
+ if [ -r /etc/sysconfig/splash ]; then
+ . /etc/sysconfig/splash
+@@ -48,7 +48,7 @@
+ for res in $FB_SPLASH_RESOLUTIONS; do
+ if [ -f "/etc/splash/$SPLASH_THEME/$res.cfg" ]; then
+ $condecor_geninitramfs -c $DESTDIR -r $res $SPLASH_THEME && \
+- debug "Added $res $SPLASH_THEME theme to initramfs."
++ verbose "Added $res $SPLASH_THEME theme to initramfs."
+ else
+ warn "/etc/splash/$SPLASH_THEME/$res.cfg doesn't exist, skipped"
+ fi
Index: geninitrd
===================================================================
--- geninitrd (wersja 12531)
+++ geninitrd (kopia robocza)
-@@ -759,6 +759,7 @@
+@@ -79,8 +79,12 @@
+ msg "WARNING: $*" >&2
+ }
+
++verbose() {
++ [ x"$verbose" = x"-v" ] && msg "$*" >&3
++}
++
+ debug() {
+- [ -n "$verbose" ] && msg "$*" >&2
++ [ x"$verbose" = x"-v -v" ] && msg "$*" >&3
+ }
+
+ # aborts program abnormally
+@@ -96,7 +100,7 @@
+ for x in "$@"; do
+ if [ -x "$x" ]; then
+ echo $x
+- debug "find_tool: found $x"
++ verbose "find_tool: found $x"
+ return 0
+ fi
+ done
+@@ -402,8 +406,11 @@
+ local dest=$1
+ set -- $src
+ local parentDir=$(dirname $DESTDIR$dest)
+- [ ! -d "$parentDir" ] && (debug "+ mkdir -p $parentDir"; mkdir -p $parentDir)
+- debug "+ cp $* $DESTDIR$dest"
++ if [ ! -d "$parentDir" ]; then
++ verbose "+ mkdir -p $parentDir"
++ mkdir -p $parentDir
++ fi
++ verbose "+ cp $* $DESTDIR$dest"
+ cp -HR "$@" "$DESTDIR$dest"
+ }
+
+@@ -457,7 +464,7 @@
+ if [ ! -e $DESTDIR$libdir ]; then
+ libdir=$(dirname "$libdir")
+ inst_d $libdir
+- debug "+ ln -s /$_lib $DESTDIR$libdir"
++ verbose "+ ln -s /$_lib $DESTDIR$libdir"
+ ln -s /$_lib $DESTDIR$libdir
+ fi
+ fi
+@@ -515,7 +522,7 @@
+ devpath=$(readlink -f "$devpath")
+ fi
+
+- debug "Finding modules for device path $devpath"
++ verbose "Finding modules for device path $devpath"
+
+ if is_luks "$devpath"; then
+ find_modules_luks "$devpath"
+@@ -631,7 +638,7 @@
+ local module="$1"
+ local firmware_files="$2"
+
+- debug "Adding Firmwares ($firmware_files) to initrd for module $module"
++ verbose "Adding Firmwares ($firmware_files) to initrd for module $module"
+ # firmware not yet installed
+ if [ ! -f "$DESTDIR/lib/firmware/firmware.sh" ]; then
+ inst_d /lib/firmware
+@@ -698,7 +705,7 @@
+ options="scan=sync $options"
+ fi
+
+- if [ -n "$verbose" ]; then
++ if [ x"$verbose" = x"-v" ]; then
+ s=""
+ if [ "$options" ]; then
+ s="$s with options [$options]"
+@@ -706,7 +713,7 @@
+ if [ "$usleep" ]; then
+ s="$s and $usleep usleep"
+ fi
+- debug "Loading module [$module]$s"
++ verbose "Loading module [$module]$s"
+ fi
+
+ if [ -n "$firmware" ]; then
+@@ -757,8 +764,9 @@
+
+
initrd_gen_setrootdev() {
- debug "Adding rootfs finding based on kernel cmdline root= option support."
+- debug "Adding rootfs finding based on kernel cmdline root= option support."
++ verbose "Adding rootfs finding based on kernel cmdline root= option support."
busybox_applet ls
+ debug "Current /proc/partitions:\n$(sed -e 's,^,> ,' /proc/partitions)"
add_linuxrc <<-'EOF'
if [ "${ROOT##/dev/}" != "${ROOT}" ]; then
rootnr="$(busybox awk -v rootnode="${ROOT##/dev/}" '$4 == rootnode { print 256 * $1 + $2 }' /proc/partitions)"
-@@ -785,7 +786,7 @@
+@@ -783,24 +791,58 @@
+
+ # parse 'root=xxx' kernel commandline
# We support passing root as hda3 /dev/hda3 0303 0x0303 and 303
++
++ # from lilo-23.2/readme/README:
++ # root=<device> changes the root device. This overrides settings that may
++ # have been made in the boot image and on the LILO command line. <device> is
++ # either the hexadecimal device number or the full path name of the device,
++ # e.g. /dev/hda3 [*]
++ #
++ # * The device names are hard-coded in the kernel. Therefore, only the
++ # "standard" names are supported and some less common devices may not be
++ # recognized. In those cases, only numbers can be used.
add_linuxrc <<-'EOF'
device=
- eval "$(busybox awk -v c="$ROOT" '
+ eval "$(busybox awk -v root="$ROOT" '
++ # http://9fans.net/archive/2006/09/261
++ function h2d(str, hstr, res, num, n, digit, i) {
++ hstr = "0123456789abdcef";
++ res = 0;
++ n = split(tolower(str), digit, "");
++
++ for (i = 1; i <= n; i++) {
++ num = index(hstr, digit[i]) - 1;
++ res = res + (num * 16 ^ (n - i));
++ }
++
++ return res;
++ }
BEGIN {
- num_pattern_short = "[0-9a-f][0-9a-f][0-9a-f]";
- num_pattern = "[0-9a-f]" num_pattern_short;
-@@ -793,14 +794,24 @@
+- num_pattern_short = "[0-9a-f][0-9a-f][0-9a-f]";
+- num_pattern = "[0-9a-f]" num_pattern_short;
++
++ num_pattern_short = "[0-9a-fA-F][0-9a-fA-F][0-9a-fA-F]";
++ num_pattern = "[0-9a-fA-F]" num_pattern_short;
+ dev_pattern = "[hms][a-z][a-z]([0-9])+";
partition = "";
min = -1; maj = -1;
@@ -181,15 +564,79 @@
+ root = "0x" root
+ }
+
-+ maj = sprintf("%d", "0x" substr(root, 3, 2));
-+ min = sprintf("%d", "0x" substr(root, 5, 2));
++ maj = h2d(substr(root, 3, 2));
++ min = h2d(substr(root, 5, 2));
}
- if (c ~ "^\/dev\/" dev_pattern "$") sub("^/dev/","", c);
- if (c ~ "^" dev_pattern "$") partition = c;
}
partition && $4 == partition { maj = $1; min = $2; }
-@@ -1432,6 +1443,8 @@
+@@ -877,7 +919,7 @@
+ compressors="$mode"
+ fi
+
+- debug "finding compressor: $compressors (via $mode)"
++ verbose "finding compressor: $compressors (via $mode)"
+ # check for compressor validity
+ local c prog map=/boot/System.map-$kernel
+ for c in $compressors; do
+@@ -917,7 +959,7 @@
+ fi
+ done
+
+- debug "using gzip for compressor (fallback)"
++ verbose "using gzip for compressor (fallback)"
+ echo gzip
+ }
+
+@@ -1051,7 +1093,12 @@
+ exit 0
+ ;;
+ -v)
+- verbose=-v
++ if [ x"$verbose" = x"-v" ]; then
++ verbose="-v -v"
++ else
++ verbose="-v"
++ fi
++ exec 3>&1
+ ;;
+ --compress)
+ COMPRESS=$2
+@@ -1136,7 +1183,7 @@
+ 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)}')
+
+-debug "# $GENINITRD_RCSID (geninitrd)"
++verbose "# $GENINITRD_RCSID (geninitrd)"
+ debug "Using _lib: $_lib"
+ debug "Using initrd_dir: $initrd_dir"
+
+@@ -1234,7 +1281,7 @@
+ fi
+
+ find_root "$fstab" || exit
+-debug "Using $rootdev as device for rootfs"
++verbose "Using $rootdev as device for rootfs"
+
+ find_modules_for_devpath "$rootdev"
+
+@@ -1257,11 +1304,11 @@
+ find_modules_fbsplash
+
+ if [ -n "$ifneeded" -a -z "$MODULES" ]; then
+- debug "No modules are needed -- not building initrd image."
++ verbose "No modules are needed -- not building initrd image."
+ exit 0
+ fi
+
+-debug "Building initrd..."
++verbose "Building initrd..."
+ DESTDIR=$(mktemp -d -t initrd.XXXXXX) || die "mktemp failed"
+ RCFILE="$DESTDIR/linuxrc"
+ > "$RCFILE"
+@@ -1432,12 +1479,14 @@
initrd_gen_fbsplash
initrd_gen_fbcondecor
@@ -198,4 +645,202 @@
IMAGE=$(mktemp -t initrd.img-XXXXXX) || die "mktemp failed"
IMAGESIZE=$(du -ks $DESTDIR | awk '{print int(($1+1023+512)/1024)*1024}')
-
+-debug "image size: $IMAGESIZE KiB ($DESTDIR)"
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/packages/geninitrd/geninitrd-svn.patch?r1=2.15&r2=2.16
http://cvs.pld-linux.org/packages/geninitrd/geninitrd.spec?r1=2.205&r2=2.206
More information about the pld-cvs-commit
mailing list