Subject: bug#15819: closed (Re: bug#15819: colorls.csh errors out if "noclobber" is set (coreutils 8.21.11, Fedora19))

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 06 Nov 2013 13:10:03 +0000

Your bug report

#15819: colorls.csh errors out if "noclobber" is set (coreutils 8.21.11, Fedora19)

which was filed against the coreutils package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
15819: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15819
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#15819: colorls.csh errors out if "noclobber" is set (coreutils 8.21.11, Fedora19)
From: Bernhard Voelker <[email-masked]>
To: [email-masked], Ty! Boyack <[email-masked]>, Ondrej Vasik <[email-masked]>
Date: Wed, 6 Nov 2013 14:09:13 +0100 (CET)
List-Id: <debbugs-submit.debbugs.gnu.org>

tag 15819 notabug
thanks

[added Ondrej]

> On November 6, 2013 at 8:00 AM Ty! Boyack <[email-masked]> wrote:
> Behavior:
>
> The setup script /etc/profile.d/colorls.csh works fine in a stock F19
> installation, but if a local admin adds a default shell setting of
> "noclobber" in a profile setting that runs before this script (as we do)
> then the script will error out with an error of:
>
> /tmp/.colorlsXXX: File exists.
>
> Cause:
>
> The script creates that temporary file with mktemp, but on the first
> write it uses only a single redirect (>), which fails when noclobber is set.
>
> Since the file is already created, I think we can safely use an append
> redirect (>>) in all cases where that file is written to, which works
> regardless of the state of the noclobber settting.
>
> Patch:
>
> 35c35
> < if ( "$INCLUDE" != '' ) cat "$INCLUDE" > $TMP
> ---
> > if ( "$INCLUDE" != '' ) cat "$INCLUDE" >> $TMP

The file 'colorls.csh' is not part of the upstream project
but rather an Fedora extension.  I'm therefore marking this bug
as 'done'.

It seems this particular issue has been fixed for F20 only:
http://pkgs.fedoraproject.org/cgit/coreutils.git/commit/?id=f0b6f85aff0496c51c8fcb58197a8a132949a4e5

@Ondrej: do you plan to merge this to F19?

Have a nice day,
Berny

Subject: colorls.csh errors out if "noclobber" is set (coreutils 8.21.11, Fedora19)
From: "Ty! Boyack" <[email-masked]>
To: [email-masked]
Date: Wed, 06 Nov 2013 00:00:12 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Behavior:

The setup script /etc/profile.d/colorls.csh works fine in a stock F19
installation, but if a local admin adds a default shell setting of
"noclobber" in a profile setting that runs before this script (as we do)
then the script will error out with an error of:

/tmp/.colorlsXXX: File exists.

Cause:

The script creates that temporary file with mktemp, but on the first
write it uses only a single redirect (>), which fails when noclobber is set.

Since the file is already created, I think we can safely use an append
redirect (>>) in all cases where that file is written to, which works
regardless of the state of the noclobber settting.

Patch:

35c35
< if ( "$INCLUDE" != '' ) cat "$INCLUDE" > $TMP
---
> if ( "$INCLUDE" != '' ) cat "$INCLUDE" >> $TMP

Disclaimer:

I know this is not against the latest source, but I did not see anything
in the bug lists regarding this.  My apologies if this has already been
looked at and fixed or dismissed.

Cheers to all,

-Ty!