From owner-freebsd-ports Mon Mar 29 23:57:59 1999 Delivered-To: freebsd-ports@freebsd.org Received: from firewall1.lehman.com (firewall.Lehman.COM [192.147.65.66]) by hub.freebsd.org (Postfix) with ESMTP id 85FA4159DB; Mon, 29 Mar 1999 23:57:38 -0800 (PST) (envelope-from nclayton@lehman.com) Received: from relay.messaging-svcs2.lehman.com by firewall1.lehman.com (8.8.6/8.8.6) id CAA11670; Tue, 30 Mar 1999 02:57:18 -0500 (EST) Received: from lonmailhost.lehman.com by relay.messaging-svcs2.lehman.com (8.9.3/8.8.5) id CAA00540; Tue, 30 Mar 1999 02:56:47 -0500 (EST) Received: by lonmailhost.lehman.com (SMI-8.6/Lehman Bros. V1.5) id IAA17556; Tue, 30 Mar 1999 08:56:46 +0100 Message-ID: <19990330085646.T14492@lehman.com> Date: Tue, 30 Mar 1999 08:56:46 +0100 From: nclayton@lehman.com To: ports@freebsd.org Cc: nik@freebsd.org Subject: GNU Stow, and the ports system? Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.91.1i Organization: Lehman Brothers Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Folks, Chaps, [ not on -ports, please cc: replies to me ] Has anyone looked at GNU Stow? http://www.gnu.org/software/stow/manual.html Basically, it lets you install applications in to their own directories hierarchies (/path/to/perl/bin, /path/to/perl/man, /path/to/perl/lib, and so on) and then manages the creation of symlinks from these directories into somewhere like /usr/local/. It handles the case where two applications try and install binaries (or other files) with the same name. So all your programs stay separate, but your $PATH doesn't grow inordinately long. I've used (and written) similar software myself, but never seriously with FreeBSD. It occurs to me that this could be used with the ports system quite nicely. Something like (untested); # cd /usr/ports/textproc/jade # make # make PREFIX=/opt/\$DISTNAME install which would install Jade in to /opt/jade-1.2.1/{bin,man,lib}, followed by # cd /opt # stow jade-1.2.1 to make the symlinks as necessary. Removing an installed package is then done by # cd /opt # stow -D jade-1.2.1 # pkg_delete jade-1.2.1 Now, obviously I could just do this myself (and probably will when my 3.1 box finishes rebuilding itself). But would anyone be interested in having this functionality folded back into the ports system as an option? Perhaps a "USE_STOW" knob in /etc/make.conf, which would modify the "install" and "deinstall" targets to have the above behaviour? If people are interested, I'll get to work on patches. A hunt through the -ports archives show that this has been mentioned once before, in October last year, http://www.freebsd.org/cgi/getmsg.cgi?fetch=307914+311440+/usr/local/www/db/text/1998/freebsd-ports/19981004.freebsd-ports but there doesn't seem to have been any real discussion about it. N -- --+==[ Systems Administrator, Year 2000 Test Lab, Lehman Brothers, Inc. ]==+-- --+==[ 1 Broadgate, London, EC2M 7HA 0171-601-0011 x5514 ]==+-- --+==[ Year 2000 Testing: It's about time. . . ]==+-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message