sys-libs/libsemanage: improve ROOT handling in pkg_postinst
authorMike Frysinger <vapier@gentoo.org>
Wed, 17 Feb 2016 19:45:14 +0000 (14:45 -0500)
committerMike Frysinger <vapier@gentoo.org>
Wed, 17 Feb 2016 20:11:03 +0000 (15:11 -0500)
Also ignore errors when /etc/selinux/config doesn't exist.

sys-libs/libsemanage/libsemanage-2.4-r2.ebuild
sys-libs/libsemanage/libsemanage-9999.ebuild

index d43e13b090e6b4a20287b6ec6fc803f212e28fdb..e2b0457863ba6725408a84e0c95a976f3645d97e 100644 (file)
@@ -112,8 +112,8 @@ multilib_src_install() {
 
 pkg_postinst() {
        # Migrate the SELinux semanage configuration store if not done already
-       local selinuxtype=$(awk -F'=' '/SELINUXTYPE=/ {print $2}' /etc/selinux/config);
-       if [ -n "${selinuxtype}" ] && [ ! -d /var/lib/selinux/${mcs}/active ] ; then
+       local selinuxtype=$(awk -F'=' '/SELINUXTYPE=/ {print $2}' "${EROOT}"/etc/selinux/config 2>/dev/null)
+       if [ -n "${selinuxtype}" ] && [ ! -d "${EROOT}"/var/lib/selinux/${mcs}/active ] ; then
                ewarn "Since the 2.4 SELinux userspace, the policy module store is moved"
                ewarn "from /etc/selinux to /var/lib/selinux. The migration will be run now."
                ewarn "If there are any issues, it can be done manually by running:"
@@ -124,7 +124,7 @@ pkg_postinst() {
 
        # Run the store migration without rebuilds
        for POLICY_TYPE in ${POLICY_TYPES} ; do
-               if [ ! -d "${ROOT}/var/lib/selinux/${POLICY_TYPE}/active" ] ; then
+               if [ ! -d "${EROOT}/var/lib/selinux/${POLICY_TYPE}/active" ] ; then
                        einfo "Migrating store ${POLICY_TYPE} (without policy rebuild)."
                        /usr/libexec/selinux/semanage_migrate_store -n -s "${POLICY_TYPE}" || die "Failed to migrate store ${POLICY_TYPE}"
                fi
index 734b83821ca6465e18e21c455bcdcd1e0f174679..bb698140b2c8511eec7f85f373754e46b0cb6e54 100644 (file)
@@ -118,8 +118,8 @@ multilib_src_install() {
 
 pkg_postinst() {
        # Migrate the SELinux semanage configuration store if not done already
-       local selinuxtype=$(awk -F'=' '/SELINUXTYPE=/ {print $2}' /etc/selinux/config);
-       if [ -n "${selinuxtype}" ] && [ ! -d /var/lib/selinux/${mcs}/active ] ; then
+       local selinuxtype=$(awk -F'=' '/SELINUXTYPE=/ {print $2}' "${EROOT}"/etc/selinux/config 2>/dev/null)
+       if [ -n "${selinuxtype}" ] && [ ! -d "${EROOT}"/var/lib/selinux/${mcs}/active ] ; then
                ewarn "Since the 2.4 SELinux userspace, the policy module store is moved"
                ewarn "from /etc/selinux to /var/lib/selinux. The migration will be run now."
                ewarn "If there are any issues, it can be done manually by running:"
@@ -130,7 +130,7 @@ pkg_postinst() {
 
        # Run the store migration without rebuilds
        for POLICY_TYPE in ${POLICY_TYPES} ; do
-               if [ ! -d "${ROOT}/var/lib/selinux/${POLICY_TYPE}/active" ] ; then
+               if [ ! -d "${EROOT}/var/lib/selinux/${POLICY_TYPE}/active" ] ; then
                        einfo "Migrating store ${POLICY_TYPE} (without policy rebuild)."
                        /usr/libexec/selinux/semanage_migrate_store -n -s "${POLICY_TYPE}" || die "Failed to migrate store ${POLICY_TYPE}"
                fi