commit:     514bb9c90fb2641b7af156c4d504185dc10db795
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 10 09:33:24 2020 +0000
Commit:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
CommitDate: Sat Oct 10 09:44:03 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=514bb9c9

sys-apps/apparmor: version bump 3.0.0

Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Michael Palimaka <kensington <AT> gentoo.org>

 sys-apps/apparmor/Manifest                         |  1 +
 sys-apps/apparmor/apparmor-3.0.0.ebuild            | 67 ++++++++++++++++
 .../apparmor/files/apparmor-3.0.0-makefile.patch   | 18 +++++
 sys-apps/apparmor/files/apparmor-init-1            | 88 ++++++++++++++++++++++
 4 files changed, 174 insertions(+)

diff --git a/sys-apps/apparmor/Manifest b/sys-apps/apparmor/Manifest
index 6a8b5e50bbe..89bb054ab20 100644
--- a/sys-apps/apparmor/Manifest
+++ b/sys-apps/apparmor/Manifest
@@ -1 +1,2 @@
 DIST apparmor-2.13.4.tar.gz 7390179 BLAKE2B 
49818a010d5e5757dd43710f2af925fbb62a9f8f9be74556ff31a9a8834bebac010762fc6bef3da8d295e487b65d0e0135f4be25bcb01a834846c5e5d65d92a4
 SHA512 
d42748bf36ae66849f79653a62d499e9d17a97c4d680fb653eb1c379d0593aaa09f7ddfc6f2fa0d2fb468bce05fb25444976f60a5ec24778fdd7ec20d1c13651
+DIST apparmor-3.0.0.tar.gz 7780686 BLAKE2B 
a9d9edb4fd2cb32b3db322a3f145aac7cea40fac3401b82947b2c5183598cc326d70859466823e3ac0a2227483c7ed7ba0b2f727e9fb7fbf532468716ef8d18f
 SHA512 
2465a8bc400e24e548b0589b7b022fb8325c53858429b9c54204f989d5589d7bd99c9507bde88a48f9965a55edcbac98efeeb6b93aeefe6a27afa0b7e851aea6

diff --git a/sys-apps/apparmor/apparmor-3.0.0.ebuild 
b/sys-apps/apparmor/apparmor-3.0.0.ebuild
new file mode 100644
index 00000000000..662a23505d2
--- /dev/null
+++ b/sys-apps/apparmor/apparmor-3.0.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit systemd toolchain-funcs
+
+MY_PV="$(ver_cut 1-2)"
+
+DESCRIPTION="Userspace utils and init scripts for the AppArmor application 
security system"
+HOMEPAGE="https://gitlab.com/apparmor/apparmor/wikis/home";
+SRC_URI="https://launchpad.net/${PN}/${MY_PV}/${MY_PV}/+download/${PN}-${PV}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc"
+
+RESTRICT="test" # bug 675854
+
+RDEPEND="~sys-libs/libapparmor-${PV}"
+DEPEND="${RDEPEND}
+       dev-lang/perl
+       sys-devel/bison
+       sys-devel/gettext
+       sys-devel/flex
+       doc? ( dev-tex/latex2html )
+"
+
+S=${WORKDIR}/apparmor-${PV}/parser
+
+PATCHES=(
+       "${FILESDIR}/${PN}-3.0.0-makefile.patch"
+       "${FILESDIR}/${PN}-2.11.1-dynamic-link.patch"
+)
+
+src_prepare() {
+       default
+
+       # remove warning about missing file that controls features
+       # we don't currently support
+       sed -e "/installation problem/ctrue" -i rc.apparmor.functions || die
+}
+
+src_compile() {
+       emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" USE_SYSTEM=1 arch manpages
+       use doc && emake pdf
+}
+
+src_test() {
+       emake CXX="$(tc-getCXX)" USE_SYSTEM=1 check
+}
+
+src_install() {
+       emake DESTDIR="${D}" DISTRO="unknown" USE_SYSTEM=1 install
+
+       dodir /etc/apparmor.d/disable
+
+       newinitd "${FILESDIR}/${PN}-init-1" ${PN}
+       systemd_newunit "${FILESDIR}/apparmor.service" apparmor.service
+
+       use doc && dodoc techdoc.pdf
+
+       exeinto /usr/share/apparmor
+       doexe "${FILESDIR}/apparmor_load.sh"
+       doexe "${FILESDIR}/apparmor_unload.sh"
+}

diff --git a/sys-apps/apparmor/files/apparmor-3.0.0-makefile.patch 
b/sys-apps/apparmor/files/apparmor-3.0.0-makefile.patch
new file mode 100644
index 00000000000..9c03a4465c3
--- /dev/null
+++ b/sys-apps/apparmor/files/apparmor-3.0.0-makefile.patch
@@ -0,0 +1,18 @@
+* Avoid installing empty /var/lib/apparmor
+* Install rc.apparmor.functions to Gentoo-appropriate location
+
+--- a/Makefile
++++ b/Makefile
+@@ -407,10 +407,10 @@
+ .PHONY: install-indep
+ install-indep: indep
+       install -m 755 -d $(INSTALL_CONFDIR)
++      install -m 755 -d ${DESTDIR}/usr/libexec
+       install -m 644 parser.conf $(INSTALL_CONFDIR)
+-      install -m 755 -d ${DESTDIR}/var/lib/apparmor
+       install -m 755 -d $(APPARMOR_BIN_PREFIX)
+-      install -m 755 rc.apparmor.functions $(APPARMOR_BIN_PREFIX)
++      install -m 755 rc.apparmor.functions ${DESTDIR}/usr/libexec
+       $(MAKE) -C po install NAME=${NAME} DESTDIR=${DESTDIR}
+       $(MAKE) install_manpages DESTDIR=${DESTDIR}
+ 

diff --git a/sys-apps/apparmor/files/apparmor-init-1 
b/sys-apps/apparmor/files/apparmor-init-1
new file mode 100644
index 00000000000..4addaee294b
--- /dev/null
+++ b/sys-apps/apparmor/files/apparmor-init-1
@@ -0,0 +1,88 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Load all configured profiles for the AppArmor security module."
+description_reload="Reload all profiles"
+
+extra_started_commands="reload"
+
+aa_action() {
+       local arg=$1
+       local return
+
+       shift
+       $*
+       return=$?
+
+       if [ ${return} -eq 0 ]; then
+               aa_log_success_msg $arg
+       else
+               aa_log_failure_msg arg
+       fi
+
+       return $return
+}
+
+aa_log_action_start() {
+       ebegin $1
+}
+
+aa_log_action_end() {
+       eend $1
+}
+
+aa_log_success_msg() {
+       einfo $1
+}
+
+aa_log_warning_msg() {
+       ewarn $1
+}
+
+aa_log_failure_msg() {
+       eerror $1
+}
+
+aa_log_skipped_msg() {
+       einfo $1
+}
+
+aa_log_daemon_msg() {
+       einfo $1
+}
+
+aa_log_end_msg() {
+       eend $1
+}
+
+. /usr/libexec/rc.apparmor.functions
+
+start() {
+       ebegin "Starting AppArmor"
+       eindent
+
+       if ! is_apparmor_loaded ; then
+               eerror "AppArmor kernel support is not present"
+               eend 1
+               return 1
+       fi
+
+       parse_profiles load
+
+       eoutdent
+}
+
+stop() {
+       ebegin "Stopping AppArmor"
+       eindent
+       apparmor_stop
+       eoutdent
+}
+
+reload() {
+       # todo: split out clean_profiles into its own function upstream
+       # so we can do parse_profiles reload && clean_profiles
+       # and do a proper reload instead of restart
+       apparmor_restart
+}

Reply via email to