tools/sanitize-deb.sh (view raw)
1#!/bin/sh
2# Clean up the caveats that CPack leaves behind
3BINARY=mgba
4
5rmdep () {
6 local DEP=$1
7 echo Removing dependency $DEP
8 sed -i~ "s/[^, ]*$DEP[^,]*//g" deb-temp/DEBIAN/control
9}
10
11adddep() {
12 local DEP=$1
13 echo Adding dependency $DEP
14 sed -i~ "s/^Depends: /&$DEP,/" deb-temp/DEBIAN/control
15}
16
17while [ $# -gt 0 ]; do
18 DEB=$1
19 dpkg-deb -R $DEB deb-temp
20 PKG=`head -n1 deb-temp/DEBIAN/control | cut -f2 -d ' '`
21 echo Found package $PKG
22
23 case $PKG in
24 *-base)
25 PKG=lib$BINARY
26 rmdep sdl
27 rmdep qt
28 ;;
29 *-qt)
30 PKG=$BINARY-qt
31 rmdep libav
32 rmdep libedit
33 rmdep libpng
34 rmdep libzip
35 rmdep libmagickwand
36 rmdep libswscale
37 rmdep zlib
38 adddep lib$BINARY
39 ;;
40 *-sdl)
41 PKG=$BINARY-sdl
42 rmdep libav
43 rmdep libedit
44 rmdep libpng
45 rmdep qt
46 rmdep libzip
47 rmdep libmagickwand
48 rmdep libswscale
49 rmdep zlib
50 adddep lib$BINARY
51 ;;
52 *)
53 echo Unknown package!
54 esac
55
56 sed -i~ "s/,,*/,/g" deb-temp/DEBIAN/control
57 sed -i~ "s/,$//g" deb-temp/DEBIAN/control
58 sed -i~ "/^[^:]*: $/d" deb-temp/DEBIAN/control
59 sed -i~ "s/^Package: .*$/Package: $PKG/" deb-temp/DEBIAN/control
60 rm deb-temp/DEBIAN/control~
61 chmod 644 deb-temp/DEBIAN/md5sums
62 chown -R root:root deb-temp
63 dpkg-deb -b deb-temp $PKG.deb
64 rm -rf deb-temp
65 shift
66done