From: Ladislav Michl <[email protected]>

Upstream moved the python tools to selinux-python and the semodule_*
tools to semodule-utils. While there also add PAM support.

Signed-off-by: Ladislav Michl <[email protected]>
---
 rules/policycoreutils.in   |  99 +++++++++--------------
 rules/policycoreutils.make | 159 ++++++++++++++++---------------------
 2 files changed, 105 insertions(+), 153 deletions(-)

diff --git a/rules/policycoreutils.in b/rules/policycoreutils.in
index fce42b002..b9d3a1ff3 100644
--- a/rules/policycoreutils.in
+++ b/rules/policycoreutils.in
@@ -1,16 +1,14 @@
-## SECTION=staging
-## old section:
-### SECTION=selinux
+## SECTION=selinux
 
 menuconfig POLICYCOREUTILS
        tristate
        prompt "policycoreutils               "
-       select LIBCAP_NG
-       select LIBCGROUP
        select LIBSELINUX
-       select LIBSEMANAGE
        select LIBSEPOL
-       select DBUS_GLIB        if POLICYCOREUTILS_RESTORECOND
+       select LIBSEMANAGE      if POLICYCOREUTILS_SEMODULE
+       select LIBSEMANAGE      if POLICYCOREUTILS_SETSEBOOL
+       select AUDIT            if POLICYCOREUTILS_AUDIT
+       select PAM              if GLOBAL_PAM
        select BUSYBOX_FEATURE_FIND_DEPTH       if BUSYBOX_FIND
        select BUSYBOX_FEATURE_FIND_DELETE      if BUSYBOX_FIND
        select BUSYBOX_SELINUX                  if BUSYBOX_FIND
@@ -22,90 +20,65 @@ menuconfig POLICYCOREUTILS
          to switch roles, and run_init to run /etc/init.d scripts in the proper
          context.
 
-         STAGING: remove in ptxdist-2020.12.0
-         Old version that need to be updated. Moved to staging with libselinux.
-
 if POLICYCOREUTILS
 
-menuconfig POLICYCOREUTILS_PYTHON
-       # needs sepolgen
-       depends on BROKEN
-       bool "python based tools"
-
-if POLICYCOREUTILS_PYTHON
-
-config POLICYCOREUTILS_AUDIT2ALLOW
-       bool "audit2allow"
-
-config POLICYCOREUTILS_SEPOLGEN_IFGEN
-       select POLICYCOREUTILS_AUDIT2ALLOW
-       bool "sepolgen-ifgen"
-
-config POLICYCOREUTILS_AUDIT2WHY
-       select POLICYCOREUTILS_AUDIT2ALLOW
-       bool "audit2why"
-
-config POLICYCOREUTILS_SANDBOX
-       bool "sandbox"
-       depends on BROKEN
-
-config POLICYCOREUTILS_CHCAT
-       select LIBSEMANAGE_PYTHON
-       depends on BROKEN
-       bool "chcat"
-
-config POLICYCOREUTILS_SEMANAGE
-       select LIBSEMANAGE_PYTHON
-       depends on BROKEN
-       bool "semanage"
-
-endif
+config POLICYCOREUTILS_AUDIT
+       bool "audit support"
+       help
+         Let newrole, run_init and setfiles log to the audit subsystem.
 
 config POLICYCOREUTILS_LOAD_POLICY
        bool "load_policy"
+       depends on !BUSYBOX_LOAD_POLICY || ALLYES
+
+comment "busybox' load_policy is selected!"
+       depends on BUSYBOX_LOAD_POLICY
 
 config POLICYCOREUTILS_NEWROLE
        bool "newrole"
 
-config POLICYCOREUTILS_RESTORECOND
-       bool "restorecond"
-       depends on BROKEN
+config POLICYCOREUTILS_NEWROLE_PAM_CFG
+       bool "install /etc/pam.d/newrole"
+       depends on POLICYCOREUTILS_NEWROLE && GLOBAL_PAM
 
 config POLICYCOREUTILS_RUN_INIT
        bool "run_init/open_init_pty"
 
+config POLICYCOREUTILS_RUN_INIT_PAM_CFG
+       bool "install /etc/pam.d/run_init"
+       depends on POLICYCOREUTILS_RUN_INIT && GLOBAL_PAM
+
 config POLICYCOREUTILS_FIXFILES
        bool "fixfiles"
 
-config POLICYCOREUTILS_GENHOMEDIRCON
-       select POLICYCOREUTILS_SEMODULE
-       bool "genhomedircon"
-
 config POLICYCOREUTILS_SECON
        bool "secon"
 
 config POLICYCOREUTILS_SEMODULE
-       bool "semodule"
-
-config POLICYCOREUTILS_SEMODULE_DEPS
-       bool "semodule_deps"
-
-config POLICYCOREUTILS_SEMODULE_EXPAND
-       bool "semodule_expand"
-
-config POLICYCOREUTILS_SEMODULE_LINK
-       bool "semodule_link"
-
-config POLICYCOREUTILS_SEMODULE_PACKAGE
-       bool "semodule_package"
+       bool "semodule/genhomedircon"
 
 config POLICYCOREUTILS_SESTATUS
        bool "sestatus"
+       depends on !BUSYBOX_SESTATUS || ALLYES
+
+comment "busybox' sestatus is selected!"
+       depends on BUSYBOX_SESTATUS
 
 config POLICYCOREUTILS_SETFILES
        bool "setfiles/restorecon"
+       depends on !BUSYBOX_SETFILES && !BUSYBOX_RESTORECON || ALLYES
+
+comment "busybox' setfiles/restorecon is selected!"
+       depends on BUSYBOX_SETFILES || BUSYBOX_RESTORECON
 
 config POLICYCOREUTILS_SETSEBOOL
        bool "setsebool"
+       depends on !BUSYBOX_SETSEBOOL || ALLYES
+
+comment "busybox' setsebool is selected!"
+       depends on BUSYBOX_SETSEBOOL
+
+config POLICYCOREUTILS_UNSETFILES
+       bool "unsetfiles"
 
 endif
diff --git a/rules/policycoreutils.make b/rules/policycoreutils.make
index 07baaebe8..4daf28f2c 100644
--- a/rules/policycoreutils.make
+++ b/rules/policycoreutils.make
@@ -14,116 +14,88 @@ PACKAGES-$(PTXCONF_POLICYCOREUTILS) += policycoreutils
 #
 # Paths and names
 #
-POLICYCOREUTILS_VERSION        := 2.1.13
-POLICYCOREUTILS_MD5    := 97c0b828599fe608f37894989820d71d
+POLICYCOREUTILS_VERSION        := $(SELINUX_VERSION)
+POLICYCOREUTILS_SHA256 := 
054e41ec039731a5ee6b797a8e0b8d6e346ee1d0a9bac2f252db48c23f9a8b1b
 POLICYCOREUTILS                := policycoreutils-$(POLICYCOREUTILS_VERSION)
 POLICYCOREUTILS_SUFFIX := tar.gz
-POLICYCOREUTILS_URL    := 
https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20120924/$(POLICYCOREUTILS).$(POLICYCOREUTILS_SUFFIX)
+POLICYCOREUTILS_URL    := 
$(SELINUX_URL)/$(POLICYCOREUTILS).$(POLICYCOREUTILS_SUFFIX)
 POLICYCOREUTILS_SOURCE := 
$(SRCDIR)/$(POLICYCOREUTILS).$(POLICYCOREUTILS_SUFFIX)
 POLICYCOREUTILS_DIR    := $(BUILDDIR)/$(POLICYCOREUTILS)
-POLICYCOREUTILS_LICENSE        := GPL-2.0-or-later
+POLICYCOREUTILS_LICENSE        := GPL-2.0-only
+POLICYCOREUTILS_LICENSE_FILES  := 
file://LICENSE;md5=393a5ca445f6965873eca0259a17f833
+POLICYCOREUTILS_CVE_PRODUCT    := selinuxproject:policycoreutils
 
 # ----------------------------------------------------------------------------
 # Prepare
 # ----------------------------------------------------------------------------
 
-POLICYCOREUTILS_SUBDIRS_y := \
-       man \
-       po \
-       scripts
-
+POLICYCOREUTILS_SUBDIRS_y :=
 POLICYCOREUTILS_PROGS_y :=
 
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_AUDIT2ALLOW)         += 
audit2allow
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_AUDIT2ALLOW)           += 
/usr/bin/audit2allow
-
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SEPOLGEN_IFGEN)      += 
sepolgen-ifgen
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SEPOLGEN_IFGEN)                
+= /usr/bin/sepolgen-ifgen
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SEPOLGEN_IFGEN)                
+= /usr/bin/sepolgen-ifgen-attr-helper
-
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_AUDIT2WHY)           += 
audit2why
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_AUDIT2WHY)             += 
/usr/bin/audit2why
-
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_LOAD_POLICY)         += 
load_policy
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_LOAD_POLICY)           += 
/usr/sbin/load_policy
-
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_NEWROLE)             += 
newrole
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_NEWROLE)               += 
/usr/bin/newrole
-
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_RESTORECOND)         += 
restorecond
-#POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_RESTORECOND)          +=
-
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_RUN_INIT)            += 
run_init
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_RUN_INIT)              += 
/usr/sbin/run_init
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_RUN_INIT)              += 
/usr/sbin/open_init_pty
-
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SANDBOX)             += 
sandbox
-#POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SANDBOX)              +=
+POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_LOAD_POLICY) += load_policy
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_LOAD_POLICY)   += 
/usr/sbin/load_policy
 
-# no SUBDIRS needed for scripts
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_CHCAT)                 += 
/usr/bin/chcat
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_FIXFILES)              += 
/usr/sbin/fixfiles
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_GENHOMEDIRCON)         += 
/usr/sbin/genhomedircon
+POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_NEWROLE)     += newrole
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_NEWROLE)       += 
/usr/bin/newrole
 
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SECON)               += secon
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SECON)                 += 
/usr/bin/secon
+POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_RUN_INIT)    += run_init
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_RUN_INIT)      += 
/usr/sbin/run_init
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_RUN_INIT)      += 
/usr/sbin/open_init_pty
 
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SEMANAGE)            += 
semanage
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SEMANAGE)              += 
/usr/sbin/semanage
+POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_FIXFILES)    += scripts
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_FIXFILES)      += 
/usr/sbin/fixfiles
 
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SEMODULE)            += 
semodule
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SEMODULE)              += 
/usr/sbin/semodule
+POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SECON)       += secon
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SECON)         += 
/usr/bin/secon
 
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SEMODULE_DEPS)       += 
semodule_deps
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SEMODULE_DEPS)         += 
/usr/bin/semodule_deps
+POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SEMODULE)    += semodule 
hll/pp
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SEMODULE)      += 
/usr/sbin/semodule
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SEMODULE)      += 
/usr/libexec/selinux/hll/pp
 
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SEMODULE_EXPAND)     += 
semodule_expand
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SEMODULE_EXPAND)       += 
/usr/bin/semodule_expand
+POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SESTATUS)    += sestatus
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SESTATUS)      += 
/usr/bin/sestatus
 
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SEMODULE_LINK)       += 
semodule_link
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SEMODULE_LINK)         += 
/usr/bin/semodule_link
+POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SETFILES)    += setfiles
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SETFILES)      += 
/usr/sbin/setfiles
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SETFILES)      += 
/usr/sbin/restorecon_xattr
 
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SEMODULE_PACKAGE)    += 
semodule_package
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SEMODULE_PACKAGE)      += 
/usr/bin/semodule_package
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SEMODULE_PACKAGE)      += 
/usr/bin/semodule_unpackage
+POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SETSEBOOL)   += setsebool
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SETSEBOOL)     += 
/usr/sbin/setsebool
 
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SESTATUS)            += 
sestatus
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SESTATUS)              += 
/usr/sbin/sestatus
-
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SETFILES)            += 
setfiles
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SETFILES)              += 
/usr/sbin/setfiles
-
-POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_SETSEBOOL)           += 
setsebool
-POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_SETSEBOOL)             += 
/usr/sbin/setsebool
-
-POLICYCOREUTILS_CONF_TOOL := NO
-
-# no ':=' because of $(PYTHON_SITEPACKAGES)
-POLICYCOREUTILS_MAKE_ENV = \
-       $(CROSS_ENV) \
-       SBINDIR=$(POLICYCOREUTILS_PKGDIR)/usr/sbin \
-       PYTHONLIBDIR=$(POLICYCOREUTILS_PKGDIR)$(PYTHON_SITEPACKAGES)/.. \
-       CFLAGS="-O2 -Wall" \
-       INOTIFYH="/usr/include/sys/inotify.h" \
-       PAMH="" \
-       AUDITH=""
-#
-# We don't have PAM or AUDIT, so turn off.
-#
-# Use the following to turn on:
-# (Use these paths, as of version 2.1.13)
-#
-# PAMH=/usr/include/security/pam_appl.h
-# AUDITH=/usr/include/libaudit.h
-#
+POLICYCOREUTILS_SUBDIRS_$(PTXCONF_POLICYCOREUTILS_UNSETFILES)  += unsetfiles
+POLICYCOREUTILS_PROGS_$(PTXCONF_POLICYCOREUTILS_UNSETFILES)    += 
/usr/sbin/unsetfiles
 
-POLICYCOREUTILS_MAKE_OPT := \
-       SUBDIRS="$(POLICYCOREUTILS_SUBDIRS_y)" \
-       LIBDIR=$(PTXDIST_SYSROOT_TARGET)/usr/lib
-POLICYCOREUTILS_INSTALL_OPT := \
+POLICYCOREUTILS_CONF_TOOL      := NO
+POLICYCOREUTILS_MAKE_ENV       := $(CROSS_ENV)
+POLICYCOREUTILS_MAKE_OPT       := \
        SUBDIRS="$(POLICYCOREUTILS_SUBDIRS_y)" \
+       PREFIX=/usr \
+       BINDIR=/usr/bin \
+       SBINDIR=/usr/sbin \
+       ETCDIR=/etc \
+       LOCALEDIR=/usr/share/locale \
+       PAMH=$(call ptx/ifdef, GLOBAL_PAM, y, n) \
+       AUDITH=$(call ptx/ifdef, POLICYCOREUTILS_AUDIT, y, n) \
+       AUDIT_LOG_PRIV=n \
+       NAMESPACE_PRIV=n \
+       LSPP_PRIV=n \
+       CFLAGS="-O2 -Wall -g"
+POLICYCOREUTILS_INSTALL_OPT    := \
+       $(POLICYCOREUTILS_MAKE_OPT) \
        install
 
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/policycoreutils.install:
+       @$(call targetinfo)
+ifdef PTXCONF_GLOBAL_PAM
+       @mkdir -p $(POLICYCOREUTILS_PKGDIR)/etc/pam.d
+endif
+       @$(call world/install, POLICYCOREUTILS)
+       @$(call touch)
+
 # ----------------------------------------------------------------------------
 # Target-Install
 # ----------------------------------------------------------------------------
@@ -137,15 +109,22 @@ $(STATEDIR)/policycoreutils.targetinstall:
        @$(call install_fixup, policycoreutils,AUTHOR,"Wolfram Sang 
<[email protected]>")
        @$(call install_fixup, policycoreutils,DESCRIPTION,missing)
 
+ifdef POLICYCOREUTILS_NEWROLE_PAM_CFG
+       @$(call install_alternative, policycoreutils, 0, 0, 0644, 
/etc/pam.d/newrole)
+endif
+ifdef POLICYCOREUTILS_RUN_INIT_PAM_CFG
+       @$(call install_alternative, policycoreutils, 0, 0, 0644, 
/etc/pam.d/run_init)
+endif
+
        @$(foreach prog, $(POLICYCOREUTILS_PROGS_y), \
                $(call install_copy, policycoreutils, 0, 0, 0755, -, $(prog));)
 
-ifdef PTXCONF_POLICYCOREUTILS_SETFILES
-       @$(call install_link, policycoreutils, setfiles, /usr/sbin/restorecon)
+ifdef PTXCONF_POLICYCOREUTILS_SEMODULE
+       @$(call install_link, policycoreutils, semodule, 
/usr/sbin/genhomedircon)
 endif
 
-ifdef PTXCONF_POLICYCOREUTILS_SEMANAGE
-       @$(call install_copy, policycoreutils, 0, 0, 0644, -, 
$(PYTHON_SITEPACKAGES)/seobject.py)
+ifdef PTXCONF_POLICYCOREUTILS_SETFILES
+       @$(call install_link, policycoreutils, setfiles, /usr/sbin/restorecon)
 endif
 
 ifdef PTXCONF_POLICYCOREUTILS_SESTATUS
-- 
2.47.3


Reply via email to