Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Nov 2001 13:40:02 -0800 (PST)
From:      "."@babolo.ru
To:        freebsd-ports@FreeBSD.org
Subject:   Re: ports/32114: WRKDIRs should be moved to a central location
Message-ID:  <200111192140.fAJLe2n92780@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/32114; it has been noted by GNATS.

From: "."@babolo.ru
To: cjclark@alum.mit.edu
Cc: FreeBSD-gnats-submit@FreeBSD.ORG
Subject: Re: ports/32114: WRKDIRs should be moved to a central location
Date: Tue, 20 Nov 2001 00:37:12 +0300 (MSK)

 Crist J. Clark writes:
 > 
 > >Number:         32114
 > >Category:       ports
 > >Synopsis:       WRKDIRs should be moved to a central location
 > >Confidential:   no
 > >Severity:       non-critical
 > >Priority:       low
 > >Responsible:    freebsd-ports
 > >State:          open
 > >Quarter:        
 > >Keywords:       
 > >Date-Required:
 > >Class:          change-request
 > >Submitter-Id:   current-users
 > >Arrival-Date:   Mon Nov 19 13:10:00 PST 2001
 > >Closed-Date:
 > >Last-Modified:
 > >Originator:     Crist J. Clark
 > >Release:        FreeBSD 4.4-STABLE i386
 > >Organization:
 > >Environment:
 > System: FreeBSD blossom.cjclark.org 4.4-STABLE FreeBSD 4.4-STABLE #0: Wed Nov 7 14:50:28 PST 2001 cjc@blossom.cjclark.org:/usr/obj/export/stable/src/sys/BLOSSOM i386
 > 
 > 
 > 	Ports system as of above date.
 > 
 > >Description:
 > 	Presently, the ports Makefiles will by default put the WRKDIR
 > in ${.CURDIR}/work. For a typical installation this means that a build
 > in /usr/ports/<category>/<portname> will put the work files in,
 > 
 >   /usr/ports/<category>/<portname>/work
 > 
 > 	At first glance, this seems to make perfect sense. However,
 > this design has drawbacks. If one wants to make sure there are no
 > stale work directories around, he can either,
 > 
 >   # cd /usr/ports && make -DNOCLEANDEPENDS 
 > 
 > Which takes a _long_ time, or
 > 
 >   # find /usr/ports -type d -name work -exec rm -rf {} \;
 > 
 > Which is somewhat faster, but a bit dangerous.
 > 
 > 	I would claim that it is better to put all WRKDIRs in a
 > central location. For example, /usr/ports/work. This has the advantage
 > that when one wishes to clean out old work directories, a single,
 > 
 >   # rm -rf /usr/ports/work/*
 > 
 > Will do the trick. This also brings work directories into line with
 > how distfiles are stored. After all, distfiles are all by default
 > placed in /usr/ports/distfiles, they aren't kept in
 > ${.CURDIR}/distfiles even though that would work fine. The only
 > drawback I can see is that it might be marginally harder for the
 > novice ports user to find the work directory. However, anyone who
 > plans to go hacking into the build directory should probably have the
 > skills to find it. The vast majority of ports users will never know
 > the difference.
 > 
 > >How-To-Repeat:
 > 	N/A
 > 
 > >Fix:
 > 	For anyone wishing to do this for themselves, a simple,
 > 
 >   WRKDIRPREFIX?=	/usr/ports/work
 > 
 > In /etc/make.conf will do it. However, the reason for the PR is that I
 > believe somemthing like this would be a better default than the current
 > design. Just inserting the line above into Mk/bsd.ports.mk would do
 > it. There are also fancier ways to go so that the build takes place
 > in,
 > 
 >   /usr/ports/work/<category>/<portname>
 Why /usr/.... ?
 What about WRKDIRPREFIX=${TMPDIR}
 if TMPDIR defined and no change if not?
 
 It is a bad idea to enlage number of filesystems
 with temporary data.
 
 > But they may break existing localizations whereas changing the default
 > WRKDIRPREFIX from null to something else should not cause any
 > back-portablility issues.
 
 -- 
 @BABOLO      http://links.ru/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




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