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
signature.asc
Description: PGP signature
