1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
#! /bin/sh
set -e
base=http://wiki.qemu-project.org/download
comp=.bz2
dir() {
if [ -d $1 ]; then
echo removing $1/...
rm -rf $1
fi
}
clean_dfsg() {
# remove only those blobs which does not have packaged source
# remove all other blobs too
rm -vf pc-bios/bios.bin # roms/seabios/
rm -vf pc-bios/bios-256k.bin # roms/seabios/
rm -vf pc-bios/*-dsdt.aml # roms/seabios/
rm -vf pc-bios/ppc_rom.bin # comes from openhackware
rm -vf pc-bios/sgabios.bin # roms/sgabios/
rm -vf pc-bios/slof.bin # roms/SLOF/
rm -vf pc-bios/spapr-rtas.bin # pc-bios/spapr-rtas/
rm -vf pc-bios/vgabios*.bin # roms/vgabios/
rm -vf pc-bios/pxe-*.rom # roms/ipxe/
rm -vf pc-bios/efi-*.rom # roms/ipxe/
rm -vf pc-bios/petalogix*.dtb # source unknown
rm -vf pc-bios/bamboo.dtb # pc-bios/bamboo.dts
rm -vf pc-bios/openbios-* # roms/openbios/
rm -vf pc-bios/palcode-clipper # roms/qemu-palcode/ alpha palcode
rm -vf pc-bios/s390-zipl.rom # s390-tools+addon, git://repo.or.cz/s390-tools.git, debian #684909
rm -vf pc-bios/s390-ccw.img # pc-bios/s390-ccw/
rm -vf pc-bios/kvmvapic.bin
rm -vf pc-bios/linuxboot.bin
rm -vf pc-bios/multiboot.bin
rm -vf pc-bios/u-boot.e500
rm -vf pc-bios/QEMU,*.bin
# remove other software (git submodules)
dir roms/ipxe
dir roms/openbios
dir roms/openhackware
dir roms/qemu-palcode
dir roms/seabios
dir roms/sgabios
dir roms/SLOF
dir roms/vgabios
dir roms/u-boot
dir dtc
dir pixman
find scripts -name '*.pyc' -print -delete
}
case "$#$1" in
1clean | 1dfsg)
if [ -f vl.c -a -f hw/block/block.c -a -d pc-bios ]; then
clean_dfsg
exit 0
fi
echo "apparently not a qemu source dir" >&2; exit 1
;;
1[012].*) ;;
*)
echo "unknown arguments. Should be either 'dfsg' or a version number" >&2
exit 1
;;
esac
deb="${1%-*}" # strip debian revision number
upstream="${deb%+dfsg}"
case "$upstream" in
*~rc*) upstream=$(echo "$upstream" | sed 's/~rc/-rc/') ;;
esac
case "$upstream" in
2.[0-9] | 2.[0-9][!0-9.]* ) # add .0 to a version number
upstream=$(echo "$upstream" | sed 's/^.\../&.0/') ;;
esac
tempdir=qemu-$upstream-tmp
basetar=qemu-$upstream.tar$comp
debtar=qemu_$deb.orig.tar.xz
if [ ! -f $basetar ]; then
echo getting upstream version $upstream ...
wget -Nc $base/$basetar
fi
if [ ! -f $debtar ]; then
echo extracting source in $tempdir and cleaning up ...
rm -rf $tempdir
mkdir $tempdir
cd $tempdir
tar -x -f ../$basetar --strip-components=1
clean_dfsg
echo repacking to $debtar ...
find . -type f -print | sort \
| XZ_OPT="-v6" \
tar -caf ../$debtar -T- --owner=root --group=root --mode=a+rX \
--xform "s/^\\./qemu-$upstream/"
cd ..
rm -rf $tempdir
fi
|