infrastructure framework: helper scripts and other stuff needed for
ports, long-term.
This commit is contained in:
parent
57401c1818
commit
b8c7c3aacc
45
infrastructure/build/find-build-order
Executable file
45
infrastructure/build/find-build-order
Executable file
@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
# $OpenBSD: find-build-order,v 1.1.1.1 1999/05/18 16:39:05 espie Exp $
|
||||
# Copyright (c) 1999 Marc Espie. 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 code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Neither the name of OpenBSD nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY ITS AUTHOR AND THE OpenBSD project ``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 REGENTS 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.
|
||||
|
||||
# This is a simple filter that takes a set of package and outputs a full
|
||||
# dependency list, so that you may build things in order.
|
||||
# input is of the form: dir/package BUILD_PARAM1=something...
|
||||
# and output is a list of dir/package
|
||||
case "$1" in
|
||||
"build")
|
||||
type=depends-list;;
|
||||
"run")
|
||||
type=package-depends;;
|
||||
"all"|*)
|
||||
type="depends-list package-depends";;
|
||||
esac
|
||||
|
||||
(while read i j
|
||||
do
|
||||
case $i in
|
||||
\#);; # comments
|
||||
*)
|
||||
cd /usr/ports/$i && make FULL_PACKAGE_NAME=yes $j $type;;
|
||||
esac
|
||||
done)|tsort|tail -r
|
55
infrastructure/build/out-of-date
Executable file
55
infrastructure/build/out-of-date
Executable file
@ -0,0 +1,55 @@
|
||||
#!/bin/sh
|
||||
# $OpenBSD: out-of-date,v 1.1.1.1 1999/05/18 16:39:05 espie Exp $
|
||||
# Copyright (c) 1999
|
||||
# Marc Espie. 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 code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Neither the name of OpenBSD nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY ITS AUTHOR AND THE OpenBSD project ``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 REGENTS 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.
|
||||
|
||||
# Check for simple discrepancies between installed packages and the
|
||||
# /usr/ports INDEX
|
||||
|
||||
FILE=/usr/ports/INDEX
|
||||
|
||||
cat <<EOF
|
||||
>>> Is /usr/ports/INDEX up-to-date ?
|
||||
>>> Otherwise, this script will find out outdated flavors of packages
|
||||
>>> compared to your installed packages...
|
||||
EOF
|
||||
pkg_info |while read fullname rest
|
||||
do
|
||||
grep "^$fullname" $FILE >/dev/null || {
|
||||
basename=`echo $fullname |sed -e 's/^\(.*\)-.*/\1/'`
|
||||
newname=`grep "^$basename-" $file |cut -f1 -d\|`
|
||||
# some packages exist in several distinct flavors
|
||||
if [ `echo $new| wc -l` -ge 2 ]
|
||||
then
|
||||
echo -n "Update $fullname to one of"
|
||||
echo $newname|while read item
|
||||
do
|
||||
echo -n "$item "
|
||||
done
|
||||
echo ""
|
||||
else
|
||||
echo "Update $fullname to $newname"
|
||||
fi
|
||||
}
|
||||
done
|
||||
|
46
infrastructure/db/essentials
Normal file
46
infrastructure/db/essentials
Normal file
@ -0,0 +1,46 @@
|
||||
# This is the list of packages that will be on the CD
|
||||
# there can be some omissions, as long as build-depends/run-depends work
|
||||
archivers/bzip2
|
||||
archivers/gshar+gunshar
|
||||
archivers/gtar
|
||||
archivers/unzip
|
||||
benchmarks/iozone
|
||||
devel/autoconf
|
||||
devel/bison
|
||||
devel/gettext
|
||||
devel/glib
|
||||
devel/gmake
|
||||
devel/id-utils
|
||||
devel/m4
|
||||
devel/mm
|
||||
editors/emacs
|
||||
graphics/aalib
|
||||
graphics/compface
|
||||
graphics/gimp
|
||||
graphics/jpeg
|
||||
graphics/mpeg-lib
|
||||
graphics/png
|
||||
graphics/tiff34
|
||||
lang/egcs-stable
|
||||
lang/tcl80
|
||||
mail/fetchmail
|
||||
mail/mm
|
||||
mail/nmh
|
||||
mail/pine
|
||||
math/gnuplot
|
||||
misc/screen
|
||||
net/ethereal
|
||||
net/ircii-epic
|
||||
net/netpipe
|
||||
net/sniffit
|
||||
net/wget
|
||||
print/enscript
|
||||
print/ghostscript5
|
||||
print/gv
|
||||
shells/bash2
|
||||
shells/tcsh
|
||||
sysutils/xntpd
|
||||
x11/Xaw3d
|
||||
x11/gtk+
|
||||
x11/tk80
|
||||
x11/xcolors
|
85
infrastructure/db/full-list
Normal file
85
infrastructure/db/full-list
Normal file
@ -0,0 +1,85 @@
|
||||
# This is a full list of everything that should currently build okay,
|
||||
# and be built routinely by ports/packages people
|
||||
archivers/bzip2
|
||||
archivers/gshar+gunshar
|
||||
archivers/gtar
|
||||
archivers/unzip
|
||||
astro/xphoon
|
||||
audio/mpg123
|
||||
benchmarks/iozone
|
||||
devel/autoconf
|
||||
devel/bison
|
||||
devel/ddd
|
||||
devel/dejagnu
|
||||
devel/gettext
|
||||
devel/glib
|
||||
devel/gmake
|
||||
devel/id-utils
|
||||
devel/libslang
|
||||
devel/m4
|
||||
editors/emacs
|
||||
editors/jove
|
||||
editors/vim
|
||||
graphics/ImageMagick
|
||||
graphics/aalib
|
||||
graphics/compface
|
||||
graphics/gimp
|
||||
graphics/jpeg
|
||||
graphics/mpeg-lib
|
||||
graphics/mpeg_play
|
||||
graphics/netpbm
|
||||
graphics/png
|
||||
graphics/tiff34
|
||||
graphics/xfig
|
||||
graphics/xpaint
|
||||
graphics/xv
|
||||
lang/egcs-stable
|
||||
lang/expect
|
||||
lang/tcl80
|
||||
mail/cucipop
|
||||
mail/fetchmail
|
||||
mail/metamail
|
||||
mail/mutt
|
||||
mail/nmh
|
||||
mail/pine
|
||||
math/gnuplot
|
||||
math/xspread
|
||||
misc/screen
|
||||
misc/gnuls
|
||||
net/dxpc
|
||||
net/ethereal
|
||||
net/ircii-epic
|
||||
net/netpipe
|
||||
net/rsync
|
||||
net/wget
|
||||
print/a2ps PAPERSIZE=A4
|
||||
print/a2ps PAPERSIZE=Letter
|
||||
print/afm
|
||||
print/enscript
|
||||
print/freetype
|
||||
print/ghostscript5
|
||||
print/gv
|
||||
print/psutils
|
||||
print/teTeX
|
||||
print/transfig
|
||||
security/pgp USA_RESIDENT=YES
|
||||
security/pgp USA_RESIDENT=NO
|
||||
security/ssh USA_RESIDENT=YES
|
||||
security/ssh USA_RESIDENT=NO
|
||||
shells/bash2
|
||||
shells/tcsh
|
||||
shells/zsh
|
||||
sysutils/idled
|
||||
sysutils/xntpd
|
||||
textproc/catdoc
|
||||
textproc/glimpse
|
||||
textproc/ispell
|
||||
textproc/latex2html
|
||||
textproc/xpdf
|
||||
x11/Xaw3d
|
||||
x11/gtk+
|
||||
x11/lesstif
|
||||
x11/rxvt
|
||||
x11/tk81
|
||||
x11/viewfax
|
||||
x11/xcolors
|
39
infrastructure/db/user.db
Normal file
39
infrastructure/db/user.db
Normal file
@ -0,0 +1,39 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
# $OpenBSD: user.db,v 1.1.1.1 1999/05/18 16:39:03 espie Exp $
|
||||
|
||||
# Used by install/createuser
|
||||
# fields for a user:
|
||||
# user: user name (default: key value)
|
||||
# fullname: description of the id (mandatory, include port path along)
|
||||
# group: group name (default: same as user)
|
||||
# uid: user id (mandatory)
|
||||
# gid: group id (default: uid)
|
||||
# mandatory: do we want THIS uid/gid, or the first one available ?
|
||||
# shell: (default: /sbin/nologin)
|
||||
# home: (default: /root)
|
||||
|
||||
%users =
|
||||
( pgsql =>
|
||||
{
|
||||
fullname => 'PostgresQL pseudo user (created by postgresql port)',
|
||||
uid => 70,
|
||||
home => "$ENV{'PREFIX'}/pgsql",
|
||||
shell => '/bin/sh'
|
||||
},
|
||||
nfr =>
|
||||
{
|
||||
fullname => 'Network Flight Recorder (created by nfr port)',
|
||||
uid => 42,
|
||||
home => $ENV{'NFRHOME'}
|
||||
},
|
||||
wnn =>
|
||||
{
|
||||
fullname => 'Wnn4 (created by ja-Wnn4)',
|
||||
uid => 69,
|
||||
group => 'bin',
|
||||
mandatory=> 'uid'
|
||||
}
|
||||
);
|
||||
|
||||
1;
|
31
infrastructure/fetch/check-distfiles
Executable file
31
infrastructure/fetch/check-distfiles
Executable file
@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
#$OpenBSD: check-distfiles,v 1.1.1.1 1999/05/18 16:39:05 espie Exp $
|
||||
|
||||
# This does a full-scale check of everything that lives under
|
||||
# /usr/ports/distfiles
|
||||
PORTS=/usr/ports
|
||||
ALLSUMS=`mktemp /usr/ports/checksums.XXXXXX` || exit 1
|
||||
GREP_RESULT=`mktemp /usr/ports/grep.XXXXXX` || exit 1
|
||||
# assume that INDEX is up-to-date
|
||||
touch $ALLSUMS
|
||||
cut -d\| -f2 <INDEX|while read i
|
||||
do
|
||||
if [ -f $i/files/md5 ]
|
||||
then
|
||||
cat $i/files/md5 >>$ALLSUMS
|
||||
else
|
||||
echo "Port $i does not seem to have a checksum file"
|
||||
fi
|
||||
done
|
||||
|
||||
cd $PORTS/distfiles
|
||||
find . -type f|sed -e 's|^\./||'|while read name
|
||||
do
|
||||
if grep "^SHA1 ($name) = " $ALLSUMS >$GREP_RESULT
|
||||
then
|
||||
sha1 $name >>$GREP_RESULT
|
||||
uniq -u <$GREP_RESULT
|
||||
else
|
||||
echo "no checksum recorded for $name"
|
||||
fi
|
||||
done
|
160
infrastructure/fetch/check-license
Executable file
160
infrastructure/fetch/check-license
Executable file
@ -0,0 +1,160 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# $OpenBSD: check-license,v 1.1.1.1 1999/05/18 16:39:05 espie Exp $
|
||||
#
|
||||
# This script verifies that all files in a given directory are
|
||||
# mentioned in the ports LICENSE file as Distribution allowed.
|
||||
# Output is three lists:
|
||||
#
|
||||
# Missing files: files that should be in the directory (if the
|
||||
# intent is to obtain all files that can be
|
||||
# re-distributed) but are not.
|
||||
#
|
||||
# Bad files: files that must NOT be in a distribution
|
||||
# directory. These are listed in the form
|
||||
# of a shell `mv -f xxx ../licensed' command so
|
||||
# they can be fed to the shell (after manual
|
||||
# verification) to move them into a directory
|
||||
# that will not be copied to any CD-ROM.
|
||||
#
|
||||
# Unknown files: files that are noted in the LICENSE file but
|
||||
# do not have a distribution flag of either Y or N.
|
||||
#
|
||||
# Extra files: Files that are in the given directory that are
|
||||
# not mentioned in the ports LICENSE file.
|
||||
#
|
||||
|
||||
# The ports base directory. Note: this may be supplied from the environment
|
||||
# using the standard bsd.port.mk name of PORTSDIR
|
||||
#
|
||||
LICENCE=${PORTSDIR:-/usr/ports}/LICENSE
|
||||
|
||||
# Our name and a function to spit out the usage. Exit.
|
||||
#
|
||||
prog=`basename $0`
|
||||
usage () {
|
||||
if [ ! -z "$1" ]; then
|
||||
echo "$prog: $1"
|
||||
fi
|
||||
echo "usage: $prog distribution-directory"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Verify we have one param and that it is the name of a directory.
|
||||
# If not spit out our usage and exit
|
||||
#
|
||||
if [ $# -eq 1 ]; then
|
||||
if [ -d $1 ]; then
|
||||
DIST=$1
|
||||
else
|
||||
usage "$1 is not a directory"
|
||||
fi
|
||||
else
|
||||
usage
|
||||
fi
|
||||
|
||||
# This awk script matches the license file agains an `ls' of of the given
|
||||
# distribution directory and spits instructions out to stdout.
|
||||
#
|
||||
/bin/ls $DIST |
|
||||
awk -v L=$LICENCE '
|
||||
BEGIN {
|
||||
# Process license file
|
||||
#
|
||||
while ( getline <L ) {
|
||||
if ( NF == 4 ) {
|
||||
if ( $1 == "Y" ) {
|
||||
good_files[ $3 ] = 0
|
||||
} else if ( $1 == "N" ) {
|
||||
bad_files[ $3 ] = 0
|
||||
} else {
|
||||
unk_files[ $3 ] = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
extra_count = 0
|
||||
}
|
||||
|
||||
$1 in good_files {
|
||||
good_files[ $1 ] = 1
|
||||
next
|
||||
}
|
||||
$1 in bad_files {
|
||||
bad_files[ $1 ] = 1
|
||||
next
|
||||
}
|
||||
$1 in unk_files {
|
||||
unk_files[ $1 ] = 1
|
||||
next
|
||||
}
|
||||
{
|
||||
extra_files[ extra_count++ ] = $1
|
||||
}
|
||||
|
||||
END {
|
||||
header = 0
|
||||
for ( f in good_files ) {
|
||||
if ( good_files[ f ] == 0 ) {
|
||||
if ( ! header ) {
|
||||
print "You are missing the following files:"
|
||||
print
|
||||
header = 1
|
||||
}
|
||||
print f
|
||||
}
|
||||
}
|
||||
for ( f in unk_files ) {
|
||||
if ( unk_files[ f ] == 0 ) {
|
||||
if ( ! header ) {
|
||||
print "You are missing the following files:"
|
||||
print
|
||||
header = 1
|
||||
}
|
||||
print f
|
||||
}
|
||||
}
|
||||
if ( header ) {
|
||||
print
|
||||
header = 0
|
||||
}
|
||||
for ( f in bad_files ) {
|
||||
if ( bad_files[ f ] == 1 ) {
|
||||
if ( ! header ) {
|
||||
print "You MUST move the following files/directories:"
|
||||
print
|
||||
header = 1
|
||||
}
|
||||
print "/bin/mv -f", f, "../licensed"
|
||||
}
|
||||
}
|
||||
if ( header ) {
|
||||
print
|
||||
header = 0
|
||||
}
|
||||
for ( f in unk_files ) {
|
||||
if ( unk_files[ f ] == 1 ) {
|
||||
if ( ! header ) {
|
||||
print "The status of the following files is unknown:"
|
||||
print
|
||||
header = 1
|
||||
}
|
||||
print f
|
||||
}
|
||||
}
|
||||
if ( header ) {
|
||||
print
|
||||
header = 0
|
||||
}
|
||||
|
||||
if ( extra_count > 0 ) {
|
||||
print "The following files/dirs are extra and " \
|
||||
"should probably be removed:"
|
||||
print
|
||||
for ( i = 0; i < extra_count; i += 1 ) {
|
||||
print "/bin/rm -rf", extra_files[ i ]
|
||||
}
|
||||
print
|
||||
}
|
||||
}
|
||||
'
|
||||
exit 0
|
94
infrastructure/install/createuser
Normal file
94
infrastructure/install/createuser
Normal file
@ -0,0 +1,94 @@
|
||||
#!/usr/bin/perl
|
||||
# $OpenBSD: createuser,v 1.1.1.1 1999/05/18 16:39:02 espie Exp $
|
||||
|
||||
# user creation script.
|
||||
# All ports that need to create new users should defer to this script
|
||||
# If specific capabilities are needed they should be added HERE as well.
|
||||
|
||||
require '/usr/ports/infrastructure/db/user.db';
|
||||
|
||||
use Fcntl ':flock'; # import LOCK_* constants
|
||||
|
||||
sub check_root
|
||||
{
|
||||
if ($>)
|
||||
{ die "Only root can run this script\n"; }
|
||||
if ($<)
|
||||
{ die "There is something fishy going on, I'd better quit\n"; }
|
||||
}
|
||||
|
||||
sub fill_user
|
||||
{
|
||||
my ($key) = shift;
|
||||
unless (defined $users{$key})
|
||||
{die "Sorry, no such user: $key, maybe you need to upgrade your createuser database ?\n"; }
|
||||
my ($r) = $users{$key};
|
||||
unless (defined $r->{fullname} && defined $r->{uid})
|
||||
{ die "Incompletely defined user: $key\n"; }
|
||||
$r->{user} = $key unless defined $r->{user};
|
||||
$r->{group} = $r->{user} unless defined $r->{group};
|
||||
$r->{gid} = $r->{uid} unless defined $r->{gid};
|
||||
$r->{shell} = '/sbin/nologin' unless defined $r->{shell};
|
||||
$r->{home} = '/root' unless defined $r->{home};
|
||||
# avoid characters such as + or : in password entries...
|
||||
|
||||
my $k;
|
||||
local $_;
|
||||
while (($k, $_) = each %$r)
|
||||
{ die "Bad chpass field $_\n" unless m/^[\d\w ()\-/.]+$/; }
|
||||
return $r;
|
||||
}
|
||||
|
||||
sub atomic_append
|
||||
{
|
||||
my ($file,@list) = @_;
|
||||
|
||||
open F, ">> $file" or die "$file: $!\n";
|
||||
unless (flock(F, LOCK_EX | LOCK_NB))
|
||||
{ die "Cannot lock $file\n"; }
|
||||
# prevent the rare case where someone is already appending to that file
|
||||
seek F, 0, 2;
|
||||
print F join( "\n", @list) . "\n";
|
||||
close F;
|
||||
flock F, LOCK_UN ;
|
||||
}
|
||||
|
||||
|
||||
# the main routine
|
||||
|
||||
check_root();
|
||||
if ($#ARGV < 0)
|
||||
{ die "Must supply one argument\n"; }
|
||||
|
||||
|
||||
my $r = fill_user($ARGV[0]);
|
||||
|
||||
my ($uid, $gid);
|
||||
|
||||
# find matching uid/gids.
|
||||
unless ( $uid = (getpwnam $r->{user})[2])
|
||||
{
|
||||
$uid = $r->{uid};
|
||||
$uid++ while getpwuid $uid;
|
||||
}
|
||||
|
||||
unless ( $gid = (getgrnam $r->{group})[2])
|
||||
{
|
||||
$gid = $r->{gid};
|
||||
$gid++ while getgrgid $gid;
|
||||
}
|
||||
|
||||
# check mandatory ids
|
||||
if ($r->{mandatory} =~ m/uid/ && $uid != $r->{uid})
|
||||
{ die "Uid mismatch for $r->{user}\n"; }
|
||||
if ($r->{mandatory} =~ m/gid/ && $gid != $r->{gid})
|
||||
{ die "Gid mismatch for $r->{user}\n"; }
|
||||
|
||||
atomic_append( '/etc/group', "$r->{group}:*:$gid:" );
|
||||
|
||||
print "$r->{user} with uid $uid, of group $r->{group} with gid $gid\n";
|
||||
|
||||
$passargs = join(':',
|
||||
($r->{user}, '*', $uid, $gid, '', '', '', $r->{fullname}, $r->{home}, $r->{shell}));
|
||||
print "/usr/bin/chpass -a $passargs\n";
|
||||
system('/usr/bin/chpass', '-a', $passargs);
|
47
infrastructure/package/check-dependencies
Executable file
47
infrastructure/package/check-dependencies
Executable file
@ -0,0 +1,47 @@
|
||||
#!/usr/bin/perl
|
||||
$cache=1;
|
||||
|
||||
print "Dependency list\n";
|
||||
print "---------------\n";
|
||||
for $file (<*.tgz>)
|
||||
{
|
||||
$name = $file;
|
||||
$name =~ s/\.tgz$//;
|
||||
unless ($cache && -f "t/CONTENTS.$name")
|
||||
{
|
||||
system("tar zxf $file +CONTENTS");
|
||||
rename("+CONTENTS", "t/CONTENTS.$name");
|
||||
}
|
||||
open(FILE, "t/CONTENTS.$name") or die "No contents";
|
||||
$deps{$name}=[];
|
||||
while (<FILE>)
|
||||
{
|
||||
chomp;
|
||||
if (m/^\@pkgdep\s+/)
|
||||
{
|
||||
push(@{$deps{$name}}, $');
|
||||
}
|
||||
}
|
||||
close(FILE);
|
||||
print $name, ": ", join(',', @{$deps{$name}}), "\n";
|
||||
}
|
||||
|
||||
print "Checking topological order\n";
|
||||
print "--------------------------\n";
|
||||
# check recursive brokeness
|
||||
while (($key, $value) = each %deps)
|
||||
{
|
||||
%pulled=();
|
||||
for $np (@$value)
|
||||
{
|
||||
for $rec (@{$deps{$np}})
|
||||
{
|
||||
unless (defined $pulled{$rec})
|
||||
{
|
||||
print "Error: $key depends on $np which depends on $rec\n";
|
||||
print "(", join(",", @$value), ")\n";
|
||||
}
|
||||
}
|
||||
$pulled{$np} = 1;
|
||||
}
|
||||
}
|
121
infrastructure/templates/Makefile.template
Normal file
121
infrastructure/templates/Makefile.template
Normal file
@ -0,0 +1,121 @@
|
||||
# $OpenBSD: Makefile.template,v 1.1.1.1 1999/05/18 16:39:05 espie Exp $
|
||||
# $FreeBSD/NetBSD: credit FreeBSD/NetBSD if thats where the port came from $
|
||||
# Original from: credit the original author here
|
||||
#
|
||||
# Replace ??? with appropriate values
|
||||
# Remove extraneous comments before commit.
|
||||
|
||||
#
|
||||
# What port/package will be created
|
||||
#
|
||||
DISTNAME= ???
|
||||
#DIST_SUBDIR= ???
|
||||
#PKGNAME= ???
|
||||
CATEGORIES= ???
|
||||
|
||||
# Reasons why the port/package shouldn't be built
|
||||
#
|
||||
#NEED_VERSION= ?.??
|
||||
#COMES_WITH= ???
|
||||
#ONLY_FOR_ARCHS= ???
|
||||
#BROKEN= "reason"
|
||||
#NO_CDROM= "reason"
|
||||
#RESTRICTED= "reason"
|
||||
#MIRROR_DISTFILE= no
|
||||
|
||||
# where to send bitches about this port
|
||||
#
|
||||
MAINTAINER= ports@openbsd.org
|
||||
|
||||
# where the source files and patches can be fetched
|
||||
#
|
||||
MASTER_SITES= ???
|
||||
#MASTER_SITE_SUBDIR= ???
|
||||
#DISTFILES= ???
|
||||
#PATCH_SITES= ???
|
||||
#PATCHFILES= ???
|
||||
#PATCH_DIST_STRIP= -p0
|
||||
#EXTRACT_SUFX= .tar.Z
|
||||
#EXTRACT_CMD= ???
|
||||
#EXTRACT_BEFORE_ARGS= ???
|
||||
#EXTRACT_AFTER_ARGS= ???
|
||||
|
||||
# don't forget to list supplementary files here (arch-dependent stuff,
|
||||
# or files that only get used with specific options. Otherwise,
|
||||
# make checksum/addsum WON'T WORK.
|
||||
#SUPDISTFILES=
|
||||
#SUPPATCHFILES=
|
||||
|
||||
# Dependencies
|
||||
#
|
||||
#FETCH_DEPENDS= ???
|
||||
#BUILD_DEPENDS= ???
|
||||
#RUN_DEPENDS= ???
|
||||
#LIB_DEPENDS= ???
|
||||
|
||||
# Is the build automagic or is it interactive
|
||||
#
|
||||
#IS_INTERACTIVE= yes
|
||||
|
||||
# build/configuration variables
|
||||
#
|
||||
# requires bsd.port.mk 1.71 or later
|
||||
#SEPARATE_BUILD= concurrent (build simultaneously on all arches)
|
||||
#SEPARATE_BUILD= simple (configure/build still recreates files in source)
|
||||
#USE_EGCC= yes
|
||||
#USE_EGXX= yes
|
||||
#USE_GMAKE= yes
|
||||
#USE_IMAKE= yes
|
||||
#USE_X11= yes (assumed if USE_IMAKE is yes)
|
||||
#USE_AUTOCONF= yes
|
||||
#GNU_CONFIGURE= yes (assumed if USE_AUTOCONF is yes)
|
||||
#HAS_CONFIGURE= yes (assumed if GNU_CONFIGURE is yes)
|
||||
#CONFIGURE_SCRIPT= ??? (if other than configure)
|
||||
#CONFIGURE_ARGS+= ${CONFIGURE_SHARED}
|
||||
#CONFIGURE_ENV= ???
|
||||
|
||||
# Things that we don't want to do for this port/package
|
||||
#
|
||||
#NO_DEPENDS= yes
|
||||
#NO_WRKDIR= yes
|
||||
#NO_WRKSUBDIR= yes
|
||||
#NO_CHECKSUM= yes
|
||||
#NO_EXTRACT= yes
|
||||
#NO_PATCH= yes
|
||||
#NO_CONFIGURE= yes
|
||||
#NO_BUILD= yes
|
||||
#NO_INSTALL= yes
|
||||
#NO_MTREE= yes
|
||||
#NO_PACKAGE= yes
|
||||
#NO_PKG_REGISTER= yes
|
||||
|
||||
# This section is only needed if man pages are distributed in compressed
|
||||
# form. Define MANCOMPRESSED and the man pages by section. The pages
|
||||
# will be uncompressed after being installed.
|
||||
#
|
||||
#MANCOMPRESSED= yes
|
||||
#MAN1= ???
|
||||
#MAN3= ???
|
||||
#MAN4= ???
|
||||
#MAN5= ???
|
||||
#MAN8= ???
|
||||
|
||||
# Overrides for default values
|
||||
#
|
||||
#MAKEFILE= ???
|
||||
#MAKE_FLAGS= ???
|
||||
#MAKE_ENV= ???
|
||||
#SCRIPTS_ENV= ???
|
||||
#LDFLAGS= ???
|
||||
#WRKDIR= ??? if other than work
|
||||
#WRKSRC= ??? if other than ${WRKDIR}/$DISTNAME
|
||||
|
||||
#ALL_TARGET= ???
|
||||
#INSTALL_TARGET= ???
|
||||
|
||||
# This target may be necessary if a shared library may have been created
|
||||
#
|
||||
#post-install:
|
||||
# ${LDCONFIG} -m ${PREFIX}/lib
|
||||
|
||||
.include <bsd.port.mk>
|
9
infrastructure/templates/README.category
Normal file
9
infrastructure/templates/README.category
Normal file
@ -0,0 +1,9 @@
|
||||
<H1>Ports in Category %%CATEGORY%%</H1>
|
||||
|
||||
<h2>Description</h2>
|
||||
%%DESCR%%
|
||||
|
||||
<h2>Sub directories</h2>
|
||||
<dl>
|
||||
%%SUBDIR%%
|
||||
</dl>
|
22
infrastructure/templates/README.port
Normal file
22
infrastructure/templates/README.port
Normal file
@ -0,0 +1,22 @@
|
||||
<H1>The %%PORT%% port</H1>
|
||||
|
||||
<H2>
|
||||
%%PKG%%
|
||||
--
|
||||
%%COMMENT%%
|
||||
</H2>
|
||||
<H2>Description</H2>
|
||||
|
||||
<pre>
|
||||
%%DESCR%%
|
||||
</pre>
|
||||
|
||||
<H2>Build dependencies</H2>
|
||||
<ul>
|
||||
%%BUILD_DEPENDS%%
|
||||
</ul>
|
||||
|
||||
<H2>Run dependencies</H2>
|
||||
<ul>
|
||||
%%RUN_DEPENDS%%
|
||||
</ul>
|
9
infrastructure/templates/README.top
Normal file
9
infrastructure/templates/README.top
Normal file
@ -0,0 +1,9 @@
|
||||
<H1>OpenBSD ports collection</H1>
|
||||
|
||||
<h2>Description</h2>
|
||||
%%DESCR%%
|
||||
|
||||
<h2>Sub directories</h2>
|
||||
<dl COMPACT>
|
||||
%%SUBDIR%%
|
||||
</dl>
|
Loading…
Reference in New Issue
Block a user