tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Introducing PKGGNUDIR



Hi,

As many will recall, GNU_PROGRAM_PREFIX was recently cleaned up so
that 'g' tools were made the default and gnu/bin was introduced for
users to set in their $PATH if they preferred the GNU tools.

This was good and helped reduce issues with dependencies, however it
caused a number of issues for our users as many scripts have hardcoded
paths which do not include gnu/bin but relied on GNU behaviour, and so
our recent SmartOS dataset has not been well received in some areas.

To help resolve this, I'd like to introduce a new PKGGNUDIR variable
which defaults to 'gnu/', but can be changed to control where the
prefix-less files are installed.  So, for our environment, we would
leave the variable unset so that the symlinks are created in e.g. bin/
rather than gnu/bin/.

I have implemented the infrastructure changes necessary as well as an
update to sysutils/coreutils to use the new scheme, and the diff is
available here:

  https://github.com/joyent/pkgsrc/compare/joyent;feature;pkggnudir;trunk

I expect most package changes to be equally minimal, the main catch is
that bsd.prefs.mk must now be included before the post-install stage
so that PKG*DIR are correctly defined (not necessary with coreutils as
it already includes compiler.mk).

This work should also help any efforts for e.g. Linux distributions
solely based upon pkgsrc, which were raised but not addressed during
the GNU_PROGRAM_PREFIX thread.

Comments appreciated, I'd love to get this integrated as it will mean
fewer diffs for us to carry.

Regards,

-- 
Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com


Home | Main Index | Thread Index | Old Index