Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jan 2008 19:41:36 -0700
From:      John E Hein <jhein@timing.com>
To:        Doug Barton <dougb@FreeBSD.org>
Cc:        Paul Schmehl <pauls@utdallas.edu>, FreeBSD Ports <freebsd-ports@FreeBSD.org>
Subject:   Re: Suggested improvements for ports
Message-ID:  <18314.52192.930622.806421@gromit.timing.com>
In-Reply-To: <47893503.5040604@FreeBSD.org>
References:  <ED8842DFA28376008F3CA3A4@utd59514.utdallas.edu> <47884F14.3040708@FreeBSD.org> <C65806EC3DF5B1A0EFA06B0E@paul-schmehls-powerbook59.local> <47893503.5040604@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Doug Barton wrote at 13:45 -0800 on Jan 12, 2008:
 > I have actually advocated in the past that ALL ports should have version 
 > numbers, and that we then create virtual ports (symlinks, whatever) that 
 > point to whatever is the "current" version of that software. Different 
 > developers dislike that idea for different reasons, but my opinion is 
 > still that from the user perspective this would make life a lot easier.

I do this for a site-wide nfs shared installed apps dir at work
(ignoring the many edge cases, it's basically this: install to
PREFIX=/site/dist/${PKGNAME} and make sym links to /site/bin,
/site/lib).  It's not particularly easy given the current ports
propensity to have everything in /usr/local, but I find it worthwhile.
It does make life easier (for both users and admins) for at least a
few reasons:

 - multiple versions of the same port can co-exist (sometimes until a
   newer one is proven to work)

 - live upgrades don't affect people that may be running an older
   version of a port since the old port is still around (and
   just re-pointing a sym link to the new version doesn't make
   an existing running instance of a program fail).

 - updates are generally transparent to users

 - having a common shared nfs dir means only having to install
   a port once and all machines instantly get access.

I have my own hacks to the port tree to accomodate this strategy.  And
no, I won't publish them as they are quite hacky in places, but if
there were moves in the direction you describe (not likely as far as I
can see due to resistance of the kind you described - and it's not a
particularly small task to support something like this officially), I
could chime in about how I've been doing it for the last 10 years.
Ports based on pkg-config have made this much easier, and for those
ports I almost don't have to do anything special at all except set
PREFIX to point somewhere other than /usr/local.

It's had some bumps in the road over the years, but it mostly just
works now.

I must say it's been much nicer now that the pointyhat checks for
ports that don't handle PREFIX properly.  10 years ago that was a much
more prevalent problem.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?18314.52192.930622.806421>