Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
lsinitramfs | 30 ++++++++++++++++++------------
1 file changed, 18 insertions(+), 12 deletions(-)
diff --git a/lsinitramfs b/lsinitramfs
index f66d970..db179ca 100755
--- a/lsinitramfs
+++ b/lsinitramfs
@@ -40,24 +40,30 @@ while true; do
esac
done
+listarchive()
+{
+ archive="$1"
+ if zcat -t "${archive}" >/dev/null 2>&1 ; then
+ zcat "${archive}" | cpio ${cpio_args}
+ elif xzcat -t "${archive}" >/dev/null 2>&1 ; then
+ xzcat "${archive}" | cpio ${cpio_args}
+ elif bzip2 -t "${archive}" >/dev/null 2>&1 ; then
+ bzip2 -c -d "${archive}" | cpio ${cpio_args}
+ elif lzop -t "${archive}" >/dev/null 2>&1 ; then
+ lzop -c -d "${archive}" | cpio ${cpio_args}
+ elif file "$initramfs" 2>/dev/null | grep -q "cpio archive" ; then
+ echo "lsinitramfs does not yet support cpio archive initramfs files." >&2
+ echo "See http://bugs.debian.org/717805 for more information." >&2
+ fi
+}
+
for initramfs in "$@" ; do
if ! [ -r "${initramfs}" ] ; then
echo "Specified file could not be read." >&2
exit 1
else
echo "${initramfs}"
- if zcat -t "${initramfs}" >/dev/null 2>&1 ; then
- zcat "${initramfs}" | cpio ${cpio_args}
- elif xzcat -t "$initramfs" >/dev/null 2>&1 ; then
- xzcat "$initramfs" | cpio ${cpio_args}
- elif bzip2 -t "$initramfs" >/dev/null 2>&1 ; then
- bzip2 -c -d "$initramfs" | cpio ${cpio_args}
- elif lzop -t "$initramfs" >/dev/null 2>&1 ; then
- lzop -c -d "$initramfs" | cpio ${cpio_args}
- elif file "$initramfs" 2>/dev/null | grep -q "cpio archive" ; then
- echo "lsinitramfs does not yet support cpio archive initramfs files." >&2
- echo "See http://bugs.debian.org/717805 for more information." >&2
- fi
+ listarchive "${initramfs}"
fi
done
--
Ben Hutchings
The two most common things in the universe are hydrogen and stupidity.
Attachment:
signature.asc
Description: This is a digitally signed message part