Search
j0ke.net Open Build Service
>
Projects
>
home:jg
:
playground
>
dracut
> 0266-lsinitrd-update-to-upstream-version.patch
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File 0266-lsinitrd-update-to-upstream-version.patch of Package dracut
From 8cdad31667245b71847925f989ad37af93875ae9 Mon Sep 17 00:00:00 2001 From: Harald Hoyer <harald@redhat.com> Date: Wed, 15 Feb 2012 09:08:23 +0100 Subject: [PATCH] lsinitrd: update to upstream version https://bugzilla.redhat.com/show_bug.cgi?id=752005 --- lsinitrd | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 62 insertions(+), 6 deletions(-) diff --git a/lsinitrd b/lsinitrd index 4221fa8..11e5c7a 100755 --- a/lsinitrd +++ b/lsinitrd @@ -1,11 +1,67 @@ -#!/bin/bash +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh +# +# Copyright 2005-2010 Harald Hoyer <harald@redhat.com> +# Copyright 2005-2010 Red Hat, Inc. All rights reserved. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# -[[ $# -eq 1 ]] || { echo "Usage: $(basename $0) <initramfs file>" ; exit 1 ; } -[[ -f $1 ]] || { echo "$1 does not exist" ; exit 1 ; } +[[ $# -le 2 ]] || { echo "Usage: $(basename $0) [-s] [<initramfs file> [<filename>]]" ; exit 1 ; } -echo "$1:" +sorted=0 +while getopts "s" opt; do + case $opt in + s) sorted=1;; + \?) exit 1;; + esac +done +shift $((OPTIND-1)) + +image="${1:-/boot/initramfs-$(uname -r).img}" +[[ -f "$image" ]] || { echo "$image does not exist" ; exit 1 ; } + +CAT=zcat +FILE_T=$(file "$image") + +if echo "test"|xz|xz -dc --single-stream >/dev/null 2>&1; then + XZ_SINGLE_STREAM="--single-stream" +fi + +if [[ "$FILE_T" =~ ": gzip compressed data" ]]; then + CAT=zcat +elif [[ "$FILE_T" =~ ": xz compressed data" ]]; then + CAT="xzcat $XZ_SINGLE_STREAM" +elif [[ "$FILE_T" =~ ": XZ compressed data" ]]; then + CAT="xzcat $XZ_SINGLE_STREAM" +elif [[ "$FILE_T" =~ ": data" ]]; then + CAT=lzcat +fi + +if [[ $# -eq 2 ]]; then + $CAT $image | cpio --extract --verbose --quiet --to-stdout ${2#/} 2>/dev/null + exit $? +fi + +echo "$image: $(du -h $image | awk '{print $1}')" echo "========================================================================" -zcat $1 | cpio --extract --verbose --quiet --to-stdout 'dracut-*' 2>/dev/null +$CAT "$image" | cpio --extract --verbose --quiet --to-stdout 'lib/dracut/dracut-*' 2>/dev/null echo "========================================================================" -zcat $1 | cpio --extract --verbose --quiet --list +if [ "$sorted" -eq 1 ]; then + $CAT "$image" | cpio --extract --verbose --quiet --list | sort -n -k5 +else + $CAT "$image" | cpio --extract --verbose --quiet --list +fi echo "========================================================================" -- 1.8.3.1