grml2iso: skip --uefi option of isohybrid if ISO doesn't ship /boot/efi.img
[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
126 case "$1" in
127   --no-gpg)
128     echo "Not signing grml2usb.tgz.md5 as requested via --no-gpg."
129     echo "Do not forget to run gpg --clearsign grml2usb.tgz.md5 before uploading."
130     ;;
131   *)
132     gpg --clearsign grml2usb.tgz.md5
133     rm grml2usb.tgz.md5
134     echo "Generated grml2usb.tgz and grml2usb.tgz.md5.asc of grml2usb $VERSION"
135     ;;
136 esac
137
138 ## END OF FILE #################################################################