summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArmin Kuster <akuster808@gmail.com>2022-06-18 10:31:21 -0700
committerArmin Kuster <akuster808@gmail.com>2022-06-23 18:47:59 -0700
commitfec94e6ce42cb3754f4d6d89cd85102d9e669648 (patch)
tree45cae499cfe7716ba4700cee81db8982765ff01a
parent6dedb1de7017f8c6afa61dacfdfc409dfc6cecad (diff)
downloadmeta-security-fec94e6ce42cb3754f4d6d89cd85102d9e669648.tar.gz
firejail: Add new package
Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--recipes-security/Firejail/firejail/exclude_seccomp_util_compiles.patch45
-rw-r--r--recipes-security/Firejail/firejail_0.9.70.bb61
2 files changed, 106 insertions, 0 deletions
diff --git a/recipes-security/Firejail/firejail/exclude_seccomp_util_compiles.patch b/recipes-security/Firejail/firejail/exclude_seccomp_util_compiles.patch
new file mode 100644
index 0000000..a32720a
--- /dev/null
+++ b/recipes-security/Firejail/firejail/exclude_seccomp_util_compiles.patch
@@ -0,0 +1,45 @@
1Exclude all the seccomp files to run during build.
2
3Upstream-Status: Inappropriate [embedded specific]
4There are some files that need to run to generate the appropriate files
5we are currently doing this on the target.
6Signed-off-by: Armin Kuster <akuster808@gmail.com>
7
8Index: git/Makefile.in
9===================================================================
10--- git.orig/Makefile.in
11+++ git/Makefile.in
12@@ -34,7 +34,6 @@ MYDIRS = src/lib $(MAN_SRC) $(COMPLETION
13 MYLIBS = src/libpostexecseccomp/libpostexecseccomp.so src/libtrace/libtrace.so src/libtracelog/libtracelog.so
14 COMPLETIONS = src/zsh_completion/_firejail src/bash_completion/firejail.bash_completion
15 MANPAGES = firejail.1 firemon.1 firecfg.1 firejail-profile.5 firejail-login.5 firejail-users.5 jailcheck.1
16-SECCOMP_FILTERS = seccomp seccomp.debug seccomp.32 seccomp.block_secondary seccomp.mdwx seccomp.mdwx.32
17 ALL_ITEMS = $(APPS) $(SBOX_APPS) $(SBOX_APPS_NON_DUMPABLE) $(MYLIBS)
18
19 .PHONY: all_items $(ALL_ITEMS)
20@@ -52,7 +51,7 @@ $(MANPAGES): src/man
21
22 man: $(MANPAGES)
23
24-filters: $(SECCOMP_FILTERS) $(SBOX_APPS_NON_DUMPABLE)
25+filters: $(SBOX_APPS_NON_DUMPABLE)
26 seccomp: src/fseccomp/fseccomp src/fsec-optimize/fsec-optimize
27 src/fseccomp/fseccomp default seccomp
28 src/fsec-optimize/fsec-optimize seccomp
29@@ -81,7 +80,6 @@ clean:
30 done
31 $(MAKE) -C test clean
32 rm -f $(MANPAGES) $(MANPAGES:%=%.gz) firejail*.rpm
33- rm -f $(SECCOMP_FILTERS)
34 rm -f test/utils/index.html*
35 rm -f test/utils/wget-log
36 rm -f test/utils/firejail-test-file*
37@@ -119,7 +117,7 @@ endif
38 # libraries and plugins
39 install -m 0755 -d $(DESTDIR)$(libdir)/firejail
40 install -m 0755 -t $(DESTDIR)$(libdir)/firejail src/firecfg/firejail-welcome.sh
41- install -m 0644 -t $(DESTDIR)$(libdir)/firejail $(MYLIBS) $(SECCOMP_FILTERS)
42+ install -m 0644 -t $(DESTDIR)$(libdir)/firejail $(MYLIBS)
43 install -m 0755 -t $(DESTDIR)$(libdir)/firejail $(SBOX_APPS)
44 install -m 0755 -t $(DESTDIR)$(libdir)/firejail src/profstats/profstats
45 # plugins w/o read permission (non-dumpable)
diff --git a/recipes-security/Firejail/firejail_0.9.70.bb b/recipes-security/Firejail/firejail_0.9.70.bb
new file mode 100644
index 0000000..fc9066b
--- /dev/null
+++ b/recipes-security/Firejail/firejail_0.9.70.bb
@@ -0,0 +1,61 @@
1#
2# Copyright 2022 Armin Kuster <akuster808@gmail.com>
3#
4SUMMARY = "Linux namespaces and seccomp-bpf sandbox"
5DESCRIPTION = "Firejail is a SUID sandbox program that reduces the risk of security breaches \
6by restricting the running environment of untrusted applications using Linux namespaces, \
7seccomp-bpf and Linux capabilities."
8
9LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
10LICENSE = "GPL-2.0-only"
11
12SRCREV = "b4b08d21cd95725c9d55dfdb6987fcc6d7893247"
13SRC_URI = "git://github.com/netblue30/firejail.git;protocol=https;branch=master \
14 file://exclude_seccomp_util_compiles.patch \
15 "
16
17DEPENDS = "libseccomp"
18
19S = "${WORKDIR}/git"
20
21inherit autotools-brokensep pkgconfig bash-completion features_check
22
23REQUIRED_DISTRO_FEATURES = "seccomp"
24
25PACKAGECONFIG ?= ""
26PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'apparmor', 'apparmor', '', d)}"
27PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
28PACKAGECONFIG += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
29
30PACKAGECONFIG[apparmor] = "--enable-apparmor, --disable-apparmor, apparmor, apparmor"
31PACKAGECONFIG[selinux] = "--enable-selinux, --disable-selinux, libselinux"
32PACKAGECONFIG[x11] = " --enable-x11, --disable-x11, "
33PACKAGECONFIG[dbusproxy] = ", --disable-dbusproxy, "
34PACKAGECONFIG[notmpfs] = ", --disable-usertmpfs ,"
35PACKAGECONFIG[nofiretunnel] = ", --disable-firetunnel , "
36PACKAGECONFIG[noprivatehome] = ", --disable-private-home, "
37PACKAGECONFIG[nochroot] = ", --disable-chroot, "
38PACKAGECONFIG[nonetwork] = ", --disable-network, "
39PACKAGECONFIG[nouserns] = ", --disable-userns, "
40PACKAGECONFIG[nofiletransfer] = ", --disable-file-transfer, "
41PACKAGECONFIG[nosuid] = ", --disable-suid, "
42
43EXTRA_OECONF = "--disable-man --enable-busybox-workaround"
44
45PACKAGES:append = " ${PN}-vim ${PN}-zsh"
46
47FILES:${PN}-vim = "${datadir}/vim/"
48FILES:${PN}-zsh = "${datadir}/zsh/"
49
50pkg_postinst_ontarget:${PN} () {
51 ${libdir}/${BPN}/fseccomp default ${libdir}/${BPN}/seccomp
52 ${libdir}/${BPN}/fsec-optimize ${libdir}/${BPN}/seccomp
53 ${libdir}/${BPN}/fseccomp default ${libdir}/${BPN}/seccomp.debug allow-debuggers
54 ${libdir}/${BPN}/fsec-optimize ${libdir}/${BPN}/seccomp.debug
55 ${libdir}/${BPN}/fseccomp secondary 32 ${libdir}/${BPN}/seccomp.32
56 ${libdir}/${BPN}/fsec-optimize ${libdir}/${BPN}/seccomp.32
57 ${libdir}/${BPN}/fseccomp secondary block ${libdir}/${BPN}/seccomp.block_secondary
58 ${libdir}/${BPN}/fseccomp memory-deny-write-execute ${libdir}/${BPN}/seccomp.mdwx
59}
60
61RDEPENDS:${PN} = "bash"