aboutsummaryrefslogtreecommitdiffstats
path: root/mkdeb.sh
diff options
context:
space:
mode:
Diffstat (limited to 'mkdeb.sh')
-rwxr-xr-xmkdeb.sh61
1 files changed, 61 insertions, 0 deletions
diff --git a/mkdeb.sh b/mkdeb.sh
new file mode 100755
index 000000000..a98261ba6
--- /dev/null
+++ b/mkdeb.sh
@@ -0,0 +1,61 @@
1#!/bin/sh
2# This file is part of Firejail project
3# Copyright (C) 2014-2022 Firejail Authors
4# License GPL v2
5
6# based on http://tldp.org/HOWTO/html_single/Debian-Binary-Package-Building-HOWTO/
7# a code archive should already be available
8
9set -e
10
11. "$(dirname "$0")/config.sh"
12
13EXTRA_VERSION=$1
14
15test "$#" -gt 0 && shift
16
17CODE_ARCHIVE="$NAME-$VERSION.tar.xz"
18CODE_DIR="$NAME-$VERSION"
19INSTALL_DIR="${INSTALL_DIR}${CODE_DIR}/debian"
20DEBIAN_CTRL_DIR="${DEBIAN_CTRL_DIR}${CODE_DIR}/debian/DEBIAN"
21
22echo "*****************************************"
23echo "code archive: $CODE_ARCHIVE"
24echo "code directory: $CODE_DIR"
25echo "install directory: $INSTALL_DIR"
26echo "debian control directory: $DEBIAN_CTRL_DIR"
27echo "*****************************************"
28
29tar -xJvf "$CODE_ARCHIVE"
30#mkdir -p "$INSTALL_DIR"
31cd "$CODE_DIR"
32./configure --prefix=/usr "$@"
33make -j2
34mkdir debian
35DESTDIR=debian make install-strip
36
37cd ..
38echo "*****************************************"
39SIZE="$(du -s "$INSTALL_DIR")"
40echo "install size $SIZE"
41echo "*****************************************"
42
43mv "$INSTALL_DIR/usr/share/doc/firejail/RELNOTES" "$INSTALL_DIR/usr/share/doc/firejail/changelog.Debian"
44gzip -9 -n "$INSTALL_DIR/usr/share/doc/firejail/changelog.Debian"
45rm "$INSTALL_DIR/usr/share/doc/firejail/COPYING"
46install -m644 "$CODE_DIR/platform/debian/copyright" "$INSTALL_DIR/usr/share/doc/firejail/."
47mkdir -p "$DEBIAN_CTRL_DIR"
48sed "s/FIREJAILVER/$VERSION/g" "$CODE_DIR/platform/debian/control.$(dpkg-architecture -qDEB_HOST_ARCH)" > "$DEBIAN_CTRL_DIR/control"
49
50mkdir -p "$INSTALL_DIR/usr/share/lintian/overrides/"
51install -m644 "$CODE_DIR/platform/debian/firejail.lintian-overrides" "$INSTALL_DIR/usr/share/lintian/overrides/firejail"
52
53find "$INSTALL_DIR/etc" -type f | sed "s,^$INSTALL_DIR,," | LC_ALL=C sort > "$DEBIAN_CTRL_DIR/conffiles"
54chmod 644 "$DEBIAN_CTRL_DIR/conffiles"
55find "$INSTALL_DIR" -type d -exec chmod 755 '{}' +
56cd "$CODE_DIR"
57fakeroot dpkg-deb --build debian
58lintian --no-tag-display-limit debian.deb
59mv debian.deb "../firejail_${VERSION}${EXTRA_VERSION}_1_$(dpkg-architecture -qDEB_HOST_ARCH).deb"
60cd ..
61rm -fr "$CODE_DIR"