#! /bin/sh
-# Copyright (C) 2008, 2009 Alexandre Oliva <lxoliva@fsfla.org>
+# Copyright (C) 2008, 2009, 2010 Alexandre Oliva <lxoliva@fsfla.org>
# 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
linux-$kver-$libre.tar \
linux-$kver-$libre.patch \
linux-$kver-$libre.log \
+ linux-$kver-$libre.vcdiff \
+ linux-$kver-$libre.vcdiff.asc \
+ linux-$kver-$libre.vcdiff.sign \
linux-$kver-$libre.xdelta \
linux-$kver-$libre.xdelta.asc \
linux-$kver-$libre.xdelta.sign \
echo $d already exists >&2
exit 1
fi
- cleanup="$cleanup $f"
+ cleanup="$cleanup $d"
done
if test -f $dir/deblob-$kver; then
rm -rf linux-$kver linux-$kver.tar
bunzip2 < linux-$kver.tar.bz2 > linux-$kver.tar
-echo Extracing linux-$kver.tar into linux-$kver
+echo Extracting linux-$kver.tar into linux-$kver
tar -xf linux-$kver.tar
rm -rf linux-$kver-$libre linux-$kver-$libre.tar
rm -f linux-$kver-$libre.log linux-$kver-$libre.log.tmp
echo Deblobbing within linux-$kver-$libre, saving output to linux-$kver-$libre.log
-# We can't just pipe deblob into tee, for then we fail to detect
+# We can't just pipe deblob into tee, for then we fail to detect
# error conditions. Use file renaming to tell whether we succeeded.
if (cd linux-$kver-$libre && /bin/sh ../$deblob $force) 2>&1; then
mv linux-$kver-$libre.log.tmp linux-$kver-$libre.log
echo Wiping out extracted trees
rm -rf linux-$kver orig-linux-$kver
+echo Creating vcdiff between linux-$kver.tar and linux-$kver-$libre.tar
+xdelta3 -e -R -s linux-$kver.tar linux-$kver-$libre.tar linux-$kver-$libre.xdelta || : # don't fail if xdelta3 is not present
+
echo Creating xdelta between linux-$kver.tar and linux-$kver-$libre.tar
xdelta delta -0 linux-$kver.tar linux-$kver-$libre.tar linux-$kver-$libre.xdelta || : # xdelta returns nonzero on success
-echo Compressing linux-$kver-$libre.tar and linux-$kver-$libre.xdelta
+echo Compressing linux-$kver-$libre.tar and binary deltas
rm -f linux-$kver.tar
+bzip2 -k9 linux-$kver-$libre.tar
lzip -k9 linux-$kver-$libre.tar
-bzip2 -9 linux-$kver-$libre.tar
+rm -f linux-$kver-$libre.tar
+if test -f linux-$kver-$libre.vcdiff; then
+ bzip2 -k9 linux-$kver-$libre.vcdiff
+ lzip -k9 linux-$kver-$libre.vcdiff
+ rm -f linux-$kver-$libre.vcdiff
+fi
if test -f linux-$kver-$libre.xdelta; then
+ bzip2 -k9 linux-$kver-$libre.xdelta
lzip -k9 linux-$kver-$libre.xdelta
- bzip2 -9 linux-$kver-$libre.xdelta
+ rm -f linux-$kver-$libre.xdelta
fi
trap "status=$?; (exit $status); exit" 0 1 2 15
for f in \
linux-$kver-$libre.tar.bz2 \
linux-$kver-$libre.tar.lz \
+ linux-$kver-$libre.vcdiff.bz2 \
+ linux-$kver-$libre.vcdiff.lz \
linux-$kver-$libre.xdelta.bz2 \
linux-$kver-$libre.xdelta.lz \
; do