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 <qianl.fnst@cn.fujitsu.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Qian Lei 2014-12-18 14:01:33 +08:00 committed by Martin Jansa
parent 1bed3fb3eb
commit 538ca692e8
2 changed files with 111 additions and 0 deletions

View File

@ -0,0 +1,61 @@
From fbf7b9e5a8e2978acd5b0a7a8311912a080ee9b9 Mon Sep 17 00:00:00 2001
From: Qian Lei <qianl.fnst@cn.fujitsu.com>
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 <qianl.fnst@cn.fujitsu.com>
---
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

View File

@ -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
}