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