X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=deblob-main;h=80c8ba91126665d7df0061d605b063e95f1678f9;hb=8ffa4bd5e69bc232c20e1462ab325fbda0dd0a14;hp=0c903d4012cdf63eda3b338fd3239709cc0ddf39;hpb=98322f0bca31eef64932142e5a3565095a7a1f90;p=releases.git diff --git a/deblob-main b/deblob-main index 0c903d4012cd..80c8ba911266 100755 --- a/deblob-main +++ b/deblob-main @@ -1,6 +1,6 @@ #! /bin/sh -# Copyright (C) 2008-2012 Alexandre Oliva +# Copyright (C) 2008-2017 Alexandre Oliva # This program is part of GNU Linux-libre, a GNU project that # publishes scripts to clean up Linux so as to make it suitable for @@ -74,12 +74,28 @@ case $1 in *) force=;; esac +# We don't want e.g. diff output translations to affect us. +LC_ALL=C; export LC_ALL +LANGUAGE=C; export LANGUAGE + mver=$1 extra=$2 sver=$3 kver=$mver$sver gnu=gnu$extra deblob= dir=`echo "$0" | sed 's,[^/]*$,,;s,^$,.,;s,/*$,,'` -if test ! -f linux-$kver.tar.bz2; then - echo linux-$kver.tar.bz2 does not exist >&2 +if test -f linux-$kver.tar; then + zext=tar zcmd= +elif test -f linux-$kver.tar.bz2; then + zext=tar.bz2 zcmd=bunzip2 +elif test -f linux-$kver.tar.xz; then + zext=tar.xz zcmd=unxz +elif test -f linux-$kver.tar.lz; then + zext=tar.lz zcmd="lzip -d" +elif test -f linux-$kver.tar.gz; then + zext=tar.gz zcmd=gunzip +elif test -f linux-$kver.tgz; then + zext=tgz zcmd=gunzip +else + echo linux-$kver.tar not found, tried .bz2, .xz, .lz, .gz and .tgz too >&2 exit 1 fi @@ -96,7 +112,7 @@ else fi x1="kver=$mver extra=$extra" -x2=`grep "^kver=[^ ]* extra=" $deblob` +x2=`grep "^kver=[^ ]* extra=" $deblob | sed 's, *#.*,,'` if test "$x1" = "$x2"; then : else @@ -118,8 +134,9 @@ for f in \ linux-libre-$kver-$gnu.tar.lz \ linux-libre-$kver-$gnu.tar.lz.asc \ linux-libre-$kver-$gnu.tar.lz.sign \ - linux-$kver.tar \ linux-libre-$kver-$gnu.tar \ + linux-libre-$kver-$gnu.tar.asc \ + linux-libre-$kver-$gnu.tar.sign \ linux-libre-$kver-$gnu.patch \ linux-libre-$kver-$gnu.log \ linux-libre-$kver-$gnu.vcdiff \ @@ -186,15 +203,19 @@ else fi fi -trap "status=$?; echo cleaning up...; rm -rf $cleanup; (exit $status); exit" 0 1 2 15 +trap 'status=$?; echo cleaning up...; rm -rf $cleanup; (exit $status); exit' 0 1 2 15 set -e -echo Uncompressing linux-$kver.tar.bz2 into linux-$kver.tar -rm -rf linux-$kver linux-$kver.tar -bunzip2 < linux-$kver.tar.bz2 > linux-$kver.tar +if test -n "$zcmd"; then + echo Uncompressing linux-$kver.$zext into linux-$kver.tar + rm -rf linux-$kver.tar + cleanup="$cleanup linux-$kver.tar" + $zcmd < linux-$kver.$zext > linux-$kver.tar +fi echo Extracting linux-$kver.tar into linux-$kver +rm -rf linux-$kver tar -xf linux-$kver.tar rm -rf linux-libre-$kver-$gnu linux-libre-$kver-$gnu.tar @@ -250,35 +271,27 @@ xdelta3 -e -9 -S djw -s linux-$kver.tar linux-libre-$kver-$gnu.tar linux-libre-$ echo Creating xdelta between linux-$kver.tar and linux-libre-$kver-$gnu.tar xdelta delta -0 linux-$kver.tar linux-libre-$kver-$gnu.tar linux-libre-$kver-$gnu.xdelta || : # xdelta returns nonzero on success +cleanup="linux-libre-$kver-$gnu.tar linux-libre-$kver-$gnu.xdelta" + echo Compressing binary deltas and linux-libre-$kver-$gnu.tar rm -f linux-$kver.tar -if test -f linux-libre-$kver-$gnu.vcdiff; then - bzip2 -k9 linux-libre-$kver-$gnu.vcdiff - xz -k9 linux-libre-$kver-$gnu.vcdiff || : - lzip -k9 linux-libre-$kver-$gnu.vcdiff || : - rm -f linux-libre-$kver-$gnu.vcdiff -fi if test -f linux-libre-$kver-$gnu.xdelta; then bzip2 -k9 linux-libre-$kver-$gnu.xdelta xz -k9 linux-libre-$kver-$gnu.xdelta || : - lzip -k9 linux-libre-$kver-$gnu.xdelta || : - rm -f linux-libre-$kver-$gnu.xdelta + lzip -k9s64MiB linux-libre-$kver-$gnu.xdelta || : fi bzip2 -k9 linux-libre-$kver-$gnu.tar xz -k9 linux-libre-$kver-$gnu.tar || : -lzip -k9 linux-libre-$kver-$gnu.tar || : -rm -f linux-libre-$kver-$gnu.tar - -trap "status=$?; (exit $status); exit" 0 1 2 15 +lzip -k9s64MiB linux-libre-$kver-$gnu.tar || : echo Done except for signing, feel free to interrupt for f in \ + linux-libre-$kver-$gnu.tar \ linux-libre-$kver-$gnu.tar.bz2 \ linux-libre-$kver-$gnu.tar.xz \ linux-libre-$kver-$gnu.tar.lz \ - linux-libre-$kver-$gnu.vcdiff.bz2 \ - linux-libre-$kver-$gnu.vcdiff.xz \ - linux-libre-$kver-$gnu.vcdiff.lz \ + linux-libre-$kver-$gnu.vcdiff \ + linux-libre-$kver-$gnu.xdelta \ linux-libre-$kver-$gnu.xdelta.bz2 \ linux-libre-$kver-$gnu.xdelta.xz \ linux-libre-$kver-$gnu.xdelta.lz \ @@ -289,6 +302,10 @@ for f in \ fi done +rm -f $cleanup +cleanup= +trap 'status=$?; (exit $status); exit' 0 1 2 15 + echo All set, please review linux-libre-$kver-$gnu.patch exit 0