Subject: Re: bug#14728: filenames starting with a dash confuse automake

From: Stefano Lattarini <[email-masked]>
Date: Thu, 27 Jun 2013 09:55:53 +0200

tags 14728 + moreinfo
severity 14728 minor
stop

On 06/27/2013 06:37 AM, Zbigniew Jędrzejewski-Szmek wrote:
> Hi,
> I encountered this in systemd, which recently added a file with 
> a dash in the name [1].
>
I fear this falls in the category "Doctor, it hurts when I do that
-- Don't do that, then" :-)

To elaborate, on Unix systems, having filenames starting with a
dash has always been very problematic, and generally a terrible
idea.  Do you have a very, *very* good reason to have such a file?

> Basically, various commands like install and rm are called
> without guarding the file list with --,
>
That's because such usage might be unportable; well, it surely was
in the olden days, but I'm not sure whether that is still relevant
on today's system.  Still, I'm not comfortable changing the old
assumption and risking regressions for the users of oldish or
proprietary systems.

Anyway, if you can send a patch that fixes the issue for you
without risking regressions or complicating the code base, I'm
ready to consider it (no promise though).

> which causes them
> to interpret the file name as an option. In case of
> systemd, 'make uninstall' and thus 'make distcheck' are
> affected, but depending on the type of the file (SCRIPT, DATA, etc),
> other targets can be affected.
> 
> $ make install DESTDIR=/var/tmp/inst2
> make[1]: Entering directory `home/zbyszek/src/automake-dash'
>  /usr/bin/mkdir -p '/var/tmp/inst2/usr/local/bin'
>  /usr/bin/install -c -.sh '/var/tmp/inst2/usr/local/bin'
> /usr/bin/install: invalid option -- '.'
> 
> Attached toy "project" reproduces this error.
> 
> Thanks,
> Zbyszek
> 
> [1] http://cgit.freedesktop.org/systemd/systemd/commit/?id=4ad49000
> 
So, in conclusion, I'm 90-10 for closing this bug as a "wontfix";
although a simple patch or the explanation of a *very* good reason
for having a dash-starting filename might change my mind.  For the
moment, I'm thus not closing the bug.

Regards,
  Stefano