Switch order of usb <-> path check
[grml2usb.git] / tarball.sh
1 #!/bin/sh
2 # Filename:      tarball.sh
3 # Purpose:       generate tarball for using grml2usb on non-Debian systems
4 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
5 # Bug-Reports:   see http://grml.org/bugs/
6 # License:       This file is licensed under the GPL v2 or any later version.
7 ################################################################################
8
9 set -e
10
11 VERSION="$(awk '/^PROG_VERSION/ { print $3}' grml2usb | tr -d \")"
12
13 DIR="grml2usb-${VERSION}"
14 [ -d "$DIR" ] || mkdir "$DIR"
15
16 cat > "${DIR}"/README << EOF
17 README
18 ------
19
20 grml2usb installs grml ISO(s) on usb device for booting.
21
22 This tarball provides all the necessary files for running grml2usb.
23 Execute the script install.sh with root permissions to install the
24 files provided by the tarball in the filesystem.
25
26 Updating is possible via downloading the most recent tarball and
27 executing install.sh again.
28
29 If you want to remove grml2usb from your system just execute
30 the provided uninstall.sh script with root permissions.
31
32 Note:
33
34 If you are using Debian (or a Debian based system like grml, Ubuntu,...)
35 consider using the provided grml2usb Debian package:
36 http://deb.grml.org/ => http://deb.grml.org/pool/main/g/grml2usb/
37
38 Please report bugs and feedback to Michael Prokop <mika@grml.org>.
39 EOF
40
41 cat > "${DIR}"/install.sh << EOF
42 #!/bin/sh
43
44 set -e
45
46 if [ "\$UID" != 0 ] ; then
47    echo "Error: become root before starting $0" >& 2
48    exit 1
49 fi
50
51 BASE="\$(dirname \$0)"
52
53 printf "Installing files:\n"
54
55 printf "  - /usr/sbin/grml2usb\n"
56 install -m 755 \${BASE}/grml2usb /usr/sbin/grml2usb
57
58 [ -d /usr/share/grml2usb/grub ] || mkdir -p /usr/share/grml2usb/grub
59 printf "  - /usr/share/grml2usb/grub/splash.xpm.gz\n"
60 install -m 644 \${BASE}/splash.xpm.gz /usr/share/grml2usb/grub/splash.xpm.gz
61 printf "  - /usr/share/grml2usb/grub/grml.png\n"
62 install -m 644 \${BASE}/grml.png      /usr/share/grml2usb/grub/grml.png
63
64 [ -d /usr/share/grml2usb/lilo ] || mkdir -p /usr/share/grml2usb/lilo
65 printf "  - /usr/share/grml2usb/lilo/lilo.static.amd64\n"
66 install -m 755 \${BASE}/lilo.static.amd64 /usr/share/grml2usb/lilo/lilo.static.amd64
67 printf "  - /usr/share/grml2usb/lilo/lilo.static.i386\n"
68 install -m 755 \${BASE}/lilo.static.i386  /usr/share/grml2usb/lilo/lilo.static.i386
69
70 [ -d /usr/share/grml2usb/mbr ] || mkdir -p /usr/share/grml2usb/mbr
71 printf "  - /usr/share/grml2usb/mbr/mbrmgr\n"
72 install -m 644 \${BASE}/mbrmgr /usr/share/grml2usb/mbr/mbrmgr
73 printf "  - /usr/share/grml2usb/mbr/mbrldr\n"
74 install -m 644 \${BASE}/mbrldr /usr/share/grml2usb/mbr/mbrldr
75
76 [ -d /usr/share/man/man8/ ] || mkdir -p /usr/share/man/man8
77 printf "  - /usr/share/man/man8/grml2usb.8.gz\n"
78 install -m 644 \${BASE}/grml2usb.8.gz /usr/share/man/man8/grml2usb.8.gz
79
80 printf "Finished installation.\n"
81 EOF
82
83 chmod 755 "${DIR}"/install.sh
84
85 cat > "${DIR}"/uninstall.sh << EOF
86 #!/bin/sh
87
88 set -e
89
90 if [ "\$UID" != 0 ] ; then
91    echo "Error: become root before starting $0" >& 2
92    exit 1
93 fi
94
95 for file in \\
96   /usr/sbin/grml2usb \\
97   /usr/share/grml2usb/grub/splash.xpm.gz \\
98   /usr/share/grml2usb/grub/grml.png \\
99   /usr/share/grml2usb/lilo/lilo.static.amd64 \\
100   /usr/share/grml2usb/lilo/lilo.static.i386 \\
101   /usr/share/grml2usb/mbr/mbrmgr \\
102   /usr/share/grml2usb/mbr/mbrldr \\
103   /usr/share/man/man8/grml2usb.8.gz \\
104 ; do
105   printf "Removing \$file: "
106   rm -f \$file && printf "done\n" || printf "failed\n"
107 done
108 EOF
109
110 chmod 755 "${DIR}"/uninstall.sh
111
112 fakeroot debian/rules build
113
114 # manpage
115 cp grml2usb.8.txt grml2usb-$VERSION/
116 gzip -9 --to-stdout grml2usb-$VERSION/grml2usb.8.txt > grml2usb-$VERSION/grml2usb.8.gz
117 rm grml2usb-$VERSION/grml2usb.8.txt
118
119 # binaries, grub, lilo
120 cp grml2usb mbr/mbrldr mbr/mbrmgr grub/* lilo/lilo.static.* grml2usb-$VERSION/
121
122 tar zcf grml2usb.tgz "${DIR}"
123
124 rm -rf "${DIR}"
125 md5sum grml2usb.tgz > grml2usb.tgz.md5
126 gpg --clearsign grml2usb.tgz.md5
127 rm grml2usb.tgz.md5
128 echo "Generated grml2usb.tgz and grml2usb.tgz.md5.asc of grml2usb $VERSION"
129
130 ## END OF FILE #################################################################