From owner-cvs-all Tue Feb 20 5:25:26 2001 Delivered-To: cvs-all@freebsd.org Received: from ringworld.nanolink.com (ringworld.nanolink.com [195.24.48.189]) by hub.freebsd.org (Postfix) with SMTP id 47BCD37B503 for ; Tue, 20 Feb 2001 05:25:08 -0800 (PST) (envelope-from roam@ringworld.nanolink.com) Received: (qmail 47724 invoked by uid 1000); 20 Feb 2001 13:23:13 -0000 Date: Tue, 20 Feb 2001 15:23:13 +0200 From: Peter Pentchev To: Neil Blakey-Milner Cc: Dag-Erling Smorgrav , Tony Finch , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: ports/Tools/scripts/mkptools mkpbuild mkpinstall Message-ID: <20010220152313.A47687@ringworld.oblivion.bg> Mail-Followup-To: Neil Blakey-Milner , Dag-Erling Smorgrav , Tony Finch , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org References: <200101031116.f03BGlq39072@freefall.freebsd.org> <20010103141000.B54743@ringworld.oblivion.bg> <20010103142157.D54743@ringworld.oblivion.bg> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010103142157.D54743@ringworld.oblivion.bg>; from roam@orbitel.bg on Wed, Jan 03, 2001 at 02:21:57PM +0200 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Wed, Jan 03, 2001 at 02:21:57PM +0200, Peter Pentchev wrote: > On Wed, Jan 03, 2001 at 02:10:01PM +0200, Peter Pentchev wrote: > > On Wed, Jan 03, 2001 at 03:16:47AM -0800, Neil Blakey-Milner wrote: > > > nbm 2001/01/03 03:16:46 PST > > > > > > Modified files: > > > Tools/scripts/mkptools mkpbuild mkpinstall > > > Log: > > > As a quick fix, use /tmp instead of the currently hardcoded /usr/tmp. > > > > How about the attached patch to check for a user-specified temp dir? > > (this is one of my first attempts at style(.perl)-ish Perl code, so > > feel free to flame or point at manpages :) OK, after some discussion with Neil, DES and Tony Finch on IRC, the patch turned into this.. I could commit this in a few days if there are no big objections. G'luck, Peter -- This sentence would be seven words long if it were six words shorter. Index: ports/Tools/scripts/mkptools/mkpbuild =================================================================== RCS file: /home/ncvs/ports/Tools/scripts/mkptools/mkpbuild,v retrieving revision 1.2 diff -u -r1.2 mkpbuild --- ports/Tools/scripts/mkptools/mkpbuild 2001/01/03 11:16:46 1.2 +++ ports/Tools/scripts/mkptools/mkpbuild 2001/02/20 13:13:26 @@ -26,12 +26,30 @@ # use strict; +my $path_tmp = "/tmp"; +eval { + require 'paths.ph'; + $path_tmp = &_PATH_TMP; +}; -my ($user, $origdir, $portname, $tmpdir, $wdpdir, $predir, $hmake); +sub testdir (@) { + my $d; # currently tested dir + + foreach $d (@_) { + next unless defined($d); + $d =~ s,/$,,; + return $d if ((-d $d) && (-w $d)); + } + return ""; +} + +my ($user, $origdir, $portname, $tmpbase, $tmpdir, $wdpdir, $predir, $hmake); chomp ($user = `logname`); chomp ($origdir = `pwd`); chomp ($portname = `basename $origdir`); -$tmpdir = "/tmp/$user.$portname"; +$tmpbase = testdir($ENV{'TMPDIR'}, $ENV{'TMP'}, $path_tmp); +($tmpbase eq "") and die("No temp dir, please define either TMPDIR or TMP\n"); +$tmpdir = "$tmpbase/$user.$portname"; $wdpdir = "$tmpdir/wdp"; $predir = "$tmpdir/prefix"; Index: ports/Tools/scripts/mkptools/mkpinstall =================================================================== RCS file: /home/ncvs/ports/Tools/scripts/mkptools/mkpinstall,v retrieving revision 1.2 diff -u -r1.2 mkpinstall --- ports/Tools/scripts/mkptools/mkpinstall 2001/01/03 11:16:46 1.2 +++ ports/Tools/scripts/mkptools/mkpinstall 2001/02/20 13:13:26 @@ -26,12 +26,31 @@ # use strict; +my $path_tmp = "/tmp"; +eval { + require 'paths.ph'; + $path_tmp = &_PATH_TMP; +}; -my ($user, $origdir, $portname, $tmpdir, $wdpdir, $predir, $hmake); + +sub testdir (@) { + my $d; # currently tested dir + + foreach $d (@_) { + next unless defined($d); + $d =~ s,/$,,; + return $d if ((-d $d) && (-w $d)); + } + return ""; +} + +my ($user, $origdir, $portname, $tmpbase, $tmpdir, $wdpdir, $predir, $hmake); chomp ($user = `logname`); chomp ($origdir = `pwd`); chomp ($portname = `basename $origdir`); -$tmpdir = "/tmp/$user.$portname"; +$tmpbase = testdir($ENV{'TMPDIR'}, $ENV{'TMP'}, $path_tmp); +($tmpbase eq "") and die("No temp dir, please define either TMPDIR or TMP\n"); +$tmpdir = "$tmpbase/$user.$portname"; $wdpdir = "$tmpdir/wdp"; $predir = "$tmpdir/prefix"; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message