From 538ca692e824fe36bf60de1a476ce748072b5f89 Mon Sep 17 00:00:00 2001 From: Qian Lei Date: Thu, 18 Dec 2014 14:01:33 +0800 Subject: gradm: Add new recipe gradm is the userspace RBAC parsing and authentication program for grsecurity. grsecurity aims to be a complete security system. gradm performs several tasks for the RBAC system including authenticated via a password to the kernel and parsing rules to be passed to the kernel. Signed-off-by: Qian Lei Signed-off-by: Martin Jansa --- .../gradm/gradm/0001-Makefile-remove-strip.patch | 61 ++++++++++++++++++++++ meta-oe/recipes-support/gradm/gradm_3.0.bb | 50 ++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch create mode 100644 meta-oe/recipes-support/gradm/gradm_3.0.bb diff --git a/meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch b/meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch new file mode 100644 index 0000000000..f0c697c7b5 --- /dev/null +++ b/meta-oe/recipes-support/gradm/gradm/0001-Makefile-remove-strip.patch @@ -0,0 +1,61 @@ +From fbf7b9e5a8e2978acd5b0a7a8311912a080ee9b9 Mon Sep 17 00:00:00 2001 +From: Qian Lei +Date: Thu, 18 Dec 2014 11:09:01 +0800 +Subject: [PATCH] Makefile: remove strip + +Avoid QA error by removing strip from Makefile + +[...] +ERROR: QA Issue: File '/sbin/gradm' from gradm was already stripped, +this will prevent future debugging! [already-stripped] +ERROR: QA Issue: File '/sbin/grlearn' from gradm was already stripped, +this will prevent future debugging! [already-stripped] +[...] + +Upstream-Status: Pending + +Signed-off-by: Qian Lei + +--- + Makefile | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/Makefile b/Makefile +index 6c33fee..3570a4e 100644 +--- a/Makefile ++++ b/Makefile +@@ -24,7 +24,6 @@ MKNOD=/bin/mknod + #CC=/usr/bin/diet /usr/bin/gcc + CC=/usr/bin/gcc + FIND=/usr/bin/find +-STRIP=/usr/bin/strip + LIBS := $(shell if [ "`uname -m`" != "sparc64" -a "`uname -m`" != "x86_64" ]; then echo "-lfl" ; else echo "" ; fi) + OPT_FLAGS := -O2 + # for older versions of grsecurity, comment the above line and uncomment the below: +@@ -140,15 +139,12 @@ install: $(GRADM_BIN) gradm.8 policy grlearn + @mkdir -p $(DESTDIR)/sbin + @echo "Installing gradm..." + @$(INSTALL) -m 0755 $(GRADM_BIN) $(DESTDIR)/sbin +- @$(STRIP) $(DESTDIR)/sbin/$(GRADM_BIN) + @if [ -f $(GRADM_PAM) ] ; then \ + echo "Installing gradm_pam..." ; \ + $(INSTALL) -m 4755 $(GRADM_PAM) $(DESTDIR)/sbin ; \ +- $(STRIP) $(DESTDIR)/sbin/$(GRADM_PAM) ; \ + fi + @echo "Installing grlearn..." + @$(INSTALL) -m 0700 grlearn $(DESTDIR)/sbin +- @$(STRIP) $(DESTDIR)/sbin/grlearn + @mkdir -p -m 700 $(DESTDIR)$(GRSEC_DIR) + @if [ ! -f $(DESTDIR)$(GRSEC_DIR)/policy ] ; then \ + if [ -f $(DESTDIR)$(GRSEC_DIR)/acl ] ; then \ +@@ -168,6 +164,7 @@ install: $(GRADM_BIN) gradm.8 policy grlearn + $(MKNOD) -m 0622 $(DESTDIR)/dev/grsec c 1 13 ; \ + fi \ + fi ++ @mkdir -p $(DESTDIR)/etc/udev/rules.d + @if [ -d $(DESTDIR)/etc/udev/rules.d ] ; then \ + echo "ACTION!=\"add|change\", GOTO=\"permissions_end\"" > $(DESTDIR)/etc/udev/rules.d/80-grsec.rules ; \ + echo "KERNEL==\"grsec\", MODE=\"0622\"" >> $(DESTDIR)/etc/udev/rules.d/80-grsec.rules ; \ +-- +1.8.3.1 + diff --git a/meta-oe/recipes-support/gradm/gradm_3.0.bb b/meta-oe/recipes-support/gradm/gradm_3.0.bb new file mode 100644 index 0000000000..2f1d39d996 --- /dev/null +++ b/meta-oe/recipes-support/gradm/gradm_3.0.bb @@ -0,0 +1,50 @@ +SUMMARY = "Administration program for the grsecurity RBAC syste" +DESCRIPTION = "\ +gradm is the userspace RBAC parsing and authentication program for \ +grsecurity grsecurity aims to be a complete security system. gradm \ +performs several tasks for the RBAC system including authenticated \ +via a password to the kernel and parsing rules to be passed to the \ +kernel" +HOMEPAGE = "http://grsecurity.net/index.php" +SECTION = "admin" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4641e94ec96f98fabc56ff9cc48be14b" +DEPENDS = "flex-native bison-native ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" + +SRC_URI = "http://grsecurity.net/stable/${BP}-201408301734.tar.gz \ + file://0001-Makefile-remove-strip.patch" +SRC_URI[md5sum] = "79ec912e6544c5e58753f658623763f9" +SRC_URI[sha256sum] = "b190e5afecdf3ac5020a4e5e4b698645f1c01b20d036129dd8b609c4bd0c319c" + +S = "${WORKDIR}/gradm" + +inherit autotools-brokensep + +do_compile() { + oe_runmake 'CC=${CC}' \ + 'OPT_FLAGS=${CFLAGS}' \ + 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \ + 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \ + 'BISON=${STAGING_BINDIR_NATIVE}/bison' \ + ${@base_contains('DISTRO_FEATURES', 'pam', ' ', 'nopam', d)} +} + +do_install() { + oe_runmake 'CC=${CC}' \ + 'DESTDIR=${D}' \ + 'LLEX=${STAGING_BINDIR_NATIVE}/lex' \ + 'FLEX=${STAGING_BINDIR_NATIVE}/flex' \ + 'BISON=${STAGING_BINDIR_NATIVE}/bison' \ + install + + # The device nodes are generated by postinstall or udev + rm -rf ${D}/dev +} + +pkg_postinst_${PN}() { + # make sure running on the target + if [ x"$D" != "x" ]; then + exit 1 + fi + /bin/mknod -m 0622 /dev/grsec c 1 13 +} -- cgit 1.2.3-korg