New Package: fish

Paul Howarth paul at city-fan.org
Mon Jun 20 15:58:51 UTC 2005


Axel Liljencrantz wrote:
> The reason why I think it _might_ be the right thing to meddle with
> /etc/passwd is that I have provided both src.rpm and i386.rpm files
> for fish on the fish homepage since the very first release, and for
> the first two months, these files installed to /usr/local, since I was
> under the impression that external packages should go there. (I have
> since been informed that /usr/local should only be used for unpackaged
> commands.) According to my server logs, somewhere between 500 and 1000
> people have downloaded a fish rpm that installs fish to /usr/local,
> and many of those are probably running on fedora. I have no idea how
> many of those people have since upgraded to a newer version with the
> correct installation directory, nor do I know how many pre 1.6 users
> there are who use fish as their login shell. But if fish enters the
> extras repository without the above check, the next time any such
> person runs 'yum update', they will be unable to log in. The number of
> people effected by this is probably pretty close to zero.
> 
> Like I said, if the fedora policy is not to jump through hoops to
> avoid getting hit by braindamage in external packages, I fully
> understand that and will remove the offending lines. I just want the
> decision to be made based on the facts of the situation.

If you're really concerned about this, you might consider adding 
something like this:

%triggerpostun -- fish < 1.6
if grep /usr/local/bin/fish /etc/passwd &> /dev/null; then
	ln -s ../../bin/fish /usr/local/bin/fish
fi
exit 0

The idea is to add a symlink /usr/local/bin/fish -> /usr/bin/fish after 
an RPM package for fish with version < 1.6 gets uninstalled, but only if 
the string /usr/local/bin/fish is found in /etc/passwd.

This should I think be enough to take care of the scenario you're 
worried about, without the danger of editing /etc/passwd and will have 
no effect at any time on a system where a version of fish < 1.6 has not 
been installed.

Paul.




More information about the fedora-extras-list mailing list