On Thu, May 04, 2017 at 06:01:17PM +0100, Alan Jenkins wrote: > This reverts commit ac7899fc3ad6221e195dd13cdf14b346897314ae, > which is not yet part of an officially tagged release > (or release candidate). > > `LOGFILE=/proc/self/fd/1` was wrong. > > `LOGFILE=$(tty)` was being relied on in one case (exclude_dirs), > to log messages from a function run specifically with stdout redirected > (captured into a variable). > > Having `logit "message"` break inside redirected functions > is a nasty leaky abstraction. > > This caused e.g. `fixfiles restore` to terminate early with the error > > skipping: No such file or directory > > if the user had configured any excluded paths in > /etc/selinux/fixfiles_exclude_dirs > --- > policycoreutils/scripts/fixfiles | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/policycoreutils/scripts/fixfiles b/policycoreutils/scripts/fixfiles > index bc74d69..75d7762 100755 > --- a/policycoreutils/scripts/fixfiles > +++ b/policycoreutils/scripts/fixfiles > @@ -119,7 +119,11 @@ VERBOSE="-p" > FORCEFLAG="" > DIRS="" > RPMILES="" > -LOGFILE=/proc/self/fd/1 > +LOGFILE=`tty` > +if [ $? != 0 ]; then > + LOGFILE="/dev/null" > +fi > +LOGGER=/usr/sbin/logger $ ls /usr/bin/logger /usr/bin/logger $ ls /usr/sbin/logger ls: cannot access '/usr/sbin/logger': No such file or directory > SETFILES=/sbin/setfiles > RESTORECON=/sbin/restorecon > FILESYSTEMSRW=`get_rw_labeled_mounts` > @@ -134,11 +138,11 @@ else > fi > > # > -# Write to LOGFILE > +# Log to either syslog or a LOGFILE > # > logit () { > if [ -n $LOGFILE ]; then > - echo $1 >> "$LOGFILE" > + echo $1 >> $LOGFILE > fi > } > # > -- > 2.9.3 > -- Key fingerprint = 5F4D 3CDB D3F8 3652 FBD8 02D5 3B6C 5F1D 2C7B 6B02 https://sks-keyservers.net/pks/lookup?op=get&search=0x3B6C5F1D2C7B6B02 Dominick Grift
Attachment:
signature.asc
Description: PGP signature