aboutsummaryrefslogtreecommitdiff
path: root/Tools
diff options
context:
space:
mode:
authorNeil Blakey-Milner <nbm@FreeBSD.org>2001-01-02 20:44:26 +0000
committerNeil Blakey-Milner <nbm@FreeBSD.org>2001-01-02 20:44:26 +0000
commite0ceba3928ffd2e73104f6d9c0d8eb3a02b190e6 (patch)
tree0f8da357fdd4bbb512b7fa6f626e27cdcf525ca5 /Tools
parent511f7e23fd8e76f9bb2da4885394c3cc32e4323a (diff)
downloadports-e0ceba3928ffd2e73104f6d9c0d8eb3a02b190e6.tar.gz
ports-e0ceba3928ffd2e73104f6d9c0d8eb3a02b190e6.zip
Notes
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/scripts/mkptools/mkpbuild47
-rwxr-xr-xTools/scripts/mkptools/mkpinstall89
2 files changed, 136 insertions, 0 deletions
diff --git a/Tools/scripts/mkptools/mkpbuild b/Tools/scripts/mkptools/mkpbuild
new file mode 100755
index 000000000000..e06f89f373d7
--- /dev/null
+++ b/Tools/scripts/mkptools/mkpbuild
@@ -0,0 +1,47 @@
+#!/usr/bin/perl -w
+#
+# Copyright (c) 2000 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 ($user, $origdir, $portname, $tmpdir, $wdpdir, $predir, $hmake);
+chomp ($user = `logname`);
+chomp ($origdir = `pwd`);
+chomp ($portname = `basename $origdir`);
+$tmpdir = "/usr/tmp/$user.$portname";
+$wdpdir = "$tmpdir/wdp";
+$predir = "$tmpdir/prefix";
+
+$hmake = "env WRKDIRPREFIX=$wdpdir " .
+ "{SHARE,MAN,LIB,BIN}{OWN,GRP}=$user " .
+ "PREFIX=$predir NO_PKG_REGISTER=1 make";
+
+
+open(BUILD, "$hmake |");
+while(<BUILD>) {
+ print;
+}
+close(BUILD);
diff --git a/Tools/scripts/mkptools/mkpinstall b/Tools/scripts/mkptools/mkpinstall
new file mode 100755
index 000000000000..598982cfca96
--- /dev/null
+++ b/Tools/scripts/mkptools/mkpinstall
@@ -0,0 +1,89 @@
+#!/usr/bin/perl -w
+#
+# Copyright (c) 2000 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 ($user, $origdir, $portname, $tmpdir, $wdpdir, $predir, $hmake);
+chomp ($user = `logname`);
+chomp ($origdir = `pwd`);
+chomp ($portname = `basename $origdir`);
+$tmpdir = "/usr/tmp/$user.$portname";
+$wdpdir = "$tmpdir/wdp";
+$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 .= "PREFIX=$predir NO_PKG_REGISTER=1 make";
+
+my ($origdirs) = "$tmpdir/dirs.orig";
+my ($currdirs) = "$tmpdir/dirs.curr";
+my ($mtreedist) = "/etc/mtree/BSD.local.dist";
+
+my ($redest) = "mtree -d -f $mtreedist -r -U -p $predir";
+
+my ($ff) = "(cd $predir && find . ! -type d | cut -d/ -f2- | grep -v man | sort)";
+my ($fd) = "(cd $predir && find . -type d | cut -d/ -f2- | grep -v '^\.\$'| sort)";
+
+system("mkdir $tmpdir");
+system("mkdir $predir");
+open(MT, "<$mtreedist") || die "Cannot open mtree file";
+open(TMT, ">$origdirs") || die "Cannot open temporary dirs file $origdirs: $!";
+my($mydir) = "";
+while (<MT>) {
+ chomp;
+ /^#/ && next;
+ /^\// && next;
+ /^\s*$/ && next;
+ s/^\s*//;
+ /^\.$/ && next;
+ /^\.\.$/ && do {
+ $mydir =~ s#/[^/]*$##;
+ next;
+ };
+ s/\s+\S+$//g;
+ #print "$_\n";
+ $mydir = "$mydir/$_";
+ my ($acwrite) = $mydir;
+ $acwrite =~ s#^/##;
+ print TMT "$acwrite\n";
+}
+close(TMT);
+
+system("$redest >/dev/null");
+open(INSTALL, "$hmake install |");
+while(<INSTALL>) {
+ print;
+}
+close(INSTALL);
+die "abnormal program completion ($?): $!" if $?;
+system($ff);
+
+system("$fd > $currdirs");
+system("comm -23 $currdirs $origdirs | sort -r | xargs -n1 echo \@dirrm");