From e3afd3c4d7585716ba1bccf8de108ed3e2104a20 Mon Sep 17 00:00:00 2001
From: Noriko Hosoi <nhosoi@redhat.com>
Date: Tue, 8 Dec 2015 12:30:15 -0800
Subject: [PATCH] Ticket #48305 - perl module conditional test is not
 conditional when checking SELinux policies

Description: commit 9fefc13c02c9ae037fad053152193794706aaa31 introduced
a regression:
  Bug 1287547 - 389-ds-base-1.3.4.5-1.fc23.x86_64 leaves empty /NUL around
                after ipa-server-install

To check the existence of a character special file "/dev/null", "-c" is
supposed to be used instead of "-f".
---
 ldap/admin/src/scripts/DSCreate.pm.in | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ldap/admin/src/scripts/DSCreate.pm.in b/ldap/admin/src/scripts/DSCreate.pm.in
index d449b02..e62ae2c 100644
--- a/ldap/admin/src/scripts/DSCreate.pm.in
+++ b/ldap/admin/src/scripts/DSCreate.pm.in
@@ -283,7 +283,7 @@ sub createInstanceScripts {
     my $skip = shift;
     my $perlexec = "@perlexec@" || "/usr/bin/env perl";
     my $myperl = "!$perlexec";
-    my $mydevnull = (-f "/dev/null" ? " /dev/null " : " NUL ");
+    my $mydevnull = (-c "/dev/null" ? " /dev/null " : " NUL ");
 
     # If we have InstScriptsEnabled, we likely have setup.inf or the argument.
     # However, during an upgrade, we need to know if we should upgrade the template files or not.
@@ -997,7 +997,7 @@ sub setDefaults {
 
 sub updateSelinuxPolicy {
     my $inf = shift;
-    my $mydevnull = (-f "/dev/null" ? " /dev/null " : " NUL ");
+    my $mydevnull = (-c "/dev/null" ? " /dev/null " : " NUL ");
 
     # if selinux is not available, do nothing
     if ((getLogin() eq 'root') and "@with_selinux@" and
@@ -1451,7 +1451,7 @@ sub removeDSInstance {
     }
 
     # remove the selinux label from the ports if needed
-    my $mydevnull = (-f "/dev/null" ? " /dev/null " : " NUL ");
+    my $mydevnull = (-c "/dev/null" ? " /dev/null " : " NUL ");
     if ((getLogin() eq 'root') and "@with_selinux@" and
         -f "@sbindir@/sestatus" and !system ("@sbindir@/sestatus | egrep -i \"selinux status:\\s*enabled\" > $mydevnull 2>&1")) {
         foreach my $port (@{$entry->{"nsslapd-port"}}) 
-- 
2.4.3

