aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Topi Miettinen <toiwoton@gmail.com>2020-05-13 13:07:07 +0300
committerLibravatar Topi Miettinen <topimiettinen@users.noreply.github.com>2020-05-14 13:10:14 +0000
commit87e7b313997b1d2be6553cfb22fef71b74c84ea6 (patch)
treecf1fc8d97a0f414a589043a0664d427b0009d997
parentadd new profile: plv (#3410) (diff)
downloadfirejail-87e7b3139.tar.gz
firejail-87e7b3139.tar.zst
firejail-87e7b3139.zip
Configure Debian package with AA and SELinux options
Configure Debian package with AA and SELinux options if they are enabled.
-rw-r--r--.gitignore1
-rw-r--r--Makefile.in6
-rwxr-xr-xconfigure8
-rw-r--r--configure.ac1
-rwxr-xr-xmkdeb.sh56
-rwxr-xr-xmkdeb.sh.in (renamed from mkdeb-apparmor.sh)24
6 files changed, 32 insertions, 64 deletions
diff --git a/.gitignore b/.gitignore
index 39380446b..70ced1a99 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,7 @@ firejail-users.5
19firejail.1 19firejail.1
20firemon.1 20firemon.1
21firecfg.1 21firecfg.1
22mkdeb.sh
22src/firejail/firejail 23src/firejail/firejail
23src/firemon/firemon 24src/firemon/firemon
24src/firecfg/firecfg 25src/firecfg/firecfg
diff --git a/Makefile.in b/Makefile.in
index 0da33544c..e811758e6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -183,7 +183,7 @@ uninstall:
183 rm -f $(DESTDIR)/$(datarootdir)/bash-completion/completions/firecfg 183 rm -f $(DESTDIR)/$(datarootdir)/bash-completion/completions/firecfg
184 @echo "If you want to install a different version of firejail, you might also need to run 'rm -fr $(DESTDIR)/$(sysconfdir)/firejail', see #2038." 184 @echo "If you want to install a different version of firejail, you might also need to run 'rm -fr $(DESTDIR)/$(sysconfdir)/firejail', see #2038."
185 185
186DISTFILES = "src etc m4 platform contrib configure configure.ac Makefile.in install.sh mkman.sh mketc.sh mkdeb.sh mkdeb-apparmor.sh COPYING README RELNOTES" 186DISTFILES = "src etc m4 platform contrib configure configure.ac Makefile.in install.sh mkman.sh mketc.sh mkdeb.sh.in COPYING README RELNOTES"
187DISTFILES_TEST = "test/apps test/apps-x11 test/apps-x11-xorg test/root test/fcopy test/environment test/profiles test/utils test/compile test/filters test/network test/arguments test/fs test/sysutils test/chroot" 187DISTFILES_TEST = "test/apps test/apps-x11 test/apps-x11-xorg test/root test/fcopy test/environment test/profiles test/utils test/compile test/filters test/network test/arguments test/fs test/sysutils test/chroot"
188 188
189dist: 189dist:
@@ -202,10 +202,10 @@ dist:
202asc:; ./mkasc.sh $(VERSION) 202asc:; ./mkasc.sh $(VERSION)
203 203
204deb: dist 204deb: dist
205 ./mkdeb.sh $(NAME) $(VERSION) 205 ./mkdeb.sh
206 206
207deb-apparmor: dist 207deb-apparmor: dist
208 ./mkdeb-apparmor.sh $(NAME) $(VERSION) 208 ./mkdeb.sh -apparmor
209 209
210test-compile: dist 210test-compile: dist
211 cd test/compile; ./compile.sh $(NAME)-$(VERSION) 211 cd test/compile; ./compile.sh $(NAME)-$(VERSION)
diff --git a/configure b/configure
index f587bb25e..12881fcaf 100755
--- a/configure
+++ b/configure
@@ -4186,6 +4186,8 @@ if test "$prefix" = /usr; then
4186 test "$sysconfdir" = '${prefix}/etc' && sysconfdir="/etc" 4186 test "$sysconfdir" = '${prefix}/etc' && sysconfdir="/etc"
4187fi 4187fi
4188 4188
4189ac_config_files="$ac_config_files mkdeb.sh"
4190
4189ac_config_files="$ac_config_files Makefile src/common.mk src/lib/Makefile src/fcopy/Makefile src/fnet/Makefile src/firejail/Makefile src/fnetfilter/Makefile src/firemon/Makefile src/libtrace/Makefile src/libtracelog/Makefile src/firecfg/Makefile src/fbuilder/Makefile src/fsec-print/Makefile src/ftee/Makefile src/faudit/Makefile src/fseccomp/Makefile src/fldd/Makefile src/libpostexecseccomp/Makefile src/fsec-optimize/Makefile src/profstats/Makefile" 4191ac_config_files="$ac_config_files Makefile src/common.mk src/lib/Makefile src/fcopy/Makefile src/fnet/Makefile src/firejail/Makefile src/fnetfilter/Makefile src/firemon/Makefile src/libtrace/Makefile src/libtracelog/Makefile src/firecfg/Makefile src/fbuilder/Makefile src/fsec-print/Makefile src/ftee/Makefile src/faudit/Makefile src/fseccomp/Makefile src/fldd/Makefile src/libpostexecseccomp/Makefile src/fsec-optimize/Makefile src/profstats/Makefile"
4190 4192
4191cat >confcache <<\_ACEOF 4193cat >confcache <<\_ACEOF
@@ -4895,6 +4897,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
4895for ac_config_target in $ac_config_targets 4897for ac_config_target in $ac_config_targets
4896do 4898do
4897 case $ac_config_target in 4899 case $ac_config_target in
4900 "mkdeb.sh") CONFIG_FILES="$CONFIG_FILES mkdeb.sh" ;;
4898 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; 4901 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
4899 "src/common.mk") CONFIG_FILES="$CONFIG_FILES src/common.mk" ;; 4902 "src/common.mk") CONFIG_FILES="$CONFIG_FILES src/common.mk" ;;
4900 "src/lib/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/Makefile" ;; 4903 "src/lib/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/Makefile" ;;
@@ -5333,6 +5336,11 @@ which seems to be undefined. Please make sure it is defined" >&2;}
5333 5336
5334 esac 5337 esac
5335 5338
5339
5340 case $ac_file$ac_mode in
5341 "mkdeb.sh":F) chmod +x mkdeb.sh ;;
5342
5343 esac
5336done # for ac_tag 5344done # for ac_tag
5337 5345
5338 5346
diff --git a/configure.ac b/configure.ac
index 8cf170c80..feb0b38a6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -204,6 +204,7 @@ if test "$prefix" = /usr; then
204 test "$sysconfdir" = '${prefix}/etc' && sysconfdir="/etc" 204 test "$sysconfdir" = '${prefix}/etc' && sysconfdir="/etc"
205fi 205fi
206 206
207AC_CONFIG_FILES([mkdeb.sh], [chmod +x mkdeb.sh])
207AC_OUTPUT(Makefile src/common.mk src/lib/Makefile src/fcopy/Makefile src/fnet/Makefile src/firejail/Makefile src/fnetfilter/Makefile \ 208AC_OUTPUT(Makefile src/common.mk src/lib/Makefile src/fcopy/Makefile src/fnet/Makefile src/firejail/Makefile src/fnetfilter/Makefile \
208src/firemon/Makefile src/libtrace/Makefile src/libtracelog/Makefile src/firecfg/Makefile src/fbuilder/Makefile src/fsec-print/Makefile \ 209src/firemon/Makefile src/libtrace/Makefile src/libtracelog/Makefile src/firecfg/Makefile src/fbuilder/Makefile src/fsec-print/Makefile \
209src/ftee/Makefile src/faudit/Makefile src/fseccomp/Makefile src/fldd/Makefile src/libpostexecseccomp/Makefile src/fsec-optimize/Makefile \ 210src/ftee/Makefile src/faudit/Makefile src/fseccomp/Makefile src/fldd/Makefile src/libpostexecseccomp/Makefile src/fsec-optimize/Makefile \
diff --git a/mkdeb.sh b/mkdeb.sh
deleted file mode 100755
index dd784eb8a..000000000
--- a/mkdeb.sh
+++ /dev/null
@@ -1,56 +0,0 @@
1#!/bin/sh
2# This file is part of Firejail project
3# Copyright (C) 2014-2020 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
11TOP=`pwd`
12CODE_ARCHIVE="$1-$2.tar.xz"
13CODE_DIR="$1-$2"
14INSTALL_DIR="${INSTALL_DIR}${CODE_DIR}/debian"
15DEBIAN_CTRL_DIR="${DEBIAN_CTRL_DIR}${CODE_DIR}/debian/DEBIAN"
16
17echo "*****************************************"
18echo "code archive: $CODE_ARCHIVE"
19echo "code directory: $CODE_DIR"
20echo "install directory: $INSTALL_DIR"
21echo "debian control directory: $DEBIAN_CTRL_DIR"
22echo "*****************************************"
23
24tar -xJvf $CODE_ARCHIVE
25#mkdir -p $INSTALL_DIR
26cd $CODE_DIR
27./configure --prefix=/usr
28make -j2
29mkdir debian
30DESTDIR=debian make install-strip
31
32cd ..
33echo "*****************************************"
34SIZE=`du -s $INSTALL_DIR`
35echo "install size $SIZE"
36echo "*****************************************"
37
38mv $INSTALL_DIR/usr/share/doc/firejail/RELNOTES $INSTALL_DIR/usr/share/doc/firejail/changelog.Debian
39gzip -9 -n $INSTALL_DIR/usr/share/doc/firejail/changelog.Debian
40rm $INSTALL_DIR/usr/share/doc/firejail/COPYING
41install -m644 platform/debian/copyright $INSTALL_DIR/usr/share/doc/firejail/.
42mkdir -p $DEBIAN_CTRL_DIR
43sed "s/FIREJAILVER/$2/g" platform/debian/control.$(dpkg-architecture -qDEB_HOST_ARCH) > $DEBIAN_CTRL_DIR/control
44
45mkdir -p $INSTALL_DIR/usr/share/lintian/overrides/
46install -m644 platform/debian/firejail.lintian-overrides $INSTALL_DIR/usr/share/lintian/overrides/firejail
47
48find $INSTALL_DIR/etc -type f | sed "s,^$INSTALL_DIR,," | LC_ALL=C sort > $DEBIAN_CTRL_DIR/conffiles
49chmod 644 $DEBIAN_CTRL_DIR/conffiles
50find $INSTALL_DIR -type d | xargs chmod 755
51cd $CODE_DIR
52fakeroot dpkg-deb --build debian
53lintian debian.deb
54mv debian.deb ../firejail_$2_1_$(dpkg-architecture -qDEB_HOST_ARCH).deb
55cd ..
56rm -fr $CODE_DIR
diff --git a/mkdeb-apparmor.sh b/mkdeb.sh.in
index 3c560179c..efb477920 100755
--- a/mkdeb-apparmor.sh
+++ b/mkdeb.sh.in
@@ -7,10 +7,24 @@
7# a code archive should already be available 7# a code archive should already be available
8 8
9set -e 9set -e
10NAME=@PACKAGE_NAME@
11VERSION=@PACKAGE_VERSION@
12PACKAGE_TARNAME=@PACKAGE_TARNAME@
13HAVE_APPARMOR=@HAVE_APPARMOR@
14HAVE_SELINUX=@HAVE_SELINUX@
15EXTRA_VERSION=$1
16
17CONFIG_ARGS="--prefix=/usr"
18if [ -n "$HAVE_APPARMOR" ]; then
19 CONFIG_ARGS="$CONFIG_ARGS --enable-apparmor"
20fi
21if [ -n "$HAVE_SELINUX" ]; then
22 CONFIG_ARGS="$CONFIG_ARGS --enable-selinux"
23fi
10 24
11TOP=`pwd` 25TOP=`pwd`
12CODE_ARCHIVE="$1-$2.tar.xz" 26CODE_ARCHIVE="$NAME-$VERSION.tar.xz"
13CODE_DIR="$1-$2" 27CODE_DIR="$NAME-$VERSION"
14INSTALL_DIR="${INSTALL_DIR}${CODE_DIR}/debian" 28INSTALL_DIR="${INSTALL_DIR}${CODE_DIR}/debian"
15DEBIAN_CTRL_DIR="${DEBIAN_CTRL_DIR}${CODE_DIR}/debian/DEBIAN" 29DEBIAN_CTRL_DIR="${DEBIAN_CTRL_DIR}${CODE_DIR}/debian/DEBIAN"
16 30
@@ -24,7 +38,7 @@ echo "*****************************************"
24tar -xJvf $CODE_ARCHIVE 38tar -xJvf $CODE_ARCHIVE
25#mkdir -p $INSTALL_DIR 39#mkdir -p $INSTALL_DIR
26cd $CODE_DIR 40cd $CODE_DIR
27./configure --prefix=/usr --enable-apparmor 41./configure $CONFIG_ARGS
28make -j2 42make -j2
29mkdir debian 43mkdir debian
30DESTDIR=debian make install-strip 44DESTDIR=debian make install-strip
@@ -40,7 +54,7 @@ gzip -9 -n $INSTALL_DIR/usr/share/doc/firejail/changelog.Debian
40rm $INSTALL_DIR/usr/share/doc/firejail/COPYING 54rm $INSTALL_DIR/usr/share/doc/firejail/COPYING
41install -m644 platform/debian/copyright $INSTALL_DIR/usr/share/doc/firejail/. 55install -m644 platform/debian/copyright $INSTALL_DIR/usr/share/doc/firejail/.
42mkdir -p $DEBIAN_CTRL_DIR 56mkdir -p $DEBIAN_CTRL_DIR
43sed "s/FIREJAILVER/$2/g" platform/debian/control.$(dpkg-architecture -qDEB_HOST_ARCH) > $DEBIAN_CTRL_DIR/control 57sed "s/FIREJAILVER/$VERSION/g" platform/debian/control.$(dpkg-architecture -qDEB_HOST_ARCH) > $DEBIAN_CTRL_DIR/control
44 58
45mkdir -p $INSTALL_DIR/usr/share/lintian/overrides/ 59mkdir -p $INSTALL_DIR/usr/share/lintian/overrides/
46install -m644 platform/debian/firejail.lintian-overrides $INSTALL_DIR/usr/share/lintian/overrides/firejail 60install -m644 platform/debian/firejail.lintian-overrides $INSTALL_DIR/usr/share/lintian/overrides/firejail
@@ -51,6 +65,6 @@ find $INSTALL_DIR -type d | xargs chmod 755
51cd $CODE_DIR 65cd $CODE_DIR
52fakeroot dpkg-deb --build debian 66fakeroot dpkg-deb --build debian
53lintian debian.deb 67lintian debian.deb
54mv debian.deb ../firejail-apparmor_$2_1_$(dpkg-architecture -qDEB_HOST_ARCH).deb 68mv debian.deb ../firejail_${VERSION}${EXTRA_VERSION}_1_$(dpkg-architecture -qDEB_HOST_ARCH).deb
55cd .. 69cd ..
56rm -fr $CODE_DIR 70rm -fr $CODE_DIR