Bug#576429: initramfs-tools: mkinitramfs - compression support / commandline override
Package: initramfs-tools
Version: 0.93.4
Severity: normal
Tags: patch
hello maximilian,
fixed the commandline argument to select the compressor. also your test
with "command" needed to be negated otherwise the fallback to gzip would
take place everytime. patch attached
--
frohe ostern
Bert Schulze
diff -rup a/hook-functions b/hook-functions
--- a/hook-functions 2010-04-04 16:54:03.000000000 +0200
+++ b/hook-functions 2010-04-04 17:23:00.000000000 +0200
@@ -472,10 +472,11 @@ usage()
Usage: ${0} [OPTION]... -o outfile [version]
Options:
- -d confdir Specify an alternative configuration directory.
- -k Keep temporary directory used to make the image.
- -o outfile Write to outfile.
- -r root Override ROOT setting in initramfs.conf.
+ -c compress Override COMPRESS setting in initramfs.conf.
+ -d confdir Specify an alternative configuration directory.
+ -k Keep temporary directory used to make the image.
+ -o outfile Write to outfile.
+ -r root Override ROOT setting in initramfs.conf.
See mkinitramfs(8) for further details.
EOF
diff -rup a/mkinitramfs b/mkinitramfs
--- a/mkinitramfs 2010-04-04 16:54:03.000000000 +0200
+++ b/mkinitramfs 2010-04-04 17:29:40.000000000 +0200
@@ -11,7 +11,7 @@ errors_to="2>/dev/null"
# BUSYBOXDIR="/usr/lib/initramfs-tools/bin/"
export BUSYBOXDIR="/bin"
-OPTIONS=`getopt -o d:ko:r:v -n "$0" -- "$@"`
+OPTIONS=`getopt -o c:d:ko:r:v -n "$0" -- "$@"`
# Check for non-GNU getopt
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
@@ -20,6 +20,10 @@ eval set -- "$OPTIONS"
while true; do
case "$1" in
+ -c)
+ compress="$2"
+ shift 2
+ ;;
-d)
CONFDIR="$2"
shift 2
@@ -124,8 +128,13 @@ case "${version}" in
esac
# Check userspace and kernel support for compressed initramfs images
-compress=${COMPRESS}
-if command -v ${compress} >/dev/null 2>&1; then
+if [ -z "${compress}" ]; then
+ compress=${COMPRESS}
+else
+ COMPRESS=${compress}
+fi
+
+if ! command -v ${compress} >/dev/null 2>&1; then
compress=gzip
[ "${verbose}" = y ] && \
echo "No ${COMPRESS} in ${PATH}, using gzip"
diff -rup a/mkinitramfs.8 b/mkinitramfs.8
--- a/mkinitramfs.8 2010-04-04 16:54:03.000000000 +0200
+++ b/mkinitramfs.8 2010-04-04 17:23:00.000000000 +0200
@@ -5,6 +5,8 @@ mkinitramfs \- low-level tool for genera
.SH SYNOPSIS
.B mkinitramfs
+.RB [ \-c
+.IR compress ]
.RB [ \-d
.IR confdir ]
.RB [ \-k ]
@@ -45,6 +47,13 @@ happens in this early userspace.
.SH OPTIONS
.TP
+\fB \-c \fI compress
+Override the
+.B COMPRESS
+setting in
+.IR initramfs.conf .
+
+.TP
\fB \-d \fI confdir
Set an alternate configuration directory.
Reply to: