From patchwork Wed Sep 4 23:09:43 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Clayton Shotwell X-Patchwork-Id: 272751 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from silver.osuosl.org (silver.osuosl.org [140.211.166.136]) by ozlabs.org (Postfix) with ESMTP id DACB62C00B7 for ; Thu, 5 Sep 2013 09:11:05 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 5E960328D9; Wed, 4 Sep 2013 23:10:55 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JZjz1RzI1p19; Wed, 4 Sep 2013 23:10:49 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id 3545B328F4; Wed, 4 Sep 2013 23:10:25 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id C5D1A1C1EF4 for ; Wed, 4 Sep 2013 23:10:23 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id C01D18C6C4 for ; Wed, 4 Sep 2013 23:10:23 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3Ir9TFyRCUO2 for ; Wed, 4 Sep 2013 23:10:21 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from secvs01.rockwellcollins.com (secvs01.rockwellcollins.com [205.175.225.240]) by whitealder.osuosl.org (Postfix) with ESMTPS id A0F148C64A for ; Wed, 4 Sep 2013 23:10:21 +0000 (UTC) Received: from nosuchhost.198.131.in-addr.arpa (HELO collinscrsmtp01.rockwellcollins.com) ([131.198.63.132]) by mail-virt.rockwellcollins.com with ESMTP; 04 Sep 2013 18:10:19 -0500 Received: from nyx ([131.198.63.11]) by collinscrsmtp01.rockwellcollins.com (Lotus Domino Release 8.5.2FP2 HF162) with ESMTP id 2013090418101943-1724712 ; Wed, 4 Sep 2013 18:10:19 -0500 From: Clayton Shotwell To: buildroot@busybox.net Date: Wed, 4 Sep 2013 18:09:43 -0500 Message-Id: <1378336196-27403-5-git-send-email-clshotwe@rockwellcollins.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1378336196-27403-1-git-send-email-clshotwe@rockwellcollins.com> References: <1378336196-27403-1-git-send-email-clshotwe@rockwellcollins.com> X-MIMETrack: Itemize by SMTP Server on CollinsCRSMTP01/CedarRapids/Collins/Rockwell(Release 8.5.2FP2 HF162|May 16, 2011) at 09/04/2013 06:10:19 PM, Serialize by Router on CollinsCRSMTP01/CedarRapids/Collins/Rockwell(Release 8.5.2FP2 HF162|May 16, 2011) at 09/04/2013 06:10:19 PM, Serialize complete at 09/04/2013 06:10:19 PM X-TNEFEvaluated: 1 Cc: Clayton Shotwell Subject: [Buildroot] [PATCH 04/17] libsemanage: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net Signed-off-by: Clayton Shotwell --- package/Config.in | 1 + package/libsemanage/Config.in | 21 ++++ .../libsemanage-2.1.10-execptionLibPathFix.patch | 10 ++ package/libsemanage/libsemanage.mk | 113 ++++++++++++++++++++ 4 files changed, 145 insertions(+), 0 deletions(-) create mode 100644 package/libsemanage/Config.in create mode 100644 package/libsemanage/libsemanage-2.1.10-execptionLibPathFix.patch create mode 100644 package/libsemanage/libsemanage.mk diff --git a/package/Config.in b/package/Config.in index fa70e84..b6b3cec 100644 --- a/package/Config.in +++ b/package/Config.in @@ -900,6 +900,7 @@ endmenu menu "Security" source "package/libsepol/Config.in" source "package/libselinux/Config.in" +source "package/libsemanage/Config.in" endmenu menu "System tools" diff --git a/package/libsemanage/Config.in b/package/libsemanage/Config.in new file mode 100644 index 0000000..d4a9868 --- /dev/null +++ b/package/libsemanage/Config.in @@ -0,0 +1,21 @@ +config BR2_PACKAGE_LIBSEMANAGE + bool "libsemanage" + help + libsemanage is the policy management library. It uses libsepol for binary + policy manipulation and libselinux for interacting with the SELinux + system. It also exec's helper programs for loading policy and for checking + whether the file_contexts configuration is valid (load_policy and + setfiles from policycoreutils) presently, although this may change at + least for the bootstrapping case (for rpm). + + http://selinuxproject.org/page/Main_Page + +if BR2_PACKAGE_LIBSEMANAGE + +config BR2_PACKAGE_LIBSEMANAGE_PYTHON_BINDINGS + select BR2_PACKAGE_PYTHON + bool "python bindings" + help + enable building python bindings + +endif diff --git a/package/libsemanage/libsemanage-2.1.10-execptionLibPathFix.patch b/package/libsemanage/libsemanage-2.1.10-execptionLibPathFix.patch new file mode 100644 index 0000000..3972a79 --- /dev/null +++ b/package/libsemanage/libsemanage-2.1.10-execptionLibPathFix.patch @@ -0,0 +1,10 @@ +--- a/src/exception.sh 2011-12-21 11:46:04.000000000 -0600 ++++ b/src/exception.sh 2012-08-27 11:29:58.000000000 -0500 +@@ -9,6 +9,6 @@ + } + " + } +-gcc -x c -c - -aux-info temp.aux < ../include/semanage/semanage.h ++gcc -x c -c - -aux-info temp.aux -I../include < ../include/semanage/semanage.h + for i in `awk '/extern int/ { print $6 }' temp.aux`; do except $i ; done + rm -f -- temp.aux -.o diff --git a/package/libsemanage/libsemanage.mk b/package/libsemanage/libsemanage.mk new file mode 100644 index 0000000..39098e8 --- /dev/null +++ b/package/libsemanage/libsemanage.mk @@ -0,0 +1,113 @@ +############################################################# +# +# libsemanage +# +############################################################# +LIBSEMANAGE_VERSION = 2.1.10 +LIBSEMANAGE_SOURCE = libsemanage-$(LIBSEMANAGE_VERSION).tar.gz +LIBSEMANAGE_SITE = http://userspace.selinuxproject.org/releases/20130423/ +LIBSEPOL_LICENSE = LGPLv2.1 +LIBSEPOL_LICENSE_FILES = COPYING + +############################## +# Target Section +############################## +LIBSEMANAGE_DEPENDENCIES = host-bison libsepol libselinux ustr bzip2 + +LIBSEMANAGE_INSTALL_STAGING = YES +LIBSEMANAGE_INSTALL_TARGET = YES + +LIBSEMANAGE_MAKE_CMDS = $(TARGET_CONFIGURE_OPTS) + +ifeq ($(BR2_PACKAGE_LIBSEMANAGE_PYTHON_BINDINGS),y) + +LIBSEMANAGE_DEPENDENCIES += python host-swig host-python +LIBSEMANAGE_MAKE_CMDS += PYINC="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)/" \ + PYTHONLIBDIR="-L$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/" \ + PYLIBVER="python$(PYTHON_VERSION_MAJOR)" \ + SWIG_LIB="$(HOST_DIR)/usr/share/swig/$(SWIG_VERSION)/" + +define LIBSEMANAGE_PYTHON_BUILD_CMDS + $(MAKE) -C $(@D) $(LIBSEMANAGE_MAKE_CMDS) DESTDIR=$(STAGING_DIR) swigify + $(MAKE) -C $(@D) $(LIBSEMANAGE_MAKE_CMDS) DESTDIR=$(STAGING_DIR) pywrap +endef + +define LIBSEMANAGE_PYTHON_INSTALL_STAGING_CMDS + $(MAKE) -C $(@D) install-pywrap $(LIBSEMANAGE_MAKE_CMDS) DESTDIR=$(STAGING_DIR) +endef + +define LIBSEMANAGE_PYTHON_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) install-pywrap $(LIBSEMANAGE_MAKE_CMDS) DESTDIR=$(TARGET_DIR) +endef + +define LIBSEMANAGE_PYTHON_UNINSTALL_STAGING_CMDS + rm -f $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/*semanage* +endef + +define LIBSEMANAGE_PYTHON_UNINSTALL_TARGET_CMDS + rm -f $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages/*semanage* +endef + +endif + +define LIBSEMANAGE_BUILD_CMDS + $(MAKE) -C $(@D) $(LIBSEMANAGE_MAKE_CMDS) DESTDIR=$(STAGING_DIR) all + $(LIBSEMANAGE_PYTHON_BUILD_CMDS) +endef + +define LIBSEMANAGE_INSTALL_STAGING_CMDS + $(MAKE) -C $(@D) install $(LIBSEMANAGE_MAKE_CMDS) DESTDIR=$(STAGING_DIR) + $(LIBSEMANAGE_PYTHON_INSTALL_STAGING_CMDS) +endef + +define LIBSEMANAGE_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) install $(LIBSEMANAGE_MAKE_CMDS) DESTDIR=$(TARGET_DIR) + rm -rf $(addprefix $(TARGET_DIR),/usr/share/man/ /usr/include/) + $(LIBSEMANAGE_PYTHON_INSTALL_TARGET_CMDS) +endef + +define LIBSEMANAGE_CLEAN_CMDS + $(MAKE) -C $(@D) clean +endef + +define LIBSEMANAGE_UNINSTALL_STAGING_CMDS + rm -rf $(addprefix $(STAGING_DIR),/usr/include/semanage /usr/lib/libsemanage* \ + /usr/lib/pkgconfig/libsemanage* /etc/selinux/semanage.conf) + rm -f $(addprefix $(STAGING_DIR)/usr/man/man3/,$(notdir $(wildcard $(@D)/man/man3/*.3))) + rm -f $(addprefix $(STAGING_DIR)/usr/man/man3/,$(notdir $(wildcard $(@D)/man/man5/*.5))) + $(LIBSEMANAGE_PYTHON_UNINSTALL_STAGING_CMDS) +endef + +define LIBSEMANAGE_UNINSTALL_TARGET_CMDS + rm -rf $(addprefix $(TARGET_DIR),/usr/lib/libsemanage* \ + /usr/lib/pkgconfig/libsemanage* /etc/selinux/semanage.conf) + $(LIBSEMANAGE_PYTHON_UNINSTALL_TARGET_CMDS) +endef + +############################## +# Host Section +############################## +HOST_LIBSEMANAGE_DEPENDENCIES = host-python host-bison host-libsepol host-libselinux host-ustr host-bzip2 + +HOST_LIBSEMANAGE_MAKE_CMDS = $(HOST_CONFIGURE_OPTS) \ + PYINC="-I$(HOST_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)/" \ + PYTHONLIBDIR="-L$(HOST_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/" \ + PYLIBVER="python$(PYTHON_VERSION_MAJOR)" \ + SWIG_LIB="$(HOST_DIR)/usr/share/swig/$(SWIG_VERSION)/" + +define HOST_LIBSEMANAGE_BUILD_CMDS + $(MAKE) -C $(@D) $(HOST_LIBSEMANAGE_MAKE_CMDS) DESTDIR=$(HOST_DIR) all + $(MAKE) -C $(@D) $(HOST_LIBSEMANAGE_MAKE_CMDS) DESTDIR=$(HOST_DIR) swigify + $(MAKE) -C $(@D) $(HOST_LIBSEMANAGE_MAKE_CMDS) DESTDIR=$(HOST_DIR) pywrap +endef + +define HOST_LIBSEMANAGE_INSTALL_CMDS + $(MAKE) -C $(@D) install install-pywrap $(HOST_LIBSEMANAGE_MAKE_CMDS) DESTDIR=$(HOST_DIR) +endef + +define HOST_LIBSEMANAGE_CLEAN_CMDS + $(MAKE) -C $(@D) clean +endef + +$(eval $(generic-package)) +$(eval $(host-generic-package))