Use 'id -un' and 'id -gn' for user and group information, not 'logname'.
Add mkppackage, which will create a "fake"-style package, but not really. It doesn't try fake PREFIX and such to the build (it's not really possible anyway yet), but it uses pkg_create's '-s' option to pretend the package generated was installed in ${PREFIX}.
This commit is contained in:
parent
3b38f3af9f
commit
aca5c8ad90
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=46358
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/perl -w
|
||||
#
|
||||
# Copyright (c) 2000 Neil Blakey-Milner
|
||||
# Copyright (c) 2001 Neil Blakey-Milner
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -43,8 +43,9 @@ sub testdir (@) {
|
||||
return "";
|
||||
}
|
||||
|
||||
my ($user, $origdir, $portname, $tmpbase, $tmpdir, $wdpdir, $predir, $hmake);
|
||||
chomp ($user = `logname`);
|
||||
my ($user, $group, $origdir, $portname, $tmpbase, $tmpdir, $wdpdir, $predir, $hmake);
|
||||
chomp ($user = `id -un`);
|
||||
chomp ($group = `id -gn`);
|
||||
chomp ($origdir = `pwd`);
|
||||
chomp ($portname = `basename $origdir`);
|
||||
$tmpbase = testdir($ENV{'TMPDIR'}, $ENV{'TMP'}, $path_tmp);
|
||||
@ -56,7 +57,7 @@ $predir = "$tmpdir/prefix";
|
||||
$hmake = "env WRKDIRPREFIX=$wdpdir PREFIX=$predir NO_PKG_REGISTER=1 ";
|
||||
foreach (qw"SHARE MAN LIB BIN") {
|
||||
$hmake .= $_ . "OWN=$user ";
|
||||
$hmake .= $_ . "GRP=$user ";
|
||||
$hmake .= $_ . "GRP=$group ";
|
||||
}
|
||||
$hmake .= "PREFIX=$predir NO_PKG_REGISTER=1 make";
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/perl -w
|
||||
#
|
||||
# Copyright (c) 2000 Neil Blakey-Milner
|
||||
# Copyright (c) 2001 Neil Blakey-Milner
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@ -44,8 +44,9 @@ sub testdir (@) {
|
||||
return "";
|
||||
}
|
||||
|
||||
my ($user, $origdir, $portname, $tmpbase, $tmpdir, $wdpdir, $predir, $hmake);
|
||||
chomp ($user = `logname`);
|
||||
my ($user, $group, $origdir, $portname, $tmpbase, $tmpdir, $wdpdir, $predir, $hmake);
|
||||
chomp ($user = `id -un`);
|
||||
chomp ($group = `id -gn`);
|
||||
chomp ($origdir = `pwd`);
|
||||
chomp ($portname = `basename $origdir`);
|
||||
$tmpbase = testdir($ENV{'TMPDIR'}, $ENV{'TMP'}, $path_tmp);
|
||||
|
71
Tools/scripts/mkptools/mkppackage
Executable file
71
Tools/scripts/mkptools/mkppackage
Executable file
@ -0,0 +1,71 @@
|
||||
#!/usr/bin/perl -w
|
||||
#
|
||||
# Copyright (c) 2001 Neil Blakey-Milner
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
# SUCH DAMAGE.
|
||||
#
|
||||
|
||||
use strict;
|
||||
my $path_tmp = "/tmp";
|
||||
eval {
|
||||
require 'paths.ph';
|
||||
$path_tmp = &_PATH_TMP;
|
||||
};
|
||||
|
||||
|
||||
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, $group, $origdir, $portname, $tmpbase, $tmpdir, $wdpdir, $predir, $hmake);
|
||||
chomp ($user = `id -un`);
|
||||
chomp ($group = `id -gn`);
|
||||
chomp ($origdir = `pwd`);
|
||||
chomp ($portname = `basename $origdir`);
|
||||
$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";
|
||||
|
||||
$hmake = "env WRKDIRPREFIX=$wdpdir EXTRA_PKG_ARGS='-s $predir' NO_PKG_REGISTER=1 ";
|
||||
foreach (qw"SHARE MAN LIB BIN") {
|
||||
$hmake .= $_ . "OWN=$user ";
|
||||
$hmake .= $_ . "GRP=$group ";
|
||||
}
|
||||
$hmake .= "NO_PKG_REGISTER=1 make";
|
||||
|
||||
open(INSTALL, "$hmake repackage |");
|
||||
while(<INSTALL>) {
|
||||
print;
|
||||
}
|
||||
close(INSTALL);
|
||||
die "abnormal program completion ($?): $!" if $?;
|
||||
|
Loading…
Reference in New Issue
Block a user