diff options
302 files changed, 187 insertions, 21940 deletions
@@ -2748,3 +2748,50 @@ graphics/xpm||2007-02-02|Removed as part of obsolete XFree86 3.X x11/XFree86||2007-02-02|Removed this obsolete old version of XFree86 x11/XFree86-contrib||2007-02-02|Removed this obsolete old version of XFree86 sysutils/unidesc|sysutils/uniutils|2007-02-04|Renamed by the author +devel/portcheckout|ports-mgmt/portcheckout|2007-02-05|Moved to a new category +devel/portlint|ports-mgmt/portlint|2007-02-05|Moved to a new category +devel/portmk|ports-mgmt/portmk|2007-02-05|Moved to a new category +devel/porttools|ports-mgmt/porttools|2007-02-05|Moved to a new category +misc/instant-tinderbox|ports-mgmt/instant-tinderbox|2007-02-05|Moved to a new category +misc/porteasy|ports-mgmt/porteasy|2007-02-05|Moved to a new category +misc/portell|ports-mgmt/portell|2007-02-05|Moved to a new category +misc/portless|ports-mgmt/portless|2007-02-05|Moved to a new category +misc/tinderbox|ports-mgmt/tinderbox|2007-02-05|Moved to a new category +security/jailaudit|ports-mgmt/jailaudit|2007-02-05|Moved to a new category +security/portaudit|ports-mgmt/portaudit|2007-02-05|Moved to a new category +security/portaudit-db|ports-mgmt/portaudit-db|2007-02-05|Moved to a new category +security/vulnerability-test-port|ports-mgmt/vulnerability-test-port|2007-02-05|Moved to a new category +sysutils/barry|ports-mgmt/barry|2007-02-05|Moved to a new category +sysutils/bpm|ports-mgmt/bpm|2007-02-05|Moved to a new category +sysutils/kports|ports-mgmt/kports|2007-02-05|Moved to a new category +sysutils/managepkg|ports-mgmt/managepkg|2007-02-05|Moved to a new category +sysutils/newportsversioncheck|ports-mgmt/newportsversioncheck|2007-02-05|Moved to a new category +sysutils/pib|ports-mgmt/pib|2007-02-05|Moved to a new category +sysutils/pkgfe|ports-mgmt/pkgfe|2007-02-05|Moved to a new category +sysutils/pkg-orphan|ports-mgmt/pkg-orphan|2007-02-05|Moved to a new category +sysutils/pkg_cutleaves|ports-mgmt/pkg_cutleaves|2007-02-05|Moved to a new category +sysutils/pkg_install|ports-mgmt/pkg_install|2007-02-05|Moved to a new category +sysutils/pkg_install-devel|ports-mgmt/pkg_install-devel|2007-02-05|Moved to a new category +sysutils/pkg_remove|ports-mgmt/pkg_remove|2007-02-05|Moved to a new category +sysutils/pkg_rmleaves|ports-mgmt/pkg_rmleaves|2007-02-05|Moved to a new category +sysutils/pkg_trackinst|ports-mgmt/pkg_trackinst|2007-02-05|Moved to a new category +sysutils/pkg_tree|ports-mgmt/pkg_tree|2007-02-05|Moved to a new category +sysutils/portbrowser|ports-mgmt/portbrowser|2007-02-05|Moved to a new category +sysutils/portconf|ports-mgmt/portconf|2007-02-05|Moved to a new category +sysutils/portdowngrade|ports-mgmt/portdowngrade|2007-02-05|Moved to a new category +sysutils/portcheck|ports-mgmt/portcheck|2007-02-05|Moved to a new category +sysutils/portmanager|ports-mgmt/portmanager|2007-02-05|Moved to a new category +sysutils/portmaster|ports-mgmt/portmaster|2007-02-05|Moved to a new category +sysutils/portscout|ports-mgmt/portscout|2007-02-05|Moved to a new category +sysutils/portsearch|ports-mgmt/portsearch|2007-02-05|Moved to a new category +sysutils/portsman|ports-mgmt/portsman|2007-02-05|Moved to a new category +sysutils/portsnap|ports-mgmt/portsnap|2007-02-05|Moved to a new category +sysutils/portsopt|ports-mgmt/portsopt|2007-02-05|Moved to a new category +sysutils/portupgrade|ports-mgmt/portupgrade|2007-02-05|Moved to a new category +sysutils/portupgrade-devel|ports-mgmt/portupgrade-devel|2007-02-05|Moved to a new category +sysutils/port-authoring-tools|ports-mgmt/port-authoring-tools|2007-02-05|Moved to a new category +sysutils/port-maintenance-tools|ports-mgmt/port-maintenance-tools|2007-02-05|Moved to a new category +sysutils/psearch|ports-mgmt/psearch|2007-02-05|Moved to a new category +sysutils/p5-FreeBSD-Portindex|ports-mgmt/p5-FreeBSD-Portindex|2007-02-05|Moved to a new category +sysutils/qtpkg|ports-mgmt/qtpkg|2007-02-05|Moved to a new category +textproc/p5-FreeBSD-Ports|ports-mgmt/p5-FreeBSD-Ports|2007-02-05|Moved to a new category diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 71c0ca32ec2d..bd76a4d39c0d 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -2288,9 +2288,9 @@ PORTDIRNAME?= ${_PORTDIRNAME} PKGORIGIN?= ${PKGCATEGORY}/${PORTDIRNAME} -.if (${OSVERSION} < 491101 && ${PKGORIGIN} != "sysutils/pkg_install") || exists(${LOCALBASE}/sbin/pkg_info) -.if ${OSVERSION} < 491101 && ${PKGORIGIN} != "sysutils/pkg_install" -EXTRACT_DEPENDS+= ${LOCALBASE}/sbin/pkg_info:${PORTSDIR}/sysutils/pkg_install +.if (${OSVERSION} < 491101 && ${PKGORIGIN} != "ports-mgmt/pkg_install") || exists(${LOCALBASE}/sbin/pkg_info) +.if ${OSVERSION} < 491101 && ${PKGORIGIN} != "ports-mgmt/pkg_install" +EXTRACT_DEPENDS+= ${LOCALBASE}/sbin/pkg_info:${PORTSDIR}/ports-mgmt/pkg_install .endif .if !defined(DESTDIR) PKG_CMD?= ${LOCALBASE_REL}/sbin/pkg_create @@ -6,6 +6,17 @@ You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20070205: + AFFECTS: everybody + AUTHOR: pav@FreeBSD.org + + New ports category was created - /usr/ports/ports-mgmt + + Most significant port moved to this new category is portupgrade. + So don't be alarmed, it was not deleted. You can find it now in + + /usr/ports/ports-mgmt/portupgrade + 20070202: AFFECTS: users of www/aolserver AUTHOR: martin@matuska.org diff --git a/devel/Makefile b/devel/Makefile index 0e5b1a309da7..5f28168dc4ac 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1694,11 +1694,7 @@ SUBDIR += poco SUBDIR += poco-ssl SUBDIR += popt - SUBDIR += portcheckout SUBDIR += portlet-api - SUBDIR += portlint - SUBDIR += portmk - SUBDIR += porttools SUBDIR += poslib SUBDIR += powerpc-binutils SUBDIR += powerpc-gcc diff --git a/devel/portcheckout/Makefile b/devel/portcheckout/Makefile deleted file mode 100644 index 5370ee92e9b7..000000000000 --- a/devel/portcheckout/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -# New ports collection makefile for: portcheckout -# Date created: 1 November 1998 -# Whom: wosch -# -# $FreeBSD$ -# - -PORTNAME= portcheckout -PORTVERSION= 2.0 -CATEGORIES= devel -MASTER_SITES= http://wolfram.schneider.org/src/ - -MAINTAINER= wosch@FreeBSD.org -COMMENT= Checkout and build ports and all depending ports - -USE_PERL5= yes -MAN1= portcheckout.1 -MANCOMPRESSED= maybe -PLIST_FILES= bin/portcheckout - -post-patch: - perl -pi -e 's^\#\!/usr/local/bin/perl^#!${PERL5}^' ${WRKSRC}/portcheckout.pl - -.include <bsd.port.mk> diff --git a/devel/portcheckout/distinfo b/devel/portcheckout/distinfo deleted file mode 100644 index c7e2dbe4814a..000000000000 --- a/devel/portcheckout/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (portcheckout-2.0.tar.gz) = 930a626eb8761f5012b6105e553e75ad -SHA256 (portcheckout-2.0.tar.gz) = 7ded630e856411083b5f32dd0e769a6f46e34f980a01bc12f8d26170977e5ed4 -SIZE (portcheckout-2.0.tar.gz) = 4981 diff --git a/devel/portcheckout/files/patch-aa b/devel/portcheckout/files/patch-aa deleted file mode 100644 index ec1d2a621a95..000000000000 --- a/devel/portcheckout/files/patch-aa +++ /dev/null @@ -1,47 +0,0 @@ ---- portcheckout.pl-- Tue Oct 24 13:04:07 2000 -+++ portcheckout.pl Tue Oct 24 13:04:35 2000 -@@ -94,14 +94,14 @@ - PORTSDIR="/tmp/ports"; export PORTSDIR - - # checkout FreeBSD ports system Makefiles -- cvs checkout ports/Mk -+ cvs checkout -P ports/Mk - - ################################################## - # checkout port: de-dict-1.1 -- cvs checkout ports/german/dict -+ cvs checkout -P ports/german/dict - - # de-dict-1.1 depend on port: agrep-2.04 -- cvs checkout ports/textproc/agrep -+ cvs checkout -P ports/textproc/agrep - - ################################################## - # Compile and install de-dict-1.1 -@@ -328,7 +328,7 @@ - #print qq{DISTDIR="/usr/ports/distfiles"; export DISTDIR\n}; - - print "\n# checkout FreeBSD ports system Makefiles\n"; --print "cvs checkout $release ports/Mk\n\n"; -+print "cvs checkout -P $release ports/Mk\n\n"; - - - # list of dependings ports -@@ -338,7 +338,7 @@ - - print "#" x 50, "\n"; - print "# checkout port: $distributionname\n"; -- print "cvs checkout $release ", $obj->{$distributionname}{portpath}, "\n\n"; -+ print "cvs checkout -P $release ", $obj->{$distributionname}{portpath}, "\n\n"; - - $ports_depends{$distributionname} = 1; - foreach my $depends ( -@@ -355,7 +355,7 @@ - $ports_depends{$depends} = 1; - - print "# $distributionname depend on port: $depends\n"; -- print "cvs checkout $release ", $obj->{$depends}{portpath}, "\n\n"; -+ print "cvs checkout -P $release ", $obj->{$depends}{portpath}, "\n\n"; - } - } - diff --git a/devel/portcheckout/files/patch-ab b/devel/portcheckout/files/patch-ab deleted file mode 100644 index 919579561917..000000000000 --- a/devel/portcheckout/files/patch-ab +++ /dev/null @@ -1,12 +0,0 @@ ---- portcheckout.pl.old Thu Jul 31 02:23:39 2003 -+++ portcheckout.pl Thu Jul 31 02:24:54 2003 -@@ -328,7 +328,8 @@ - #print qq{DISTDIR="/usr/ports/distfiles"; export DISTDIR\n}; - - print "\n# checkout FreeBSD ports system Makefiles\n"; --print "cvs checkout -P $release ports/Mk\n\n"; -+print "cvs checkout -P $release ports/Mk\n"; -+print "cvs checkout -P $release ports/Templates\n\n"; - - - # list of dependings ports diff --git a/devel/portcheckout/pkg-descr b/devel/portcheckout/pkg-descr deleted file mode 100644 index d78a7e082585..000000000000 --- a/devel/portcheckout/pkg-descr +++ /dev/null @@ -1,7 +0,0 @@ -The portcheckout(1) reads the /usr/ports/INDEX file and checks-out -a given port and its dependencies. This makes it easy to use the -ports system without having a full and up-to-date /usr/ports tree. - -A typical use would be to connect to the Internet, possibly download -a new INDEX and ports upgrade kit, download a port skeleton with -portcheckout(1), and then build the port. diff --git a/devel/portlint/Makefile b/devel/portlint/Makefile deleted file mode 100644 index 4f76bdce8de5..000000000000 --- a/devel/portlint/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# New ports collection makefile for: portlint -# Date created: 13 Jun 1997 -# Whom: Jun-ichiro itojun Hagino <itojun@itojun.org> -# -# $FreeBSD$ -# -# This port is self contained in the src directory. -# - -PORTNAME= portlint -PORTVERSION= 2.9.2 -CATEGORIES= devel -MASTER_SITES= # none -DISTFILES= # none - -MAINTAINER= marcus@FreeBSD.org -COMMENT= A verifier for FreeBSD port directory - -NO_BUILD= yes -WRKSRC= ${WRKDIR}/src -USE_PERL5_RUN= yes - -SRC= ${.CURDIR}/src - -MAN1= portlint.1 - -do-fetch: - @${DO_NADA} - -pre-patch: - @${CP} -R ${SRC} ${WRKDIR} - -post-patch: - @${REINPLACE_CMD} -e 's|/usr/bin/perl|${PERL}|' ${WRKSRC}/portlint.pl - @${REINPLACE_CMD} -e 's|/usr/bin/perl|${PERL}|' \ - ${WRKSRC}/portlintgrep.pl - -do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/portlint.pl ${TARGETDIR}/bin/portlint - ${INSTALL_MAN} ${WRKSRC}/portlint.1 ${MAN1PREFIX}/man/man1 - ${MKDIR} ${EXAMPLESDIR} - ${INSTALL_SCRIPT} ${WRKSRC}/portlintgrep.pl ${EXAMPLESDIR}/portlintgrep - -.include <bsd.port.mk> diff --git a/devel/portlint/pkg-descr b/devel/portlint/pkg-descr deleted file mode 100644 index f7408b5ed432..000000000000 --- a/devel/portlint/pkg-descr +++ /dev/null @@ -1,2 +0,0 @@ -portlint makes a small set of sanity checks for port directory. Check out -portlint(1) for more details. diff --git a/devel/portlint/pkg-plist b/devel/portlint/pkg-plist deleted file mode 100644 index d958b3065723..000000000000 --- a/devel/portlint/pkg-plist +++ /dev/null @@ -1,3 +0,0 @@ -bin/portlint -%%EXAMPLESDIR%%/portlintgrep -@dirrm %%EXAMPLESDIR%% diff --git a/devel/portlint/src/portlint.1 b/devel/portlint/src/portlint.1 deleted file mode 100644 index fe4a36a54501..000000000000 --- a/devel/portlint/src/portlint.1 +++ /dev/null @@ -1,176 +0,0 @@ -.\" $FreeBSD$ -.\" $MCom: portlint/portlint.1,v 1.9 2006/05/30 04:47:45 marcus Exp $ -.\" -.\" Copyright (c) 1997 by Jun-ichiro Hagino <itojun@itojun.org>. -.\" All Rights Reserved. Absolutely no warranty. -.\" -.Dd May 30, 2006 -.Dt PORTLINT 1 -.Sh NAME -.Nm portlint -.Nd a verifier for port directories -.Sh SYNOPSIS -.Nm portlint -.Op Fl abcghvtACNV -.Op Fl M Ar ENV -.Op Fl B Ar n -.Op Ar dir -.Sh DESCRIPTION -.Nm -tries to verify the content of a port directory. -The purpose of -.Nm -can be separated into two parts: -.Pq 1 -to let the submitters easily polish their own port directory, and -.Pq 2 -to decrease the labor of the committers. -.Pp -.Nm -uses very simple regular-expression matching for verifying -files that make up a port directory. -Note that it does NOT implement a complete parser for those files. -Because of this the user may see some extra warnings, -especially when checking complex -.Pa Makefile Ns No s . -.Pp -.Sy Options -.Bl -tag -width Fl -.It Fl a -Perform additional checks for extra files, such as -.Pa scripts/* -and -.Pa pkg-* . -.It Fl b -Warn the use of -.Pa $(VARIABLE) . -Some of the committers prefer -.Pa ${VARIABLE} -instead of -.Pa $(VARIABLE) , -even though they are semantically same. -.It Fl c -Committer flag. -It will add several checks useful only for committers. -If you are a committer and performing check just before committing a port, -use this option. -.It Fl g -Group and consolidate errors so that redundant error messages are rolled -up into one line with a list of all affected line numbers (where -appropriate). This option is disabled if -.Fl v -is specified. -.It Fl h -Show the summary of command line options, then exit. -.It Fl v -Be verbose. -Show the progress report for items that are being checked. -.It Fl t -Nit pick about use of spaces. -.It Fl A -Turn on all additional checks. -.It Fl C -Pedantic committer flag. This is equivalent to -.Fl abct . -.It Fl N -New port flag. -Adds several checks specific to newly submitted port. -If you are willing to submit the directory to be checked as a new port, -use this option. -.It Fl V -Print the portlint version and exit. -.It Fl M Ar ENV -Set make variables to -.Pa ENV -(ex. PORTSDIR=/usr/ports.work). -.It Fl B Ar n -Set the number of contiguous blank lines allowed in -.Pa Makefile -to -.Ar n . -(by default, -.Ar n -is 1) -.It dir -The port directory to be checked. -If omitted, check will be performed over the current directory. -.El -.Sh DIAGNOSTICS -Messages will be sent to standard output, not standard error output. -.Bl -tag -width WARN: foobaa -.It FATAL: ... -This type of error message suggests that there is some fatal error -in the port directory. -For example, if some files need a rewrite, or if -some inevitable files are missing, this message will show up. -This kind of errors should be avoided BEFORE submitting -a port via send-pr to the committers. -.\"If a submitter submits it without update, committers will need to rewrite -.\"on behalf of the submitters, which may result in delay of -.\"the development of operating system itself. -.It WARN: ... -This type of error message suggests that some files may (or may not) -need some fix. -Basically, warnings are produced when -.Nm -is not completely sure about the result. -For example, complex -.Pa Makefile Ns No s -may need some statements that can match the regular expression -.Nm -uses for sanity checks. -In those cases, the user should evaluate the result manually, -and obey/ignore the result. -.It OK: ... -This types of message is used in verbose mode -.Pq Fl v . -.El -.Sh ENVIRONMENT -The following environment variables affect the execution of -.Nm : -.Bl -tag -width ".Ev PL_CVS_IGNORE" -.It Ev PL_CVS_IGNORE -Set to a Perl-compatible regular expression, of patterns -to ignore when checking to see if files are in the CVS -repository. For example, -.Li '^\ed+$|^pr-patch$' . -.It Ev PORTSDIR -The fully-qualified path to the ports tree. -For example, -.Dq Li /usr/ports . -.El -.Sh FILES -.Bl -tag -width bsd.port.mkxx -compact -.It Pa bsd.port.mk -master Makefile for ports -.Po -.Pa bsd.pkg.mk -on -.Nx -/ -.Ox -.Pc -.It Pa /usr/ports/* -ports collection -.Po -.Pa /usr/pkgsrc/* -on -.Nx -/ -.Ox -.Pc ; -can be overriden by setting the -.Va PORTSDIR -environment variable. - -.Sh AUTHORS -.An Joe Marcus Clarke Aq marcus@FreeBSD.org -.An Michael Haro Aq mharo@FreeBSD.org -.An Jun-ichiro Hagino Aq itojun@itojun.org -and -.An Yoshishige Arai Aq ryo2@on.rim.or.jp . -.Pp -Many people have contributed patches and comments/suggestions. -.Sh BUGS -.Nm -is not a magic wand, as described above. diff --git a/devel/portlint/src/portlint.pl b/devel/portlint/src/portlint.pl deleted file mode 100644 index 1d70537eb977..000000000000 --- a/devel/portlint/src/portlint.pl +++ /dev/null @@ -1,2925 +0,0 @@ -#! /usr/bin/perl -# ex:ts=4 -# -# portlint - lint for port directory -# implemented by: -# Jun-ichiro itojun Hagino <itojun@itojun.org> -# Yoshishige Arai <ryo2@on.rim.or.jp> -# -# Copyright(c) 1997 by Jun-ichiro Hagino <itojun@itojun.org>. -# All rights reserved. -# Freely redistributable. Absolutely no warranty. -# -# Please note that this perl code used to be able to handle (Open|Net|Free)BSD -# bsd.port.mk. There are significant differences in those so you'll have -# hard time upgrading this... -# This code now mainly supports FreeBSD, but patches to update support for -# OpenBSD and NetBSD will be accepted. -# -# $FreeBSD$ -# $MCom: portlint/portlint.pl,v 1.126 2006/11/25 20:00:02 marcus Exp $ -# - -use vars qw/ $opt_a $opt_A $opt_b $opt_C $opt_c $opt_g $opt_h $opt_t $opt_v $opt_M $opt_N $opt_B $opt_V /; -use Getopt::Std; -use File::Find; -use IPC::Open2; -use POSIX qw(strftime); -use strict; - -sub perror($$$$); - -my ($err, $warn); -my ($extrafile, $parenwarn, $committer, $verbose, $usetabs, $newport, - $grouperrs); -my $contblank; -my $portdir; -my $makeenv = ""; -my @errlst = (); -my %errcache = (); - -$err = $warn = 0; -$extrafile = $parenwarn = $committer = $verbose = $usetabs = $newport = 0; -$contblank = 1; -$portdir = '.'; - -# version variables -my $major = 2; -my $minor = 9; -my $micro = 2; - -sub l { '[{(]'; } -sub r { '[)}]'; } -sub s { '[ \t]'; } - -my $l = &l; -my $r = &r; -my $s = &s; - -# default setting - for FreeBSD -my $portsdir = '/usr/ports'; -my $rcsidstr = 'FreeBSD'; -my $multiplist = 0; -my $ldconfigwithtrue = 0; -my $rcsidinplist = 0; -my $mancompress = 1; -my $manstrict = 0; -my $newxdef = 1; -my $automan = 1; -my $autoinfo = 1; -my $manchapters = '123456789ln'; -my $localbase = '/usr/local'; -my $numpitems = 6; - -my %lang_pref = qw( - arabic ar - chinese zh - french fr - german de - hebrew iw - hungarian hu - japanese ja - korean ko - polish pl - portuguese pt - russian ru - ukrainian uk - vietnamese vi -); -my @lang_cat = keys %lang_pref; -my @lang_short = values %lang_pref; -my $re_lang_short = '(' . join('|', @lang_short) . ')-'; - -my ($prog) = ($0 =~ /([^\/]+)$/); -sub usage { - print STDERR <<EOF; -usage: $prog [-AabCcghvtN] [-M ENV] [-B#] [port_directory] - -a additional check for scripts/* and pkg-* - -A turn on all additional checks (equivalent to -abcNt) - -b warn \$(VARIABLE) - -c committer mode - -C pedantic committer mode (equivalent to -abct) - -g group errors together to avoid duplication (disabled if -v is specified) - -h show summary of command line options - -v verbose mode - -t nit pick about use of spaces - -N writing a new port - -V print the version and exit - -M ENV set make variables to ENV (ex. PORTSDIR=/usr/ports.work) - -B# allow # contiguous blank lines (default: $contblank line) -EOF - exit 0; -} - -sub version { - print "$prog version $major.$minor.$micro\n"; - exit $major; -} - -getopts('AabCcghtvB:M:NV'); - -&usage if $opt_h; -&version if $opt_V; -$extrafile = 1 if $opt_a || $opt_A || $opt_C; -$parenwarn = 1 if $opt_b || $opt_A || $opt_C; -$committer = 1 if $opt_c || $opt_A || $opt_C; -$verbose = 1 if $opt_v; -$grouperrs = 1 if $opt_g && !$opt_v; -$newport = 1 if $opt_N || $opt_A; -$usetabs = 1 if $opt_t || $opt_A || $opt_C; -$contblank = $opt_B if $opt_B; -$makeenv = $opt_M if $opt_M; - -$portdir = $ARGV[0] ? $ARGV[0] : '.'; - -# OS dependent configs -# os portsdir rcsid mplist ldcfg plist-rcsid mancompresss strict localbase newxdef automan autoinfo -my @osdep = split(/\n/, <<EOF); -FreeBSD /usr/ports FreeBSD 0 0 0 1 0 /usr/local 1 1 1 -NetBSD /usr/pkgsrc NetBSD 1 1 1 0 1 /usr/pkg 0 0 0 -EOF -my $osname = `uname -s`; -$osname =~ s/\n$//; -foreach my $i (@osdep) { - if ($i =~ /^$osname\t(.*)/) { - print "OK: found OS config for $osname.\n" if ($verbose); - ($portsdir, $rcsidstr, $multiplist, $ldconfigwithtrue, - $rcsidinplist, $mancompress, $manstrict, $localbase, - $newxdef, $automan, $autoinfo) - = split(/\t+/, $1); - last; - } -} - -# The PORTSDIR environment variable overrides our defaults. -$portsdir = $ENV{PORTSDIR} if ( defined $ENV{'PORTSDIR'} ); - -if ($verbose) { - print "OK: config: portsdir: \"$portsdir\" ". - "rcsidstr: \"$rcsidstr\" ". - "multiplist: $multiplist ". - "ldconfigwithtrue: $ldconfigwithtrue ". - "rcsidinplist: $rcsidinplist ". - "mancompress: $mancompress ". - "manstrict: $manstrict ". - "localbase: $localbase ". - "\n"; -} - -# -# just for safety. -# -if (! -d $portdir) { - print STDERR "FATAL: invalid directory $portdir specified.\n"; - exit 1; -} - -chdir "$portdir" || die "$portdir: $!"; - -# get make vars -my @varlist = qw( - PORTNAME PORTVERSION PORTREVISION PORTEPOCH PKGNAME PKGNAMEPREFIX - PKGNAMESUFFIX DISTVERSIONPREFIX DISTVERSION DISTVERSIONSUFFIX - DISTNAME DISTFILES CATEGORIES MASTERDIR MAINTAINER MASTER_SITES - WRKDIR WRKSRC NO_WRKSUBDIR PATCHDIR SCRIPTDIR FILESDIR - PKGDIR COMMENT DESCR PLIST PKGCATEGORY PKGINSTALL PKGDEINSTALL - PKGREQ PKGMESSAGE MD5_FILE .CURDIR USE_LDCONFIG USE_AUTOTOOLS - INDEXFILE PKGORIGIN CONFLICTS PKG_VERSION PKGINSTALLVER - PLIST_FILES OPTIONS INSTALLS_OMF USE_GETTEXT USE_RC_SUBR - DIST_SUBDIR ALLFILES IGNOREFILES CHECKSUM_ALGORITHMS INSTALLS_ICONS -); - -my $cmd = join(' -V ', "make $makeenv MASTER_SITE_BACKUP=''", @varlist); - -my %makevar; -my $i = 0; -for (split(/\n/, `$cmd`)) { - print "OK: makevar: $varlist[$i] = $_\n" if ($verbose); - $makevar{$varlist[$i]} = $_; - $i++; -} - -# -# variables for global checks. -# -my $sharedocused = 0; -my %plistmanall = (); -my %plistmangz = (); -my %plistman = (); -my %manlangs = (); - -my %predefined = (); -# historical, no longer in FreeBSD's bsd.sites.mk -foreach my $i (split(/\n/, <<EOF)) { -GNU ftp://prep.ai.mit.edu/pub/gnu/%SUBDIR%/ -GNU ftp://wuarchive.wustl.edu/systems/gnu/%SUBDIR%/ -GNU ftp://ftp.ecrc.net/pub/gnu/%SUBDIR%/ -PERL_CPAN ftp://ftp.cdrom.com/pub/perl/CPAN/modules/by-module/%SUBDIR%/ -SUNSITE ftp://sunsite.unc.edu/pub/Linux/%SUBDIR%/ -SUNSITE ftp://ftp.funet.fi/pub/mirrors/sunsite.unc.edu/pub/Linux/%SUBDIR%/ -SUNSITE ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/%SUBDIR%/ -TEX_CTAN ftp://ftp.cdrom.com/pub/tex/ctan/%SUBDIR%/ -TEX_CTAN ftp://ftp.tex.ac.uk/public/ctan/tex-archive/%SUBDIR%/ -GNOME ftp://ftp.cybertrails.com/pub/gnome/%SUBDIR%/ -AFTERSTEP ftp://ftp.alpha1.net/pub/mirrors/ftp.afterstep.org/%SUBDIR%/ -AFTERSTEP ftp://casper.yz.yamagata-u.ac.jp/pub/X11/apps/afterstep/%SUBDIR%/ -WINDOWMAKER ftp://ftp.io.com/pub/%SUBDIR%/ -EOF - my ($j, $k) = split(/\t+/, $i); - $predefined{$k} = $j; -} - -# Read bsd.sites.mk -my $sites_mk = "$portsdir/Mk/bsd.sites.mk"; -open(MK, $sites_mk) || die "$sites_mk: $!"; -my @site_groups = grep($_ = /^MASTER_SITE_(\w+)/ && $1, <MK>); -close(MK); - -$cmd = join(' -V MASTER_SITE_', "make $makeenv -f - all", @site_groups); - -$i = 0; - -open2(\*IN, \*OUT, $cmd); - -print OUT <<EOF; -all: - # do nothing - -.include "$sites_mk" -EOF - -close(OUT); - -while (<IN>) { - my $g = $site_groups[$i]; - for my $s (split()) { - $predefined{$s} = $g; - } - $i++; -} - -close(IN); - -# -# check for files. -# -my @checker = ($makevar{DESCR}, 'Makefile', $makevar{MD5_FILE}); -my %checker = ( - $makevar{DESCR} => \&checkdescr, - 'Makefile' => \&checkmakefile, - $makevar{MD5_FILE} => \&checkdistinfo -); -if ($extrafile) { - my @files = ( - <$makevar{SCRIPTDIR}/*>, - @makevar{qw(DESCR PLIST PKGINSTALL PKGDEINSTALL PKGREQ PKGMESSAGE)} - ); - - foreach my $i (@files) { - next if (! -T $i); - next if (defined $checker{$i}); - if ($i =~ /\bpkg-plist$/ - || ($multiplist && $i =~ /\bpkg-plist/)) { - unshift(@checker, $i); - $checker{$i} = \&checkplist; - } else { - push(@checker, $i); - $checker{$i} = \&checkpathname; - } - } -} -foreach my $i (<$makevar{PATCHDIR}/patch-*>) { - next if (! -T $i); - next if (defined $checker{$i}); - push(@checker, $i); - $checker{$i} = \&checkpatch; -} -foreach my $i (@checker) { - print "OK: checking $i.\n" if ($verbose); - if (! -f "$i") { - &perror("FATAL", "", -1, "no $i in \"$portdir\".") unless $i eq $makevar{MD5_FILE} && $makevar{DISTFILES} eq ""; - } else { - my $proc = $checker{$i}; - &$proc($i) || &perror("", "", -1, "Cannot open the file $i\n"); - if ($proc ne \&checkpatch) { - &checklastline($i) - || &perror("", "", -1, "Cannot open the file $i\n"); - } - } -} - -# Check to make sure there is no pkg-comment file anymore. -if (-f 'pkg-comment') { - &perror("FATAL", "", -1, "Use of pkg-comment is obsolete. Use the COMMENT macro within the port's Makefile instead."); -} - -if ($committer) { - sub find_proc { - return if /^\.\.?$/; - - (my $fullname = $File::Find::name) =~ s#^\./##; - - print "OK: checking the file name of $fullname.\n" if ($verbose); - - if ($fullname eq 'work') { - &perror("FATAL", $fullname, -1, "be sure to cleanup the working directory ". - "before committing the port."); - - $File::Find::prune = 1; - } elsif (-l) { - &perror("WARN", $fullname, -1, "this is a symlink. ". - "CVS will ignore it."); - } elsif (-z) { - &perror("FATAL", $fullname, -1, "empty file and should be removed. ". - "If it still needs to be there, put a dummy comment ". - "to state that the file is intentionally left empty."); - } elsif (-d && scalar(my @x = <$_/{*,.?*}>) <= 1) { - &perror("FATAL", $fullname, -1, "empty directory should be removed."); - } elsif (/^\./) { - &perror("WARN", $fullname, -1, "dotfiles are not preferred. ". - "If this file is a dotfile to be installed as an example, ". - "consider importing it as \"dot$_\"."); - } elsif (/[^-.a-zA-Z0-9_\+]/) { - &perror("WARN", $fullname, -1, "only use characters ". - "[-_.a-zA-Z0-9+] for patch or script names."); - } elsif (/\.(orig|rej|bak)$/ || /~$/ || /^\#/) { - &perror("FATAL", $fullname, -1, "for safety, be sure to cleanup ". - "backup files before committing the port."); - } elsif (/(^|\.)core$/) { - &perror("FATAL", $fullname, -1, "for safety, be sure to cleanup ". - "core files before committing the port."); - } elsif (/README.html/) { - &perror("FATAL", $fullname, -1, "for safety, be sure to cleanup ". - "README.html files before committing the port."); - } elsif ($_ eq 'CVS' && -d) { - if ($newport) { - &perror("FATAL", $fullname, -1, "for safety, be sure to cleanup ". - "CVS directories before importing the new port."); - } - - $File::Find::prune = 1; - } - } - - find(\&find_proc, '.'); - - sub checksubdir { - my $dir = shift; - - print "OK: checking CVS status of \"$dir\".\n" if ($verbose); - opendir DIR, $dir; - my @filenames = readdir DIR; - closedir DIR; - - my %entries; - if (-f "$dir/CVS/Entries") { - open ENTRIES, "<$dir/CVS/Entries"; - while (<ENTRIES>) { - chomp; - my @entry = split /\//; - if ($entry[0] eq 'D') { - $entries{ $entry[1] } = $entry[0] - if $entry[1]; - } - elsif ($entry[0] eq '') { - if ($entry[2] =~ /^-/) { - $entries{ $entry[1] } = 'x'; - } - elsif ($entry[2] eq '0') { - $entries{ $entry[1] } = 'n'; - } - else { - $entries{ $entry[1] } = 'f'; - } - } - else { - &perror("WARN", "", -1, "can not parse CVS line $_"); - } - } - close ENTRIES; - } else { - &perror("WARN", "", -1, "no CVS directories. Use -N to check a new port."); - return; - } - - if (-f "$dir/CVS/Entries.Log") { - open ENTRIES, "<$dir/CVS/Entries.Log"; - while (<ENTRIES>) { - chomp; - my $cmd; - my @entry = split /\//; - if (/^(.) (.*)$/) { - $cmd = $1; - @entry = split /\//, $2; - } - else { - $cmd = 'A'; - @entry = split /\//; - } - if ($cmd eq 'A') { - if ($entry[0] eq 'D') { - $entries{ $entry[1] } = $entry[0] - if $entry[1]; - } - elsif ($entry[0] eq '') { - if ($entry[2] =~ /^-/) { - $entries{ $entry[1] } = 'x'; - } - elsif ($entry[2] eq '0') { - $entries{ $entry[1] } = 'n'; - } - else { - $entries{ $entry[1] } = 'f'; - } - } - else { - &perror("WARN", "", -1, "can not parse CVS line $_"); - } - } - elsif ($cmd eq 'R') { - delete $entries{ $entry[1] } - if $entry[1]; - } - # ignore unknown commands - } - close ENTRIES; - } - - foreach (@filenames) { - next - if /^(?:\.\.?|CVS)$/; - my $filename = $dir eq '.' ? $_ : "$dir/$_"; - if (-d $filename) { - if (!$entries{$_} || $entries{$_} ne 'D') { - &perror("FATAL", "", -1, "directory $filename not in CVS."); - } - else { - delete $entries{$_}; - checksubdir($filename); - } - } - else { - if (!$entries{$_}) { - &perror("FATAL", "", -1, "file $filename not in CVS.") - unless (eval { /$ENV{'PL_CVS_IGNORE'}/, 1 } && - /$ENV{'PL_CVS_IGNORE'}/); - } - elsif ($entries{$_} eq 'D') { - &perror("FATAL", "", -1, "file $filename is a directory in CVS."); - } - elsif ($entries{$_} eq 'x') { - &perror("FATAL", "", -1, "file $filename is deleted in CVS."); - } - elsif ($entries{$_} eq 'n') { - if (!system("egrep", "-q", "\\\$$rcsidstr\[^\$\]+\\\$", $filename)) { - &perror("WARN", "", -1, "RCS tag \"\$$rcsidstr\$\" ". - "should be empty in new file $filename."); - } - delete $entries{$_}; - } - else { - delete $entries{$_}; - } - } - } - - while (my ($file, $type) = each %entries) { - next if $type eq 'x'; - if ($type eq 'D') { - &perror("FATAL", "", -1, "CVS directory $dir/$file missing"); - } - else { - &perror("FATAL", "", -1, "CVS file $dir/$file missing"); - } - } - } - - checksubdir('.') - unless $newport; - - # Check for ports that may break INDEX - my $indexerr = `env LOCALBASE=/nonexistentlocal X11BASE=/nonexistentx make $makeenv describe 2>&1 >/dev/null`; - chomp $indexerr; - $indexerr =~ tr/\n/ /s; - &perror("FATAL", "", -1, "breaks INDEX ($indexerr).") - if ($indexerr); -} -if ($err || $warn) { - my($errtext, $warntext) = ("error", "warning"); - $errtext .= "s" unless ($err == 1); - $warntext .= "s" unless ($warn == 1); - if ($grouperrs) { - foreach my $msg (@errlst) { - my $lines; - if ($errcache{$msg} && scalar(@{$errcache{$msg}})) { - $lines = "[" . (join(",", @{$errcache{$msg}})) . "]: "; - } else { - $lines = ""; - } - $msg =~ s/%%LINES%%/$lines/; - print $msg, "\n"; - } - } - printf("%d fatal %s and %d %s found.\n", $err, $errtext, $warn, $warntext); -} else { - print "looks fine.\n"; -} -exit $err; - -# -# distinfo -# -sub checkdistinfo { - my($file) = @_; - my($dist_subdir) = $makevar{DIST_SUBDIR}; - my(@allfiles) = split (/\s+/, $makevar{ALLFILES}); - my %ignorefiles = (); - my %algorithms = (); - my %records = (); - - foreach my $i (split (/\s+/, $makevar{IGNOREFILES})) { - $ignorefiles{$i} = 1; - } - foreach my $i (split (/\s+/, uc ($makevar{CHECKSUM_ALGORITHMS}))) { - $algorithms{$i} = 1; - } - - if (scalar (%ignorefiles)) { - &perror("WARN", "", -1, "Found IGNOREFILES. It is not recomended."); - } - - open(IN, "< $file") || return 0; - while (<IN>) { - if (/^\s*$/) { - &perror("FATAL", $file, $., "found blank line."); - } - m/(\S+)\s+\((\S+)\)\s+=\s+(\S+)/; - - if ($1 ne "" && $2 ne "" && $3 ne "") { - my ($tag, $path, $value) = ($1, $2, $3); - $records{$path}{$tag} = $value; - - if (!$algorithms{$tag} && $tag ne "SIZE") { - &perror("FATAL", $file, $., "unsupported checksum algorithm ". - "found: $tag."); - } - } else { - &perror("FATAL", $file, $., "line format error."); - } - } - close(IN); - - # For all files check SIZE and checksums - foreach my $f (@allfiles) { - # Remove hindering chars from DISTNAME - $f =~ s/['\\]//g; - - my $path = $f; - $path = "$dist_subdir/$f" if $dist_subdir; - if (!defined($records{$path}{SIZE}) && !$ignorefiles{$f}) { - &perror("FATAL", $file, -1, "has no SIZE record for $path."); - } - my $n = 0; - foreach my $alg (keys %algorithms) { - $n++ if exists($records{$path}{$alg}); - } - if ($n == 0) { - &perror("FATAL", $file -1, "no checksum record for $path."); - } - if ($n < scalar(keys %algorithms)) { - &perror("WARN", $file, -1, "no checksum records for all ". - "supported algorithms (".join(" ",keys %algorithms).") for ". - "$path."); - } - } - return 1; -} - -# -# pkg-descr -# -sub checkdescr { - my($file) = @_; - my(%maxchars) = ($makevar{DESCR}, 80); - my(%maxlines) = ($makevar{DESCR}, 24); - my(%errmsg) = ($makevar{DESCR}, "exceeds $maxlines{$makevar{DESCR}} ". - "lines, make it shorter if possible."); - my($longlines, $linecnt, $tmp) = (0, 0, ""); - - open(IN, "< $file") || return 0; - while (<IN>) { - $tmp .= $_; - chomp || &perror("WARN", $file, -1, "should terminate in '\n'."); - $linecnt++; - $longlines++ if ($maxchars{$file} < length); - } - if ($linecnt > $maxlines{$file}) { - &perror("WARN", $file, -1, "$errmsg{$file}". - "(currently $linecnt lines)"); - } else { - print "OK: $file: has $linecnt lines.\n" if ($verbose); - } - if ($longlines > 0) { - &perror("WARN", $file, -1, "includes lines that exceed $maxchars{$file} ". - "characters."); - } - if ($tmp =~ /[\033\200-\377]/) { - &perror("WARN", $file, -1, "includes iso-8859-1, or ". - "other local characters. files should be in ". - "plain 7-bit ASCII"); - } - if ($file =~ /\bpkg-descr/ && $tmp =~ m,http://,) { - my $has_url = 0; - my $has_www = 0; - foreach my $line (grep($_ =~ "http://", split(/\n+/, $tmp))) { - $has_url = 1; - if ($line =~ m,WWW:[ \t]+http://,) { - $has_www = 1; - } - } - - if (!$has_url) { - &perror("WARN", $file, -1, "add \"WWW: UR:\" for this port if possible"); - } - - if ($has_url && ! $has_www) { - &perror("FATAL", $file, -1, "contains a URL but no \"WWW:\""); - } - } - close(IN); -} - -# -# pkg-plist -# -sub checkplist { - my($file) = @_; - my($curdir) = ($localbase); - my($inforemoveseen, $infoinstallseen, $infoseen) = (0, 0, 0); - my($infobeforeremove, $infoafterinstall) = (0, 0); - my($infooverwrite) = (0); - my($rcsidseen) = (0); - - my(@exec_info) = (); - my(@unexec_info) = (); - my(@infofile) = (); - - my $seen_dirrm_docsdir = 0; - my $seen_special = 0; - my $item_count = 0; - - open(IN, "< $file") || return 0; - while (<IN>) { - $item_count++; - if ($_ =~ /[ \t]+\n?$/) { - &perror("WARN", $file, $., "whitespace before end ". - "of line."); - } - - # make it easier to handle. - $_ =~ s/\s+$//; - $_ =~ s/\n$//; - - if ($osname eq 'NetBSD' && $_ =~ /<\$ARCH>/) { - &perror("WARN", $file, $., "use of <\$ARCH> deprecated, ". - "use \${MACHINE_ARCH} instead."); - } - if (m'lib/perl5/site_perl/%%PERL_VER%%') { - &perror("WARN", $file, $., "use \%\%SITE_PERL\%\% ". - "instead of lib/perl5/site_perl/\%\%PERL_VER\%\%."); - } - $seen_special++ if /[\%\@]/; - $seen_dirrm_docsdir++ if /^(\%\%PORTDOCS\%\%)?\@dirrm\s+\%\%DOCSDIR\%\%/ || /^(\%\%PORTDOCS\%\%)?\@unexec\s+(\/bin\/)?rmdir\s+\%D\/\%\%DOCSDIR\%\%\s+2\>\s*\/dev\/null\s+\|\|\s+(\/usr\/bin\/)?true/; - if ($_ =~ /^\@/) { - if ($_ =~ /^\@(cwd|cd)[ \t]+(\S+)/) { - $curdir = $2; - } elsif ($_ =~ /^\@unexec[ \t]+rm[ \t]/) { - if ($_ !~ /%[DB]/) { - &perror("WARN", $file, $., "use \"%D\" or \"%B\" to ". - "specify prefix."); - } - if ($_ !~ /true$/ && $_ !~ /rm -f/) { - &perror("WARN", $file, $., "add \"2>&1 ". - ">/dev/null || true\" ". - "to \"\@unexec rm\"."); - } - } elsif ($_ =~ /^\@unexec[ \t]+rmdir/) { - if ($_ !~ /%[DB]/) { - &perror("WARN", $file, $., "use \"%D\" or \"%B\" to ". - "specify prefix."); - } - &perror("WARN", $file, $., "use \"\@dirrmtry\" ". - "instead of \"\@unexec rmdir\"."); - } elsif (!$autoinfo && $_ =~ /^\@exec[ \t]+install-info\s+(.+)\s+(.+)$/) { - $infoinstallseen = $.; - push(@exec_info, $1); - } elsif (!$autoinfo && $_ =~ /^\@unexec[ \t]+install-info[ \t]+--delete\s+(.+)\s+(.+)$/) { - $inforemoveseen = $.; - push(@unexec_info, $1); - } elsif ($autoinfo && $_ =~ /^\@unexec[ \t]+install-info[ \t]+--delete\s+(.+)\s+(.+)$/) { - &perror("WARN", $file, $., "\@unexec install-info is deprecated in favor of adding info files into the Makefile using the INFO macro."); - } elsif ($_ =~ /^\@(exec|unexec)/) { - if (/ldconfig/) { - if ($ldconfigwithtrue - && !/\/usr\/bin\/true/) { - &perror("FATAL", $file, $., "ldconfig ". - "must be used with ". - "\"||/usr/bin/true\"."); - } - &perror("WARN", $file, $., "possible ". - "direct use of ldconfig ". - "in PLIST found. use ". - "USE_LDCONFIG instead."); - } - if (/scrollkeeper/) { - &perror("WARN", $file, $., "possible ". - "direct use of scrollkeeper commands ". - "in PLIST found. Use ". - "INSTALLS_OMF instead ". - "(see http://www.FreeBSD.org/gnome/docs/porting.html ". - "for more details)."); - } - } elsif ($_ =~ /^\@(comment)/) { - $rcsidseen++ if (/\$$rcsidstr[:\$]/); - } elsif ($_ =~ /^\@(owner|group|mode)\s/) { - &perror("WARN", $file, $., "\@$1 should not be needed"); - } elsif ($_ =~ /^\@(dirrm|option)/) { - ; # no check made - } else { - &perror("WARN", $file, $., - "unknown pkg-plist directive \"$_\""); - } - next; - } - - if ($_ =~ /^\//) { - &perror("FATAL", $file, $., "use of full pathname ". - "disallowed."); - } - - if ($_ =~ /charset\.alias$/ || $_ =~ /locale\.alias$/) { - &perror("WARN", $file, $., "installing charset.alias or locale.alias, ". - "please add USE_GETTEXT=yes and use libintl from devel/gettext ". - "instead of from outdated bundled one if possible. ". - "See http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/71531 ". - "for more details."); - } - - if ($_ =~ /\%gconf.*\.xml/ || $_ =~ /gconf.*\.schemas?/) { - &perror("FATAL", $file, $., "explicitly listing \%gconf key files ". - "or GConf schema files in the plist is not supported. ". - "Use GCONF_SCHEMAS in the Makefile instead. ". - "See http://www.FreeBSD.org/gnome/docs/porting.html ". - "for more details."); - } - - if ($_ =~ m|lib/pkgconfig/[^\.]+.pc$|) { - &perror("FATAL", $file, $., "installing pkg-config files into ". - "lib/pkgconfig. All pkg-config files must be installed ". - "into libdata/pkgconfig for them to be found by pkg-config."); - } - - if ($_ =~ m|lib[^\/]+\.so(\.\d+)?$| && - $makevar{USE_LDCONFIG} eq '') { - &perror("WARN", $file, $., "installing shared libraries, ". - "please define USE_LDCONFIG as appropriate"); - } - - if ($_ =~ m|^share/icons/.*/| && - $makevar{INSTALLS_ICONS} eq '') { - &perror("WARN", $file, $., "installing icons, ". - "please define INSTALLS_ICONS as appropriate"); - } - - if ($_ =~ m|\.omf$| && $makevar{INSTALLS_OMF} eq '') { - &perror("WARN", $file, $., "installing OMF files, ". - "please define INSTALLS_OMF (see the FreeBSD GNOME ". - "porting guide at ". - "http://www.FreeBSD.org/gnome/docs/porting.html ". - "for more details)"); - } - - if ($_ =~ m|\.mo$| && $makevar{USE_GETTEXT} eq '') { - &perror("WARN", $file, $., "installing gettext translation files, ". - "please define USE_GETTEXT as appropriate"); - } - - if ($autoinfo && $_ =~ /\.info$/) { - &perror("WARN", $file, $., "enumerating info files in the plist is deprecated in favor of adding info files into the Makefile using the INFO macro."); - } - - if ($autoinfo && $_ =~ /\.info-\d+$/) { - &perror("FATAL", $file, $., "numbered info files are obsolete and not portable; add info files using the INFO macro in the Makefile."); - } - - if (!$autoinfo) { - if ($_ =~ /^info\/.*info(-[0-9]+)?$/) { - $infoseen = $.; - $infoafterinstall++ if ($infoinstallseen); - $infobeforeremove++ if (!$inforemoveseen); - push(@infofile, $_); - } - - if ($_ =~ /^info\/dir$/) { - &perror("FATAL", $file, $., "\"info/dir\" should not be listed.". - "Use install-info to add/remove ". - "an entry."); - $infooverwrite++; - } - } - - if ($_ =~ /^(\%\%PORTDOCS\%\%)?share\/doc\//) { - &perror("WARN", $file, $., "consider using DOCSDIR macro"); - $sharedocused++; - } elsif ($_ =~ /^(\%\%PORTDOCS\%\%)?\%\%DOCSDIR\%\%/) { - $sharedocused++; - } - - if ($_ =~ /^share\/examples\//) { - &perror("WARN", $file, $., "consider using EXAMPLESDIR macro"); - } - - { - my $tmpportname = quotemeta($makevar{PORTNAME}); - if ($_ =~ /^share\/$tmpportname\//) { - &perror("WARN", $file, $., "consider using DATADIR macro"); - } - } - - if ($_ =~ m#man/([^/]+/)?man([$manchapters])/([^\.]+\.[$manchapters])(\.gz)?$#) { - if ($4 eq '') { - $plistman{$2} .= ' ' . $3; - if ($mancompress) { - &perror("FATAL", $file, $., - "unpacked man file $3 ". - "listed. must be gzipped."); - } - } else { - $plistmangz{$2} .= ' ' . $3; - if (!$mancompress) { - &perror("FATAL", $file, $., - "gzipped man file $3$4 ". - "listed. unpacked one should ". - "be installed."); - } - } - $plistmanall{$2} .= ' ' . $3; - if ($1 ne '') { - $manlangs{substr($1, 0, length($1) - 1)}++; - } - } - - if ($curdir !~ m#^$localbase# - && $curdir !~ m#^/usr/X11R6#) { - &perror("WARN", $file, $., "installing to ". - "directory $curdir discouraged. ". - "could you please avoid it?"); - } - - if ("$curdir/$_" =~ m#^$localbase/share/doc#) { - print "OK: $file [$.]: seen installation to share/doc. ". - "($curdir/$_)\n" if ($verbose); - $sharedocused++; - } - } - - if (!$seen_special && $item_count < $numpitems) { - &perror("WARN", $file, -1, "There are only $item_count items in the plist. Consider using PLIST_FILES instead of pkg-plist when installing less than $numpitems items."); -} - - if ($sharedocused && !$seen_dirrm_docsdir) { - &perror("WARN", $file, -1, "Both ``\%\%PORTDOCS\%\%\@dirrm \%\%DOCSDIR\%\%'' and ``\%\%PORTDOCS\%\%\@unexec \%D/\%\%DOCSDIR\%\% 2>/dev/null || true'' are missing. At least one should be used."); - } - - if (!$autoinfo) { -# check that every infofile has an exec install-info and unexec install-info - my $exec_install = join(" ", @exec_info); - $exec_install .= ' '; - my $unexec_install = join(" ", @unexec_info); - $unexec_install .= ' '; - - foreach my $if (@infofile) { - next if ($if =~ m/info-/); - if ($exec_install !~ m/\%D\/\Q$if\E/) { - &perror("FATAL", $file, -1, "you need an '\@exec install-info \%D/$if \%D/info/dir' line"); - } - if ($unexec_install !~ m/\%D\/$if/) { - &perror("FATAL", $file, -1, "you need an '\@unexec install-info --delete \%D/$if \%D/info/dir' line"); - } - } - } - - if ($rcsidinplist && !$rcsidseen) { - &perror("FATAL", $file, -1, "RCS tag \"\$$rcsidstr\$\" must be present ". - "as \@comment.") - } - - if (((!$autoinfo && !$infoseen) || $autoinfo)) { - close(IN); - return 1; - } - - if (!$autoinfo && $infoseen) { - if (!$infoinstallseen) { - if ($infooverwrite) { - &perror("FATAL", $file, -1, "install-info must be used to ". - "add/delete entries into \"info/dir\"."); - } - &perror("FATAL", $file, -1, "\"\@exec install-info \%D/... \%D/info/dir\" must be placed ". - "after all the info files."); - } elsif ($infoafterinstall) { - &perror("FATAL", $file, $infoinstallseen, "move ". - "\"\@exec install-info\" line to make ". - "sure that it is placed after all the info files."); - } - if (!$inforemoveseen) { - &perror("FATAL", $file, -1, "\"\@unexec install-info --delete \%D/... \%D/info/dir\" must ". - "be placed before any of the info files listed."); - } elsif ($infobeforeremove) { - &perror("FATAL", $file, $inforemoveseen, "move ". - "\"\@exec install-info --delete\" ". - "line to make sure ". - "that it is placed before any of the info files. "); - } - } - - close(IN); -} - -# -# misc files -# -sub checkpathname { - my($file) = @_; - my($whole); - - open(IN, "< $file") || return 0; - $whole = ''; - while (<IN>) { - $whole .= $_; - } - &abspathname($whole, $file); - close(IN); -} - -sub checklastline { - my($file) = @_; - my($whole); - - open(IN, "< $file") || return 0; - $whole = ''; - while (<IN>) { - $whole .= $_; - } - if ($whole !~ /\n$/) { - &perror("FATAL", $file, -1, "the last line has to be ". - "terminated by \\n."); - } - if ($whole =~ /\n([ \t]*\n)+$/) { - &perror("WARN", $file, -1, "seems to have unnecessary blank lines ". - "at the last part."); - } - - close(IN); -} - -sub checkpatch { - my($file) = @_; - my($whole); - - if (-z "$file") { - &perror("FATAL", $file, -1, "has no content. should be removed ". - "from repository."); - return; - } - - open(IN, "< $file") || return 0; - $whole = ''; - while (<IN>) { - $whole .= $_; - } - if ($committer && $whole =~ /\$([A-Z][A-Za-z0-9]+)(:[^\n]+)?\$/) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "includes possible RCS tag \"\$$1\$\". ". - "use binary mode (-ko) on commit/import.") unless - $1 eq $rcsidstr; - } - - if ($committer && $whole =~ /\wjavavm\w/) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "since javavmwrapper 2.0, the ". - "``javavm'' command to invoke a JVM is deprecated. Use ". - "``java'' instead"); - } - - close(IN); -} - -# -# Makefile -# -sub checkmakefile { - my($file) = @_; - my($rawwhole, $whole, $idx, @sections); - my($i, $j, $k, $l); - my @cat = (); - my $has_lang_cat = 0; - my $port_lang = ''; - my $tmp; - my $bogusdistfiles = 0; - my @varnames = (); - my($portname, $portversion, $distfiles, $distversionprefix, $distversion, $distversionsuffix, $distname, $extractsufx) = ('', '', '', '', ''); - my $masterport = 0; - my $slaveport = 0; - my $use_gnome_hack = 0; - my $use_java = 0; - my $use_ant = 0; - my($realwrksrc, $wrksrc, $nowrksubdir) = ('', '', ''); - my(@mman, @pman); - my(@mopt, @oopt); - my($pkg_version, $versiondir, $versionfile) = ('', '', ''); - my $useindex = 0; - my %autotools_deprecated = (); - my %deprecated = (); - my @deplist = (); - my %autocmdnames = (); - my $pre_mk_line = 0; - - open(IN, "< $file") || return 0; - $rawwhole = ''; - $tmp = 0; - while (<IN>) { - if ($_ =~ /[ \t]+\n?$/) { - &perror("WARN", $file, $., "whitespace before ". - "end of line."); - } - if ($_ =~ /^ /) { # 8 spaces here! - &perror("WARN", $file, $., "use tab (not space) to make ". - "indentation"); - } - if ($usetabs) { - if (m/^[A-Za-z0-9_-]+.?= /) { - if (m/[?+]=/) { - &perror("WARN", $file, $., "use a tab (not space) after a ". - "variable name"); - } else { - &perror("FATAL", $file, $., "use a tab (not space) after a ". - "variable name"); - } - } - } -# -# I'm still not very convinced, for using this kind of magical word. -# 1. This kind of items are not important for Makefile; -# portlint should not require any additional rule to Makefile. -# portlint should simply implement items that are declared in Handbook. -# 2. If we have LINTSKIP, we can't stop people using LINTSKIP too much. -# IMHO it is better to warn the user and let the user think twice, -# than let the user escape from portlint. -# Uncomment this part if you are willing to use these magical words. -# Thu Jun 26 11:37:56 JST 1997 -# -- itojun -# -# if ($_ =~ /^# LINTSKIP\n?$/) { -# print "OK: skipping from line $. in $file.\n" -# if ($verbose); -# $tmp = 1; -# next; -# } -# if ($_ =~ /^# LINTAGAIN\n?$/) { -# print "OK: check start again from line $. in $file.\n" -# if ($verbose); -# $tmp = 0; -# next; -# } -# if ($_ =~ /# LINTIGNORE/) { -# print "OK: ignoring line $. in $file.\n" if ($verbose); -# next; -# } -# next if ($tmp); - $rawwhole .= $_; - } - close(IN); - - # - # whole file: blank lines. - # - $whole = "\n" . $rawwhole; - study $whole; - print "OK: checking contiguous blank lines in $file.\n" - if ($verbose); - $i = "\n" x ($contblank + 2); - if ($whole =~ /$i/) { - my $lineno = &linenumber($`); - &perror("FATAL", $file, $lineno, "contiguous blank lines ". - "(> $contblank lines) found."); - } - - # - # whole file: $(VARIABLE) - # - if ($parenwarn) { - print "OK: checking for \$(VARIABLE).\n" if ($verbose); - if ($whole =~ /\$\([\w\d]+\)/) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "use \${VARIABLE}, instead of ". - "\$(VARIABLE)."); - } - } - - # - # whole file: use of .elseif - # - print "OK: checking for use of .elseif.\n" if ($verbose); - if ($whole =~ /^\.\s*else\s*if/m) { - my $lineno = &linenumber($`); - &perror("FATAL", $file, $lineno, "use of .elseif (or .else if) is not - supported in all versions of FreeBSD. Use .elif instead."); - } - - # - # whole file: PLIST_FILES and PLIST_DIRS - # - print "OK: checking PLIST_FILES and PLIST_DIRS.\n" if ($verbose); - if ($whole =~ /\nPLIST_FILES.?=/ || $whole =~ /\nPLIST_DIRS.?=/) { - if (-f 'pkg-plist') { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "You may remove pkg-plist ". - "if you use PLIST_FILES and/or PLIST_DIRS."); - } - my @plist_files = split(/\s+/, $makevar{PLIST_FILES}); - foreach my $plist_file (@plist_files) { - if ($plist_file =~ m|lib[^\/]+\.so(\.\d+)?$| && - $makevar{USE_LDCONFIG} eq '') { - &perror("WARN", "", -1, "PLIST_FILES: installing shared libraries, ". - "please define USE_LDCONFIG as appropriate"); - last; - } - } - foreach my $plist_file (@plist_files) { - if ($plist_file =~ m|\.omf$| && $makevar{INSTALLS_OMF} eq '') { - &perror("WARN", "", -1, "PLIST_FILES: installing OMF files, ". - "please define INSTALLS_OMF (see the FreeBSD GNOME ". - "porting guide at ". - "http://www.FreeBSD.org/gnome/docs/porting.html ". - "for more details)"); - last; - } - } - - } - - # - # whole file: USE_* used too late - # - pos($whole) = 0; - if ($whole =~ /^\.include\s+<bsd\.port\.pre\.mk>$/gm) { - # Remember position - $pre_mk_line = &linenumber($`) + 1; - print "OK: checking for USE_* used too late.\n" if ($verbose); - my @use_early = qw( - BZIP2 - GNUSTEP - IMAKE - JAVA - KDE(?:BASE|LIBS)_VER - (?:LIB)?RUBY - LINUX_PREFIX - OPENSSL - PHP - PYTHON - QT2? - QT_VER - X_PREFIX - ZIP - ); - - my @other_early = qw( - EMACS_PORT_NAME - OPTIONS - ); - - my $earlypattern = join('|', 'USE_(?:'.join('|', @use_early).')', - @other_early); - - while ($whole =~ /^($earlypattern)[+?:!]?=/gmo) { - my $lineno = &linenumber($`); - &perror("FATAL", $file, $lineno, "$1 is set after ". - "including bsd.port.pre.mk."); - } - } - - # - # whole file: check OPTIONS - # - pos($whole) = 0; - print "OK: checking OPTIONS.\n" if ($verbose); - @oopt = ($makevar{OPTIONS} =~ /(\w+)\s+\".*?\"\s+\w+/sg); - while ($whole =~ /\n[^#\n]*?\(?\s*WITH(?:OUT)?_(\w+)\s*\)?/mg) { - push @mopt, $1; - my $lineno = &linenumber($`) + 1; - &perror("FATAL", $file, $lineno, "option WITH(OUT)_$1 is used before ". - "including bsd.port.pre.mk.") - if (scalar(@oopt) && $lineno < $pre_mk_line); - } - foreach my $i (@oopt) { - if (!grep(/^$i$/, @mopt)) { - &perror("WARN", $file, "$i is listed in OPTIONS, ". - "but neither WITH_$i nor WITHOUT_$i appears."); - } - } - foreach my $i (@mopt) { - next if ($i eq 'NLS'); # skip WITHOUT_NLS - if (!grep(/^$i$/, @oopt)) { - # XXX: disable temporarily. - # OPTIONS is still "in flux" - #&perror("WARN: $file: WITH_$i or WITHOUT_$i appears, ". - # "consider using OPTIONS macro."); - } - } - - # - # whole file: USE_* as a user-settable option - # - print "OK: checking for USE_* as a user-settable option.\n" if ($verbose); - while ($whole =~ /\n\s*\.\s*(?:el)?if[^\n]*?\b(\w*USE_)(\w+)(?\![^\n]*\n#?\.error)/g) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "is $1$2 a user-settable option? ". - "Consider using WITH_$2 instead.") - if ($1.$2 ne 'USE_GCC'); - } - - # - # whole file: NO_CHECKSUM - # - # XXX Don't compress newlines since it messes up line number calculation. - #$whole =~ s/\n#[^\n]*/\n/g; - #$whole =~ s/\n\n+/\n/g; - print "OK: checking NO_CHECKSUM.\n" if ($verbose); - if ($whole =~ /\nNO_CHECKSUM/) { - my $lineno = &linenumber($`); - &perror("FATAL", $file, $lineno, "use of NO_CHECKSUM discouraged. ". - "it is intended to be a user variable."); - } - - # - # whole file: USE_SIZE - # - print "OK: checking USE_SIZE.\n" if ($verbose); - if ($whole =~ /\nUSE_SIZE/) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "use of USE_SIZE is no longer ". - "required."); - } - - # - # whole file: MACHINE_ARCH - # - print "OK: checking MACHINE_ARCH.\n" if ($verbose); - if ($whole =~ /\nMACHINE_ARCH/) { - my $lineno = &linenumber($`); - &perror("FATAL", $file, $lineno, "MACHINE_ARCH should never be ". - "overridden."); - } - - # - # whole file: DEPRECATED - # - print "OK: checking DEPRECATED.\n" if ($verbose); - if ($whole =~ /\nDEPRECATED[+?]?=[ \t]*"/ && - $whole !~ /\nDEPRECATED[+?]?=[ \t]*"\$\{BROKEN\}"/) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "DEPRECATED messages should not ". - "be quoted unless they are exactly \"\${BROKEN}\"."); - } - if ($whole =~ /\nDEPRECATED[+?]?=[^"]*\$\{BROKEN\}/) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "\"\${BROKEN}\" must be quoted ". - "when it is the source of DEPRECATED."); - } - - # - # whole file: BROKEN et al. - # - my ($var); - foreach $var (qw(IGNORE BROKEN COMMENT FORBIDDEN MANUAL_PACKAGE_BUILD NO_CDROM NO_PACKAGE RESTRICTED)) { - print "OK: checking ${var}.\n" if ($verbose); - if ($whole =~ /\n${var}[+?]?=[ \t]+"/) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "${var} messages should not ". - "be quoted."); - } - } - - if ($whole =~ /\nIGNORE[+?]?=[ \t]+[^a-z \t]/ || - $whole =~ /^IGNORE[+?]?=[ \t]+.*\.$/m) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "IGNORE messages should begin ". - "with a lowercase letter and end without a period."); - } - - # - # whole file: PKGNAME - # - print "OK: checking PKGNAME.\n" if ($verbose); - if ($whole =~ /\nPKGNAME.?=/) { - my $lineno = &linenumber($`); - &perror("FATAL", $file, $lineno, "PKGNAME is obsoleted by PORTNAME, ". - "PORTVERSION, PKGNAMEPREFIX and PKGNAMESUFFIX."); - } - - # - # whole file: USE_REINPLACE - # - print "OK: checking for USE_REINPLACE.\n" if ($verbose); - if ($whole =~ /\nUSE_REINPLACE.?=/) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "USE_REINPLACE is now obsolete. ". - "You can safely use REINPLACE_CMD without it."); - } - - # - # whole file: EXPIRATION_DATE - # - print "OK: checking for valid EXPIRATION_DATE.\n" if ($verbose); - my $edate; - if (($edate) = ($whole =~ m/\nEXPIRATION_DATE\??=[ \t]*([^\n]*)\n/)) { - my $lineno = &linenumber($`); - if ($edate ne strftime("%Y-%m-%d", 0, 0, 0, - substr($edate, 8, 2), - substr($edate, 5, 2) - 1, - substr($edate, 0, 4) - 1900)) { - &perror("FATAL", $file, $lineno, "EXPIRATION_DATE ($edate) is ". - "either not in YYYY-MM-DD format or it is not a valid ". - "date."); - } - } - - # - # whole file: IS_INTERACTIVE/NOPORTDOCS - # - print "OK: checking IS_INTERACTIVE.\n" if ($verbose); - if ($whole =~ /\nIS_INTERACTIVE/) { - if ($whole !~ /defined\((BATCH|FOR_CDROM)\)/) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "use of IS_INTERACTIVE ". - "discouraged. provide batch mode by using BATCH and/or ". - "FOR_CDROM."); - } - } - print "OK: checking for use of NOPORTDOCS.\n" if ($verbose); - if ($whole =~ /NOPORTSDOC/) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "NOPORTSDOC found. Do you ". - "mean NOPORTDOCS?"); - } - if ($sharedocused && $whole !~ /defined\s*\(?NOPORTDOCS\)?/ - && $whole !~ /def\s*\(?NOPORTDOCS\)?/ - && $whole !~ m#(\$[\{\(]PREFIX[\}\)]|$localbase)/share/doc#) { - &perror("WARN", $file, -1, "use \".if !defined(NOPORTDOCS)\" to wrap ". - "installation of files into $localbase/share/doc."); - } - - # - # whole file: check for USE_GETTEXT - # - print "OK: checking for USE_GETTEXT without WITHOUT_NLS.\n" if ($verbose); - if ($whole =~ /\nUSE_GETTEXT/ && $whole !~ /def(?:ined)?\s*\(?WITHOUT_NLS\)?/) { - &perror("WARN", $file, -1, "Consider adding support for a WITHOUT_NLS ". - "knob to conditionally disable gettext support."); - } - - # - # whole file: check for deprecated commands - # - print "OK: checking for deprecated macros.\n" if $verbose; - %autotools_deprecated = ( - USE_LIBTOOL => 'USE_AUTOTOOLS', - USE_AUTOCONF => 'USE_AUTOTOOLS', - USE_AUTOMAKE => 'USE_AUTOTOOLS', - WANT_LIBTOOL => 'USE_AUTOTOOLS', - WANT_AUTOCONF => 'USE_AUTOTOOLS', - WANT_AUTOMAKE => 'USE_AUTOTOOLS', - USE_LIBLTDL => 'USE_AUTOTOOLS', - USE_LIBTOOL_VER => 'USE_AUTOTOOLS', - WANT_LIBTOOL_VER => 'USE_AUTOTOOLS', - USE_INC_LIBTOOL_VER => 'USE_AUTOTOOLS', - WANT_AUTOMAKE_VER => 'USE_AUTOTOOLS', - USE_AUTOMAKE_VER => 'USE_AUTOTOOLS', - USE_ACLOCAL_VER => 'USE_AUTOTOOLS', - USE_AUTOHEADER_VER => 'USE_AUTOTOOLS', - USE_AUTOCONF_VER => 'USE_AUTOTOOLS', - WANT_AUTOCONF_VER => 'USE_AUTOTOOLS', - __HELP__ => 'http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/using-autotools.html', - ); - - %deprecated = ( - USE_MESA => 'USE_GL', - USE_RCORDER => 'USE_RC_SUBR', - INSTALLS_SHLIB => 'USE_LDCONFIG', - ); - - @deplist = (\%autotools_deprecated, \%deprecated); - - for my $dlst (@deplist) { - my $hurl = $dlst->{'__HELP__'}; - foreach my $depmacro (keys %{$dlst}) { - if ($whole =~ /\n($depmacro)[+?:!]?=/) { - my $derror = "$depmacro is ". - "deprecated, use $dlst->{$1} instead"; - if (defined($hurl)) { - $derror .= " (see $hurl for more details)"; - } - &perror("FATAL", $file, -1, $derror); - } - } - } - - if ($whole =~ /\n(_USE_BSD_JAVA_MK_1_0)[+?:!]?=/) { - &perror("WARN", $file, -1, "This port uses bsd.java.mk 1.0 syntax. ". - "You should consider updating it to 2.0 syntax. ". - "Please refer to the Porter's Handbook for further ". - "information"); - } - - # - # whole file: direct use of command names - # - my %cmdnames = (); - print "OK: checking direct use of command names.\n" if ($verbose); - foreach my $i (qw( -awk basename brandelf cat chmod chown cp cpio dialog dirname egrep expr -false file find gmake grep gzcat ldconfig ln md5 mkdir mv objcopy paste patch -pax perl printf rm rmdir pkg_add pkg_delete pkg_info pkg_version -ruby sed sh sort sysctl touch tr which xargs xmkmf - )) { - $cmdnames{$i} = "\$\{\U$i\E\}"; - } - $cmdnames{'echo'} = '${ECHO_CMD} or ${ECHO_MSG}'; - $cmdnames{'env'} = '${SETENV}'; - $cmdnames{'gunzip'} = '${GUNZIP_CMD}'; - $cmdnames{'gzip'} = '${GZIP_CMD}'; - $cmdnames{'install'} = '${INSTALL_foobaa}'; - $cmdnames{'python'} = '${PYTHON_CMD}'; - $cmdnames{'strip'} = '${STRIP_CMD}'; - $cmdnames{'unzip'} = '${UNZIP_CMD}'; - $cmdnames{'pkg_create'} = '${PKG_CMD}'; - foreach my $i (qw(aclocal autoconf autoheader automake autoreconf autoupdate autoscan ifnames libtool libtoolize)) { - $autocmdnames{$i} = "\$\{" . ( ( $i !~ /auto|aclocal|libtool/ ) ? "AUTO" : "" ) . "\U$i\E\}"; - } - # - # ignore parameter string to echo command. - # note that we leave the command as is, since we need to check the - # use of echo itself. - $j = $whole; - $j =~ s/([ \t][\@\-]{0,2})(echo|\$[\{\(]ECHO[\}\)]|\$[\{\(]ECHO_MSG[\}\)])[ \t]+(?:"(?:\\'|\\"|[^"])*"|'(?:\\'|\\"|[^'])*')[ \t]*;?(\n?)/$1$2;$3/g; #" - # ignore variables names in .for loops, but not what's at the end - # of the for loop - $j =~ s/(\.for +)([^ ]*)( .*)/$1$3/; - foreach my $i (keys %cmdnames) { - # XXX This is a hack. Really, we should break $j up into individual - # lines, and go through each one. - while ($j =~ /^(.*$i.*)$/gm) { - my $curline = $1; - my $lineno = &linenumber($`); - if ($curline =~ /(?:^|\s)[\@\-]{0,2}$i(?:$|\s)/ - && $curline !~ /^[A-Z]+_TARGET[?+]?=[^\n]+$i/m - && $curline !~ /^IGNORE(.)?=[^\n]+$i/m - && $curline !~ /^BROKEN(.)?=[^\n]+$i/m - && $curline !~ /^RESTRICTED(.)?=[^\n]+$i/m - && $curline !~ /^NO_PACKAGE(.)?=[^\n]+$i/m - && $curline !~ /^NO_CDROM(.)?=[^\n]+$i/m - && $curline !~ /^MAINTAINER(.)?=[^\n]+$i/m - && $curline !~ /^CATEGORIES(.)?=[^\n]+$i/m - && $curline !~ /^\s*#.+$/m - && $curline !~ /\-\-$i/m - && $curline !~ /^COMMENT(.)?=[^\n]+$i/m) { - &perror("WARN", $file, $lineno, "possible direct use of ". - "command \"$i\" found. use ". - "$cmdnames{$i} instead."); - } - } - } - - foreach my $i (keys %autocmdnames) { - # XXX Same hack as above. - while ($j =~ /^(.*($i\d*).*)$/gm) { - my $lm = $1; - my $sm = $2; - my $lineno = &linenumber($`); - if ($lm =~ /(^|\s+)[\@\-]{0,2}($i\d*)\b/ - && $lm !~ /^[A-Z]+_TARGET[?+]?=[^\n]+($i\d*)/m - && $lm !~ /^IGNORE(.)?=[^\n]+($i\d*)/m - && $lm !~ /^BROKEN(.)?=[^\n]+($i\d*)/m - && $lm !~ /^RESTRICTED(.)?=[^\n]+($i\d*)/m - && $lm !~ /^NO_PACKAGE(.)?=[^\n]+($i\d*)/m - && $lm !~ /^NO_CDROM(.)?=[^\n]+($i\d*)/m - && $lm !~ /^MAINTAINER(.)?=[^\n]+($i\d*)/m - && $lm !~ /^CATEGORIES(.)?=[^\n]+($i\d*)/m - && $lm !~ /^USE_AUTOTOOLS(.)?=[^\n]+($i\d*)/m - && $lm !~ /^\s*#.+$/m - && $lm !~ /^COMMENT(.)?=[^\n]+($i\d*)/m) { - &perror("WARN", $file, $lineno, "possible direct use of ". - "command \"$sm\" found. Use $autocmdnames{$i} ". - "instead and set according USE_AUTOTOOLS=<tool> macro"); - } - } - } - - # - # while file: check for use of paths that have macro replacements - # - my %pathnames = (); - print "OK: checking for paths that have macro replacements.\n" - if ($verbose); - $pathnames{'${PREFIX}/share/java/classes'} = 'JAVADIR'; - $pathnames{'${PREFIX}/share/java'} = 'JAVASHAREDIR'; - foreach my $i (keys %pathnames) { - my $lineno = &linenumber($`); - if ($j =~ m|$i|gm) { - &perror("FATAL", $file, $lineno, "you should use ". - "$pathnames{$i} rather than $i"); - } - } - - # - # whole file: ldconfig must come with "true" command - # - print "OK: checking that ldconfig is properly checked.\n" - if ($verbose); - if ($ldconfigwithtrue - && $j =~ /(ldconfig|\$[{(]LDCONFIG[)}])/ - && $j !~ /(\/usr\/bin\/true|\$[{(]TRUE[)}])/) { - my $lineno = &linenumber($`); - &perror("FATAL", $file, $lineno, "ldconfig must be used with ". - "\"||\${TRUE}\"."); - } - - # - # whole file: ${GZIP_CMD} -9 (or any other number) - # - print "OK: checking for compression arguments passed to \${GZIP_CMD}.\n" - if ($verbose); - if ($j =~ /\${GZIP_CMD}\s+-(\w+(\s+-)?)*(\d)/) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "possible use of \"\${GZIP_CMD} -$3\" ". - "found. \${GZIP_CMD} includes \"-\${GZIP}\" which ". - "sets the compression level."); - } - - # - # whole file: ${MKDIR} -p - # - print "OK: checking for \${MKDIR} -p.\n" - if ($verbose); - if ($j =~ /\${MKDIR}\s+-p/) { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "possible use of \"\${MKDIR} -p\" ". - "found. \${MKDIR} includes ". - "\"-p\" by default."); - } - - # - # whole file: ${MACHINE_ARCH} - # - print "OK: checking for instances of \${MACHINE_ARCH} being test.\n" - if ($verbose); - if ($j =~ /\${MACHINE_ARCH}\s*[!=]=/) { - my $lineno = &linenumber($`); - &perror("FATAL", $file, $lineno, "MACHINE_ARCH should never be tested ". - "directly; use ARCH instead."); - } - - # - # whole file: full path name - # - &abspathname($whole, $file); - - # - # whole file: SITE_PERL - # - print "OK: checking SITE_PERL.\n" if ($verbose); - if ($whole =~ /\nSITE_PERL[?:]?=/) { - my $lineno = &linenumber($`); - &perror("FATAL", $file, $lineno, "use of SITE_PERL discouraged. ". - "it is set in bsd.port.mk."); - } - - # - # whole file: ${LOCALBASE}/lib/perl5/site_perl/${PERL_VER} - # - if ($j =~ m'\${(?:LOCALBASE|PREFIX)}/lib/perl5/site_perl/\${PERL_VER}') { - my $lineno = &linenumber($`); - &perror("WARN", $file, $lineno, "possible use of \"\${LOCALBASE}/lib/perl5/site_perl/\${PERL_VER}\" ". - "found. use \"\${SITE_PERL}\" instead."); - } - - # - # whole file: USE_GNOME check - # - if ($whole =~ /^USE_GNOME[?:]?=\s*(.*)$/m) { - if ($1 =~ /gnomehack/) { - $use_gnome_hack = 1; - } - } - - # - # whole file: USE_JAVA check - # - if ($whole =~ /^USE_JAVA[?:]?=\s*(.*)$/m) { - $use_java = 1; - } - - # - # whole file: USE_ANT check - # - if ($whole =~ /^USE_ANT[?:]?=\s*(.*)$/m) { - $use_ant = 1; - } - - # - # whole file: USE_JAVA not defined, but other Java components are requested - # - if (!$use_java && ($use_ant || $whole =~ /^JAVA_VERSION[?:]?=\s*(.*)$/m || - $whole =~ /^JAVA_OS[?:]?=\s*(.*)$/m || - $whole =~ /^JAVA_VENDOR[?:]?=\s*(.*)$/m || - $whole =~ /^JAVA_RUN[?:]?=\s*(.*)$/m || - $whole =~ /^JAVA_BUILD[?:]?=\s*(.*)$/m || - $whole =~ /^USE_JIKES[?:]?=\s*(.*)$/m)) { - &perror("FATAL", $file, -1, "the port uses Java features, but USE_JAVA ". - "is not defined"); - } - - # - # whole file: check for USE_ANT and USE_GMAKE both defined - # - if ($use_ant && $whole =~ /^USE_GMAKE[?:]?=\s*(.*)$/m) { - &perror("WARN", $file, -1, "a port shall not define both USE_ANT ". - "and USE_GMAKE"); - } - - # - # whole file: check for JAVA_BUILD and NO_BUILD - # - if ($whole =~ /^NO_BUILD[?:]?=\s*(.*)$/m && - $whole =~ /^JAVA_BUILD[?:]?=\s*(.*)$/m) { - &perror("FATAL", $file, -1, "JAVA_BUILD and NO_BUILD cannot be set ". - "at the same time"); - } - - # - # slave port check - # - my $masterdir = $makevar{MASTERDIR}; - if ($masterdir ne '' && $masterdir ne $makevar{'.CURDIR'}) { - $slaveport = 1; - print "OK: slave port detected, checking for inclusion of $masterdir/Makefile.\n" - if ($verbose); - if ($whole =~ /^\.\s*include\s*[<"]bsd\.port(?:\.post)?\.mk[">]/m) { - &perror("FATAL", $file, -1, "supposedly non-slave port with". - " .CURDIR != MASTERDIR"); - } elsif ($whole =~ /^\.\s*include\s*[<"]bsd\.port\.pre\.mk[">]/m) { - &perror("FATAL", $file, -1, "slave ports may not include". - " bsd.port.pre.mk"); - } - if ($whole !~ /\n\.include\s+"\$\{MASTERDIR\}\/Makefile"\s*$/s) { - &perror("FATAL", $file, -1, "the last line of a slave port's Makefile has to be". - ' .include "${MASTERDIR}/Makefile"'); - } - print "OK: checking master port in $masterdir.\n" if ($verbose); - if (! -e "$masterdir/Makefile") { - &perror("WARN", "", -1, "unable to locate master port in $masterdir"); - } - if ($whole !~ /^MASTERDIR=\s*\$\{\.CURDIR\}(?:\/\.\.){1,2}(?:\/[\w\@.+-]+){1,2}\s*$/m) { - &perror("WARN", $file, -1, "slave ports must define MASTERDIR=". - '${.CURDIR}/..(/../<category>)/<port>'); - } - } else { - #$slaveport = 0; - print "OK: non-slave port detected, checking for anything after bsd.port(.post).mk.\n" - if ($verbose); - if ($whole !~ /\n\.include\s+<bsd\.port(?:\.post)?\.mk>\s*$/s) { - &perror("FATAL", $file, -1, "the last line of Makefile has to be". - ' .include <bsd.port(.post).mk>'); - } - if ($whole =~ /^MASTERDIR\s*[+?:!]?\s*=/m) { - &perror("WARN", $file, -1, "non-slave ports may not define MASTERDIR"); - } - } - - # - # break the makefile into sections. - # - $tmp = $rawwhole; - # keep comment, blank line, comment in the same section - $tmp =~ s/(#.*\n)\n+(#.*)/$1$2/g; - @sections = split(/\n\n+/, $tmp); - for ($i = 0; $i <= $#sections; $i++) { - if ($sections[$i] !~ /\n$/) { - $sections[$i] .= "\n"; - } - } - $idx = 0; - - # - # section 1: comment lines. - # - print "OK: checking comment section of $file.\n" if ($verbose); - my @linestocheck = split("\n", <<EOF); -Whom -Date [cC]reated -EOF - if ($osname eq 'NetBSD') { - unshift(@linestocheck, '(New )?[pP](ackage|ort)s [cC]ollection [mM]akefile [fF]or'); - } else { - unshift(@linestocheck, '(New )?[pP]orts [cC]ollection [mM]akefile [fF]or'); - } - $tmp = $sections[$idx++]; - $tmp = "\n" . $tmp; # to make the begin-of-line check easier - - if ($tmp =~ /\n[^#]/) { - &perror("FATAL", $file, -1, "non-comment line in comment section."); - } - foreach my $i (@linestocheck) { - $j = $i; - $j =~ s/\(.*\)\?//g; - $j =~ s/\[(.)[^\]]*\]/$1/g; - if ($tmp !~ /# $i:[ \t]+\S+/) { - &perror("FATAL", $file, -1, "no \"$j\" line in comment section."); - } else { - print "OK: \"$j\" seen in $file.\n" if ($verbose); - } - } - if ($tmp =~ m/Version [rR]equired/) { - &perror("WARN", $file, -1, "Version required is no longer needed in the comment section."); - } - my $tmp2 = ""; - for (split(/\n/, $tmp)) { - $tmp2 .= $_ if (m/\$$rcsidstr/); - } - if ($tmp2 !~ /#(\s+)\$$rcsidstr([^\$]*)\$$/) { - - &perror("FATAL", $file, -1, "no \$$rcsidstr\$ line in comment ". - "section."); - } else { - print "OK: \$$rcsidstr\$ seen in $file.\n" if ($verbose); - if ($1 ne ' ') { - &perror("WARN", $file, -1, "please use single whitespace ". - "right before \$$rcsidstr\$ tag."); - } - if ($2 ne '') { - if ($verbose || $newport) { # XXX - &perror("WARN", $file, -1, - ($newport ? 'for new port, ' - : 'is it a new port? if so, '). - "make \$$rcsidstr\$ tag in comment ". - "section empty, to make CVS happy."); - } - } - } - - # - # for the rest of the checks, comment lines are not important. - # - for ($i = 0; $i < scalar(@sections); $i++) { - $sections[$i] = "\n" . $sections[$i]; - $sections[$i] =~ s/\n#[^\n]*//g; - $sections[$i] =~ s/\n\n+/\n/g; - $sections[$i] =~ s/\\\n/ /g; - $sections[$i] =~ s/^\n//; - } - - # - # - # section 2: PORTNAME/PORTVERSION/... - # - print "OK: checking first section of $file (PORTNAME/...).\n" - if ($verbose); - $tmp = $sections[$idx++]; - - # check the order of items. - &checkorder('PORTNAME', $tmp, $file, qw( -PORTNAME PORTVERSION DISTVERSIONPREFIX DISTVERSION DISTVERSIONSUFFIX -PORTREVISION PORTEPOCH CATEGORIES MASTER_SITES MASTER_SITE_SUBDIR -PKGNAMEPREFIX PKGNAMESUFFIX DISTNAME EXTRACT_SUFX DISTFILES -DIST_SUBDIR EXTRACT_ONLY - )); - - # check the items that has to be there. - $tmp = "\n" . $tmp; - print "OK: checking PORTNAME/PORTVERSION/DISTVERSION.\n" if ($verbose); - if ($tmp !~ /\nPORTNAME(.)?=/) { - &perror("FATAL", $file, -1, "PORTNAME has to be there.") unless ($slaveport && $makevar{PORTNAME} ne ''); - } elsif ($1 ne '') { - &perror("WARN", $file, -1, "unless this is a master port, PORTNAME has to be set by \"=\", ". - "not by \"$1=\".") unless ($masterport); - } - if ($tmp !~ /\n(PORTVERSION|DISTVERSION)(.)?=/) { - &perror("FATAL", $file, -1, "PORTVERSION or DISTVERSION has to be there.") unless ($slaveport && ($makevar{PORTVERSION} ne '' || $makevar{DISTVERSION} ne '')); - } elsif ($2 ne '') { - &perror("WARN", $file, -1, "unless this is a master port, PORTVERSION has to be set by \"=\", ". - "not by \"$2=\".") unless ($masterport); - } - if ($tmp =~ /\nPORTVERSION.?=/ && $tmp =~ /\nDISTVERSION.?=/) { - &perror("FATAL", $file, -1, "either PORTVERSION or DISTVERSION must be ". - "specified, not both."); - } - if ($newport) { - print "OK: checking for existence of PORTREVISION in new port.\n" - if ($verbose); - if ($tmp =~ /^PORTREVISION(.)?=/m) { - &perror("WARN", $file, -1, "new ports should not set PORTREVISION."); - } - } elsif (!$slaveport) { - print "OK: checking for PORTREVISION=0.\n" if ($verbose); - if ($tmp =~ /^PORTREVISION=\s*0/m) { - &perror("WARN", $file, -1, "Setting PORTREVISION to 0 is not ". - "necessary."); - } - } - if ($newport) { - print "OK: checking for existence of PORTEPOCH in new port.\n" - if ($verbose); - if ($tmp =~ /^PORTEPOCH(.)?=/m) { - &perror("WARN", $file, -1, "new ports should not set PORTEPOCH."); - } - } - print "OK: checking CATEGORIES.\n" if ($verbose); - if ($tmp !~ /\nCATEGORIES(.)?=/) { - &perror("FATAL", $file, -1, "CATEGORIES has to be there.") unless ($slaveport && $makevar{CATEGORIES} ne ''); - } elsif (($i = $1) ne '' && $i =~ /[^?+]/) { - &perror("WARN", $file, -1, "unless this is a master port, CATEGORIES should be set by \"=\", \"?=\", or \"+=\", ". - "not by \"$i=\".") unless ($masterport); - } - - @cat = split(/\s+/, $makevar{CATEGORIES}); - if (@cat == 0) { - &perror("FATAL", $file, -1, "CATEGORIES left blank. set it to \"misc\"". - " if nothing seems apropriate."); - } - - if ($use_java && !grep /^java$/, @cat) { - &perror("WARN", $file, -1, "the port uses Java but is not part of the ". - "``java'' category"); - } - - if (scalar(@cat) == 1 && $cat[0] eq "java") { - &perror("FATAL", $file, -1, "the ``java'' category shall not be the only ". - "one for a port"); - } - - if ($newport && scalar(@cat) > 0 && $cat[0] eq "java") { - &perror("WARN", $file, -1, "save for ports directly related to the Java ". - "language, porters are encouraged not to use ``java'' as ". - "the main category for a port"); - } - - if ($committer && $makevar{'.CURDIR'} =~ m'${portsdir}/([^/]+)/[^/]+/?$') { - if ($cat[0] ne $1 && $makevar{PKGCATEGORY} ne $1 ) { - &perror("FATAL", $file, -1, "category \"$1\" must be listed first"); - } - } - -#MICHAEL: can these three lang cat checks be combined? - # skip the first category specification if it's a language specific one. - if (grep($_ eq $cat[0], @lang_cat)) { - $has_lang_cat = 1; - $port_lang = $lang_pref{$cat[0]}; - shift @cat; - } - - # skip further if more language specific ones follow. - if (@cat && grep($_ eq $cat[0], @lang_cat)) { - &perror("WARN", $file, -1, "multiple language specific categories detected. ". - "are you sure?"); - do { - shift @cat; - } while (@cat && grep($_ eq $cat[0], @lang_cat)); - } - - # check x11 in CATEGORIES - if ($newxdef) { -#MICHAEL: I don't understand this line - if (2 <= @cat && $cat[1] eq "x11") { - &perror("WARN", $file, -1, "only specific kind of apps should ". - "specify \"x11\" in CATEGORIES. ". - "Do you mean just USE_XLIB? ". - "Then remove \"x11\" from CATEGORIES."); - } - } - - if (2 <= @cat) { - # skip the first one that we know is _not_ language specific. - shift @cat; - - # any language specific one after non language specific ones? - foreach my $cat (@cat) { - if (grep($_ eq $cat, @lang_cat)) { - $has_lang_cat = 1; - $port_lang = $lang_pref{$cat}; - &perror("WARN", $file, -1, "when you specify multiple categories, ". - "language specific category should come first."); - } - } - } - - # check number of MASTER_SITES - if ($makevar{MASTER_SITES} ne '') { - my @sites = split(/\s+/, $makevar{MASTER_SITES}); - if (scalar(@sites) == 1) { - &perror("WARN", $file, -1, "only one MASTER_SITE configured. ". - "Consider adding additional mirrors."); - } - } - - # check the URL - if (($tmp =~ /\nMASTER_SITES[+?]?=[ \t]*([^\n]*)\n/ - && $1 !~ /^[ \t]*$/) || ($makevar{MASTER_SITES} ne '')) { - print "OK: seen MASTER_SITES, sanity checking URLs.\n" - if ($verbose); - my @sites = split(/\s+/, $1); - my $skipnext = 0; - foreach my $i (@sites) { - if ($skipnext) { - $skipnext = 0; - next; - } - $skipnext++ if ($i =~ /^#/); - if ($i =~ m#^\w+://#) { - &urlcheck($i, $file); - unless (&is_predefined($i, $file)) { - print "OK: URL \"$i\" ok.\n" - if ($verbose); - } - } else { - print "OK: non-URL \"$i\" ok.\n" - if ($verbose); - } - } - } else { - &perror("WARN", $file, -1, "no MASTER_SITES found. is it ok?"); - } - - # check DISTFILES and related items. - $distfiles = $1 if ($tmp =~ /\nDISTFILES[+?]?=[ \t]*([^\n]+)\n/); - #$portname = $1 if ($tmp =~ /\nPORTNAME[+?]?=[ \t]*([^\n]+)\n/); - #$portversion = $1 if ($tmp =~ /\nPORTVERSION[+?]?=[ \t]*([^\n]+)\n/); - $portname = $makevar{PORTNAME}; - $portversion = $makevar{PORTVERSION}; - $distversionprefix = $makevar{DISTVERSIONPREFIX}; - $distversion = $makevar{DISTVERSION}; - $distversionsuffix = $makevar{DISTVERSIONSUFFIX}; - $distname = $1 if ($tmp =~ /\nDISTNAME[+?]?=[ \t]*([^\n]+)\n/); - $extractsufx = $1 if ($tmp =~ /\nEXTRACT_SUFX[+?]?=[ \t]*([^\n]+)\n/); - - # check bogus EXTRACT_SUFX. - if ($extractsufx ne '') { - print "OK: seen EXTRACT_SUFX, checking value.\n" if ($verbose); - if ($distfiles ne '') { - &perror("WARN", $file, -1, "no need to define EXTRACT_SUFX if ". - "DISTFILES is defined."); - } - if ($extractsufx eq '.tar.gz') { - &perror("WARN", $file, -1, "EXTRACT_SUFX is \".tar.gz.\" ". - "by default. you don't need to specify it."); - } - if ($extractsufx eq '.tar.bz2') { - &perror("WARN", $file, -1, "EXTRACT_SUFX is \".tar.bz2.\" ". - "You should use USE_BZIP2 instead."); - } - } else { - print "OK: no EXTRACT_SUFX seen, using default value.\n" - if ($verbose); - $extractsufx = '.tar.gz'; - } - - print "OK: sanity checking PORTNAME/PORTVERSION/DISTVERSIONPREFIX/DISTVERSION/DISTVERSIONSUFFIX.\n" if ($verbose); - if ($distname ne '') { - if ($distname eq "$portname-$portversion") { - &perror("WARN", $file, -1, "DISTNAME is \${PORTNAME}-\${PORTVERSION} by ". - "default, you don't need to define DISTNAME."); - } else { - if ($distname eq "$portname-$distversionprefix$distversion$distversionsuffix") { - &perror("WARN", $file, -1, "DISTNAME is \${PORTNAME}-\${DISTVERSIONPREFIX}\${DISTVERSION}\${DISTVERSIONSUFFIX} by ". - "default, you don't need to define DISTNAME."); - } - } - if ($distname =~ /PORTREVISION/) { - &perror("FATAL", $file, -1, "DISTNAME contains a reference to ". - "PORTREVISION. You should only be using PORTVERSION"); - } - if ($distname =~ /PORTEPOCH/) { - &perror("FATAL", $file, -1, "DISTNAME contains a reference to ". - "PORTEPOCH. You should only be using PORTVERSION"); - } - } - if ($portname =~ /^$re_lang_short/) { - &perror("FATAL", $file, -1, "language prefix is automatically". - " set by PKGNAMEPREFIX.". - " you must remove it from PORTNAME."); - } - if ($portname =~ /([|<>=! ])/) { - &perror("FATAL", $file, -1, "PORTNAME contains the illegal character \"$1\".". - " You should modify \"$portname\"."); - } elsif ($portname =~ /\$[\{\(].+[\}\)]/) { - &perror("WARN", $file, -1, "using variable in PORTNAME.". - " consider using PKGNAMEPREFIX and/or PKGNAMESUFFIX."); - } elsif ($portname =~ /([^\w._@+-])/) { - &perror("WARN", $file, -1, "using \"$1\" in PORTNAME.". - " You should modify \"$portname\"."); - } elsif ($portname =~ /-/ && $distname ne '') { - &perror("WARN", $file, -1, "using hyphen in PORTNAME.". - " consider using PKGNAMEPREFIX and/or PKGNAMESUFFIX."); - } - if ($portversion eq '' && $distversion eq '') { - &perror("FATAL", $file, -1, "either PORTVERSION or DISTVERSION must be specified"); - } - if ($portversion =~ /^pl[0-9]*$/ - || $portversion =~ /^[0-9]*[A-Za-z]?[0-9]*(\.[0-9]*[A-Za-z]?[0-9+]*)*$/) { - print "OK: PORTVERSION \"$portversion\" looks fine.\n" if ($verbose); - } elsif ($portversion =~ /^[^\-]*\$[{\(].+[\)}][^\-]*$/) { - &perror("WARN", $file, -1, "using variable, \"$portversion\", as version ". - "number"); - } elsif ($portversion =~ /([-,_<>=! #*])/) { - &perror("FATAL", $file, -1, "PORTVERSION must not contain \"$1\". ". - "You should modify \"$portversion\"."); - } else { - &perror("FATAL", $file, -1, "PORTVERSION looks illegal. ". - "You should modify \"$portversion\"."); - - } - - $pkg_version = $makevar{PKG_VERSION}; - - if ($makevar{CONFLICTS}) { - print "OK: checking CONFLICTS.\n" if ($verbose); - foreach my $conflict (split ' ', $makevar{CONFLICTS}) { - my $selfconflict; - if ($makevar{PKGINSTALLVER} >= 20040125) { - $selfconflict = !system($pkg_version, '-T', - $makevar{PKGNAME}, $conflict); - } else { - my $conflictre = $conflict; - $conflictre =~ s/[.+]/\\$&/g; - $conflictre =~ s/\*/.*/g; - $conflictre =~ s/\?/./g; - $conflictre =~ s/\[!/[^/g; - $selfconflict = ($makevar{PKGNAME} =~ /^$conflictre$/); - } - if ($conflict !~ /(?:[<>=]|[]?*]$)/) { - &perror("WARN", "", -1, "Conflict \"$conflict\" specified too narrow. ". - "You should end it with a wildcard (-[0-9]*)."); - } elsif ($conflict !~ /[<>=-][^-]*[0-9][^-]*$/) { - &perror("WARN", "", -1, "Conflict \"$conflict\" specified too broad. ". - "You should end it with a version number fragment (-[0-9]*)."); - } - if ($selfconflict) { - &perror("FATAL", "", -1, "Package conflicts with itself. ". - "You should remove \"$conflict\" from CONFLICTS."); - } - } - } - - $versiondir = $ENV{VERSIONDIR} ? $ENV{VERSIONDIR} : '/var/db/chkversion'; - - $versionfile = "$versiondir/VERSIONS"; - $useindex = !-r "$versionfile"; - - $versionfile = "$portsdir/$makevar{INDEXFILE}" - if $useindex; - - if (-r "$versionfile") { - print "OK: checking if PORTVERSION is going backwards.\n" if ($verbose); - open VERSIONS, "<$versionfile"; - - while (<VERSIONS>) { - my($origin, $version) = ('', ''); - chomp; - next if /^(#|$)/; - if ($useindex) { - ($version, $origin) = split /\|/; - $origin =~ s,^.*/([^/]+/[^/]+)/?$,$1,; - } else { - ($origin, $version) = split; - } - if ($origin eq $makevar{PKGORIGIN}) { - my $newversion = $makevar{PKGNAME}; - my $oldversion = $version; - my $result = ''; - - $newversion =~ s/^.*-//; - $oldversion =~ s/^.*-//; - - $result = `$pkg_version -t '$newversion' '$oldversion'`; - chomp $result; - if ($result eq '<') { - &perror("FATAL", $file, -1, "$makevar{PKGNAME} < $version. ". - "Choose another PORTVERSION or bump PORTEPOCH."); - # $backwards{$origin} = "$pkgname{$origin} < $version"; - } - last; - } - } - close VERSIONS; - } - - # if DISTFILES have only single item, it is better to avoid DISTFILES - # and to use combination of DISTNAME and EXTRACT_SUFX. - # example: - # DISTFILES=package-1.0.tgz - # should be - # DISTNAME= package-1.0 - # EXTRACT_SUFX= .tgz - if ($distfiles =~ /^\S+$/ && $distfiles !~ /:[^\/:]+$/) { - $bogusdistfiles++; - print "OK: seen DISTFILES with single item, checking value.\n" - if ($verbose); - &perror("WARN", $file, -1, "use of DISTFILES with single file ". - "discouraged. distribution filename should be set by ". - "DISTNAME and EXTRACT_SUFX."); - if ($distfiles eq (($distname ne '') ? $distname : "$portname-$portversion") . $extractsufx) { - &perror("WARN", $file, -1, "definition of DISTFILES not necessary. ". - "DISTFILES is \${DISTNAME}/\${EXTRACT_SUFX} ". - "by default."); - } - - # display advice only in certain cases. -#MICHAEL: will this work with multiple distfiles in this list? what about -# doing the same sort of thing for DISTNAME, is it needed? - if ($distfiles =~ /^\Q$i\E([\-.].+)$/) { - &perror("WARN", $file, -1, "how about \"EXTRACT_SUFX=$1\"". - ", instead of DISTFILES?"); - } - } - - # additional checks for committer. - if ($committer && $has_lang_cat) { - &perror("WARN", $file, -1, "be sure to include language code ". - "\"$port_lang-\" ". - "in the module alias name."); - } - - if ($committer) { - if (opendir(DIR, ".")) { - my @tgz = grep(/\.tgz$/, readdir(DIR)); - closedir(DIR); - - if (@tgz) { - my $tgz = (2 <= @tgz) - ? '{' . join(',', @tgz) . '}' - : $tgz[0]; - - &perror("WARN", "", -1, "be sure to remove $portdir/$tgz ". - "before committing the port."); - } - } - } - - push(@varnames, qw( -PORTNAME PORTVERSION PORTREVISION PORTEPOCH CATEGORIES MASTER_SITES -MASTER_SITE_SUBDIR PKGNAMEPREFIX PKGNAMESUFFIX DISTNAME EXTRACT_SUFX -DISTFILES EXTRACT_ONLY - )); - - # - # section 3: PATCH_SITES/PATCHFILES(optional) - # - print "OK: checking second section of $file (PATCH*: optional).\n" - if ($verbose); - $tmp = $sections[$idx]; - - if ($tmp =~ /(PATCH_SITES|PATCH_SITE_SUBDIR|PATCHFILES|PATCH_DIST_STRIP)/) { - &checkearlier($file, $tmp, @varnames); - - if ($tmp =~ /^PATCH_SITES=/) { - print "OK: seen PATCH_SITES.\n" if ($verbose); - $tmp =~ s/^[^\n]+\n//; - } - if ($tmp =~ /^PATCH_SITE_SUBDIR=/) { - print "OK: seen PATCH_SITE_SUBDIR.\n" if ($verbose); - $tmp =~ s/^[^\n]+\n//; - } - if ($tmp =~ /^PATCHFILES=/) { - print "OK: seen PATCHFILES.\n" if ($verbose); - $tmp =~ s/^[^\n]+\n//; - } - if ($tmp =~ /^PATCH_DIST_STRIP=/) { - print "OK: seen PATCH_DIST_STRIP.\n" if ($verbose); - $tmp =~ s/^[^\n]+\n//; - } - - &checkextra($tmp, 'PATCH_SITES', $file); - - $idx++; - } - - push(@varnames, qw( -PATCH_SITES PATCHFILES PATCH_DIST_STRIP - )); - - # - # section 4: MAINTAINER - # - print "OK: checking third section of $file (MAINTAINER).\n" - if ($verbose); - $tmp = $sections[$idx++]; - - &checkearlier($file, $tmp, @varnames); - &checkorder('MAINTAINER', $tmp, $file, qw( -MAINTAINER COMMENT - )); - - $tmp = "\n" . $tmp; - if ($tmp =~ /\nMAINTAINER\??=([^\n]+)/) { - my $addr = $1; - $addr =~ s/^\s*//; - $addr =~ s/\s*$//; - if ($addr =~ /[\s,<>()]/) { - &perror("FATAL", $file, -1, "MAINTAINER should be a single address without comment."); - } - if ($addr !~ /^[^\@]+\@[\w\d\-\.]+$/) { - &perror("FATAL", $file, -1, "MAINTAINER address, $addr, does not appear to be a valid email address."); - } - if ($newport && $addr =~ /ports\@freebsd.org/i) { - &perror("WARN", $file, -1, "new ports should not be maintained by ". - "ports\@FreeBSD.org."); - } - $tmp =~ s/\nMAINTAINER\??=[^\n]+//; - } elsif ($whole !~ /\nMAINTAINER[?]?=/) { - &perror("FATAL", $file, -1, "no MAINTAINER listed.") unless ($slaveport && $makevar{MAINTAINER} ne ''); - } - $tmp =~ s/\n\n+/\n/g; - - # check COMMENT - if ($tmp !~ /\nCOMMENT(.)?=/) { - &perror("FATAL", $file, -1, "COMMENT has to be there.") unless ($slaveport && $makevar{COMMENT} ne ''); - } elsif ($1 ne '') { - &perror("WARN", $file, -1, "unless this is a master port, COMMENT has to be set by \"=\", ". - "not by \"$1=\".") unless ($masterport); - } else { # check for correctness - if (($makevar{COMMENT} !~ /^["0-9A-Z]/) || ($makevar{COMMENT} =~ m/\.$/)) { #" - &perror("WARN", $file, -1, "COMMENT should begin with a capital, and end without a period"); - } elsif (length($makevar{COMMENT}) > 70) { - &perror("WARN", $file, -1, "COMMENT exceeds 70 characters limit."); - } - } - - push(@varnames, qw( -MAINTAINER COMMENT - )); - - # - # section 5: *_DEPENDS (may not be there) - # - print "OK: checking fourth section of $file (*_DEPENDS).\n" - if ($verbose); - $tmp = $sections[$idx]; - - # NOTE: EXEC_DEPENDS is obsolete, so it should not be listed. - @linestocheck = qw( -EXTRACT_DEPENDS LIB_DEPENDS PATCH_DEPENDS BUILD_DEPENDS RUN_DEPENDS -FETCH_DEPENDS DEPENDS DEPENDS_TARGET - ); - - if ($tmp =~ /(LIB_|BUILD_|RUN_|FETCH_)?DEPENDS/) { - &checkearlier($file, $tmp, @varnames); - - my %seen_depends; - - if (!defined $ENV{'PORTSDIR'}) { - $ENV{'PORTSDIR'} = $portsdir; - } - foreach my $i (grep(/^[A-Z_]*DEPENDS[?+]?=/, split(/\n/, $tmp))) { - $i =~ s/^([A-Z_]*DEPENDS)[?+]?=[ \t]*//; - $j = $1; - $seen_depends{$j}++; - if ($j ne 'DEPENDS' && - $i =~ /^\${([A-Z_]+DEPENDS)}\s*$/ && - $seen_depends{$1} && - $j ne $1) - { - print "OK: $j refers to $1, skipping checks.\n" - if ($verbose); - next; - } - print "OK: checking ports listed in $j.\n" - if ($verbose); - foreach my $k (split(/\s+/, $i)) { - my @l = split(':', $k); - - print "OK: checking dependency value for $j.\n" - if ($verbose); - if (($j eq 'DEPENDS' - && scalar(@l) != 1 && scalar(@l) != 2) - || ($j ne 'DEPENDS' - && scalar(@l) != 2 && scalar(@l) != 3)) { - &perror("WARN", $file, -1, "wrong dependency value ". - "for $j. $j requires ". - ($j eq 'DEPENDS' - ? "1 or 2 " - : "2 or 3 "). - "colon-separated tuples."); - next; - } - my %m = (); - if ($j eq 'DEPENDS') { - $m{'dir'} = $l[0]; - $m{'tgt'} = $l[1]; - } else { - $m{'dep'} = $l[0]; - $m{'dir'} = $l[1]; - $m{'tgt'} = $l[2]; - } - print "OK: dep=\"$m{'dep'}\", ". - "dir=\"$m{'dir'}\", tgt=\"$m{'tgt'}\"\n" - if ($verbose); - - # check USE_PERL5 - if ($m{'dep'} =~ /^perl5(\.\d+)?$/) { - &perror("WARN", $file, -1, "dependency to perl5 ". - "listed in $j. consider using ". - "USE_PERL5."); - } - - # check USE_ICONV - if ($m{'dep'} =~ /^(iconv\.\d+)$/) { - &perror("WARN", $file, -1, "dependency to $1 ". - "listed in $j. consider using ". - "USE_ICONV."); - } - - # check USE_GETTEXT - if ($m{'dep'} =~ /^(intl\.\d+)$/) { - &perror("WARN", $file, -1, "dependency to $1 ". - "listed in $j. consider using ". - "USE_GETTEXT."); - } - - # check USE_GMAKE - if ($m{'dep'} =~ /^(gmake|\${GMAKE})$/) { - &perror("WARN", $file, -1, "dependency to $1 ". - "listed in $j. consider using ". - "USE_GMAKE."); - } - - # check USE_QT - if ($m{'dep'} =~ /^(qt\d)+$/) { - &perror("WARN", $file, -1, "dependency to $1 ". - "listed in $j. consider using ". - "USE_QT."); - } - - # check USE_GETOPT_LONG - if ($m{'dep'} =~ /^(gnugetopt\.\d)+$/) { - &perror("WARN", $file, -1, "dependency to $1 ". - "listed in $j. consider using ". - "USE_GETOPT_LONG."); - } - - # check LIBLTDL - if ($m{'dep'} =~ /^(ltdl\.\d)+$/) { - &perror("WARN", $file, -1, "dependency to $1 ". - "listed in $j. consider using ". - "USE_LIBLTDL."); - } - - # check JAVALIBDIR - if ($m{'dep'} =~ m|share/java/classes|) { - &perror("FATAL", $file, -1, "you should use \${JAVALIBDIR} ". - "in BUILD_DEPENDS/RUN_DEPENDS to define ". - "dependencies on JAR files installed in ". - "\${JAVAJARDIR}"); - } - - # check backslash in LIB_DEPENDS - if ($osname eq 'NetBSD' && $j eq 'LIB_DEPENDS' - && $m{'dep'} =~ /\\\\./) { - &perror("WARN", $file, -1, "use of backslashes in ". - "$j is deprecated."); - } - - # check for PREFIX - if ($m{'dep'} =~ /\${PREFIX}/) { - &perror("FATAL", $file, -1, "\${PREFIX} must not be ". - "contained in *_DEPENDS. ". - "use \${LOCALBASE} or ". - "\${X11BASE} instead."); - } - - # check port dir existence - $k = $m{'dir'}; - $k =~ s/\${PORTSDIR}/$ENV{'PORTSDIR'}/; - $k =~ s/\$[\({]PORTSDIR[\)}]/$ENV{'PORTSDIR'}/; - if (! -d $k) { - &perror("WARN", $file, -1, "no port directory $k ". - "found, even though it is ". - "listed in $j."); - } else { - print "OK: port directory $k found.\n" - if ($verbose); - } - } - } - foreach my $i (@linestocheck) { - $tmp =~ s/$i[?+]?=[^\n]+\n//g; - } - - &checkextra($tmp, '*_DEPENDS', $file); - - $idx++; - } - - push(@varnames, @linestocheck); - &checkearlier($file, $tmp, @varnames); - - # - # Makefile 6: check the rest of file - # - print "OK: checking the rest of the $file.\n" if ($verbose); - $tmp = join("\n\n", @sections[$idx .. scalar(@sections)-1]); - - $tmp = "\n" . $tmp; # to make the begin-of-line check easier - - &checkearlier($file, $tmp, @varnames); - - # check WRKSRC/NO_WRKSUBDIR - # - # do not use DISTFILES/DISTNAME to control over WRKSRC. - # DISTNAME is for controlling distribution filename. - # example: - # DISTNAME= package - # DISTFILES=package-1.0.tgz - # should be - # DISTNAME= package-1.0 - # EXTRACT_SUFX=.tgz - # WRKSRC= ${WRKDIR}/package - # - print "OK: checking WRKSRC.\n" if ($verbose); - $wrksrc = $nowrksubdir = ''; - $wrksrc = $1 if ($tmp =~ /\nWRKSRC[+?]?=[ \t]*([^\n]*)\n/); - $nowrksubdir = $1 if ($tmp =~ /\nNO_WRKSUBDIR[+?]?=[ \t]*([^\n]*)\n/); - if ($nowrksubdir eq '') { - $realwrksrc = $wrksrc ? "$wrksrc/$distname" - : "\${WRKDIR}/$distname"; - } else { - $realwrksrc = $wrksrc ? $wrksrc : '${WRKDIR}'; - } - print "OK: WRKSRC seems to be $realwrksrc.\n" if ($verbose); - - if ($nowrksubdir eq '') { - print "OK: no NO_WRKSUBDIR, checking value of WRKSRC.\n" - if ($verbose); - if ($wrksrc eq 'work' || $wrksrc =~ /^$[\{\(]WRKDIR[\}\)]/) { - &perror("WARN", $file, -1, "WRKSRC is set to meaningless value ". - "\"$1\".". - ($nowrksubdir eq '' - ? " use \"NO_WRKSUBDIR=yes\" instead." - : "")); - } - if ($bogusdistfiles) { - if ($distname ne '' && $wrksrc eq '') { - &perror("WARN", $file, -1, "do not use DISTFILES and DISTNAME ". - "to control WRKSRC. how about ". - "\"WRKSRC=\${WRKDIR}/$distname\"?"); - } else { - &perror("WARN", $file, -1, "DISTFILES/DISTNAME affects WRKSRC. ". - "take caution when changing them."); - } - } - } else { - print "OK: seen NO_WRKSUBDIR, checking value of WRKSRC.\n" - if ($verbose); - if ($wrksrc eq 'work' || $wrksrc =~ /^$[\{\(]WRKDIR[\}\)]/) { - &perror("WARN", $file, -1, "definition of WRKSRC not necessary. ". - "WRKSRC is \${WRKDIR} by default."); - } - } - - # check RESTRICTED/NO_CDROM/NO_PACKAGE - print "OK: checking RESTRICTED/NO_CDROM/NO_PACKAGE.\n" if ($verbose); - if ($committer && $tmp =~ /\n(RESTRICTED|NO_CDROM|NO_PACKAGE)[+?]?=/) { - &perror("WARN", $file, -1, "\"$1\" found. do not forget to update ". - "ports/LEGAL."); - } - - # check NO_CONFIGURE/NO_PATCH - print "OK: checking NO_CONFIGURE/NO_PATCH.\n" if ($verbose); - if ($tmp =~ /\n(NO_CONFIGURE|NO_PATCH)[+?]?=/) { - &perror("FATAL", $file, -1, "\"$1\" was obsoleted. remove this."); - } - - # check MAN[1-9LN] - print "OK: checking MAN[0-9LN].\n" if ($verbose); - foreach my $i (keys %plistmanall) { - print "OK: pkg-plist MAN$i=$plistmanall{$i}\n" if ($verbose); - } - if ($tmp =~ /PERL_CONFIGURE=\s*/ - && $tmp =~ /MAN3PREFIX=\s*\${PREFIX}\/lib\/perl5\/\${PERL_VERSION}/) { - &perror("WARN", $file, -1, "MAN3PREFIX is ". - "\"\${PREFIX}/lib/perl5/\${PERL_VERSION}\" ". - "when PERL_CONFIGURE is set. You do not need to specify it."); - } - foreach my $i (split(//, $manchapters)) { - if ($tmp =~ /MAN\U$i\E=\s*([^\n]*)\n/) { - print "OK: Makefile MAN\U$i\E=$1\n" if ($verbose); - } - } - foreach my $i (split(//, $manchapters)) { - next if ($i eq ''); - if ($tmp =~ /MAN\U$i\E=\s*([^\n]*)\n/) { - @mman = grep($_ !~ /^\s*$/, split(/\s+/, $1)); - @pman = grep($_ !~ /^\s*$/, - split(/\s+/, $plistmanall{$i})); - foreach my $j (@mman) { - print "OK: checking $j (Makefile)\n" - if ($verbose); - if ($automan && grep($_ eq $j, @pman)) { - &perror("FATAL", $file, -1, "duplicated manpage ". - "entry $j: content of ". - "MAN\U$i\E will be automatically ". - "added to pkg-plist."); - } elsif (!$automan && !grep($_ eq $j, @pman)) { - &perror("WARN", $file, -1, "manpage $j ". - "MAN\U$i\E but not in pkg-plist."); - } - } - foreach my $j (@pman) { - print "OK: checking $j (pkg-plist)\n" if ($verbose); - if (!grep($_ eq $j, @mman)) { - &perror("WARN", $file, -1, "manpage $j in pkg-plist ". - "but not in MAN\U$i\E."); - } - } - } else { - if ($plistmanall{$i}) { - if ($manstrict) { - &perror("FATAL", $file, -1, "manpage for chapter ". - "$i must be listed in ". - "MAN\U$i\E. "); - } else { - &perror("WARN", $file, -1, "manpage for chapter ". - "$i should be listed in ". - "MAN\U$i\E, ". - "even if compression is ". - "not necessary."); - } - } - if ($mancompress && $plistman{$i}) { - &perror("WARN", $file, -1, "MAN\U$i\E will help you ". - "compressing manual page in chapter ". - "\"$i\"."); - } elsif (!$mancompress && $plistmangz{$i}) { - &perror("WARN", $file, -1, "MAN\U$i\E will help you ". - "uncompressing manual page in chapter ". - "\"$i\"."); - } - } - } - if ($tmp !~ /MANLANG/ && scalar(keys %manlangs)) { - $i = (keys %manlangs)[0]; - &perror("WARN", $file, -1, "how about using MANLANG for ". - "designating manual language, such as \"$i\"?"); - } - - # check INFO - print "OK: checking INFO.\n" if ($verbose); - if ($autoinfo && $tmp =~ /\nINFO=\s*([^\n]*)\n/) { - my @minfo = grep($_ !~ /^\s*$/, split(/\s+/, $1)); - if ($tmp =~ /\binstall-info\b/) { - &perror("FATAL", $file, -1, "install-info is automatically run ". - "when INFO is defined."); - } - foreach $i (@minfo) { - if ($i =~ /\.info(-\d+)?$/) { - &perror("FATAL", $file, -1, "do not include the .info extension ". - "on files listed in the INFO macro."); - } - } - } elsif ($autoinfo && $tmp =~ /\binstall-info\b/) { - &perror("WARN", $file, -1, "do not call install-info directly. Use the ". - "INFO macro instead."); - } - - # check USE_X11 and USE_IMAKE - if ($tmp =~ /\nUSE_IMAKE[?+]?=/ - && $tmp =~ /\n(USE_X11)[?+]?=/) { - &perror("WARN", $file, -1, "since you already have USE_IMAKE, ". - "you don't need $1."); - } - # check USE_X11 and USE_IMAKE - if ($newxdef && $tmp =~ /\nUSE_IMAKE[?+]?=/ - && $tmp =~ /\n(USE_X_PREFIX)[?+]?=/) { - &perror("WARN", $file, -1, "since you already have USE_IMAKE, ". - "you don't need $1."); - } - - # check USE_X11 and USE_X_PREFIX - if ($newxdef && $tmp =~ /\nUSE_X11[?+]?=/ - && $tmp !~ /\nUSE_X_PREFIX[?+]?=/) { - &perror("FATAL", $file, -1, "meaning of USE_X11 was changed in Aug 1998. ". - "use USE_X_PREFIX instead."); - } - - # check direct use of important make targets. - if ($tmp =~ /\n(fetch|extract|patch|configure|build|install):/) { - &perror("FATAL", $file, -1, "direct redefinition of make target \"$1\" ". - "discouraged. redefine \"do-$1\" instead."); - } - - # check for incorrect use of the pre-everything target. - if ($tmp =~ /\npre-everything:[^:]/) { - &perror("FATAL", $file, -1, "use pre-everything:: instead of pre-everything:"); - } - - if ($tmp =~ /^pre-patch:/m && $use_gnome_hack) { - &perror("FATAL", $file, -1, "pre-patch target overwrites gnomehack component. ". - "use post-patch instead."); - } - - if ($tmp =~ /^do-build:/m && $use_ant) { - &perror("FATAL", $file, -1, "USE_ANT is intended only for ports that ". - "build with Ant. You should not override ``do-build'' when ". - "defining USE_ANT"); - } - - # - # check for deprecated use of USE_RC_SUBR, and current syntax - # - if ($tmp =~ /\nUSE_RC_SUBR=([\s]*)(.*)/) { - my $subr_value = $makevar{USE_RC_SUBR}; - if ($subr_value eq '') { - $subr_value = $2; - } - - if (($subr_value =~ /^yes$/i) || - ($subr_value =~ /^true$/i) || - ($subr_value =~ /^1$/)) { - &perror("FATAL", $file, -1, "The value of the USE_RC_SUBR variable ". - "should be the name of the intended rc.d script, and there ". - "should be a corresponding file in the files/ directory."); - } else { - foreach my $i (split(/\s/, $subr_value)) { - my $mvar; - if ($i =~ /\$\{([^}]+)\}/) { - $mvar = $1; - if (defined($makevar{$mvar})) { - $i = $makevar{$mvar}; - } else { - $i = &getMakevar($mvar); - } - } - if ($i ne '' && ! -f "files/$i.in") { - &perror("FATAL", $file, -1, "$i listed in USE_RC_SUBR, ". - "but files/$i.in is missing."); - } elsif ($i eq '' && $mvar ne '') { - &perror("WARN", $file, -1, "possible undefined make variable ". - "$mvar used as the value for USE_RC_SUBR."); - } - } - } - } - - 1; -} - -sub perror($$$$) { - my($type, $file, $line, $msg) = @_; - - if ($type eq 'FATAL') { - $err++; - } else { - $warn++; - } - if ($grouperrs) { - $msg = '%%LINES%%' . $msg; - if ($file ne "") { - $msg = $file . ": " . $msg; - } - $msg = $type . ": " . $msg; - if (!$errcache{$msg}) { - push @errlst, $msg; - } - if ($line > -1) { - push @{$errcache{$msg}}, $line; - } - } else { - if ($line > -1) { - $msg = "[$line]: " . $msg; - } - if ($file ne "") { - $msg = $file . ": " . $msg; - } - $msg = $type . ": " . $msg; - print $msg . "\n"; - } -} - -sub checkextra { - my($str, $section, $file) = @_; - - $str = "\n" . $str if ($str !~ /^\n/); - $str =~ s/\n#[^\n]*/\n/g; - $str =~ s/\n\.[^\n]+/\n/g; - $str =~ s/\n\n+/\n/g; - $str =~ s/^\s+//; - $str =~ s/\s+$//; - return if ($str eq ''); - - if ($str =~ /^([\w\d]+)/) { - &perror("WARN", $file, -1, "extra item placed in the ". - "$section section, ". - "for example, \"$1\"."); - } else { - &perror("WARN", $file, -1, "extra item placed in the ". - "$section section."); - } -} - -sub checkorder { - my($section, $str, $file, @order) = @_; - my(@items, $i, $j, $k, $invalidorder); - - print "OK: checking the order of $section section.\n" if ($verbose); - - @items = (); - foreach my $i (split("\n", $str)) { - $i =~ s/[+?]?=.*$//; - push(@items, $i); - } - - @items = reverse(@items); - $j = -1; - $invalidorder = 0; - while (scalar(@items)) { - $i = pop(@items); - $k = 0; - while ($k < scalar(@order) && $order[$k] ne $i) { - $k++; - } - if ($order[$k] eq $i) { - if ($k < $j) { - &perror("FATAL", $file, -1, "$i appears out-of-order."); - $invalidorder++; - } else { - print "OK: seen $i, in order.\n" if ($verbose); - } - $j = $k; - # This if condition tests for .if, .else (in all forms), - # .for and .endfor and .include - } elsif ($i !~ m/^\.(if|el|endif|for|endfor|include)/) { - &perror("FATAL", $file, -1, "extra item \"$i\" placed in the ". - "$section section."); - } - } - if ($invalidorder) { - &perror("FATAL", $file, -1, "order must be " . join('/', @order) . '.'); - } else { - print "OK: $section section is ordered properly.\n" - if ($verbose); - } -} - -sub checkearlier { - my($file, $str, @varnames) = @_; - my($i); - - print "OK: checking items that has to appear earlier.\n" if ($verbose); - foreach my $i (@varnames) { - if ($str =~ /\n$i\??=/) { - &perror("WARN", $file, -1, "\"$i\" has to appear earlier."); - } - } -} - -sub linenumber { - my $text = shift; - my @lines; - - @lines = split /\n/, $text; - - return scalar(@lines); -} - -sub abspathname { - my($str, $file) = @_; - my($s, $i, %cmdnames); - my($pre); - - # trim all trailing backslash and newline - $str =~ s/\\\n\s*/ /g; - - # ignore parameter string to reinplace command - $str =~ s/([ \t][\@-]?(?:sed|\$[\{\(]SED[\}\)]|\$[\{\(]REINPLACE_CMD[\}\)]))((?:\s+\-\w+)*\s+(?:"(?:\\"|[^"\n])*"|'(?:\\'|[^'\n])*'))+(.*)/$1$3/g; #' - - # ignore parameter string to echo command - # XXX: This next pattern crashes Perl 5.8.7. - #$str =~ s/[ \t][\@-]?(echo|\$[\{\(]ECHO[\}\)]|\$[\{\(]ECHO_MSG[\}\)])[ \t]+("(\\'|\\"|[^"])*"|'(\\'|\\"|[^"])*')[ \t]*[;\n]//; #' - $str =~ s/[ \t][\@-]?(echo|\$[\{\(]ECHO[\}\)]|\$[\{\(]ECHO_MSG[\}\)])[ \t]+.*(;|$)//m; #' - - print "OK: checking direct use of full pathnames in $file.\n" - if ($verbose); - foreach my $s (split(/\n+/, $str)) { - $i = ''; - $s =~ s/#.*$//; - if ($s =~ /(^|[ \t\@'"-])(\/[\w\d])/) { #' - # suspected pathnames are recorded. - $i = $2 . $'; - $pre = $` . $1; - - if ($pre =~ /MASTER_SITE_SUBDIR/) { - # MASTER_SITE_SUBDIR lines are ok. - $i = ''; - } - } - if ($i ne '') { - $i =~ s/\s.*$//; - $i =~ s/['"].*$//; #' - $i = substr($i, 0, 20) . '...' if (20 < length($i)); - &perror("WARN", $file, -1, "possible use of absolute pathname ". - "\"$i\".") unless ($i =~ m,^/compat/,); - } - } - - print "OK: checking direct use of pathnames, phase 1.\n" if ($verbose); -%cmdnames = split(/\n|\t+/, <<EOF); -/usr/opt \${PORTSDIR} instead -$portsdir \${PORTSDIR} instead -$localbase \${PREFIX} or \${LOCALBASE}, as appropriate -/usr/X11 \${PREFIX} or \${X11BASE}, as appropriate -EOF - foreach my $i (keys %cmdnames) { - if ($str =~ /$i/) { - &perror("WARN", $file, -1, "possible direct use of \"$&\" ". - "found. if so, use $cmdnames{$i}."); - } - } - - print "OK: checking direct use of pathnames, phase 2.\n" if ($verbose); -%cmdnames = split(/\n|\t+/, <<EOF); -distfiles \${DISTDIR} instead -pkg \${PKGDIR} instead -files \${FILESDIR} instead -scripts \${SCRIPTDIR} instead -patches \${PATCHDIR} instead -work \${WRKDIR} instead -EOF - foreach my $i (keys %cmdnames) { - if ($str =~ /(\.\/|\$[\{\(]\.CURDIR[\}\)]\/|[ \t])(\b$i)\//) { - &perror("WARN", $file, -1, "possible direct use of \"$i\" ". - "found. if so, use $cmdnames{$i}."); - } - } -} - -sub get_makevar { - my($mvar) = @_; - my($cmd, $result); - - $cmd = join(' -V ', "make $makeenv MASTER_SITE_BACKUP=''", $mvar); - $result = `$cmd`; - - return chomp $result; -} - -sub is_predefined { - my($url, $file) = @_; - my($site, $site_re); - my $subdir_re = quotemeta quotemeta '/%SUBDIR%/'; - for my $site (keys %predefined) { - $site_re = quotemeta $site; - $site_re =~ s,$subdir_re,/(.*)/,; - - if ($url =~ /$site_re/) { - &perror("WARN", $file, -1, "how about using ". - "\"\${MASTER_SITE_$predefined{$site}}\" with ". - "\"MASTER_SITE_SUBDIR=$1\", instead of \"$url\"?"); - return &TRUE; - } - } - undef; -} - -sub urlcheck { - my ($url, $file) = @_; - if ($url !~ m#^\w+://#) { - &perror("WARN", $file, -1, "\"$url\" doesn't appear to be a URL to me."); - } - if ($url !~ m#/(:[^/:]+)?$#) { - &perror("FATAL", $file, -1, "URL \"$url\" should ". - "end with \"/\" or a group name (e.g. :something)."); - } - if ($url =~ m#://[^/]*:/#) { - &perror("FATAL", $file, -1, "URL \"$url\" contains ". - "extra \":\"."); - } - if ($osname == 'FreeBSD' && $url =~ m#(www\.freebsd\.org)/~.+/#i) { - &perror("WARN", $file, -1, "URL \"$url\", ". - "$1 should be ". - "people.FreeBSD.org"); - } -} -sub TRUE {1;} - -# Local variables: -# tab-width: 4 -# End: diff --git a/devel/portlint/src/portlintgrep.pl b/devel/portlint/src/portlintgrep.pl deleted file mode 100644 index 1bf267e0988d..000000000000 --- a/devel/portlint/src/portlintgrep.pl +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/perl -# -# Copyright (c) 2003 Oliver Eikemeier. All rights reserved. -# -# BSD licensed. -# - -# -# List all the ports with FATAL errors: -# -# portlintgrep ^FATAL: -# - -require 5.005; -use diagnostics; -use strict; -use Carp; - -my $make = $ENV{MAKE} ? $ENV{MAKE} : '/usr/bin/make'; -my $portlint = $ENV{PORTLINT} ? $ENV{PORTLINT} : '/usr/local/bin/portlint'; -my $portsdir = $ENV{PORTSDIR} ? $ENV{PORTSDIR} : '/usr/ports'; -my $portlint_args = $ENV{PORTLINT_ARGS} ? $ENV{PORTLINT_ARGS} : ''; - -die "Usage: portlintgrep <regex>\n" if $#ARGV != 0; -my $regex = qr/$ARGV[0]/; - -my %failedports; - -my @categories = split ' ', `cd $portsdir; $make -VSUBDIR`; -foreach my $category (@categories) { - my @ports = split ' ', `cd "$portsdir/$category"; $make -VSUBDIR`; - foreach my $port (@ports) { - my @result = - `cd "$portsdir/$category/$port"; $portlint $portlint_args`; - map chomp, @result; - my @filteredresult = grep /$regex/o, @result; - if (@filteredresult) { - my $maintainer = - `cd "$portsdir/$category/$port"; $make -VMAINTAINER`; - chomp $maintainer; - push @{$failedports{$maintainer}}, "$category/$port"; - print join("\n ", - "$category/$port <$maintainer>:", - @filteredresult), - "\n"; - } - } -} - -print "\nPorts sorted by maintainer:\n"; -foreach my $maintainer (sort { lc $a cmp lc $b } keys %failedports) { - print join("\n - ", $maintainer, @{$failedports{$maintainer}}), "\n"; -} diff --git a/devel/portmk/Makefile b/devel/portmk/Makefile deleted file mode 100644 index e44e7ef46327..000000000000 --- a/devel/portmk/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -# New ports collection makefile for: portmk -# Date created: 05 Jul 2004 -# Whom: Oliver Eikemeier -# -# $FreeBSD$ -# - -PORTNAME= portmk -PORTVERSION= 0.1.1 -CATEGORIES= devel -DISTFILES= - -MAINTAINER= clement@FreeBSD.org -COMMENT= Development version of bsd.port.mk - -PKGMESSAGE= ${WRKDIR}/pkg-message - -NO_BUILD= yes -PLIST_FILES= bin/omake - -PORTDOCS= ReadMe ChangeLog Features KnownIssues - -MASTER_SITE_PATCHOMATIC?= http://people.freebsd.org/~clement/portmk/ -PATCHOMATIC_FILE?= patch-o-matic-latest.tar.bz2 -WRKSRC= ${WRKDIR}/patch-o-matic - -.include <bsd.port.pre.mk> - -PORTMK_PATCH= ${FILESDIR}/portmk5.patch - -post-patch: -.for text in pkg-message - @${SED} -e 's,%%PREFIX%%,${PREFIX},g' \ - -e 's,%%PORTSDIR%%,${PORTSDIR},g' \ - -e 's,%%DOCSDIR%%,${DOCSDIR},g' \ - ${PKGDIR}/${text} >${WRKDIR}/${text} -.endfor - -do-install: - @${INSTALL_SCRIPT} ${FILESDIR}/omake.sh ${PREFIX}/bin/omake - -post-install: - @${MKDIR} ${DOCSDIR} -.for doc in ${PORTDOCS} - @${INSTALL_DATA} ${FILESDIR}/${doc} ${DOCSDIR} -.endfor - @${CAT} ${PKGMESSAGE} - -activate: - @if [ "`${ECHO_CMD} FreeBSD | ${TR} -s .`" != "FreeBSD" ]; then \ - ${ECHO_MSG} "tr(1) is broken."; \ - ${FALSE}; \ - fi - @${GREP} -qs PORTMK /usr/share/mk/bsd.port.mk || \ - ${PATCH} -s -N -d /usr/share/mk -i ${PORTMK_PATCH} && \ - ${ECHO_MSG} ">> Configured bsd.port.mk." - @${GREP} -qs PORTMK /etc/make.conf || \ - ${CAT} ${FILESDIR}/make.conf >> /etc/make.conf && \ - ${ECHO_MSG} ">> Configured make.conf(5)." - -patch-o-matic: - @${MKDIR} ${WRKDIR} - @${ECHO_CMD} "==> Fetching patch-o-matic file (${MASTER_SITE_PATCHOMATIC}/${PATCHOMATIC_FILE}" - @(cd ${WRKDIR} ; ${RM} -f ${PATCHOMATIC_FILE} ; ${FETCH_CMD} \ - ${MASTER_SITE_PATCHOMATIC}/${PATCHOMATIC_FILE}) - @${TAR} yxf ${WRKDIR}/${PATCHOMATIC_FILE} -C ${WRKDIR} - @${ECHO_CMD} "==> Applying patches..." - @for patch in $$(${CAT} ${WRKSRC}/AFFECTED_PORTS); do \ - eval `${ECHO_CMD} $$patch | ${AWK} -F\: \ - '{print "PORT="$$1"; PATCH="$$2";"}'`; \ - [ -e ${WRKSRC}/patches/$$PATCH ] && { \ - ${ECHO_CMD} -n " Applying $$PATCH to $$PORT... " ; \ - ${PATCH} -d ${PORTSDIR} -p0 < ${WRKSRC}/patches/$$PATCH > /dev/null 2>&1 || echo -n "N" ;\ - echo OK ;\ - }; ${TRUE} ;\ - done - -.include <bsd.port.post.mk> diff --git a/devel/portmk/Mk/bsd.port.mk b/devel/portmk/Mk/bsd.port.mk deleted file mode 100644 index 3595f62efba3..000000000000 --- a/devel/portmk/Mk/bsd.port.mk +++ /dev/null @@ -1,6136 +0,0 @@ -#-*- mode: makefile; tab-width: 4; -*- -# ex:ts=4 -# -# $FreeBSD$ -# $NetBSD: $ -# -# bsd.port.mk - 940820 Jordan K. Hubbard. -# This file is in the public domain. -# -# Please view me with 4 column tabs! - -# This is the master file for the most common elements to all port -# Makefile in the ports system. For a more general overview of its -# use and importance, see the Porter's Handbook. - -# There are two different types of "maintainers" in the ports framework. -# The maintainer alias of the bsd.port.mk file is listed below in the -# FreeBSD_MAINTAINER entry. You should consult them if you have any -# questions/suggestions regarding this file. -# -# DO NOT COMMIT CHANGES TO THIS FILE BY YOURSELF, EVEN IF YOU DID NOT GET -# A RESPONSE FROM THE MAINTAINER(S) WITHIN A REASONABLE TIMEFRAME! ALL -# UNAUTHORISED CHANGES WILL BE UNCONDITIONALLY REVERTED! - -FreeBSD_MAINTAINER= portmgr@FreeBSD.org - -# For each port, the MAINTAINER variable is what you should consult for -# contact information on the person(s) to contact if you have questions/ -# suggestions about that specific port. By default (if no MAINTAINER -# is listed), a port is maintained by the subscribers of the ports@FreeBSD.org -# mailing list, and any correspondence should be directed there. -# -# MAINTAINER - The e-mail address of the contact person for this port. -# Default: ports@FreeBSD.org -# -# These are meta-variables that are automatically set to the system -# you are running on. These are provided in case you need to take -# different actions for different values. -# -# ARCH - The architecture of the target machine, such as would be -# returned by "uname -p". (Note: Ports should test against -# ARCH, and not the host machine's architecture which is -# MACHINE_ARCH, to enable ports to be cross-built.) -# OPSYS - Portability clause. This is the operating system the -# makefile is being used on. Automatically set to -# "FreeBSD," "NetBSD," or "OpenBSD" as appropriate. -# OSREL - The release version (numeric) of the operating system. -# OSVERSION - The value of __FreeBSD_version. -# PORTOBJFORMAT - The object format ("aout" or "elf"). -# -# This is the beginning of the list of all variables that need to be -# defined in a port, listed in order that they should be included -# to fit in with existing conventions. (Exception: MAINTAINER actually -# should appear after EXTRACT_ONLY and before MASTER_SITE_BACKUP). -# -# These variables are used to identify your port. -# -# PORTNAME - Name of software. Mandatory. -# PORTVERSION - Version of software. Mandatory when no DISTVERSION is given. -# PORTREVISION - Version of port. Optional. Commonly used to indicate -# that an update has happened that affects the port -# framework itself, but not the distributed software -# (e.g., local patches or Makefile changes). -# PORTEPOCH - Optional. In certain odd cases, the PORTREVISION logic -# can be fooled by ports that appear to go backwards -# numerically (e.g. if port-0.3 is newer than port-1998). -# In this case, incrementing PORTEPOCH forces the revision. -# Default: 0 (no effect). -# PKGNAME - Always defined as -# ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION}. -# Do not define this in your Makefile. -# PKGNAMEPREFIX - Prefix to specify that port is language-specific, etc. -# Optional. -# PKGNAMESUFFIX - Suffix to specify compilation options. Optional. -# PKGVERSION - Always defined as -# ${PORTVERSION}. -# Do not define this in your Makefile. -# UNIQUENAME - A name for your port that is globally unique. By default, -# this is set to ${LATEST_LINK} when LATEST_LINK is set, -# and to ${PKGNAMEPREFIX}${PORTNAME} otherwise. -# DISTVERSION - Vendor version of the distribution. -# Default: ${PORTVERSION} -# DISTNAME - Name of port or distribution used in generating -# WRKSRC and DISTFILES below. -# Default: -# ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} -# CATEGORIES - A list of descriptive categories into which this port falls. -# Mandatory. -# -# These variable describe how to fetch files required for building the port. -# -# DISTFILES - Name(s) of archive file(s) containing distribution. -# Set this to an empty string if the port doesn't require it. -# Default: ${DISTNAME}${EXTRACT_SUFX} -# EXTRACT_SUFX - Suffix for archive names -# You never have to set both DISTFILES and EXTRACT_SUFX. -# Default: .tar.bz2 if USE_BZIP2 is set, .zip if USE_ZIP is -# set, .tar.gz otherwise. -# MASTER_SITES - Primary location(s) for distribution files if not found -# locally. See bsd.sites.mk for common choices for -# MASTER_SITES. -# MASTER_SITE_SUBDIR -# - Subdirectory of MASTER_SITES. Will sometimes need to be -# set to ${PORTNAME} for (e.g.) MASTER_SITE_SOURCEFORGE. -# Only guaranteed to work for choices of ${MASTER_SITES} -# defined in bsd.sites.mk. -# Default: not set. -# PATCHFILES - Name(s) of additional files that contain distribution -# patches. Make will look for them at PATCH_SITES (see below). -# They will automatically be uncompressed before patching if -# the names end with ".gz", ".bz2" or ".Z". -# Default: not set. -# PATCH_SITES - Primary location(s) for distribution patch files -# if not found locally. -# DIST_SUBDIR - Suffix to ${DISTDIR}. If set, all ${DISTFILES} and -# ${PATCHFILES} will be put in this subdirectory of -# ${DISTDIR} (see below). Also they will be fetched in this -# subdirectory from FreeBSD mirror sites. -# ALLFILES - All of ${DISTFILES} and ${PATCHFILES}. -# IGNOREFILES - If set, don't perform checksum checks on these files. -# NOFETCHFILES - If set, don't download these files from the ${MASTER_SITES} -# or ${MASTER_SITE_BACKUP} (but do from -# ${MASTER_SITE_OVERRIDE}) -# EXTRACT_ONLY - If set, a subset of ${DISTFILES} you want to -# actually extract. -# ALWAYS_KEEP_DISTFILES -# - If set, the package building cluster will save the distfiles -# along with the packages. This may be required to comply with -# some licenses, e.g. GPL in some cases. -# Default: not set. -# -# (NOTE: by convention, the MAINTAINER entry (see above) should go here.) -# -# These variables are typically set in /etc/make.conf to indicate -# the user's preferred location to fetch files from. You should -# rarely need to set these. -# -# MASTER_SITE_BACKUP -# - Backup location(s) for distribution files and patch -# files if not found locally and ${MASTER_SITES}/${PATCH_SITES} -# Default: -# ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ -# MASTER_SITE_OVERRIDE -# - If set, override the MASTER_SITES setting with this -# value. -# MASTER_SITE_FREEBSD -# - If set, only use ${MASTER_SITE_BACKUP} for -# MASTER_SITES. -# CD_MOUNTPTS - List of CDROM mountpoints to look for distfiles under. -# This variable supercedes CD_MOUNTPT, which is -# obsolete. -# -# Set these if your port should not be built under certain circumstances. -# These are string variables; you should set them to the reason why -# they are necessary. -# -# RESTRICTED - Prevent the distribution of distfiles and packages to -# the FTP sites or on CDROM (e.g. forbidden by license -# considerations). -# NO_CDROM - Packages and distfiles may not go on CDROM (e.g. must -# not be re-sold) but can go on FTP sites. -# NO_PACKAGE - Port should not be packaged for ftp sites or CDROMs, -# but distfiles can be put on ftp sites and CDROMs. -# FORBIDDEN - Package build should not be attempted because of -# security vulnerabilities. -# IGNORE - Package build should be skipped entirely (e.g. -# because of serious unfixable problems in the build, -# because it cannot be manually fetched, etc). Error -# logs will not appear on pointyhat, so this should be -# used sparingly. -# BROKEN - Port is believed to be broken. Package builds will -# still be attempted on the pointyhat package cluster to -# test this assumption. -# DEPRECATED - Port is deprecated to install. Advisory only. -# EXPIRATION_DATE -# - If DEPRECATED is set, determines a date when -# the port is planed to remove. The date format is -# ISO 8601 (YYYY-MM-DD). -# -# DISABLE_VULNERABILITIES -# - If set, do not check if the port is listed in the -# vulnerabilities database. -# -# In addition to RESTRICTED or NO_CDROM, if only a subset of distfiles -# or patchfiles have redistribution restrictions, set the following -# to the list of such files. -# -# RESTRICTED_FILES -# - List of files that cannot be redistributed. -# Default: "${DISTFILES} ${PATCHFILES}" if RESTRICTED -# or NO_CDROM is set, empty otherwise. -# -# These variables are booleans, so you don't need to set them to the reason. -# -# IS_INTERACTIVE -# - Set this if your port needs to interact with the user -# during any step in a package build. User can then decide -# to skip this port by setting ${BATCH}, or compiling only -# the interactive ports by setting ${INTERACTIVE}. -# Default: not set. -# USE_SUBMAKE - Set this if you want that each of the port's main 6 targets -# (extract, patch, configure, build, install and package) to be -# executed in a separate make(1) process. Useful when one of -# the stages needs to influence make(1) variables of the later -# stages using ${WRKDIR}/Makefile.inc generated on the fly. -# Default: not set. -# -# Set these if your port only makes sense to certain architectures. -# They are lists containing names for them (e.g., "alpha i386"). -# (Defaults: not set.) -# -# ONLY_FOR_ARCHS -# - Only build ports if ${ARCH} matches one of these. -# NOT_FOR_ARCHS - Only build ports if ${ARCH} doesn't match one of these. -# ONLY_FOR_ARCHS_REASON -# ONLY_FOR_ARCHS_REASON_${ARCH} -# - Reason why it's only for ${ONLY_FOR_ARCHS}s -# NOT_FOR_ARCHS_REASON -# NOT_FOR_ARCHS_REASON_${ARCH} -# - Reason why it's not for ${NOT_FOR_ARCHS}s -# IA32_BINARY_PORT - Set this instead of ONLY_FOR_ARCHS if the given port -# fetches and installs compiled i386 binaries. -# -# Dependency checking. Use these if your port requires another port -# not in the list below. (Default: empty.) -# -# EXTRACT_DEPENDS -# - A list of "path:dir[:target]" tuples of other ports this -# package depends on in the "extract" stage. "path" is -# the name of a file if it starts with a slash (/), an -# executable otherwise. make will test for the existence -# (if it is a full pathname) or search for it in your -# $PATH (if it is an executable) and go into "dir" to do -# a "make all install" if it's not found. If the third -# field ("target") exists, it will be used instead of -# ${DEPENDS_TARGET}. -# PATCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this -# package depends on in the "patch" stage. "path" is the -# name of a file if it starts with a slash (/), an -# executable otherwise. make will test for the existence -# (if it is a full pathname) or search for it in your -# $PATH (if it is an executable) and go into "dir" to do -# a "make all install" if it's not found. If the third -# field ("target") exists, it will be used instead of -# ${DEPENDS_TARGET}. -# FETCH_DEPENDS - A list of "path:dir[:target]" tuples of other ports this -# package depends in the "fetch" stage. "path" is the -# name of a file if it starts with a slash (/), an -# executable otherwise. make will test for the -# existence (if it is a full pathname) or search for -# it in your $PATH (if it is an executable) and go -# into "dir" to do a "make all install" if it's not -# found. If the third field ("target") exists, it will -# be used instead of ${DEPENDS_TARGET}. -# BUILD_DEPENDS - A list of "path:dir[:target]" tuples of other ports this -# package depends to build (between the "extract" and -# "build" stages, inclusive). The test done to -# determine the existence of the dependency is the -# same as FETCH_DEPENDS. If the third field ("target") -# exists, it will be used instead of ${DEPENDS_TARGET}. -# RUN_DEPENDS - A list of "path:dir[:target]" tuples of other ports this -# package depends to run. The test done to determine -# the existence of the dependency is the same as -# FETCH_DEPENDS. This will be checked during the -# "install" stage and the name of the dependency will -# be put into the package as well. If the third field -# ("target") exists, it will be used instead of -# ${DEPENDS_TARGET}. -# LIB_DEPENDS - A list of "lib:dir[:target]" tuples of other ports this -# package depends on. "lib" is the name of a shared library. -# make will use "ldconfig -r" to search for the library. -# lib can contain extended regular expressions. -# DEPENDS_TARGET -# - The default target to execute when a port is calling a -# dependency. -# Default: install -# -# These variables control options about how a port gets built and/or -# are shorthand notations for common sets of dependencies. -# Use these if your port uses some of the common software packages. By -# convention these should be set to 'yes', although they only need to be -# defined. Defaults: not set, unless explicitly indicated below. -# -# Note: the distinction between the USE_* and WANT_* variables, and the -# WITH_* and WITHOUT_* variables, are that the former are restricted to -# usage inside the ports framework, and the latter are reserved for user- -# settable options. (Setting USE_* in /etc/make.conf is always wrong). -# -# WITH_DEBUG - If set, debugging flags are added to CFLAGS and the -# binaries don't get stripped by INSTALL_PROGRAM. -# Besides, individual ports might add their specific -# to produce binaries for debugging purposes. -# You can override the debug flags that are passed to -# the compiler by setting DEBUG_FLAGS. It is set to -# "-g" at default. -# -# USE_BZIP2 - If set, this port tarballs use bzip2, not gzip, for -# compression. -# USE_ZIP - If set, this port distfile uses zip, not tar w/[bg]zip -# for compression. -# USE_DOS2UNIX - If set to "YES", remove the ^M from all files -# under ${WRKSRC}. If set to a string, remove in all -# files under ${WRKSRC} with one of these names the ^Ms. -# DOS2UNIX_REGEX -# - Limit the ^M removal to files which name matches -# the regular expression. -# USE_GCC - If set, this port requires this version of gcc, either in -# the system or installed from a port. -# USE_GMAKE - If set, this port uses gmake. -# GMAKE - Set to path of GNU make if not in $PATH. -# Default: gmake -## -# USE_GETOPT_LONG -# - If set, this port uses getopt_long. If OSVERSION -# less than 500041, automatically adds devel/libgnugeopt -# to LIB_DEPENDS, and pass adjusted values of -# CPPFLAGS and LDFLAGS in CONFIGURE_ENV. -## -# USE_ICONV - If set, this port uses libiconv. -# USE_GETTEXT - If set, this port uses GNU gettext (libintl). -## -# USE_PERL5 - If set, this port uses perl5 in one or more of the extract, -# patch, build, install or run phases. -# USE_PERL5_BUILD -# - If set, this port uses perl5 in one or more of the extract, -# patch, build or install phases. -# USE_PERL5_RUN - If set, this port uses perl5 for running. -# PERL5 - Set to full path of perl5, either in the system or -# installed from a port. -# PERL - Set to full path of perl5, either in the system or -# installed from a port, but without the version number. -# Use this if you need to replace "#!" lines in scripts. -# PERL_VERSION - Full version of perl5 (see below for current value). -# PERL_VER - Short version of perl5 (see below for current value). -# PERL_LEVEL - Perl version as an integer of the form MNNNPP, where -# M is major version, N is minor version, and P is -# the patch level. E.g., PERL_VERSION=5.6.1 would give -# a PERL_LEVEL of 500601. This can be used in comparisons -# to determine if the version of perl is high enough, -# whether a particular dependency is needed, etc. -# PERL_ARCH - Directory name of architecture dependent libraries -# (value: ${ARCH}-freebsd). -# PERL_PORT - Name of the perl port that is installed -# (value: perl5) -# SITE_PERL - Directory name where site specific perl packages go. -# This value is added to PLIST_SUB. -# PERL_MODBUILD - Use Module::Build to configure, build and install port. -## -# USE_GHOSTSCRIPT -# - If set, this port needs ghostscript to both -# build and run. -# USE_GHOSTSCRIPT_BUILD -# - If set, this port needs ghostscript to build. -# USE_GHOSTSCRIPT_RUN -# - If set, this port needs ghostscript to run. -# GHOSTSCRIPT_PORT -# - The port that provides postscript functionality. -# Some installations may wish to override the default -# to specify a version without X11 and/or localized -# versions for their nationality. -# WITH_GHOSTSCRIPT_GPL -# - If set, this port uses the GPL version of the ghostscript -# software instead of the GNU version, which is used otherwise. -# WITH_GHOSTSCRIPT_AFPL -# - If set, this port uses the AFPL version of the ghostscript -# software instead of the GNU version, which is used otherwise. -## -# USE_BISON - If set, this port uses bison for building. -## -# USE_IMAKE - If set, this port uses imake. Implies USE_X_PREFIX. -# XMKMF - Set to path of `xmkmf' if not in $PATH -# Default: xmkmf -a -# USE_X_PREFIX - If set, this port installs in ${X11BASE}. Implies USE_XLIB. -# USE_XLIB - If set, this port uses the X libraries. In the USE_LINUX -# case the linux X libraries are referenced. -# -# USE_FREETYPE - If set, this port uses the freetype print libraries. -# USE_GL - If set, this port uses libGL (not needed with XFree86 4.x -# which already includes this functionality). -# USE_MOTIF - If set, this port uses a Motif toolkit. Implies USE_XPM. -# NO_OPENMOTIF - If set, this port uses a custom Motif toolkit -# instead of Openmotif. -# Used only when USE_MOTIF is set. -# WANT_LESSTIF - If set, this port uses Lesstif as Motif toolkit. -# Used only when USE_MOTIF is set. Implies -# NO_OPENMOTIF. -## -# USE_SDL - If set, this port uses the sdl libraries. -# See bsd.sdl.mk for more information. -# USE_XPM - If set, this port uses the xpm graphics libraries. -## -# USE_OPENSSL - If set, this port relies on the OpenSSL package. -## -# USE_OPENLDAP - If set, this port uses the OpenLDAP libraries. -# Implies: WANT_OPENLDAP_VER?=23 -# WANT_OPENLDAP_VER -# - Legal values are: 22, 23, 24 -# If set to an unkown value, the port is marked BROKEN. -# WANT_OPENLDAP_SASL -# - If set, the system should use OpenLDAP libraries -# with SASL support. -## -# USE_FAM - If set, this port uses the File Alteration Monitor. -# -# WANT_FAM_SYSTEM -# - Legal values are: gamin (default),fam -# If set to an unknown value, the port is marked IGNORE. -## -# USE_AUTOTOOLS - If set, this port uses various GNU autotools -# (libtool, autoconf, autoheader, automake et al.) -# See bsd.autotools.mk for more details. -## -# USE_SCONS - If set, this port uses the Python-based SCons build system -# See bsd.scons.mk for more details. -## -# USE_JAVA - If set, this port relies on the Java language. -# Implies inclusion of bsd.java.mk. (Also see -# that file for more information on USE_JAVA_*). -# USE_PYTHON - If set, this port relies on the Python language. -# Implies inclusion of bsd.python.mk. (Also see -# that file for more information on USE_PYTHON_* -# and USE_PYDISTUTILS). -# USE_RUBY - If set, this port relies on the Ruby language. -# Implies inclusion of bsd.ruby.mk. (Also see -# that file for more information on USE_RUBY_*). -# USE_GNUSTEP - If set, this port relies on the GNUstep system. -# Implies the inclusion of bsd.gnustep.mk. -# (Also see that file for more information on -# USE_GNUSTEP_*). -## -# USE_GNOME - A list of the Gnome dependencies the port has (e.g., -# glib12, gtk12). Implies that the port needs Gnome. -# Implies inclusion of bsd.gnome.mk. See bsd.gnome.mk -# or http://www.FreeBSD.org/gnome/docs/porting.html -# for more details. -## -# USE_LUA - If set, this port uses the Lua library and related -# components. See bsd.lua.mk for more details. -## -# USE_WX - If set, this port uses the WxWidgets library and related -# components. See bsd.wx.mk for more details. -## -# USE_KDEBASE_VER -# - Set to 3 to use the KDE windowing system. -# Implies inclusion of bsd.kde.mk. -# USE_KDELIBS_VER -# - Set to 3 to use the KDE libraries. -# Implies inclusion of bsd.kde.mk. -# USE_QT_VER - Set to 3 to use the QT libraries. -# Implies inclusion of bsd.kde.mk. -## -# USE_LINUX - Set to yes to say the port needs the default linux base port. -# Set to value <X>, if the port needs emulators/linux_base-<X>. -# If set to "7", a dependency is registered to emulators/linux_base. -# Implies appropriate settings for STRIP and STRIP_CMD. -# USE_LINUX_PREFIX -# - controls the action of PREFIX (see above). Only use this -# if the port is a linux infrastructure port (e.g. contains libs -# or a sound server which supports the FreeBSD native one), -# use the default or the X11 prefix if it's a leaf port -# (e.g. a game or program). -# Implies NO_MTREE=yes, and, if INSTALLS_SHLIB is defined: -# - USE_LINUX=yes -# - appropriate invocation of the Linux ldconfig -# USE_LINUX_RPM - Set to yes to pull in variables and targets useful to Linux -# RPM ports. -# Implies inclusion of bsd.linux-rpm.mk. -# AUTOMATIC_PLIST -# - Set to yes to enable automatic packing list generation. -# Currently has no effect unless USE_LINUX_RPM is set. -# -# OVERRIDE_LINUX_BASE_PORT -# - This specifies the default linux base to use, for valid -# values have a look at the description of USE_LINUX. This is -# an user-only variable. Don't use it in any port, it's meant -# to be used in make.conf. -# -# LINUX_BASE_PORT -# - This is a read-only variable, it gets set to a value which is -# usable in *_DEPENDS (e.g. BUILD_DEPENDS=${LINUX_BASE_PORT}). -# It honors USE_LINUX=foo and OVERRIDE_LINUX_BASE_PORT. -# USE_RC_SUBR - If set, the ports startup/shutdown script uses the common -# routines found in etc/rc.subr and may need to -# depend on the sysutils/rc_subr port. -# If this is set to a list of files, these files will be -# automatically added to ${SUB_FILES}, some %%VAR%%'s will -# automatically be expanded, they will be installed in -# ${TARGETDIR}/etc/rc.d and added to the packing list. -# USE_RCORDER - List of rc.d startup scripts to be called early in the boot -# process. This acts exactly like USE_RC_SUBR except that -# scripts are installed in /etc/rc.d. -# RC_SUBR - Set to path of rc.subr. -# Default: ${LOCALBASE}/etc/rc.subr. -# RC_SUBR_SUFFIX -# - Contains the suffix of installed rc.subr scripts. -## -# USE_APACHE - If set, this port relies on an apache webserver. -# -# USE_CDRTOOLS - If set, this port depends on sysutils/cdrtools, unless -# cdrtools-cjk is present or USE_CDRTOOLS=cjk is set, then -# it depends on sysutils/cdrtools-cjk. -# -# Conflict checking. Use if your port cannot be installed at the same time as -# another package. -# -# CONFLICTS - A list of package name patterns that the port conflicts -# with, separated by blanks. The names may include shell -# pattern meta-characters "*", "?", "[", "]", and "!". -# Example: apache*-1.2* apache*-1.3.[012345] apache-*+ssl_* -# -# Various directory definitions and variables to control them. -# You rarely need to redefine any of these except WRKSRC and NO_WRKSUBDIR. -# -# TARGETDIR - The fully qualified path, where everything is installed. -# See the other variables below. -# Default: ${DESTDIR}${PREFIX} -# -# DESTDIR - The path to the environment we are installing to. Define -# this if you want to install packages into a jail -# or into an another FreeBSD environment mounted -# elsewhere than /. ${PREFIX} is relative to -# ${DESTDIR}. E.g. setting DESTDIR=/bla PREFIX=/opt will -# result packages installed under /bla/opt and registered -# under /bla/var/db/pkg. -# Default: not set (means /) -# -# X11BASE - Where X11 ports install things. -# Default: ${DESTDIR}/usr/X11R6 -# X11BASE_REL - Same as X11BASE, but relative to DESTDIR -# Default: /usr/X11R6 -# LOCALBASE - Where non-X11 ports install things. -# Default: ${DESTDIR}/usr/local -# LOCALBASE_REL - Same as LOCALBASE, but relative to DESTDIR -# Default: /usr/local -# LINUXBASE - Where Linux ports install things. -# Default: ${DESTDIR}/compat/linux -# LINUXBASE_REL - Same as LINUXBASE, but relative to DESTDIR -# Default: /compat/linux -# PREFIX - Where *this* port installs its files. -# Default: ${X11BASE_REL} if USE_X_PREFIX is set, -# ${LINUXBASE_REL} if USE_LINUX_PREFIX is set, -# otherwise ${LOCALBASE_REL} -# -# IGNORE_PATH_CHECKS - There are some sanity checks against PREFIX and DESTDIR. -# You can diasble these checks with defining -# this variable, but this is not recommended! -# Only do this if you really know what you are -# doing. These sanity checks are the following: -# - DESTDIR can't be /. Just leave it undefined -# if you want to install to /. -# - DESTDIR has to be an absolute path. -# - DESTDIR can't have a trailing slash. -# - PREFIX has to be an absolute path. -# - PREFIX can't have a trailing slash. -# -# MASTERDIR - Where the port finds patches, package files, etc. Define -# this is you have two or more ports that share most of the -# files. -# Default: ${.CURDIR} -# PORTSDIR - The root of the ports tree. -# Default: /usr/ports -# DISTDIR - Where to search for and store copies of original sources -# Default: ${PORTSDIR}/distfiles -# PACKAGES - A top level directory where all packages go (rather than -# going locally to each port). -# Default: ${PORTSDIR}/packages -# WRKDIRPREFIX - The place to root the temporary working directory -# hierarchy. -# Default: none -# WRKDIR - A temporary working directory that gets *clobbered* on clean -# Default: ${WRKDIRPREFIX}${.CURDIR}/work -# WRKSRC - A subdirectory of ${WRKDIR} where the distribution actually -# unpacks to. -# Default: ${WRKDIR}/${DISTNAME} unless NO_WRKSUBDIR is set, -# in which case simply ${WRKDIR} -# NO_WRKSUBDIR - Assume port unpacks directly into ${WRKDIR}. -# PATCHDIR - A directory containing any additional patches you made -# to port this software to FreeBSD. -# Default: ${MASTERDIR}/files -# SCRIPTDIR - A directory containing any auxiliary scripts -# Default: ${MASTERDIR}/scripts -# FILESDIR - A directory containing any miscellaneous additional files. -# Default: ${MASTERDIR}/files -# PKGDIR - A directory containing any package creation files. -# Default: ${MASTERDIR} -# -# Variables that serve as convenient "aliases" for your *-install targets. -# Use these like: "${INSTALL_PROGRAM} ${WRKSRC}/prog ${PREFIX}/bin". -# -# INSTALL_PROGRAM -# - A command to install binary executables. (By -# default, also strips them, unless ${STRIP} is -# overridden to be the empty string). -# INSTALL_SCRIPT -# - A command to install executable scripts. -# INSTALL_DATA - A command to install sharable data. -# INSTALL_MAN - A command to install manpages. May or not compress, -# depending on the value of MANCOMPRESSED (see below). -# -# Boolean to control whether manpages are installed. -# -# NO_INSTALL_MANPAGES -# - If set, this port doesn't want to install any manpages. -# Default: not set, i.e. manpages are installed by default. -# -# Set the following to specify all manpages that your port installs. -# These manpages will be automatically listed in ${PLIST}. Depending -# on the setting of NOMANCOMPRESS, the make rules will compress the -# manpages for you. -# -# MAN<sect> - A list of manpages, categorized by section. For -# example, if your port has "man/man1/foo.1" and -# "man/mann/bar.n", set "MAN1=foo.1" and "MANN=bar.n". -# The available sections chars are "123456789LN". -# MAN<sect>_<lang> -# - If your port does not install all man pages for all -# languages in MANLANG, language specific pages for -# a language can be specified with this. For example, -# if the port installs foo.1 in English, Japanese, and -# German, bar.1 in English only, and baz.3 in German -# only, set -# MANLANG= "" de ja -# MAN1= foo.1 -# MAN1_EN= bar.1 -# MAN3_DE= baz.3 -# MLINKS - A list of <source, target> tuples for creating links -# for manpages. For example, "MLINKS= a.1 b.1 c.3 d.3" -# will do an "ln -sf a.1 b.1" and "ln -sf c.3 d.3" in -# appropriate directories. (Use this even if the port -# installs its own manpage links so they will show up -# correctly in ${PLIST}.) -# MANPREFIX - The directory prefix for ${MAN<sect>} and ${MLINKS}. -# Default: ${TARGETDIR} -# MAN<sect>PREFIX -# - If manual pages of some sections install in different -# locations than others, use these. -# Default: ${MANPREFIX} -# MANCOMPRESSED - This variable can take values "yes", "no" or -# "maybe". "yes" means manpages are installed -# compressed; "no" means they are not; "maybe" means -# it changes depending on the value of NOMANCOMPRESS. -# Default: "yes" if USE_IMAKE is set and NO_INSTALL_MANPAGES -# is not set, and "no" otherwise. -# -# Set the following to specify all .info files your port installs. -# -# INFO - A list of .info files (omitting the trailing ".info"); -# only one entry per document! -# INFO_PATH - Path, where all .info files will be installed by your -# port, relative to ${PREFIX} -# Default: "share/info" if ${PREFIX} is equal to /usr -# and "info" otherwise. -# -# Set the following to specify all documentation your port installs into -# ${DOCSDIR} -# -# PORTDOCS - A list of files and directories relative to DOCSDIR. -# Shell glob patterns can be used, directories include -# the entire subtree of contained files and directories. -# Should not be set when no documentation files are -# installed (for example because NOPORTDOCS is defined). -# Useful for dynamically generated documentation. -# -# Default targets and their behaviors: -# -# fetch - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined) -# into ${DISTDIR} as necessary. -# fetch-list - Show list of files that would be retrieved by fetch. -# fetch-recursive -# - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined), -# for port and dependencies into ${DISTDIR} as necessary. -# fetch-recursive-list -# - Show list of files that would be retrieved by -# fetch-recursive. -# fetch-required-list -# - Show list of files that would be retrieved by -# fetch-required. -# fetch-required -# - Retrieves ${DISTFILES} (and ${PATCHFILES} if defined), -# for port and dependencies that are not already installed -# into ${DISTDIR}. -# all-depends-list -# - Show all directories which are dependencies -# for this port. -# build-depends-list -# - Show all directories which are build-dependencies -# for this port. -# package-depends-list -# - Show all directories which are -# package-dependencies for this port. -# run-depends-list -# - Show all directories which are run-dependencies -# for this port. -# -# extract - Unpacks ${DISTFILES} into ${WRKDIR}. -# patch - Apply any provided patches to the source. -# configure - Runs either GNU configure, one or more local configure -# scripts or nothing, depending on what's available. -# build - Actually compile the sources. -# install - Install the results of a build. -# reinstall - Install the results of a build, ignoring "already installed" -# flag. -# deinstall - Remove the installation. -# deinstall-all - Remove all installations with the same PKGORIGIN. -# package - Create a package from an _installed_ port. -# package-recursive -# - Create a package for a port and _all_ of its dependancies. -# describe - Try to generate a one-line description for each port for -# use in INDEX files and the like. -# checkpatch - Do a "patch -C" instead of a "patch". Note that it may -# give incorrect results if multiple patches deal with -# the same file. -# checksum - Use distinfo to ensure that your distfiles are valid. -# checksum-recursive -# - Run checksum in this port and all dependencies. -# makesum - Generate distinfo (only do this for your own ports!). -# clean - Remove ${WRKDIR} and other temporary files used for building. -# clean-depends - Do a "make clean" for all dependencies. -# config - Configure options for this port (using ${DIALOG}). -# Automatically run prior to extract, patch, configure, build, -# install, and package. -# config-recursive -# - Configure options for this port for this port and all dependencies. -# showconfig - Display options config for this port. -# rmconfig - Remove the options config for this port. -# rmconfig-recursive -# - Remove the options config for this port and all dependencies. -# -# Default sequence for "all" is: -# -# check-sanity fetch checksum extract patch configure build -# -# Please read the comments in the targets section below; you -# should be able to use the pre-* or post-* targets/scripts -# (which are available for every stage except checksum) or -# override the do-* targets to do pretty much anything you want. -# -# NEVER override the "regular" targets unless you want to open -# a major can of worms. -# -# Set these variables if your port doesn't need some of the steps. -# Note that there are no NO_PATCH or NO_CONFIGURE variables because -# those steps are empty by default. NO_EXTRACT is not allowed anymore -# since we need to at least create ${WRKDIR}. Also, NO_CHECKSUM is a user -# variable and is not to be set in a port's Makefile. See above for NO_PACKAGE. -# -# NO_BUILD - Use a dummy (do-nothing) build target. -# NO_INSTALL - Use a dummy (do-nothing) install target. -# -# Here are some variables used in various stages. -# -# For options: -# OPTIONS - List of what WITH_<option> options this port accept. The -# format is <option> "<description>" [on|off] -# Example: -# FLEXRESP "Flexible response to events" off -# which tell that an option WITH_FLEXRESP exists for this port, -# that by default it is not defined, and that the description to -# show to a user in the config dialog is "Flexible response to -# events". If you have more than one option, just chain them -# into a single variable. NOTE: To make options work, you need -# to include bsd.port.pre.mk before you start testing the -# WITH_xyz variables. -# -# For fetch: -# -# FETCH_CMD - Full path to ftp/http fetch command if not in $PATH. -# Default: "/usr/bin/fetch -ARr" -# FETCH_BEFORE_ARGS -# - Arguments to ${FETCH_CMD} before filename. -# Default: none -# FETCH_AFTER_ARGS -# - Arguments to ${FETCH_CMD} following filename. -# Default: none -# FETCH_ENV - Environment to pass to ${FETCH_CMD}. -# Default: none -# FETCH_REGET - Times to retry fetching of files on checksum errors. -# Default: 1 -# -# For extract: -# -# EXTRACT_CMD - Command for extracting archive: "bzip2" if USE_BZIP2 -# is set, "unzip" if USE_ZIP is set, "gzip" otherwise. -# EXTRACT_BEFORE_ARGS -# - Arguments to ${EXTRACT_CMD} before filename. -# Default: "-dc" -# EXTRACT_AFTER_ARGS -# - Arguments to ${EXTRACT_CMD} following filename. -# default: "| tar -xf -" -# EXTRACT_PRESERVE_OWNERSHIP -# - Normally, when run as "root", the extract stage will -# change the owner and group of all files under ${WRKDIR} -# to 0:0. Set this variable if you want to turn off this -# feature. -# -# For makesum: -# -# NO_SIZE - Don't record size data in distinfo, needed -# when the master site does not report file -# sizes, or when multiple valid versions of -# a distfile, having different sizes, exist. -# -# For patch: -# -# EXTRA_PATCHES - Define this variable if you have patches not in -# ${PATCHDIR}. This usually happens when you need to -# do some pre-processing before some distribution -# patches can be applied. In that case, fetch them as -# extra distfiles, put the processed results in -# ${WRKDIR}, then point EXTRA_PATCHES to them. -# The patches specified by this variable will be -# applied after the normal distribution patches but -# before those in ${PATCHDIR}. -# PATCH_WRKSRC - Directory to apply patches in. -# Default: ${WRKSRC} -# -# For configure: -# -# HAS_CONFIGURE - If set, this port has its own configure script. The -# configure stage will not do anything if this is not set. -# GNU_CONFIGURE - If set, you are using GNU configure (optional). Implies -# HAS_CONFIGURE. -# PERL_CONFIGURE -# - Configure using Perl's MakeMaker. Implies USE_PERL5. -# CONFIGURE_WRKSRC -# - Directory to run configure in. -# Default: ${WRKSRC} -# CONFIGURE_SCRIPT -# - Name of configure script, relative to ${CONFIGURE_WRKSRC}. -# Default: "Makefile.PL" if PERL_CONFIGURE is set, -# "configure" otherwise. -# CONFIGURE_TARGET -# - The name of target to call when GNU_CONFIGURE is -# defined. -# Default: ${ARCH}-portbld-freebsd${OSREL} -# CONFIGURE_ARGS -# - Pass these args to configure if ${HAS_CONFIGURE} is set. -# Default: "--prefix=${PREFIX} ${CONFIGURE_TARGET}" if -# GNU_CONFIGURE is set, "CC=${CC} CCFLAGS=${CFLAGS} -# PREFIX=${PREFIX} INSTALLPRIVLIB=${PREFIX}/lib -# INSTALLARCHLIB=${PREFIX}/lib" if PERL_CONFIGURE is set, -# empty otherwise. -# CONFIGURE_ENV - Pass these env (shell-like) to configure if -# ${HAS_CONFIGURE} is set. -# CONFIGURE_LOG - The name of configure log file. It will be printed to -# the screen if configure fails. -# Default: config.log -# CONFIGURE_FAIL_MESSAGE -# - A message displayed to users when configure -# fails (note: this assumes the do-configure -# target has not been overwritten). This message -# will be passed through /usr/bin/fmt before -# being shown to the user. -# -# For build and install: -# -# MAKEFILE - Name of the makefile. -# Default: Makefile -# ALL_TARGET - Default target for sub-make in build stage. -# Default: all -# BUILD_WRKSRC - Directory to do build in (default: ${WRKSRC}). -# MAKE_ENV - Additional environment vars passed to sub-make in build -# and install stages. -# Default: see below -# MAKE_ARGS - Any extra arguments to sub-make in build and install stages. -# Default: none -# -# For install: -# -# INSTALL_TARGET -# - Default target for sub-make in install stage. -# Default: install -# INSTALL_WRKSRC -# - Directory to install from -# Default: ${WRKSRC} -# NO_MTREE - If set, will not invoke mtree from bsd.port.mk from -# the "install" target. -# MTREE_FILE - The name of the mtree file. -# Default: /etc/mtree/BSD.x11.dist if USE_X_PREFIX is set, -# /etc/mtree/BSD.local.dist otherwise. -# PLIST_DIRS - Directories to be added to packing list -# PLIST_FILES - Files and symbolic links to be added to packing list -# -# PLIST - Name of the `packing list' file. -# Change this to ${WRKDIR}/PLIST or something if you -# need to write to it. (It is not a good idea for a port -# to write to any file outside ${WRKDIR} during a normal -# build.) -# Default: ${PKGDIR}/pkg-plist -# TMPPLIST - Name of the `packing list' file after processing -# Default: ${WRKDIR}/.PLIST.mktmp -# PLIST_SUB - List of "variable=value" pair for substitution in ${PLIST} -# Default: see below -# -# SUB_FILES - Files that should be passed through sed and redirected to -# ${WRKDIR}. -# - For each file specified in SUB_FILES, there must be a -# corresponding file in ${FILESDIR} whose suffix is ".in". For -# instance, if the Makefile specifies "SUB_FILES= pkg-message" -# then there must be a file called pkg-message.in in -# ${FILESDIR}. -# - The substitution process is the same as PLIST_FILES, as -# described below except that any line beginning with @comment -# is deleted. -# SUB_LIST - List of "variable=value" pair for substitution in ${SUB_FILES} -# Some pairs are added by default: eg. PREFIX=${PREFIX} -# -# INSTALLS_SHLIB -# - If set, bsd.port.mk will automatically run ldconfig commands -# from post-install and also add appropriate @exec/@unexec -# directives to directories listed in LDCONFIG_DIRS. (deprecated) -# If USE_LINUX_PREFIX is defined, the Linux version of ldconfig -# will be used instead of the native FreeBSD version (in such -# case, LDCONFIG_DIRS is ignored). -# LDCONFIG_DIRS - List of directories to run ldconfig if INSTALLS_SHLIB is set. -# Note that this is passed through sed just like the -# rest of PLIST, so ${PLIST_SUB} substitutions also -# apply here. It is recommended that you use -# %%PREFIX%% for ${PREFIX}, %%LOCALBASE%% for -# ${LOCALBASE_REL} and %%X11BASE%% for ${X11BASE_REL}. -# Default: %%PREFIX%%/lib -# USE_LDCONFIG - If set to "yes", it replaces the old variable INSTALLS_SHLIB. -# Otherwise, it can be set to a list of directories to be added to -# ${PREFIX}/libdata/ldconfig/${UNIQUENAME}. Note that this -# directory is used by ldconfig startup script, it is meant to -# replace ldconfig scripts installed by some ports as (sometimes) -# 000.${UNQUENAME}.sh. -# USE_LDCONFIG32 -# - Same as USE_LDCONFIG but the target file is -# ${PREFIX}/libdata/ldconfig32/${UNIQUENAME} instead. -# Note: that should only be used on 64-bit architectures. -# -# DOCSDIR - Name of the directory to install the packages docs in. -# Default: ${TARGETDIR}/share/doc/${PORTNAME} -# EXAMPLESDIR - Name of the directory to install the packages examples in. -# Default: ${TARGETDIR}/share/examples/${PORTNAME} -# DATADIR - Name of the directory to install the packages shared data in. -# Default: ${TARGETDIR}/share/${PORTNAME} -# -# DESKTOPDIR - Name of the directory to install ${DESKTOP_ENTRIES} in. -# Default: ${TARGETDIR}/share/applications -# DESKTOP_ENTRIES -# - List of desktop entry files to generate and install in -# ${DESKTOPDIR}. The format is -# "Name" "Comment" "Icon" "Exec" "Categories" StartupNotify -# Rules: -# * Only add desktop entries for applications which do not -# require a terminal (ie. X applications). -# * If the upstream distribution already installs .desktop -# files, you do not need to use this. -# * If you require a more elaborate .desktop file than this -# variable permits, write it yourself and install it -# in ${DESKTOPDIR}. -# Notes: -# * Comment and Icon may be empty strings (""). Categories -# may be an empty string in some cases (see below). The -# other fields are mandatory. -# * If Categories is an empty string, bsd.port.mk will try -# to deduce a default value using the CATEGORIES variable. -# If the deduction fails, you will have to set Categories -# manually. You should check the generated value using -# "make desktop-categories", and override it if necessary. -# * Exec will also be used to name the .desktop file. -# * The files will be automatically added to ${PLIST}. -# Example: -# "X Window Information" \ -# "Get information about X windows" \ -# "wininfo.png" \ -# "wininfo" \ -# "Application;System;" \ -# true -# See http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html -# for an explanation of the fields. If you need to create more -# than one file, just chain them into a single variable. -# -# Note that the install target will automatically add manpages (see -# above) and also substitute special sequences of characters (delimited -# by "%%") as defined in PLIST_SUB to generate ${TMPPLIST}. For -# instance, "OSREL=${OSREL}" in PLIST_SUB causes all occurrences of -# "%%OSREL%%" in ${PLIST} to be substituted by the value of OSREL. -# ${TMPPLIST} is generated before the do-install stage. If you are -# generating the packing list on-the-fly, make sure it's generated before -# do-install is called! -# -# For package: -# -# NO_LATEST_LINK -# - Do not install the "Latest" link for package. Define this -# if this port is a beta version of another stable port -# which is also in the tree. -# LATEST_LINK - Install the "Latest" link for the package as ___. Define -# this if the "Latest" link name will be incorrectly determined. -# -# This is used in all stages: -# -# SCRIPTS_ENV - Additional environment vars passed to scripts in -# ${SCRIPTDIR} executed by bsd.port.mk. -# Default: see below -# -# Finally, variables to change if you want a special behavior. These -# are for debugging purposes. Don't set them in your Makefile. -# -# ECHO_MSG - Used to print all the '===>' style prompts - override this -# to turn them off. -# Default: ${ECHO_CMD} -# PATCH_DEBUG - If set, print out more information about the patches as -# it attempts to apply them. -# PKG_DBDIR - Where package installation is recorded; this directory -# must not contain anything else. -# Default: ${DESTDIR}/var/db/pkg -# PORT_DBDIR - Where port configuration options are recorded. -# Default: ${DESTDIR}/var/db/ports -# NO_PKG_REGISTER -# - Don't register a port installation as a package. -# FORCE_PKG_REGISTER -# - If set, it will overwrite any existing package -# registration information in ${PKG_DBDIR}/${PKGNAME}. -# NO_DEPENDS - Don't verify build of dependencies. -# CHECKSUM_ALGORITHMS -# - Different checksum algorithms to check for verifying the -# integrity of the distfiles. The absence of the algorithm -# in distinfo doesn't make it fail. -# Default: md5 sha256 -# NO_CHECKSUM - Don't verify the checksum. Typically used when -# when you noticed the distfile you just fetched has -# a different checksum and you intend to verify if -# the port still works with it. -# USE_PACKAGE_DEPENDS -# - Install dependencies from existing packages instead -# of building the port from scratch. -# INSTALL_AS_USER -# - Define this to install as the current user, intended -# for systems where you have no root access. -# DISABLE_SIZE - Do not check the size of a distfile even if the SIZE field -# has been specified in distinfo. This is useful -# when using an alternate FETCH_CMD. -# -# End of the list of all variables that need to be defined in a port. -# Most port authors should not need to understand anything after this point. -# - -# Look for ${WRKSRC}/.../*.orig files, and (re-)create -# ${FILEDIR}/patch-* files from them. - -.if !target(makepatch) -makepatch: - @cd ${.CURDIR} && ${MKDIR} ${FILESDIR} - @(cd ${WRKSRC}; \ - for i in `find . -type f -name '*.orig'`; do \ - ORG=$$i; \ - NEW=$${i%.orig}; \ - OUT=${FILESDIR}`${ECHO} $${NEW} | \ - ${SED} -e 's|/|__|g' \ - -e 's|^\.__|/patch-|'`; \ - ${ECHO} ${DIFF} -ud $${ORG} $${NEW} '>' $${OUT}; \ - ${DIFF} -ud $${ORG} $${NEW} > $${OUT} || ${TRUE}; \ - done \ - ) -.endif - - -# Start of options section -.if defined(INOPTIONSMK) || ( !defined(USEOPTIONSMK) && !defined(AFTERPORTMK) ) - -.if defined(MAKE_VERSION) -.if ${MAKE_VERSION} >= 5200408030 || ${MAKE_VERSION} >= 4200408030 && ${MAKE_VERSION} < 5000000000 -NOPRECIOUSSOFTMAKEVARS= yes -.endif -.endif - -AWK?= /usr/bin/awk -BASENAME?= /usr/bin/basename -BRANDELF?= /usr/bin/brandelf -BZCAT?= /usr/bin/bzcat -BZIP2_CMD?= /usr/bin/bzip2 -CAT?= /bin/cat -CHGRP?= /usr/bin/chgrp -CHMOD?= /bin/chmod -CHOWN?= /usr/sbin/chown -CHROOT?= /usr/sbin/chroot -COMM?= /usr/bin/comm -CP?= /bin/cp -CPIO?= /usr/bin/cpio -CUT?= /usr/bin/cut -DC?= /usr/bin/dc -DIALOG?= /usr/bin/dialog -DIFF?= /usr/bin/diff -DIRNAME?= /usr/bin/dirname -EGREP?= /usr/bin/egrep -EXPR?= /bin/expr -FALSE?= false # Shell builtin -FILE?= /usr/bin/file -FIND?= /usr/bin/find -FMT?= /usr/bin/fmt -GREP?= /usr/bin/grep -GUNZIP_CMD?= /usr/bin/gunzip -f -GZCAT?= /usr/bin/gzcat -GZIP?= -9 -GZIP_CMD?= /usr/bin/gzip -nf ${GZIP} -HEAD?= /usr/bin/head -ID?= /usr/bin/id -IDENT?= /usr/bin/ident -LDCONFIG?= /sbin/ldconfig -LN?= /bin/ln -LS?= /bin/ls -MKDIR?= /bin/mkdir -p -MKTEMP?= /usr/bin/mktemp -MV?= /bin/mv -OBJCOPY?= /usr/bin/objcopy -OBJDUMP?= /usr/bin/objdump -PASTE?= /usr/bin/paste -PAX?= /bin/pax -PRINTF?= /usr/bin/printf -REALPATH?= /bin/realpath -RM?= /bin/rm -RMDIR?= /bin/rmdir -SED?= /usr/bin/sed -SETENV?= /usr/bin/env -SH?= /bin/sh -SORT?= /usr/bin/sort -STRIP_CMD?= /usr/bin/strip -SU_CMD?= /usr/bin/su root -c -SYSCTL?= /sbin/sysctl -TAIL?= /usr/bin/tail -TEST?= test # Shell builtin -TR?= LANG=C /usr/bin/tr -TRUE?= true # Shell builtin -UNAME?= /usr/bin/uname -UNZIP_CMD?= ${LOCALBASE}/bin/unzip -WHICH?= /usr/bin/which -XARGS?= /usr/bin/xargs -YACC?= /usr/bin/yacc - -# ECHO is defined in /usr/share/mk/sys.mk, which can either be "echo", -# or "true" if the make flag -s is given. Use ECHO_CMD where you mean -# the echo command. -ECHO_CMD?= echo # Shell builtin - -# Used to print all the '===>' style prompts - override this to turn them off. -ECHO_MSG?= ${ECHO_CMD} - -# Get the default maintainer -MAINTAINER?= ports@FreeBSD.org - -# Get the architecture -.if !defined(ARCH) -ARCH!= ${UNAME} -p -.endif - -# Kludge for pre-3.0 systems -MACHINE_ARCH?= i386 - -# Get the operating system type -.if !defined(OPSYS) -OPSYS!= ${UNAME} -s -.endif - -# Get the operating system revision -.if !defined(OSREL) -OSREL!= ${UNAME} -r | ${SED} -e 's/[-(].*//' -.endif - -# Get __FreeBSD_version -.if !defined(OSVERSION) -.if exists(${DESTDIR}/usr/include/sys/param.h) -OSVERSION!= ${AWK} '/^\#define __FreeBSD_version/ {print $$3}' < ${DESTDIR}/usr/include/sys/param.h -.elif exists(${DESTDIR}/usr/src/sys/sys/param.h) -OSVERSION!= ${AWK} '/^\#define __FreeBSD_version/ {print $$3}' < ${DESTDIR}/usr/src/sys/sys/param.h -.else -OSVERSION!= ${SYSCTL} -n kern.osreldate -.endif -.endif - -# Get the object format. -.if !defined(PORTOBJFORMAT) -PORTOBJFORMAT?= elf -.endif - -MASTERDIR?= ${.CURDIR} - -.if ${MASTERDIR} != ${.CURDIR} -SLAVE_PORT?= yes -MASTER_PORT?=${MASTERDIR:C/[^\/]+\/\.\.\///:C/[^\/]+\/\.\.\///:C/^.*\/([^\/]+\/[^\/]+)$/\\1/} -.else -SLAVE_PORT?= no -MASTER_PORT?= -.endif - -# Check the compatibility layer for amd64/ia64 - -.if ${ARCH} == "amd64" || ${ARCH} =="ia64" -.if exists(/usr/lib32) -HAVE_COMPAT_IA32_LIBS?= YES -.endif -.if !defined(HAVE_COMPAT_IA32_KERN) -HAVE_COMPAT_IA32_KERN!= if ${SYSCTL} -a compat.ia32.maxvmem >/dev/null 2>&1; then echo YES; fi -.endif -.endif - -.if defined(IA32_BINARY_PORT) && ${ARCH} != "i386" -.if ${ARCH} == "amd64" || ${ARCH} == "ia64" -.if !defined(HAVE_COMPAT_IA32_KERN) -IGNORE= you need a kernel with compiled-in IA32 compatibility to use this port. -.elif !defined(HAVE_COMPAT_IA32_LIBS) -IGNORE= you need the 32-bit libraries installed under /usr/lib32 to use this port. -.endif -.else -IGNORE= you have to use i386 (or compatible) platform to use this port. -.endif -.endif - -# If they exist, include Makefile.inc, then architecture/operating -# system specific Makefiles, then local Makefile.local. - -.if ${MASTERDIR} != ${.CURDIR} && exists(${.CURDIR}/../Makefile.inc) -.include "${.CURDIR}/../Makefile.inc" -USE_SUBMAKE= yes -.endif - -.if exists(${MASTERDIR}/../Makefile.inc) -.include "${MASTERDIR}/../Makefile.inc" -USE_SUBMAKE= yes -.endif - -.if exists(${MASTERDIR}/Makefile.${ARCH}-${OPSYS}) -.include "${MASTERDIR}/Makefile.${ARCH}-${OPSYS}" -USE_SUBMAKE= yes -.elif exists(${MASTERDIR}/Makefile.${OPSYS}) -.include "${MASTERDIR}/Makefile.${OPSYS}" -USE_SUBMAKE= yes -.elif exists(${MASTERDIR}/Makefile.${ARCH}) -.include "${MASTERDIR}/Makefile.${ARCH}" -USE_SUBMAKE= yes -.endif - -.if exists(${MASTERDIR}/Makefile.local) -.include "${MASTERDIR}/Makefile.local" -USE_SUBMAKE= yes -.endif - -# where 'make config' records user configuration options -PORT_DBDIR?= ${DESTDIR}/var/db/ports - -LDCONFIG_DIR= libdata/ldconfig -LDCONFIG32_DIR= libdata/ldconfig32 - -.if defined(LATEST_LINK) -UNIQUENAME?= ${LATEST_LINK} -.else -UNIQUENAME?= ${PKGNAMEPREFIX}${PORTNAME} -.endif -OPTIONSFILE?= ${PORT_DBDIR}/${UNIQUENAME}/options -_OPTIONSFILE!= ${ECHO_CMD} "${OPTIONSFILE}" -.if defined(OPTIONS) -. if defined(PACKAGE_BUILDING) || (defined(BATCH) && !exists(${_OPTIONSFILE})) -WITHOUT:= -WITH:= -. if defined(OPTIONS) -REALOPTIONS=${OPTIONS:C/".*"//g} -. for O in ${REALOPTIONS} -RO:=${O} -. if ${RO:L} == off -WITHOUT:= ${WITHOUT} ${OPT} -. endif -. if ${RO:L} == on -WITH:= ${WITH} ${OPT} -. endif -OPT:=${RO} -. endfor -. endif -. for W in ${WITH} -WITH_${W}:= true -. endfor -. for W in ${WITHOUT} -WITHOUT_${W}:= true -. endfor -. undef WITH -. undef WITHOUT -. undef RO -. undef REALOPTIONS -. endif -. if exists(${_OPTIONSFILE}) && !make(rmconfig) -. include "${_OPTIONSFILE}" -. endif -. if exists(${_OPTIONSFILE}.local) -. include "${_OPTIONSFILE}.local" -. endif -.endif - -.endif - -DOS2UNIX_REGEX?= .* - - -# Start of pre-makefile section. -.if !defined(AFTERPORTMK) && !defined(INOPTIONSMK) - -.if defined(_PREMKINCLUDED) -check-makefile:: - @${ECHO_CMD} "${PKGNAME}: Makefile error: you cannot include bsd.port[.pre].mk twice" - @${FALSE} -.endif - -_PREMKINCLUDED= yes - -# check for old, crufty, makefile types, part 1: -.if !defined(PORTNAME) || !( defined(PORTVERSION) || defined (DISTVERSION) ) || defined(PKGNAME) -check-makefile:: - @${ECHO_CMD} "Makefile error: you need to define PORTNAME and PORTVERSION instead of PKGNAME." - @${ECHO_CMD} "(This port is too old for your bsd.port.mk, please update it to match" - @${ECHO_CMD} " your bsd.port.mk.)" - @${FALSE} -.endif - -.if defined(PORTVERSION) -.if ${PORTVERSION:M*[-_,]*}x != x -IGNORE= PORTVERSION ${PORTVERSION} may not contain '-' '_' or ',' -.endif -DISTVERSION?= ${PORTVERSION:S/:/::/g} -.elif defined(DISTVERSION) -PORTVERSION= ${DISTVERSION:L:C/([a-z])[a-z]+/\1/g:C/([0-9])([a-z])/\1.\2/g:C/:(.)/\1/g:C/[^a-z0-9+]+/./g} -.endif - -PORTREVISION?= 0 -.if ${PORTREVISION} != 0 -_SUF1= _${PORTREVISION} -.endif - -PORTEPOCH?= 0 -.if ${PORTEPOCH} != 0 -_SUF2= ,${PORTEPOCH} -.endif - -# check for old, crufty, makefile types, part 2. The "else" case -# should have been handled in part 1, above. -.if !defined(PKGVERSION) -PKGVERSION= ${PORTVERSION:C/[-_,]/./g}${_SUF1}${_SUF2} -.endif -.if !defined(PKGNAME) -PKGNAME= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}-${PKGVERSION} -.endif -DISTNAME?= ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION:C/:(.)/\1/g}${DISTVERSIONSUFFIX} - -# These need to be absolute since we don't know how deep in the ports -# tree we are and thus can't go relative. They can, of course, be overridden -# by individual Makefiles or local system make configuration. -PORTSDIR?= /usr/ports -DEVELPORTSDIR?= ${PORTSDIR}/devel/portmk -LOCALBASE?= /usr/local -X11BASE?= /usr/X11R6 -LINUXBASE?= /compat/linux -LOCALBASE_REL:= ${LOCALBASE} -X11BASE_REL:= ${X11BASE} -LINUXBASE_REL:= ${LINUXBASE} -LOCALBASE:= ${DESTDIR}${LOCALBASE_REL} -X11BASE:= ${DESTDIR}${X11BASE_REL} -LINUXBASE:= ${DESTDIR}${LINUXBASE_REL} -DISTDIR?= ${PORTSDIR}/distfiles -_DISTDIR?= ${DISTDIR}/${DIST_SUBDIR} -INDEXDIR?= ${PORTSDIR} -.if ${OSVERSION} >= 500036 -INDEXFILE?= INDEX-${OSVERSION:C/([0-9]).*/\1/} -.else -INDEXFILE?= INDEX -.endif - -TARGETDIR:= ${DESTDIR}${PREFIX} - -.if defined(USE_LINUX_RPM) -.if exists(${DEVELPORTSDIR}/Mk/bsd.linux-rpm.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.linux-rpm.mk" -.else -.include "${PORTSDIR}/Mk/bsd.linux-rpm.mk" -.endif -.endif - -.if defined(USE_BZIP2) -EXTRACT_SUFX?= .tar.bz2 -.elif defined(USE_ZIP) -EXTRACT_SUFX?= .zip -.else -EXTRACT_SUFX?= .tar.gz -.endif -PACKAGES?= ${PORTSDIR}/packages -TEMPLATES?= ${PORTSDIR}/Templates - -.if (!defined(PKGDIR) && exists(${MASTERDIR}/pkg/DESCR)) || \ - (!defined(MD5_FILE) && exists(${MASTERDIR}/files/md5)) -check-makefile:: - @${ECHO_CMD} "Makefile error: your port uses an old layout. Please update it to match this bsd.port.mk. If you have updated your ports collection via cvsup and are still getting this error, see Q12 and Q13 in the cvsup FAQ on http://www.polstra.com for further information." - @${FALSE} -.endif -PATCHDIR?= ${MASTERDIR}/files -FILESDIR?= ${MASTERDIR}/files -SCRIPTDIR?= ${MASTERDIR}/scripts -PKGDIR?= ${MASTERDIR} - -.if defined(USE_IMAKE) && !defined(USE_X_PREFIX) -USE_X_PREFIX= yes -.endif -.if defined(USE_X_PREFIX) && ${USE_X_PREFIX} == "no" -.undef USE_X_PREFIX -.endif -.if defined(USE_X_PREFIX) -USE_XLIB= yes -.endif -.if defined(USE_X_PREFIX) -PREFIX?= ${X11BASE_REL} -.elif defined(USE_LINUX_PREFIX) -PREFIX?= ${LINUXBASE_REL} -NO_MTREE= yes -.else -PREFIX?= ${LOCALBASE_REL} -.endif - -.if defined(USE_LINUX_PREFIX) -.if !defined(DESTDIR) -LDCONFIG_CMD?= ${LINUXBASE_REL}/sbin/ldconfig -r ${LINUXBASE_REL} -LDCONFIG_PLIST_EXEC_CMD?= ${LDCONFIG_CMD} -LDCONFIG_PLIST_UNEXEC_CMD?= ${LDCONFIG_CMD} -.else -LDCONFIG_CMD?= ${CHROOT} ${DESTDIR} ${LINUXBASE_REL}/sbin/ldconfig -r ${LINUXBASE_REL} -LDCONFIG_PLIST_EXEC_CMD?= ${LDCONFIG_CMD} -LDCONFIG_PLIST_UNEXEC_CMD?= ${LINUXBASE_REL}/sbin/ldconfig -r ${LINUXBASE_REL} -.endif -.else -.if !defined(DESTDIR) -LDCONFIG_CMD?= ${LDCONFIG} -m ${LDCONFIG_RUNLIST} -LDCONFIG_PLIST_EXEC_CMD?= ${LDCONFIG} -m ${LDCONFIG_PLIST} -.else -LDCONFIG_CMD?= ${CHROOT} ${DESTDIR} ${LDCONFIG} -m ${LDCONFIG_RUNLIST} -LDCONFIG_PLIST_EXEC_CMD?= ${CHROOT} ${DESTDIR} ${LDCONFIG} -m ${LDCONFIG_PLIST} -.endif -LDCONFIG_PLIST_UNEXEC_CMD?= ${LDCONFIG} -R -.endif - -PKGCOMPATDIR?= ${LOCALBASE}/lib/compat/pkg - -.if ${OSVERSION} >= 500036 -PERL_VERSION?= 5.8.8 -PERL_VER?= 5.8.8 -.else -.if ${OSVERSION} >= 500032 -PERL_VERSION?= 5.6.1 -PERL_VER?= 5.6.1 -.else -.if ${OSVERSION} >= 500007 -PERL_VERSION?= 5.6.0 -PERL_VER?= 5.6.0 -.else -PERL_VERSION?= 5.00503 -PERL_VER?= 5.005 -.endif -.endif -.endif - -.if !defined(PERL_LEVEL) && defined(PERL_VERSION) -perl_major= ${PERL_VERSION:C|^([1-9]+).*|\1|} -_perl_minor= 00${PERL_VERSION:C|^([1-9]+)\.([0-9]+).*|\2|} -perl_minor= ${_perl_minor:C|^.*(...)|\1|} -.if ${perl_minor} >= 100 -perl_minor= ${PERL_VERSION:C|^([1-9]+)\.([0-9][0-9][0-9]).*|\2|} -perl_patch= ${PERL_VERSION:C|^.*(..)|\1|} -.else # ${perl_minor} < 100 -_perl_patch= 0${PERL_VERSION:C|^([1-9]+)\.([0-9]+)\.*|0|} -perl_patch= ${_perl_patch:C|^.*(..)|\1|} -.endif # ${perl_minor} < 100 -PERL_LEVEL= ${perl_major}${perl_minor}${perl_patch} -.else -PERL_LEVEL=0 -.endif # !defined(PERL_LEVEL) && defined(PERL_VERSION) - -.if ${PERL_LEVEL} >= 500600 -PERL_ARCH?= mach -.else -PERL_ARCH?= ${ARCH}-freebsd -.endif - -.if ${PERL_LEVEL} >= 500800 -PERL_PORT?= perl5.8 -.else -PERL_PORT?= perl5 -.endif - -SITE_PERL_REL?= lib/perl5/site_perl/${PERL_VER} -SITE_PERL?= ${LOCALBASE}/${SITE_PERL_REL} - -.if ${PERL_LEVEL} < 500600 -PERL5= ${DESTDIR}/usr/bin/perl${PERL_VERSION} -PERL= ${DESTDIR}/usr/bin/perl -.else -PERL5= ${LOCALBASE}/bin/perl${PERL_VERSION} -PERL= ${LOCALBASE}/bin/perl -.endif - -.if defined(USE_LOCAL_MK) -.if exists(${DEVELPORTSDIR}/Mk/bsd.local.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.local.mk" -.else -.include "${PORTSDIR}/Mk/bsd.local.mk" -.endif -.endif - -.if defined(USE_OPENSSL) -.if exists(${DEVELPORTSDIR}/Mk/bsd.openssl.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.openssl.mk" -.else -.include "${PORTSDIR}/Mk/bsd.openssl.mk" -.endif -.endif - -.if defined(USE_EMACS) -.if exists(${DEVELPORTSDIR}/Mk/bsd.emacs.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.emacs.mk" -.else -.include "${PORTSDIR}/Mk/bsd.emacs.mk" -.endif -.endif - -.if defined(USE_GNUSTEP) -.if exists(${DEVELPORTSDIR}/Mk/bsd.gnustep.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.gnustep.mk" -.else -.include "${PORTSDIR}/Mk/bsd.gnustep.mk" -.endif -.endif - -.if defined(USE_PHP) -.if exists(${DEVELPORTSDIR}/Mk/bsd.php.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.php.mk" -.else -.include "${PORTSDIR}/Mk/bsd.php.mk" -.endif -.endif - -.if defined(USE_PYTHON) || defined(USE_PYTHON_BUILD) || defined(USE_PYTHON_RUN) -.if exists(${DEVELPORTSDIR}/Mk/bsd.python.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.python.mk" -.else -.include "${PORTSDIR}/Mk/bsd.python.mk" -.endif -.endif - -.if defined(USE_JAVA) -.if exists(${DEVELPORTSDIR}/Mk/bsd.java.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.java.mk" -.else -.include "${PORTSDIR}/Mk/bsd.java.mk" -.endif -.endif - -.if defined(USE_RUBY) || defined(USE_LIBRUBY) -.if exists(${DEVELPORTSDIR}/Mk/bsd.ruby.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.ruby.mk" -.else -.include "${PORTSDIR}/Mk/bsd.ruby.mk" -.endif -.endif - -.if defined(USE_TCL) || defined(USE_TCL_BUILD) || defined(USE_TK) || defined(USE_TK_BUILD) -.if exists(${DEVELPORTSDIR}/Mk/bsd.tcl.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.tcl.mk" -.else -.include "${PORTSDIR}/Mk/bsd.tcl.mk" -.endif -.endif - -.if defined(USE_APACHE) || defined(APACHE_COMPAT) -.if exists(${DEVELPORTSDIR}/Mk/bsd.apache.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.apache.mk" -.else -.include "${PORTSDIR}/Mk/bsd.apache.mk" -.endif -.endif - -.if defined(USE_QT_VER) || defined(USE_KDELIBS_VER) || defined(USE_KDEBASE_VER) -.if exists(${DEVELPORTSDIR}/Mk/bsd.kde.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.kde.mk" -.else -.include "${PORTSDIR}/Mk/bsd.kde.mk" -.endif -.endif - -.if defined(WANT_GNOME) || defined(USE_GNOME) || defined(USE_GTK) -.if exists(${DEVELPORTSDIR}/Mk/bsd.gnome.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.gnome.mk" -.else -.include "${PORTSDIR}/Mk/bsd.gnome.mk" -.endif -.endif - -.if defined(WANT_LUA) || defined(USE_LUA) || defined(USE_LUA_NOT) -.if exists(${DEVELPORTSDIR}/Mk/bsd.lua.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.lua.mk" -.else -.include "${PORTSDIR}/Mk/bsd.lua.mk" -.endif -.endif - -.if defined(WANT_WX) || defined(USE_WX) || defined(USE_WX_NOT) -.if exists(${DEVELPORTSDIR}/Mk/bsd.wx.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.wx.mk" -.else -.include "${PORTSDIR}/Mk/bsd.wx.mk" -.endif -.endif - -.if defined(WANT_GSTREAMER) || defined(USE_GSTREAMER) || defined(USE_GSTREAMER80) -.if exists(${DEVELPORTSDIR}/Mk/bsd.gstreamer.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.gstreamer.mk" -.else -.include "${PORTSDIR}/Mk/bsd.gstreamer.mk" -.endif -.endif - -.if defined(USE_QMAIL) || defined(USE_QMAIL_RUN) || defined(USE_QMAIL_BUILD) || defined(WANT_QMAIL) -.if exists(${DEVELPORTSDIR}/Mk/bsd.mail.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.mail.mk" -.else -.include "${PORTSDIR}/Mk/bsd.mail.mk" -.endif -.endif - -.if defined(USE_SDL) || defined(WANT_SDL) -.if exists(${DEVELPORTSDIR}/Mk/bsd.sdl.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.sdl.mk" -.else -.include "${PORTSDIR}/Mk/bsd.sdl.mk" -.endif -.endif - -# These do some path checks if DESTDIR is set correctly. -# You can force skipping these test by defining IGNORE_PATH_CHECKS -.if !defined(IGNORE_PATH_CHECKS) -.if (${PREFIX:C,(^.).*,\1,} != "/") -.BEGIN: - @${ECHO_MSG} "PREFIX must be defined as an absolute path so that when 'make'" - @${ECHO_MSG} "is invoked in the work area PREFIX points to the right place." - @${FALSE} -.endif -.if defined(DESTDIR) -.if (${DESTDIR:C,(^.).*,\1,} != "/") -.if ${DESTDIR} == "/" -.BEGIN: - @${ECHO_MSG} "You can't set DESTDIR to /. Please re-run make with" - @${ECHO_MSG} "DESTDIR unset." - @${FALSE} -.else -.BEGIN: - @${ECHO_MSG} "DESTDIR must be defined as an absolute path so that when 'make'" - @${ECHO_MSG} "is invoked in the work area DESTDIR points to the right place." - @${FALSE} -.endif -.endif -.if (${DESTDIR:C,^.*(/)$$,\1,} == "/") -.BEGIN: - @${ECHO_MSG} "DESTDIR can't have a trailing slash. Please remove the trailing" - @${ECHO_MSG} "slash and re-run 'make'" - @${FALSE} -.endif -.endif -.endif - -.if ${OSVERSION} >= 502123 -X_WINDOW_SYSTEM ?= xorg -.else -X_WINDOW_SYSTEM ?= xfree86-4 -.endif - -# Location of mounted CDROM(s) to search for files -CD_MOUNTPTS?= /cdrom ${CD_MOUNTPT} - -WANT_OPENLDAP_VER?= 23 - -# Owner and group of the WWW user -WWWOWN?= www -WWWGRP?= www - -.endif -# End of pre-makefile section. - -# Start of post-makefile section. -.if !defined(BEFOREPORTMK) && !defined(INOPTIONSMK) - -.if defined(_POSTMKINCLUDED) -check-makefile:: - @${ECHO_CMD} "${PKGNAME}: Makefile error: you cannot include bsd.port[.post].mk twice" - @${FALSE} -.endif - -_POSTMKINCLUDED= yes - -WRKDIR?= ${WRKDIRPREFIX}${.CURDIR}/work -.if defined(NO_WRKSUBDIR) -WRKSRC?= ${WRKDIR} -.else -WRKSRC?= ${WRKDIR}/${DISTNAME} -.endif - -PATCH_WRKSRC?= ${WRKSRC} -CONFIGURE_WRKSRC?= ${WRKSRC} -BUILD_WRKSRC?= ${WRKSRC} -INSTALL_WRKSRC?=${WRKSRC} - -PLIST_SUB+= OSREL=${OSREL} PREFIX=%D LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL} \ - DESTDIR=${DESTDIR} TARGETDIR=${TARGETDIR} -SUB_LIST+= PREFIX=${PREFIX} LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL} \ - DATADIR=${DATADIR} DOCSDIR=${DOCSDIR} EXAMPLESDIR=${EXAMPLESDIR} \ - DESTDIR=${DESTDIR} TARGETDIR=${TARGETDIR} - -PLIST_REINPLACE+= dirrmtry stopdaemon -PLIST_REINPLACE_DIRRMTRY=s!^@dirrmtry \(.*\)!@unexec rmdir %D/\1 2>/dev/null || true! -PLIST_REINPLACE_STOPDAEMON=s!^@stopdaemon \(.*\)!@unexec %D/etc/rc.d/\1${RC_SUBR_SUFFIX} forcestop 2>/dev/null || true! - -.if defined(WITHOUT_CPU_CFLAGS) -.if defined(_CPUCFLAGS) -.if !empty(_CPUCFLAGS) -CFLAGS:= ${CFLAGS:C/${_CPUCFLAGS}//} -.endif -.endif -.endif - -.if defined(WITH_DEBUG) && !defined(WITHOUT_DEBUG) -STRIP= #none -STRIP_CMD= #none -DEBUG_FLAGS?= -g -CFLAGS:= ${CFLAGS:N-O*:N-f*} ${DEBUG_FLAGS} -.endif - -.if defined(NOPORTDOCS) -PLIST_SUB+= PORTDOCS="@comment " -.else -PLIST_SUB+= PORTDOCS="" -.endif - -CONFIGURE_SHELL?= ${SH} -MAKE_SHELL?= ${SH} - -CONFIGURE_ENV+= SHELL=${SH} CONFIG_SHELL=${SH} PORTOBJFORMAT=${PORTOBJFORMAT} -SCRIPTS_ENV+= PORTOBJFORMAT=${PORTOBJFORMAT} -MAKE_ENV+= SHELL=${SH} PORTOBJFORMAT=${PORTOBJFORMAT} NO_LINT=YES -PLIST_SUB+= PORTOBJFORMAT=${PORTOBJFORMAT} - -.if defined(MANCOMPRESSED) -.if ${MANCOMPRESSED} != yes && ${MANCOMPRESSED} != no && \ - ${MANCOMPRESSED} != maybe -check-makevars:: - @${ECHO_CMD} "${PKGNAME}: Makefile error: value of MANCOMPRESSED (is \"${MANCOMPRESSED}\") can only be \"yes\", \"no\" or \"maybe\"". - @${FALSE} -.endif -.endif - -.if defined(USE_IMAKE) && !defined(NO_INSTALL_MANPAGES) -MANCOMPRESSED?= yes -.else -MANCOMPRESSED?= no -.endif - -.if defined(PATCHFILES) -.if ${PATCHFILES:M*.zip}x != x -PATCH_DEPENDS+= unzip:${PORTSDIR}/archivers/unzip -.endif -.endif - -.if defined(USE_ZIP) -EXTRACT_DEPENDS+= unzip:${PORTSDIR}/archivers/unzip -.endif -.if defined(USE_GMAKE) -BUILD_DEPENDS+= gmake:${PORTSDIR}/devel/gmake -CONFIGURE_ENV+= MAKE=${GMAKE} -# note: the next line is from 86106 which says: "It needs more investigation. -# We will keep it in devel/portmk for further tests." -MAKE_ENV+= CC="${CC}" CXX="${CXX}" -.endif - -.if defined(USE_GCC) -.if exists(${DEVELPORTSDIR}/Mk/bsd.gcc.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.gcc.mk" -.else -.include "${PORTSDIR}/Mk/bsd.gcc.mk" -.endif -.endif - -.if defined(USE_OPENLDAP_VER) -USE_OPENLDAP?= yes -WANT_OPENLDAP_VER= ${USE_OPENLDAP_VER} -.endif - -.if defined(USE_OPENLDAP) -.if defined(WANT_OPENLDAP_SASL) -_OPENLDAP_FLAVOUR= -sasl -.else -_OPENLDAP_FLAVOUR= -.endif -.if ${WANT_OPENLDAP_VER} == 22 -LIB_DEPENDS+= ldap-2.2.7:${PORTSDIR}/net/openldap22${_OPENLDAP_FLAVOUR}-client -.elif ${WANT_OPENLDAP_VER} == 23 -LIB_DEPENDS+= ldap-2.3.2:${PORTSDIR}/net/openldap23${_OPENLDAP_FLAVOUR}-client -.elif ${WANT_OPENLDAP_VER} == 24 -LIB_DEPENDS+= ldap-2.4.1:${PORTSDIR}/net/openldap24${_OPENLDAP_FLAVOUR}-client -.else -IGNORE= unknown OpenLDAP version: ${WANT_OPENLDAP_VER} -.endif -.endif - -.if defined(USE_FAM) -DEFAULT_FAM_SYSTEM= gamin -# Currently supported FAM systems -FAM_SYSTEM_FAM= fam.0:${PORTSDIR}/devel/fam -FAM_SYSTEM_GAMIN= fam.0:${PORTSDIR}/devel/gamin - -.if exists(${LOCALBASE}/libexec/gam_server) -_HAVE_FAM_SYSTEM= gamin -.elif exists(${LOCALBASE}/bin/fam) -_HAVE_FAM_SYSTEM= fam -.endif - -.if defined(WANT_FAM_SYSTEM) -.if defined(WITH_FAM_SYSTEM) && ${WITH_FAM_SYSTEM}!=${WANT_FAM_SYSTEM} -IGNORE= The port wants to use ${WANT_FAM_SYSTEM} as its FAM system and you wish to use ${WITH_FAM_SYSTEM} -.endif -FAM_SYSTEM= ${WANT_FAM_SYSTEM} -.elif defined(WITH_FAM_SYSTEM) -FAM_SYSTEM= ${WITH_FAM_SYSTEM} -.else -.if defined(_HAVE_FAM_SYSTEM) -FAM_SYSTEM= ${_HAVE_FAM_SYSTEM} -.else -FAM_SYSTEM= ${DEFAULT_FAM_SYSTEM} -.endif -.endif # WANT_FAM_SYSTEM - -.if defined(_HAVE_FAM_SYSTEM) -.if ${_HAVE_FAM_SYSTEM}!= ${FAM_SYSTEM} -BROKEN= FAM system mismatch: ${_HAVE_FAM_SYSTEM} is installed and desired FAM system is ${FAM_SYSTEM} -.endif -.endif - -.if defined(FAM_SYSTEM_${FAM_SYSTEM:U}) -LIB_DEPENDS+= ${FAM_SYSTEM_${FAM_SYSTEM:U}} -.else -IGNORE= unknown FAM system: ${FAM_SYSTEM} -.endif -.endif # USE_FAM - -.if defined(USE_GETOPT_LONG) -.if ${OSVERSION} < 500041 -LIB_DEPENDS+= gnugetopt.1:${PORTSDIR}/devel/libgnugetopt -CPPFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib -lgnugetopt -CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" -.endif -.endif - -.if defined(USE_RC_SUBR) || defined(USE_RCORDER) -.if ${OSVERSION} < 500037 -RUN_DEPENDS+= ${LOCALBASE}/etc/rc.subr:${PORTSDIR}/sysutils/rc_subr -RC_SUBR= ${LOCALBASE}/etc/rc.subr -.else -RC_SUBR= /etc/rc.subr -.endif -SUB_LIST+= RC_SUBR=${RC_SUBR} -.if defined(USE_RC_SUBR) && ${USE_RC_SUBR:U} != "YES" -SUB_FILES+= ${USE_RC_SUBR} -.endif -.if defined(USE_RCORDER) -SUB_FILES+= ${USE_RCORDER} -.endif -.if (${OSVERSION} >= 700007 || ( ${OSVERSION} < 700000 && ${OSVERSION} >= 600101 )) -RC_SUBR_SUFFIX?= -.else -RC_SUBR_SUFFIX?= .sh -.endif -.endif - -.if defined(USE_LDCONFIG) || defined(USE_LDCONFIG32) -.if ( ${OSVERSION} < 504105 ) || \ - ( ${OSVERSION} >= 700000 && ${OSVERSION} < 700012 ) || \ - ( ${OSVERSION} >= 600000 && ${OSVERSION} < 600104 ) -RUN_DEPENDS+= ${LOCALBASE}/${LDCONFIG_DIR}:${PORTSDIR}/misc/ldconfig_compat -NO_LDCONFIG_MTREE= yes -.endif -.if defined(USE_LDCONFIG) && ${USE_LDCONFIG:L} == "yes" -USE_LDCONFIG= ${PREFIX}/lib -.endif -.if defined(USE_LDCONFIG32) && ${USE_LDCONFIG32:L} == "yes" -IGNORE= has USE_LDCONFIG set to yes, which is not correct -.endif -.endif - -.if defined(USE_ICONV) -LIB_DEPENDS+= iconv.3:${PORTSDIR}/converters/libiconv -.endif - -.if defined(USE_GETTEXT) -. if ${USE_GETTEXT:L} == "yes" -LIB_DEPENDS+= intl:${PORTSDIR}/devel/gettext -. else -LIB_DEPENDS+= intl.${USE_GETTEXT}:${PORTSDIR}/devel/gettext -. endif -.endif - -.if defined(USE_LINUX_PREFIX) && defined(INSTALLS_SHLIB) -# we need ${LINUXBASE}/sbin/ldconfig -USE_LINUX?= yes -.endif - -.if defined(USE_LINUX) - -# install(1) also does a brandelf on strip, so don't strip with FreeBSD tools. -STRIP= -. if exists(${LINUXBASE}/usr/bin/strip) -STRIP_CMD= ${LINUXBASE}/usr/bin/strip -. else -STRIP_CMD= ${TRUE} -. endif - -# Allow the user to specify another linux_base version. -. if defined(OVERRIDE_LINUX_BASE_PORT) -. if ${USE_LINUX:L} == yes -USE_LINUX= ${OVERRIDE_LINUX_BASE_PORT} -. endif -. endif - -# NOTE: when you update the default linux_base version (case "yes"), -# don't forget to update the Handbook! - -. if exists(${PORTSDIR}/emulators/linux_base-${USE_LINUX}) -LINUX_BASE_PORT= ${LINUXBASE}/bin/sh:${PORTSDIR}/emulators/linux_base-${USE_LINUX} -. else -. if ${USE_LINUX:L} == "yes" -LINUX_BASE_PORT= ${LINUXBASE}/etc/fedora-release:${PORTSDIR}/emulators/linux_base-fc4 -. else -IGNORE= There is no emulators/linux_base-${USE_LINUX}, perhaps wrong use of USE_LINUX or OVERRIDE_LINUX_BASE_PORT. -. endif -. endif - -RUN_DEPENDS+= ${LINUX_BASE_PORT} -.endif - -.if defined(USE_MOTIF) -USE_XPM= yes -.if defined(WANT_LESSTIF) -LIB_DEPENDS+= Xm:${PORTSDIR}/x11-toolkits/lesstif -NO_OPENMOTIF= yes -.endif -.if !defined(NO_OPENMOTIF) -LIB_DEPENDS+= Xm.3:${PORTSDIR}/x11-toolkits/open-motif -.endif -.endif - -.if defined(USE_FREETYPE) -LIB_DEPENDS+= ttf.4:${PORTSDIR}/print/freetype -.endif - -.if defined(X_WINDOW_SYSTEM) && ${X_WINDOW_SYSTEM:L} == xorg -X_IMAKE_PORT= ${PORTSDIR}/devel/imake-6 -X_LIBRARIES_PORT= ${PORTSDIR}/x11/xorg-libraries -X_CLIENTS_PORT= ${PORTSDIR}/x11/xorg-clients -X_SERVER_PORT= ${PORTSDIR}/x11-servers/xorg-server -X_FONTSERVER_PORT= ${PORTSDIR}/x11-servers/xorg-fontserver -X_PRINTSERVER_PORT= ${PORTSDIR}/x11-servers/xorg-printserver -X_VFBSERVER_PORT= ${PORTSDIR}/x11-servers/xorg-vfbserver -X_NESTSERVER_PORT= ${PORTSDIR}/x11-servers/xorg-nestserver -X_FONTS_ENCODINGS_PORT= ${PORTSDIR}/x11-fonts/xorg-fonts-encodings -X_FONTS_MISC_PORT= ${PORTSDIR}/x11-fonts/xorg-fonts-miscbitmaps -X_FONTS_100DPI_PORT= ${PORTSDIR}/x11-fonts/xorg-fonts-100dpi -X_FONTS_75DPI_PORT= ${PORTSDIR}/x11-fonts/xorg-fonts-75dpi -X_FONTS_CYRILLIC_PORT= ${PORTSDIR}/x11-fonts/xorg-fonts-cyrillic -X_FONTS_TTF_PORT= ${PORTSDIR}/x11-fonts/xorg-fonts-truetype -X_FONTS_TYPE1_PORT= ${PORTSDIR}/x11-fonts/xorg-fonts-type1 -X_MANUALS_PORT= ${PORTSDIR}/x11/xorg-manpages -.elif defined(X_WINDOW_SYSTEM) && ${X_WINDOW_SYSTEM:L} == xfree86-4 -X_IMAKE_PORT= ${PORTSDIR}/devel/imake-4 -X_LIBRARIES_PORT= ${PORTSDIR}/x11/XFree86-4-libraries -X_CLIENTS_PORT= ${PORTSDIR}/x11/XFree86-4-clients -X_SERVER_PORT= ${PORTSDIR}/x11-servers/XFree86-4-Server -X_FONTSERVER_PORT= ${PORTSDIR}/x11-servers/XFree86-4-FontServer -X_PRINTSERVER_PORT= ${PORTSDIR}/x11-servers/XFree86-4-PrintServer -X_VFBSERVER_PORT= ${PORTSDIR}/x11-servers/XFree86-4-VirtualFramebufferServer -X_NESTSERVER_PORT= ${PORTSDIR}/x11-servers/XFree86-4-NestServer -X_FONTS_ENCODINGS_PORT= ${PORTSDIR}/x11-fonts/XFree86-4-fontEncodings -X_FONTS_MISC_PORT= ${PORTSDIR}/x11-fonts/XFree86-4-fontDefaultBitmaps -X_FONTS_100DPI_PORT= ${PORTSDIR}/x11-fonts/XFree86-4-font100dpi -X_FONTS_75DPI_PORT= ${PORTSDIR}/x11-fonts/XFree86-4-font75dpi -X_FONTS_CYRILLIC_PORT= ${PORTSDIR}/x11-fonts/XFree86-4-fontCyrillic -X_FONTS_TTF_PORT= ${PORTSDIR}/x11-fonts/XFree86-4-fontScalable -X_FONTS_TYPE1_PORT= ${PORTSDIR}/x11-fonts/XFree86-4-fontScalable -X_MANUALS_PORT= ${PORTSDIR}/x11/XFree86-4-manuals -.else -IGNORE= cannot install: bad X_WINDOW_SYSTEM setting; valid values are 'xfree86-4' and 'xorg' -.endif - -.if defined(USE_IMAKE) -BUILD_DEPENDS+= imake:${X_IMAKE_PORT} -.endif - -.if defined(USE_XPM) || defined(USE_GL) -USE_XLIB= yes -.endif - -.if ${X_WINDOW_SYSTEM:L} == xorg -XAWVER= 8 -.else -XAWVER= 7 -.endif -PKG_IGNORE_DEPENDS?= 'this_port_does_not_exist' - -PLIST_SUB+= XAWVER=${XAWVER} - -.if defined(USE_BISON) -BUILD_DEPENDS+= bison:${PORTSDIR}/devel/bison -.endif - -PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \ - PERL_VER=${PERL_VER} \ - PERL_ARCH=${PERL_ARCH} \ - SITE_PERL=${SITE_PERL_REL} - -.if defined(PERL_MODBUILD) -PERL_CONFIGURE= yes -CONFIGURE_SCRIPT?= Build.PL -.if ${PORTNAME} != Module-Build -BUILD_DEPENDS+= ${SITE_PERL}/Module/Build.pm:${PORTSDIR}/devel/p5-Module-Build -.endif -ALL_TARGET?= -PL_BUILD?= Build -CONFIGURE_ARGS+= \ - create_packlist=0 \ - install_path=lib="${TARGETDIR}/${SITE_PERL_REL}" \ - install_path=arch="${TARGETDIR}/${SITE_PERL_REL}/${PERL_ARCH}" \ - install_path=script="${TARGETDIR}/bin" \ - install_path=bin="${TARGETDIR}/bin" \ - install_path=libdoc="${MAN3PREFIX}/man/man3" \ - install_path=bindoc="${MAN1PREFIX}/man/man1" -.elif defined(PERL_CONFIGURE) -CONFIGURE_ARGS+= INSTALLDIRS="site" -.endif - -.if defined(PERL_CONFIGURE) -USE_PERL5= yes -.if (defined(BATCH) && !defined(IS_INTERACTIVE)) -CONFIGURE_ENV+= PERL_MM_USE_DEFAULT="YES" -.endif -.endif - -.if ${PERL_LEVEL} >= 500600 -.if defined(USE_PERL5) || defined(USE_PERL5_BUILD) -EXTRACT_DEPENDS+=${PERL5}:${PORTSDIR}/lang/${PERL_PORT} -PATCH_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} -BUILD_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} -.endif -.if defined(USE_PERL5) || defined(USE_PERL5_RUN) -RUN_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} -.endif -.endif - -.if defined(USE_LOCAL_MK) -.if exists(${DEVELPORTSDIR}/Mk/bsd.local.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.local.mk" -.else -.include "${PORTSDIR}/Mk/bsd.local.mk" -.endif -.endif - -.if defined(USE_MYSQL) || defined(WANT_MYSQL_VER) || \ - defined(USE_PGSQL) || defined(WANT_PGSQL_VER) || \ - defined(USE_BDB) || defined(USE_SQLITE) || defined(USE_FIREBIRD) -.if exists(${DEVELPORTSDIR}/Mk/bsd.database.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.database.mk" -.else -.include "${PORTSDIR}/Mk/bsd.database.mk" -.endif -.endif - -.if defined(WANT_GSTREAMER) || defined(USE_GSTREAMER) || defined(USE_GSTREAMER80) -.if exists(${DEVELPORTSDIR}/Mk/bsd.gstreamer.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.gstreamer.mk" -.else -.include "${PORTSDIR}/Mk/bsd.gstreamer.mk" -.endif -.endif - -.if defined(USE_JAVA) -.if exists(${DEVELPORTSDIR}/Mk/bsd.java.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.java.mk" -.else -.include "${PORTSDIR}/Mk/bsd.java.mk" -.endif -.endif - -.if defined(USE_LINUX_RPM) -.if exists(${DEVELPORTSDIR}/Mk/bsd.linux-rpm.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.linux-rpm.mk" -.else -.include "${PORTSDIR}/Mk/bsd.linux-rpm.mk" -.endif -.endif - -.if defined(USE_SCONS) -.if exists(${DEVELPORTSDIR}/Mk/bsd.scons.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.scons.mk" -.else -.include "${PORTSDIR}/Mk/bsd.scons.mk" -.endif -.endif - -.if defined(USE_SDL) || defined(WANT_SDL) -.if exists(${DEVELPORTSDIR}/Mk/bsd.sdl.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.sdl.mk" -.else -.include "${PORTSDIR}/Mk/bsd.sdl.mk" -.endif -.endif - -.if defined(USE_PYTHON) -.if exists(${DEVELPORTSDIR}/Mk/bsd.python.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.python.mk" -.else -.include "${PORTSDIR}/Mk/bsd.python.mk" -.endif -.endif - -.if defined(USE_TCL) || defined(USE_TCL_BUILD) || defined(USE_TK) || defined(USE_TK_BUILD) -.if exists(${DEVELPORTSDIR}/Mk/bsd.tcl.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.tcl.mk" -.else -.include "${PORTSDIR}/Mk/bsd.tcl.mk" -.endif -.endif - -.if defined(USE_LUA) || defined(USE_LUA_NOT) -.if exists(${DEVELPORTSDIR}/Mk/bsd.lua.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.lua.mk" -.else -.include "${PORTSDIR}/Mk/bsd.lua.mk" -.endif -.endif - -.if defined(USE_WX) || defined(USE_WX_NOT) -.if exists(${DEVELPORTSDIR}/Mk/bsd.wx.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.wx.mk" -.else -.include "${PORTSDIR}/Mk/bsd.wx.mk" -.endif -.endif - -.if defined(USE_APACHE) || defined(APACHE_COMPAT) -.if exists(${DEVELPORTSDIR}/Mk/bsd.apache.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.apache.mk" -.else -.include "${PORTSDIR}/Mk/bsd.apache.mk" -.endif -.endif - -.if defined(USE_AUTOTOOLS) -.if exists(${DEVELPORTSDIR}/Mk/bsd.autotools.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.autotools.mk" -.else -.include "${PORTSDIR}/Mk/bsd.autotools.mk" -.endif -.endif - -.if defined(WANT_GNOME) || defined(USE_GNOME) || defined(USE_GTK) -.if exists(${DEVELPORTSDIR}/Mk/bsd.gnome.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.gnome.mk" -.else -.include "${PORTSDIR}/Mk/bsd.gnome.mk" -.endif -.endif - - -.if exists(${PORTSDIR}/../Makefile.inc) -.include "${PORTSDIR}/../Makefile.inc" -USE_SUBMAKE= yes -.endif - -.if defined(USE_XLIB) -. if defined(USE_LINUX) -RUN_DEPENDS+= ${LINUXBASE}/usr/X11R6/lib/libXrender.so.1:${PORTSDIR}/x11/linux-xorg-libs -. else -LIB_DEPENDS+= X11.6:${X_LIBRARIES_PORT} -. endif -# Add explicit X options to avoid problems with false positives in configure -.if defined(GNU_CONFIGURE) -CONFIGURE_ARGS+=--x-libraries=${X11BASE}/lib --x-includes=${X11BASE}/include -.endif -.endif - -# Set the default for the installation of Postscript(TM)- -# compatible functionality. -.if !defined(WITHOUT_X11) -.if defined(WITH_GHOSTSCRIPT_AFPL) -GHOSTSCRIPT_PORT?= print/ghostscript-afpl -.elif defined(WITH_GHOSTSCRIPT_GPL) -GHOSTSCRIPT_PORT?= print/ghostscript-gpl -.else -GHOSTSCRIPT_PORT?= print/ghostscript-gnu -.endif -.else -.if defined(WITH_GHOSTSCRIPT_AFPL) -GHOSTSCRIPT_PORT?= print/ghostscript-afpl-nox11 -.elif defined(WITH_GHOSTSCRIPT_GPL) -GHOSTSCRIPT_PORT?= print/ghostscript-gpl-nox11 -.else -GHOSTSCRIPT_PORT?= print/ghostscript-gnu-nox11 -.endif -.endif - -# Set up the ghostscript dependencies. -.if defined(USE_GHOSTSCRIPT) || defined(USE_GHOSTSCRIPT_BUILD) -BUILD_DEPENDS+= gs:${PORTSDIR}/${GHOSTSCRIPT_PORT} -.endif -.if defined(USE_GHOSTSCRIPT) || defined(USE_GHOSTSCRIPT_RUN) -RUN_DEPENDS+= gs:${PORTSDIR}/${GHOSTSCRIPT_PORT} -.endif - -# Set up the cdrtools. -.if defined(USE_CDRTOOLS) -.if exists(${DOCSDIR}/cdrtools-cjk/README) || defined(WITH_CJK) || ${USE_CDRTOOLS:L} == "cjk" -BUILD_DEPENDS+= cdrecord:${PORTSDIR}/sysutils/cdrtools-cjk -RUN_DEPENDS+= cdrecord:${PORTSDIR}/sysutils/cdrtools-cjk -.else -BUILD_DEPENDS+= cdrecord:${PORTSDIR}/sysutils/cdrtools -RUN_DEPENDS+= cdrecord:${PORTSDIR}/sysutils/cdrtools -.endif -.endif - -# Macro for doing in-place file editing using regexps -REINPLACE_ARGS?= -i.bak -REINPLACE_CMD?= ${SED} ${REINPLACE_ARGS} - -# Names of cookies used to skip already completed stages -EXTRACT_COOKIE?= ${WRKDIR}/.extract_done.${PORTNAME}.${PREFIX:S/\//_/g} -CONFIGURE_COOKIE?= ${WRKDIR}/.configure_done.${PORTNAME}.${PREFIX:S/\//_/g} -INSTALL_COOKIE?= ${WRKDIR}/.install_done.${PORTNAME}.${PREFIX:S/\//_/g} -BUILD_COOKIE?= ${WRKDIR}/.build_done.${PORTNAME}.${PREFIX:S/\//_/g} -PATCH_COOKIE?= ${WRKDIR}/.patch_done.${PORTNAME}.${PREFIX:S/\//_/g} -PACKAGE_COOKIE?= ${WRKDIR}/.package_done.${PORTNAME}.${PREFIX:S/\//_/g} - -# How to do nothing. Override if you, for some strange reason, would rather -# do something. -DO_NADA?= ${TRUE} - -# Use this as the first operand to always build dependency. -NONEXISTENT?= /nonexistent - -# Miscellaneous overridable commands: -GMAKE?= gmake -XMKMF?= xmkmf -a -.if exists(/sbin/md5) -MD5?= /sbin/md5 -.else -MD5?= md5 -.endif -.if exists(/sbin/sha256) -SHA256?= /sbin/sha256 -.elif exists(${LOCALBASE_REL}/sbin/sha256) -SHA256?= ${LOCALBASE_REL}/sbin/sha256 -.else -SHA256?= NO -.endif - -CHECKSUM_ALGORITHMS?= md5 sha256 - -MD5_FILE?= ${MASTERDIR}/distinfo - -MAKE_FLAGS?= -f -MAKEFILE?= Makefile -MAKE_ENV+= TARGETDIR=${TARGETDIR} DESTDIR=${DESTDIR} PREFIX=${PREFIX} \ - LOCALBASE=${LOCALBASE_REL} X11BASE=${X11BASE_REL} \ - MOTIFLIB="${MOTIFLIB}" LIBDIR="${LIBDIR}" CFLAGS="${CFLAGS}" \ - CXXFLAGS="${CXXFLAGS}" MANPREFIX="${MANPREFIX}" - -.if ${OSVERSION} < 500016 -PTHREAD_CFLAGS?= -D_THREAD_SAFE -PTHREAD_LIBS?= -pthread -.elif ${OSVERSION} < 502102 -PTHREAD_CFLAGS?= -D_THREAD_SAFE -PTHREAD_LIBS?= -lc_r -.else -PTHREAD_CFLAGS?= -PTHREAD_LIBS?= -pthread -.endif - -.if exists(/usr/bin/fetch) -FETCH_CMD?= /usr/bin/fetch -ApRr -FETCH_REGET?= 1 -.if ${OSVERSION} >= 480000 && !defined(DISABLE_SIZE) -# Avoid -S for 4.7 and earlier since it causes fetch errors -FETCH_BEFORE_ARGS+= $${CKSIZE:+-S $$CKSIZE} -.endif -.else -FETCH_CMD?= /usr/bin/ftp -FETCH_REGET?= 0 -.endif - -.if defined(RANDOMIZE_MASTER_SITES) -.if exists(/usr/games/random) -RANDOM_CMD?= /usr/games/random -RANDOM_ARGS?= "-w -f -" -.if ( ${OSVERSION} > 480000 && ${OSVERSION} < 500000 ) || ${OSVERSION} > 500100 -_RANDOMIZE_SITES= " |${RANDOM_CMD} ${RANDOM_ARGS}" -.else -_RANDOMIZE_SITES= '' -.endif -.endif -.endif - -TOUCH?= /usr/bin/touch -TOUCH_FLAGS?= -f - -DISTORIG?= .bak.orig -PATCH?= /usr/bin/patch -PATCH_STRIP?= -p0 -PATCH_DIST_STRIP?= -p0 -.if defined(PATCH_DEBUG) -PATCH_DEBUG_TMP= yes -PATCH_ARGS?= -d ${PATCH_WRKSRC} -E ${PATCH_STRIP} -PATCH_DIST_ARGS?= --suffix ${DISTORIG} -d ${PATCH_WRKSRC} -E ${PATCH_DIST_STRIP} -.else -PATCH_DEBUG_TMP= no -PATCH_ARGS?= -d ${PATCH_WRKSRC} --forward --quiet -E ${PATCH_STRIP} -PATCH_DIST_ARGS?= --suffix ${DISTORIG} -d ${PATCH_WRKSRC} --forward --quiet -E ${PATCH_DIST_STRIP} -.endif -.if defined(BATCH) -PATCH_ARGS+= --batch -PATCH_DIST_ARGS+= --batch -.endif - -# Prevent breakage with VERSION_CONTROL=numbered -PATCH_ARGS+= -V simple - -.if defined(PATCH_CHECK_ONLY) -PATCH_ARGS+= -C -PATCH_DIST_ARGS+= -C -.endif - -.if ${PATCH} == "/usr/bin/patch" -PATCH_ARGS+= --suffix .orig -PATCH_DIST_ARGS+= --suffix .orig -.endif - -TAR?= /usr/bin/tar - -# EXTRACT_SUFX is defined in .pre.mk section -.if defined(USE_ZIP) -EXTRACT_CMD?= ${UNZIP_CMD} -EXTRACT_BEFORE_ARGS?= -qo -EXTRACT_AFTER_ARGS?= -d ${WRKDIR} -.else -EXTRACT_BEFORE_ARGS?= -dc -.if defined(EXTRACT_PRESERVE_OWNERSHIP) -EXTRACT_AFTER_ARGS?= | ${TAR} -xf - --no-same-owner -.else -EXTRACT_AFTER_ARGS?= | ${TAR} -xf - -.endif -.if defined(USE_BZIP2) -EXTRACT_CMD?= ${BZIP2_CMD} -.else -EXTRACT_CMD?= ${GZIP_CMD} -.endif -.endif - -# Figure out where the local mtree file is -.if !defined(MTREE_FILE) && !defined(NO_MTREE) -.if ${PREFIX} == ${X11BASE_REL} || defined(USE_X_PREFIX) -# User may have specified non-standard PREFIX for installing a port that -# uses X -MTREE_FILE= /etc/mtree/BSD.x11-4.dist -.elif ${PREFIX} == /usr -MTREE_FILE= /etc/mtree/BSD.usr.dist -.else -MTREE_FILE= /etc/mtree/BSD.local.dist -.endif -.endif -MTREE_CMD?= /usr/sbin/mtree -MTREE_ARGS?= -U ${MTREE_FOLLOWS_SYMLINKS} -f ${MTREE_FILE} -d -e -p - -# Determine whether or not we can use rootly owner/group functions. -.if !defined(UID) -UID!= ${ID} -u -.endif -.if ${UID} == 0 -_BINOWNGRP= -o ${BINOWN} -g ${BINGRP} -_SHROWNGRP= -o ${SHAREOWN} -g ${SHAREGRP} -_MANOWNGRP= -o ${MANOWN} -g ${MANGRP} -.else -_BINOWNGRP= -_SHROWNGRP= -_MANOWNGRP= -.endif - -# A few aliases for *-install targets -INSTALL_PROGRAM= \ - ${INSTALL} ${COPY} ${STRIP} ${_BINOWNGRP} -m ${BINMODE} -INSTALL_SCRIPT= \ - ${INSTALL} ${COPY} ${_BINOWNGRP} -m ${BINMODE} -INSTALL_DATA= \ - ${INSTALL} ${COPY} ${_SHROWNGRP} -m ${SHAREMODE} -INSTALL_MAN= \ - ${INSTALL} ${COPY} ${_MANOWNGRP} -m ${MANMODE} - -INSTALL_MACROS= BSD_INSTALL_PROGRAM="${INSTALL_PROGRAM}" \ - BSD_INSTALL_SCRIPT="${INSTALL_SCRIPT}" \ - BSD_INSTALL_DATA="${INSTALL_DATA}" \ - BSD_INSTALL_MAN="${INSTALL_MAN}" -MAKE_ENV+= ${INSTALL_MACROS} -SCRIPTS_ENV+= ${INSTALL_MACROS} - -# The user can override the NO_PACKAGE by specifying this from -# the make command line -.if defined(FORCE_PACKAGE) -.undef NO_PACKAGE -.endif - -COMMENTFILE?= ${PKGDIR}/pkg-comment -DESCR?= ${PKGDIR}/pkg-descr -PLIST?= ${PKGDIR}/pkg-plist -PKGINSTALL?= ${PKGDIR}/pkg-install -PKGDEINSTALL?= ${PKGDIR}/pkg-deinstall -PKGREQ?= ${PKGDIR}/pkg-req -PKGMESSAGE?= ${PKGDIR}/pkg-message - -TMPPLIST?= ${WRKDIR}/.PLIST.mktmp - -.for _CATEGORY in ${CATEGORIES} -PKGCATEGORY?= ${_CATEGORY} -.endfor -_PORTDIRNAME= ${.CURDIR:T} -PORTDIRNAME?= ${_PORTDIRNAME} -PKGORIGIN?= ${PKGCATEGORY}/${PORTDIRNAME} - - -.if (${OSVERSION} < 491101 && ${PKGORIGIN} != "sysutils/pkg_install") || exists(${LOCALBASE}/sbin/pkg_info) -.if ${OSVERSION} < 491101 && ${PKGORIGIN} != "sysutils/pkg_install" -EXTRACT_DEPENDS+= ${LOCALBASE}/sbin/pkg_info:${PORTSDIR}/sysutils/pkg_install -.endif -.if !defined(DESTDIR) -PKG_CMD?= ${LOCALBASE_REL}/sbin/pkg_create -PKG_ADD?= ${LOCALBASE_REL}/sbin/pkg_add -PKG_DELETE?= ${LOCALBASE_REL}/sbin/pkg_delete -PKG_INFO?= ${LOCALBASE_REL}/sbin/pkg_info -PKG_VERSION?= ${LOCALBASE_REL}/sbin/pkg_version -.else -PKG_CMD?= ${LOCALBASE_REL}/sbin/pkg_create -PKG_ADD?= ${CHROOT} ${DESTDIR} ${LOCALBASE_REL}/sbin/pkg_add -PKG_DELETE?= ${CHROOT} ${DESTDIR} ${LOCALBASE_REL}/sbin/pkg_delete -PKG_INFO?= ${CHROOT} ${DESTDIR} ${LOCALBASE_REL}/sbin/pkg_info -.endif -.else -.if !defined(DESTDIR) -PKG_CMD?= /usr/sbin/pkg_create -PKG_ADD?= /usr/sbin/pkg_add -PKG_DELETE?= /usr/sbin/pkg_delete -PKG_INFO?= /usr/sbin/pkg_info -PKG_VERSION?= /usr/sbin/pkg_version -.else -PKG_CMD?= /usr/sbin/pkg_create -PKG_ADD?= ${CHROOT} ${DESTDIR} /usr/sbin/pkg_add -PKG_DELETE?= ${CHROOT} ${DESTDIR} /usr/sbin/pkg_delete -PKG_INFO?= ${CHROOT} ${DESTDIR} /usr/sbin/pkg_info -PKG_VERSION?= ${CHROOT} ${DESTDIR} /usr/sbin/pkg_version -.endif -.endif - -# Does the pkg_create tool support conflict checking? -# XXX Slow? -.if !defined(PKGINSTALLVER) -.if !defined(DESTDIR) -PKGINSTALLVER!= ${PKG_INFO} -P 2>/dev/null | ${SED} -e 's/.*: //' -.else -PKGINSTALLVER!= ${CHROOT} ${DESTDIR} ${PKG_INFO} -P 2>/dev/null | ${SED} -e 's/.*: //' -.endif -.endif -.if ${PKGINSTALLVER} < 20030417 -DISABLE_CONFLICTS= YES -.endif -.if !defined(PKG_ARGS) -PKG_ARGS= -v -c -${COMMENT:Q} -d ${DESCR} -f ${TMPPLIST} -p ${PREFIX} -P "`cd ${.CURDIR} && ${MAKE} package-depends | ${GREP} -v -E ${PKG_IGNORE_DEPENDS} | ${SORT} -u`" ${EXTRA_PKG_ARGS} $${_LATE_PKG_ARGS} -.if !defined(NO_MTREE) -PKG_ARGS+= -m ${MTREE_FILE} -.endif -.if defined(PKGORIGIN) -PKG_ARGS+= -o ${PKGORIGIN} -.endif -.if defined(CONFLICTS) && !defined(DISABLE_CONFLICTS) -PKG_ARGS+= -C "${CONFLICTS}" -.endif -.endif -.if defined(PKG_NOCOMPRESS) -PKG_SUFX?= .tar -.else -.if ${OSVERSION} >= 500039 -PKG_SUFX?= .tbz -.else -PKG_SUFX?= .tgz -.endif -.endif -# where pkg_add records its dirty deeds. -PKG_DBDIR?= ${DESTDIR}/var/db/pkg - -MOTIFLIB?= -L${X11BASE}/lib -lXm -lXp - -ALL_TARGET?= all -INSTALL_TARGET?= install - -# This is a mid-term solution patch while pkg-comment files are -# phased out. -# The final simpler patch will come afterwards -.if !defined(COMMENT) -check-makevars:: - @${ECHO_CMD} 'Makefile error: there is no COMMENT variable defined' - @${ECHO_CMD} 'for this port. Please, rectify this.' - @${FALSE} -.else -.if exists(${COMMENTFILE}) -check-makevars:: - @${ECHO_CMD} 'Makefile error: There is a COMMENTFILE in this port.' - @${ECHO_CMD} 'COMMENTFILEs have been deprecated in' - @${ECHO_CMD} 'favor of COMMENT variables.' - @${ECHO_CMD} 'Please, rectify this.' - @${FALSE} -.endif -.endif - -# Popular master sites -.if exists(${DEVELPORTSDIR}/Mk/bsd.sites.mk) -.include "${DEVELPORTSDIR}/Mk/bsd.sites.mk" -.else -.include "${PORTSDIR}/Mk/bsd.sites.mk" -.endif - -# Empty declaration to avoid "variable MASTER_SITES recursive" error -MASTER_SITES?= -PATCH_SITES?= -_MASTER_SITES_DEFAULT?= -_PATCH_SITES_DEFAULT?= - -# Feed internal _{MASTER,PATCH}_SITES_n where n is a group designation -# as per grouping rules (:something) -# Organize _{MASTER,PATCH}_SITES_{DEFAULT,[^/:]+} according to grouping -# rules (:something) -.for _S in ${MASTER_SITES} -_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://} -. if !empty(_S_TEMP) -. for _group in ${_S_TEMP:S/,/ /g} -_G_TEMP= ${_group} -. if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default -check-makevars:: - @${ECHO_CMD} "Makefile error: the words all, ALL and default are reserved and cannot be" - @${ECHO_CMD} "used in group definitions. Please fix your MASTER_SITES" - @${FALSE} -. endif -_MASTER_SITES_${_group}+= ${_S:C@^(.*/):[^/:]+$@\1@} -. endfor -. else -_MASTER_SITES_DEFAULT+= ${_S:C@^(.*/):[^/:]+$@\1@} -. endif -.endfor -.for _S in ${PATCH_SITES} -_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://} -. if !empty(_S_TEMP) -. for _group in ${_S_TEMP:S/,/ /g} -_G_TEMP= ${_group} -. if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default -check-makevars:: - @${ECHO_CMD} "The words all, ALL and default are reserved and cannot be" - @${ECHO_CMD} "used in group definitions. Please fix your PATCH_SITES" - @${FALSE} -. endif -_PATCH_SITES_${_group}+= ${_S:C@^(.*/):[^/:]+$@\1@} -. endfor -. else -_PATCH_SITES_DEFAULT+= ${_S:C@^(.*/):[^/:]+$@\1@} -. endif -.endfor - -# Feed internal _{MASTER,PATCH}_SITE_SUBDIR_n where n is a group designation -# as per grouping rules (:something) -# Organize _{MASTER,PATCH}_SITE_SUBDIR_{DEFAULT,[^/:]+} according to grouping -# rules (:something) -.for _S in ${MASTER_SITE_SUBDIR} -_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://} -. if !empty(_S_TEMP) -. for _group in ${_S_TEMP:S/,/ /g} -_G_TEMP= ${_group} -. if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default -check-makevars:: - @${ECHO_CMD} "Makefile error: the words all, ALL and default are reserved and cannot be" - @${ECHO_CMD} "used in group definitions. Please fix your MASTER_SITE_SUBDIR" - @${FALSE} -. endif -. if defined(_MASTER_SITES_${_group}) -_MASTER_SITE_SUBDIR_${_group}+= ${_S:C@^(.*)/:[^/:]+$@\1@} -. endif -. endfor -. else -. if defined(_MASTER_SITES_DEFAULT) -_MASTER_SITE_SUBDIR_DEFAULT+= ${_S:C@^(.*)/:[^/:]+$@\1@} -. endif -. endif -.endfor -.for _S in ${PATCH_SITE_SUBDIR} -_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://} -. if !empty(_S_TEMP) -. for _group in ${_S_TEMP:S/,/ /g} -_G_TEMP= ${_group} -. if ${_G_TEMP} == all || ${_G_TEMP} == ALL || ${_G_TEMP} == default -check-makevars:: - @${ECHO_CMD} "Makefile error: the words all, ALL and default are reserved and cannot be" - @${ECHO_CMD} "used in group definitions. Please fix your PATCH_SITE_SUBDIR" - @${FALSE} -. endif -. if defined(_PATCH_SITES_${_group}) -_PATCH_SITE_SUBDIR_${_group}+= ${_S:C@^(.*)/:[^/:]+$@\1@} -. endif -. endfor -. else -. if defined(_PATCH_SITES_DEFAULT) -_PATCH_SITE_SUBDIR_DEFAULT+= ${_S:C@^(.*)/:[^/:]+$@\1@} -. endif -. endif -.endfor - -# Substitute subdirectory names -# XXX simpler/faster solution but not the best space wise, suggestions please -.for _S in ${MASTER_SITES} -_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://} -. if !empty(_S_TEMP) -. for _group in ${_S_TEMP:S/,/ /g} -. if !defined(_MASTER_SITE_SUBDIR_${_group}) -MASTER_SITES_TMP= ${_MASTER_SITES_${_group}:S^%SUBDIR%/^^} -. else -_S_TEMP_TEMP= ${_MASTER_SITES_${_group}:M*%SUBDIR%/*} -. if empty(_S_TEMP_TEMP) -MASTER_SITES_TMP= ${_MASTER_SITES_${_group}} -. else -MASTER_SITES_TMP= -. for site in ${_MASTER_SITES_${_group}} -_S_TEMP_TEMP= ${site:M*%SUBDIR%/*} -. if empty(_S_TEMP_TEMP) -MASTER_SITES_TMP+= ${site} -. else -. for dir in ${_MASTER_SITE_SUBDIR_${_group}} -MASTER_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^} -. endfor -. endif -. endfor -. endif -. endif -_MASTER_SITES_${_group}:= ${MASTER_SITES_TMP} -. endfor -. endif -.endfor -.if defined(_MASTER_SITE_SUBDIR_DEFAULT) -_S_TEMP= ${_MASTER_SITES_DEFAULT:M*%SUBDIR%/*} -. if empty(_S_TEMP) -MASTER_SITES_TMP= ${_MASTER_SITES_DEFAULT} -. else -MASTER_SITES_TMP= -. for site in ${_MASTER_SITES_DEFAULT} -_S_TEMP_TEMP= ${site:M*%SUBDIR%/*} -. if empty(_S_TEMP_TEMP) -MASTER_SITES_TMP+= ${site} -. else -. for dir in ${_MASTER_SITE_SUBDIR_DEFAULT} -MASTER_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^} -. endfor -. endif -. endfor -. endif -.else -MASTER_SITES_TMP= ${_MASTER_SITES_DEFAULT:S^%SUBDIR%/^^} -.endif -_MASTER_SITES_DEFAULT:= ${MASTER_SITES_TMP} -MASTER_SITES_TMP= -.for _S in ${PATCH_SITES} -_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//:S/^://} -. if !empty(_S_TEMP) -. for _group in ${_S_TEMP:S/,/ /g} -. if !defined(_PATCH_SITE_SUBDIR_${_group}) -PATCH_SITES_TMP= ${_PATCH_SITES_${_group}:S^%SUBDIR%/^^} -. else -_S_TEMP_TEMP= ${_PATCH_SITES_${_group}:M*%SUBDIR%/*} -. if empty(_S_TEMP_TEMP) -PATCH_SITES_TMP= ${_PATCH_SITES_${_group}} -. else -PATCH_SITES_TMP= -. for site in ${_PATCH_SITES_${_group}} -_S_TEMP_TEMP= ${site:M*%SUBDIR%/*} -. if empty(_S_TEMP_TEMP) -PATCH_SITES_TMP+= ${site} -. else -. for dir in ${_PATCH_SITE_SUBDIR_${_group}} -PATCH_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^} -. endfor -. endif -. endfor -. endif -. endif -_PATCH_SITES_${_group}:= ${PATCH_SITES_TMP} -. endfor -. endif -.endfor -.if defined(_PATCH_SITE_SUBDIR_DEFAULT) -_S_TEMP= ${_PATCH_SITES_DEFAULT:M*%SUBDIR%/*} -. if empty(_S_TEMP) -PATCH_SITES_TMP= ${_PATCH_SITES_DEFAULT} -. else -PATCH_SITES_TMP= -. for site in ${_PATCH_SITES_DEFAULT} -_S_TEMP_TEMP= ${site:M*%SUBDIR%/*} -. if empty(_S_TEMP_TEMP) -PATCH_SITES_TMP+= ${site} -. else -. for dir in ${_PATCH_SITE_SUBDIR_DEFAULT} -PATCH_SITES_TMP+= ${site:S^%SUBDIR%^\${dir}^} -. endfor -. endif -. endfor -. endif -.else -PATCH_SITES_TMP= ${_PATCH_SITES_DEFAULT:S^%SUBDIR%/^^} -.endif -_PATCH_SITES_DEFAULT:= ${PATCH_SITES_TMP} -PATCH_SITES_TMP= - -# The primary backup site. -MASTER_SITE_BACKUP?= \ - ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ -MASTER_SITE_BACKUP:= ${MASTER_SITE_BACKUP:S^\${DIST_SUBDIR}/^^} - -# If the user has MASTER_SITE_FREEBSD set, go to the FreeBSD repository -# for everything, but don't search it twice by appending it to the end. -.if defined(MASTER_SITE_FREEBSD) -_MASTER_SITE_OVERRIDE:= ${MASTER_SITE_BACKUP} -_MASTER_SITE_BACKUP:= # empty -.else -_MASTER_SITE_OVERRIDE= ${MASTER_SITE_OVERRIDE} -_MASTER_SITE_BACKUP= ${MASTER_SITE_BACKUP} -.endif - -# Search CDROM first if mounted, symlink instead of copy if -# FETCH_SYMLINK_DISTFILES is set -.for MOUNTPT in ${CD_MOUNTPTS} -.if exists(${MOUNTPT}/ports/distfiles) -_MASTER_SITE_OVERRIDE:= file:${MOUNTPT}/ports/distfiles/${DIST_SUBDIR}/ ${_MASTER_SITE_OVERRIDE} -.if defined(FETCH_SYMLINK_DISTFILES) -FETCH_BEFORE_ARGS+= -l -.endif -.endif -.endfor - -NOFETCHFILES?= - -# Organize DISTFILES, PATCHFILES, _MASTER_SITES_ALL, _PATCH_SITES_ALL -# according to grouping rules (:something) -DISTFILES?= ${DISTNAME}${EXTRACT_SUFX} -_MASTER_SITES_ALL= ${_MASTER_SITES_DEFAULT} -_PATCH_SITES_ALL= ${_PATCH_SITES_DEFAULT} -_G_TEMP= DEFAULT -.for _D in ${DISTFILES} -_D_TEMP= ${_D:S/^${_D:C/:[^:]+$//}//} -. if !empty(_D_TEMP) -. for _group in ${_D_TEMP:S/^://:S/,/ /g} -. if !defined(_MASTER_SITES_${_group}) -_G_TEMP_TEMP= ${_G_TEMP:M/${_group}/} -. if empty(_G_TEMP_TEMP) -_G_TEMP+= ${_group} -_MASTER_SITES_ALL+= ${_MASTER_SITES_${_group}} -. endif -. endif -. endfor -_DISTFILES+= ${_D:C/:[^:]+$//} -. else -_DISTFILES+= ${_D} -. endif -.endfor -_G_TEMP= DEFAULT -.for _P in ${PATCHFILES} -_P_TEMP= ${_P:S/^${_P:C/:[^:]+$//}//} -. if !empty(_P_TEMP) -. for _group in ${_P_TEMP:S/^://:S/,/ /g} -. if !defined(_PATCH_SITES_${_group}) -_G_TEMP_TEMP= ${_G_TEMP:M/${_group}/} -. if empty(_G_TEMP_TEMP) -_G_TEMP+= ${_group} -_PATCH_SITES_ALL+= ${_PATCH_SITES_${_group}} -. endif -. endif -. endfor -_PATCHFILES+= ${_P:C/:[^:]+$//} -. else -_PATCHFILES+= ${_P} -. endif -.endfor -_G_TEMP= -_G_TEMP_TEMP= -ALLFILES?= ${_DISTFILES} ${_PATCHFILES} - -# -# Sort the master site list according to the patterns in MASTER_SORT -# -MASTER_SORT?= -MASTER_SORT_REGEX?= -MASTER_SORT_REGEX+= ${MASTER_SORT:S|.|\\.|g:S|^|://[^/]*|:S|$|/|} - -MASTER_SORT_AWK= BEGIN { RS = " "; ORS = " "; IGNORECASE = 1 ; gl = "${MASTER_SORT_REGEX:S|\\|\\\\|g}"; } -.for srt in ${MASTER_SORT_REGEX} -MASTER_SORT_AWK+= /${srt:S|/|\\/|g}/ { good["${srt:S|\\|\\\\|g}"] = good["${srt:S|\\|\\\\|g}"] " " $$0 ; next; } -.endfor -MASTER_SORT_AWK+= { rest = rest " " $$0; } END { n=split(gl, gla); for(i=1;i<=n;i++) { print good[gla[i]]; } print rest; } - -SORTED_MASTER_SITES_DEFAULT_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} master-sites-DEFAULT -SORTED_PATCH_SITES_DEFAULT_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} patch-sites-DEFAULT -SORTED_MASTER_SITES_ALL_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} master-sites-ALL -SORTED_PATCH_SITES_ALL_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} patch-sites-ALL - -# -# Sort the master site list according to the patterns in MASTER_SORT -# according to grouping rules (:something) -# -# for use in the fetch targets -.for _S in ${MASTER_SITES} -_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//} -. if !empty(_S_TEMP) -. for _group in ${_S_TEMP:S/^://:S/,/ /g} -. if !target(master-sites-${_group}) -SORTED_MASTER_SITES_${_group}_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} master-sites-${_group} -master-sites-${_group}: - @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} -. endif -. endfor -. endif -.endfor -.for _S in ${PATCH_SITES} -_S_TEMP= ${_S:S/^${_S:C@/:[^/:]+$@/@}//} -. if !empty(_S_TEMP) -. for _group in ${_S_TEMP:S/^://:S/,/ /g} -. if !target(patch-sites-${_group}) -SORTED_PATCH_SITES_${_group}_CMD= cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} patch-sites-${_group} -patch-sites-${_group}: - @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} -. endif -. endfor -. endif -.endfor - -# -# Hackery to enable simple fetch targets with several dynamic MASTER_SITES -# -_MASTER_SITES_ENV= _MASTER_SITES_DEFAULT="${_MASTER_SITES_DEFAULT}" -.for _F in ${DISTFILES} -_F_TEMP= ${_F:S/^${_F:C/:[^:]+$//}//:S/^://} -. if !empty(_F_TEMP) -. for _group in ${_F_TEMP:S/,/ /g} -. if defined(_MASTER_SITES_${_group}) -_MASTER_SITES_ENV+= _MASTER_SITES_${_group}="${_MASTER_SITES_${_group}}" -. endif -. endfor -. endif -.endfor -_PATCH_SITES_ENV= _PATCH_SITES_DEFAULT="${_PATCH_SITES_DEFAULT}" -.for _F in ${PATCHFILES} -_F_TEMP= ${_F:S/^${_F:C/:[^:]+$//}//:S/^://} -. if !empty(_F_TEMP) -. for _group in ${_F_TEMP:S/,/ /g} -. if defined(_PATCH_SITES_${_group}) -_PATCH_SITES_ENV+= _PATCH_SITES_${_group}="${_PATCH_SITES_${_group}}" -. endif -. endfor -. endif -.endfor - -master-sites-ALL: - @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_ALL}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} -patch-sites-ALL: - @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_ALL}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} -# has similar effect to old targets, i.e., access only {MASTER,PATCH}_SITES, not working with the new _n variables -master-sites-DEFAULT: - @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_DEFAULT}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} -patch-sites-DEFAULT: - @${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_DEFAULT}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP} - -# synonyms, mnemonics -master-sites-all: master-sites-ALL -patch-sites-all: patch-sites-ALL -master-sites-default: master-sites-DEFAULT -patch-sites-default: patch-sites-DEFAULT - -# compatibility with old behavior -master-sites: master-sites-DEFAULT -patch-sites: patch-sites-DEFAULT - -.if defined(IGNOREFILES) -.if !defined(CKSUMFILES) -CKSUMFILES!= \ - for file in ${ALLFILES}; do \ - ignore=0; \ - for tmp in ${IGNOREFILES}; do \ - if [ "$$file" = "$$tmp" ]; then \ - ignore=1; \ - fi; \ - done; \ - if [ "$$ignore" = 0 ]; then \ - ${ECHO_CMD} "$$file"; \ - fi; \ - done -.endif -.else -CKSUMFILES= ${ALLFILES} -.endif - -# List of all files, with ${DIST_SUBDIR} in front. Used for checksum. -.if defined(DIST_SUBDIR) -.if defined(CKSUMFILES) && ${CKSUMFILES}!="" -_CKSUMFILES?= ${CKSUMFILES:S/^/${DIST_SUBDIR}\//} -.endif -.if defined(IGNOREFILES) && ${IGNOREFILES}!="" -_IGNOREFILES?= ${IGNOREFILES:S/^/${DIST_SUBDIR}\//} -.endif -.else -_CKSUMFILES?= ${CKSUMFILES} -_IGNOREFILES?= ${IGNOREFILES} -.endif - -# This is what is actually going to be extracted, and is overridable -# by user. -EXTRACT_ONLY?= ${_DISTFILES} - -.if !target(maintainer) -maintainer: - @${ECHO_CMD} "${MAINTAINER}" -.endif - -.if !target(check-makefile) -check-makefile:: - @${DO_NADA} -.endif - -.if !defined(CATEGORIES) -check-categories: - @${ECHO_CMD} "${PKGNAME}: Makefile error: CATEGORIES is mandatory." - @${FALSE} -.else - -VALID_CATEGORIES+= accessibility afterstep arabic archivers astro audio \ - benchmarks biology cad chinese comms converters databases \ - deskutils devel dns editors elisp emulators finance french ftp \ - games geography german gnome gnustep graphics hamradio haskell hebrew hungarian \ - ipv6 irc japanese java kde korean lang linux lisp \ - mail math mbone misc multimedia net net-im net-mgmt net-p2p news \ - palm parallel pear perl5 plan9 polish portuguese ports-mgmt \ - print python ruby rubygems russian \ - scheme science security shells spanish sysutils \ - tcl80 tcl81 tcl82 tcl83 tcl84 textproc \ - tk80 tk82 tk83 tk84 tkstep80 \ - ukrainian vietnamese windowmaker www \ - x11 x11-clocks x11-fm x11-fonts x11-servers x11-themes x11-toolkits \ - x11-wm xfce zope - -check-categories: -.for cat in ${CATEGORIES} - @if ${ECHO_CMD} ${VALID_CATEGORIES} | ${GREP} -wq ${cat}; then \ - ${TRUE}; \ - else \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: category ${cat} not in list of valid categories."; \ - ${FALSE}; \ - fi -.endfor -.endif - -.if !target(check-makevars) -check-makevars:: - @${DO_NADA} -.endif - -.if !target(check-depends) -check-depends: - @${DO_NADA} -.endif - -PKGREPOSITORYSUBDIR?= All -PKGREPOSITORY?= ${PACKAGES}/${PKGREPOSITORYSUBDIR} -.if exists(${PACKAGES}) -PKGFILE?= ${PKGREPOSITORY}/${PKGNAME}${PKG_SUFX} -.else -PKGFILE?= ${.CURDIR}/${PKGNAME}${PKG_SUFX} -.endif - -# The "latest version" link -- ${PKGNAME} minus everthing after the last '-' -PKGLATESTREPOSITORY?= ${PACKAGES}/Latest -PKGBASE?= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX} -LATEST_LINK?= ${PKGBASE} -PKGLATESTFILE= ${PKGLATESTREPOSITORY}/${LATEST_LINK}${PKG_SUFX} - -.if defined(PERL_CONFIGURE) -CONFIGURE_ARGS+= CC="${CC}" CCFLAGS="${CFLAGS}" PREFIX="${TARGETDIR}" \ - INSTALLPRIVLIB="${TARGETDIR}/lib" INSTALLARCHLIB="${TARGETDIR}/lib" -CONFIGURE_SCRIPT?= Makefile.PL -MAN3PREFIX?= ${TARGETDIR}/lib/perl5/${PERL_VERSION} -.undef HAS_CONFIGURE -.endif - -CONFIGURE_SCRIPT?= configure -CONFIGURE_TARGET?= ${ARCH}-portbld-freebsd${OSREL} -CONFIGURE_LOG?= config.log - -# A default message to print if do-configure fails. -CONFIGURE_FAIL_MESSAGE?= "Please report the problem to ${MAINTAINER} [maintainer] and attach the \"${CONFIGURE_WRKSRC}/${CONFIGURE_LOG}\" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. an \`ls ${PKG_DBDIR}\`)." - -.if defined(GNU_CONFIGURE) -# Maximum command line length -.if !defined(CONFIGURE_MAX_CMD_LEN) -CONFIGURE_MAX_CMD_LEN!= ${SYSCTL} -n kern.argmax -.endif -CONFIGURE_ARGS+= --prefix=${PREFIX} ${CONFIGURE_TARGET} -CONFIGURE_ENV+= lt_cv_sys_max_cmd_len=${CONFIGURE_MAX_CMD_LEN} -HAS_CONFIGURE= yes -.endif - -# Passed to most of script invocations -SCRIPTS_ENV+= CURDIR=${MASTERDIR} DISTDIR=${DISTDIR} \ - WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} PATCHDIR=${PATCHDIR} \ - SCRIPTDIR=${SCRIPTDIR} FILESDIR=${FILESDIR} \ - PORTSDIR=${PORTSDIR} PREFIX=${PREFIX} LOCALBASE=${LOCALBASE} \ - X11BASE=${X11BASE} DESTDIR=${DESTDIR} TARGETDIR=${DESTDIR} - -.if defined(BATCH) -SCRIPTS_ENV+= BATCH=yes -.endif - -.if ${PREFIX} == /usr -MANPREFIX?= ${DESTDIR}/usr/share -.else -MANPREFIX?= ${TARGETDIR} -.endif - -.for sect in 1 2 3 4 5 6 7 8 9 -MAN${sect}PREFIX?= ${MANPREFIX} -.endfor -MANLPREFIX?= ${MANPREFIX} -MANNPREFIX?= ${MANPREFIX} - -MANLANG?= "" # english only by default - -.if !defined(NOMANCOMPRESS) -MANEXT= .gz -.endif - -.if (defined(MLINKS) || defined(_MLINKS_PREPEND)) && !defined(_MLINKS) -__pmlinks!= ${ECHO_CMD} '${MLINKS:S/ / /}' | ${AWK} \ - '{ if (NF % 2 != 0) { print "broken"; exit; } \ - for (i=1; i<=NF; i++) { \ - if ($$i ~ /^-$$/ && i != 1 && i % 2 != 0) \ - { $$i = $$(i-2); printf " " $$i " "; } \ - else if ($$i ~ /^[^ ]+\.[1-9ln][^. ]*$$/ || $$i ~ /^\//) \ - printf " " $$i " "; \ - else \ - { print "broken"; exit; } \ - } \ - }' | ${SED} -e 's \([^/ ][^ ]*\.\(.\)[^. ]*\) $${MAN\2PREFIX}/$$$$$$$${__lang}/man\2/\1${MANEXT}g' -e 's/ //g' -e 's/MANlPREFIX/MANLPREFIX/g' -e 's/MANnPREFIX/MANNPREFIX/g' -.if ${__pmlinks:Mbroken} == "broken" -check-makevars:: - @${ECHO_CMD} "${PKGNAME}: Makefile error: unable to parse MLINKS." - @${FALSE} -.endif -_MLINKS= ${_MLINKS_PREPEND} -# XXX 20040119 This next line should read: -# .for lang in ${MANLANG:S%^%man/%:S%^man/""$%man%} -# but there is currently a bug in make(1) that prevents the double-quote -# substitution from working correctly. Once that problem is addressed, -# and has had a enough time to mature, this hack should be removed. -.for lang in ${MANLANG:S%^%man/%:S%^man/""$%man%:S%^man/"$%man%} -.for ___pmlinks in ${__pmlinks} -.for __lang in ${lang} -_MLINKS+= ${___pmlinks:S// /g} -.endfor -.endfor -.endfor -.endif -_COUNT=0 -.for ___tpmlinks in ${_MLINKS} -.if ${_COUNT} == "1" -_TMLINKS+= ${___tpmlinks} -_COUNT=0 -.else -_COUNT=1 -.endif -.endfor - -# XXX 20040119 This next line should read: -# .for manlang in ${MANLANG:S%^%man/%:S%^man/""$%man%} -# but there is currently a bug in make(1) that prevents the double-quote -# substitution from working correctly. Once that problem is addressed, -# and has had a enough time to mature, this hack should be removed. -.for manlang in ${MANLANG:S%^%man/%:S%^man/""$%man%:S%^man/"$%man%} - -.for sect in 1 2 3 4 5 6 7 8 9 L N -# MAN${sect} is for man pages installed for all languages in MANLANG for a given -# section. -.if defined(MAN${sect}) -_MANPAGES+= ${MAN${sect}:S%^%${MAN${sect}PREFIX}/${manlang}/man${sect:L}/%} -.endif - -# Language specific MAN${sect} variables are for man pages installed in that -# language, but not necessarily all languages in MANLANG. -.if defined(MAN${sect}_${manlang:S%^man/%%:U}) -_MANPAGES+= ${MAN${sect}_${manlang:S%^man/%%:U}:S%^%${MAN${sect}PREFIX}/${manlang}/man${sect:L}/%} -.endif - -.endfor - -.endfor - -# Special case for English, since it is defined with "" in MANLANG rather than -# a language name and does not have man pages installed in a lang subdirectory -# of MAN${sect}PREFIX. -.for sect in 1 2 3 4 5 6 7 8 9 L N -.if defined(MAN${sect}_EN) -_MANPAGES+= ${MAN${sect}_EN:S%^%${MAN${sect}PREFIX}/man/man${sect:L}/%} -.endif -.endfor - -.if !defined(_TMLINKS) -_TMLINKS= -.endif - -.if defined(_MANPAGES) - -.if defined(NOMANCOMPRESS) -__MANPAGES:= ${_MANPAGES:S%^${TARGETDIR}/%%} -.else -__MANPAGES:= ${_MANPAGES:S%^${TARGETDIR}/%%:S%$%.gz%} -.endif - -.if ${MANCOMPRESSED} == "yes" -_MANPAGES:= ${_MANPAGES:S%$%.gz%} -.endif - -.endif - -.if ${PREFIX} == /usr -INFO_PATH?= share/info -.else -INFO_PATH?= info -.endif - -DOCSDIR?= ${TARGETDIR}/share/doc/${PORTNAME} -EXAMPLESDIR?= ${TARGETDIR}/share/examples/${PORTNAME} -DATADIR?= ${TARGETDIR}/share/${PORTNAME} - -PLIST_SUB+= DOCSDIR="${DOCSDIR:S,^${TARGETDIR}/,,}" \ - EXAMPLESDIR="${EXAMPLESDIR:S,^${TARGETDIR}/,,}" \ - DATADIR="${DATADIR:S,^${TARGETDIR}/,,}" - -DESKTOPDIR?= ${TARGETDIR}/share/applications -_DESKTOPDIR_REL= ${DESKTOPDIR:S,^${TARGETDIR}/,,}/ - -.if ${_DESKTOPDIR_REL} == ${DESKTOPDIR}/ -# DESKTOPDIR is not beneath PREFIX -_DESKTOPDIR_REL= -.endif - -# Put this as far down as possible so it will catch all PLIST_SUB definitions. - -.if defined(INSTALLS_SHLIB) -LDCONFIG_DIRS?= %%PREFIX%%/lib -LDCONFIG_PLIST!= ${ECHO_CMD} ${LDCONFIG_DIRS} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} -LDCONFIG_RUNLIST!= ${ECHO_CMD} ${LDCONFIG_PLIST} | ${SED} -e "s!%D!${PREFIX}!g" -.endif - -.MAIN: all - -################################################################ -# Many ways to disable a port. -# -# If we're in BATCH mode and the port is interactive, or we're -# in interactive mode and the port is non-interactive, skip all -# the important targets. The reason we have two modes is that -# one might want to leave a build in BATCH mode running -# overnight, then come back in the morning and do _only_ the -# interactive ones that required your intervention. -# -# Ignore ports that can't be resold if building for a CDROM. -# -# Don't build a port if it's restricted and we don't want to get -# into that. -# -# Don't build a port if it's broken, unless we're running a parallel -# build (in case it's fixed). -# -# Don't build a port if it's forbidden for whatever reason. -# -# Don't build a port if the system is too old. -################################################################ - -# Check the machine architectures -.if defined(ONLY_FOR_ARCHS) -.for __ARCH in ${ONLY_FOR_ARCHS} -.if ${ARCH:M${__ARCH}} != "" -__ARCH_OK?= 1 -.endif -.endfor -.else -__ARCH_OK?= 1 -.endif - -.if defined(NOT_FOR_ARCHS) -.for __NARCH in ${NOT_FOR_ARCHS} -.if ${ARCH:M${__NARCH}} != "" -.undef __ARCH_OK -.endif -.endfor -.endif - -.if !defined(__ARCH_OK) -.if defined(ONLY_FOR_ARCHS) -IGNORE= is only for ${ONLY_FOR_ARCHS}, -.else # defined(NOT_FOR_ARCHS) -IGNORE= does not run on ${NOT_FOR_ARCHS}. -.endif -IGNORE+= and you are running ${ARCH}. - -.if defined(ONLY_FOR_ARCHS_REASON_${ARCH}) -IGNORE+= Reason: ${ONLY_FOR_ARCHS_REASON_${ARCH}} -.elif defined(ONLY_FOR_ARCHS_REASON) -IGNORE+= Reason: ${ONLY_FOR_ARCHS_REASON} -.endif - -.if defined(NOT_FOR_ARCHS_REASON_${ARCH}) -IGNORE+= Reason: ${NOT_FOR_ARCHS_REASON_${ARCH}} -.elif defined(NOT_FOR_ARCHS_REASON) -IGNORE+= Reason: ${NOT_FOR_ARCHS_REASON} -.endif - -.endif - -# Check the user interaction and legal issues -.if !defined(NO_IGNORE) -.if (defined(IS_INTERACTIVE) && defined(BATCH)) -IGNORE= is an interactive port -.elif (!defined(IS_INTERACTIVE) && defined(INTERACTIVE)) -IGNORE= is not an interactive port -.elif (defined(NO_CDROM) && defined(FOR_CDROM)) -IGNORE= may not be placed on a CDROM: ${NO_CDROM} -.elif (defined(RESTRICTED) && defined(NO_RESTRICTED)) -IGNORE= is restricted: ${RESTRICTED} -.elif defined(BROKEN) -.if !defined(TRYBROKEN) -IGNORE= is marked as broken: ${BROKEN} -.endif -.elif defined(FORBIDDEN) -IGNORE= is forbidden: ${FORBIDDEN} -.endif - -.if (defined(MANUAL_PACKAGE_BUILD) && defined(PACKAGE_BUILDING)) -IGNORE= has to be built manually: ${MANUAL_PACKAGE_BUILD} -clean: - @${IGNORECMD} -.endif - -.if defined(IGNORE) -.if defined(IGNORE_SILENT) -IGNORECMD= ${DO_NADA} -.else -IGNORECMD= ${ECHO_MSG} "===> ${PKGNAME} "${IGNORE:Q}.;exit 1 -.endif - -.for target in check-sanity fetch checksum extract patch configure all build install reinstall package -.if !target(${target}) -${target}: - @${IGNORECMD} -.if defined(INSTALLS_DEPENDS) - @${FALSE} -.endif -.endif -.endfor - -.endif - -.endif - -.if defined(IGNORE) || defined(NO_PACKAGE) -ignorelist: package-name -.else -ignorelist: - @${DO_NADA} -.endif - -################################################################ -# Clean directories for ftp or CDROM. -################################################################ - -.if defined(RESTRICTED) -clean-restricted: delete-distfiles delete-package -clean-restricted-list: delete-distfiles-list delete-package-list -RESTRICTED_FILES?= ${_DISTFILES} ${_PATCHFILES} -.else -clean-restricted: -clean-restricted-list: -.endif - -.if defined(NO_CDROM) -clean-for-cdrom: delete-distfiles delete-package -clean-for-cdrom-list: delete-distfiles-list delete-package-list -RESTRICTED_FILES?= ${_DISTFILES} ${_PATCHFILES} -.else -clean-for-cdrom: -clean-for-cdrom-list: -.endif - -.if defined(ALL_HOOK) -all: - @cd ${.CURDIR} && ${SETENV} CURDIR=${.CURDIR} DISTNAME=${DISTNAME} \ - DISTDIR=${DISTDIR} WRKDIR=${WRKDIR} WRKSRC=${WRKSRC} \ - PATCHDIR=${PATCHDIR} SCRIPTDIR=${SCRIPTDIR} \ - FILESDIR=${FILESDIR} PORTSDIR=${PORTSDIR} DESTDIR=${DESTDIR} PREFIX=${PREFIX} \ - BUILD_DEPENDS="${BUILD_DEPENDS}" RUN_DEPENDS="${RUN_DEPENDS}" X11BASE=${X11BASE} \ - CONFLICTS="${CONFLICTS}" \ - ${ALL_HOOK} -.endif - -.if !target(all) -all: build -.endif - -.if !defined(DEPENDS_TARGET) -.if make(reinstall) -DEPENDS_TARGET= reinstall -.else -DEPENDS_TARGET= install -.endif -.if defined(DEPENDS_CLEAN) -DEPENDS_TARGET+= clean -DEPENDS_ARGS+= NOCLEANDEPENDS=yes -.endif -.endif - -################################################################ -# -# Do preliminary work to detect if we need to run the config -# target or not. -# -################################################################ -.if (!defined(OPTIONS) || defined(CONFIG_DONE) || \ - defined(PACKAGE_BUILDING) || defined(BATCH) || \ - exists(${_OPTIONSFILE}) || exists(${_OPTIONSFILE}.local)) -_OPTIONS_OK=yes -.endif - -################################################################ -# The following are used to create easy dummy targets for -# disabling some bit of default target behavior you don't want. -# They still check to see if the target exists, and if so don't -# do anything, since you might want to set this globally for a -# group of ports in a Makefile.inc, but still be able to -# override from an individual Makefile. -################################################################ - -# Disable checksum -.if defined(NO_CHECKSUM) && !target(checksum) -checksum: fetch - @${DO_NADA} -.endif - -# Disable build -.if defined(NO_BUILD) && !target(build) -build: configure - @${TOUCH} ${TOUCH_FLAGS} ${BUILD_COOKIE} -.endif - -# Disable install -.if defined(NO_INSTALL) && !target(install) -install: build - @${TOUCH} ${TOUCH_FLAGS} ${INSTALL_COOKIE} -.endif - -# Disable package -.if defined(NO_PACKAGE) && !target(package) -package: -.if defined(IGNORE_SILENT) - @${DO_NADA} -.else - @${ECHO_MSG} "===> ${PKGNAME} may not be packaged: "${NO_PACKAGE:Q}. -.endif -.endif - -# Disable describe -.if defined(NO_DESCRIBE) && !target(describe) -describe: - @${DO_NADA} -.endif - -################################################################ -# More standard targets start here. -# -# These are the body of the build/install framework. If you are -# not happy with the default actions, and you can't solve it by -# adding pre-* or post-* targets/scripts, override these. -################################################################ - -# Pre-everything - -# XXX MCL suggests deprecating this in favor of something -# less likely to be abused by overloading -pre-everything:: - @${DO_NADA} - -buildanyway-message: -.if defined(TRYBROKEN) && defined(BROKEN) - @${ECHO_MSG} "Trying build of ${PKGNAME} even though it is marked BROKEN." -.else - @${DO_NADA} -.endif - -options-message: -.if defined(GNOME_OPTION_MSG) && (!defined(PACKAGE_BUILDING) || !defined(BATCH)) - @for m in ${GNOME_OPTION_MSG}; do \ - ${ECHO_MSG} $$m; \ - done -.else - @${DO_NADA} -.endif -.if defined(_OPTIONS_READ) - @${ECHO_MSG} "===> Found saved configuration for ${_OPTIONS_READ}" -.if ${OPTIONSFILE} != ${_OPTIONSFILE} - @${ECHO_MSG} "===> *** CAUTION *** Using wrong configuration file ${_OPTIONSFILE}" -.endif -.endif - - -# Warn user about deprecated packages. Advisory only. - -.if !target(check-deprecated) -check-deprecated: -.if defined(DEPRECATED) - @${ECHO_MSG} "===> NOTICE:" - @${ECHO_MSG} - @${ECHO_MSG} "This port is deprecated; you may wish to reconsider installing it:" - @${ECHO_MSG} - @${ECHO_MSG} ${DEPRECATED:Q}. - @${ECHO_MSG} -.if defined(EXPIRATION_DATE) - @${ECHO_MSG} "It is scheduled to be removed on or after ${EXPIRATION_DATE}." - @${ECHO_MSG} -.endif -.endif -.endif - -# Check if the port is listed in the vulnerability database - -AUDITFILE?= /var/db/portaudit/auditfile.tbz -_EXTRACT_AUDITFILE= ${TAR} -jxOf "${AUDITFILE}" auditfile - -check-vulnerable: -.if !defined(DISABLE_VULNERABILITIES) && !defined(PACKAGE_BUILDING) - @if [ -f "${AUDITFILE}" ]; then \ - audit_created=`${_EXTRACT_AUDITFILE} | \ - ${SED} -nEe "1s/^#CREATED: *([0-9]{4})-?([0-9]{2})-?([0-9]{2}).*$$/\1\2\3/p"`; \ - audit_expiry=`/bin/date -u -v-14d "+%Y%m%d"`; \ - if [ "$$audit_created" -lt "$$audit_expiry" ]; then \ - ${ECHO_MSG} "===> WARNING: Vulnerability database out of date, checking anyway"; \ - fi; \ - vlist=`${_EXTRACT_AUDITFILE} | ${GREP} "${PORTNAME}" | \ - ${AWK} -F\| ' /^[^#]/ { \ - if (!system("${PKG_VERSION} -T \"${PKGNAME}\" \"" $$1 "\"")) \ - print "=> " $$3 ".\n Reference: <" $$2 ">" \ - } \ - '`; \ - if [ -n "$$vlist" ]; then \ - ${ECHO_MSG} "===> ${PKGNAME} has known vulnerabilities:"; \ - ${ECHO_MSG} "$$vlist"; \ - ${ECHO_MSG} "=> Please update your ports tree and try again."; \ - exit 1; \ - fi; \ - else \ - ${ECHO_MSG} "===> Vulnerability check disabled, database not found"; \ - fi -.endif - -# Fetch - -.if !target(do-fetch) -do-fetch: - @${MKDIR} ${_DISTDIR} - @(cd ${_DISTDIR}; \ - ${_MASTER_SITES_ENV} ; \ - for _file in ${DISTFILES}; do \ - file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \ - select=`${ECHO_CMD} $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \ - force_fetch=false; \ - filebasename=`${BASENAME} $$file`; \ - for afile in ${FORCE_FETCH}; do \ - afile=`${BASENAME} $$afile`; \ - if [ "x$$afile" = "x$$filebasename" ]; then \ - force_fetch=true; \ - fi; \ - done; \ - if [ ! -f $$file -a ! -f $$filebasename -o "$$force_fetch" = "true" ]; then \ - DIR=${DIST_SUBDIR}; \ - pattern="$${DIR:+$$DIR/}`${ECHO_CMD} $$file | ${SED} -e 's/\./\\\\./g'`"; \ - if [ -L $$file -o -L $$filebasename ]; then \ - ${ECHO_MSG} "=> ${_DISTDIR}/$$file is a broken symlink."; \ - ${ECHO_MSG} "=> Perhaps a filesystem (most likely a CD) isn't mounted?"; \ - ${ECHO_MSG} "=> Please correct this problem and try again."; \ - exit 1; \ - fi ; \ - if [ -f ${MD5_FILE} -a "x${NO_CHECKSUM}" = "x" ]; then \ - if ! ${GREP} -q "^MD5 ($$pattern)" ${MD5_FILE}; then \ - ${ECHO_MSG} "=> $${DIR:+$$DIR/}$$file is not in ${MD5_FILE}."; \ - ${ECHO_MSG} "=> Either ${MD5_FILE} is out of date, or"; \ - ${ECHO_MSG} "=> $${DIR:+$$DIR/}$$file is spelled incorrectly."; \ - exit 1; \ - fi; \ - fi; \ - ${ECHO_MSG} "=> $$file doesn't seem to exist in ${_DISTDIR}."; \ - if [ ! -w ${DISTDIR} ]; then \ - ${ECHO_MSG} "=> ${DISTDIR} is not writable by you; cannot fetch."; \ - exit 1; \ - fi; \ - if [ ! -z "$$select" ] ; then \ - __MASTER_SITES_TMP= ; \ - for group in $$select; do \ - if [ ! -z \$${_MASTER_SITES_$${group}} ] ; then \ - eval ___MASTER_SITES_TMP="\$${_MASTER_SITES_$${group}}" ; \ - __MASTER_SITES_TMP="$${__MASTER_SITES_TMP} $${___MASTER_SITES_TMP}" ; \ - fi \ - done; \ - ___MASTER_SITES_TMP= ; \ - SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ - else \ - SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \ - fi ; \ - for site in `eval $$SORTED_MASTER_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \ - ${ECHO_MSG} "=> Attempting to fetch from $${site}."; \ - DIR=${DIST_SUBDIR}; \ - CKSIZE=`${GREP} "^SIZE ($${DIR:+$$DIR/}$$file)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \ - case $${file} in \ - */*) ${MKDIR} $${file%/*}; \ - args="-o $${file} $${site}$${file}";; \ - *) args=$${site}$${file};; \ - esac; \ - if ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} ${FETCH_AFTER_ARGS}; then \ - continue 2; \ - fi \ - done; \ - ${ECHO_MSG} "=> Couldn't fetch it - please try to retrieve this";\ - ${ECHO_MSG} "=> port manually into ${_DISTDIR} and try again."; \ - exit 1; \ - fi \ - done) -.if defined(PATCHFILES) - @(cd ${_DISTDIR}; \ - ${_PATCH_SITES_ENV} ; \ - for _file in ${PATCHFILES}; do \ - file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \ - select=`${ECHO_CMD} $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \ - force_fetch=false; \ - filebasename=`${BASENAME} $$file`; \ - for afile in ${FORCE_FETCH}; do \ - afile=`${BASENAME} $$afile`; \ - if [ "x$$afile" = "x$$filebasename" ]; then \ - force_fetch=true; \ - fi; \ - done; \ - if [ ! -f $$file -a ! -f $$filebasename -o "$$force_fetch" = "true" ]; then \ - if [ -L $$file -o -L `${BASENAME} $$file` ]; then \ - ${ECHO_MSG} "=> ${_DISTDIR}/$$file is a broken symlink."; \ - ${ECHO_MSG} "=> Perhaps a filesystem (most likely a CD) isn't mounted?"; \ - ${ECHO_MSG} "=> Please correct this problem and try again."; \ - exit 1; \ - fi ; \ - ${ECHO_MSG} "=> $$file doesn't seem to exist in ${_DISTDIR}."; \ - if [ ! -z "$$select" ] ; then \ - __PATCH_SITES_TMP= ; \ - for group in $$select; do \ - if [ ! -z \$${_PATCH_SITES_$${group}} ] ; then \ - eval ___PATCH_SITES_TMP="\$${_PATCH_SITES_$${group}}" ; \ - __PATCH_SITES_TMP="$${__PATCH_SITES_TMP} $${___PATCH_SITES_TMP}" ; \ - fi \ - done; \ - ___PATCH_SITES_TMP= ; \ - SORTED_PATCH_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ - else \ - SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}" ; \ - fi ; \ - for site in `eval $$SORTED_PATCH_SITES_CMD_TMP`; do \ - ${ECHO_MSG} "=> Attempting to fetch from $${site}."; \ - DIR=${DIST_SUBDIR}; \ - pattern="$${DIR:+$$DIR/}`${ECHO_CMD} $$file | ${SED} -e 's/\./\\\\./g'`"; \ - CKSIZE=`${GREP} "^SIZE ($$pattern)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \ - case $${file} in \ - */*) ${MKDIR} $${file%/*}; \ - args="-o $${file} $${site}$${file}";; \ - *) args=$${site}$${file};; \ - esac; \ - if ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} ${FETCH_AFTER_ARGS}; then \ - continue 2; \ - fi \ - done; \ - ${ECHO_MSG} "=> Couldn't fetch it - please try to retrieve this";\ - ${ECHO_MSG} "=> port manually into ${_DISTDIR} and try again."; \ - exit 1; \ - fi \ - done) -.endif -.endif - -# Extract - -.if !target(do-extract) -do-extract: - @${RM} -rf ${WRKDIR} - @${MKDIR} ${WRKDIR} - @for file in ${EXTRACT_ONLY}; do \ - if ! (cd ${WRKDIR} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/$$file ${EXTRACT_AFTER_ARGS});\ - then \ - exit 1; \ - fi \ - done -.if !defined(EXTRACT_PRESERVE_OWNERSHIP) - @if [ `${ID} -u` = 0 ]; then \ - ${CHMOD} -R ug-s ${WRKDIR}; \ - ${CHOWN} -R 0:0 ${WRKDIR}; \ - fi -.endif -.endif - -# Patch - -.if !target(patch-dos2unix) -patch-dos2unix: -.if defined(USE_DOS2UNIX) -.if ${USE_DOS2UNIX:U}=="YES" - @${ECHO_MSG} "===> Converting DOS text files to UNIX text files" - @${FIND} -E ${WRKSRC} -type f -iregex '${DOS2UNIX_REGEX}' -print0 | \ - ${XARGS} -0 ${REINPLACE_CMD} -i '' -e 's/
$$//' -.else - @${ECHO_MSG} "===> Converting DOS text file to UNIX text file: ${f}" -.if ${USE_DOS2UNIX:M*/*} -.for f in ${USE_DOS2UNIX} - @${REINPLACE_CMD} -i '' -e 's/
$$//' ${WRKSRC}/${f} -.endfor -.else -.for f in ${USE_DOS2UNIX} - @${FIND} ${WRKSRC} -type f -name '${f}' -print0 | \ - ${XARGS} -0 ${REINPLACE_CMD} -i '' -e 's/
$$//' -.endfor -.endif -.endif -.else - @${DO_NADA} -.endif -.endif - -.if !target(do-patch) -do-patch: -.if defined(PATCHFILES) - @${ECHO_MSG} "===> Applying distribution patches for ${PKGNAME}" - @(cd ${_DISTDIR}; \ - for i in ${_PATCHFILES}; do \ - if [ ${PATCH_DEBUG_TMP} = yes ]; then \ - ${ECHO_MSG} "===> Applying distribution patch $$i" ; \ - fi; \ - case $$i in \ - *.Z|*.gz) \ - ${GZCAT} $$i | ${PATCH} ${PATCH_DIST_ARGS}; \ - ;; \ - *.bz2) \ - ${BZCAT} $$i | ${PATCH} ${PATCH_DIST_ARGS}; \ - ;; \ - *) \ - ${PATCH} ${PATCH_DIST_ARGS} < $$i; \ - ;; \ - esac; \ - done) -.endif -.if defined(EXTRA_PATCHES) - @for i in ${EXTRA_PATCHES}; do \ - ${ECHO_MSG} "===> Applying extra patch $$i"; \ - ${PATCH} ${PATCH_ARGS} < $$i; \ - done -.endif - @if [ -d ${PATCHDIR} ]; then \ - if [ "`${ECHO_CMD} ${PATCHDIR}/patch-*`" != "${PATCHDIR}/patch-*" ]; then \ - ${ECHO_MSG} "===> Applying ${OPSYS} patches for ${PKGNAME}" ; \ - PATCHES_APPLIED="" ; \ - for i in ${PATCHDIR}/patch-*; do \ - case $$i in \ - *.orig|*.rej|*~|*,v) \ - ${ECHO_MSG} "===> Ignoring patchfile $$i" ; \ - ;; \ - *) \ - if [ ${PATCH_DEBUG_TMP} = yes ]; then \ - ${ECHO_MSG} "===> Applying ${OPSYS} patch $$i" ; \ - fi; \ - if ${PATCH} ${PATCH_ARGS} < $$i ; then \ - PATCHES_APPLIED="$$PATCHES_APPLIED $$i" ; \ - else \ - ${ECHO_MSG} `${ECHO_CMD} "=> Patch $$i failed to apply cleanly." | ${SED} "s|${PATCHDIR}/||"` ; \ - if [ x"$$PATCHES_APPLIED" != x"" ]; then \ - ${ECHO_MSG} `${ECHO_CMD} "=> Patch(es) $$PATCHES_APPLIED applied cleanly." | ${SED} "s|${PATCHDIR}/||g"` ; \ - fi; \ - ${FALSE} ; \ - fi; \ - ;; \ - esac; \ - done; \ - fi; \ - fi -.endif - -.if !target(run-autotools) -run-autotools: - @${DO_NADA} -.endif - -# Configure - -.if !target(do-configure) -do-configure: - @if [ -f ${SCRIPTDIR}/configure ]; then \ - cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \ - ${SCRIPTDIR}/configure; \ - fi -.if defined(GNU_CONFIGURE) - @CONFIG_GUESS_DIRS=$$(${FIND} ${WRKDIR} -name config.guess -o -name config.sub \ - | ${XARGS} -n 1 ${DIRNAME}); \ - for _D in $${CONFIG_GUESS_DIRS}; do \ - ${CP} -f ${TEMPLATES}/config.guess $${_D}/config.guess; \ - ${CHMOD} a+rx $${_D}/config.guess; \ - ${CP} -f ${TEMPLATES}/config.sub $${_D}/config.sub; \ - ${CHMOD} a+rx $${_D}/config.sub; \ - done -.endif -.if defined(HAS_CONFIGURE) - @(cd ${CONFIGURE_WRKSRC} && \ - if ! ${SETENV} CC="${CC}" CXX="${CXX}" \ - CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \ - INSTALL="/usr/bin/install -c ${_BINOWNGRP}" \ - INSTALL_DATA="${INSTALL_DATA}" \ - INSTALL_PROGRAM="${INSTALL_PROGRAM}" \ - INSTALL_SCRIPT="${INSTALL_SCRIPT}" \ - ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}; then \ - ${ECHO_CMD} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \ - (${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT} 75 79 ; \ - ${FALSE}; \ - fi) -.endif -.if defined(PERL_CONFIGURE) - @cd ${CONFIGURE_WRKSRC} && \ - ${SETENV} ${CONFIGURE_ENV} \ - ${PERL5} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS} -.if !defined(PERL_MODBUILD) - @cd ${CONFIGURE_WRKSRC} && \ - ${PERL5} -pi -e 's/ doc_(perl|site|\$$\(INSTALLDIRS\))_install$$//' Makefile -.if ${PERL_LEVEL} <= 500503 - @cd ${CONFIGURE_WRKSRC} && \ - ${PERL5} -pi -e 's/^(INSTALLSITELIB|INSTALLSITEARCH|SITELIBEXP|SITEARCHEXP|INSTALLMAN1DIR|INSTALLMAN3DIR) = \/usr\/local/$$1 = \$$(PREFIX)/' Makefile -.endif -.endif -.endif -.if defined(USE_IMAKE) - @(cd ${CONFIGURE_WRKSRC}; ${SETENV} ${MAKE_ENV} ${XMKMF}) -.endif -.endif - -# Build - -.if !target(do-build) -do-build: -.if defined(USE_GMAKE) - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) -.else -.if defined(PERL_MODBUILD) - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PERL5} ${PL_BUILD} ${MAKE_ARGS} ${ALL_TARGET}) -.else - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) -.endif -.endif -.endif - -# Check conflicts - -.if !target(check-conflicts) -check-conflicts: -.if defined(CONFLICTS) && !defined(DISABLE_CONFLICTS) - @found=`${PKG_INFO} -I ${CONFLICTS:C/.+/'&'/} 2>/dev/null | ${AWK} '{print $$1}'`; \ - conflicts_with=; \ - for entry in $${found}; do \ - if ${PKG_INFO} -e $${entry} ; then \ - prfx=`${PKG_INFO} -q -p "$${entry}" 2> /dev/null | ${SED} -ne '1s/^@cwd //p'`; \ - orgn=`${PKG_INFO} -q -o "$${entry}" 2> /dev/null`; \ - if [ "/${PREFIX}" = "/$${prfx}" -a "/${PKGORIGIN}" != "/$${orgn}" ]; then \ - conflicts_with="$${conflicts_with} $${entry}"; \ - fi; \ - fi; \ - done; \ - if [ -n "$${conflicts_with}" ]; then \ - ${ECHO_MSG}; \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s): "; \ - else \ - ${ECHO_MSG} "===> ${PKGNAME} conflicts with installed package(s) in ${DESTDIR}: "; \ - fi; \ - for entry in $${conflicts_with}; do \ - ${ECHO_MSG} " $${entry}"; \ - done; \ - ${ECHO_MSG}; \ - ${ECHO_MSG} " They install files into the same place."; \ - ${ECHO_MSG} " Please remove them first with pkg_delete(1)."; \ - exit 1; \ - fi -.endif # CONFLICTS -.endif - -# Install - -.if !target(do-install) -do-install: -.if defined(USE_GMAKE) - @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) -.if defined(USE_IMAKE) && !defined(NO_INSTALL_MANPAGES) - @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} install.man) -.endif -.else # !defined(USE_GMAKE) -.if defined(PERL_MODBUILD) - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PERL5} ${PL_BUILD} ${MAKE_ARGS} ${INSTALL_TARGET}) -.else - @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) -.if defined(USE_IMAKE) && !defined(NO_INSTALL_MANPAGES) - @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} install.man) -.endif -.endif -.endif -.endif - -# Package - -.if !target(do-package) -do-package: ${TMPPLIST} - @if [ -d ${PACKAGES} ]; then \ - if [ ! -d ${PKGREPOSITORY} ]; then \ - if ! ${MKDIR} ${PKGREPOSITORY}; then \ - ${ECHO_MSG} "=> Can't create directory ${PKGREPOSITORY}."; \ - exit 1; \ - fi; \ - fi; \ - fi - @__softMAKEFLAGS='${__softMAKEFLAGS:S/'/'\''/g}'; \ - _LATE_PKG_ARGS=""; \ - if [ -f ${PKGINSTALL} ]; then \ - _LATE_PKG_ARGS="$${_LATE_PKG_ARGS} -i ${PKGINSTALL}"; \ - fi; \ - if [ -f ${PKGDEINSTALL} ]; then \ - _LATE_PKG_ARGS="$${_LATE_PKG_ARGS} -k ${PKGDEINSTALL}"; \ - fi; \ - if [ -f ${PKGREQ} ]; then \ - _LATE_PKG_ARGS="$${_LATE_PKG_ARGS} -r ${PKGREQ}"; \ - fi; \ - if [ -f ${PKGMESSAGE} ]; then \ - _LATE_PKG_ARGS="$${_LATE_PKG_ARGS} -D ${PKGMESSAGE}"; \ - fi; \ - if ${PKG_CMD} ${PKG_ARGS} ${PKGFILE}; then \ - if [ -d ${PACKAGES} ]; then \ - cd ${.CURDIR} && eval ${MAKE} $${__softMAKEFLAGS} package-links; \ - fi; \ - else \ - cd ${.CURDIR} && eval ${MAKE} $${__softMAKEFLAGS} delete-package; \ - exit 1; \ - fi -.endif - -# Some support rules for do-package - -.if !target(package-links) -package-links: delete-package-links - @for cat in ${CATEGORIES}; do \ - if [ ! -d ${PACKAGES}/$$cat ]; then \ - if ! ${MKDIR} ${PACKAGES}/$$cat; then \ - ${ECHO_MSG} "=> Can't create directory ${PACKAGES}/$$cat."; \ - exit 1; \ - fi; \ - fi; \ - ${LN} -sf `${ECHO_CMD} $$cat | ${SED} -e 'sa[^/]*a..ag'`/${PKGREPOSITORYSUBDIR}/${PKGNAME}${PKG_SUFX} ${PACKAGES}/$$cat; \ - done -.if !defined(NO_LATEST_LINK) - @if [ ! -d ${PKGLATESTREPOSITORY} ]; then \ - if ! ${MKDIR} ${PKGLATESTREPOSITORY}; then \ - ${ECHO_MSG} "=> Can't create directory ${PKGLATESTREPOSITORY}."; \ - exit 1; \ - fi; \ - fi - @${LN} -s ../${PKGREPOSITORYSUBDIR}/${PKGNAME}${PKG_SUFX} ${PKGLATESTFILE} -.endif -.endif - -.if !target(delete-package-links) -delete-package-links: - @for cat in ${CATEGORIES}; do \ - ${RM} -f ${PACKAGES}/$$cat/${PKGNAME}${PKG_SUFX}; \ - done -.if !defined(NO_LATEST_LINK) - @${RM} -f ${PKGLATESTFILE} -.endif -.endif - -.if !target(delete-package) -delete-package: delete-package-links - @${RM} -f ${PKGFILE} -.endif - -.if !target(delete-package-links-list) -delete-package-links-list: - @for cat in ${CATEGORIES}; do \ - ${ECHO_CMD} ${RM} -f ${PACKAGES}/$$cat/${PKGNAME}${PKG_SUFX}; \ - done -.if !defined(NO_LATEST_LINK) - @${ECHO_CMD} ${RM} -f ${PKGLATESTFILE} -.endif -.endif - -.if !target(delete-package-list) -delete-package-list: delete-package-links-list - @${ECHO_CMD} "[ -f ${PKGFILE} ] && (${ECHO_CMD} deleting ${PKGFILE}; ${RM} -f ${PKGFILE})" -.endif - -# Utility targets follow - -.if !target(check-already-installed) -check-already-installed: -.if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER) -.if !defined(DESTDIR) - @${ECHO_MSG} "===> Checking if ${PKGORIGIN} already installed" -.else - @${ECHO_MSG} "===> Checking if ${PKGORIGIN} already installed in ${DESTDIR}" -.endif - @${MKDIR} ${PKG_DBDIR}; \ - already_installed=`${PKG_INFO} -q -O ${PKGORIGIN}`; \ - if [ -n "$${already_installed}" ]; then \ - for p in $${already_installed}; do \ - prfx=`${PKG_INFO} -q -p $${p} 2> /dev/null | ${SED} -ne '1s|^@cwd ||p'`; \ - if [ "x${PREFIX}" = "x$${prfx}" ]; then \ - df=`${PKG_INFO} -q -f $${p} 2> /dev/null | ${GREP} -v "^@" | ${COMM} -12 - ${TMPPLIST}`; \ - if [ -n "$${df}" ]; then \ - found_package=$${p}; \ - break; \ - fi; \ - fi; \ - done; \ - fi ; \ - if [ -d ${PKG_DBDIR}/${PKGNAME} -o -n "$${found_package}" ]; then \ - if [ -d ${PKG_DBDIR}/${PKGNAME} ]; then \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_CMD} "===> ${PKGNAME} is already installed"; \ - else \ - ${ECHO_MSG} "===> ${PKGNAME} is already installed in ${DESTDIR}"; \ - fi; \ - else \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_CMD} "===> An older version of ${PKGORIGIN} is already installed ($${found_package})"; \ - else \ - ${ECHO_MSG} "===> An older version of ${PKGORIGIN} is already installed in ${DESTDIR} ($${found_package})"; \ - fi; \ - fi; \ - ${ECHO_CMD} " You may wish to \`\`make deinstall'' and install this port again"; \ - ${ECHO_CMD} " by \`\`make reinstall'' to upgrade it properly."; \ - ${ECHO_CMD} " If you really wish to overwrite the old port of ${PKGORIGIN}"; \ - ${ECHO_CMD} " without deleting it first, set the variable \"FORCE_PKG_REGISTER\""; \ - ${ECHO_CMD} " in your environment or the \"make install\" command line."; \ - exit 1; \ - fi -.else - @${DO_NADA} -.endif -.endif - -.if !target(check-umask) -check-umask: - @if [ `${SH} -c umask` != 0022 ]; then \ - ${ECHO_MSG} "===> Warning: your umask is \"`${SH} -c umask`"\".; \ - ${ECHO_MSG} " If this is not desired, set it to an appropriate value"; \ - ${ECHO_MSG} " and install this port again by \`\`make reinstall''."; \ - fi -.endif - -.if !target(install-mtree) -install-mtree: - @${MKDIR} ${TARGETDIR} - @if [ `${ID} -u` != 0 ]; then \ - if [ -w ${TARGETDIR}/ ]; then \ - ${ECHO_MSG} "Warning: not superuser, you may get some errors during installation."; \ - else \ - ${ECHO_MSG} "Error: ${TARGETDIR}/ not writable."; \ - ${FALSE}; \ - fi; \ - fi -.if !defined(NO_MTREE) - @if [ `${ID} -u` = 0 ]; then \ - if [ ! -f ${MTREE_FILE} ]; then \ - ${ECHO_CMD} "Error: mtree file \"${MTREE_FILE}\" is missing."; \ - ${ECHO_CMD} "Copy it from a suitable location (e.g., /usr/src/etc/mtree) and try again."; \ - exit 1; \ - else \ - ${MTREE_CMD} ${MTREE_ARGS} ${TARGETDIR}/ >/dev/null; \ - if [ ${MTREE_FILE} = "/etc/mtree/BSD.local.dist" ]; then \ - cd ${TARGETDIR}/share/nls; \ - ${LN} -shf C POSIX; \ - ${LN} -shf C en_US.US-ASCII; \ - fi; \ - fi; \ - else \ - ${ECHO_MSG} "Warning: not superuser, can't run mtree."; \ - ${ECHO_MSG} "You may want to become root and try again to ensure correct permissions."; \ - fi -.endif -.endif - -.if !target(install-ldconfig-file) -install-ldconfig-file: -.if defined(USE_LDCONFIG) || defined(USE_LDCONFIG32) || defined(INSTALLS_SHLIB) -.if defined(USE_LDCONFIG) -.if !defined(INSTALL_AS_USER) -.if !defined(DESTDIR) - @${ECHO_MSG} "===> Running ldconfig" - ${LDCONFIG} -m ${USE_LDCONFIG} -.else - @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR}" - ${CHROOT} ${DESTDIR} ${LDCONFIG} -m ${USE_LDCONFIG} -.endif -.else -.if !defined(DESTDIR) - @${ECHO_MSG} "===> Running ldconfig (errors are ignored)" - -${LDCONFIG} -m ${USE_LDCONFIG} -.else - @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR} (errors are ignored)" - ${CHROOT} ${DESTDIR} -${LDCONFIG} -m ${USE_LDCONFIG} -.endif -.endif -.if ${USE_LDCONFIG} != "${PREFIX}/lib" - @${ECHO_MSG} "===> Installing ldconfig configuration file" -.if defined(NO_LDCONFIG_MTREE) - @${MKDIR} ${PREFIX}/${LDCONFIG_DIR} -.endif - @${ECHO_CMD} ${USE_LDCONFIG} | ${TR} ' ' '\n' \ - > ${PREFIX}/${LDCONFIG_DIR}/${UNIQUENAME} - @${ECHO_CMD} "@cwd" >> ${TMPPLIST} - @${ECHO_CMD} ${LDCONFIG_DIR}/${UNIQUENAME} >> ${TMPPLIST} -.if defined(NO_LDCONFIG_MTREE) - @${ECHO_CMD} "@unexec rmdir ${LDCONFIG_DIR} >/dev/null 2>&1 || true" >> ${TMPPLIST} -.endif -.endif -.endif -.if defined(USE_LDCONFIG32) -.if !defined(INSTALL_AS_USER) -.if !defined(DESTDIR) - @${ECHO_MSG} "===> Running ldconfig" - ${LDCONFIG} -32 -m ${USE_LDCONFIG32} -.else - @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR}" - ${CHROOT} ${DESTDIR} ${LDCONFIG} -32 -m ${USE_LDCONFIG32} -.endif -.else -.if !defined(DESTDIR) - @${ECHO_MSG} "===> Running ldconfig (errors are ignored)" - -${LDCONFIG} -32 -m ${USE_LDCONFIG32} -.else - @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR} (errors are ignored)" - ${CHROOT} ${DESTDIR} -${LDCONFIG} -32 -m ${USE_LDCONFIG32} -.endif -.endif - @${ECHO_MSG} "===> Installing 32-bit ldconfig configuration file" -.if defined(NO_LDCONFIG_MTREE) - @${MKDIR} ${PREFIX}/${LDCONFIG_32DIR} -.endif - @${ECHO_CMD} ${USE_LDCONFIG32} | ${TR} ' ' '\n' \ - > ${PREFIX}/${LDCONFIG32_DIR}/${UNIQUENAME} - @${ECHO_CMD} "@cwd" >> ${TMPPLIST} - @${ECHO_CMD} ${LDCONFIG32_DIR}/${UNIQUENAME} >> ${TMPPLIST} -.if defined(NO_LDCONFIG_MTREE) - @${ECHO_CMD} "@unexec rmdir ${LDCONFIG32_DIR} >/dev/null 2>&1" >> ${TMPPLIST} -.endif -.endif -# This can be removed once all ports have been converted to USE_LDCONFIG. -.if defined(INSTALLS_SHLIB) -.if !defined(INSTALL_AS_USER) -.if !defined(DESTDIR) - @${ECHO_MSG} "===> Running ldconfig" -.else - @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR}" -.endif - ${LDCONFIG_CMD} -.else -.if !defined(DESTDIR) - @${ECHO_MSG} "===> Running ldconfig (errors are ignored)" -.else - @${ECHO_MSG} "===> Running ldconfig in ${DESTDIR} (errors are ignored)" -.endif - -${LDCONFIG_CMD} -.endif -.endif -.else - @${DO_NADA} -.endif -.endif - -.if !target(security-check) -.if !defined(OLD_SECURITY_CHECK) - -security-check: -# Scan PLIST for: -# 1. setugid files -# 2. accept()/recvfrom() which indicates network listening capability -# 3. insecure functions (gets/mktemp/tempnam/[XXX]) -# 4. startup scripts, in conjunction with 2. -# 5. world-writable files/dirs -# - -@${RM} -f ${WRKDIR}/.PLIST.setuid ${WRKDIR}/.PLIST.writable ${WRKDIR}/.PLIST.objdump; \ - ${AWK} -v prefix='${PREFIX}' ' \ - match($$0, /^@cwd /) { prefix = substr($$0, RSTART + RLENGTH); if (prefix == "/") prefix=""; next; } \ - /^@/ { next; } \ - /^\// { print; next; } \ - { print prefix "/" $$0; } \ - ' ${TMPPLIST} > ${WRKDIR}/.PLIST.flattened; \ - ${TR} '\n' '\0' < ${WRKDIR}/.PLIST.flattened \ - | ${XARGS} -0 -J % ${FIND} % -prune ! -type l -type f \( -perm -4000 -o -perm -2000 \) \( -perm -0010 -o -perm -0001 \) 2> /dev/null > ${WRKDIR}/.PLIST.setuid; \ - ${TR} '\n' '\0' < ${WRKDIR}/.PLIST.flattened \ - | ${XARGS} -0 -J % ${FIND} % -prune -perm -0002 \! -type l 2> /dev/null > ${WRKDIR}/.PLIST.writable; \ - ${TR} '\n' '\0' < ${WRKDIR}/.PLIST.flattened \ - | ${XARGS} -0 -J % ${FIND} % -prune ! -type l -type f -print0 2> /dev/null \ - | ${XARGS} -0 -n 1 ${OBJDUMP} -R 2> /dev/null > ${WRKDIR}/.PLIST.objdump; \ - if \ - ! ${AWK} -v audit="$${PORTS_AUDIT}" -v destdir="${DESTDIR}" -f ${PORTSDIR}/Tools/scripts/security-check.awk \ - ${WRKDIR}/.PLIST.flattened ${WRKDIR}/.PLIST.objdump ${WRKDIR}/.PLIST.setuid ${WRKDIR}/.PLIST.writable; \ - then \ - www_site=$$(cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} www-site); \ - if [ ! -z "$${www_site}" ]; then \ - ${ECHO_MSG}; \ - ${ECHO_MSG} " For more information, and contact details about the security"; \ - ${ECHO_MSG} " status of this software, see the following webpage: "; \ - ${ECHO_MSG} "$${www_site}"; \ - fi; \ - fi - - -.else # i.e. defined(OLD_SECURITY_CHECK) - -security-check: -# Scan PLIST for: -# 1. setugid files -# 2. accept()/recvfrom() which indicates network listening capability -# 3. insecure functions (gets/mktemp/tempnam/[XXX]) -# 4. startup scripts, in conjunction with 2. -# 5. world-writable files/dirs -# - -@${RM} -f ${WRKDIR}/.PLIST.setuid ${WRKDIR}/.PLIST.stupid \ - ${WRKDIR}/.PLIST.network ${WRKDIR}/.PLIST.writable; \ - if [ -n "$$PORTS_AUDIT" ]; then \ - stupid_functions_regexp=' (gets|mktemp|tempnam|tmpnam|strcpy|strcat|sprintf)$$'; \ - else \ - stupid_functions_regexp=' (gets|mktemp|tempnam|tmpnam)$$'; \ - fi; \ - for i in `${GREP} -v '^@' ${TMPPLIST}`; do \ - if [ ! -L "${PREFIX}/$$i" -a -f "${PREFIX}/$$i" ]; then \ - ${OBJDUMP} -R ${PREFIX}/$$i > \ - ${WRKDIR}/.PLIST.objdump 2> /dev/null; \ - if [ -s ${WRKDIR}/.PLIST.objdump ] ; then \ - ${EGREP} " $$stupid_functions_regexp" \ - ${WRKDIR}/.PLIST.objdump | ${AWK} '{print " " $$3}' | ${TR} -d '\n' \ - > ${WRKDIR}/.PLIST.stupid; \ - if [ -n "`${EGREP} ' (accept|recvfrom)$$' ${WRKDIR}/.PLIST.objdump`" ] ; then \ - if [ -s ${WRKDIR}/.PLIST.stupid ]; then \ - ${ECHO_CMD} -n "${PREFIX}/$$i (USES POSSIBLY INSECURE FUNCTIONS:" >> ${WRKDIR}/.PLIST.network; \ - ${CAT} ${WRKDIR}/.PLIST.stupid >> ${WRKDIR}/.PLIST.network; \ - ${ECHO_CMD} ")" >> ${WRKDIR}/.PLIST.network; \ - else \ - ${ECHO_CMD} ${PREFIX}/$$i >> ${WRKDIR}/.PLIST.network; \ - fi; \ - fi; \ - fi; \ - if [ -n "`${FIND} ${PREFIX}/$$i -prune \( -perm -4000 -o -perm -2000 \) \( -perm -0010 -o -perm -0001 \) 2>/dev/null`" ]; then \ - if [ -s ${WRKDIR}/.PLIST.stupid ]; then \ - ${ECHO_CMD} -n "${PREFIX}/$$i (USES POSSIBLY INSECURE FUNCTIONS:" >> ${WRKDIR}/.PLIST.setuid; \ - ${CAT} ${WRKDIR}/.PLIST.stupid >> ${WRKDIR}/.PLIST.setuid; \ - ${ECHO_CMD} ")" >> ${WRKDIR}/.PLIST.setuid; \ - else \ - ${ECHO_CMD} ${PREFIX}/$$i >> ${WRKDIR}/.PLIST.setuid; \ - fi; \ - fi; \ - fi; \ - if [ ! -L "${PREFIX}/$$i" ]; then \ - if [ -n "`${FIND} ${PREFIX}/$$i -prune -perm -0002 \! -type l 2>/dev/null`" ]; then \ - ${ECHO_CMD} ${PREFIX}/$$i >> ${WRKDIR}/.PLIST.writable; \ - fi; \ - fi; \ - done; \ - ${GREP} '^etc/rc.d/' ${TMPPLIST} > ${WRKDIR}/.PLIST.startup; \ - if [ -s ${WRKDIR}/.PLIST.setuid -o -s ${WRKDIR}/.PLIST.network -o -s ${WRKDIR}/.PLIST.writable ]; then \ - if [ -n "$$PORTS_AUDIT" ]; then \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> SECURITY REPORT (PARANOID MODE): "; \ - else \ - ${ECHO_MSG} "===> SECURITY REPORT FOR ${DESTDIR} (PARANOID MODE): "; \ - fi; \ - else \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> SECURITY REPORT: "; \ - else \ - ${ECHO_MSG} "===> SECURITY REPORT FOR ${DESTDIR}: "; \ - fi; \ - fi; \ - if [ -s ${WRKDIR}/.PLIST.setuid ] ; then \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} " This port has installed the following binaries,"; \ - else \ - ${ECHO_MSG} " This port has installed the following binaries into ${DESTDIR},"; \ - fi; \ - ${ECHO_MSG} " which execute with increased privileges."; \ - ${CAT} ${WRKDIR}/.PLIST.setuid; \ - ${ECHO_MSG}; \ - fi; \ - if [ -s ${WRKDIR}/.PLIST.network ] ; then \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} " This port has installed the following files, which may act as network"; \ - ${ECHO_MSG} " servers and may therefore pose a remote security risk to the system."; \ - else \ - ${ECHO_MSG} " This port has installed the following files into ${DESTDIR}, which may"; \ - ${ECHO_MSG} " act as network servers and may therefore pose a remote security risk to"; \ - ${ECHO_MSG} " the system."; \ - fi; \ - ${CAT} ${WRKDIR}/.PLIST.network; \ - ${ECHO_MSG}; \ - if [ -s ${WRKDIR}/.PLIST.startup ] ; then \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} " This port has installed the following startup scripts,"; \ - else \ - ${ECHO_MSG} " This port has installed the following startup scripts into ${DESTDIR},"; \ - fi; \ - ${ECHO_MSG} " which may cause these network services to be started at boot time."; \ - ${SED} s,^,${PREFIX}/, < ${WRKDIR}/.PLIST.startup; \ - ${ECHO_MSG}; \ - fi; \ - fi; \ - if [ -s ${WRKDIR}/.PLIST.writable ] ; then \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} " This port has installed the following world-writable files/directories."; \ - else \ - ${ECHO_MSG} " This port has installed the following world-writable files/directories"; \ - ${ECHO_MSG} " into ${DESTDIR}."; \ - fi; \ - ${CAT} ${WRKDIR}/.PLIST.writable; \ - ${ECHO_MSG}; \ - fi; \ - ${ECHO_MSG} " If there are vulnerabilities in these programs there may be a security"; \ - ${ECHO_MSG} " risk to the system. The FreeBSD Project makes no guarantee about the"; \ - ${ECHO_MSG} " security of ports included in the Ports Collection."; \ - ${ECHO_MSG} " Please type 'make deinstall' to deinstall the port if this is a concern."; \ - www_site=$$(cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} www-site); \ - if [ ! -z "$${www_site}" ]; then \ - ${ECHO_MSG}; \ - ${ECHO_MSG} " For more information, and contact details about the security"; \ - ${ECHO_MSG} " status of this software, see the following webpage: "; \ - ${ECHO_MSG} "$${www_site}"; \ - fi; \ - fi -.endif # !defined(OLD_SECURITY_CHECK) -.endif - -################################################################ -# Skeleton targets start here -# -# You shouldn't have to change these. Either add the pre-* or -# post-* targets/scripts or redefine the do-* targets. These -# targets don't do anything other than checking for cookies and -# call the necessary targets/scripts. -################################################################ - -# Please note that the order of the following targets is important, and -# should not be modified. - -_SANITY_SEQ= pre-everything check-makefile check-categories \ - check-makevars check-desktop-entries check-depends \ - check-deprecated check-vulnerable buildanyway-message \ - options-message -_FETCH_DEP= check-sanity -_FETCH_SEQ= fetch-depends pre-fetch pre-fetch-script \ - do-fetch post-fetch post-fetch-script -_EXTRACT_DEP= fetch -_EXTRACT_SEQ= extract-message checksum extract-depends pre-extract \ - pre-extract-script do-extract \ - post-extract post-extract-script -_PATCH_DEP= extract -_PATCH_SEQ= patch-message patch-depends patch-dos2unix pre-patch \ - pre-patch-script do-patch post-patch post-patch-script -_CONFIGURE_DEP= patch -_CONFIGURE_SEQ= build-depends lib-depends configure-message \ - pre-configure pre-configure-script \ - run-autotools do-configure post-configure post-configure-script -_BUILD_DEP= configure -_BUILD_SEQ= build-message pre-build pre-build-script do-build \ - post-build post-build-script -_INSTALL_DEP= build -_INSTALL_SEQ= install-message check-conflicts \ - run-depends lib-depends apply-slist pre-install \ - pre-install-script generate-plist check-already-installed -_INSTALL_SUSEQ= check-umask install-mtree pre-su-install \ - pre-su-install-script do-install install-desktop-entries \ - post-install post-install-script add-plist-info \ - add-plist-docs add-plist-post install-rc-script compress-man \ - install-ldconfig-file fake-pkg security-check -_PACKAGE_DEP= install -_PACKAGE_SEQ= package-message pre-package pre-package-script \ - do-package post-package-script - -.if !target(check-sanity) -check-sanity: ${_SANITY_SEQ} -.endif - -# XXX MCL might need to move in loop below? -.if !target(fetch) -fetch: ${_FETCH_DEP} ${_FETCH_SEQ} -.endif - -# Main logic. The loop generates 6 main targets and using cookies -# ensures that those already completed are skipped. - -.for target in extract patch configure build install package - -.if !target(${target}) && defined(_OPTIONS_OK) -${target}: ${${target:U}_COOKIE} -.elif !target(${target}) -${target}: config - @cd ${.CURDIR} && ${MAKE} CONFIG_DONE=1 ${__softMAKEFLAGS} ${${target:U}_COOKIE} -.elif target(${target}) && defined(IGNORE) -.endif - -.if !exists(${${target:U}_COOKIE}) - -.if ${UID} != 0 && defined(_${target:U}_SUSEQ) && !defined(INSTALL_AS_USER) -.if defined(USE_SUBMAKE) -${${target:U}_COOKIE}: ${_${target:U}_DEP} - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} ${_${target:U}_SEQ} -.else -${${target:U}_COOKIE}: ${_${target:U}_DEP} ${_${target:U}_SEQ} -.endif - @${ECHO_MSG} "===> Switching to root credentials for '${target}' target" - @cd ${.CURDIR} && \ - ${SU_CMD} "${MAKE} ${__softMAKEFLAGS} ${_${target:U}_SUSEQ}" - @${ECHO_MSG} "===> Returning to user credentials" - @${TOUCH} ${TOUCH_FLAGS} ${.TARGET} -.elif defined(USE_SUBMAKE) -${${target:U}_COOKIE}: ${_${target:U}_DEP} - @cd ${.CURDIR} && \ - ${MAKE} ${__softMAKEFLAGS} ${_${target:U}_SEQ} ${_${target:U}_SUSEQ} - @${TOUCH} ${TOUCH_FLAGS} ${.TARGET} -.else -${${target:U}_COOKIE}: ${_${target:U}_DEP} ${_${target:U}_SEQ} ${_${target:U}_SUSEQ} - @${TOUCH} ${TOUCH_FLAGS} ${.TARGET} -.endif - -.else -${${target:U}_COOKIE}:: - @if [ -e ${.TARGET} ]; then \ - ${DO_NADA}; \ - else \ - cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} ${.TARGET}; \ - fi -.endif - -.endfor - -# Enforce order for -jN builds - -.ORDER: ${_SANITY_SEQ} -.ORDER: ${_FETCH_DEP} ${_FETCH_SEQ} -.ORDER: ${_EXTRACT_DEP} ${_EXTRACT_SEQ} -.ORDER: ${_PATCH_DEP} ${_PATCH_SEQ} -.ORDER: ${_CONFIGURE_DEP} ${_CONFIGURE_SEQ} -.ORDER: ${_BUILD_DEP} ${_BUILD_SEQ} -.ORDER: ${_INSTALL_DEP} ${_INSTALL_SEQ} -.ORDER: ${_PACKAGE_DEP} ${_PACKAGE_SEQ} - -extract-message: - @${ECHO_MSG} "===> Extracting for ${PKGNAME}" -patch-message: - @${ECHO_MSG} "===> Patching for ${PKGNAME}" -configure-message: - @${ECHO_MSG} "===> Configuring for ${PKGNAME}" -build-message: - @${ECHO_MSG} "===> Building for ${PKGNAME}" -install-message: -.if !defined(DESTDIR) - @${ECHO_MSG} "===> Installing for ${PKGNAME}" -.else - @${ECHO_MSG} "===> Installing for ${PKGNAME} into ${DESTDIR}" -.endif -package-message: - @${ECHO_MSG} "===> Building package for ${PKGNAME}" - -# Empty pre-* and post-* targets - -.for stage in pre post -.for name in check-sanity fetch extract patch configure build install package - -.if !target(${stage}-${name}) -${stage}-${name}: - @${DO_NADA} -.endif - -.if !target(${stage}-${name}-script) -${stage}-${name}-script: - @if [ -f ${SCRIPTDIR}/${.TARGET:S/-script$//} ]; then \ - cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \ - ${SCRIPTDIR}/${.TARGET:S/-script$//}; \ - fi -.endif - -.endfor -.endfor - -# Special cases for su -.if !target(pre-su-install) -pre-su-install: - @${DO_NADA} -.endif - -.if !target(pre-su-install-script) -pre-su-install-script: - @${DO_NADA} -.endif - - -.if !target(pretty-print-www-site) -pretty-print-www-site: - @www_site=$$(cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} www-site); \ - if [ -n "$${www_site}" ]; then \ - ${ECHO_CMD} -n " and/or visit the "; \ - ${ECHO_CMD} -n "<a href=\"$${www_site}\">web site</a>"; \ - ${ECHO_CMD} " for futher informations"; \ - fi -.endif - -################################################################ -# Some more targets supplied for users' convenience -################################################################ - -# Checkpatch -# -# Special target to verify patches - -.if !target(checkpatch) -checkpatch: - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} PATCH_CHECK_ONLY=yes ${_PATCH_DEP} ${_PATCH_SEQ} -.endif - -# Reinstall -# -# Special target to re-run install - -.if !target(reinstall) -reinstall: - @${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} - @cd ${.CURDIR} && DEPENDS_TARGET="${DEPENDS_TARGET}" ${MAKE} install -.endif - -# Deinstall -# -# Special target to remove installation - -.if !target(deinstall) -deinstall: -.if ${UID} != 0 && !defined(INSTALL_AS_USER) - @${ECHO_MSG} "===> Switching to root credentials for '${.TARGET}' target" - @cd ${.CURDIR} && \ - ${SU_CMD} "${MAKE} ${__softMAKEFLAGS} ${.TARGET}" - @${ECHO_MSG} "===> Returning to user credentials" -.else -.if !defined(DESTDIR) - @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN}" -.else - @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN} from ${DESTDIR}" -.endif - @found_names=`${PKG_INFO} -q -O ${PKGORIGIN}`; \ - for p in $${found_names}; do \ - check_name=`${ECHO_CMD} $${p} | ${SED} -e 's/-[^-]*$$//'`; \ - if [ "$${check_name}" = "${PKGBASE}" ]; then \ - prfx=`${PKG_INFO} -q -p $${p} 2> /dev/null | ${SED} -ne '1s|^@cwd ||p'`; \ - if [ "x${PREFIX}" = "x$${prfx}" ]; then \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> Deinstalling $${p}"; \ - else \ - ${ECHO_MSG} "===> Deinstalling $${p} from ${DESTDIR}"; \ - fi; \ - ${PKG_DELETE} -f $${p}; \ - else \ - ${ECHO_MSG} "===> $${p} has a different PREFIX: $${prfx}, skipping"; \ - fi; \ - fi; \ - done; \ - if [ -z "$${found_names}" ]; then \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> ${PKGBASE} not installed, skipping"; \ - else \ - ${ECHO_MSG} "===> ${PKGBASE} not installed in ${DESTDIR}, skipping"; \ - fi; \ - fi - @${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} -.endif -.endif - -# Deinstall-all -# -# Special target to remove installation of all ports of the same origin - -.if !target(deinstall-all) -deinstall-all: -.if ${UID} != 0 && !defined(INSTALL_AS_USER) - @${ECHO_MSG} "===> Switching to root credentials for '${.TARGET}' target" - @cd ${.CURDIR} && \ - ${SU_CMD} "${MAKE} ${__softMAKEFLAGS} ${.TARGET}" - @${ECHO_MSG} "===> Returning to user credentials" -.else -.if !defined(DESTDIR) - @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN}" -.else - @${ECHO_MSG} "===> Deinstalling for ${PKGORIGIN} from ${DESTDIR}" -.endif - @deinstall_names=`${PKG_INFO} -q -O ${PKGORIGIN}`; \ - if [ -n "$${deinstall_names}" ]; then \ - for d in $${deinstall_names}; do \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> Deinstalling $${d}"; \ - else \ - ${ECHO_MSG} "===> Deinstalling $${d} from ${DESTDIR}"; \ - fi; \ - ${PKG_DELETE} -f $${d}; \ - done; \ - else \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> ${PKGORIGIN} not installed, skipping"; \ - else \ - ${ECHO_MSG} "===> ${PKGORIGIN} not installed in ${DESTDIR}, skipping"; \ - fi; \ - fi; \ - ${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} -.endif -.endif - -# Cleaning up - -.if !target(do-clean) -do-clean: - @if [ -d ${WRKDIR} ]; then \ - if [ -w ${WRKDIR} ]; then \ - ${RM} -rf ${WRKDIR}; \ - else \ - ${ECHO_MSG} "===> ${WRKDIR} not writable, skipping"; \ - fi; \ - fi -.endif - -.if !target(clean) -clean: -.if !defined(NOCLEANDEPENDS) - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} clean-depends -.endif - @${ECHO_MSG} "===> Cleaning for ${PKGNAME}" -.if target(pre-clean) - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} pre-clean -.endif - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} do-clean -.if target(post-clean) - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} post-clean -.endif -.endif - -.if !target(pre-distclean) -pre-distclean: - @${DO_NADA} -.endif - -.if !target(distclean) -distclean: pre-distclean clean - @cd ${.CURDIR} && ${MAKE} delete-distfiles RESTRICTED_FILES="${_DISTFILES} ${_PATCHFILES}" -.endif - -.if !target(delete-distfiles) -delete-distfiles: - @${ECHO_MSG} "===> Deleting distfiles for ${PKGNAME}" - @(if [ "X${RESTRICTED_FILES}" != "X" -a -d ${_DISTDIR} ]; then \ - cd ${_DISTDIR}; \ - for file in ${RESTRICTED_FILES}; do \ - ${RM} -f $${file}; \ - dir=$${file%/*}; \ - if [ "$${dir}" != "$${file}" ]; then \ - ${RMDIR} -p $${dir} >/dev/null 2>&1 || :; \ - fi; \ - done; \ - fi) -.if defined(DIST_SUBDIR) - -@${RMDIR} ${_DISTDIR} >/dev/null 2>&1 || ${TRUE} -.endif -.endif - -.if !target(delete-distfiles-list) -delete-distfiles-list: - @${ECHO_CMD} "# ${PKGNAME}" - @if [ "X${RESTRICTED_FILES}" != "X" ]; then \ - for file in ${RESTRICTED_FILES}; do \ - ${ECHO_CMD} "[ -f ${_DISTDIR}/$$file ] && (${ECHO_CMD} deleting ${_DISTDIR}/$$file; ${RM} -f ${_DISTDIR}/$$file)"; \ - dir=$${file%/*}; \ - if [ "$${dir}" != "$${file}" ]; then \ - ${ECHO_CMD} "(cd ${_DISTDIR} && ${RMDIR} -p $${dir} 2>/dev/null)"; \ - fi; \ - done; \ - fi -.if defined(DIST_SUBDIR) - @${ECHO_CMD} "${RMDIR} ${_DISTDIR} 2>/dev/null || ${TRUE}" -.endif -.endif - -# Prints out a list of files to fetch (useful to do a batch fetch) - -.if !target(fetch-list) -fetch-list: - @${MKDIR} ${_DISTDIR} - @(cd ${_DISTDIR}; \ - ${_MASTER_SITES_ENV} ; \ - for _file in ${DISTFILES}; do \ - file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \ - select=`${ECHO_CMD} $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \ - if [ ! -f $$file -a ! -f `${BASENAME} $$file` ]; then \ - if [ ! -z "$$select" ] ; then \ - __MASTER_SITES_TMP= ; \ - for group in $$select; do \ - if [ ! -z \$${_MASTER_SITES_$${group}} ] ; then \ - eval ___MASTER_SITES_TMP=\$${_MASTER_SITES_$${group}} ; \ - __MASTER_SITES_TMP="$${__MASTER_SITES_TMP} $${___MASTER_SITES_TMP}" ; \ - fi \ - done; \ - ___MASTER_SITES_TMP= ; \ - SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ - else \ - SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \ - fi ; \ - for site in `eval $$SORTED_MASTER_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \ - if [ ! -z "`${ECHO_CMD} ${NOFETCHFILES} | ${GREP} -w $${file}`" ]; then \ - if [ -z "`${ECHO_CMD} ${MASTER_SITE_OVERRIDE} | ${GREP} -w $${site}`" ]; then \ - continue; \ - fi; \ - fi; \ - DIR=${DIST_SUBDIR}; \ - CKSIZE=`${GREP} "^SIZE ($${DIR:+$$DIR/}$$file)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \ - case $${file} in \ - */*) args="-o $${file} $${site}$${file}";; \ - *) args=$${site}$${file};; \ - esac; \ - ${ECHO_CMD} -n ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| ' ; \ - done; \ - ${ECHO_CMD} "${ECHO_CMD} $${file} not fetched" ; \ - fi \ - done) -.if defined(PATCHFILES) - @(cd ${_DISTDIR}; \ - ${_PATCH_SITES_ENV} ; \ - for _file in ${PATCHFILES}; do \ - file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \ - select=`${ECHO_CMD} $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \ - if [ ! -f $$file -a ! -f `${BASENAME} $$file` ]; then \ - if [ ! -z "$$select" ] ; then \ - __PATCH_SITES_TMP= ; \ - for group in $$select; do \ - if [ ! -z \$${_PATCH_SITES_$${group}} ] ; then \ - eval ___PATCH_SITES_TMP=\$${_PATCH_SITES_$${group}} ; \ - __PATCH_SITES_TMP="$${__PATCH_SITES_TMP} $${___PATCH_SITES_TMP}" ; \ - fi \ - done; \ - ___PATCH_SITES_TMP= ; \ - SORTED_PATCH_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \ - else \ - SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}" ; \ - fi ; \ - for site in `eval $$SORTED_PATCH_SITES_CMD_TMP ${_RANDOMIZE_SITES}`; do \ - DIR=${DIST_SUBDIR}; \ - CKSIZE=`${GREP} "^SIZE ($${DIR:+$$DIR/}$$file)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \ - case $${file} in \ - */*) args="-o $${file} $${site}$${file}";; \ - *) args=$${site}$${file};; \ - esac; \ - ${ECHO_CMD} -n ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| ' ; \ - done; \ - ${ECHO_CMD} "${ECHO_CMD} $${file} not fetched" ; \ - fi \ - done) -.endif -.endif - -# Generates patches. - -update-patches: - @toedit=`PATCH_WRKSRC=${PATCH_WRKSRC} \ - PATCHDIR=${PATCHDIR} \ - PATCH_LIST=${PATCHDIR}/patch-* \ - DIFF_ARGS=${DIFF_ARGS} \ - DISTORIG=${DISTORIG} \ - ${SH} ${PORTSDIR}/Tools/scripts/update-patches`; \ - case $$toedit in "");; \ - *) ${ECHO_CMD} -n 'edit patches: '; read i; \ - cd ${PATCHDIR} && $${VISUAL:-$${EDIT:-/usr/bin/vi}} $$toedit;; esac - -# Checksumming utilities - -check-checksum-algorithms: - @ \ - ${checksum_init} \ - \ - for alg in ${CHECKSUM_ALGORITHMS:U}; do \ - eval alg_executable=\$$$$alg; \ - if [ -z "$$alg_executable" ]; then \ - ${ECHO_CMD} "Checksum algorithm $$alg: Couldn't find the executable."; \ - ${ECHO_CMD} "Set $$alg=/path/to/$$alg in /etc/make.conf and try again."; \ - exit 1; \ - fi; \ - done; \ - -checksum_init=\ - SHA256=${SHA256}; \ - MD5=${MD5}; - -.if !target(makesum) -makesum: check-checksum-algorithms - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} fetch NO_CHECKSUM=yes \ - DISABLE_SIZE=yes - @if [ -f ${MD5_FILE} ]; then ${CAT} /dev/null > ${MD5_FILE}; fi - @( \ - cd ${DISTDIR}; \ - \ - ${checksum_init} \ - \ - for file in ${_CKSUMFILES}; do \ - for alg in ${CHECKSUM_ALGORITHMS:U}; do \ - eval alg_executable=\$$$$alg; \ - \ - if [ $$alg_executable != "NO" ]; then \ - $$alg_executable $$file >> ${MD5_FILE}; \ - fi; \ - done; \ - if [ -z "${NO_SIZE}" ]; then \ - ${ECHO_CMD} "SIZE ($$file) = "`${LS} -ALln $$file | ${AWK} '{print $$5}'` >> ${MD5_FILE}; \ - fi; \ - done \ - ) - @for file in ${_IGNOREFILES}; do \ - for alg in ${CHECKSUM_ALGORITHMS:U}; do \ - ${ECHO_CMD} "$$alg ($$file) = IGNORE" >> ${MD5_FILE}; \ - done; \ - done -.endif - -.if !target(checksum) -checksum: fetch check-checksum-algorithms - @ \ - \ - ${checksum_init} \ - \ - if [ -f ${MD5_FILE} ]; then \ - ( cd ${DISTDIR}; OK=""; \ - for file in ${_CKSUMFILES}; do \ - pattern="`${ECHO_CMD} $$file | ${SED} -e 's/\./\\\\./g'`"; \ - \ - ignored="true"; \ - for alg in ${CHECKSUM_ALGORITHMS:U}; do \ - ignore="false"; \ - eval alg_executable=\$$$$alg; \ - \ - if [ $$alg_executable != "NO" ]; then \ - MKSUM=`$$alg_executable < $$file`; \ - CKSUM=`${GREP} "^$$alg ($$pattern)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \ - else \ - ignore="true"; \ - fi; \ - \ - if [ $$ignore = "false" -a -z "$$CKSUM" ]; then \ - ${ECHO_MSG} "=> No $$alg checksum recorded for $$file."; \ - ignore="true"; \ - fi; \ - \ - if [ "$$CKSUM" = "IGNORE" ]; then \ - ${ECHO_MSG} "=> $$alg Checksum for $$file is set to IGNORE in distinfo file even though"; \ - ${ECHO_MSG} " the file is not in the "'$$'"{IGNOREFILES} list."; \ - ignore="true"; \ - OK=${FALSE}; \ - fi; \ - \ - if [ $$ignore = "false" ]; then \ - match="false"; \ - for chksum in $$CKSUM; do \ - if [ "$$chksum" = "$$MKSUM" ]; then \ - match="true"; \ - break; \ - fi; \ - done; \ - if [ $$match = "true" ]; then \ - ${ECHO_MSG} "=> $$alg Checksum OK for $$file."; \ - ignored="false"; \ - else \ - ${ECHO_MSG} "=> $$alg Checksum mismatch for $$file."; \ - refetchlist="$$refetchlist$$file "; \ - OK="$${OK:-retry}"; \ - ignored="false"; \ - fi; \ - fi; \ - done; \ - \ - if [ $$ignored = "true" ]; then \ - ${ECHO_MSG} "=> No suitable checksum found for $$file."; \ - OK="${FALSE}"; \ - fi; \ - \ - done; \ - \ - for file in ${_IGNOREFILES}; do \ - pattern="`${ECHO_CMD} $$file | ${SED} -e 's/\./\\\\./g'`"; \ - \ - ignored="true"; \ - alreadymatched="false"; \ - for alg in ${CHECKSUM_ALGORITHMS:U}; do \ - ignore="false"; \ - eval alg_executable=\$$$$alg; \ - \ - if [ $$alg_executable != "NO" ]; then \ - CKSUM=`${GREP} "^$$alg ($$pattern)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \ - else \ - ignore="true"; \ - fi; \ - \ - if [ $$ignore = "false" ]; then \ - if [ -z "$$CKSUM" ]; then \ - ${ECHO_MSG} "=> No $$alg checksum for $$file recorded (expected IGNORE)"; \ - OK="$$alreadymatched"; \ - elif [ $$CKSUM != "IGNORE" ]; then \ - ${ECHO_MSG} "=> $$alg Checksum for $$file is not set to IGNORE in distinfo file even though"; \ - ${ECHO_MSG} " the file is in the "'$$'"{IGNOREFILES} list."; \ - OK="false"; \ - else \ - ignored="false"; \ - alreadymatched="true"; \ - fi; \ - fi; \ - done; \ - \ - if ( [ $$ignored = "true" ]) ; then \ - ${ECHO_MSG} "=> No suitable checksum found for $$file."; \ - OK="false"; \ - fi; \ - \ - done; \ - \ - if [ "$${OK:=true}" = "retry" ] && [ ${FETCH_REGET} -gt 0 ]; then \ - ${ECHO_MSG} "===> Refetch for ${FETCH_REGET} more times files: $$refetchlist"; \ - if ( cd ${.CURDIR} && \ - ${MAKE} ${.MAKEFLAGS} FORCE_FETCH="$$refetchlist" FETCH_REGET="`${EXPR} ${FETCH_REGET} - 1`" fetch); then \ - if ( cd ${.CURDIR} && \ - ${MAKE} ${.MAKEFLAGS} FETCH_REGET="`${EXPR} ${FETCH_REGET} - 1`" checksum ); then \ - OK="true"; \ - fi; \ - fi; \ - fi ; \ - \ - if [ "$$OK" != "true" -a ${FETCH_REGET} -eq 0 ]; then \ - ${ECHO_MSG} "===> Giving up on fetching files: $$refetchlist"; \ - ${ECHO_MSG} "Make sure the Makefile and distinfo file (${MD5_FILE})"; \ - ${ECHO_MSG} "are up to date. If you are absolutely sure you want to override this"; \ - ${ECHO_MSG} "check, type \"make NO_CHECKSUM=yes [other args]\"."; \ - exit 1; \ - fi; \ - if [ "$$OK" != "true" ]; then \ - exit 1; \ - fi \ - ); \ - elif [ -n "${_CKSUMFILES:M*}" ]; then \ - ${ECHO_MSG} "=> No checksum file (${MD5_FILE})."; \ - fi -.endif - -################################################################ -# The special package-building targets -# You probably won't need to touch these -################################################################ - -# Nobody should want to override this unless PKGNAME is simply bogus. - -.if !target(package-name) -package-name: - @${ECHO_CMD} ${PKGNAME} -.endif - -# Build a package but don't check the package cookie - -.if !target(repackage) -repackage: pre-repackage package - -pre-repackage: - @${RM} -f ${PACKAGE_COOKIE} -.endif - -# Build a package but don't check the cookie for installation, also don't -# install package cookie - -.if !target(package-noinstall) -package-noinstall: - @${MKDIR} ${WRKDIR} - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} pre-package \ - pre-package-script do-package post-package-script - @${RM} -f ${TMPPLIST} - -@${RMDIR} ${WRKDIR} -.endif - -################################################################ -# Dependency checking -################################################################ - -.if !target(depends) -depends: extract-depends patch-depends lib-depends fetch-depends build-depends run-depends - -.if defined(ALWAYS_BUILD_DEPENDS) -_DEPEND_ALWAYS= 1 -.else -_DEPEND_ALWAYS= 0 -.endif - -_INSTALL_DEPENDS= \ - if [ X${USE_PACKAGE_DEPENDS} != "X" ]; then \ - subpkgfile=`(cd $$dir; ${MAKE} $$depends_args -V PKGFILE)`; \ - if [ -r "$${subpkgfile}" -a "$$target" = "${DEPENDS_TARGET}" ]; then \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> Installing existing package $${subpkgfile}"; \ - ${PKG_ADD} $${subpkgfile}; \ - else \ - ${ECHO_MSG} "===> Installing existing package $${subpkgfile} into ${DESTDIR}"; \ - ${PKG_ADD} -C ${DESTDIR} $${subpkgfile}; \ - fi; \ - else \ - (cd $$dir; ${MAKE} -DINSTALLS_DEPENDS $$target $$depends_args) ; \ - fi; \ - else \ - (cd $$dir; ${MAKE} -DINSTALLS_DEPENDS $$target $$depends_args) ; \ - fi; \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> Returning to build of ${PKGNAME}"; \ - else \ - ${ECHO_MSG} "===> Returning to build of ${PKGNAME} for ${DESTDIR}"; \ - fi; - -.for deptype in EXTRACT PATCH FETCH BUILD RUN -${deptype:L}-depends: -.if defined(${deptype}_DEPENDS) -.if !defined(NO_DEPENDS) - @for i in `${ECHO_CMD} "${${deptype}_DEPENDS}"`; do \ - prog=`${ECHO_CMD} $$i | ${SED} -e 's/:.*//'`; \ - dir=`${ECHO_CMD} $$i | ${SED} -e 's/[^:]*://'`; \ - if ${EXPR} "$$dir" : '.*:' > /dev/null; then \ - target=`${ECHO_CMD} $$dir | ${SED} -e 's/.*://'`; \ - dir=`${ECHO_CMD} $$dir | ${SED} -e 's/:.*//'`; \ - else \ - target="${DEPENDS_TARGET}"; \ - depends_args="${DEPENDS_ARGS}"; \ - fi; \ - if ${EXPR} "$$prog" : \\/ >/dev/null; then \ - if [ -e "$$prog" ]; then \ - if [ "$$prog" = "${NONEXISTENT}" ]; then \ - ${ECHO_MSG} "Error: ${NONEXISTENT} exists. Please remove it, and restart the build."; \ - ${FALSE}; \ - else \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - found"; \ - else \ - ${ECHO_MSG} "===> ${PKGNAME} depends on file in ${DESTDIR}: $$prog - found"; \ - fi; \ - if [ ${_DEPEND_ALWAYS} = 1 ]; then \ - ${ECHO_MSG} " (but building it anyway)"; \ - notfound=1; \ - else \ - notfound=0; \ - fi; \ - fi; \ - else \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - not found"; \ - else \ - ${ECHO_MSG} "===> ${PKGNAME} depends on file in ${DESTDIR}: $$prog - not found"; \ - fi; \ - notfound=1; \ - fi; \ - else \ - case $${prog} in \ - *\>*|*\<*|*=*) pkg=yes;; \ - *) pkg="";; \ - esac; \ - if [ "$$pkg" != "" ]; then \ - if ${PKG_INFO} "$$prog" > /dev/null 2>&1 ; then \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> ${PKGNAME} depends on package: $$prog - found"; \ - else \ - ${ECHO_MSG} "===> ${PKGNAME} depends on package in ${DESTDIR}: $$prog - found"; \ - fi; \ - if [ ${_DEPEND_ALWAYS} = 1 ]; then \ - ${ECHO_MSG} " (but building it anyway)"; \ - notfound=1; \ - else \ - notfound=0; \ - fi; \ - else \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> ${PKGNAME} depends on package: $$prog - not found"; \ - else \ - ${ECHO_MSG} "===> ${PKGNAME} depends on package in ${DESTDIR}: $$prog - not found"; \ - fi; \ - notfound=1; \ - fi; \ - if [ $$notfound != 0 ]; then \ - inverse_dep=`${ECHO_CMD} $$prog | ${SED} \ - -e 's/<=/=gt=/; s/</=ge=/; s/>=/=lt=/; s/>/=le=/' \ - -e 's/=gt=/>/; s/=ge=/>=/; s/=lt=/</; s/=le=/<=/'`; \ - pkg_info=`${PKG_INFO} -E "$$inverse_dep" || ${TRUE}`; \ - if [ "$$pkg_info" != "" ]; then \ - ${ECHO_MSG} "===> Found $$pkg_info, but you need to upgrade to $$prog."; \ - exit 1; \ - fi; \ - fi; \ - elif ${WHICH} "$$prog" > /dev/null 2>&1 ; then \ - if [ -z "${PREFIX}" ] ; then \ - ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - found"; \ - else \ - ${ECHO_MSG} "===> ${PKGNAME} depends on executable in ${DESTDIR}: $$prog - found"; \ - fi; \ - if [ ${_DEPEND_ALWAYS} = 1 ]; then \ - ${ECHO_MSG} " (but building it anyway)"; \ - notfound=1; \ - else \ - notfound=0; \ - fi; \ - else \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - not found"; \ - else \ - ${ECHO_MSG} "===> ${PKGNAME} depends on executable in ${DESTDIR}: $$prog - not found"; \ - fi; \ - notfound=1; \ - fi; \ - fi; \ - if [ $$notfound != 0 ]; then \ - ${ECHO_MSG} "===> Verifying $$target for $$prog in $$dir"; \ - if [ ! -d "$$dir" ]; then \ - ${ECHO_MSG} " => No directory for $$prog. Skipping.."; \ - else \ - ${_INSTALL_DEPENDS} \ - fi; \ - fi; \ - done -.endif -.else - @${DO_NADA} -.endif -.endfor - -lib-depends: -.if defined(LIB_DEPENDS) && !defined(NO_DEPENDS) - @for i in ${LIB_DEPENDS}; do \ - lib=$${i%%:*}; \ - case $$lib in \ - *.*.*) pattern="`${ECHO_CMD} $$lib | ${SED} -e 's/\./\\\\./g'`" ;;\ - *.*) pattern="$${lib%%.*}\.$${lib#*.}" ;;\ - *) pattern="$$lib" ;;\ - esac; \ - dir=$${i#*:}; \ - target=$${i##*:}; \ - if ${TEST} $$dir = $$target; then \ - target="${DEPENDS_TARGET}"; \ - depends_args="${DEPENDS_ARGS}"; \ - else \ - dir=$${dir%%:*}; \ - fi; \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} -n "===> ${PKGNAME} depends on shared library: $$lib"; \ - if ${LDCONFIG} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ - ${ECHO_MSG} " - found"; \ - if [ ${_DEPEND_ALWAYS} = 1 ]; then \ - ${ECHO_MSG} " (but building it anyway)"; \ - notfound=1; \ - else \ - notfound=0; \ - fi; \ - else \ - ${ECHO_MSG} " - not found"; \ - notfound=1; \ - fi; \ - else \ - ${ECHO_MSG} -n "===> ${PKGNAME} depends on shared library in ${DESTDIR}: $$lib"; \ - if ${CHROOT} ${DESTDIR} ${LDCONFIG} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ - ${ECHO_MSG} " - found"; \ - if [ ${_DEPEND_ALWAYS} = 1 ]; then \ - ${ECHO_MSG} " (but building it anyway)"; \ - notfound=1; \ - else \ - notfound=0; \ - fi; \ - else \ - ${ECHO_MSG} " - not found"; \ - notfound=1; \ - fi; \ - fi; \ - if [ $$notfound != 0 ]; then \ - ${ECHO_MSG} "===> Verifying $$target for $$lib in $$dir"; \ - if [ ! -d "$$dir" ]; then \ - ${ECHO_MSG} " => No directory for $$lib. Skipping.."; \ - else \ - ${_INSTALL_DEPENDS} \ - if ! ${LDCONFIG} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ - ${ECHO_MSG} "Error: shared library \"$$lib\" does not exist"; \ - ${FALSE}; \ - fi; \ - fi; \ - fi; \ - done -.endif - -.endif - -# Dependency lists: both build and runtime, recursive. Print out directory names. - -_UNIFIED_DEPENDS=${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS} ${RUN_DEPENDS} -_DEPEND_DIRS= ${_UNIFIED_DEPENDS:C,^[^:]*:([^:]*).*$,\1,} - -all-depends-list: - @${ALL-DEPENDS-LIST} - -ALL-DEPENDS-LIST= \ - L="${_DEPEND_DIRS}"; \ - checked=""; \ - while [ -n "$$L" ]; do \ - l=""; \ - for d in $$L; do \ - case $$checked in \ - $$d\ *|*\ $$d\ *|*\ $$d) \ - continue;; \ - esac; \ - checked="$$checked $$d"; \ - if [ ! -d $$d ]; then \ - ${ECHO_MSG} "${PKGNAME}: \"$$d\" non-existent -- dependency list incomplete" >&2; \ - continue; \ - fi; \ - ${ECHO_CMD} $$d; \ - if ! children=$$(cd $$d && ${MAKE} -V _DEPEND_DIRS); then\ - ${ECHO_MSG} "${PKGNAME}: \"$$d\" erroneous -- dependency list incomplete" >&2; \ - continue; \ - fi; \ - for child in $$children; do \ - case "$$checked $$l" in \ - $$child\ *|*\ $$child\ *|*\ $$child) \ - continue;; \ - esac; \ - l="$$l $$child"; \ - done; \ - done; \ - L=$$l; \ - done - -.if !target(clean-depends) -clean-depends: - @for dir in $$(${ALL-DEPENDS-LIST}); do \ - (cd $$dir; ${MAKE} NOCLEANDEPENDS=yes clean); \ - done -.endif - -.if !target(deinstall-depends) -deinstall-depends: - @for dir in $$(${ALL-DEPENDS-LIST}); do \ - (cd $$dir; ${MAKE} deinstall); \ - done -.endif - -.if !target(fetch-recursive) -fetch-recursive: - @${ECHO_MSG} "===> Fetching all distfiles for ${PKGNAME} and dependencies" - @for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \ - (cd $$dir; ${MAKE} fetch); \ - done -.endif - -.if !target(fetch-recursive-list) -fetch-recursive-list: - @for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \ - (cd $$dir; ${MAKE} fetch-list); \ - done -.endif - -.if !target(fetch-required) -fetch-required: fetch - @${ECHO_MSG} "===> Fetching all required distfiles for ${PKGNAME} and dependencies" -.for deptype in EXTRACT PATCH FETCH BUILD RUN -.if defined(${deptype}_DEPENDS) -.if !defined(NO_DEPENDS) - @for i in ${${deptype}_DEPENDS}; do \ - prog=`${ECHO_CMD} $$i | ${CUT} -f 1 -d ':'`; \ - dir=`${ECHO_CMD} $$i | ${CUT} -f 2-999 -d ':'`; \ - if ${EXPR} "$$dir" : '.*:' > /dev/null; then \ - dir=`${ECHO_CMD} $$dir | ${CUT} -f 1 -d ':'`; \ - if ${EXPR} "$$prog" : \\/ >/dev/null; then \ - if [ ! -e "$$prog" ]; then \ - (cd $$dir; ${MAKE} fetch); \ - fi; \ - fi; \ - else \ - (cd $$dir; \ - tmp=`${MAKE} -V PKGNAME`; \ - if [ ! -d ${PKG_DBDIR}/$${tmp} ]; then \ - ${MAKE} fetch; \ - fi ); \ - fi; \ - done -.endif -.endif -.endfor -.endif - -.if !target(fetch-required-list) -fetch-required-list: fetch-list -.for deptype in EXTRACT PATCH FETCH BUILD RUN -.if defined(${deptype}_DEPENDS) -.if !defined(NO_DEPENDS) - @for i in ${${deptype}_DEPENDS}; do \ - prog=`${ECHO_CMD} $$i | ${CUT} -f 1 -d ':'`; \ - dir=`${ECHO_CMD} $$i | ${CUT} -f 2-999 -d ':'`; \ - if ${EXPR} "$$dir" : '.*:' > /dev/null; then \ - dir=`${ECHO_CMD} $$dir | ${CUT} -f 1 -d ':'`; \ - if ${EXPR} "$$prog" : \\/ >/dev/null; then \ - if [ ! -e "$$prog" ]; then \ - (cd $$dir; ${MAKE} fetch-list); \ - fi; \ - fi; \ - else \ - (cd $$dir; \ - tmp=`${MAKE} -V PKGNAME`; \ - if [ ! -d ${PKG_DBDIR}/$${tmp} ]; then \ - ${MAKE} fetch-list; \ - fi ); \ - fi; \ - done -.endif -.endif -.endfor -.endif - -.if !target(checksum-recursive) -checksum-recursive: - @${ECHO_MSG} "===> Fetching and checking checksums for ${PKGNAME} and dependencies" - @for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \ - (cd $$dir; ${MAKE} checksum); \ - done -.endif - -# Dependency lists: build and runtime. Print out directory names. - -build-depends-list: -.if defined(EXTRACT_DEPENDS) || defined(PATCH_DEPENDS) || defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || defined(LIB_DEPENDS) - @${BUILD-DEPENDS-LIST} -.endif - -BUILD-DEPENDS-LIST= \ - for dir in $$(${ECHO_CMD} "${EXTRACT_DEPENDS} ${PATCH_DEPENDS} ${FETCH_DEPENDS} ${BUILD_DEPENDS} ${LIB_DEPENDS}" | ${TR} '\040' '\012' | ${SED} -e 's/^[^:]*://' -e 's/:.*//' | ${SORT} -u); do \ - if [ -d $$dir ]; then \ - ${ECHO_CMD} $$dir; \ - else \ - ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \ - fi; \ - done | ${SORT} -u - -run-depends-list: -.if defined(LIB_DEPENDS) || defined(RUN_DEPENDS) - @${RUN-DEPENDS-LIST} -.endif - -RUN-DEPENDS-LIST= \ - for dir in $$(${ECHO_CMD} "${LIB_DEPENDS} ${RUN_DEPENDS}" | ${SED} -e 'y/ /\n/' | ${CUT} -f 2 -d ':' | ${SORT} -u); do \ - if [ -d $$dir ]; then \ - ${ECHO_CMD} $$dir; \ - else \ - ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \ - fi; \ - done | ${SORT} -u - -# Package (recursive runtime) dependency list. Print out both directory names -# and package names. - -package-depends-list: -.if defined(CHILD_DEPENDS) || defined(LIB_DEPENDS) || defined(RUN_DEPENDS) - @${PACKAGE-DEPENDS-LIST} -.endif - -PACKAGE-DEPENDS-LIST?= \ - if [ "${CHILD_DEPENDS}" ]; then \ - installed=$$(${PKG_INFO} -qO ${PKGORIGIN} 2>/dev/null || \ - ${TRUE}); \ - if [ "$$installed" ]; then \ - break; \ - fi; \ - if [ -z "$$installed" ]; then \ - installed="${PKGNAME}"; \ - fi; \ - for pkgname in $$installed; do \ - ${ECHO_CMD} "$$pkgname ${.CURDIR} ${PKGORIGIN}"; \ - done; \ - fi; \ - checked="${PARENT_CHECKED}"; \ - for dir in $$(${ECHO_CMD} "${LIB_DEPENDS} ${RUN_DEPENDS}" | ${SED} -e 'y/ /\n/' | ${CUT} -f 2 -d ':'); do \ - dir=$$(${REALPATH} $$dir); \ - if [ -d $$dir ]; then \ - if (${ECHO_CMD} $$checked | ${GREP} -qwv "$$dir"); then \ - childout=$$(cd $$dir; ${MAKE} CHILD_DEPENDS=yes PARENT_CHECKED="$$checked" package-depends-list); \ - set -- $$childout; \ - childdir=""; \ - while [ $$\# != 0 ]; do \ - childdir="$$childdir $$2"; \ - ${ECHO_CMD} "$$1 $$2 $$3"; \ - shift 3; \ - done; \ - checked="$$dir $$childdir $$checked"; \ - fi; \ - else \ - ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list incomplete" >&2; \ - fi; \ - done - -# Print out package names. - -package-depends: - @${PACKAGE-DEPENDS-LIST} | ${AWK} '{print $$1":"$$3}' - -# Build packages for port and dependencies - -package-recursive: package - @for dir in $$(${ALL-DEPENDS-LIST}); do \ - (cd $$dir; ${MAKE} package-noinstall); \ - done - -# Show missing dependiencies -missing: - @for dir in $$(${ALL-DEPENDS-LIST}); do \ - THISORIGIN=$$(${ECHO_CMD} $$dir | ${SED} 's,${PORTSDIR}/,,'); \ - installed=$$(${PKG_INFO} -qO $${THISORIGIN}); \ - if [ -z "$$installed" ]; then \ - ${ECHO_CMD} $$THISORIGIN; \ - fi \ - done - -################################################################ -# Everything after here are internal targets and really -# shouldn't be touched by anybody but the release engineers. -################################################################ - -# This target generates an index entry suitable for aggregation into -# a large index. Format is: -# -# distribution-name|port-path|installation-prefix|comment| \ -# description-file|maintainer|categories|extract-depends| \ -# patch-depends|fetch-depends|build-depends|run-depends|www site -# -# If this ever changes, portmgr should contact the portsnap maintainer -# first to avoid gratuitous breakage. - -.if !target(describe) -describe: - @${ECHO_CMD} -n "${PKGNAME}|${.CURDIR}|${PREFIX}|" -.if defined(COMMENT) - @${ECHO_CMD} -n ${COMMENT:Q} -.else - @${ECHO_CMD} -n '** No Description' -.endif - @perl -e ' \ - if ( -f q{${DESCR}} ) { \ - print q{|${DESCR}}; \ - } else { \ - print q{|/dev/null}; \ - } \ - print q{|${MAINTAINER}|${CATEGORIES}|}; \ - @edirs = map((split /:/)[1], split(q{ }, q{${EXTRACT_DEPENDS}})); \ - @pdirs = map((split /:/)[1], split(q{ }, q{${PATCH_DEPENDS}})); \ - @fdirs = map((split /:/)[1], split(q{ }, q{${FETCH_DEPENDS}})); \ - @bdirs = map((split /:/)[1], split(q{ }, q{${BUILD_DEPENDS}})); \ - @rdirs = map((split /:/)[1], split(q{ }, q{${RUN_DEPENDS}})); \ - @ldirs = map((split /:/)[1], split(q{ }, q{${LIB_DEPENDS}})); \ - for my $$i (\@edirs, \@pdirs, \@fdirs, \@bdirs, \@rdirs, \@ddirs, \@ldirs) { \ - my @dirs = @$$i; \ - @$$i = (); \ - for (@dirs) { \ - if (-d $$_) { \ - push @$$i, $$_; \ - } else { \ - print STDERR qq{${PKGNAME}: \"$$_\" non-existent -- dependency list incomplete\n}; \ - exit(1); \ - } \ - } \ - } \ - for (@edirs, @ddirs) { \ - $$xe{$$_} = 1; \ - } \ - print join(q{ }, sort keys %xe), q{|}; \ - for (@pdirs, @ddirs) { \ - $$xp{$$_} = 1; \ - } \ - print join(q{ }, sort keys %xp), q{|}; \ - for (@fdirs, @ddirs) { \ - $$xf{$$_} = 1; \ - } \ - print join(q{ }, sort keys %xf), q{|}; \ - for (@bdirs, @ddirs, @ldirs) { \ - $$xb{$$_} = 1; \ - } \ - print join(q{ }, sort keys %xb), q{|}; \ - for (@rdirs, @ddirs, @ldirs) { \ - $$xr{$$_} = 1; \ - } \ - print join(q{ }, sort keys %xr), q{|}; \ - if (open(DESCR, q{${DESCR}})) { \ - while (<DESCR>) { \ - if (/^WWW:\s+(\S+)/) { \ - print $$1; \ - last; \ - } \ - } \ - } \ - print qq{\n};' -.endif - -www-site: -.if exists(${DESCR}) - @${AWK} '$$1 ~ /^WWW:/ {print $$2}' ${DESCR} | ${HEAD} -1 -.else - @${ECHO_CMD} -.endif - -.if !target(readmes) -readmes: readme -.endif - -.if !target(readme) -readme: - @${RM} -f ${.CURDIR}/README.html - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} ${.CURDIR}/README.html -.endif - -${.CURDIR}/README.html: - @${ECHO_MSG} "===> Creating README.html for ${PKGNAME}" - @__softMAKEFLAGS='${__softMAKEFLAGS:S/'/'\''/g}'; \ - ${SED} -e 's|%%PORT%%|'$$(${ECHO_CMD} ${.CURDIR} | \ - ${SED} -e 's|.*/\([^/]*/[^/]*\)$$|\1|')'|g' \ - -e 's|%%PKG%%|${PKGNAME}|g' \ - -e 's|%%COMMENT%%|'"$$(${ECHO_CMD} ${COMMENT:Q})"'|' \ - -e '/%%COMMENT%%/d' \ - -e 's|%%DESCR%%|'"$$(${ECHO_CMD} ${DESCR} | \ - ${SED} -e 's|${.CURDIR}/||')"'|' \ - -e 's|%%EMAIL%%|'"$$(${ECHO_CMD} "${MAINTAINER}" | \ - ${SED} -e 's/([^)]*)//;s/.*<//;s/>.*//')"'|g' \ - -e 's|%%MAINTAINER%%|${MAINTAINER}|g' \ - -e 's|%%WEBSITE%%|'"$$(cd ${.CURDIR} && eval ${MAKE} \ - $${__softMAKEFLAGS} pretty-print-www-site)"'|' \ - -e 's|%%BUILD_DEPENDS%%|'"$$(cd ${.CURDIR} && eval ${MAKE} \ - $${__softMAKEFLAGS} pretty-print-build-depends-list)"'|' \ - -e 's|%%RUN_DEPENDS%%|'"$$(cd ${.CURDIR} && eval ${MAKE} \ - $${__softMAKEFLAGS} pretty-print-run-depends-list)"'|' \ - -e 's|%%TOP%%|'"$$(${ECHO_CMD} ${CATEGORIES} | \ - ${SED} -e 's| .*||' -e 's|[^/]*|..|g')"'/..|' \ - ${TEMPLATES}/README.port >> $@ - -# The following two targets require an up-to-date INDEX in ${PORTSDIR} - -_PRETTY_PRINT_DEPENDS_LIST=\ - if [ ! -r ${INDEXDIR}/${INDEXFILE} ] ; then \ - ${ECHO_CMD} "${.TARGET} requires an INDEX file (${INDEXFILE}). Please run make index or make fetchindex."; \ - else \ - target=${.TARGET:C/pretty-print-(.*)-depends-list/\1/} ; \ - if [ "$$target" = "build" ] ; then fldnum=8 ; else fldnum=9 ; fi ; \ - ${ECHO_CMD} -n 'This port requires package(s) "' ; \ - ${ECHO_CMD} -n `${AWK} -F\| "\\$$1 ~ /^${PKGNAME}/ {print \\$$$${fldnum};}" ${INDEXDIR}/${INDEXFILE}` ; \ - ${ECHO_CMD} "\" to $$target."; \ - fi; - - -.if !target(pretty-print-build-depends-list) -pretty-print-build-depends-list: -.if defined(EXTRACT_DEPENDS) || defined(PATCH_DEPENDS) || \ - defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || defined(LIB_DEPENDS) - @${_PRETTY_PRINT_DEPENDS_LIST} -.endif -.endif - -.if !target(pretty-print-run-depends-list) -pretty-print-run-depends-list: -.if defined(RUN_DEPENDS) || defined(LIB_DEPENDS) - @${_PRETTY_PRINT_DEPENDS_LIST} -.endif -.endif - -_SUB_LIST_TEMP= ${SUB_LIST:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} -.if !target(apply-slist) -apply-slist: -.if defined(SUB_FILES) -.for file in ${SUB_FILES} -.if !exists(${FILESDIR}/${file}.in) - @${ECHO_CMD} "** Missing ${FILESDIR}/${file}.in for ${PKGNAME}."; exit 1 -.else - @${SED} ${_SUB_LIST_TEMP} -e '/^@comment /d' ${FILESDIR}/${file}.in > ${WRKDIR}/${file} -.endif -.endfor -.for i in pkg-message pkg-install pkg-deinstall pkg-req -.if ${SUB_FILES:M${i}*}!="" -${i:S/-//:U}= ${WRKDIR}/${SUB_FILES:M${i}*} -.endif -.endfor -.endif -.endif - -# Generate packing list. Also tests to make sure all required package -# files exist. - -.if !target(generate-plist) -generate-plist: - @${ECHO_MSG} "===> Generating temporary packing list" - @${MKDIR} `${DIRNAME} ${TMPPLIST}` - @if [ ! -f ${DESCR} ]; then ${ECHO_CMD} "** Missing pkg-descr for ${PKGNAME}."; exit 1; fi - @>${TMPPLIST} - @for file in ${PLIST_FILES}; do \ - ${ECHO_CMD} $${file} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} >> ${TMPPLIST}; \ - done - @for man in ${__MANPAGES}; do \ - ${ECHO_CMD} $${man} >> ${TMPPLIST}; \ - done -.for _PREFIX in ${PREFIX} -.if ${_TMLINKS:M${_PREFIX}*}x != x - @for i in ${_TMLINKS:M${_PREFIX}*:S|^${_PREFIX}/||}; do \ - ${ECHO_CMD} "$$i" >> ${TMPPLIST}; \ - done -.endif -.if ${_TMLINKS:N${_PREFIX}*}x != x - @${ECHO_CMD} @cwd / >> ${TMPPLIST} - @for i in ${_TMLINKS:N${_PREFIX}*:S|^/||}; do \ - ${ECHO_CMD} "$$i" >> ${TMPPLIST}; \ - done - @${ECHO_CMD} '@cwd ${PREFIX}' >> ${TMPPLIST} -.endif - @for i in $$(${ECHO_CMD} ${__MANPAGES} ${_TMLINKS:M${_PREFIX}*:S|^${_PREFIX}/||} ' ' | ${SED} -E -e 's|man([1-9ln])/([^/ ]+) |cat\1/\2 |g'); do \ - ${ECHO_CMD} "@unexec rm -f %D/$${i%.gz} %D/$${i%.gz}.gz" >> ${TMPPLIST}; \ - done -.endfor - @if [ -f ${PLIST} ]; then \ - ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} ${PLIST} >> ${TMPPLIST}; \ - fi -.for reinplace in ${PLIST_REINPLACE} -.if defined(PLIST_REINPLACE_${reinplace:U}) - @${SED} -i "" -e '${PLIST_REINPLACE_${reinplace:U}}' ${TMPPLIST} -.endif -.endfor - -.for dir in ${PLIST_DIRS} - @${ECHO_CMD} ${dir} | ${SED} ${PLIST_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} | ${SED} -e 's,^,@dirrm ,' >> ${TMPPLIST} -.endfor -# To be removed once INSTALLS_SHLIB has been eradicated. -.if defined(INSTALLS_SHLIB) && !defined(INSTALL_AS_USER) - @${ECHO_CMD} "@exec ${LDCONFIG_PLIST_EXEC_CMD}" >> ${TMPPLIST} - @${ECHO_CMD} "@unexec ${LDCONFIG_PLIST_UNEXEC_CMD}" >> ${TMPPLIST} -.elif defined(INSTALLS_SHLIB) - @${ECHO_CMD} "@exec ${LDCONFIG_PLIST_EXEC_CMD} || ${TRUE}" >> ${TMPPLIST} - @${ECHO_CMD} "@unexec ${LDCONFIG_PLIST_UNEXEC_CMD} || ${TRUE}" >> ${TMPPLIST} -.endif -.if defined(USE_LDCONFIG) -.if !defined(INSTALL_AS_USER) - @${ECHO_CMD} "@exec ${LDCONFIG} -m ${USE_LDCONFIG}" >> ${TMPPLIST} - @${ECHO_CMD} "@unexec ${LDCONFIG} -R" >> ${TMPPLIST} -.else - @${ECHO_CMD} "@exec ${LDCONFIG} -m ${USE_LDCONFIG} || ${TRUE}" >> ${TMPPLIST} - @${ECHO_CMD} "@unexec ${LDCONFIG} -R || ${TRUE}" >> ${TMPPLIST} -.endif -.endif -.if defined(USE_LDCONFIG32) -.if !defined(INSTALL_AS_USER) - @${ECHO_CMD} "@exec ${LDCONFIG} -32 -m ${USE_LDCONFIG32}" >> ${TMPPLIST} - @${ECHO_CMD} "@unexec ${LDCONFIG} -32 -R" >> ${TMPPLIST} -.else - @${ECHO_CMD} "@exec ${LDCONFIG} -32 -m ${USE_LDCONFIG32} || ${TRUE}" >> ${TMPPLIST} - @${ECHO_CMD} "@unexec ${LDCONFIG} -32 -R || ${TRUE}" >> ${TMPPLIST} -.endif -.endif -.endif - -${TMPPLIST}: - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} generate-plist - -.if !target(add-plist-docs) -add-plist-docs: -.if defined(PORTDOCS) && !defined(NOPORTDOCS) - @if ${EGREP} -qe '^@cw?d' ${TMPPLIST} && \ - [ "`${SED} -En -e '/^@cw?d[ ]*/s,,,p' ${TMPPLIST} | ${TAIL} -n 1`" != "${PREFIX}" ]; then \ - ${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST}; \ - fi -.for x in ${PORTDOCS} - @if ${ECHO_CMD} "${x}"| ${AWK} '$$1 ~ /(\*|\||\[|\]|\?|\{|\}|\$$)/ { exit 1};'; then \ - if [ ! -e ${DOCSDIR}/${x} ]; then \ - ${ECHO_CMD} ${DOCSDIR}/${x} | \ - ${SED} -e 's,^${TARGETDIR}/,,' >> ${TMPPLIST}; \ - fi;fi -.endfor - @${FIND} -P ${PORTDOCS:S/^/${DOCSDIR}\//} ! -type d 2>/dev/null | \ - ${SED} -ne 's,^${TARGETDIR}/,,p' >> ${TMPPLIST} - @${FIND} -P -d ${PORTDOCS:S/^/${DOCSDIR}\//} -type d 2>/dev/null | \ - ${SED} -ne 's,^${TARGETDIR}/,@dirrm ,p' >> ${TMPPLIST} - @${ECHO_CMD} "@dirrm ${DOCSDIR:S,^${TARGETDIR}/,,}" >> ${TMPPLIST} -.else - @${DO_NADA} -.endif -.endif - -.if !target(add-plist-info) -add-plist-info: -# Process GNU INFO files at package install/deinstall time -.if defined(INFO) -.for i in ${INFO} - install-info --quiet ${TARGETDIR}/${INFO_PATH}/$i.info ${TARGETDIR}/${INFO_PATH}/dir - @${ECHO_CMD} "@unexec install-info --quiet --delete %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \ - >> ${TMPPLIST} - @${LS} ${TARGETDIR}/${INFO_PATH}/$i.info* | ${SED} -e s:${TARGETDIR}/::g >> ${TMPPLIST} - @${ECHO_CMD} "@exec install-info --quiet %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \ - >> ${TMPPLIST} - @if [ "`${DIRNAME} $i`" != "." ]; then \ - ${ECHO_CMD} "@unexec ${RMDIR} %D/info/`${DIRNAME} $i` 2> /dev/null || true" >> ${TMPPLIST}; \ - fi -.endfor -.if (${PREFIX} != "/usr") - @${ECHO_CMD} "@unexec if [ -f %D/${INFO_PATH}/dir ]; then if sed -e '1,/Menu:/d' %D/${INFO_PATH}/dir | grep -q '^[*] '; then true; else rm %D/${INFO_PATH}/dir; fi; fi" >> ${TMPPLIST} -.if (${PREFIX} != ${LOCALBASE_REL} && ${PREFIX} != ${X11BASE_REL} && ${PREFIX} != ${LINUXBASE_REL}) - @${ECHO_CMD} "@unexec rmdir %D/info 2> /dev/null || true" >> ${TMPPLIST} -.endif -.endif -.endif -.endif - -# If we're installing into a non-standard PREFIX, we need to remove that directory at -# deinstall-time -.if !target(add-plist-post) -add-plist-post: -.if (${PREFIX} != ${LOCALBASE_REL} && ${PREFIX} != ${X11BASE_REL} && ${PREFIX} != ${LINUXBASE_REL} && ${PREFIX} != "/usr") - @${ECHO_CMD} "@unexec rmdir %D 2> /dev/null || true" >> ${TMPPLIST} -.else - @${DO_NADA} -.endif -.endif - -.if !target(install-rc-script) -install-rc-script: -.if defined(USE_RCORDER) || defined(USE_RC_SUBR) && ${USE_RC_SUBR:U} != "YES" -.if defined(USE_RCORDER) - @${ECHO_CMD} "===> Installing early rc.d startup script(s)" - @${ECHO_CMD} "@cwd /" >> ${TMPPLIST} - @for i in ${USE_RCORDER}; do \ - ${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${DESTDIR}/etc/rc.d/$${i%.sh}; \ - ${ECHO_CMD} "etc/rc.d/$${i%.sh}" >> ${TMPPLIST}; \ - done - @${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST} -.endif -.if defined(USE_RC_SUBR) && ${USE_RC_SUBR:U} != "YES" - @${ECHO_CMD} "===> Installing rc.d startup script(s)" - @${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST} - @for i in ${USE_RC_SUBR}; do \ - ${INSTALL_SCRIPT} ${WRKDIR}/$${i} ${TARGETDIR}/etc/rc.d/$${i%.sh}${RC_SUBR_SUFFIX}; \ - ${ECHO_CMD} "etc/rc.d/$${i%.sh}${RC_SUBR_SUFFIX}" >> ${TMPPLIST}; \ - done -.endif -.else - @${DO_NADA} -.endif -.endif - -# Compress (or uncompress) and symlink manpages. -.if !target(compress-man) -compress-man: -.if defined(_MANPAGES) || defined(_MLINKS) -.if ${MANCOMPRESSED} == yes && defined(NOMANCOMPRESS) - @${ECHO_MSG} "===> Uncompressing manual pages for ${PKGNAME}" - @_manpages='${_MANPAGES:S/'/'\''/g}' && [ "$${_manpages}" != "" ] && ( eval ${GUNZIP_CMD} $${_manpages} ) || ${TRUE} -.elif ${MANCOMPRESSED} == no && !defined(NOMANCOMPRESS) - @${ECHO_MSG} "===> Compressing manual pages for ${PKGNAME}" - @_manpages='${_MANPAGES:S/'/'\''/g}' && [ "$${_manpages}" != "" ] && ( eval ${GZIP_CMD} $${_manpages} ) || ${TRUE} -.endif -.if defined(_MLINKS) - @set -- ${_MLINKS}; \ - while :; do \ - [ $$# -eq 0 ] && break || ${TRUE}; \ - ${RM} -f $${2%.gz}; ${RM} -f $$2.gz; \ - ${LN} -fs `${ECHO_CMD} $$1 $$2 | ${AWK} '{ \ - z=split($$1, a, /\//); x=split($$2, b, /\//); \ - while (a[i] == b[i]) i++; \ - for (q=i; q<x; q++) printf "../"; \ - for (; i<z; i++) printf a[i] "/"; printf a[z]; }'` $$2; \ - shift; shift; \ - done -.endif -.else - @${DO_NADA} -.endif -.endif - -# Fake installation of package so that user can pkg_delete it later. -# Also, make sure that an installed port is recognized correctly in -# accordance to the @pkgdep directive in the packing lists - -.if !target(fake-pkg) -fake-pkg: -.if !defined(NO_PKG_REGISTER) - @if [ ! -d ${PKG_DBDIR} ]; then ${RM} -f ${PKG_DBDIR}; ${MKDIR} ${PKG_DBDIR}; fi - @${RM} -f /tmp/${PKGNAME}-required-by -.if defined(FORCE_PKG_REGISTER) - @if [ -e ${PKG_DBDIR}/${PKGNAME}/+REQUIRED_BY ]; then \ - ${CP} ${PKG_DBDIR}/${PKGNAME}/+REQUIRED_BY /tmp/${PKGNAME}-required-by; \ - fi - @${RM} -rf ${PKG_DBDIR}/${PKGNAME} -.endif - @if [ ! -d ${PKG_DBDIR}/${PKGNAME} ]; then \ - if [ -z "${DESTDIR}" ] ; then \ - ${ECHO_MSG} "===> Registering installation for ${PKGNAME}"; \ - else \ - ${ECHO_MSG} "===> Registering installation for ${PKGNAME} in ${DESTDIR}"; \ - fi; \ - ${MKDIR} ${PKG_DBDIR}/${PKGNAME}; \ - ${PKG_CMD} ${PKG_ARGS} -O ${PKGFILE} > ${PKG_DBDIR}/${PKGNAME}/+CONTENTS; \ - ${CP} ${DESCR} ${PKG_DBDIR}/${PKGNAME}/+DESC; \ - ${ECHO_CMD} ${COMMENT:Q} > ${PKG_DBDIR}/${PKGNAME}/+COMMENT; \ - if [ -f ${PKGINSTALL} ]; then \ - ${CP} ${PKGINSTALL} ${PKG_DBDIR}/${PKGNAME}/+INSTALL; \ - fi; \ - if [ -f ${PKGDEINSTALL} ]; then \ - ${CP} ${PKGDEINSTALL} ${PKG_DBDIR}/${PKGNAME}/+DEINSTALL; \ - fi; \ - if [ -f ${PKGREQ} ]; then \ - ${CP} ${PKGREQ} ${PKG_DBDIR}/${PKGNAME}/+REQUIRE; \ - fi; \ - if [ -f ${PKGMESSAGE} ]; then \ - ${CP} ${PKGMESSAGE} ${PKG_DBDIR}/${PKGNAME}/+DISPLAY; \ - fi; \ - for dep in `${PKG_INFO} -qf ${PKGNAME} | ${GREP} -w ^@pkgdep | ${AWK} '{print $$2}' | ${SORT} -u`; do \ - if [ -d ${PKG_DBDIR}/$$dep -a -z `${ECHO_CMD} $$dep | ${GREP} -E ${PKG_IGNORE_DEPENDS}` ]; then \ - if ! ${GREP} ^${PKGNAME}$$ ${PKG_DBDIR}/$$dep/+REQUIRED_BY \ - >/dev/null 2>&1; then \ - ${ECHO_CMD} ${PKGNAME} >> ${PKG_DBDIR}/$$dep/+REQUIRED_BY; \ - fi; \ - fi; \ - done; \ - fi -.if !defined(NO_MTREE) - @if [ -f ${MTREE_FILE} ]; then \ - ${CP} ${MTREE_FILE} ${PKG_DBDIR}/${PKGNAME}/+MTREE_DIRS; \ - fi -.endif - @if [ -e /tmp/${PKGNAME}-required-by ]; then \ - ${CAT} /tmp/${PKGNAME}-required-by >> ${PKG_DBDIR}/${PKGNAME}/+REQUIRED_BY; \ - ${RM} -f /tmp/${PKGNAME}-required-by; \ - fi -.else - @${DO_NADA} -.endif -.endif - -# Depend is generally meaningless for arbitrary ports, but if someone wants -# one they can override this. This is just to catch people who've gotten into -# the habit of typing `make depend all install' as a matter of course. -# -.if !target(depend) -depend: -.endif - -# Same goes for tags -.if !target(tags) -tags: -.endif - -.if !defined(NOPRECIOUSSOFTMAKEVARS) -.for softvar in CKSUMFILES _MLINKS -.if defined(${softvar}) -__softMAKEFLAGS+= '${softvar}+=${${softvar}:S/'/'\''/g}' -.endif -.endfor -.endif - -.if !defined(NOPRECIOUSMAKEVARS) -# These won't change, so we can pass them through the environment -.MAKEFLAGS: \ - ARCH="${ARCH:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \ - OPSYS="${OPSYS:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \ - OSREL="${OSREL:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \ - OSVERSION="${OSVERSION:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \ - PORTOBJFORMAT="${PORTOBJFORMAT:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \ - SYSTEMVERSION="${SYSTEMVERSION:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" -.endif - -.if !target(config) -config: -.if !defined(OPTIONS) - @${ECHO_MSG} "===> No options to configure" -.else -.if ${OPTIONSFILE} != ${_OPTIONSFILE} - @${ECHO_MSG} "===> Using wrong configuration file ${_OPTIONSFILE}" - @exit 1 -.endif -.if ${UID} != 0 && !defined(INSTALL_AS_USER) - @${ECHO_MSG} "===> Switching to root credentials to create `${DIRNAME} ${_OPTIONSFILE}`" - @(${SU_CMD} "${SH} -c \"${MKDIR} `${DIRNAME} ${_OPTIONSFILE}` 2> /dev/null\"") || \ - (${ECHO_MSG} "===> Cannot create `${DIRNAME} ${_OPTIONSFILE}`, check permissions"; exit 1) - @${ECHO_MSG} "===> Returning to user credentials" -.else - @(${MKDIR} `${DIRNAME} ${_OPTIONSFILE}` 2> /dev/null) || \ - (${ECHO_MSG} "===> Cannot create `${DIRNAME} ${_OPTIONSFILE}`, check permissions"; exit 1) -.endif - -@if [ -e ${_OPTIONSFILE} ]; then \ - . ${_OPTIONSFILE}; \ - fi; \ - set -- ${OPTIONS} XXX; \ - while [ $$# -gt 3 ]; do \ - OPTIONSLIST="$${OPTIONSLIST} $$1"; \ - defaultval=$$3; \ - withvar=WITH_$$1; \ - withoutvar=WITHOUT_$$1; \ - withval=$$(eval ${ECHO_CMD} $$\{$${withvar}\}); \ - withoutval=$$(eval ${ECHO_CMD} $$\{$${withoutvar}\}); \ - if [ ! -z "$${withval}" ]; then \ - val=on; \ - elif [ ! -z "$${withoutval}" ]; then \ - val=off; \ - else \ - val=$$3; \ - fi; \ - DEFOPTIONS="$${DEFOPTIONS} $$1 \"$$2\" $${val}"; \ - shift 3; \ - done; \ - TMPOPTIONSFILE=$$(mktemp -t portoptions); \ - trap "${RM} -f $${TMPOPTIONSFILE}; exit 1" 1 2 3 5 10 13 15; \ - ${SH} -c "${DIALOG} --checklist \"Options for ${PKGNAME:C/-([^-]+)$/ \1/}\" 21 70 15 $${DEFOPTIONS} 2> $${TMPOPTIONSFILE}"; \ - status=$$?; \ - if [ $${status} -ne 0 ] ; then \ - ${RM} -f $${TMPOPTIONSFILE}; \ - ${ECHO_MSG} "===> Options unchanged"; \ - exit 0; \ - fi; \ - if [ ! -e ${TMPOPTIONSFILE} ]; then \ - ${ECHO_MSG} "===> No user-specified options to save for ${PKGNAME}"; \ - exit 0; \ - fi; \ - SELOPTIONS=$$(${CAT} $${TMPOPTIONSFILE}); \ - ${RM} -f $${TMPOPTIONSFILE}; \ - TMPOPTIONSFILE=$$(mktemp -t portoptions); \ - trap "${RM} -f $${TMPOPTIONSFILE}; exit 1" 1 2 3 5 10 13 15; \ - ${ECHO_CMD} "# This file is auto-generated by 'make config'." > $${TMPOPTIONSFILE}; \ - ${ECHO_CMD} "# No user-servicable parts inside!" >> $${TMPOPTIONSFILE}; \ - ${ECHO_CMD} "# Options for ${PKGNAME}" >> $${TMPOPTIONSFILE}; \ - ${ECHO_CMD} "_OPTIONS_READ=${PKGNAME}" >> $${TMPOPTIONSFILE}; \ - for i in $${OPTIONSLIST}; do \ - ${ECHO_CMD} $${SELOPTIONS} | ${GREP} -qw $${i}; \ - if [ $$? -eq 0 ]; then \ - ${ECHO_CMD} WITH_$${i}=true >> $${TMPOPTIONSFILE}; \ - else \ - ${ECHO_CMD} WITHOUT_$${i}=true >> $${TMPOPTIONSFILE}; \ - fi; \ - done; \ - if [ `${ID} -u` != 0 -a "x${INSTALL_AS_USER}" = "x" ]; then \ - ${ECHO_MSG} "===> Switching to root credentials to write ${_OPTIONSFILE}"; \ - ${SU_CMD} "${CAT} $${TMPOPTIONSFILE} > ${_OPTIONSFILE}"; \ - ${ECHO_MSG} "===> Returning to user credentials"; \ - else \ - ${CAT} $${TMPOPTIONSFILE} > ${_OPTIONSFILE}; \ - fi; \ - ${RM} -f $${TMPOPTIONSFILE} -.endif -.endif - -.if !target(config-recursive) -config-recursive: - @${ECHO_MSG} "===> Setting user-specified options for ${PKGNAME} and dependencies"; - @for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \ - (cd $$dir; ${MAKE} config-conditional); \ - done -.endif - -.if !target(config-conditional) -config-conditional: -.if defined(OPTIONS) && !exists(${_OPTIONSFILE}) - cd ${.CURDIR} && ${MAKE} config; -.endif -.endif - -.if !target(showconfig) -showconfig: -.if defined(OPTIONS) - @${ECHO_MSG} "===> The following configuration options are available for ${PKGNAME}:" - -@if [ -e ${_OPTIONSFILE} ]; then \ - . ${_OPTIONSFILE}; \ - fi; \ - set -- ${OPTIONS} XXX; \ - while [ $$# -gt 3 ]; do \ - defaultval=$$3; \ - withvar=WITH_$$1; \ - withoutvar=WITHOUT_$$1; \ - withval=$$(eval ${ECHO_CMD} $$\{$${withvar}\}); \ - withoutval=$$(eval ${ECHO_CMD} $$\{$${withoutvar}\}); \ - if [ ! -z "$${withval}" ]; then \ - val=on; \ - elif [ ! -z "$${withoutval}" ]; then \ - val=off; \ - else \ - val="$$3 (default)"; \ - fi; \ - ${ECHO_MSG} " $$1=$${val} \"$$2\""; \ - shift 3; \ - done - @${ECHO_MSG} "===> Use 'make config' to modify these settings" -.endif -.endif - -.if !target(rmconfig) -rmconfig: -.if defined(OPTIONS) && exists(${_OPTIONSFILE}) - -@${ECHO_MSG} "===> Removing user-configured options for ${PKGNAME}"; \ - if [ `${ID} -u` != 0 -a "x${INSTALL_AS_USER}" = "x" ]; then \ - ${ECHO_MSG} "===> Switching to root credentials to remove ${_OPTIONSFILE} and `${DIRNAME} ${_OPTIONSFILE}`"; \ - ${SU_CMD} "${RM} -f ${_OPTIONSFILE} ; \ - ${RMDIR} `${DIRNAME} ${_OPTIONSFILE}`"; \ - ${ECHO_MSG} "===> Returning to user credentials"; \ - else \ - ${RM} -f ${_OPTIONSFILE}; \ - ${RMDIR} `${DIRNAME} ${_OPTIONSFILE}`; \ - fi -.else - @${ECHO_MSG} "===> No user-specified options configured for ${PKGNAME}" -.endif -.endif - -.if !target(rmconfig-recursive) -rmconfig-recursive: - @${ECHO_MSG} "===> Removing user-specified options for ${PKGNAME} and dependencies"; - @for dir in ${.CURDIR} $$(${ALL-DEPENDS-LIST}); do \ - (cd $$dir; ${MAKE} rmconfig); \ - done -.endif - -desktop-categories: - @categories=""; \ - for native_category in ${CATEGORIES}; do \ - c=""; \ - case $$native_category in \ - accessibility) c="Accessibility Utility" ;; \ - archivers) c="Archiving" ;; \ - astro) c="Astronomy Science Education" ;; \ - audio) c="Audio AudioVideo" ;; \ - benchmarks) c="System" ;; \ - biology) c="Biology Science Education" ;; \ - cad) c="Engineering" ;; \ - databases) c="Database" ;; \ - deskutils) c="Utility" ;; \ - devel) c="Development" ;; \ - dns) c="Network" ;; \ - elisp) c="Development" ;; \ - emulators) c="Emulator" ;; \ - finance) c="Finance Office" ;; \ - ftp) c="FileTransfer Network" ;; \ - games) c="Game" ;; \ - gnome) c="GNOME GTK" ;; \ - graphics) c="Graphics" ;; \ - hamradio) c="HamRadio" ;; \ - haskell) c="Development" ;; \ - ipv6) c="Network" ;; \ - irc) c="IRCClient Network" ;; \ - java) c="Java Development" ;; \ - kde) c="KDE QT" ;; \ - lang) c="Development" ;; \ - lisp) c="Development" ;; \ - mail) c="Email Office Network" ;; \ - mbone) c="Network AudioVideo" ;; \ - multimedia) c="AudioVideo" ;; \ - net) c="Network" ;; \ - net-im) c="InstantMessaging Network" ;; \ - net-mgmt) c="Network" ;; \ - net-p2p) c="P2P Network" ;; \ - news) c="News" ;; \ - pear) c="WebDevelopment Development" ;; \ - perl5) c="Development" ;; \ - python) c="Development" ;; \ - ruby) c="Development" ;; \ - rubygems) c="Development" ;; \ - scheme) c="Development" ;; \ - science) c="Science Education" ;; \ - security) c="Security System" ;; \ - shells) c="Shell" ;; \ - sysutils) c="System Utility" ;; \ - tcl*|tk*) c="Development" ;; \ - www) c="Network" ;; \ - x11-clocks) c="Clock Utility" ;; \ - x11-fm) c="FileManager" ;; \ - xfce) c="GTK" ;; \ - zope) c="WebDevelopment Development" ;; \ - esac; \ - if [ -n "$$c" ]; then \ - categories="$$categories $$c"; \ - fi; \ - done; \ - if [ -n "$$categories" ]; then \ - for c in Application $$categories; do ${ECHO_MSG} "$$c"; done \ - | ${SORT} -u | ${TR} '\n' ';'; \ - ${ECHO_MSG}; \ - fi - -VALID_DESKTOP_CATEGORIES+= Application Core Development Building Debugger IDE \ - GUIDesigner Profiling RevisionControl Translation Office Calendar \ - ContactManagement Database Dictionary Chart Email Finance FlowChart PDA \ - ProjectManagement Presentation Spreadsheet WordProcessor Graphics \ - 2DGraphics VectorGraphics RasterGraphics 3DGraphics Scanning OCR \ - Photography Viewer Settings DesktopSettings HardwareSettings \ - PackageManager Network Dialup InstantMessaging IRCClient FileTransfer \ - HamRadio News P2P RemoteAccess Telephony WebBrowser WebDevelopment \ - AudioVideo Audio Midi Mixer Sequencer Tuner Video TV AudioVideoEditing \ - Player Recorder DiscBurning Game ActionGame AdventureGame ArcadeGame \ - BoardGame BlocksGame CardGame KidsGame LogicGame RolePlaying Simulation \ - SportsGame StrategyGame Education Art Construction Music Languages \ - Science Astronomy Biology Chemistry Geology Math MedicalSoftware Physics \ - Teaching Amusement Applet Archiving Electronics Emulator Engineering \ - FileManager Shell Screensaver TerminalEmulator TrayIcon System Filesystem \ - Monitor Security Utility Accessibility Calculator Clock TextEditor KDE \ - GNOME GTK Qt Motif Java ConsoleOnly AdvancedSettings - -check-desktop-entries: -.if defined(DESKTOP_ENTRIES) - @set -- ${DESKTOP_ENTRIES} XXX; \ - if [ `${EXPR} \( $$# - 1 \) % 6` -ne 0 ]; then \ - ${ECHO_MSG} "${PKGNAME}: Makefile error: the DESKTOP_ENTRIES list must contain one or more groups of 6 elements"; \ - exit 1; \ - fi; \ - num=1; \ - while [ $$# -gt 6 ]; do \ - entry="#$$num"; \ - if [ -n "$$4" ]; then \ - entry="$$entry ($$4)"; \ - elif [ -n "$$1" ]; then \ - entry="$$entry ($$1)"; \ - fi; \ - if [ -z "$$1" ]; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 1 (Name) is empty"; \ - exit 1; \ - fi; \ - if [ -z "$$4" ]; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 4 (Exec) is empty"; \ - exit 1; \ - fi; \ - if [ -n "$$5" ]; then \ - for c in `${ECHO_CMD} "$$5" | ${TR} ';' ' '`; do \ - if ! ${ECHO_CMD} ${VALID_DESKTOP_CATEGORIES} | ${GREP} -wq $$c; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: category $$c is not a valid desktop category"; \ - exit 1; \ - fi; \ - done; \ - if ! ${ECHO_CMD} "$$5" | ${GREP} -q ';$$'; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 5 (Categories) does not end with a semicolon"; \ - exit 1; \ - fi; \ - else \ - if [ -z "`cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} desktop-categories`" ]; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 5 (Categories) is empty and could not be deduced from the CATEGORIES variable"; \ - exit 1; \ - fi; \ - fi; \ - if [ -z "$$6" ]; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 6 (StartupNotify) is empty"; \ - exit 1; \ - fi; \ - if [ "x$$6" != "xtrue" ] && [ "x$$6" != "xfalse" ]; then \ - ${ECHO_CMD} "${PKGNAME}: Makefile error: in desktop entry $$entry: field 6 (StartupNotify) is not \"true\" or \"false\""; \ - exit 1; \ - fi; \ - shift 6; \ - num=`${EXPR} $$num + 1`; \ - done -.else - @${DO_NADA} -.endif - -.if !target(install-desktop-entries) -install-desktop-entries: -.if defined(DESKTOP_ENTRIES) - @(${MKDIR} "${DESKTOPDIR}" 2> /dev/null) || \ - (${ECHO_MSG} "===> Cannot create ${DESKTOPDIR}, check permissions"; exit 1) - @set -- ${DESKTOP_ENTRIES} XXX; \ - if [ -z "${_DESKTOPDIR_REL}" ]; then \ - ${ECHO_CMD} "@cwd ${DESKTOPDIR}" >> ${TMPPLIST}; \ - fi; \ - while [ $$# -gt 6 ]; do \ - filename="$$4.desktop"; \ - pathname="${DESKTOPDIR}/$$filename"; \ - categories="$$5"; \ - if [ -z "$$categories" ]; then \ - categories="`cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} desktop-categories`"; \ - fi; \ - ${ECHO_CMD} "${_DESKTOPDIR_REL}$$filename" >> ${TMPPLIST}; \ - ${ECHO_CMD} "[Desktop Entry]" > $$pathname; \ - ${ECHO_CMD} "Type=Application" >> $$pathname; \ - ${ECHO_CMD} "Version=0.9.4" >> $$pathname; \ - ${ECHO_CMD} "Encoding=UTF-8" >> $$pathname; \ - ${ECHO_CMD} "Name=$$1" >> $$pathname; \ - if [ -n "$$2" ]; then \ - ${ECHO_CMD} "Comment=$$2" >> $$pathname; \ - fi; \ - if [ -n "$$3" ]; then \ - ${ECHO_CMD} "Icon=$$3" >> $$pathname; \ - fi; \ - ${ECHO_CMD} "Exec=$$4" >> $$pathname; \ - ${ECHO_CMD} "Categories=$$categories" >> $$pathname; \ - ${ECHO_CMD} "StartupNotify=$$6" >> $$pathname; \ - shift 6; \ - done; \ - ${ECHO_CMD} "@unexec rmdir ${DESKTOPDIR} 2>/dev/null || true" >> ${TMPPLIST}; \ - if [ -z "${_DESKTOPDIR_REL}" ]; then \ - ${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST}; \ - fi -.else - @${DO_NADA} -.endif -.endif - -.endif -# End of post-makefile section. diff --git a/devel/portmk/Mk/bsd.port.subdir.mk b/devel/portmk/Mk/bsd.port.subdir.mk deleted file mode 100644 index 0f93ac07a39a..000000000000 --- a/devel/portmk/Mk/bsd.port.subdir.mk +++ /dev/null @@ -1,453 +0,0 @@ -# from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 -# $FreeBSD$ -# -# The include file <bsd.port.subdir.mk> contains the default targets -# for building ports subdirectories. -# -# -# +++ variables +++ -# -# STRIP The flag passed to the install program to cause the binary -# to be stripped. This is to be used when building your -# own install script so that the entire system can be made -# stripped/not-stripped using a single knob. [-s] -# -# ECHO_MSG Used to print all the '===>' style prompts - override this -# to turn them off [echo]. -# -# OPSYS Get the operating system type [`uname -s`] -# -# SUBDIR A list of subdirectories that should be built as well. -# Each of the targets will execute the same target in the -# subdirectories. -# -# -# +++ targets +++ -# -# README.html: -# Creating README.html for package. -# -# afterinstall, all, beforeinstall, build, checksum, clean, -# clean-for-cdrom, clean-restricted, -# clean-for-cdrom-list, clean-restricted-list, -# configure, deinstall, -# depend, depends, describe, extract, fetch, fetch-list, ignorelist, -# install, maintainer, makesum, package, readmes, realinstall, reinstall, -# tags -# -# search: -# Search for ports using either 'make search key=<keyword>' -# or 'make search name=<keyword>'. - - -.MAIN: all - -.if !defined(DEBUG_FLAGS) -STRIP?= -s -.endif - -.if !defined(NOPRECIOUSMAKEVARS) -.if !defined(ARCH) -ARCH!= ${DESTDIR}/usr/bin/uname -p -.endif -.if !defined(OSREL) -OSREL!= ${DESTDIR}/usr/bin/uname -r | sed -e 's/[-(].*//' -.endif -.if !defined(OSVERSION) -.if exists(/sbin/sysctl) -OSVERSION!= /sbin/sysctl -n kern.osreldate -.else -OSVERSION!= /usr/sbin/sysctl -n kern.osreldate -.endif -.endif -.if !defined(PORTOBJFORMAT) -PORTOBJFORMAT?= elf -.endif -.endif - -ID?= ${DESTDIR}/usr/bin/id -UID!= ${ID} -u -LOCALBASE?= ${DESTDIR}${LOCALBASE_REL} -.if exists(${LOCALBASE}/sbin/pkg_info) -PKG_INFO?= ${LOCALBASE}/sbin/pkg_info -.else -PKG_INFO?= ${DESTDIR}/usr/sbin/pkg_info -.endif -SED?= ${DESTDIR}/usr/bin/sed -PKGINSTALLVER!= ${PKG_INFO} -P 2>/dev/null | ${SED} -e 's/.*: //' - -.if !defined(OPSYS) -OPSYS!= ${DESTDIR}/usr/bin/uname -s -.endif - -ECHO_MSG?= echo - -# local customization of the ports tree -.if exists(${.CURDIR}/Makefile.local) -.include "${.CURDIR}/Makefile.local" -.endif - -TARGETS+= all -TARGETS+= build -TARGETS+= checksum -TARGETS+= clean -TARGETS+= clean-for-cdrom -TARGETS+= clean-for-cdrom-list -TARGETS+= clean-restricted -TARGETS+= clean-restricted-list -TARGETS+= configure -TARGETS+= deinstall -TARGETS+= depend -TARGETS+= depends -TARGETS+= distclean -TARGETS+= extract -TARGETS+= fetch -TARGETS+= fetch-list -TARGETS+= ignorelist -TARGETS+= makesum -TARGETS+= maintainer -TARGETS+= package -TARGETS+= package-recursive -TARGETS+= realinstall -TARGETS+= reinstall -TARGETS+= tags - -.for __target in ${TARGETS} -.if !target(${__target}) -.if defined(SUBDIR) && !empty(SUBDIR) -${__target}: ${SUBDIR:S/^/_/:S/$/.${__target}/} -.else -${__target}: -.endif -.endif -.endfor - -.if defined(SUBDIR) && !empty(SUBDIR) - -.for __target in ${TARGETS} checksubdirs describe readmes -${SUBDIR:S/^/_/:S/$/.${__target}/}: _SUBDIRUSE -.endfor - -_SUBDIRUSE: .USE - @OK=""; sub=${.TARGET:S/^_//:R}; \ - for dud in $$DUDS; do \ - if [ $${dud} = $$sub ]; then \ - OK="false"; \ - ${ECHO_MSG} "===> ${DIRPRFX}$$sub skipped"; \ - fi; \ - done; \ - if test -d ${.CURDIR}/$${sub}.${MACHINE_ARCH}; then \ - edir=$${sub}.${MACHINE_ARCH}; \ - elif test -d ${.CURDIR}/$${sub}; then \ - edir=$${sub}; \ - else \ - OK="false"; \ - ${ECHO_MSG} "===> ${DIRPRFX}$${sub} non-existent"; \ - fi; \ - if [ "$$OK" = "" ]; then \ - ${ECHO_MSG} "===> ${DIRPRFX}$${edir}"; \ - cd ${.CURDIR}/$${edir}; \ - ${MAKE} -B ${.TARGET:E:realinstall=install} \ - DIRPRFX=${DIRPRFX}$$edir/; \ - fi - -.for _subdir in ${SUBDIR:S/^/_/} -${_subdir}:: ${_subdir:S/$/.all/} -.endfor - -.endif - -.if !target(install) -.if !target(beforeinstall) -beforeinstall: -.endif -.if !target(afterinstall) -afterinstall: -.endif -install: afterinstall -afterinstall: realinstall -realinstall: beforeinstall ${SUBDIR:S/^/_/:S/$/.realinstall/} -.endif - -IGNOREDIR= CVS Mk Templates Tools distfiles packages pkg - -.if !target(checksubdirs) -.if defined(PORTSTOP) -checksubdirs: checksubdir ${SUBDIR:S/^/_/:S/$/.checksubdirs/} -.else -checksubdirs: checksubdir -.endif -.endif - -.if !target(checksubdir) -checksubdir: - @for d in *; do \ - if [ -d "$$d" ]; then \ - found=0; \ - for s in ${SUBDIR} ${IGNOREDIR}; do \ - if [ "x$$s" = "x$$d" ]; then \ - found=1; \ - break; \ - fi; \ - done; \ - if [ $$found = 0 ]; then \ - ${ECHO} "Warning: directory $$d not in SUBDIR"; \ - fi; \ - fi; \ - done - @for s in ${SUBDIR}; do \ - if ! [ -d ${.CURDIR}/$$s ]; then \ - ${ECHO} "Warning: directory $$s in SUBDIR does not exist"; \ - fi \ - done -.endif - -.if !target(describe) -.if defined(PORTSTOP) -# This is a bit convoluted to deal with the fact that make will overlap I/O from child make processes -# if they write more than 2k: this will corrupt the INDEX file. make -P does not do this, but it adds -# extraneous output and redirects stderr, so we lose error reporting from child makes. Instead we have -# to roll our own implementation of make -P and make sure that each child make writes to their own file, -# which we will combine at the end. This gives substantial performance benefits over doing a make -j1 - -.if defined(BUILDING_INDEX) -describe: ${SUBDIR:S/^/describe./} - -.for i in ${SUBDIR} -describe.$i: - @cd ${.CURDIR}; ${MAKE} -B ${i:S/^/_/:S/$/.describe/} > ${INDEX_TMPDIR}/${INDEXFILE}.desc.${i} -.endfor -.else -describe: ${SUBDIR:S/^/_/:S/$/.describe/} -.endif -.else -describe: - @for sub in ${SUBDIR}; do \ - if test -d ${.CURDIR}/$${sub}; then \ - ${ECHO_MSG} "===> ${DIRPRFX}$${sub}"; \ - cd ${.CURDIR}/$${sub}; \ - ${MAKE} -B describe || \ - (echo "===> ${DIRPRFX}$${sub} failed" >&2; \ - exit 1) ;\ - else \ - ${ECHO_MSG} "===> ${DIRPRFX}$${sub} non-existent"; \ - fi; \ - done -.endif -.endif - -.if !target(readmes) -.if defined(PORTSTOP) -readmes: readme ${SUBDIR:S/^/_/:S/$/.readmes/} - @${ECHO_MSG} "===> Creating README.html for all ports" - @perl ${PORTSDIR}/Tools/make_readmes < ${INDEXDIR}/${INDEXFILE} -.else -readmes: readme -.endif -.endif - -.if !target(readme) -readme: - @rm -f README.html - @make README.html -.endif - -.if (${OPSYS} == "NetBSD") -PORTSDIR ?= /usr/opt -.else -PORTSDIR ?= /usr/ports -.endif -TEMPLATES ?= ${PORTSDIR}/Templates -.if defined(PORTSTOP) -README= ${TEMPLATES}/README.top -.else -README= ${TEMPLATES}/README.category -.endif -COMMENTFILE?= ${.CURDIR}/pkg/COMMENT -DESCR?= ${.CURDIR}/pkg/DESCR -INDEXDIR?= ${PORTSDIR} -.if ${OSVERSION} >= 500036 -INDEXFILE?= INDEX-${OSVERSION:C/([0-9]).*/\1/} -.else -INDEXFILE?= INDEX -.endif - -HTMLIFY= sed -e 's/&/\&/g' -e 's/>/\>/g' -e 's/</\</g' - -package-name: - @echo ${.CURDIR} | sed -e 's^.*/^^' - -README.html: - @echo "===> Creating README.html" - @> $@.tmp -.for entry in ${SUBDIR} -.if exists(${entry}) -.if defined(PORTSTOP) - @echo -n '<a href="'${entry}/README.html'">'"`echo ${entry} | ${HTMLIFY}`"'</a>: ' >> $@.tmp -.else - @echo -n '<a href="'${entry}/README.html'">'"`cd ${entry}; make package-name | ${HTMLIFY}`</a>: " >> $@.tmp -.endif - @echo `cd ${entry}; make -V COMMENT` | ${HTMLIFY} >> $@.tmp -.endif -.endfor - @sort -t '>' +1 -2 $@.tmp > $@.tmp2 -.if exists(${DESCR}) - @${HTMLIFY} ${DESCR} > $@.tmp3 -.else - @> $@.tmp3 -.endif -.if defined(COMMENT) - @echo "${COMMENT}" | ${HTMLIFY} > $@.tmp4 -.else -.if exists(${COMMENTFILE}) - @${HTMLIFY} ${COMMENTFILE} > $@.tmp4 -.else - @> $@.tmp4 -.endif -.endif - @cat ${README} | \ - sed -e 's/%%CATEGORY%%/'"`basename ${.CURDIR}`"'/g' \ - -e '/%%COMMENT%%/r$@.tmp4' \ - -e '/%%COMMENT%%/d' \ - -e '/%%DESCR%%/r$@.tmp3' \ - -e '/%%DESCR%%/d' \ - -e '/%%SUBDIR%%/r$@.tmp2' \ - -e '/%%SUBDIR%%/d' \ - > $@ - @rm -f $@.tmp $@.tmp2 $@.tmp3 $@.tmp4 - -.if !defined(NOPRECIOUSMAKEVARS) -.MAKEFLAGS: \ - ARCH="${ARCH:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \ - OPSYS="${OPSYS:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \ - OSREL="${OSREL:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \ - OSVERSION="${OSVERSION:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \ - PORTOBJFORMAT="${PORTOBJFORMAT:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \ - UID="${UID:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" \ - PKGINSTALLVER="${PKGINSTALLVER:S/"/"'"'"/g:S/\$/\$\$/g:S/\\/\\\\/g}" -.endif - -PORTSEARCH_DISPLAY_FIELDS?=name,path,info,maint,index,bdeps,rdeps,www -PORTSEARCH_KEYLIM?=0 -PORTSEARCH_XKEYLIM?=0 -PORTSEARCH_IGNORECASE?=1 - -_PORTSEARCH= \ - here=${.CURDIR}; \ - if [ ! -r ${INDEXDIR}/${INDEXFILE} ] ; then \ - echo "The ${.TARGET} target requires ${INDEXFILE}. Please run make index or make fetchindex."; \ - else \ - cd ${PORTSDIR}; \ - if [ -z "$$key" -a -z "$$xkey" -a \ - -z "$$name" -a -z "$$xname" -a \ - -z "$$path" -a -z "$$xpath" -a \ - -z "$$info" -a -z "$$xinfo" -a \ - -z "$$maint" -a -z "$$xmaint" -a \ - -z "$$cat" -a -z "$$xcat" -a \ - -z "$$bdeps" -a -z "$$xbdeps" -a \ - -z "$$rdeps" -a -z "$$xrdeps" -a \ - -z "$$www" -a -z "$$xwww" ]; \ - then \ - echo "The ${.TARGET} target requires a keyword parameter or name parameter,"; \ - echo "e.g.: \"make ${.TARGET} key=somekeyword\""; \ - echo "or \"make ${.TARGET} name=somekeyword\""; \ - exit; \ - fi; \ - awk -F\| -v there="$$here/" -v top="$$(pwd -P)" \ - -v key="$$key" -v xkey="$$xkey" \ - -v name="$$name" -v xname="$$xname" \ - -v path="$$path" -v xpath="$$xpath" \ - -v info="$$info" -v xinfo="$$xinfo" \ - -v maint="$$maint" -v xmaint="$$xmaint" \ - -v cat="$$cat" -v xcat="$$xcat" \ - -v bdeps="$$bdeps" -v xbdeps="$$xbdeps" \ - -v rdeps="$$rdeps" -v xrdeps="$$xrdeps" \ - -v www="$$www" -v xwww="$$xwww" \ - -v icase="$${icase:-${PORTSEARCH_IGNORECASE}}" \ - -v keylim="$${keylim:-${PORTSEARCH_KEYLIM}}" \ - -v xkeylim="$${xkeylim:-${PORTSEARCH_XKEYLIM}}" \ - -v display="$${display:-${PORTSEARCH_DISPLAY_FIELDS}}" \ - -v xdisplay="$$xdisplay" \ - 'BEGIN { \ - gsub(/\+/,"\\+",name); \ - if (substr(there, 1, length(top)) == top) \ - there = "${PORTSDIR}" substr(there, 1 + length(top)); \ - therelen = length(there); \ - keylen = length(key); keylim = keylim && keylen; \ - if (!keylim && keylen) \ - parms[0] = (icase ? tolower(key) : key); \ - xkeylen = length(xkey); xkeylim = xkeylim && xkeylen; \ - if (!xkeylim && xkeylen) \ - xparms[0] = (icase ? tolower(xkey) : xkey); \ - if (icase) { \ - if (length(name)) parms[1] = tolower(name); if (length(xname)) xparms[1] = tolower(xname); \ - if (length(path)) parms[2] = tolower(path); if (length(xpath)) xparms[2] = tolower(xpath); \ - if (length(info)) parms[4] = tolower(info); if (length(xinfo)) xparms[4] = tolower(xinfo); \ - if (length(maint)) parms[6] = tolower(maint); if (length(xmaint)) xparms[6] = tolower(xmaint); \ - if (length(cat)) parms[7] = tolower(cat); if (length(xcat)) xparms[7] = tolower(xcat); \ - if (length(bdeps)) parms[8] = tolower(bdeps); if (length(xbdeps)) xparms[8] = tolower(xbdeps); \ - if (length(rdeps)) parms[9] = tolower(rdeps); if (length(xrdeps)) xparms[9] = tolower(xrdeps); \ - if (length(www)) parms[10] = tolower(www); if (length(xwww)) xparms[10] = tolower(xwww); \ - } else { \ - if (length(name)) parms[1] = name; if (length(xname)) xparms[1] = xname; \ - if (length(path)) parms[2] = path; if (length(xpath)) xparms[2] = xpath; \ - if (length(info)) parms[4] = info; if (length(xinfo)) xparms[4] = xinfo; \ - if (length(maint)) parms[6] = maint; if (length(xmaint)) xparms[6] = xmaint; \ - if (length(cat)) parms[7] = cat; if (length(xcat)) xparms[7] = xcat; \ - if (length(bdeps)) parms[8] = bdeps; if (length(xbdeps)) xparms[8] = xbdeps; \ - if (length(rdeps)) parms[9] = rdeps; if (length(xrdeps)) xparms[9] = xrdeps; \ - if (length(www)) parms[10] = www; if (length(xwww)) xparms[10] = xwww; \ - } \ - fields["name"] = 1; names[1] = "Port"; \ - fields["path"] = 2; names[2] = "Path"; \ - fields["info"] = 4; names[4] = "Info"; \ - fields["maint"] = 6; names[6] = "Maint"; \ - fields["cat"] = 7; names[7] = "Index"; \ - fields["bdeps"] = 8; names[8] = "B-deps"; \ - fields["rdeps"] = 9; names[9] = "R-deps"; \ - fields["www"] = 10; names[10] = "WWW"; \ - split(display, d, /,[ \t]*/); \ - split(xdisplay, xd, /,[ \t]*/); \ - for (i in d) { \ - toprint = 1;\ - for (j in xd) { \ - if (d[i] == xd[j] ) { \ - toprint=0; \ - break;\ - }\ - } \ - if (toprint == 1 ) disp[fields[d[i]]] = 1; \ - } \ - } \ - { \ - if (substr($$2, 1, therelen) != there) \ - next; \ - for (i in parms) \ - if ((icase ? tolower($$i) : $$i) !~ parms[i]) \ - next; \ - for (i in xparms) \ - if ((icase ? tolower($$i) : $$i) ~ xparms[i]) \ - next; \ - found = 0; \ - for (i = 1; i < 11; i++) \ - if (i in disp) { \ - if (xkeylim && (icase ? tolower($$i) : $$i) ~ xkey) \ - next; \ - if (!found && keylim && (icase ? tolower($$i) : $$i) ~ key) \ - found = 1; \ - } \ - if (keylim && !found) \ - next; \ - for (i = 1; i < 11; i++) \ - if (i in disp) \ - printf("%s:\t%s\n", names[i], $$i); \ - print(""); \ - }' ${INDEXDIR}/${INDEXFILE}; \ - fi - -search: - @${_PORTSEARCH} - -quicksearch: - @export display="name,path,info" ; \ - ${_PORTSEARCH} diff --git a/devel/portmk/files/ChangeLog b/devel/portmk/files/ChangeLog deleted file mode 100644 index 8a21f166e0ef..000000000000 --- a/devel/portmk/files/ChangeLog +++ /dev/null @@ -1,3 +0,0 @@ -- 2004-07-05: Initial release - -Rewrite of the distfile fetching code, minor makefile cleanup. diff --git a/devel/portmk/files/Features b/devel/portmk/files/Features deleted file mode 100644 index af2d2689dbac..000000000000 --- a/devel/portmk/files/Features +++ /dev/null @@ -1,80 +0,0 @@ -In case you need to fall back to the old routines, just build the port with `omake'. - - -* completely rewritten do-fetch/checksum/makesum/fetch-list targets: - -- sort MASTER_SITES by distance or latency - -To fetch from the nearest mirrors first, install port net/p5-Geo-IP and put - -MASTER_SORT_GEOIP=yes -CC_HOME=eu - -in /etc/portmk.conf. The first time fetching may stall for about ten seconds, since all sites must be looked up first. Subsequent fetches should be *much* faster. - - -To fetch from the side with the smallest measured latency, install perl and port net/fping and add - -MASTER_SORT_FPING=yes - -to /etc/portmk.conf - -- refetch from multiple mirrors in case of a checksum mismatch (up to FETCH_REGET times) - -Instead of trying the same mirror (which might have a corrupt distfile) twice. - -- randomize MASTER_SITES by default (disable with KEEP_MASTER_SITE_ORDER) - -- new targets `missing-size' and `missing-recursive-size': calculate size of missing distribution files - - -Type - make missing-recursive-size -to check how many files you have to fetch to build the current port. To check how many files a port with subports needs overall, including files already on your local disk, do - - make DISTDIR=/nonexistent missing-recursive-size - -- new target checkdistsites, a brute-force distfile survery for home use, - use with NO_CHECKSUM to just verify the sizes without downloading the files - -NO_CHECKSUM currently works only with fetch, not wget or curl. Try - - make NO_CHECKSUM=yes checkdistsites - -to verify whether your distfiles are fetchable from every site. - -- support for integrating distinfo into the ports Makefile via `migratesum' (experimental, - multiple integrated distinfo files could be distinguised by DISTINFO_LABEL) - - -- support for SHA1 and RMD160 checksums - -- support for MASTER_SITES that don't end with a slash - -- support to substitute %FILE% in MASTER_SITES with the distfiles name - - -Useful for sites that have ...?file=xxx&download=true or cvsweb style download sites - -- fetch with curl or wget with FETCH_USE_CURL and FETCH_USE_WGET (requires installed curl or wget) - - -For people behind firewalls that need the extended capabilities. Be aware that some extra features (like size checking) are currently not availible with those download clients. - -* next generation options handling (work in progress) - -- only prototype functionality is available - -- saved configuration affects clean, describe etc. - -- the port is build with the correct default options when not configured - -- honours options given on the command line, so that portupgrade et al still work - -- custom configurations are available before bsd.port.pre.mk is included - -- completely unintrusive, a port doesn't need to be configured when the defaults are acceptable - -* ability to build packages without the need to install a port (work in progress) - -- not available yet diff --git a/devel/portmk/files/KnownIssues b/devel/portmk/files/KnownIssues deleted file mode 100644 index 17b50bf38bc7..000000000000 --- a/devel/portmk/files/KnownIssues +++ /dev/null @@ -1,2 +0,0 @@ -* List of ports that fail to fetch/build with portmk, but build with a `stock' bsd.port.mk: - diff --git a/devel/portmk/files/ReadMe b/devel/portmk/files/ReadMe deleted file mode 100644 index f9ae28a81b61..000000000000 --- a/devel/portmk/files/ReadMe +++ /dev/null @@ -1,45 +0,0 @@ -This is port devel/portmk, an alternate bsd.port.mk. - -Targets of this project are: - -- Modularization on bsd.port.mk, to make refactoring possible. - -- Better awareness of upcoming features for ports developers, - including giving them the ability to review changes and give - feedback early. - -- Faster turnaround times for development patches. - -- Widespread testing of new features. - -- Faster adoption of advanced features without endangering the - stability of the ports tree. - -This has been created as a follow-up to a proposal I sent to -portmgr@ May 13th. - -Although it is desired that the whole ports tree builds with -portmk, it is inevitable to break some ports. This may be due -to bugs in portmk, where not every change is bento-tested before -committed, or ports depending on undocumented features they -shouldn't rely upon. - -How can you help? - -- Build your ports with portmk, falling back to omake only when - necessary. Submit entries to KnownIssues in case of problems. - -- Run a tinderbox with portmk - -- Submit patches improving the code - -- Give feedback whether you like the new features, and what do - you think could be improved. - -Other available documentation: - -- Features: a list of features in portmk that are not in bsd.port.mk - -- ChangeLog: History of mayor feature additions / removals - -- KnownIssues: ports known to malfunction with portmk diff --git a/devel/portmk/files/make.conf b/devel/portmk/files/make.conf deleted file mode 100644 index 6e336784c0cd..000000000000 --- a/devel/portmk/files/make.conf +++ /dev/null @@ -1,3 +0,0 @@ - -BSDPORTMK?= ${PORTSDIR}/devel/portmk/Mk/bsd.port.mk -BSDPORTSUBDIRMK?= ${PORTSDIR}/devel/portmk/Mk/bsd.port.subdir.mk diff --git a/devel/portmk/files/omake.sh b/devel/portmk/files/omake.sh deleted file mode 100644 index 237b40985e62..000000000000 --- a/devel/portmk/files/omake.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -ef -export OLD_PORTMK=true -/usr/bin/make "$@" diff --git a/devel/portmk/files/portmk5.patch b/devel/portmk/files/portmk5.patch deleted file mode 100644 index 33c8655a2091..000000000000 --- a/devel/portmk/files/portmk5.patch +++ /dev/null @@ -1,23 +0,0 @@ -Prereq: 1.306 -Index: bsd.port.mk ---- bsd.port.mk 19 Apr 2002 07:43:50 -0000 -+++ bsd.port.mk 2 Jul 2004 20:47:18 -0000 -@@ -2,5 +2,6 @@ - - PORTSDIR?= /usr/ports -+BSDPORTMK?= ${PORTSDIR}/Mk/bsd.port.mk - - .include <bsd.own.mk> --.include "${PORTSDIR}/Mk/bsd.port.mk" -+.include "${BSDPORTMK}" -Prereq: 1.30 -Index: bsd.port.subdir.mk ---- bsd.port.subdir.mk 19 Apr 2002 07:43:50 -0000 -+++ bsd.port.subdir.mk 2 Jul 2004 20:47:18 -0000 -@@ -2,4 +2,5 @@ - - PORTSDIR?= /usr/ports -+BSDPORTSUBDIRMK?= ${PORTSDIR}/Mk/bsd.port.subdir.mk - --.include "${PORTSDIR}/Mk/bsd.port.subdir.mk" -+.include "${BSDPORTSUBDIRMK}" diff --git a/devel/portmk/pkg-descr b/devel/portmk/pkg-descr deleted file mode 100644 index 4f4fc5ec09ab..000000000000 --- a/devel/portmk/pkg-descr +++ /dev/null @@ -1,19 +0,0 @@ -This is port devel/portmk, an alternate bsd.port.mk. - -Targets of this project are: - -- Modularization on bsd.port.mk, to make refactoring possible. - -- Better awareness of upcoming features for ports developers, - including giving them the ability to review changes and give - feedback early. - -- Faster turnaround times for development patches. - -- Widespread testing of new features. - -- Faster adoption of advanced features without endangering the - stability of the ports tree. - -This has been created as a follow-up to a proposal I sent to -portmgr@ May 13th. diff --git a/devel/portmk/pkg-message b/devel/portmk/pkg-message deleted file mode 100644 index 1bbd55d630b7..000000000000 --- a/devel/portmk/pkg-message +++ /dev/null @@ -1,14 +0,0 @@ -Port devel/portmk has been successfully installed. - -To activate the alternate bsd.port.mk version, do - - cd %%PORTSDIR%%/devel/portmk; make activate - -To build a port with the classic bsd.port.mk version, do - - omake <... other args ...> - -Documentation is available at - - %%DOCSDIR%%/ReadMe - diff --git a/devel/porttools/Makefile b/devel/porttools/Makefile deleted file mode 100644 index 885a5e681f17..000000000000 --- a/devel/porttools/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -# New ports collection makefile for: porttools -# Date created: 2003-06-18 -# Whom: Sergei Kolobov <sergei@kolobov.com> -# -# $FreeBSD$ -# - -PORTNAME= porttools -PORTVERSION= 0.77 -CATEGORIES= devel -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} -MASTER_SITE_SUBDIR= ${PORTNAME} - -MAINTAINER= sergei@FreeBSD.org -COMMENT= Tools for testing and submitting port updates and new ports - -RUN_DEPENDS= portlint:${PORTSDIR}/devel/portlint \ - cdiff:${PORTSDIR}/textproc/cdiff \ - sudo:${PORTSDIR}/security/sudo - -.if !defined(WITHOUT_NEWFILE) -RUN_DEPENDS+= newfile:${PORTSDIR}/devel/newfile -.endif - -.if !defined(NOPORTDOCS) -INSTALL_TARGET= install install-docs -.endif - -MAKE_ENV= DATADIR="${DATADIR}" DOCSDIR="${DOCSDIR}" -MAN1= port.1 -MAN5= porttools.5 - -.include <bsd.port.mk> diff --git a/devel/porttools/distinfo b/devel/porttools/distinfo deleted file mode 100644 index 21aa7ada63e5..000000000000 --- a/devel/porttools/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (porttools-0.77.tar.gz) = 2de9a0d3578826f09c91e6bdcb0d7263 -SHA256 (porttools-0.77.tar.gz) = 618b810f44a0859045a7f692690c221d4ac8773fa97ad7e5c7a364ac0ed7ada0 -SIZE (porttools-0.77.tar.gz) = 19071 diff --git a/devel/porttools/pkg-descr b/devel/porttools/pkg-descr deleted file mode 100644 index 1b9daf320343..000000000000 --- a/devel/porttools/pkg-descr +++ /dev/null @@ -1,9 +0,0 @@ -FreeBSD Port Tools includes the following commands: -- port create: create a new port from a template -- port diff: generate a diff against a previous version of the port -- port fetch: fetch distfile(s) of a new version of the port -- port help: display usage summary for port(1) commands -- port submit: submit a PR with new port, or port change/update -- port test: automate testing a new port or a port update - -WWW: http://sourceforge.net/projects/porttools/ diff --git a/devel/porttools/pkg-plist b/devel/porttools/pkg-plist deleted file mode 100644 index 75f8ec904805..000000000000 --- a/devel/porttools/pkg-plist +++ /dev/null @@ -1,20 +0,0 @@ -@comment $FreeBSD$ -bin/port -%%DATADIR%%/cmd_commit -%%DATADIR%%/cmd_create -%%DATADIR%%/cmd_diff -%%DATADIR%%/cmd_fetch -%%DATADIR%%/cmd_getpr -%%DATADIR%%/cmd_help -%%DATADIR%%/cmd_install -%%DATADIR%%/cmd_submit -%%DATADIR%%/cmd_test -%%DATADIR%%/cmd_upgrade -%%DATADIR%%/util_diff -%%PORTDOCS%%%%DOCSDIR%%/LICENSE -%%PORTDOCS%%%%DOCSDIR%%/README -%%PORTDOCS%%%%DOCSDIR%%/NEWS -%%PORTDOCS%%%%DOCSDIR%%/THANKS -%%PORTDOCS%%%%DOCSDIR%%/TODO -%%PORTDOCS%%@dirrm %%DOCSDIR%% -@dirrm %%DATADIR%% diff --git a/lang/python/Makefile b/lang/python/Makefile index 069966fc5f61..e00768f64250 100644 --- a/lang/python/Makefile +++ b/lang/python/Makefile @@ -41,7 +41,7 @@ upgrade-site-packages: fi; \ done; \ else \ - ${ECHO_MSG} "Please install sysutils/portupgrade."; \ + ${ECHO_MSG} "Please install ports-mgmt/portupgrade."; \ ${FALSE}; \ fi diff --git a/misc/Makefile b/misc/Makefile index 807b2af27e3b..cdff5e4e80a6 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -156,7 +156,6 @@ SUBDIR += imerge SUBDIR += inplace SUBDIR += instant-server - SUBDIR += instant-tinderbox SUBDIR += ipbt SUBDIR += iselect SUBDIR += iso-codes @@ -382,9 +381,6 @@ SUBDIR += phraze SUBDIR += pinfo SUBDIR += pipe - SUBDIR += porteasy - SUBDIR += portell - SUBDIR += portless SUBDIR += posixtestsuite SUBDIR += proj4 SUBDIR += projectionlib @@ -440,7 +436,6 @@ SUBDIR += terraform SUBDIR += tet SUBDIR += thailocale - SUBDIR += tinderbox SUBDIR += tkinfo SUBDIR += tkman SUBDIR += tkregexp diff --git a/misc/instant-tinderbox/Makefile b/misc/instant-tinderbox/Makefile deleted file mode 100644 index f1928acd0c57..000000000000 --- a/misc/instant-tinderbox/Makefile +++ /dev/null @@ -1,77 +0,0 @@ -# New ports collection makefile for: instant-tinderbox -# Date created: 28 November 2005 -# Whom: Edwin Groothuis -# -# $FreeBSD$ -# - -PORTNAME= instant-tinderbox -PORTVERSION= 1.0 -PORTREVISION= 2 -CATEGORIES= misc -DISTFILES= - -MAINTAINER= edwin@mavetju.org -COMMENT= Build a whole bunch of often-required ports for a tinderbox environment - -.if !defined(TINDERD_SLEEPTIME) -IGNORE= should only be build from within a Tinderbox environment -.endif - -############################################################################### - -USE_SDL= ${_USE_SDL_ALL} - -USE_GNOME= gnomelibs - -USE_KDELIBS_VER= 3 -USE_QT_VER= 3 - -USE_MYSQL= yes -USE_PGSQL= yes -USE_BDB= yes -USE_SQLITE= yes - -USE_APACHE= yes - -USE_PHP= yes - -USE_TCL= yes -USE_TK= yes - -USE_XLIB= yes -USE_PERL5= yes - -USE_ICONV= yes -USE_GETTEXT= yes - -USE_GMAKE= yes - -USE_GHOSTSCRIPT=yes -USE_BISON= yes -USE_FREETYPE= yes -USE_GL= yes -USE_XPM= yes -USE_OPENLDAP= yes -USE_FAM= yes -USE_PYTHON= yes -USE_RUBY= yes -USE_LINUX= yes - -.for v in 213 253 259 -RUN_DEPENDS+= autoconf${v}:${PORTSDIR}/devel/autoconf${v} -.endfor -.for v in 14 15 19 -RUN_DEPENDS+= automake${v}:${PORTSDIR}/devel/automake${v} -.endfor - -############################################################################### - -NO_BUILD= yes -PLIST_FILES= -NO_WRKSUBDIR= yes - -do-install: - ${DO_NADA} - -.include <bsd.port.mk> diff --git a/misc/instant-tinderbox/pkg-descr b/misc/instant-tinderbox/pkg-descr deleted file mode 100644 index 5bafc6674c29..000000000000 --- a/misc/instant-tinderbox/pkg-descr +++ /dev/null @@ -1,8 +0,0 @@ -This port is simlar to misc/instant-workstation or misc/instant-server. -It creates a whole lot of often used ports, so that after a cvsup -on a tinderbox build system, you can just tinderbuild this port and -all primary dependencies are updated. - -If you think a port is missing, let me know! - -Author: Edwin Groothuis <edwin@mavetju.org> diff --git a/misc/porteasy/Makefile b/misc/porteasy/Makefile deleted file mode 100644 index 556ec885ec92..000000000000 --- a/misc/porteasy/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# New ports collection makefile for: porteasy -# Date created: September 19th 2000 -# Whom: des -# -# $FreeBSD$ -# -# This port is self contained in the src directory. -# - -PORTNAME= porteasy -PORTVERSION= 2.8.4 -CATEGORIES= misc -MASTER_SITES= # none -DISTFILES= # none - -MAINTAINER= des@FreeBSD.org -COMMENT= A tool for fetching and building ports - -NO_BUILD= yes -NO_WRKSUBDIR= yes -USE_PERL5= yes - -SRC= ${.CURDIR}/src - -MAN8= porteasy.8 - -do-fetch: - @${DO_NADA} - -do-configure: - @${SED} "s,%%PREFIX%%,${PREFIX}," ${SRC}/porteasy.pl >${WRKDIR}/porteasy -do-install: - @${INSTALL_SCRIPT} ${WRKDIR}/porteasy ${PREFIX}/bin/porteasy - @${INSTALL_MAN} ${SRC}/porteasy.8 ${PREFIX}/man/man8 - -.include <bsd.port.mk> diff --git a/misc/porteasy/pkg-descr b/misc/porteasy/pkg-descr deleted file mode 100644 index 2a2391f38f59..000000000000 --- a/misc/porteasy/pkg-descr +++ /dev/null @@ -1,22 +0,0 @@ -Porteasy lets you install ports and build packages without maintaining -a full ports tree. It achieves this by scanning the ports index for -dependency information, and using CVS to update only the ports you -requested and their dependencies. - -Here are some of the things porteasy does for you: - - - automatically update the necessary files (and only the necessary - files) using CVS (including anoncvs support) - - - list all of a port's dependencies, optionally hiding those that - are already installed - - - fetch all the necessary distfiles right away, in a single batch, - so you don't have to wait for one dependency to build before - fetching the next one's distfile. Dialup users will love this. - - - build and install arbitrary ports. - - - build packages. - - -- des@freebsd.org diff --git a/misc/porteasy/pkg-plist b/misc/porteasy/pkg-plist deleted file mode 100644 index 6b52c1b30876..000000000000 --- a/misc/porteasy/pkg-plist +++ /dev/null @@ -1 +0,0 @@ -bin/porteasy diff --git a/misc/porteasy/src/porteasy.8 b/misc/porteasy/src/porteasy.8 deleted file mode 100644 index 007088877156..000000000000 --- a/misc/porteasy/src/porteasy.8 +++ /dev/null @@ -1,354 +0,0 @@ -.\"- -.\" Copyright (c) 2000-2005 Dag-Erling Coïdan Smørgrav -.\" 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. -.\" -.\" $FreeBSD$ -.\" -.Dd August 12, 2005 -.Dt PORTEASY 8 -.Os -.Sh NAME -.Nm porteasy -.Nd fetch and build ports -.Sh SYNOPSIS -.Nm -.Op Fl AabCceFfhIikLlRSsuVvw -.Op Fl D Ar date -.Op Fl d Ar dir -.Op Fl p Ar dir -.Op Fl r Ar dir -.Op Fl t Ar tag -.Op Ar port | Fl D Ns Ar VAR | Fl D Ns Ar VAR Ns = Ns Ar VAL ... -.Sh DESCRIPTION -.Nm -maintains an updated ports tree, and fetches and builds ports -automatically, keeping track of dependencies. -.Pp -The following options are available: -.Bl -tag -width Fl -.It Fl a -Use one of the FreeBSD project's anonymous CVS servers. -Note that this forces the use of -.Xr ssh 1 , -regardless of the -.Fl R -and -.Fl S -options. -.It Fl b -Build the selected ports. -.It Fl C -Don't clean port directories after building. -.It Fl c -Clean the selected ports. -.It Fl D Ar date -Specify a date to use for -.Xr cvs 1 -operations. -.It Fl d Ar dir -Specify the package database directory (normally -.Pa /var/db/pkg ) . -.It Fl e -Deselect ports that are already installed. -.It Fl F -Force installation and registration, even if the port is already -installed. -.It Fl f -Fetch the selected ports. -.It Fl h -Show a summary of options and parameters. -.It Fl I -Select installed ports. -.It Fl i -Describe the selected ports. -.It Fl k -Build packages for the selected ports. -.It Fl L -List the packing lists for the selected ports. -.It Fl l -List the selected ports. -.It Fl p Ar dir -Specify the ports directory (normally -.Pa /usr/ports ) . -.It Fl R -Force the use of -.Xr rsh 1 -to connect to remote CVS repositories. -By default, -.Nm -respects the existing -.Ev CVS_RSH -setting. -This option is ignored when using anoncvs. -.It Fl r Ar dir -Specify the location of the CVS repository. -.It Fl S -Force the use of -.Xr ssh 1 -to connect to remote CVS repositories. -By default, -.Nm -respects the existing -.Ev CVS_RSH -setting. -This option is ignored when using anoncvs. -.It Fl s -Indicate the installation status of the selected ports. -Each selected port is listed with a symbol indicating its status: -.Bl -tag -width 3n -.It Ql \&! -Not installed. -.It Ql " " -Up-to-date. -.It Ql \&< -Older than the version in the ports tree. -.It Ql \&> -Newer than the version in the ports tree. -.El -.Pp -If the -.Fl s -option is specified and no ports are specified on the command line, -all installed ports are selected as if the -.Fl I -option had been specified. -.It Fl t Ar tag -Specify a tag to use for -.Xr cvs 1 -operations. -.It Fl u -Update all necessary files using -.Xr cvs 1 . -.It Fl V -Show the -.Nm -version number and exit. -.It Fl v -Verbose mode: show more information about what is being done. -.It Fl w -Show the URL of the port's web site if there is one listed in the port -description. -.El -.Ss Environment settings -Any command line argument of the form -.Fl D Ns Ar VAR , -.Fl D Ns Ar VAR Ns = Ns Ar VAL -or -.Ar VAR Ns = Ns Ar VAL -is interpreted as a variable assignment which will be exported into -subprocesses' environments. -Thus compile-time configuration options can be specified on the -.Nm -command line. -.Ss Port names -The port names listed on the command line may be either unqualified or -fully qualified. -A fully qualified port name is the path to the port directory relative -to the root of the ports tree (i.e. the port's category and name -separated by a slash). -An unqualified port name is the name of the package built by the -intended port, or part of that name. -.Pp -Unqualified names need to be looked up in the ports index, which is -usually slightly out of date, so fully qualified names should be used -whenever possible. -.Ss Sequence of operation -This section describes the operations performed by -.Nm -and the order in which they are performed. -.Bl -tag -width indent -.It Update ports tree infrastructure -If the -.Fl u -option was specified, the root of the ports tree and important -subdirectories -.Po -.Pa Mk , -.Pa Templates -and -.Pa Tools -.Pc -are updated using -.Xr cvs 1 . -If possible, an up-to-date index is retrieved from the -.Fx -website; otherwise, the version obtained from CVS will be used. -.It Select ports -The selection list is initialized with the ports listed on the command -line (and, if the -.Fl I -option was specified, all installed ports) marked as explicit -dependencies. -Any unqualified names are looked up in the index, using simple -heuristics to identify incompletely named ports. -If a certain match is not found, -.Nm -prints a list of possible matches and exits. -.Pp -All direct and indirect dependencies (except, if the -.Fl e -option was specified, -those that are already installed) are also selected and marked as -dependencies. -.It Update ports tree and discover dependencies -If the -.Fl u -option was specified, the port directories for all selected ports are -updated using -.Xr cvs 1 . -Each selected port's Makefile is scanned to discover dependencies, -which are in turn selected and marked as implicit dependencies. -This process is repeated until no new dependencies are found. -.It Deselect installed ports -.Pp -If the -.Fl e -option was specified, -.Nm -checks to see if any of the selected ports are already installed; -those that are are deselected. -This process is not very accurate, as it sometimes fails to detect -that an older or alternate version of a selected port is installed. -.It List selected ports -If the -.Fl l -option was specified, the fully qualified name and package name of all -selected ports are listed. -Explicitly selected ports are indicated with a star. -.It List installed ports -If the -.Fl s -option was specified, all selected ports are listed with their status. -.It Show packing lists -If the -.Fk L -option was specified, the packing lists for all explicitly selected -ports are shown. -.It Describe selected ports -If the -.Fl i -option was specified, -.Nm -prints a description of each port that was specified on the command -line. -.It Show the URLs of the selected ports' web sites -If the -.Fl w -option was specified, -.Nm -prints the URL of the web site of each port that was specified on the -command line, if a URL is listed in that port's description. -.It Clean the tree -If the -.Fl c -option was specified, -.Nm -runs the -.Sq clean -target on every selected port. -If no ports were selected, -.Nm -runs the -.Sq clean -target on every known port that is present in the tree. -.It Fetch ports -If at least one of the -.Fl b , -.Fl f -or -.Fl k -options was specified, -.Nm -runs the -.Sq checksum -target on every selected port. -This fetches the distfiles and verifies their checksums. -.It Build, install, package, clean ports -If one or both of the -.Fl f -or -.Fl k -options were specified, -.Nm -runs the -.Sq install -or -.Sq package -target, followed by the -.Sq clean -target (unless the -.Fl C -option was specified), on every explicitly selected port. -.Nm -lets the ports system handle dependencies on its own, since the -reported dependencies are sometimes too inclusive. -.El -.Sh IMPLEMENTATION NOTES -There may be a significant difference between what ports are selected -(and listed if the -.Fl l -option is specified) and what ports are actually installed and/or have -packages built for them, since implicitly selected ports that are -already installed, or somehow pass the dependency check (e.g. because -an alternate, equivalent port has been installed) will be passed over -by the ports system, as indeed they should. -.Pp -.Nm -tries to minimize the number of times -.Xr cvs 1 -is invoked, since the overhead involved in connecting to a remote -server is usually quite high (and the user might have to type a -password every time), but prefers correctness to performance. -The maximum number of invocations is (2 + NC + NP), where NC and NP -are the number of distinct categories and ports (including master -directories and dependencies). -.Sh ENVIRONMENT -.Bl -tag -width PORTEASY_OPTIONS -.It Ev PORTEASY_OPTIONS -Specifies a set of default options for -.Nm . -These options can be overridden by command line parameters. -.El -.Pp -The following variables are removed from the environment before any -work is performed: -.Ev CLASSPATH , -.Ev LD_* , -.Ev JAVA_* , -.Ev USE_* , -.Ev WANT_* . -.Sh FILES -.Nm -maintains and operates on a ports tree, normally -.Pa /usr/ports . -Some information is gathered from the package database, normally -located in -.Pa /var/db/pkg . -.Sh AUTHORS -.Nm -was written by -.An Dag-Erling Smørgrav Aq des@FreeBSD.org . -Several people contributed their comments and suggestions, most -notably -.An Eivind Eklund Aq eivind@FreeBSD.org . diff --git a/misc/porteasy/src/porteasy.pl b/misc/porteasy/src/porteasy.pl deleted file mode 100644 index a1c4da3e39c7..000000000000 --- a/misc/porteasy/src/porteasy.pl +++ /dev/null @@ -1,1367 +0,0 @@ -#!/usr/bin/perl -w -#- -# Copyright (c) 2000-2005 Dag-Erling Coïdan Smørgrav -# 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 -# in this position and unchanged. -# 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. -# -# $FreeBSD$ -# - -use strict; -use Fcntl; -use Getopt::Long; - -my $VERSION = "2.8.4"; -my $COPYRIGHT = "Copyright (c) 2000-2005 Dag-Erling Smørgrav. " . - "All rights reserved."; - -# Constants -sub ANONCVS_ROOT { ":ext:anoncvs\@anoncvs.FreeBSD.org:/home/ncvs" } -sub REQ_EXPLICIT { 1 } -sub REQ_IMPLICIT { 2 } - -sub PATH_BZIP2 { "/usr/bin/bzip2" } -sub PATH_CVS { "/usr/bin/cvs" } -sub PATH_FETCH { "/usr/bin/fetch" } -sub PATH_LDCONFIG { "/sbin/ldconfig" } -sub PATH_MAKE { "/usr/bin/make" } -sub PATH_RSH { "/usr/bin/rsh" } -sub PATH_SSH { "/usr/bin/ssh" } - -# Global parameters -my $dbdir = "/var/db/pkg"; # Package database directory -my $index = undef; # INDEX file -my $moved = undef; # MOVED file -my $portsdir = "/usr/ports"; # Ports directory -my $tag = undef; # CVS tag to use -my $date = undef; # CVS date to use -my $release = undef; # OS release - -# Global flags -my $anoncvs = 0; # Use anoncvs1.FreeBSD.org -my $clean = 0; # Clean ports -my $cvsroot = 0; # CVS root directory -my $exclude = 0; # Do not list installed ports -my $fetch = 0; # Fetch ports -my $force = 0; # Force package registration -my $installed = 0; # Select installed ports -my $info = 0; # Show port info -my $dontclean = 0; # Don't clean after build -my $packages = 0; # Build packages -my $list = 0; # List ports -my $plist = 0; # Print packing list -my $build = 0; # Build ports -my $status = 0; # List installed ports and their status -my $update = 0; # Update ports tree from CVS -my $verbose = 0; # Verbose mode -my $website = 0; # Show website URL - -# Global variables -my $need_deps; # Need dependency information -my $have_index; # INDEX has been read -my $have_moved; # MOVED has been read -my %ports; # Maps ports to their directory. -my %pkgname; # Inverse of the above map -my %masterport; # Maps ports to their master ports -my %reqd; # Ports that need to be installed -my %have_dep; # Dependencies that are already present -my %port_dep; # Map ports to their dependency lists -my %installed; # Installed ports -my %moved; # Ports that have moved -my $capture; # Capture output - -# -# Set process title -# -sub setproctitle(;$) { - my $title = shift; - - $0 = "porteasy $VERSION"; - $0 .= ": $title" - if defined($title); -} - -# -# Shortcut for 'print STDERR' -# -sub stderr(@) { - print(STDERR @_); -} - -# -# Similar to err(3) -# -sub bsd::err($$@) { - my $code = shift; # Return code - my $fmt = shift; # Format string - my @args = @_; # Arguments - - my $msg; # Error message - - $msg = sprintf($fmt, @args); - stderr("$msg: $!\n"); - exit($code); -} - -# -# Similar to errx(3) -# -sub bsd::errx($$@) { - my $code = shift; # Return code - my $fmt = shift; # Format string - my @args = @_; # Arguments - - my $msg; # Error message - - $msg = sprintf($fmt, @args); - stderr("$msg\n"); - exit($code); -} - -# -# Similar to warn(3) -# -sub bsd::warn($@) { - my $fmt = shift; # Format string - my @args = @_; # Arguments - - my $msg; # Error message - - $msg = sprintf($fmt, @args); - stderr("$msg: $!\n"); -} - -# -# Similar to warnx(3) -# -sub bsd::warnx($@) { - my $fmt = shift; # Format string - my @args = @_; # Arguments - - my $msg; # Error message - - $msg = sprintf($fmt, @args); - stderr("$msg\n"); -} - -# -# Call the specified sub with $capture set -# -sub capture($@) { - my $subr = shift; # Subroutine to call - my @args = @_; # Arguments - - my $oldcapture; # Old capture flag - my $rtn; # Return value - - $oldcapture = $capture; - $capture = 1; - $rtn = &{$subr}(@args); - $capture = $oldcapture; - return $rtn; -} - -# -# Print an info message -# -sub info(@) { - - my $msg; # Message - - if ($verbose) { - $msg = join(' ', @_); - chomp($msg); - stderr("$msg\n"); - } -} - -# -# Print an info message about a subprocess -# -sub cmdinfo(@) { - info(">>>", @_); -} - -# -# Change working directory -# -sub cd($) { - my $dir = shift; # Directory to change to - - cmdinfo("cd $dir"); - chdir($dir) - or bsd::err(1, "unable to chdir to %s", $dir); -} - -# -# Run a command and return its output -# -sub cmd($@) { - my $cmd = shift; # Command to run - my @args = @_; # Arguments - - my $pid; # Child pid - local *PIPE; # Pipe - my $output; # Output - my $rtn; # Return value - - cmdinfo(join(" ", $cmd, @args)); - $pid = ($capture || $verbose) ? open(PIPE, "-|") : fork(); - if (!defined($pid)) { - bsd::err(1, ($capture || $verbose) ? "open()" : "fork()"); - } elsif ($pid == 0) { - exec($cmd, @args); - die("child: exec(): $!\n"); - } - if ($capture || $verbose) { - $output = ""; - while (<PIPE>) { - $output .= $_; - if ($verbose) { - stderr($_); - } - } - } - $rtn = ($capture || $verbose) ? close(PIPE) : (waitpid($pid, 0) == $pid); - if (!$rtn) { - if ($? & 0xff) { - bsd::warnx("%s caught signal %d", $cmd, $? & 0x7f); - } elsif ($? >> 8) { - bsd::warnx("%s returned exit code %d", $cmd, $? >> 8); - } else { - bsd::warn("close()"); - } - return undef; - } - if ($capture) { - $output =~ s/\n*$//s; - return $output; - } - return 1; -} - -# -# Run CVS -# -sub cvs($;@) { - my $cmd = shift; # CVS command - - my @args; # Arguments to CVS - - if (!$update) { - return "\n"; - } - if (!$verbose) { - push(@args, "-q"); - } - push(@args, "-f", "-z3", "-R", "-d$cvsroot", $cmd, "-A", "-T"); - if ($cmd eq "checkout") { - push(@args, "-P"); - } elsif ($cmd eq "update") { - push(@args, "-P", "-d"); - } - if ($tag) { - push(@args, "-r$tag"); - } - if ($date) { - push(@args, "-D$date"); - } - push(@args, @_); - return cmd(&PATH_CVS, @args); -} - -# -# Run make -# -sub make($@) { - my $port = shift; # Port category/name - my @args = @_; - - push(@args, "PORTSDIR=$portsdir") - unless ($portsdir eq "/usr/ports"); - cd("$portsdir/$port"); - return cmd(&PATH_MAKE, @args); -} - -# -# The undocumented command. -# -sub ecks() { - - local *FILE; # File handle - - sysopen(FILE, "/var/db/port.mkversion", O_RDWR|O_CREAT|O_TRUNC, 0644) - or bsd::err(1, "open()"); - print(FILE "20380119\n"); - close(FILE); -} - -# -# Update the root of the ports tree -# -sub update_root() { - - my $parent; # Parent directory - - $parent = $portsdir; - $parent =~ s/\/*ports\/*$//; - if (! -d "ports/CVS") { - cd($parent); - cvs("checkout", "-l", "ports") - or bsd::errx(1, "error checking out the root of the ports tree"); - cd($portsdir); - } else { - cd($portsdir); - cvs("update", "-l") - or bsd::errx(1, "error updating the root of the ports tree"); - } - if ($packages && ! -d "$portsdir/packages") { - mkdir("$portsdir/packages", 0777) - or bsd::errx(1, "error creating the package directory"); - } - cvs("update", "Mk", "Templates", "Tools") - or bsd::errx(1, "error updating the ports infrastructure"); - $moved = "$portsdir/MOVED"; -} - -# -# Update the index -# -sub update_index() { - - my $ifn; # Index file name - - cd($portsdir); - $ifn = capture(\&cmd, ("make", "-VINDEXFILE")); - if ($update || ! -f $ifn) { - my $izfn = "$ifn.bz2"; - info("Retrieving $izfn"); - if (!cmd(&PATH_FETCH, $verbose ? "-mv" : "-m", - "http://www.freebsd.org/ports/$izfn") || ! -f $izfn) { - bsd::errx(1, "Failed to retrieve index file"); - } - if (! -f $ifn || (stat($izfn))[9] > (stat($ifn))[9]) { - info("Decompressing $izfn"); - if (!cmd(&PATH_BZIP2, "-dfk", $izfn)) { - bsd::errx(1, "Failed to decompress index file"); - } - } - } - $index = "$portsdir/$ifn"; - if (! -f $index) { - $index = "$portsdir/INDEX"; - } -} - -# -# Read the ports index -# -sub read_index() { - - local *INDEX; # File handle - my $line; # Line from file - - return if ($have_index); - update_index(); - info("Reading $index"); - sysopen(INDEX, $index, O_RDONLY) - or bsd::err(1, "can't open $index"); - while ($line = <INDEX>) { - my @port; # Port info - - @port = split(/\|/, $line, 3); - $port[1] =~ s|^/usr/ports/*||; - $ports{$port[0]} = $port[1]; - $pkgname{$port[1]} = $port[0]; - } - close(INDEX); - info(keys(%ports) . " ports in index"); - $have_index = 1; -} - -# -# Read the list of moved ports -# -sub read_moved() { - - local *MOVED; # File handle - my $line; # Line from file - - return if ($have_moved); - info("Reading $moved"); - sysopen(MOVED, $moved, O_RDONLY) - or bsd::err(1, "can't open $moved"); - while ($line = <MOVED>) { - if ($line =~ m/^([\w\/-]+)\|([\w\/-]*)\|([\d-]+)\|(.*)$/) { - $moved{$1} = [ $2, $3, $4 ]; - } - } - $have_moved = 1; -} - -# -# Find a port by a portion of it's package name -# -sub find_port($) { - my $port = shift; # Port to find - - my @suggest; # Suggestions - - stderr("Can't find required port '$port'"); - my $portre = $port; - $portre =~ s/([^\w\*\?])/\\$1/g; - $portre =~ s/\*/\.\*/g; - $portre =~ s/\?/\./g; - @suggest = grep(/^$portre/i, keys(%ports)); - if (@suggest == 1 && $suggest[0] =~ m/^$portre[0-9.-]/) { - $port = $ports{$suggest[0]}; - stderr(", assuming you mean $pkgname{$port}.\n"); - return $port; - } elsif (@suggest) { - stderr(", maybe you mean:\n " . (join("\n ", @suggest))); - } - stderr("\n"); - return undef; -} - -# -# Find out if a port has moved -# -sub find_moved($) { - my $port = shift; # Port to check - - my $date = "1900-01-01"; - - if (!$have_moved) { - read_moved(); - } - while (exists($moved{$port}) && $moved{$port}->[1] gt $date) { - if (!$moved{$port}->[0]) { - info("$port was removed" . - " on $moved{$port}->[1]: $moved{$port}->[2]"); - return undef; - } - info("$port was renamed to $moved{$port}->[0]" . - " on $moved{$port}->[1]: $moved{$port}->[2]"); - ($port, $date) = @{$moved{$port}}; - } - return $port; -} - -# -# Add a port to the list of required ports -# -sub add_port($$) { - my $port = shift; # Port to add - my $req = shift; # Requirement (explicit or implicit) - - my $realport; # Real port name - - if ($port =~ m|^([^/]+/[^/]+)$|) { - $realport = $1; - } else { - if (!$have_index) { - read_index(); - } - if (exists($ports{$port})) { - $realport = $ports{$port}; - } else { - $realport = find_port($port); - } - if ($realport) { - $realport = find_moved($realport); - } - } - if (!$realport) { - return 1; - } - if (!exists($reqd{$realport})) { - $reqd{$realport} = 0; - } - $reqd{$realport} |= $req; - return 0; -} - -# -# Get the ORIGIN line from a manifest -# -sub get_origin($) { - my $port = shift; # Port to inspect - - local *FILE; # File handle - my $origin; # Origin - - if (!sysopen(FILE, "$dbdir/$port/+CONTENTS", O_RDONLY)) { - bsd::warn("can't read manifest for $port"); - return undef; - } - while (<FILE>) { - if (m/^\@comment\s+ORIGIN:(.*)\s*$/) { - $origin = $1; - last; - } - } - close(FILE); - if (!$origin) { - warn("$port has no known origin\n"); - return undef; - } - info("$port -> $origin\n"); - $origin = find_moved($origin); - return $origin; -} - -# -# Get list of installed ports -# -sub get_installed() { - - local *DIR; # Directory handle - my $port; # Installed port - my $origin; # Port's origin - - opendir(DIR, $dbdir) - or bsd::err(1, "can't read database directory"); - foreach $port (readdir(DIR)) { - next if ($port eq "." || $port eq ".." || ! -d "$dbdir/$port"); - $origin = get_origin($port); - if (!defined($origin) || !$origin) { - bsd::warnx("$port has no known origin"); - } else { - if ($installed{$origin}) { - bsd::warnx("$origin is already installed as " . - join(', ', @{$installed{$origin}})); - } else { - $installed{$origin} = [ ]; - } - push(@{$installed{$origin}}, $port); - } - } - closedir(DIR); -} - -# -# Find master directory for a port -# -sub find_master($) { - my $port = shift; # Port - - local *FILE; # File handle - - if ($masterport{$port}) { - return $masterport{$port}; - } - - # Look for MASTERDIR in the Makefile. We can't use 'make -V' - # because the Makefile might try to include the master port's - # Makefile, which might not be checked out yet. - sysopen(FILE, "$portsdir/$port/Makefile", O_RDONLY) - or bsd::err(1, "unable to read Makefile for $port"); - while (<FILE>) { - my $master; # Master directory - - if (/^MASTERDIR\s*=\s*(\S+)\s*$/) { - $master = $1; - } elsif (/^\.?include \"([^\s\"]+)\/(?:[^\s\/\"]*)\"\s*$/) { - $master = $1; - } - if (defined($master) && $master !~ m/WRKDIRPREFIX/) { - $master =~ s/^\$\{.CURDIR\}//; - $master =~ s/^\$\{PORTSDIR\}/..\/../; - $master = "/$port/$master"; - $master =~ s|/+|/|g; - 1 while ($master =~ s|/[^\./]*/\.\./|/|); - $master =~ s|^/||; - $master =~ s|/$||; - if ($master eq $port) { - #bsd::warnx("master port heuristics failed for %s", $port); - next; - } - if ($master !~ m|^[^/]+/[^/]+$|) { - bsd::warnx("invalid master for %s: %s", $port, $master); - next; - } - close(FILE); - info("$master is master for $port\n"); - return $masterport{$port} = $master; - } - } - close(FILE); - return undef; -} - -# -# Find a dynamic library -# -sub find_library($) { - my $library = shift; # Library to find - - my $ldconfig; # Output from ldconfig(8) - - $ldconfig = capture(\&cmd, (&PATH_LDCONFIG, "-r")); - defined($ldconfig) - or errx(1, "unable to run ldconfig"); - if ($ldconfig =~ m/^\s*\d+:-l$library(\.\d+)* => (.*)$/m) { - info("The $library library is installed as $2"); - return 1; - } - return 0; -} - -# -# Find a file -# -sub find_file($) { - my $file = shift; # File to find - - my $dir; # Directory - - if ($file =~ m|^/|) { - if (-e $file) { - info("$file is installed"); - return 1; - } - return 0; - } - foreach $dir (split(/:/, $ENV{'PATH'})) { - if (-x "$dir/$file") { - info("$file is installed as $dir/$file"); - return 1; - } - } - return 0; -} - -# -# Process a dependency list -# -sub add_dependencies($$@) { - my $port = shift; # Port - my $finder = shift; # Finder function - my @dependlist = @_; # Dependency list - - my $item; # Iterator - - foreach $item (@dependlist) { - $item =~ s|\`([^\`]+)\`|capture(\&cmd, "sh", "-c", $1)|eg; - 1 while ($item =~ s|/[^\./]*/\.\./|/|); - if ($item !~ m|^(?:([^:]+):)?$portsdir/([^/:]+/[^/:]+)/?(:[^:]+)?$|) { - bsd::warnx("invalid dependency: %s", $item); - next; - } - my ($lhs, $rhs, $target) = ($1, $2, $3); - next if ($port_dep{$port}->{$rhs}); - # XXX this isn't quite right; lhs-less dependencies should be - # XXX checked against /var/db/pkg or something. - if ($exclude && defined($lhs)) { - if ($have_dep{$rhs}) { - next; - } - info("Verifying status of $rhs ($lhs)"); - if (($lhs =~ m|^/| && -f $lhs) || &{$finder}($lhs)) { - info("$rhs seems to be installed"); - $have_dep{$rhs} = 1; - next; - } - $have_dep{$rhs} = -1; - } - info("Adding $rhs as a dependency for $port"); - $port_dep{$port}->{$rhs} = $target || 'install'; - } -} - -# -# Find a port's dependencies -# -sub find_dependencies($) { - my $port = shift; # Port - - my $dependvars; # Dependency variables - - return () unless $need_deps; - if (!exists($port_dep{$port})) { - $dependvars = capture(\&make, ($port, "-VLIB_DEPENDS")); - defined($dependvars) - or bsd::errx(1, "failed to obtain dependency list"); - add_dependencies($port, \&find_library, split(' ', $dependvars)); - $dependvars = capture(\&make, ($port, - "-VEXTRACT_DEPENDS", - "-VPATCH_DEPENDS", - "-VFETCH_DEPENDS", - "-VBUILD_DEPENDS", - "-VRUN_DEPENDS", - "-VDEPENDS")); - defined($dependvars) - or bsd::errx(1, "failed to obtain dependency list"); - add_dependencies($port, \&find_file, split(' ', $dependvars)); - } - return keys(%{$port_dep{$port}}); -} - -# -# Update a batch of port directories -# -my %have_updated; -sub update_ports(@) { - my @origins = @_; - - my %need_update; - - foreach my $origin (@origins) { - my ($category, $port) = split('/', $origin); - if (!exists($have_updated{$category}) || - !exists($have_updated{$category}->{$port})) { - if (!exists($need_update{$category})) { - $need_update{$category} = { }; - } - $need_update{$category}->{$port} = 1; - } - } - if (keys(%need_update)) { - cd($portsdir); - cvs("update", "-l", keys(%need_update)) - or bsd::errx(1, "error updating categories"); - foreach my $category (keys(%need_update)) { - if (!exists($have_updated{$category})) { - $have_updated{$category} = { }; - } - cd("$portsdir/$category"); - cvs("update", keys(%{$need_update{$category}})) - or bsd::errx(1, "error updating $category ports"); - foreach my $port (keys(%{$need_update{$category}})) { - $have_updated{$category}->{$port} = 1; - } - } - } -} - -# -# Update all necessary files to build the specified ports -# -sub update_ports_tree(@) { - my @ports = @_; # Ports to update - - my @more_ports; # Additional ports to update - my %processed; # Hash of processed ports - my $n; # Pass count - - @more_ports = @ports; - @ports = (); - for ($n = 0; ; ++$n) { - my $item; # Iterator - my $master; # Master port - my $dependency; # Dependency - - setproctitle("updating"); - - if (@more_ports) { - info("Ports added since previous pass:", join(' ', @more_ports)); - update_ports(@more_ports); - push(@ports, @more_ports); - @more_ports = (); - } - info("Pass $n:", @ports - keys(%processed)); - info("Ports:", sort(@ports)); - info("Processed:", sort(keys(%processed))); - last if (keys(%processed) == @ports); - - # Process all unprocessed ports we know of so far - foreach my $port (@ports) { - next if ($processed{$port}); - if (! -f "$portsdir/$port/Makefile") { - bsd::warnx("$port does not exist in $portsdir"); - $pkgname{$port} = $installed{$port}->[0] || ""; - $processed{$port} = 1; - next; - } - setproctitle("updating $port"); - - # See if the port has an unprocessed master port - if (($master = find_master($port)) && !$processed{$master}) { - info("$port has unprocessed master: $master"); - update_ports($master); - } - - # Find the port's package name - if (!exists($pkgname{$port})) { - my $makev = capture(\&make, ($port, "-VPKGNAME")); - if ($makev =~ m/^\s*(\S+)\s*$/s) { - $pkgname{$port} = $1; - } else { - bsd::warnx("failed to obtain package name for $port"); - } - } - - # Find the port's dependencies - foreach $dependency (find_dependencies($port)) { - next if ($processed{$dependency}); - add_port($dependency, &REQ_IMPLICIT); - info("Adding $dependency to back of line"); - push(@more_ports, $dependency) - unless(grep({ $_ eq $dependency } (@ports, @more_ports))); - } - - # Mark port as processed - info("marking $port as processed"); - $processed{$port} = 1; - } - } - setproctitle(); -} - -# -# Find a specific file belonging to a specific port -# -sub find_port_file($$) { - my $port = shift; # Port - my $file = shift; # File to look for - - my $master; # Master port - - $master = $port; - while (!-f "$portsdir/$master/$file") { - if (!($master = $masterport{$master})) { - bsd::errx(1, "$port has no $file"); - } - } - return "$portsdir/$master/$file"; -} - -# -# Show port info -# -sub show_port_info($) { - my $port = shift; # Port to show info for - - local *FILE; # File handle - my $info; # Port info - - sysopen(FILE, find_port_file($port, "pkg-descr"), O_RDONLY) - or bsd::err(1, "can't read description for $port"); - $info = join("| ", <FILE>); - close(FILE); - print("+--- Description for $port ($pkgname{$port}):\n| ${info}+---\n"); -} - -# -# Show port's website URL -# -sub show_port_website($) { - my $port = shift; # Port to show info for - - local *FILE; # File handle - my $website; # Port's website - - sysopen(FILE, find_port_file($port, "pkg-descr"), O_RDONLY) - or bsd::err(1, "can't read description for $port"); - while (<FILE>) { - if (m/^WWW:\s*(\S+)\s*$/) { - $website = $1; - } - } - close(FILE); - if (!defined($website)) { - bsd::warnx("No website for $port"); - } else { - print("$website\n"); - } -} - -# -# Show port plist -# -sub show_port_plist($) { - my $port = shift; # Port to show plist for - - my $master; # Master port - local *FILE; # File handle - my $file; # File name - my %files; # Files to list - my $plist_sub; # Substitution list (text) - my %plist_sub; # Substitution list (hash) - my $prefix; # Prefix - - $plist_sub = capture(\&make, ($port, "-VPLIST_SUB")); - while ($plist_sub =~ m/\G\s*(\w+)=(\"[^\"]*\"|[^\"\s]*)/g) { - my ($lhs, $rhs) = ($1, $2); - $rhs =~ s/^\"(.*)\"$/$1/; - $plist_sub{$lhs} = $rhs; - } - $prefix = capture(\&make, ($port, "-VPREFIX")); - chomp($prefix); - sysopen(FILE, find_port_file($port, "pkg-plist"), O_RDONLY) - or bsd::err(1, "can't read packing list for $port"); - while (<FILE>) { - chomp(); - s{\%\%(\w+)\%\%}{exists($plist_sub{$1}) ? $plist_sub{$1} : "%%$1%%"}eg; - $file = undef; - if (m/^[^\@]/) { - $file = $_; - } elsif (m/^\@cwd\s+(\S+)\s*$/) { - $prefix = $1; - } elsif (m/^\@dirrm\s+(\S+)\s*$/) { - $file = "$1/"; - } elsif (m/^\@comment\s+/) { - # ignore - } elsif (m/^\@(un)?exec\s+/) { - # ignore - } else { - bsd::warnx("unrecognized plist directive: %s", $_); - } - if (defined($file)) { - if ($file !~ m/^\//) { - $file = "$prefix/$file"; - } - $file =~ s|/+|/|g; - $files{$file} = 1; - } - } - close(FILE); - # XXX list man pages? - print("+--- Packing list for $port ($pkgname{$port}):\n"); - foreach (sort(keys(%files))) { - print("| $_\n"); - } - print("+---\n"); -} - -# -# Compare two package names to determine which is newer -# -sub cmp_version($$) { - my $inst = shift; # Installed package - my $port = shift; # Newest version - - # Shortcut - if ($inst eq $port) { - return '='; - } - - # Compare port epochs - my ($inst_epoch, $port_epoch) = (0, 0); - $inst =~ s/,(\d+)$// - and $inst_epoch = $1; - $port =~ s/,(\d+)$// - and $port_epoch = $1; - if ($inst_epoch != $port_epoch) { - return ($inst_epoch > $port_epoch) ? '>' : '<'; - } - - # Split it into components - my @a = split(/[\._-]/, $inst); - my @b = split(/[\._-]/, $port); - - # Compare the components one by one - while (@a && @b) { - ($a, $b) = (shift(@a), shift(@b)); - next if $a eq $b; - if ($a =~ m/^\d+$/ && $b =~ m/^\d+$/) { - return ($a > $b) ? '>' : '<'; - } - return ($a gt $b) ? '>' : '<'; - } - - # Anything left? - if (@a) { - return '>'; - } elsif (@b) { - return '<'; - } - return '='; -} - -# -# Show port status -# -sub show_port_status($) { - my $port = shift; # Port to show status for - - my $cmp; # Comparator - - if ($installed{$port}) { - foreach my $pkg (@{$installed{$port}}) { - if (-d "$portsdir/$port") { - $cmp = cmp_version($pkg, $pkgname{$port}); - } else { - $cmp = '?'; - } - if ($cmp eq '=') { - print(" $pkg\n"); - } else { - printf(" $cmp $pkg ($pkgname{$port})\n"); - } - } - } else { - printf(" ! $port\n"); - } -} - -# -# Clean a port -# -sub clean_port($) { - my $port = shift; # Port to clean - - setproctitle("cleaning $port"); - make($port, "clean") - or bsd::warnx("failed to clean %s", $port); - setproctitle(); -} - -# -# Clean the tree -# -sub clean_tree() { - - my $port; # Port name - - # We could just cd to $portsdir and 'make clean', but it'd - # be extremely noisy due to only having a partial tree - foreach $port (keys(%ports)) { - if (-d "$portsdir/$port") { - make($port, "clean", "NO_DEPENDS=yes") - or bsd::warnx("failed to clean %s", $port); - } - } -} - -# -# Fetch a port -# -sub fetch_port($) { - my $port = shift; # Port to fetch - - setproctitle("fetching $port"); - make($port, "checksum") - or bsd::errx(1, "failed to fetch %s", $port); - setproctitle(); -} - -# -# Build a port -# -sub build_port($) { - my $port = shift; # Port to build - - my @makeargs; # Arguments to make() - - if ($packages) { - push(@makeargs, "package"); - push(@makeargs, "DEPENDS_TARGET=package"); - } else { - push(@makeargs, "install"); - } - if ($force) { - push(@makeargs, "-DFORCE_PKG_REGISTER"); - } - if (!$dontclean) { - push(@makeargs, "clean"); - push(@makeargs, "DEPENDS_CLEAN=YES"); - } - setproctitle("building $port"); - if (!make($port, @makeargs)) { - bsd::errx(1, "failed to %s %s", - $packages ? "package" : "build", $port); - } - setproctitle(); -} - -# -# Print usage message and exit -# -sub usage() { - - stderr("Usage: porteasy [-abCceFfhIikLlsuVvw] [-D date] [-d dir]\n" . - " [-p dir] [-r dir] [-t tag] [port ...]\n"); - exit(1); -} - -# -# Print version -# -sub version() { - - stderr("This is porteasy $VERSION. -$COPYRIGHT -"); - exit(1); -} - -# -# Print help text -# -sub help() { - - stderr("This is porteasy $VERSION. -$COPYRIGHT - -Options: - -a, --anoncvs Use the FreeBSD project's anoncvs server - -b, --build Build required ports - -C, --dontclean Don't clean after build - -c, --clean Clean the specified ports - -e, --exclude-installed Exclude installed ports - -F, --force-pkg-register Force package registration - -f, --fetch Fetch distfiles - -h, --help Show this information - -I, --installed Select installed ports - -i, --info Show info about specified ports - -k, --packages Build packages for the specified ports - -L, --plist Show the packing lists for the specified ports - -l, --list List required ports and their dependencies - -R, --use-rsh Force use of rsh for cvs :ext: method - -S, --use-ssh Force use of ssh for cvs :ext: method - -s, --status List installed ports and their status - -u, --update Update relevant portions of the ports tree - -V, --version Show version number - -v, --verbose Verbose mode - -w, --website Show the URL to the port's website - -Parameters: - -D, --date=DATE Specify CVS date - -d, --dbdir=DIR Specify package directory (default $dbdir) - -p, --portsdir=DIR Specify ports directory (default $portsdir) - -r, --cvsroot=DIR Specify CVS root - -t, --tag=TAG Specify CVS tag - -Report bugs to <des\@freebsd.org>. -"); - exit(1); -} - -MAIN:{ - my $port; # Port name - my $err = 0; # Error count - my $requested = 0; # Number of ports on command line - - setproctitle(); - - # Show usage if no arguments were specified on the command line - if (!@ARGV) { - usage(); - } - - # Get option defaults - if ($ENV{'PORTEASY_OPTIONS'}) { - foreach (split(' ', $ENV{'PORTEASY_OPTIONS'})) { - unshift(@ARGV, $_); - } - } - - # Scan command line options - Getopt::Long::Configure("auto_abbrev", "bundling"); - GetOptions( - "a|anoncvs" => \$anoncvs, - "b|build" => \$build, - "c|clean" => \$clean, - "C|dontclean" => \$dontclean, - "D|date=s" => \$date, - "d|dbdir=s" => \$dbdir, - "e|exclude-installed" => \$exclude, - "F|force-pkg-register" => \$force, - "f|fetch" => \$fetch, - "h|help" => \&help, - "I|installed" => \$installed, - "i|info" => \$info, - "k|packages" => \$packages, - "L|plist" => \$plist, - "l|list" => \$list, - "p|portsdir=s" => \$portsdir, - "R|use-rsh" => sub { $ENV{'CVS_RSH'} = &PATH_RSH }, - "r|cvsroot=s" => \$cvsroot, - "S|use-ssh" => sub { $ENV{'CVS_RSH'} = &PATH_SSH }, - "s|status" => \$status, - "t|tag=s" => \$tag, - "u|update" => \$update, - "V|version" => \&version, - "v|verbose" => \$verbose, - "w|website" => \$website, - "x|ecks" => \&ecks, - ) - or usage(); - - if (!@ARGV && !$installed && - ($build || $fetch || $list || $packages || $plist || $website)) { - usage(); - } - - if ($portsdir !~ m/^\//) { - $portsdir = `pwd` . $portsdir; - $portsdir =~ s/\n/\//s; - } - - if ($portsdir !~ m/\/ports\/?$/) { - bsd::errx(1, "ports directory must be named 'ports'"); - } - - # 'package' implies 'build' - if ($packages) { - $build = 1; - } - - # Set and check CVS root - if ($anoncvs && !$cvsroot) { - $ENV{'CVS_RSH'} = &PATH_SSH; - $cvsroot = &ANONCVS_ROOT; - } - if (!$cvsroot) { - $cvsroot = $ENV{'CVSROOT'}; - } - if (!$cvsroot && -f "$portsdir/CVS/Root") { - local *FILE; - - if (sysopen(FILE, "$portsdir/CVS/Root", O_RDONLY)) { - $cvsroot = <FILE>; - chomp($cvsroot); - close(FILE); - } - } - if ($update && !$cvsroot) { - bsd::errx(1, "No CVS root, please use the -r option or set \$CVSROOT"); - } - - # Unset potentially troublesom environment variables - foreach my $var (sort(keys(%ENV))) { - if ($var =~ m/^(CLASSPATH|(LD|USE|JAVA|WANT)_\w+)$/) { - bsd::warnx("Removing $var from environment"); - delete($ENV{$var}); - } - } - - # Step 1: update the ports tree infrastructure - $release = `uname -r`; - update_root(); - - # Step 2: build list of explicitly required ports - foreach my $arg (@ARGV) { - if ($arg =~ m/^(?:-D)?([A-Z0-9_]+)=(.*)$/) { - $ENV{$1} = $2; - } elsif ($arg =~ m/^-D([A-Z0-9_]+)$/) { - $ENV{$1} = ''; - } else { - $err += add_port($arg, &REQ_EXPLICIT); - ++$requested; - } - } - if ($err) { - bsd::errx(1, "some required ports were not found."); - } - if ($installed || $status || $exclude) { - get_installed(); - } - if ($installed || ($status && $requested == 0)) { - foreach $port (keys(%installed)) { - add_port($port, &REQ_EXPLICIT); - } - } - - # Step 3: update port directories and discover dependencies - $need_deps = ($update || $fetch || $list); - update_ports_tree(keys(%reqd)); - - # Step 4: deselect ports which are already installed - if ($exclude) { - foreach $port (keys(%reqd)) { - if (defined($installed{$port})) { - info("$port is already installed"); - delete $reqd{$port}; - } - } - } - - # Step 5: list selected ports - if ($list) { - foreach $port (sort(keys(%reqd))) { - print((($reqd{$port} & &REQ_EXPLICIT) ? " * " : " "), - "$port ($pkgname{$port})\n"); - } - } - - # Step 6: list installed ports - if ($status) { - foreach $port (sort({ $pkgname{$a} cmp $pkgname{$b} } keys(%reqd))) { - show_port_status($port); - } - } - - # Step 7: show info - if ($info) { - foreach $port (keys(%reqd)) { - if ($reqd{$port} & &REQ_EXPLICIT) { - show_port_info($port); - } - } - } - - # Step 8: show packing list - if ($plist) { - foreach $port (keys(%reqd)) { - if ($reqd{$port} & &REQ_EXPLICIT) { - show_port_plist($port); - } - } - } - - # Step 9: show website URL - if ($website) { - foreach $port (keys(%reqd)) { - if ($reqd{$port} & &REQ_EXPLICIT) { - show_port_website($port); - } - } - } - - # Step A: clean the ports directories (or the entire tree) - if ($clean) { - if (!$requested) { - clean_tree(); - } else { - foreach $port (keys(%reqd)) { - if ($reqd{$port} & &REQ_EXPLICIT) { - clean_port($port); - } - } - } - } - - # Step B: fetch distfiles - if ($fetch) { - foreach $port (keys(%reqd)) { - fetch_port($port); - } - } - - # Step C: build ports - only the explicitly required ones, since - # some dependencies (most commonly XFree86) may be bogus. - if ($build || $packages) { - foreach $port (keys(%reqd)) { - if ($reqd{$port} & &REQ_EXPLICIT) { - build_port($port); - } - } - } - - # Done! - exit(0); -} diff --git a/misc/portell/Makefile b/misc/portell/Makefile deleted file mode 100644 index b8d457b903e5..000000000000 --- a/misc/portell/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -# New ports collection makefile for: portell -# Date created: Wed Jan 08 13:25:35 GMT 2003 -# Whom: mich@freebsdcluster.org -# -# $FreeBSD$ -# - -PORTNAME= portell -PORTVERSION= 0.2 -PORTREVISION= 1 -CATEGORIES= misc -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} -MASTER_SITE_SUBDIR= ${PORTNAME} -EXTRACT_SUFX= .zip - -MAINTAINER= mich@FreeBSD.org -COMMENT= Quick display of FreeBSD port descriptions - -USE_ZIP= YES -USE_PYTHON= YES -NO_BUILD= YES - -PLIST_FILES= bin/portell -PORTDOCS= README.txt - -post-extract: - ${REINPLACE_CMD} -e 's/[[:cntrl:]]*$$//' ${WRKSRC}/portell.py - ${REINPLACE_CMD} -e 's/free/freebsd/' ${WRKSRC}/portell.py - ${REINPLACE_CMD} -e 's/portell.py/portell/' ${WRKSRC}/README.txt - -do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/portell.py ${PREFIX}/bin/portell -.if !defined(NOPORTDOCS) - @${MKDIR} ${DOCSDIR} - ${INSTALL_DATA} ${WRKSRC}/README.txt ${DOCSDIR} -.endif - -post-install: -.if !defined(BATCH) - @${ECHO_MSG} "" - @${ECHO_MSG} "###############################################################################" - @${ECHO_MSG} "# You must run 'portell -u' to initialize the DB" - @${ECHO_MSG} "# ${DOCSDIR}/README.txt for more information." - @${ECHO_MSG} "###############################################################################" - @${ECHO_MSG} "" -.endif - -.include <bsd.port.mk> diff --git a/misc/portell/distinfo b/misc/portell/distinfo deleted file mode 100644 index 9afeff741eab..000000000000 --- a/misc/portell/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (portell-0.2.zip) = 0473f21d5b1884b40cb2eab183c210ef -SHA256 (portell-0.2.zip) = c7d76ba7d59be5276a480f2defdbd0e0c79fd51be9669354805b96817ba57306 -SIZE (portell-0.2.zip) = 1780 diff --git a/misc/portell/files/patch-portell.py b/misc/portell/files/patch-portell.py deleted file mode 100644 index 51177d7a848b..000000000000 --- a/misc/portell/files/patch-portell.py +++ /dev/null @@ -1,26 +0,0 @@ - -$FreeBSD$ - ---- portell.py.orig -+++ portell.py -@@ -14,12 +14,16 @@ - PORTELL_DB = "/var/db/portell.db" - - PORTS_DIR = "/usr/ports/" -- -+IGNORE_DIRS = { "distfiles":None, "Tools":None, "packages":None } - - def write_pathname(d, dirname, names): -- '/'.join(dirname.split('/')[:5]) # chop port path subdirs -- d[os.path.basename(dirname)] = dirname -- -+ dirs=dirname.split('/') -+ if len(dirs)==4: -+ if IGNORE_DIRS.has_key(dirs[3]): -+ del names[:] -+ elif len(dirs)==5: -+ d[dirs[4]] = dirname -+ del names[:] - - def update_db(msg): - print msg diff --git a/misc/portell/pkg-descr b/misc/portell/pkg-descr deleted file mode 100644 index 6fb8b68df0cc..000000000000 --- a/misc/portell/pkg-descr +++ /dev/null @@ -1,10 +0,0 @@ -portell is a program that allows FreeBSD users to view the description as -given in its pkg-descr file for a specific port. If you want to know what -the program "Foo" is, then you can type "portell foo" and portell will -find its pkg-descr file and dump it on your display. - -WWW: http://portell.sourceforge.net -AUTHOR: Ryan Kulla <toxicpulse@sbcglobal.net> - -- Michael L. Hostbaek - mich@FreeBSD.org diff --git a/misc/portless/Makefile b/misc/portless/Makefile deleted file mode 100644 index d1a3e2045b44..000000000000 --- a/misc/portless/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -# New ports collection makefile for: portless -# Date created: 8 June 2006 -# Whom: Martin Kammerhofer -# -# $FreeBSD$ -# - -PORTNAME= portless -PORTVERSION= 0.2.5 -CATEGORIES= misc -MASTER_SITES= # empty -DISTFILES= # none -EXTRACT_ONLY= # empty - -MAINTAINER= mkamm@gmx.net -COMMENT= Quick display of files inside the FreeBSD ports tree - -RUN_DEPENDS= ${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash - -MAN1= portless.1 -MANCOMPRESSED= no - -PLIST_FILES= bin/portless - -do-build: - ${SED} -e 's;@BASH@;${LOCALBASE}/bin/bash;g' \ - ${FILESDIR}/portless.sh >${WRKDIR}/portless -do-install: - ${INSTALL_SCRIPT} ${WRKDIR}/portless ${PREFIX}/bin - ${INSTALL_MAN} ${FILESDIR}/portless.1 ${PREFIX}/man/man1 - -.include <bsd.port.mk> diff --git a/misc/portless/files/portless.1 b/misc/portless/files/portless.1 deleted file mode 100644 index 0c8dcb5b6c69..000000000000 --- a/misc/portless/files/portless.1 +++ /dev/null @@ -1,143 +0,0 @@ -.\" Copyright (c) 2006 Martin Kammerhofer -.\" 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. -.\" -.\" @(#)portless.1,v 1.10 2006/08/30 09:36:44 martin Exp -.\" -.\" Note: The date here should be updated whenever a non-trivial -.\" change is made to the manual page. -.Dd August 30, 2006 -.Dt PORTLESS 1 -.Os -.Sh NAME -.Nm portless -.Nd "quickly browse port descriptions" -.Sh SYNOPSIS -.Nm -.Op Fl dfIiMmp -.Op Fl P Ar pager -.Ar portglob... -.Nm -.Op Fl W | w -.Ar portglob... -.Sh DESCRIPTION -.Nm -lets FreeBSD users quickly browse port descriptions given the port's -name or a (shell type) glob. -.Pp -The options are as follows: -.Bl -tag -width ".Fl P Ar pager" -.It Fl d -Display the -.Pa pkg-descr -file of the port. This is the default. -.It Fl f -Take the -.Ar portglob -argument literal (not as a shell glob). -.It Fl I -Ignore case when matching -.Ar portglob -against the ports tree. This option is only effective if -.Ar portglob -contains at least one unquoted globbing meta-character ( -.Sq Li * , -.Sq Li \&? , -or -.Sq Li [ -). -.It Fl i -Display the -.Pa distinfo -file of the port. -.It Fl M -Display the -.Pa Makefile -file of the port. -.It Fl m -Display the -.Pa pkg-message -file of the port. -.It Fl p -Display the -.Pa pkg-plist -file of the port. -.It Fl P Ar pager -Use the specified -.Ar pager -program to display matching files. This overrides the setting of the -.Ev PAGER -environment variable. -.It Fl w -Rather than browsing files inside the ports tree just echo the names -of directories matching -.Ar portglob -to stdout. -.It Fl W -Like -.Fl w -but echoes just the last two components of the directory (i.e.\& -.Em category/portname -) to stdout. -.El -.Lp -Options -.Fl W -and -.Fl w -are incompatible with all other options. -.Sh ENVIRONMENT -The -.Nm -command uses the following environment variables: -.Bl -tag -width "Ev PORTSDIR" -compact -offset indent -.It Ev PAGER -defaults to -.Dq Pa less\ -e -.It Ev PORTSDIR -defaults to -.Pa /usr/ports -.El -.Sh FILES -.Bl -tag -width ".Pa /usr/ports/*/*/*" -compact -.It Pa /usr/ports/*/*/* -.El -.Sh EXAMPLES -The following are examples of typical usage of the -.Nm -command: -.Pp -.Dl "portless cvsweb\e*" -.Dl "portless lang/\e*doc" -.Dl "portless 'www/*python*'" -.Sh SEE ALSO -.Xr ports_glob 1 -from the -.Pa sysutils/portupgrade -port -.Sh AUTHOR -The -.Nm -utility and this manual page were written by -.An Martin Kammerhofer Aq mkamm@gmx.net . -.\" EOF diff --git a/misc/portless/files/portless.sh b/misc/portless/files/portless.sh deleted file mode 100644 index d8f112c5844d..000000000000 --- a/misc/portless/files/portless.sh +++ /dev/null @@ -1,147 +0,0 @@ -#! @BASH@ -- -# (X)Emacs: -*- mode: Shell-Script; coding: iso8859-1; -*- -# @(#)portless.sh,v 1.12 2006/08/30 09:21:22 martin Exp -# Show "pkg-descr" file of matching port(s). -# -# Copyright (c) 2006 Martin Kammerhofer <mkamm@gmx.net> -# 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 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 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. - -Script=`basename $0` # name of this script - -# set defaults -for opt in d f I i M m P p W w; do - eval opt_$opt="" -done -PORTSDIR=${PORTSDIR:-/usr/ports} -PAGER=${PAGER:-less -e} -PKGDESCR="pkg-descr" -filelist="" -rc=0 - -# print usage message to stderr and exit -usage() -{ - while [ $# != 0 ]; do - echo >&2 "$Script: $1" - shift - done - echo >&2 "usage: $Script [-dfIiMmp | -Ww] [-P pager] 'portglob'..." - exit 64 # EX_USAGE -} - -fatal() { echo >&2 "$Script: $*"; exit 70; } # EX_SOFTWARE - -# Add file $2 corresponding to option $1 to $filelist. -# Do not add any file twice. -addopt() -{ - eval "[ -n \"\$opt_$1\" ] && return; opt_$1='$1' || fatal 'addopt $*'" - filelist="$filelist $2" -} - -# process options -while getopts "D:dfIiMmpP:Wwx" option - do - case "$option" in - (D) PORTSDIR="$OPTARG";; # undocumented - (d) addopt d "$PKGDESCR";; - (f) opt_f="f";; - (I) shopt -s nocaseglob || - usage "option -I needs bash!" - opt_I="I";; - (i) addopt i "distinfo";; - (M) addopt M "Makefile";; - (m) addopt m "pkg-message";; - (p) addopt p "pkg-plist";; - (P) PAGER="$OPTARG"; opt_P="P";; - (W) opt_W="W";; - (w) opt_w="w";; - (x) set -x;; # undocumented - (*) usage;; - esac -done -shift $(($OPTIND - 1)) -[ -d "$PORTSDIR" ] || fatal "No such directory '$PORTSDIR'" -if [ -n "$opt_W" -o -n "$opt_w" ]; then - [ -n "$filelist" -o -n "$opt_P" -o -n "$opt_W" -a -n "$opt_w" ] && - usage "options -W and -w are not compatible with any other option!" - PAGER="/bin/ls -1d" # just echo directory name(s) - filelist="." -elif [ -n "$opt_f" -a -n "$opt_I" ]; then - usage "only one of options -f and -I is useful!" -else - [ -n "$filelist" ] || filelist="$PKGDESCR" -fi - -# there must be at least one argument -if [ $# = 0 ]; then - usage -fi - -# View $PORTSDIR$1$2/{$filelist} with $PAGER. -# Always glob $1 but do not glob $2 when option -f was given. -# (Slightly complicated because /bin/sh may not understand -# csh-like {file1,file2} glob patterns.) -page() { - [ $# = 2 ] || fatal "page $*" - dirglob=$1 - portglob=$2 - shift 2 - for f in $filelist; do - if [ -n "$opt_f" ]; then - set -- "$@" "$PORTSDIR"$dirglob"$portglob/$f" - else - set -- "$@" "$PORTSDIR"$dirglob$portglob/"$f" - fi - done - if [ -n "$opt_W" -o -n "$opt_w" ]; then - lstrip="" - [ -n "$opt_W" ] && lstrip=-e\ 's;^.*/\([^/]*/[^/]*\)$;\1;' - { - $PAGER "$@" | grep -Ev '/distfiles/|/packages/' | - sed -e 's;/.$;;' $lstrip - } || { rc=$?; return $rc; } # remember last error code - else - $PAGER "$@" || { rc=$?; return $rc; } # remember last error code - fi -} - -# main -for p in "$@"; do - expr "$p" : ".*[$IFS]" >/dev/null && - usage "portglob '$p' contains whitespace!" - case "$p" in - (*/*/*) - usage "portglob '$p' contains more than one slash!";; - - (*/*) - page "/" "$p";; - - (*) - page "/[a-z]*/" "$p";; - esac -done - -exit $rc - -#EOF# diff --git a/misc/portless/pkg-descr b/misc/portless/pkg-descr deleted file mode 100644 index c99470345339..000000000000 --- a/misc/portless/pkg-descr +++ /dev/null @@ -1,11 +0,0 @@ -The portless utility is a small shell script which lets FreeBSD users -quickly browse port descriptions given the port's name or a -glob. Basically to view the descriptions of GCC (related) ports you -simply type - portless gcc\* -and it will display all descriptions of the gcc* ports. -There are options to display the port's postinstall message or -Makefile too. A manpage is included. - -- Martin Kammerhofer - mkamm@gmx.net diff --git a/misc/tinderbox/Makefile b/misc/tinderbox/Makefile deleted file mode 100644 index 0e827b9b857b..000000000000 --- a/misc/tinderbox/Makefile +++ /dev/null @@ -1,139 +0,0 @@ -# Ports collection makefile for: misc/tinderbox -# Whom: Edwin Groothuis <edwin@mavetju.org> -# Date created: 31 december 2005 -# -# $FreeBSD$ - -PORTNAME= tinderbox -PORTVERSION= 2.3.4 -PORTREVISION= 3 -CATEGORIES= misc -MASTER_SITES= http://tinderbox.marcuscom.com/ - -MAINTAINER= itetcu@FreeBSD.org -COMMENT= Port build tinderbox system - -OPTIONS= PGSQL "With pgsql" Off \ - MYSQL "With mysql" On \ - CSUP "Use csup for updates" On \ - CVSUP "Use cvsup for updates" Off \ - WEB "Install web interface" Off \ - WEB_EXP "Install the new web interface" On \ - APACHE "Use Apache for web interface" On \ - LIGHTTPD "Use LightHTTPD for web interface" Off - -NO_BUILD= yes -SUB_FILES= pkg-message -PKGMESSAGE= ${WRKDIR}/pkg-message - -MAN1= tc-configCcache.1 tc-configDistfile.1 tc-configGet.1 \ - tc-configJail.1 tc-configTinderd.1 tc-init.1 - -.include <bsd.port.pre.mk> - -.if !defined(WITH_PGSQL) && defined(WITHOUT_MYSQL) -IGNORE= is useless without a database. Please (re)run 'make config' and choose one of PGSQL and MYSQL -.endif - -.if defined(WITH_WEB) || !defined(WITHOUT_WEB_EXP) -RUN_DEPENDS+= ${LOCALBASE}/share/pear/DB.php:${PORTSDIR}/databases/pear-DB -WANT_PHP_WEB= yes -USE_PHP= session -MASTER_SITES+= http://miwibox.org/:FAVICON -DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ - favicon.ico:FAVICON -EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} -.endif - -.if defined(WITH_WEB) -PLIST_SUB+= WEB="" -.else -PLIST_SUB+= WEB="@comment " -.endif - -.if !defined(WITHOUT_WEB_EXP) -PLIST_SUB+= WEB_EXP="" -.else -PLIST_SUB+= WEB_EXP="@comment " -.endif - -.if defined(WITH_PGSQL) -USE_PGSQL= yes -.if defined(WITH_WEB) || !defined(WITHOUT_WEB_EXP) -USE_PHP+= pgsql -.endif -RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/Pg.pm:${PORTSDIR}/databases/p5-DBD-Pg -.endif - -.if !defined(WITHOUT_MYSQL) -.if defined(WITH_WEB) || !defined(WITHOUT_WEB_EXP) -USE_PHP+= mysql -.endif -USE_MYSQL= yes -IGNORE_WITH_MYSQL= 323 40 -RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/mysql.pm:${PORTSDIR}/databases/p5-DBD-mysql${MYSQL_VER:S/323//} -.endif - -.if ! (${OSVERSION} > 700014 || ( ${OSVERSION} >= 601101 && ${OSVERSION} < 700000 )) -.if !defined(WITHOUT_CSUP) -RUN_DEPENDS+= csup:${PORTSDIR}/net/csup -.endif -.endif - -.if defined(WITH_CVSUP) -RUN_DEPENDS+= cvsup:${PORTSDIR}/net/cvsup-without-gui -.endif - -.if !defined(WITHOUT_APACHE) && (defined(WITH_WEB) || !defined(WITHOUT_WEB_EXP)) -USE_APACHE= 1.3+ -.elif defined(WITH_LIGHTTPD) && (defined(WITH_WEB) || !defined(WITHOUT_WEB_EXP)) -RUN_DEPENDS+= lighttpd:${PORTSDIR}/www/lighttpd -.endif - -.if defined(WITH_WEB) || !defined(WITHOUT_WEB_EXP) -.include "${PORTSDIR}/Mk/bsd.php.mk" -.endif - -pre-everything:: -.if (!defined(WITHOUT_APACHE) || defined(WITH_LIGHTTPD)) && !(defined(WITH_WEB) || !defined(WITHOUT_WEB_EXP)) - @${ECHO_CMD} "It doesn't make sense to depend on Apache or LightHTTPD if not using either web interface." - @${FALSE} -.endif - -post-patch: -.if defined(WITH_MYSQL) - @${REINPLACE_CMD} \ - -e 's,DB_MAN_PREREQS=.*,DB_MAN_PREREQS="databases/p5-DBD-mysql${MYSQL_VER} databases/mysql${MYSQL_VER}-client",' \ - ${WRKSRC}/lib/setup-mysql.sh - @${RM} ${WRKSRC}/lib/setup-mysql.sh.bak -.endif -.if ! (${OSVERSION} > 700014 || ( ${OSVERSION} >= 601101 && ${OSVERSION} < 700000 )) - ${REINPLACE_CMD} -E -e 's!/usr/bin/csup!${PREFIX}/bin/csup!' \ - ${WRKSRC}/create - ${REINPLACE_CMD} -E -e 's!/usr/bin/csup!${PREFIX}/bin/csup!' \ - ${WRKSRC}/tc - @${RM} ${WRKSRC}/create.bak - @${RM} ${WRKSRC}/tc.bak -.endif - -pre-install: -.if !defined(WITH_WEB) - ${RM} -R ${WRKSRC}/www -.else - ${CP} ${DISTDIR}/favicon.ico ${WRKSRC}/www -.endif -.if defined(WITHOUT_WEB_EXP) - ${RM} -R ${WRKSRC}/www-exp -.else - ${CP} ${DISTDIR}/favicon.ico ${WRKSRC}/www-exp -.endif - -do-install: - ${MKDIR} ${PREFIX}/tinderbox/scripts - ${CP} -R ${WRKSRC}/* ${PREFIX}/tinderbox/scripts - -post-install: - cd ${WRKSRC}/man/man1 && ${INSTALL_MAN} ${MAN1} ${MAN1PREFIX}/man/man1 - @${CAT} ${PKGMESSAGE} - -.include <bsd.port.post.mk> diff --git a/misc/tinderbox/distinfo b/misc/tinderbox/distinfo deleted file mode 100644 index bc3f971af5d1..000000000000 --- a/misc/tinderbox/distinfo +++ /dev/null @@ -1,6 +0,0 @@ -MD5 (tinderbox-2.3.4.tar.gz) = 6cd5ab8cceef934f059bff2b7cf32a70 -SHA256 (tinderbox-2.3.4.tar.gz) = 60a4e3065a88a0e056915fef5b30e289864798a065d5dfbab95e4b90e9ff4cb7 -SIZE (tinderbox-2.3.4.tar.gz) = 123621 -MD5 (favicon.ico) = 1d2e9e267ca81f0ef5bc7b9c391aaced -SHA256 (favicon.ico) = 842f1e23dcfcee24d4d7578381256256cda994347751fb332b6eb2182eae216e -SIZE (favicon.ico) = 4710 diff --git a/misc/tinderbox/files/pkg-message.in b/misc/tinderbox/files/pkg-message.in deleted file mode 100644 index 599546a6a185..000000000000 --- a/misc/tinderbox/files/pkg-message.in +++ /dev/null @@ -1,132 +0,0 @@ -misc/tinderbox is now installed, but it requires some additional setup. - -**************************************************** -Additional info: %%PREFIX%%/tinderbox/scripts/README -**************************************************** - -The following walkthrough is for PostgreSQL databases: - -- First, run the setup program: - %%PREFIX%%/tinderbox/scripts/setup.sh - - Enter database driver (mysql pgsql): pgsql - - If the database is running on the same server as you're on now, - and you have administrator access to it, answer this question - with yes: - "Does this host have access to connect to the Tinderbox database as a database administrator?" - - Enter database admin user [root]: pgsql - Enter the desired username for the Tinderbox database : tinderbox - Shall the new role be a superuser? (y/n) n - Shall the new role be allowed to create databases? (y/n) y - Shall the new role be allowed to create more new roles? (y/n) n - - The other questions should just be entered through. - -The following walkthrough is for MySQL databases: - -- First, run the setup program: - %%PREFIX%%/tinderbox/scripts/setup.sh - - Enter database driver (mysql pgsql): mysql - - If the database is running on the same server as you're on now, - and you have administrator access to it, answer this question - with yes: - "Does this host have access to connect to the Tinderbox database as a database administrator?" - - Enter the desired username for the Tinderbox database : tinderbox - - The other questions should just be entered through. - -The following walkthrough is the tinderbox environment setup: - -- Edit the file %%PREFIX%%/tinderbox/scripts/tinderbox.ph (copy from - tinderbox.ph.dist) - - - $BUILD_ROOT should be "%%PREFIX%%/tinderbox" - - $SUBJECT should be "My Tinderbox" - - $SENDER should be your email address - - $SMTP_HOST should be your SMTP server (localhost?) - - $SERVER_HOST should be the name your machine is known as. If - it is your own machine and your access it directory, try localhost - here if nothing else sounds reasonable. - - $TINDERBOX_URI should be "/tb". - - Comment out the lines after "for www", and uncomment the lines "for www-exp". - -- Edit the file %%PREFIX%%/tinderbox/scripts/www-exp/inc_ds.php - (copy from inc_ds.php-dist) - - - $DB_HOST should be localhost - - $DB_DRIVER should be pgsql - - $DB_USER should be tinderbox - -- Edit the file %%PREFIX%%/tinderbox/scripts/www-exp/inc_tinderbox.php - (copy from inc_tinderbox.php-dist) - - - $rootdir should be %%PREFIX%%/tinderbox - - $wwwrooturi should be /tb - - $tinderbox_name should be "My Tinderbox" - - $tinderbox_title should be "FreeBSD Packages" - -The following walkthrough is the initial tinderbox population setup -and should be executed in %%PREFIX%%/tinderbox/scripts. - -- Create a jail. A jail is a chrooted version of the FreeBSD operating - system, for example 6.0-RELEASE or 5.4-RELEASE: - ./create Jail -j 5.4 -d "FreeBSD 5.4-RELEASE" -t RELENG_5_4_0_RELEASE -u CVSUP - You can have multiple jails on a single machine. - This takes a while. - -- Create a ports tree: - ./create PortsTree -p FreeBSD -d "FreeBSD ports tree" -w http://www.freebsd.org/cgi/cvsweb.cgi/ports/ - This takes a while. - -- And then link the two together in a build: - ./create Build -b 5.4-FreeBSD -j 5.4 -p FreeBSD -d "5.4-RELEASE with FreeBSD ports tree" - -The following walkthrough is the webserver setup: - -- In your Apache configuration, add the following lines: - - Alias /tb/logs/ "%%PREFIX%%/tinderbox/logs/" - Alias /tb/packages/ "%%PREFIX%%/tinderbox/packages/" - Alias /tb/errors/ "%%PREFIX%%/tinderbox/errors/" - Alias /tb/ "%%PREFIX%%/tinderbox/scripts/www-exp/" - <Directory "%%PREFIX%%/tinderbox/"> - Order allow,deny - Allow from all - </Directory> - -- In your Lighttpd configuration: - -Turn on "mod_alias" and add the following lines: - -alias.url = ( "/tb/packages/" => "%%PREFIX%%/tinderbox/packages/", - "/tb/errors/" => "%%PREFIX%%/tinderbox/errors/", - "/tb/" => "%%PREFIX%%/tinderbox/scripts/www-exp/" ) -dir-listing.activate = "enable" - - Check your system by going to http://localhost/tb/ - -The following walkthrough is the first run for a port in the -tinderbox and should be executed in %%PREFIX%%/tinderbox/scripts. - -- See the documents %%PREFIX%%/tinderbox/scripts/README and the - "Using Tinderbox" section for more information. - -- Add the port and its dependencies to the database: - ./tc addPort -b 5.4-FreeBSD -d net/dhcpdump -r - -- On the website you see now five ports on the build page. - -- Start the build: - ./tinderbuild -nullfs -b 5.4-FreeBSD dns/dnstracer - -- On the page "Current and latest builds in this build" you see the - current being-built port and the last n ports built. - -- At a certain moment, when you refresh the page, you see that it - has changed. - diff --git a/misc/tinderbox/pkg-descr b/misc/tinderbox/pkg-descr deleted file mode 100644 index bfafcb10f8ca..000000000000 --- a/misc/tinderbox/pkg-descr +++ /dev/null @@ -1,21 +0,0 @@ -Tinderbox is a package building system for FreeBSD ports, based on -official Portbuild scripts used on pointyhat building cluster. -Tinderbox was written by Joe Marcus Clarke. - -You can define multiple jails (base system versions) and multiple -portstrees. The combination of jail and portstree is called a build. -A Tinderbox jail is not what is understood as a jail in FreeBSD, -it is in fact a given world in a chroot. Tinderbox supports automatic -tracking of dependencies and only rebuilds packages that changed -since last run. Tinderbox has support for email notification of -failed builds. Tinderbox also integrates well with ccache. - -Tinderbox is designed to easily provide package sets of ports you -need, for platforms and architectures you need. Tinderbox is also -excellent tool for testing new ports and port upgrades, especially -for testing dependencies and packing lists. It's also useful for -testing ports on various releases of FreeBSD, since you can run -FreeBSD 4.X world as a jail on FreeBSD 5.X/6.X host. - -WWW: http://tinderbox.marcuscom.com/ -Author: Joe Marcus Clarke. diff --git a/misc/tinderbox/pkg-plist b/misc/tinderbox/pkg-plist deleted file mode 100644 index 7a93e46c24e5..000000000000 --- a/misc/tinderbox/pkg-plist +++ /dev/null @@ -1,128 +0,0 @@ -tinderbox/scripts/README -tinderbox/scripts/buildscript -tinderbox/scripts/create -tinderbox/scripts/ds.ph.dist -tinderbox/scripts/enterbuild -tinderbox/scripts/etc/rc.d/tinderd.sh -tinderbox/scripts/lib/Build.pm -tinderbox/scripts/lib/BuildPortsQueue.pm -tinderbox/scripts/lib/Host.pm -tinderbox/scripts/lib/Jail.pm -tinderbox/scripts/lib/MakeCache.pm -tinderbox/scripts/lib/Port.pm -tinderbox/scripts/lib/PortFailPattern.pm -tinderbox/scripts/lib/PortFailReason.pm -tinderbox/scripts/lib/PortsTree.pm -tinderbox/scripts/lib/TBConfig.pm -tinderbox/scripts/lib/TinderObject.pm -tinderbox/scripts/lib/TinderboxDS.pm -tinderbox/scripts/lib/User.pm -tinderbox/scripts/lib/enterbuild -tinderbox/scripts/lib/setup-mysql.sh -tinderbox/scripts/lib/setup-pgsql.sh -tinderbox/scripts/lib/setup_shlib.sh -tinderbox/scripts/lib/tinderbox_shlib.sh -tinderbox/scripts/lib/tinderlib.pl -tinderbox/scripts/makemake -tinderbox/scripts/man/man1/tc-configCcache.1 -tinderbox/scripts/man/man1/tc-configDistfile.1 -tinderbox/scripts/man/man1/tc-configGet.1 -tinderbox/scripts/man/man1/tc-configJail.1 -tinderbox/scripts/man/man1/tc-configTinderd.1 -tinderbox/scripts/man/man1/tc-init.1 -tinderbox/scripts/mkbuild -tinderbox/scripts/mkjail -tinderbox/scripts/pnohang.c -tinderbox/scripts/portbuild -tinderbox/scripts/rawenv.dist -tinderbox/scripts/setup.sh -tinderbox/scripts/tc -tinderbox/scripts/tinderbox-mysql.schema -tinderbox/scripts/tinderbox-pgsql.schema -tinderbox/scripts/tinderbox.ph.dist -tinderbox/scripts/tinderbuild -tinderbox/scripts/tinderd -tinderbox/scripts/upgrade.sh -tinderbox/scripts/upgrade/mig_mysql_tinderbox-1.X_to_2.0.0.sql -tinderbox/scripts/upgrade/mig_mysql_tinderbox-2.0.0_to_2.1.0.sql -tinderbox/scripts/upgrade/mig_mysql_tinderbox-2.1.0_to_2.1.1.sql -tinderbox/scripts/upgrade/mig_mysql_tinderbox-2.1.1_to_2.2.0.sql -tinderbox/scripts/upgrade/mig_mysql_tinderbox-2.2.0_to_2.3.0.sql -tinderbox/scripts/upgrade/mig_mysql_tinderbox-2.3.0_to_2.3.1.sql -tinderbox/scripts/upgrade/mig_mysql_tinderbox-2.3.1_to_2.3.2.sql -tinderbox/scripts/upgrade/mig_pgsql_tinderbox-2.1.1_to_2.2.0.sql -tinderbox/scripts/upgrade/mig_pgsql_tinderbox-2.2.0_to_2.3.0.sql -tinderbox/scripts/upgrade/mig_pgsql_tinderbox-2.3.0_to_2.3.1.sql -tinderbox/scripts/upgrade/mig_pgsql_tinderbox-2.3.1_to_2.3.2.sql -tinderbox/scripts/upgrade/mig_shlib.sh -%%WEB_EXP%%tinderbox/scripts/www-exp/core/Build.php -%%WEB_EXP%%tinderbox/scripts/www-exp/core/BuildPortsQueue.php -%%WEB_EXP%%tinderbox/scripts/www-exp/core/Host.php -%%WEB_EXP%%tinderbox/scripts/www-exp/core/Jail.php -%%WEB_EXP%%tinderbox/scripts/www-exp/core/Port.php -%%WEB_EXP%%tinderbox/scripts/www-exp/core/PortFailReason.php -%%WEB_EXP%%tinderbox/scripts/www-exp/core/PortsTree.php -%%WEB_EXP%%tinderbox/scripts/www-exp/core/TinderObject.php -%%WEB_EXP%%tinderbox/scripts/www-exp/core/TinderboxDS.php -%%WEB_EXP%%tinderbox/scripts/www-exp/core/User.php -%%WEB_EXP%%tinderbox/scripts/www-exp/core/functions.php -%%WEB_EXP%%tinderbox/scripts/www-exp/inc_ds.php.dist -%%WEB_EXP%%tinderbox/scripts/www-exp/inc_tinderbox.php.dist -%%WEB_EXP%%tinderbox/scripts/www-exp/index.php -%%WEB_EXP%%tinderbox/scripts/www-exp/favicon.ico -%%WEB_EXP%%tinderbox/scripts/www-exp/module/module.php -%%WEB_EXP%%tinderbox/scripts/www-exp/module/moduleBuildPorts.php -%%WEB_EXP%%tinderbox/scripts/www-exp/module/moduleBuilds.php -%%WEB_EXP%%tinderbox/scripts/www-exp/module/moduleHosts.php -%%WEB_EXP%%tinderbox/scripts/www-exp/module/modulePortFailureReasons.php -%%WEB_EXP%%tinderbox/scripts/www-exp/module/modulePorts.php -%%WEB_EXP%%tinderbox/scripts/www-exp/module/moduleSession.php -%%WEB_EXP%%tinderbox/scripts/www-exp/module/moduleTinderd.php -%%WEB_EXP%%tinderbox/scripts/www-exp/module/moduleUsers.php -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/current_buildports.tpl -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/describe_port.tpl -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/display_login.tpl -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/failed_buildports.tpl -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/latest_buildports.tpl -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/list_buildports.tpl -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/list_builds.tpl -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/list_failure_reasons.tpl -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/list_tinderd_queue.tpl -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/messages.inc -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/please_login.tpl -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/tinderstyle.css -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/user_admin.tpl -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/user_permissions.tpl -%%WEB_EXP%%tinderbox/scripts/www-exp/templates/default/user_properties.tpl -%%WEB%%tinderbox/scripts/www/Build.php -%%WEB%%tinderbox/scripts/www/Jail.php -%%WEB%%tinderbox/scripts/www/Makefile -%%WEB%%tinderbox/scripts/www/Port.php -%%WEB%%tinderbox/scripts/www/PortsTree.php -%%WEB%%tinderbox/scripts/www/TinderObject.php -%%WEB%%tinderbox/scripts/www/TinderboxDS.php -%%WEB%%tinderbox/scripts/www/failures.php -%%WEB%%tinderbox/scripts/www/inc_ds.php.dist -%%WEB%%tinderbox/scripts/www/inc_tinderbox.php.dist -%%WEB%%tinderbox/scripts/www/index.php -%%WEB%%tinderbox/scripts/www/favicon.ico -%%WEB%%tinderbox/scripts/www/lastbuilds.php -%%WEB%%tinderbox/scripts/www/showbuild.php -%%WEB%%tinderbox/scripts/www/showport.php -%%WEB%%tinderbox/scripts/www/tinderstyle.css - -%%WEB_EXP%%@dirrm tinderbox/scripts/www-exp/templates/default -%%WEB_EXP%%@dirrm tinderbox/scripts/www-exp/templates -%%WEB_EXP%%@dirrm tinderbox/scripts/www-exp/module -%%WEB_EXP%%@dirrm tinderbox/scripts/www-exp/core -%%WEB%%@dirrm tinderbox/scripts/www -@dirrm tinderbox/scripts/upgrade -@dirrm tinderbox/scripts/man/man1 -@dirrm tinderbox/scripts/man -@dirrm tinderbox/scripts/lib -@dirrm tinderbox/scripts/etc/rc.d -@dirrm tinderbox/scripts/etc - -@dirrmtry tinderbox/scripts/www-exp -@dirrmtry tinderbox/scripts -@dirrmtry tinderbox diff --git a/net-mgmt/check_snmp_pkgvuln/Makefile b/net-mgmt/check_snmp_pkgvuln/Makefile index 26eae47837de..dffe8ca72d25 100644 --- a/net-mgmt/check_snmp_pkgvuln/Makefile +++ b/net-mgmt/check_snmp_pkgvuln/Makefile @@ -17,7 +17,7 @@ MAINTAINER= jarrod@netleader.com.au COMMENT= Security vulnerability plugin for Nagios RUN_DEPENDS= snmpwalk:${PORTSDIR}/net-mgmt/net-snmp \ - portaudit:${PORTSDIR}/security/portaudit + portaudit:${PORTSDIR}/ports-mgmt/portaudit NAGIOS_PLUGIN_DIR?= libexec/nagios diff --git a/ports-mgmt/Makefile b/ports-mgmt/Makefile index 5970e3555c76..84e2b3e7c5ca 100644 --- a/ports-mgmt/Makefile +++ b/ports-mgmt/Makefile @@ -1,6 +1,54 @@ # $FreeBSD$ # - COMMENT = Ports for managing, installing and developing FreeBSD ports and packages + COMMENT = Ports for managing, installing and developing FreeBSD ports and packages + + SUBDIR += barry + SUBDIR += bpm + SUBDIR += instant-tinderbox + SUBDIR += jailaudit + SUBDIR += kports + SUBDIR += managepkg + SUBDIR += newportsversioncheck + SUBDIR += p5-FreeBSD-Portindex + SUBDIR += p5-FreeBSD-Ports + SUBDIR += pib + SUBDIR += pkg-orphan + SUBDIR += pkg_cutleaves + SUBDIR += pkg_install + SUBDIR += pkg_install-devel + SUBDIR += pkg_remove + SUBDIR += pkg_rmleaves + SUBDIR += pkg_trackinst + SUBDIR += pkg_tree + SUBDIR += pkgfe + SUBDIR += port-authoring-tools + SUBDIR += port-maintenance-tools + SUBDIR += portaudit + SUBDIR += portaudit-db + SUBDIR += portbrowser + SUBDIR += portcheck + SUBDIR += portcheckout + SUBDIR += portconf + SUBDIR += portdowngrade + SUBDIR += porteasy + SUBDIR += portell + SUBDIR += portless + SUBDIR += portlint + SUBDIR += portmanager + SUBDIR += portmaster + SUBDIR += portmk + SUBDIR += portscout + SUBDIR += portsearch + SUBDIR += portsman + SUBDIR += portsnap + SUBDIR += portsopt + SUBDIR += porttools + SUBDIR += portupgrade + SUBDIR += portupgrade-devel + SUBDIR += psearch + SUBDIR += qtpkg + SUBDIR += tinderbox + SUBDIR += vulnerability-test-port .include <bsd.port.subdir.mk> diff --git a/ports-mgmt/barry/Makefile b/ports-mgmt/barry/Makefile index 0bb507024a8f..359709b90f36 100644 --- a/ports-mgmt/barry/Makefile +++ b/ports-mgmt/barry/Makefile @@ -8,15 +8,15 @@ PORTNAME= barry PORTVERSION= 0.7 PORTREVISION= 2 -CATEGORIES= sysutils kde +CATEGORIES= ports-mgmt kde MASTER_SITES= http://www.student.uni-oldenburg.de/frerich.raabe/barry/ \ http://freebsd.so14k.com/barry/ MAINTAINER= ports@FreeBSD.org COMMENT= A nice KDE frontend to the ports system -BUILD_DEPENDS= ${LOCALBASE}/sbin/portsdb:${PORTSDIR}/sysutils/portupgrade -RUN_DEPENDS= ${LOCALBASE}/sbin/portsdb:${PORTSDIR}/sysutils/portupgrade +BUILD_DEPENDS= ${LOCALBASE}/sbin/portsdb:${PORTSDIR}/ports-mgmt/portupgrade +RUN_DEPENDS= ${LOCALBASE}/sbin/portsdb:${PORTSDIR}/ports-mgmt/portupgrade USE_BZIP2= yes USE_KDELIBS_VER=3 diff --git a/ports-mgmt/bpm/Makefile b/ports-mgmt/bpm/Makefile index 812315f8a08e..0ff21bbd1638 100644 --- a/ports-mgmt/bpm/Makefile +++ b/ports-mgmt/bpm/Makefile @@ -8,14 +8,14 @@ PORTNAME= bpm PORTVERSION= 0.4.1b PORTREVISION= 10 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://www.meowfishies.com/code/bpm/ EXTRACT_SUFX= .tgz MAINTAINER= sethk@meowfishies.com COMMENT= A graphical BSD ports collection manager -RUN_DEPENDS= portupgrade:${PORTSDIR}/sysutils/portupgrade \ +RUN_DEPENDS= portupgrade:${PORTSDIR}/ports-mgmt/portupgrade \ gdialog:${PORTSDIR}/x11/zenity USE_X_PREFIX= yes diff --git a/ports-mgmt/instant-tinderbox/Makefile b/ports-mgmt/instant-tinderbox/Makefile index f1928acd0c57..03a317c02db9 100644 --- a/ports-mgmt/instant-tinderbox/Makefile +++ b/ports-mgmt/instant-tinderbox/Makefile @@ -8,7 +8,7 @@ PORTNAME= instant-tinderbox PORTVERSION= 1.0 PORTREVISION= 2 -CATEGORIES= misc +CATEGORIES= ports-mgmt DISTFILES= MAINTAINER= edwin@mavetju.org diff --git a/ports-mgmt/jailaudit/Makefile b/ports-mgmt/jailaudit/Makefile index bc9738dc4a98..1081a43d61c4 100644 --- a/ports-mgmt/jailaudit/Makefile +++ b/ports-mgmt/jailaudit/Makefile @@ -7,13 +7,13 @@ PORTNAME= jailaudit PORTVERSION= 1.2 -CATEGORIES= security +CATEGORIES= ports-mgmt MASTER_SITES= http://outpost.h3q.com/software/jailaudit/ MAINTAINER= cryx-ports@h3q.com COMMENT= Script to generate portaudit reports for jails -RUN_DEPENDS= ${LOCALBASE}/sbin/portaudit:${PORTSDIR}/security/portaudit +RUN_DEPENDS= ${LOCALBASE}/sbin/portaudit:${PORTSDIR}/ports-mgmt/portaudit USE_BZIP2= yes diff --git a/ports-mgmt/kports-qt4/Makefile b/ports-mgmt/kports-qt4/Makefile index 389fd0f6aaee..cbe981c26528 100644 --- a/ports-mgmt/kports-qt4/Makefile +++ b/ports-mgmt/kports-qt4/Makefile @@ -7,7 +7,7 @@ PORTNAME= kports PORTVERSION= 0.6.1 -CATEGORIES= sysutils kde +CATEGORIES= ports-mgmt kde MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} @@ -20,7 +20,7 @@ USE_KDELIBS_VER=3 USE_AUTOTOOLS= libtool:15 PREFIX= ${KDE_PREFIX} -RUN_DEPENDS+= portupgrade:${PORTSDIR}/sysutils/portupgrade +RUN_DEPENDS+= portupgrade:${PORTSDIR}/ports-mgmt/portupgrade RUN_DEPENDS+= kdehier>=0:${PORTSDIR}/misc/kdehier OPTIONS= PORTAUDIT "Require Portaudit" on @@ -32,7 +32,7 @@ IGNORE= doesn't compile properly on 4.x systems .endif .if !defined(WITHOUT_PORTAUDIT) -RUN_DEPENDS+= portaudit:${PORTSDIR}/security/portaudit +RUN_DEPENDS+= portaudit:${PORTSDIR}/ports-mgmt/portaudit .endif .include <bsd.port.post.mk> diff --git a/ports-mgmt/kports/Makefile b/ports-mgmt/kports/Makefile index 389fd0f6aaee..cbe981c26528 100644 --- a/ports-mgmt/kports/Makefile +++ b/ports-mgmt/kports/Makefile @@ -7,7 +7,7 @@ PORTNAME= kports PORTVERSION= 0.6.1 -CATEGORIES= sysutils kde +CATEGORIES= ports-mgmt kde MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} @@ -20,7 +20,7 @@ USE_KDELIBS_VER=3 USE_AUTOTOOLS= libtool:15 PREFIX= ${KDE_PREFIX} -RUN_DEPENDS+= portupgrade:${PORTSDIR}/sysutils/portupgrade +RUN_DEPENDS+= portupgrade:${PORTSDIR}/ports-mgmt/portupgrade RUN_DEPENDS+= kdehier>=0:${PORTSDIR}/misc/kdehier OPTIONS= PORTAUDIT "Require Portaudit" on @@ -32,7 +32,7 @@ IGNORE= doesn't compile properly on 4.x systems .endif .if !defined(WITHOUT_PORTAUDIT) -RUN_DEPENDS+= portaudit:${PORTSDIR}/security/portaudit +RUN_DEPENDS+= portaudit:${PORTSDIR}/ports-mgmt/portaudit .endif .include <bsd.port.post.mk> diff --git a/ports-mgmt/managepkg/Makefile b/ports-mgmt/managepkg/Makefile index a9ad75191fe4..eb393312c329 100644 --- a/ports-mgmt/managepkg/Makefile +++ b/ports-mgmt/managepkg/Makefile @@ -7,7 +7,7 @@ PORTNAME= managepkg PORTVERSION= 1.1 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://www.cul.de/data/\ http://home.arcor.de/fehlner/fbsd_ports/\ http://home.arcor.de/teambushido/fbsd_ports/ diff --git a/ports-mgmt/newportsversioncheck/Makefile b/ports-mgmt/newportsversioncheck/Makefile index 359881bafd3e..49fe1c6a0cc7 100644 --- a/ports-mgmt/newportsversioncheck/Makefile +++ b/ports-mgmt/newportsversioncheck/Makefile @@ -8,7 +8,7 @@ PORTNAME= newportsversioncheck PORTVERSION= 1.3 PORTREVISION= 1 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://www.mavetju.org/download/ MAINTAINER= edwin@mavetju.org diff --git a/ports-mgmt/p5-FreeBSD-Portindex/Makefile b/ports-mgmt/p5-FreeBSD-Portindex/Makefile index b526813222ae..c89d8e638151 100644 --- a/ports-mgmt/p5-FreeBSD-Portindex/Makefile +++ b/ports-mgmt/p5-FreeBSD-Portindex/Makefile @@ -6,7 +6,7 @@ PORTNAME= FreeBSD-Portindex PORTVERSION= 1.9 -CATEGORIES= sysutils perl5 +CATEGORIES= ports-mgmt perl5 MASTER_SITES= http://www.infracaninophile.co.uk/portindex/ PKGNAMEPREFIX= p5- diff --git a/ports-mgmt/p5-FreeBSD-Ports/Makefile b/ports-mgmt/p5-FreeBSD-Ports/Makefile index 913d0a555360..53ad4c883f1c 100644 --- a/ports-mgmt/p5-FreeBSD-Ports/Makefile +++ b/ports-mgmt/p5-FreeBSD-Ports/Makefile @@ -7,7 +7,7 @@ PORTNAME= FreeBSD-Ports PORTVERSION= 0.04 -CATEGORIES= textproc perl5 +CATEGORIES= ports-mgmt perl5 MASTER_SITES= ${MASTER_SITE_LOCAL} MASTER_SITE_SUBDIR= tom PKGNAMEPREFIX= p5- diff --git a/ports-mgmt/pib/Makefile b/ports-mgmt/pib/Makefile index 970acd68edd6..74f9d8e54793 100644 --- a/ports-mgmt/pib/Makefile +++ b/ports-mgmt/pib/Makefile @@ -7,7 +7,7 @@ PORTNAME= pib PORTVERSION= 1.2 -CATEGORIES= sysutils tk82 +CATEGORIES= ports-mgmt tk82 MASTER_SITES= ${MASTER_SITE_LOCAL} MASTER_SITE_SUBDIR= msmith diff --git a/ports-mgmt/pkg-orphan/Makefile b/ports-mgmt/pkg-orphan/Makefile index 81f8e6a08146..e1ba3c45de3b 100644 --- a/ports-mgmt/pkg-orphan/Makefile +++ b/ports-mgmt/pkg-orphan/Makefile @@ -7,7 +7,7 @@ PORTNAME= pkg-orphan PORTVERSION= 0.1.1 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR=${PORTNAME} diff --git a/ports-mgmt/pkg_cutleaves/Makefile b/ports-mgmt/pkg_cutleaves/Makefile index e14a3377cc1a..1ae29e945ce4 100644 --- a/ports-mgmt/pkg_cutleaves/Makefile +++ b/ports-mgmt/pkg_cutleaves/Makefile @@ -7,7 +7,7 @@ PORTNAME= pkg_cutleaves PORTVERSION= 20061113 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://www.gegenunendlich.de/projects/${PORTNAME}/ MAINTAINER= stefan@FreeBSD.org diff --git a/ports-mgmt/pkg_install-devel/Makefile b/ports-mgmt/pkg_install-devel/Makefile index 6e7d688b42c0..804f3aac5afb 100644 --- a/ports-mgmt/pkg_install-devel/Makefile +++ b/ports-mgmt/pkg_install-devel/Makefile @@ -7,7 +7,7 @@ PORTNAME= pkg_install PORTVERSION= 20040811 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= ${MASTER_SITE_LOCAL} MASTER_SITE_SUBDIR= eik PKGNAMESUFFIX= -devel diff --git a/ports-mgmt/pkg_install/Makefile b/ports-mgmt/pkg_install/Makefile index 069bdd76c2cf..ec3a1970a35d 100644 --- a/ports-mgmt/pkg_install/Makefile +++ b/ports-mgmt/pkg_install/Makefile @@ -7,7 +7,7 @@ PORTNAME= pkg_install PORTVERSION= 20060113 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= ${MASTER_SITE_LOCAL} \ http://people.FreeBSD.org/~marcus/ MASTER_SITE_SUBDIR= marcus diff --git a/ports-mgmt/pkg_remove/Makefile b/ports-mgmt/pkg_remove/Makefile index 944303a7ba87..f36487594de1 100644 --- a/ports-mgmt/pkg_remove/Makefile +++ b/ports-mgmt/pkg_remove/Makefile @@ -7,7 +7,7 @@ PORTNAME= pkg_remove PORTVERSION= 1.1 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= # none DISTFILES= # none diff --git a/ports-mgmt/pkg_rmleaves/Makefile b/ports-mgmt/pkg_rmleaves/Makefile index 3780d2d46bf1..26d1d120d431 100644 --- a/ports-mgmt/pkg_rmleaves/Makefile +++ b/ports-mgmt/pkg_rmleaves/Makefile @@ -7,7 +7,7 @@ PORTNAME= pkg_rmleaves PORTVERSION= 20050922 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://utenti.gufi.org/~drizzt/codes/ports/${PORTNAME}/ MAINTAINER= drizzt@gufi.org diff --git a/ports-mgmt/pkg_trackinst/Makefile b/ports-mgmt/pkg_trackinst/Makefile index 1d483e7e4124..f71752d4e026 100644 --- a/ports-mgmt/pkg_trackinst/Makefile +++ b/ports-mgmt/pkg_trackinst/Makefile @@ -6,7 +6,7 @@ PORTNAME= pkg_trackinst PORTVERSION= 1.2.3 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://people.freebsd.org/~perky/distfiles/ MAINTAINER= perky@FreeBSD.org diff --git a/ports-mgmt/pkg_tree/Makefile b/ports-mgmt/pkg_tree/Makefile index 87841c41d6a3..d3199fc41b26 100644 --- a/ports-mgmt/pkg_tree/Makefile +++ b/ports-mgmt/pkg_tree/Makefile @@ -8,7 +8,7 @@ PORTNAME= pkg_tree PORTVERSION= 1.1 PORTREVISION= 1 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://www.mavetju.org/download/ MAINTAINER= edwin@mavetju.org diff --git a/ports-mgmt/pkgfe/Makefile b/ports-mgmt/pkgfe/Makefile index 5d9bf2ddf27a..a2244c9ba5a4 100644 --- a/ports-mgmt/pkgfe/Makefile +++ b/ports-mgmt/pkgfe/Makefile @@ -7,7 +7,7 @@ PORTNAME= pkgfe PORTVERSION= 20061204 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://helpfreebsd.net/pkgfe/releases/ \ http://kodu.neti.ee/~madis555/pkgfe/releases/ \ http://ketas.life.ee/pkgfe/releases/ \ @@ -17,15 +17,15 @@ MASTER_SITES= http://helpfreebsd.net/pkgfe/releases/ \ MAINTAINER= madis555@hot.ee COMMENT= Ncurses frontend for ports collection -RUN_DEPENDS= portupgrade:${PORTSDIR}/sysutils/portupgrade \ - portaudit:${PORTSDIR}/security/portaudit +RUN_DEPENDS= portupgrade:${PORTSDIR}/ports-mgmt/portupgrade \ + portaudit:${PORTSDIR}/ports-mgmt/portaudit MAN8= pkgfe.8 .include <bsd.port.pre.mk> .if ${OSVERSION} < 600033 && ( ${OSVERSION} < 504103 || ${OSVERSION} > 600000 ) -RUN_DEPENDS+= portsnap:${PORTSDIR}/sysutils/portsnap +RUN_DEPENDS+= portsnap:${PORTSDIR}/ports-mgmt/portsnap .endif NO_BUILD= yes diff --git a/ports-mgmt/port-authoring-tools/Makefile b/ports-mgmt/port-authoring-tools/Makefile index ec3939be0205..548834ad7e7c 100644 --- a/ports-mgmt/port-authoring-tools/Makefile +++ b/ports-mgmt/port-authoring-tools/Makefile @@ -7,7 +7,7 @@ PORTNAME= port-authoring-tools PORTVERSION= 1.0 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= # empty DISTFILES= # empty EXTRACT_ONLY= # empty @@ -20,7 +20,7 @@ RUN_DEPENDS= \ ${LOCALBASE}/bin/cvsup:${PORTSDIR}/net/cvsup-without-gui \ ${LOCALBASE}/bin/fastest_cvsup:${PORTSDIR}/sysutils/fastest_cvsup \ ${LOCALBASE}/sbin/libchk:${PORTSDIR}/sysutils/libchk \ - ${LOCALBASE}/bin/port:${PORTSDIR}/devel/porttools + ${LOCALBASE}/bin/port:${PORTSDIR}/ports-mgmt/porttools NO_BUILD= yes diff --git a/ports-mgmt/port-maintenance-tools/Makefile b/ports-mgmt/port-maintenance-tools/Makefile index 4e1b575c9870..696e7c1eae1c 100644 --- a/ports-mgmt/port-maintenance-tools/Makefile +++ b/ports-mgmt/port-maintenance-tools/Makefile @@ -7,7 +7,7 @@ PORTNAME= port-maintenance-tools PORTVERSION= 1.0 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= # empty DISTFILES= # empty EXTRACT_ONLY= # empty @@ -19,11 +19,11 @@ COMMENT= "meta-port" for administrative tools to maintain ports RUN_DEPENDS= \ ${LOCALBASE}/bin/cvsup:${PORTSDIR}/net/cvsup-without-gui \ ${LOCALBASE}/bin/fastest_cvsup:${PORTSDIR}/sysutils/fastest_cvsup \ - ${LOCALBASE}/sbin/pkg_cutleaves:${PORTSDIR}/sysutils/pkg_cutleaves \ - ${LOCALBASE}/bin/pkg_tree:${PORTSDIR}/sysutils/pkg_tree \ - ${LOCALBASE}/bin/porteasy:${PORTSDIR}/misc/porteasy \ - ${LOCALBASE}/bin/portell:${PORTSDIR}/misc/portell \ - ${LOCALBASE}/sbin/portdowngrade:${PORTSDIR}/sysutils/portdowngrade + ${LOCALBASE}/sbin/pkg_cutleaves:${PORTSDIR}/ports-mgmt/pkg_cutleaves \ + ${LOCALBASE}/bin/pkg_tree:${PORTSDIR}/ports-mgmt/pkg_tree \ + ${LOCALBASE}/bin/porteasy:${PORTSDIR}/ports-mgmt/porteasy \ + ${LOCALBASE}/bin/portell:${PORTSDIR}/ports-mgmt/portell \ + ${LOCALBASE}/sbin/portdowngrade:${PORTSDIR}/ports-mgmt/portdowngrade NO_BUILD= yes diff --git a/ports-mgmt/portaudit-db/Makefile b/ports-mgmt/portaudit-db/Makefile index db754b90df57..a59cf59369b2 100644 --- a/ports-mgmt/portaudit-db/Makefile +++ b/ports-mgmt/portaudit-db/Makefile @@ -7,7 +7,7 @@ PORTNAME= portaudit-db PORTVERSION= 0.2.3 -CATEGORIES= security +CATEGORIES= ports-mgmt DISTFILES= MAINTAINER= secteam@FreeBSD.org diff --git a/ports-mgmt/portaudit/Makefile b/ports-mgmt/portaudit/Makefile index 8d585f433cba..8394913d4500 100644 --- a/ports-mgmt/portaudit/Makefile +++ b/ports-mgmt/portaudit/Makefile @@ -7,7 +7,7 @@ PORTNAME= portaudit PORTVERSION= 0.5.11 -CATEGORIES= security +CATEGORIES= ports-mgmt DISTFILES= MAINTAINER= secteam@FreeBSD.org @@ -40,11 +40,11 @@ SED_SCRIPT= -e 's|%%PREFIX%%|${PREFIX}|g' \ .if !defined(DFOSVERSION) .if ${OSVERSION} < 491101 || ${OSVERSION} >= 500000 && ${OSVERSION} < 502120 -RUN_DEPENDS= ${LOCALBASE}/sbin/pkg_info:${PORTSDIR}/sysutils/pkg_install-devel +RUN_DEPENDS= ${LOCALBASE}/sbin/pkg_info:${PORTSDIR}/ports-mgmt/pkg_install-devel .endif .else .if ${DFOSVERSION} < 110000 -RUN_DEPENDS= ${LOCALBASE}/sbin/pkg_info:${PORTSDIR}/sysutils/pkg_install-devel +RUN_DEPENDS= ${LOCALBASE}/sbin/pkg_info:${PORTSDIR}/ports-mgmt/pkg_install-devel .endif .endif diff --git a/ports-mgmt/portbrowser/Makefile b/ports-mgmt/portbrowser/Makefile index fdd60b045b5b..6155e35d92a4 100644 --- a/ports-mgmt/portbrowser/Makefile +++ b/ports-mgmt/portbrowser/Makefile @@ -7,7 +7,7 @@ PORTNAME= portbrowser PORTVERSION= 0.3 PORTREVISION= 3 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://www.bytelabs.org/ DISTNAME= pb-browser-${PORTVERSION} EXTRACT_SUFX= .tgz diff --git a/ports-mgmt/portcheck/Makefile b/ports-mgmt/portcheck/Makefile index ef45650db19c..39e879534f6d 100644 --- a/ports-mgmt/portcheck/Makefile +++ b/ports-mgmt/portcheck/Makefile @@ -7,7 +7,7 @@ PORTNAME= portcheck PORTVERSION= 1.12 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://www.usebsd.com/pub/portcheck/files/ \ http://www.bitcare.dk/pub/portcheck/files/ EXTRACT_SUFX= .tbz @@ -15,7 +15,7 @@ EXTRACT_SUFX= .tbz MAINTAINER= naim@usebsd.com COMMENT= Maintains the ports tree and checks up the installed packages -RUN_DEPENDS= ${LOCALBASE}/sbin/portaudit:${PORTSDIR}/security/portaudit +RUN_DEPENDS= ${LOCALBASE}/sbin/portaudit:${PORTSDIR}/ports-mgmt/portaudit PLIST_FILES= bin/portcheck MAN1= portcheck.1 diff --git a/ports-mgmt/portcheckout/Makefile b/ports-mgmt/portcheckout/Makefile index 5370ee92e9b7..697afb68122f 100644 --- a/ports-mgmt/portcheckout/Makefile +++ b/ports-mgmt/portcheckout/Makefile @@ -7,7 +7,7 @@ PORTNAME= portcheckout PORTVERSION= 2.0 -CATEGORIES= devel +CATEGORIES= ports-mgmt MASTER_SITES= http://wolfram.schneider.org/src/ MAINTAINER= wosch@FreeBSD.org diff --git a/ports-mgmt/portconf/Makefile b/ports-mgmt/portconf/Makefile index 2ef7a2244422..927d07aa3e2a 100644 --- a/ports-mgmt/portconf/Makefile +++ b/ports-mgmt/portconf/Makefile @@ -9,7 +9,7 @@ PORTNAME= portconf PORTVERSION= 1.2 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= # none DISTFILES= # none diff --git a/ports-mgmt/portdowngrade/Makefile b/ports-mgmt/portdowngrade/Makefile index 7ebf370b9eee..ed21b23602b5 100644 --- a/ports-mgmt/portdowngrade/Makefile +++ b/ports-mgmt/portdowngrade/Makefile @@ -7,7 +7,7 @@ PORTNAME= portdowngrade PORTVERSION= 0.6 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} diff --git a/ports-mgmt/porteasy/Makefile b/ports-mgmt/porteasy/Makefile index 556ec885ec92..e47e264a32ad 100644 --- a/ports-mgmt/porteasy/Makefile +++ b/ports-mgmt/porteasy/Makefile @@ -9,7 +9,7 @@ PORTNAME= porteasy PORTVERSION= 2.8.4 -CATEGORIES= misc +CATEGORIES= ports-mgmt MASTER_SITES= # none DISTFILES= # none diff --git a/ports-mgmt/portell/Makefile b/ports-mgmt/portell/Makefile index b8d457b903e5..44be14539190 100644 --- a/ports-mgmt/portell/Makefile +++ b/ports-mgmt/portell/Makefile @@ -8,7 +8,7 @@ PORTNAME= portell PORTVERSION= 0.2 PORTREVISION= 1 -CATEGORIES= misc +CATEGORIES= ports-mgmt MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} EXTRACT_SUFX= .zip diff --git a/ports-mgmt/portless/Makefile b/ports-mgmt/portless/Makefile index d1a3e2045b44..64601a1ad152 100644 --- a/ports-mgmt/portless/Makefile +++ b/ports-mgmt/portless/Makefile @@ -7,7 +7,7 @@ PORTNAME= portless PORTVERSION= 0.2.5 -CATEGORIES= misc +CATEGORIES= ports-mgmt MASTER_SITES= # empty DISTFILES= # none EXTRACT_ONLY= # empty diff --git a/ports-mgmt/portlint/Makefile b/ports-mgmt/portlint/Makefile index 4f76bdce8de5..5c21434b36aa 100644 --- a/ports-mgmt/portlint/Makefile +++ b/ports-mgmt/portlint/Makefile @@ -9,7 +9,7 @@ PORTNAME= portlint PORTVERSION= 2.9.2 -CATEGORIES= devel +CATEGORIES= ports-mgmt MASTER_SITES= # none DISTFILES= # none diff --git a/ports-mgmt/portmanager/Makefile b/ports-mgmt/portmanager/Makefile index 691aedd351c5..838283e76011 100644 --- a/ports-mgmt/portmanager/Makefile +++ b/ports-mgmt/portmanager/Makefile @@ -8,7 +8,7 @@ PORTNAME= portmanager PORTVERSION= 0.4.1 PORTREVISION= 7 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= portmanager diff --git a/ports-mgmt/portmaster/Makefile b/ports-mgmt/portmaster/Makefile index ebb5ce2ac668..9ce488d2a883 100644 --- a/ports-mgmt/portmaster/Makefile +++ b/ports-mgmt/portmaster/Makefile @@ -9,7 +9,7 @@ PORTNAME= portmaster PORTVERSION= 1.12 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= # none DISTFILES= # none diff --git a/ports-mgmt/portmk/Makefile b/ports-mgmt/portmk/Makefile index e44e7ef46327..20efdbb7025e 100644 --- a/ports-mgmt/portmk/Makefile +++ b/ports-mgmt/portmk/Makefile @@ -7,7 +7,7 @@ PORTNAME= portmk PORTVERSION= 0.1.1 -CATEGORIES= devel +CATEGORIES= ports-mgmt DISTFILES= MAINTAINER= clement@FreeBSD.org diff --git a/ports-mgmt/portscout/Makefile b/ports-mgmt/portscout/Makefile index f527c8e332c7..656d24b8380c 100644 --- a/ports-mgmt/portscout/Makefile +++ b/ports-mgmt/portscout/Makefile @@ -7,7 +7,7 @@ PORTNAME= portscout PORTVERSION= 0.7.2 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://mirror.inerd.com/FreeBSD/distfiles/${PORTNAME}/ \ http://www.inerd.com/software/${PORTNAME}/ diff --git a/ports-mgmt/portsearch/Makefile b/ports-mgmt/portsearch/Makefile index 5f7c9567e1d9..baac34c903a8 100644 --- a/ports-mgmt/portsearch/Makefile +++ b/ports-mgmt/portsearch/Makefile @@ -7,7 +7,7 @@ PORTNAME= portsearch PORTVERSION= 1.3.0 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= ${MASTER_SITE_LOCAL} MASTER_SITE_SUBDIR= vd/portsearch diff --git a/ports-mgmt/portsman/Makefile b/ports-mgmt/portsman/Makefile index 8f92cf3505ab..9274f79ce308 100644 --- a/ports-mgmt/portsman/Makefile +++ b/ports-mgmt/portsman/Makefile @@ -8,7 +8,7 @@ PORTNAME= portsman PORTVERSION= 0.2 PORTREVISION= 2 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://download.berlios.de/portsman/ # temporary DISTNAME= ${PORTNAME}-${PORTVERSION}-rc2 diff --git a/ports-mgmt/portsnap/Makefile b/ports-mgmt/portsnap/Makefile index b97666d66047..c40c0a7520e3 100644 --- a/ports-mgmt/portsnap/Makefile +++ b/ports-mgmt/portsnap/Makefile @@ -7,7 +7,7 @@ PORTNAME= portsnap PORTVERSION= 1.1 -CATEGORIES= sysutils net +CATEGORIES= ports-mgmt net MASTER_SITES= http://www.daemonology.net/portsnap/ MAINTAINER= cperciva@daemonology.net diff --git a/ports-mgmt/portsopt/Makefile b/ports-mgmt/portsopt/Makefile index 944683835499..b321756858c9 100644 --- a/ports-mgmt/portsopt/Makefile +++ b/ports-mgmt/portsopt/Makefile @@ -7,7 +7,7 @@ PORTNAME= portsopt PORTVERSION= 1.2 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://www.chruetertee.ch/files/download/ MAINTAINER= beat@chruetertee.ch diff --git a/ports-mgmt/porttools/Makefile b/ports-mgmt/porttools/Makefile index 885a5e681f17..3d5fb54df6af 100644 --- a/ports-mgmt/porttools/Makefile +++ b/ports-mgmt/porttools/Makefile @@ -7,14 +7,14 @@ PORTNAME= porttools PORTVERSION= 0.77 -CATEGORIES= devel +CATEGORIES= ports-mgmt MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} MAINTAINER= sergei@FreeBSD.org COMMENT= Tools for testing and submitting port updates and new ports -RUN_DEPENDS= portlint:${PORTSDIR}/devel/portlint \ +RUN_DEPENDS= portlint:${PORTSDIR}/ports-mgmt/portlint \ cdiff:${PORTSDIR}/textproc/cdiff \ sudo:${PORTSDIR}/security/sudo diff --git a/ports-mgmt/portupgrade-devel/Makefile b/ports-mgmt/portupgrade-devel/Makefile index 6e9545f23617..d53890d4a8bc 100644 --- a/ports-mgmt/portupgrade-devel/Makefile +++ b/ports-mgmt/portupgrade-devel/Makefile @@ -8,7 +8,7 @@ PORTNAME= portupgrade-devel PORTVERSION= 2.2.2 PORTREVISION= 1 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= portupgrade DISTNAME= pkgtools-${DISTVERSION} diff --git a/ports-mgmt/portupgrade/Makefile b/ports-mgmt/portupgrade/Makefile index 4b317b13b286..9466a0c6947d 100644 --- a/ports-mgmt/portupgrade/Makefile +++ b/ports-mgmt/portupgrade/Makefile @@ -9,7 +9,7 @@ PORTNAME= portupgrade PORTVERSION= 2.2.2 PORTREVISION= 3 PORTEPOCH= 2 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} DISTNAME= pkgtools-${DISTVERSION} diff --git a/ports-mgmt/psearch/Makefile b/ports-mgmt/psearch/Makefile index a244eec28413..f38528c08f01 100644 --- a/ports-mgmt/psearch/Makefile +++ b/ports-mgmt/psearch/Makefile @@ -7,7 +7,7 @@ PORTNAME= psearch PORTVERSION= 1.2 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt MASTER_SITES= http://www.maxlor.com/files/ MAINTAINER= benlutz@datacomm.ch diff --git a/ports-mgmt/qtpkg/Makefile b/ports-mgmt/qtpkg/Makefile index 5034cc1af97f..1246bac7b4bd 100644 --- a/ports-mgmt/qtpkg/Makefile +++ b/ports-mgmt/qtpkg/Makefile @@ -8,7 +8,7 @@ PORTNAME= qtpkg PORTVERSION= 1.0 PORTREVISION= 1 -CATEGORIES= sysutils +CATEGORIES= ports-mgmt # mastersite disappeared around July 6 2003 MASTER_SITES= # http://gauss.cord.edu/homepages/twschulz/demo/ DISTNAME= qtpkg diff --git a/ports-mgmt/tinderbox-devel/Makefile b/ports-mgmt/tinderbox-devel/Makefile index 0e827b9b857b..469eb7293cc5 100644 --- a/ports-mgmt/tinderbox-devel/Makefile +++ b/ports-mgmt/tinderbox-devel/Makefile @@ -7,7 +7,7 @@ PORTNAME= tinderbox PORTVERSION= 2.3.4 PORTREVISION= 3 -CATEGORIES= misc +CATEGORIES= ports-mgmt MASTER_SITES= http://tinderbox.marcuscom.com/ MAINTAINER= itetcu@FreeBSD.org diff --git a/ports-mgmt/tinderbox/Makefile b/ports-mgmt/tinderbox/Makefile index 0e827b9b857b..469eb7293cc5 100644 --- a/ports-mgmt/tinderbox/Makefile +++ b/ports-mgmt/tinderbox/Makefile @@ -7,7 +7,7 @@ PORTNAME= tinderbox PORTVERSION= 2.3.4 PORTREVISION= 3 -CATEGORIES= misc +CATEGORIES= ports-mgmt MASTER_SITES= http://tinderbox.marcuscom.com/ MAINTAINER= itetcu@FreeBSD.org diff --git a/ports-mgmt/vulnerability-test-port/Makefile b/ports-mgmt/vulnerability-test-port/Makefile index 27642976798e..5457da85008e 100644 --- a/ports-mgmt/vulnerability-test-port/Makefile +++ b/ports-mgmt/vulnerability-test-port/Makefile @@ -7,7 +7,7 @@ PORTNAME= vulnerability-test-port PORTVERSION= ${INSTALLATION_DATE} -CATEGORIES= security +CATEGORIES= ports-mgmt DISTFILES= MAINTAINER= ports@FreeBSD.org diff --git a/security/Makefile b/security/Makefile index 733b82ba21c2..bd1a627dad6e 100644 --- a/security/Makefile +++ b/security/Makefile @@ -197,7 +197,6 @@ SUBDIR += isakmpd SUBDIR += isnprober SUBDIR += its4 - SUBDIR += jailaudit SUBDIR += jce_policy14 SUBDIR += john SUBDIR += kedpm @@ -557,8 +556,6 @@ SUBDIR += pktsuckers SUBDIR += poc SUBDIR += poly1305aes - SUBDIR += portaudit - SUBDIR += portaudit-db SUBDIR += portscanner SUBDIR += portsentry SUBDIR += ppars @@ -716,7 +713,6 @@ SUBDIR += vpnc SUBDIR += vpnd SUBDIR += vscan - SUBDIR += vulnerability-test-port SUBDIR += vuxml SUBDIR += vxquery SUBDIR += webfwlog diff --git a/security/jailaudit/Makefile b/security/jailaudit/Makefile deleted file mode 100644 index bc9738dc4a98..000000000000 --- a/security/jailaudit/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -# New ports collection makefile for: jailaudit -# Date created: 21 October 2005 -# Whom: cryx -# -# $FreeBSD$ -# - -PORTNAME= jailaudit -PORTVERSION= 1.2 -CATEGORIES= security -MASTER_SITES= http://outpost.h3q.com/software/jailaudit/ - -MAINTAINER= cryx-ports@h3q.com -COMMENT= Script to generate portaudit reports for jails - -RUN_DEPENDS= ${LOCALBASE}/sbin/portaudit:${PORTSDIR}/security/portaudit - -USE_BZIP2= yes - -PERIODICDIR?= ${PREFIX}/etc/periodic -REPORTDIR?= ${PREFIX}/jailaudit/reports -TMPDIR?= ${PREFIX}/jailaudit/tmp - -PLIST_SUB+= PERIODICDIR="${PERIODICDIR:S,^${PREFIX}/,,}" \ - REPORTDIR="${REPORTDIR:S,^${PREFIX}/,,}" \ - TMPDIR="${TMPDIR:S,^${PREFIX}/,,}" - -.include <bsd.port.pre.mk> - -.if ( ${OSVERSION} < 501000 ) -IGNORE= needs the jls utility which was added in FreeBSD 5.1 -.endif - -.include <bsd.port.post.mk> diff --git a/security/jailaudit/distinfo b/security/jailaudit/distinfo deleted file mode 100644 index 804a685dae44..000000000000 --- a/security/jailaudit/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (jailaudit-1.2.tar.bz2) = 42ba69b07906ebfc29bf3d31c07e88bf -SHA256 (jailaudit-1.2.tar.bz2) = 5cf7f3a75f5b13cf617ed432eb90453cc2bc152685a0146329e828bea8840689 -SIZE (jailaudit-1.2.tar.bz2) = 2599 diff --git a/security/jailaudit/pkg-descr b/security/jailaudit/pkg-descr deleted file mode 100644 index 0933960c9516..000000000000 --- a/security/jailaudit/pkg-descr +++ /dev/null @@ -1,20 +0,0 @@ -This port contains a script to generate portaudit reports for jails -running on a FreeBSD system. - -Normally portaudit just creates reports for the Host-system or the jail -it is installed in. With a large number of jails running on a system, -installing and updating portaudit in every jail is time-consuming and -error-prone. Jailaudit uses the portaudit installed in the Host-system -to create a report for every jail. - -The reports are appended to the daily security run and can be sent to a -specific mail address, which allows the Host-system administrator to -dispatch portaudit reports to the owners of jails, keeping them informed -about potential security advisories of their installed ports. - -Jailaudit can be used on FreeBSD 5.1 or larger. - -WWW: https://anonsvn.h3q.com/projects/jailaudit/ - -- cryx -Philipp Wuensche <cryx-ports@h3q.com> diff --git a/security/jailaudit/pkg-plist b/security/jailaudit/pkg-plist deleted file mode 100644 index 43a7a083dd0d..000000000000 --- a/security/jailaudit/pkg-plist +++ /dev/null @@ -1,11 +0,0 @@ -bin/jailaudit -etc/jailaudit.conf.sample -%%PERIODICDIR%%/security/410.jailaudit -@dirrmtry %%PERIODICDIR%%/security -@dirrmtry %%PERIODICDIR%% -@exec mkdir -p %D/%%REPORTDIR%% -@dirrmtry %%REPORTDIR%% -@exec mkdir -p %D/%%TMPDIR%% -@dirrmtry %%TMPDIR%% -@unexec rmdir %DPDIR%% 2>/dev/null || true -@dirrmtry jailaudit diff --git a/security/portaudit-db/Makefile b/security/portaudit-db/Makefile deleted file mode 100644 index db754b90df57..000000000000 --- a/security/portaudit-db/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# New ports collection makefile for: portaudit-db -# Date created: 12 Jun 2004 -# Whom: Oliver Eikemeier -# -# $FreeBSD$ -# - -PORTNAME= portaudit-db -PORTVERSION= 0.2.3 -CATEGORIES= security -DISTFILES= - -MAINTAINER= secteam@FreeBSD.org -COMMENT= Creates a portaudit database from a current ports tree - -RUN_DEPENDS= xsltproc:${PORTSDIR}/textproc/libxslt - -DEPENDS_ARGS+= WITHOUT_PYTHON=yes - -DATABASEDIR?= ${AUDITFILE:H} - -PLIST_SUB+= DATABASEDIR="${DATABASEDIR}" - -SED_SCRIPT= -e 's,%%PREFIX%%,${PREFIX},g' \ - -e "s|%%DATADIR%%|${DATADIR}|g" \ - -e "s|%%LOCALBASE%%|${LOCALBASE}|g" \ - -e "s|%%PORTSDIR%%|${PORTSDIR}|g" \ - -e "s|%%PORTVERSION%%|${PORTVERSION}|g" \ - -e "s|%%DATABASEDIR%%|${DATABASEDIR}|g" - -do-build: - @for f in packaudit.sh packaudit.conf; do \ - ${SED} ${SED_SCRIPT} "${FILESDIR}/$$f" > "${WRKDIR}/$$f"; \ - done - -do-install: - @${INSTALL_SCRIPT} ${WRKDIR}/packaudit.sh ${PREFIX}/bin/packaudit - @${INSTALL_DATA} ${WRKDIR}/packaudit.conf ${PREFIX}/etc/packaudit.conf.sample - @${MKDIR} ${DATADIR} - @${INSTALL_SCRIPT} ${FILESDIR}/portaudit2vuxml.awk ${DATADIR} - @${INSTALL_DATA} ${FILESDIR}/vuxml2html.xslt ${FILESDIR}/vuxml2portaudit.xslt ${DATADIR} - @${MKDIR} ${DATABASEDIR} - -.include <bsd.port.mk> diff --git a/security/portaudit-db/database/portaudit.txt b/security/portaudit-db/database/portaudit.txt deleted file mode 100644 index ccb7b401f54c..000000000000 --- a/security/portaudit-db/database/portaudit.txt +++ /dev/null @@ -1,84 +0,0 @@ -# portaudit text based database -# $FreeBSD$ -apache>=2.*<2.0.49_1|http://www.osvdb.org/6472 http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2004-0488|mod_ssl stack-based buffer overflow|662cd99e-bc9d-11d8-916c-000347dd607f -apache+mod_ssl*<1.3.31+2.8.18|http://www.osvdb.org/6472 http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2004-0488|mod_ssl stack-based buffer overflow|662cd99e-bc9d-11d8-916c-000347dd607f -ru-apache+mod_ssl<1.3.31+30.20+2.8.18|http://www.osvdb.org/6472 http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2004-0488|mod_ssl stack-based buffer overflow|662cd99e-bc9d-11d8-916c-000347dd607f -apache<1.3.31_1|http://www.osvdb.org/6839 http://www.apacheweek.com/features/security-13|mod_proxy buffer overflow (CAN-2004-0492)|5bcd500c-bc9d-11d8-916c-000347dd607f -apache+mod_ssl*<1.3.31+2.8.18_4|http://www.osvdb.org/6839 http://www.apacheweek.com/features/security-13|mod_proxy buffer overflow (CAN-2004-0492)|5bcd500c-bc9d-11d8-916c-000347dd607f -ru-apache+mod_ssl<=1.3.31+30.20+2.8.18|http://www.osvdb.org/6839 http://www.apacheweek.com/features/security-13|mod_proxy buffer overflow (CAN-2004-0492)|5bcd500c-bc9d-11d8-916c-000347dd607f -dbmail{-mysql,-postgresql}<1.2.8a|http://mailman.fastxs.net/pipermail/dbmail/2004-June/004960.html|DBMail: remote exploitable buffer overflow|3b9b196e-bd12-11d8-b071-00e08110b673 -smtpproxy<=1.1.3|http://0xbadc0ded.org/advisories/0402.txt|smtpproxy: remotely exploitable format string vulnerability|1abf65f9-bc9d-11d8-916c-000347dd607f -subversion{,-perl,-python}<1.0.5|http://www.osvdb.org/6935 http://subversion.tigris.org/security/CAN-2004-0413-advisory.txt|subversion: remote exploitable buffer overflow in 'svn://' parser|4616bc3b-bd0f-11d8-a252-02e0185c0b53 -imp<3.2.4|http://article.gmane.org/gmane.comp.horde.imp/14421/|imp: XSS hole exploited via the Content-type header of malicious emails|911f1b19-bd20-11d8-84f9-000bdb1444a4 -chora<1.2.2|http://article.gmane.org/gmane.comp.horde.chora/610/|chora: hole in the diff code that allowed malicious input|9e09399d-bd21-11d8-84f9-000bdb1444a4 -squirrelmail<1.4.3a|http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2004-0519 http://www.rs-labs.com/adv/RS-Labs-Advisory-2004-1.txt|SquirrelMail XSS vulnerability|89a0de27-bf66-11d8-a252-02e0185c0b53 -ja-squirrelmail<1.4.3a,1|http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2004-0519 http://www.rs-labs.com/adv/RS-Labs-Advisory-2004-1.txt|SquirrelMail XSS vulnerability|89a0de27-bf66-11d8-a252-02e0185c0b53 -webmin<1.150|http://www.webmin.com/changes-1.150.html http://www.osvdb.org/6729 http://www.osvdb.org/6730|Multiple vulnerabilities in Webmin|ab61715f-c027-11d8-b00e-000347a4fa7d -racoon<20040617a|http://lists.netsys.com/pipermail/full-disclosure/2004-June/022617.html http://www.securityfocus.com/archive/1/366023 http://securitytracker.com/alerts/2004/Jun/1010495.html http://orange.kame.net/dev/cvsweb.cgi/kame/kame/kame/racoon/crypto_openssl.c#rev1.86 http://www.securityfocus.com/bid/10546 http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0607|Racoon may validate invalid certificates|a96c1d37-c033-11d8-b00e-000347a4fa7d -ircd-hybrid<=7.0_1|http://lists.netsys.com/pipermail/full-disclosure/2004-June/022820.html http://www.securityfocus.com/archive/1/366486 http://www.osvdb.org/7242|ircd-hybrid-7 low-bandwidth DoS|23aafa20-c28a-11d8-864c-02e0185c0b53 -ircd-hybrid-ru<=7.1_2|http://lists.netsys.com/pipermail/full-disclosure/2004-June/022820.html http://www.securityfocus.com/archive/1/366486 http://www.osvdb.org/7242|ircd-hybrid-7 low-bandwidth DoS|23aafa20-c28a-11d8-864c-02e0185c0b53 -{,??-}aspell<=0.50.5_2|http://nettwerked.mg2.org/advisories/wlc http://marc.theaimsgroup.com/?l=bugtraq&m=108761564006503&w=2 http://www.securityfocus.com/bid/10497|Buffer overflow in word-list-compress|b7b03bab-c296-11d8-bfb2-000bdb1444a4 -linux-aspell<=0.50.4.1|http://nettwerked.mg2.org/advisories/wlc http://marc.theaimsgroup.com/?l=bugtraq&m=108761564006503&w=2 http://www.securityfocus.com/bid/10497|Buffer overflow in word-list-compress|b7b03bab-c296-11d8-bfb2-000bdb1444a4 -bnbt<7.5b3|http://www.osvdb.org/6336|BNBT Authorization Header DoS|0f9b3542-c35f-11d8-8898-000d6111a684 -scorched3d<0.37.2|http://marc.theaimsgroup.com/?l=bugtraq&m=108152473130133&w=2 http://www.osvdb.org/5086 http://www.freebsd.org/cgi/query-pr.cgi?pr=67541 http://secunia.com/advisories/11319 http://security.gentoo.org/glsa/glsa-200404-12.xml|Scorched 3D server chat box format string vulnerability|36808860-c363-11d8-8898-000d6111a684 -super<3.23.0|http://www.secunia.com/advisories/11899 http://www.debian.org/security/2004/dsa-522 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0579|super format string vulnerability|fae06c04-c38c-11d8-8898-000d6111a684 -mailman<2.1.5|http://mail.python.org/pipermail/mailman-announce/2004-May/000072.html http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0412 http://www.osvdb.org/6422|mailman allows 3rd parties to retrieve member passwords|2a405a43-c396-11d8-8898-000d6111a684 -roundup<0.7.3|http://www.osvdb.org/6691 http://secunia.com/advisories/11801 http://xforce.iss.net/xforce/xfdb/16350 http://securityfocus.com/bid/10495 http://mail.python.org/pipermail/python-announce-list/2004-May/003126.html|Roundup remote file disclosure vulnerability|40800696-c3b0-11d8-864c-02e0185c0b53 -sqwebmail<4.0.5|http://www.securityfocus.com/archive/1/366595|Sqwebmail XSS vulnerability|c3e56efa-c42f-11d8-864c-02e0185c0b53 -isc-dhcp3<3.0.1.r11|http://www.cert.org/advisories/CA-2003-01.html http://www.kb.cert.org/vuls/id/284857 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0026|ISC DHCPD minires library contains multiple buffer overflows|f71745cd-c509-11d8-8898-000d6111a684 -isc-dhcp3<3.0.1.r11_1|http://www.kb.cert.org/vuls/id/149953 http://www.securityfocus.com/bid/6628 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0039|ISC "dhcrelay" fails to limit hop count when malicious bootp packet is received|02957734-c50b-11d8-8898-000d6111a684 -icecast2<2.0.1,1|http://secunia.com/advisories/11578 http://www.osvdb.org/6075|Icecast remote DoS vulnerability|8de7cf18-c5ca-11d8-8898-000d6111a684 -rssh<2.2.1|http://secunia.com/advisories/11926 http://www.securityfocus.com/archive/1/366691 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0609 http://www.securityfocus.com/bid/10574 http://www.osvdb.org/7239|rssh file existence information disclosure weakness|a4815970-c5cc-11d8-8898-000d6111a684 -sup<=2.0|http://secunia.com/advisories/11898 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0451|CMU SUP logging format string vulnerabilities|238ea8eb-c5cf-11d8-8898-000d6111a684 -rlpr<2.04_1|http://secunia.com/advisories/11906 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0393 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0454 http://www.osvdb.org/7194 http://www.osvdb.org/7195 http://securitytracker.com/id?1010545 http://www.securityfocus.com/archive/1/367045|rlpr "msg()" buffer overflow and format string vulnerabilities|29a72da5-c5ea-11d8-8898-000d6111a684 -pure-ftpd<1.0.19|http://www.pureftpd.org/ http://www.osvdb.org/7415|Pure-FTPd DoS when maximum number of connections is reached|ec5cf461-c691-11d8-8898-000d6111a684 -libxine<1.0.r4|http://www.xinehq.de/index.php/security/XSA-2004-3 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0433 http://secunia.com/advisories/11500|xine-lib RTSP handling vulnerabilities|83cbd52c-c8e8-11d8-8898-000d6111a684 -apache>=2.*<2.0.49_3|http://www.guninski.com/httpd1.html http://www.apacheweek.com/features/security-20 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0493 http://secunia.com/advisories/11956 http://www.osvdb.org/7269|Apache input header folding DoS vulnerability|81a8c9c2-c94f-11d8-8898-000d6111a684 -isakmpd<20040611|http://lists.netsys.com/pipermail/full-disclosure/2004-June/022399.html http://www.osvdb.org/6951 http://www.secunia.com/advisories/11827 http://www.securityfocus.com/bid/10496|isakmpd security association deletion vulnerability|9a73a5b4-c9b5-11d8-95ca-02e081301d81 -krb5<1.3.4|http://web.mit.edu/kerberos/advisories/MITKRB5-SA-2004-001-an_to_ln.txt http://cve.mitre.org/cgi-bin/cvename.cgi?name=2004-0523 http://www.osvdb.org/6846 http://secunia.com/advisories/11753 http://www.kb.cert.org/vuls/id/686862 http://www.securityfocus.com/bid/10448|MIT Kerberos 5 krb5_aname_to_localname() buffer overflow|5177b6e5-c9b7-11d8-95ca-02e081301d81 -png<1.2.5_6|http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2002-1363 http://rhn.redhat.com/errata/RHSA-2003-006.html http://www.osvdb.org/7191 http://www.securityfocus.com/bid/6431|libpng row buffer overflow|1b78d43f-d32b-11d8-b479-02e0185c0b53 -linux-png<1.0.14_3|http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2002-1363 http://rhn.redhat.com/errata/RHSA-2003-006.html http://www.osvdb.org/7191 http://www.securityfocus.com/bid/6431|libpng row buffer overflow|1b78d43f-d32b-11d8-b479-02e0185c0b53 -{ja-,}bugzilla<2.16.6|http://www.bugzilla.org/security/2.16.5/ http://secunia.com/advisories/12057 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0704 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0705 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0707 http://www.securityfocus.com/bid/10698|multiple vulnerabilities in Bugzilla|672975cb-d526-11d8-b479-02e0185c0b53 -wv<=1.0.0_1|http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0645 http://www.idefense.com/application/poi/display?id=115&type=vulnerabilities&flashstatus=false http://secunia.com/advisories/12040 http://www.osvdb.org/7761|wv library datetime field buffer overflow|7a5430df-d562-11d8-b479-02e0185c0b53 -ru-apache+mod_ssl<1.3.31+30.20+2.8.19|http://www.mail-archive.com/modssl-users@modssl.org/msg16853.html http://www.mail-archive.com/modssl-users@modssl.org/msg16855.html http://secunia.com/advisories/12077 http://www.osvdb.org/7929|mod_ssl format string vulnerability|a3b7cb56-d8a7-11d8-9b0a-000347a4fa7d -apache+mod_ssl*<1.3.31+2.8.19|http://www.mail-archive.com/modssl-users@modssl.org/msg16853.html http://www.mail-archive.com/modssl-users@modssl.org/msg16855.html http://secunia.com/advisories/12077 http://www.osvdb.org/7929|mod_ssl format string vulnerability|a3b7cb56-d8a7-11d8-9b0a-000347a4fa7d -subversion<1.0.6|http://subversion.tigris.org/security/mod_authz_svn-copy-advisory.txt http://secunia.com/advisories/12079 http://www.osvdb.org/8239|mod_authz_svn access control bypass|cc35a97d-da35-11d8-9b0a-000347a4fa7d -subversion-{perl,python}<1.0.6|http://subversion.tigris.org/security/mod_authz_svn-copy-advisory.txt http://secunia.com/advisories/12079 http://www.osvdb.org/8239|mod_authz_svn access control bypass|cc35a97d-da35-11d8-9b0a-000347a4fa7d -phpbb<2.0.10|http://secunia.com/advisories/12114 http://www.phpbb.com/support/documents.php?mode=changelog#209 http://www.osvdb.org/8164 http://www.osvdb.org/8165 http://www.osvdb.org/8166|phpBB cross site scripting vulnerabilities|c59dbaf0-dbe1-11d8-9b0a-000347a4fa7d -l2tpd<=0.69_2|http://www.securityfocus.com/archive/1/365211 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0649 http://www.osvdb.org/6726 http://secunia.com/advisories/11788|l2tpd BSS-based buffer overflow|807b9ddd-dc11-11d8-9b0a-000347a4fa7d -dropbear<0.43|http://matt.ucc.asn.au/dropbear/dropbear.html http://secunia.com/advisories/12153|Dropbear DSS verification vulnerability|0316f983-dfb6-11d8-9b0a-000347a4fa7d -nessus<2.0.12|http://www.osvdb.org/8167 http://secunia.com/advisories/12127 http://www.securityfocus.com/bid/10784|Nessus "adduser" race condition vulnerability|054e4aad-dfb6-11d8-9b0a-000347a4fa7d -nessus-devel>=2.*<2.1.1|http://www.osvdb.org/8167 http://secunia.com/advisories/12127 http://www.securityfocus.com/bid/10784|Nessus "adduser" race condition vulnerability|054e4aad-dfb6-11d8-9b0a-000347a4fa7d -pavuk<=0.9.28_5|http://www.securityfocus.com/archive/1/370248 http://archives.neohapsis.com/archives/fulldisclosure/2004-07/1119.html http://secunia.com/advisories/12152 http://www.osvdb.org/8242 http://www.securityfocus.com/bid/10797 http://www.gentoo.org/cgi-bin/viewcvs.cgi/net-misc/pavuk/files/pavuk-0.9.28-digest_auth.c.patch|pavuk digest auth buffer overflow|f67ea071-dfb8-11d8-9b0a-000347a4fa7d -lcdproc<0.4.5|http://sourceforge.net/project/shownotes.php?release_id=230910 http://secunia.com/advisories/11333 http://www.securityfocus.com/archive/1/360209 http://www.securityfocus.com/bid/10085 http://www.osvdb.org/5157 http://www.osvdb.org/5158 http://www.osvdb.org/5159 http://www.osvdb.org/5160|LCDProc buffer overflow/format string vulnerabilities|62d23317-e072-11d8-9a79-000347dd607f -dansguardian<2.8.0.1|http://secunia.com/advisories/12191 http://www.securityfocus.com/archive/1/370346 http://www.osvdb.org/8270|DansGuardian banned extension filter bypass vulnerability|f6fd9200-e20e-11d8-9b0a-000347a4fa7d -imp<3.2.5|http://www.greymagic.com/security/advisories/gm005-mc/ http://cvs.horde.org/diff.php/imp/docs/CHANGES?r1=1.389.2.106&r2=1.389.2.109&ty=h http://secunia.com/advisories/12202|XSS hole in the HTML viewer - This vulnerability only exists when using the Internet Explorer to access IMP and only when using the inline MIME viewer for HTML messages.|49189b47-e24d-11d8-9f75-000bdb1444a4 -phpMyAdmin<2.5.7.1|http://www.securityfocus.com/archive/1/367486 http://www.securityfocus.com/bid/10629 http://secunia.com/SA11974 http://www.osvdb.org/7314 http://www.osvdb.org/7315|phpMyAdmin configuration manipulation and code injection|56648b44-e301-11d8-9b0a-000347a4fa7d -gnutls<1.0.17|http://www.hornik.sk/SA/SA-20040802.txt http://secunia.com/advisories/12156|GnuTLS certificate chain verification DoS|84ab58cf-e4ac-11d8-9b0a-000347a4fa7d -gnutls-devel>=1.1.*<1.1.12|http://www.hornik.sk/SA/SA-20040802.txt http://secunia.com/advisories/12156|GnuTLS certificate chain verification DoS|84ab58cf-e4ac-11d8-9b0a-000347a4fa7d -{linux-,}opera<7.54|http://www.opera.com/freebsd/changelogs/754/ http://www.greymagic.com/security/advisories/gm008-op/ http://secunia.com/advisories/12233 http://www.osvdb.org/8331|Opera "location" object write access vulnerability|0deed2ce-e6f5-11d8-9a79-000347dd607f -putty<0.55|http://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html http://www.coresecurity.com/common/showdoc.php?idx=417&idxseccion=10 http://www.osvdb.org/8299 http://secunia.com/advisories/12212|modified server can execute commands on the client|4424f4db-e697-11d8-bf04-000c763e9a47 -cfengine2<2.1.8|http://www.coresecurity.com/common/showdoc.php?idx=387&idxseccion=10 http://secunia.com/advisories/12251|cfengine authentication heap corruption|f2a1dc8b-ea66-11d8-9440-000347a4fa7d -sympa<4.1.2|http://secunia.com/advisories/12286 http://www.sympa.org/release.html http://xforce.iss.net/xforce/xfdb/16984 http://www.securityfocus.com/bid/10941|Sympa unauthorized list creation|4a160c54-ed46-11d8-81b0-000347a4fa7d -phpgedview<2.65.5|http://sourceforge.net/forum/forum.php?forum_id=344342 http://secunia.com/advisories/10602 http://www.osvdb.org/3473 http://www.osvdb.org/3474 http://www.osvdb.org/3475 http://www.osvdb.org/3476 http://www.osvdb.org/3477 http://www.osvdb.org/3478 http://www.osvdb.org/3479 http://www.osvdb.org/3480 http://www.osvdb.org/3481 http://www.osvdb.org/3482 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0067 http://www.securityfocus.com/archive/1/349698|phpGedView: muliple vulnerabilities|c35d4cae-eed0-11d8-81b0-000347a4fa7d -{ja-,}phpgroupware<0.9.14.007|http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0016 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0017 http://www.securityfocus.com/bid/9386 http://www.securityfocus.com/bid/9387 http://xforce.iss.net/xforce/xfdb/13489 http://xforce.iss.net/xforce/xfdb/14846 http://www.osvdb.org/2691 http://www.osvdb.org/6857 http://secunia.com/advisories/10046|phpGroupWare calendar and infolog SQL injection, calendar server side script execution|96fc0f03-ef13-11d8-81b0-000347a4fa7d -{ja-,}phpgroupware<0.9.16.002|http://freshmeat.net/releases/168144 http://www.osvdb.org/8354 http://xforce.iss.net/xforce/xfdb/16970|phpGroupWare stores passwords in plain text|82f16a40-ef12-11d8-81b0-000347a4fa7d -gallery<1.4.4.1|http://archives.neohapsis.com/archives/fulldisclosure/2004-08/0757.html http://xforce.iss.net/xforce/xfdb/17021 http://www.osvdb.org/9019 http://secunia.com/advisories/12316 http://www.securityfocus.com/bid/10968|Gallery arbitrary PHP file upload|031663de-f0a6-11d8-81b0-000347a4fa7d -apache>=2.*<2.0.50_2|http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0751 http://issues.apache.org/bugzilla/show_bug.cgi?id=30134 http://issues.apache.org/bugzilla/show_bug.cgi?id=27945 http://issues.apache.org/bugzilla/show_bug.cgi?id=29690|potential security flaws in mod_ssl|0e08f539-f151-11d8-81b0-000347a4fa7d -a2ps-{a4,letter,letterdj}<4.13b_2|http://www.freebsd.org/cgi/query-pr.cgi?pr=70618 http://secunia.com/advisories/12375 http://www.osvdb.org/9176 http://www.securityfocus.com/bid/11025|a2ps: Possible execution of shell commands as local user|8091fcea-f35e-11d8-81b0-000347a4fa7d -{ja-,}xv<=3.10a_3|http://secunia.com/advisories/12352 http://www.securityfocus.com/archive/1/372345 http://www.osvdb.org/9115 http://www.osvdb.org/9118 http://www.osvdb.org/9119 http://www.osvdb.org/9120 http://www.securityfocus.com/bid/10985|multiple buffer overflows in xv|34c453ba-f686-11d8-81b0-000347a4fa7d -nss<3.9|http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2003-0564 http://secunia.com/advisories/11096 http://www.osvdb.org/4197|Mozilla / NSS S/MIME DoS vulnerability|65532ad9-f69b-11d8-81b0-000347a4fa7d -{ja-,ru-,}gaim<0.82|http://www.osvdb.org/9261 http://www.osvdb.org/9262 http://www.osvdb.org/9263 http://www.osvdb.org/9264 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0754 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0784 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0785 http://www.securityfocus.com/bid/11056 http://gaim.sourceforge.net/security/index.php|multiple vulnerabilities in gaim|8b29b312-fa6e-11d8-81b0-000347a4fa7d -{ja-,}samba<2.2.11.*|http://www.samba.org/samba/history/samba-2.2.11.html http://secunia.com/advisories/12397 http://www.osvdb.org/9362|samba printer change notification request DoS|d8ce23a5-fadc-11d8-81b0-000347a4fa7d -squid>=2.5.*<2.5.6_7|http://secunia.com/advisories/12444 http://www.squid-cache.org/bugs/show_bug.cgi?id=1045 http://www.securityfocus.com/bid/11098|Squid NTLM authentication helper DoS|7c351421-fdbd-11d8-81b0-000347a4fa7d -FreeBSD>=502120<503000|http://secunia.com/advisories/11129 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0797 http://www.osvdb.org/9360 http://www.osvdb.org/9361 http://www.securityfocus.com/bid/11051|zlib DoS vulnerability|1b98165f-fdd9-11d8-81b0-000347a4fa7d -FreeBSD>=600000<600001|http://secunia.com/advisories/11129 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0797 http://www.osvdb.org/9360 http://www.osvdb.org/9361 http://www.securityfocus.com/bid/11051|zlib DoS vulnerability|1b98165f-fdd9-11d8-81b0-000347a4fa7d -{ja-,}phpgroupware<0.9.16.003|http://secunia.com/advisories/12466 http://phpgroupware.org/ http://www.osvdb.org/9729 http://freshmeat.net/releases/171909|XSS vulnerability in phpGroupWare wiki module|64726098-00aa-11d9-81b0-000347a4fa7d -star>=1.5.*<1.5.a.46|http://lists.berlios.de/pipermail/star-users/2004-August/000239.html http://secunia.com/advisories/12484|Vulnerability in star versions that support ssh for remote tape access|6a5b2998-01c0-11d9-81b0-000347a4fa7d -multi-gnome-terminal<=1.6.2_1|http://www.gentoo.org/security/en/glsa/glsa-200409-10.xml http://cvs.sourceforge.net/viewcvs.py/multignometerm/multignometerm/gnome-terminal/enhanced_gui.c?r1=text&tr1=1.252&r2=text&tr2=1.253&diff_format=u http://www.osvdb.org/9752|Possible information leak in multi-gnome-terminal|cad7a2f4-01c2-11d9-81b0-000347a4fa7d -usermin<1.090|http://secunia.com/advisories/12488 http://www.webmin.com/uchanges.html http://www.lac.co.jp/security/csl/intelligence/SNSadvisory_e/77_e.html http://www.osvdb.org/9775 http://www.osvdb.org/9776|Usermin remote shell command injection and insecure installation vulnerability|9ef2a3cf-01c3-11d9-81b0-000347a4fa7d -mpg123<=0.59r_13|http://secunia.com/advisories/12478 http://www.osvdb.org/9748 http://www.alighieri.org/advisories/advisory-mpg123.txt http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0805|mpg123 layer 2 decoder buffer overflow|780671ac-01e0-11d9-81b0-000347a4fa7d -imp<3.2.6|http://thread.gmane.org/gmane.comp.horde.imp/15488 http://cvs.horde.org/diff.php/imp/docs/CHANGES?r1=1.389.2.109&r2=1.389.2.111&ty=h|XSS hole in the HTML viewer - The script vulnerabilities can only be exposed with certain browsers and allow XSS attacks when viewing HTML messages with the HTML MIME viewer.|efc4819b-0b2d-11d9-bfe1-000bdb1444a4 -koffice<1.3.2_1,1|http://kde.org/info/security/advisory-20041021-1.txt|Multiple integer overflow and integer arithmetic flaws in imported xpdf code|ecf6713f-2549-11d9-945e-00e018f69096 -kdegraphics>=3.2.0<3.3.0_1|http://kde.org/info/security/advisory-20041021-1.txt|Multiple integer overflow and integer arithmetic flaws in imported xpdf code|6a04bf0e-254b-11d9-945e-00e018f69096 -horde{-php5}=3.0|http://thread.gmane.org/gmane.comp.horde.user/10059|Horde: two XSS vulnerabilities can be exposed by making an authenticated user click on a specially crafted URL and allows to execute JavaScript code in the context of Horde.|338d1723-5f03-11d9-92a7-000bdb1444a4 diff --git a/security/portaudit-db/database/portaudit.xlist b/security/portaudit-db/database/portaudit.xlist deleted file mode 100644 index 034472c025f7..000000000000 --- a/security/portaudit-db/database/portaudit.xlist +++ /dev/null @@ -1,26 +0,0 @@ -# portaudit exclude list -# $FreeBSD$ -3362f2c1-8344-11d8-a41f-0020ed76ef5a -5e7f58c3-b3f8-4258-aeb8-795e5e940ff8 -4aec9d58-ce7b-11d8-858d-000d610a3b12 -78348ea2-ec91-11d8-b913-000c41e2cdad -641859e8-eca1-11d8-b913-000c41e2cdad -603fe36d-ec9d-11d8-b913-000c41e2cdad -2de14f7a-dad9-11d8-b59a-00061bc2ad93 -7a9d5dfe-c507-11d8-8898-000d6111a684 -3a408f6f-9c52-11d8-9366-0020ed76ef5a -e5e2883d-ceb9-11d8-8898-000d6111a684 -74d06b67-d2cf-11d8-b479-02e0185c0b53 -265c8b00-d2d0-11d8-b479-02e0185c0b53 -4764cfd6-d630-11d8-b479-02e0185c0b53 -730db824-e216-11d8-9b0a-000347a4fa7d -f9e3e60b-e650-11d8-9b0a-000347a4fa7d -abe47a5a-e23c-11d8-9b0a-000347a4fa7d -a713c0f9-ec54-11d8-9440-000347a4fa7d -5b8f9a02-ec93-11d8-b913-000c41e2cdad -65a17a3f-ed6e-11d8-aff1-00061bc2ad93 -e811aaf1-f015-11d8-876f-00902714cc7c -ebffe27a-f48c-11d8-9837-000c41e2cdad -0d3a5148-f512-11d8-9837-000c41e2cdad -b6cad7f3-fb59-11d8-9837-000c41e2cdad -d2102505-f03d-11d8-81b0-000347a4fa7d diff --git a/security/portaudit-db/database/portaudit.xml b/security/portaudit-db/database/portaudit.xml deleted file mode 100644 index 61aac6d73564..000000000000 --- a/security/portaudit-db/database/portaudit.xml +++ /dev/null @@ -1,1107 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -Copyright (c) 2004 Oliver Eikemeier - -Redistribution and use in source (XML) and 'compiled' forms (SGML, -HTML, PDF, PostScript, RTF and so forth) with or without modification, -are permitted provided that the following conditions are met: - -- Redistributions of source code (XML) must retain the above copyright - notice, this list of conditions and the following disclaimer as - the first lines of this file unmodified. - -- Redistributions in compiled form (transformed to other DTDs, - converted to PDF, PostScript, RTF and other formats) 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 DOCUMENTATION IS PROVIDED BY THE AUTHOR "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 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 DOCUMENTATION, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - $FreeBSD$ - ---> -<!DOCTYPE vuxml PUBLIC "-//vuxml.org//DTD VuXML 1.1//EN" "http://www.vuxml.org/dtd/vuxml-1/vuxml-11.dtd"> -<vuxml xmlns="http://www.vuxml.org/apps/vuxml-1"> - - <vuln vid="42e330ab-82a4-11d8-868e-000347dd607f"> - <topic>MPlayer remotely exploitable buffer overflow in the ASX parser</topic> - <affects> - <package> - <name>mplayer{,-gtk}{,-esound}</name> - <range><lt>0.92</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>A remotely exploitable buffer overflow vulnerability was found in - MPlayer. A malicious host can craft a harmful ASX header, - and trick MPlayer into executing arbitrary code upon parsing that header.</p> - </body> - </description> - <references> - <url>http://www.mplayerhq.hu/</url> - <url>http://www.securityfocus.com/archive/1/339330</url> - <url>http://www.securityfocus.com/archive/1/339193</url> - <cvename>CAN-2003-0835</cvename> - <bid>8702</bid> - </references> - <dates> - <discovery>2003-09-24</discovery> - <entry>2004-03-30</entry> - </dates> - </vuln> - - <vuln vid="d8c46d74-8288-11d8-868e-000347dd607f"> - <topic>MPlayer remotely exploitable buffer overflow in the HTTP parser</topic> - <affects> - <package> - <name>mplayer{,-gtk}{,-esound}</name> - <range><lt>0.92.1</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>A remotely exploitable buffer overflow vulnerability was found in - MPlayer. A malicious host can craft a harmful HTTP header ("Location:"), - and trick MPlayer into executing arbitrary code upon parsing that header.</p> - </body> - </description> - <references> - <url>http://www.mplayerhq.hu/</url> - <url>http://www.securityfocus.com/archive/1/359029</url> - <url>http://www.securityfocus.com/archive/1/359025</url> - <cvename>CAN-2004-0386</cvename> - </references> - <dates> - <discovery>2004-03-29</discovery> - <entry>2004-03-30</entry> - </dates> - </vuln> - - <vuln vid="1ed556e6-734f-11d8-868e-000347dd607f"> - <cancelled superseded="1a448eb7-6988-11d8-873f-0020ed76ef5a"/> - </vuln> - - <vuln vid="4aec9d58-ce7b-11d8-858d-000d610a3b12"> - <cancelled superseded="c63936c1-caed-11d8-8898-000d6111a684"/> - </vuln> - - <vuln vid="c63936c1-caed-11d8-8898-000d6111a684"> - <topic>SSLtelnet remote format string vulnerability</topic> - <affects> - <package> - <name>SSLtelnet</name> - <range><le>0.13_1</le></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>SSLtelnet contains a format string vulnerability - that could allow remote code execution.</p> - </body> - </description> - <references> - <mlist msgid="FB24803D1DF2A34FA59FC157B77C970502D684B7@idserv04.idef.com">http://lists.freebsd.org/pipermail/freebsd-ports/2004-June/013878.html</mlist> - <url>http://www.idefense.com/application/poi/display?id=114&type=vulnerabilities&flashstatus=false</url> - <cvename>CAN-2004-0640</cvename> - <url>http://www.osvdb.org/7594</url> - <url>http://secunia.com/advisories/12032</url> - </references> - <dates> - <discovery>2003-04-03</discovery> - <entry>2004-06-30</entry> - </dates> - </vuln> - - <vuln vid="7eded4b8-e6fe-11d8-b12f-0a001f31891a"> - <cancelled superseded="2de14f7a-dad9-11d8-b59a-00061bc2ad93"/> - </vuln> - - <vuln vid="f72ccf7c-e607-11d8-9b0a-000347a4fa7d"> - <cancelled superseded="6f955451-ba54-11d8-b88c-000d610a3b12"/> - </vuln> - - <vuln vid="9fb5bb32-d6fa-11d8-b479-02e0185c0b53"> - <cancelled superseded="40800696-c3b0-11d8-864c-02e0185c0b53"/> - </vuln> - - <vuln vid="78348ea2-ec91-11d8-b913-000c41e2cdad"> - <cancelled superseded="ab166a60-e60a-11d8-9b0a-000347a4fa7d"/> - </vuln> - - <vuln vid="ab166a60-e60a-11d8-9b0a-000347a4fa7d"> - <topic>Acrobat Reader handling of malformed uuencoded pdf files</topic> - <affects> - <package> - <name>acroread</name> - <range><lt>5.09</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Remote exploitation of an input validation error in the uudecoding - feature of Adobe Acrobat Reader (Unix) 5.0 allows an attacker to execute - arbitrary code.</p> - </body> - </description> - <references> - <url>http://www.osvdb.org/7429</url> - <url>http://freshmeat.net/releases/164883</url> - <cvename>CAN-2004-0630</cvename> - <cvename>CAN-2004-0631</cvename> - <url>http://secunia.com/advisories/12285</url> - <url>http://xforce.iss.net/xforce/xfdb/16972</url> - <url>http://xforce.iss.net/xforce/xfdb/16973</url> - <url>http://www.idefense.com/application/poi/display?id=124&type=vulnerabilities&flashstatus=false</url> - <url>http://www.idefense.com/application/poi/display?id=125&type=vulnerabilities&flashstatus=false</url> - <url>http://www.osvdb.org/8654</url> - <url>http://www.osvdb.org/8655</url> - <bid>10931</bid> - <bid>10932</bid> - </references> - <dates> - <discovery>2004-03-30</discovery> - <entry>2004-08-04</entry> - </dates> - </vuln> - - <vuln vid="603fe36d-ec9d-11d8-b913-000c41e2cdad"> - <cancelled superseded="a4bd1cd3-eb25-11d8-978e-00e018f69096"/> - </vuln> - - <vuln vid="cd95b452-eca6-11d8-afa6-ed04757064bb"> - <cancelled superseded="a4bd1cd3-eb25-11d8-978e-00e018f69096"/> - </vuln> - - <vuln vid="a4bd1cd3-eb25-11d8-978e-00e018f69096"> - <topic>KDElibs temporary directory vulnerability</topic> - <affects> - <package> - <name>kdelibs</name> - <range><lt>3.2.3_5</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>In some cases the - integrity of symlinks used by KDE are not ensured and that - these symlinks can be pointing to stale locations. This can - be abused by a local attacker to create or truncate arbitrary - files or to prevent KDE applications from functioning - correctly (Denial of Service).</p> - </body> - </description> - <references> - <url>http://www.kde.org/info/security/advisory-20040811-1.txt</url> - <cvename>CAN-2004-0689</cvename> - <url>http://www.osvdb.org/8589</url> - <url>http://secunia.com/advisories/12276</url> - </references> - <dates> - <discovery>2004-06-23</discovery> - <entry>2004-08-12</entry> - <modified>2004-08-13</modified> - </dates> - </vuln> - - <vuln vid="608ceab8-eca3-11d8-afa6-ed04757064bb"> - <topic>DCOPServer Temporary Filename Vulnerability</topic> - <affects> - <package> - <name>kdelibs</name> - <range><lt>3.2.3_4</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>KDE's DCOPServer creates - temporary files in an insecure manner. Since the temporary - files are used for authentication related purposes this can - potentially allow a local attacker to compromise the account of - any user which runs a KDE application.</p> - </body> - </description> - <references> - <url>http://www.kde.org/info/security/advisory-20040811-2.txt</url> - <cvename>CAN-2004-0690</cvename> - <url>http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=261386</url> - <url>http://www.osvdb.org/8590</url> - <url>http://secunia.com/advisories/12276</url> - </references> - <dates> - <discovery>2004-07-25</discovery> - <entry>2004-08-12</entry> - <modified>2004-08-13</modified> - </dates> - </vuln> - - <vuln vid="641859e8-eca1-11d8-b913-000c41e2cdad"> - <cancelled superseded="2e395baa-eb26-11d8-978e-00e018f69096"/> - </vuln> - - <vuln vid="2e395baa-eb26-11d8-978e-00e018f69096"> - <topic>Konqueror frame injection vulnerability</topic> - <affects> - <package> - <name>kdebase</name> - <range><lt>3.2.3_1</lt></range> - </package> - <package> - <name>kdelibs</name> - <range><lt>3.2.3_3</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>The Konqueror webbrowser allows websites to load webpages into - a frame of any other frame-based webpage that the user may have open.</p> - </body> - </description> - <references> - <url>http://www.kde.org/info/security/advisory-20040811-3.txt</url> - <cvename>CAN-2004-0721</cvename> - <url>http://secunia.com/advisories/11978</url> - <url>http://www.heise.de/newsticker/meldung/48793</url> - <url>http://bugs.kde.org/show_bug.cgi?id=84352</url> - </references> - <dates> - <discovery>2004-07-01</discovery> - <entry>2004-08-11</entry> - <modified>2004-08-13</modified> - </dates> - </vuln> - - <vuln vid="2de14f7a-dad9-11d8-b59a-00061bc2ad93"> - <topic>Multiple Potential Buffer Overruns in Samba</topic> - <affects> - <package> - <name>samba</name> - <range><ge>3.*</ge><lt>3.0.5,1</lt></range> - <range><lt>2.2.10</lt></range> - </package> - <package> - <name>ja-samba</name> - <range><lt>2.2.10.*</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Evgeny Demidov discovered that the Samba server has a - buffer overflow in the Samba Web Administration Tool (SWAT) - on decoding Base64 data during HTTP Basic Authentication. - Versions 3.0.2 through 3.0.4 are affected.</p> - <p>Another buffer overflow bug has been found in the code - used to support the "mangling method = hash" smb.conf - option. The default setting for this parameter is "mangling - method = hash2" and therefore not vulnerable. Versions - between 2.2.0 through 2.2.9 and 3.0.0 through 3.0.4 are affected. - </p> - </body> - </description> - <references> - <cvename>CAN-2004-0600</cvename> - <cvename>CAN-2004-0686</cvename> - <mlist msgid="web-53121174@cgp.agava.net">http://www.securityfocus.com/archive/1/369698</mlist> - <mlist msgid="200407222031.25086.bugtraq@beyondsecurity.com">http://www.securityfocus.com/archive/1/369706</mlist> - <url>http://www.samba.org/samba/whatsnew/samba-3.0.5.html</url> - <url>http://www.samba.org/samba/whatsnew/samba-2.2.10.html</url> - <url>http://www.osvdb.org/8190</url> - <url>http://www.osvdb.org/8191</url> - <url>http://secunia.com/advisories/12130</url> - </references> - <dates> - <discovery>2004-07-14</discovery> - <entry>2004-07-21</entry> - <modified>2004-07-22</modified> - </dates> - </vuln> - - <vuln vid="7a9d5dfe-c507-11d8-8898-000d6111a684"> - <topic>isc-dhcp3-server buffer overflow in logging mechanism</topic> - <affects> - <package> - <name>isc-dhcp3-{relay,server}</name> - <range><ge>3.0.1.r12</ge><lt>3.0.1.r14</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>A buffer overflow exists in the logging functionality - of the DHCP daemon which could lead to Denial of Service - attacks and has the potential to allow attackers to - execute arbitrary code.</p> - </body> - </description> - <references> - <cvename>CAN-2004-0460</cvename> - <url>http://www.osvdb.org/7237</url> - <uscertta>TA04-174A</uscertta> - <certvu>317350</certvu> - <mlist msgid="BAY13-F94UHMuEEkHMz0005c4f7@hotmail.com">http://www.securityfocus.com/archive/1/366801</mlist> - <mlist msgid="40DFAB69.1060909@sympatico.ca">http://www.securityfocus.com/archive/1/367286</mlist> - </references> - <dates> - <discovery>2004-06-22</discovery> - <entry>2004-06-25</entry> - <modified>2004-06-28</modified> - </dates> - </vuln> - - <vuln vid="3a408f6f-9c52-11d8-9366-0020ed76ef5a"> - <topic>libpng denial-of-service</topic> - <affects> - <package> - <name>linux-png</name> - <range><le>1.0.14_3</le></range> - <range><ge>1.2.*</ge><le>1.2.2</le></range> - </package> - <package> - <name>png</name> - <range><lt>1.2.5_4</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Steve Grubb reports a buffer read overrun in - libpng's png_format_buffer function. A specially - constructed PNG image processed by an application using - libpng may trigger the buffer read overrun and possibly - result in an application crash.</p> - </body> - </description> - <references> - <cvename>CAN-2004-0421</cvename> - <url>http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=120508</url> - <url>http://rhn.redhat.com/errata/RHSA-2004-181.html</url> - <url>http://secunia.com/advisories/11505</url> - <url>http://www.osvdb.org/5726</url> - <bid>10244</bid> - <url>http://www.mozilla.org/projects/security/known-vulnerabilities.html#mozilla1.7</url> - </references> - <dates> - <discovery>2004-04-29</discovery> - <entry>2004-05-02</entry> - <modified>2004-08-10</modified> - </dates> - </vuln> - - <vuln vid="e5e2883d-ceb9-11d8-8898-000d6111a684"> - <topic>MySQL authentication bypass / buffer overflow</topic> - <affects> - <package> - <name>mysql-server</name> - <range><ge>4.1.*</ge><lt>4.1.3</lt></range> - <range><ge>5.*</ge><le>5.0.0_2</le></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>By submitting a carefully crafted authentication packet, it is possible - for an attacker to bypass password authentication in MySQL 4.1. Using a - similar method, a stack buffer used in the authentication mechanism can - be overflowed.</p> - </body> - </description> - <references> - <url>http://www.nextgenss.com/advisories/mysql-authbypass.txt</url> - <url>http://dev.mysql.com/doc/mysql/en/News-4.1.3.html</url> - <url>http://secunia.com/advisories/12020</url> - <url>http://www.osvdb.org/7475</url> - <url>http://www.osvdb.org/7476</url> - <mlist msgid="Pine.LNX.4.44.0407080940550.9602-200000@pineapple.shacknet.nu">http://archives.neohapsis.com/archives/vulnwatch/2004-q3/0003.html</mlist> - <cvename>CAN-2004-0627</cvename> - <cvename>CAN-2004-0628</cvename> - <certvu>184030</certvu> - <certvu>645326</certvu> - </references> - <dates> - <discovery>2004-07-01</discovery> - <entry>2004-07-05</entry> - </dates> - </vuln> - - <vuln vid="74d06b67-d2cf-11d8-b479-02e0185c0b53"> - <topic>multiple vulnerabilities in ethereal</topic> - <affects> - <package> - <name>ethereal{,-lite}</name> - <name>tethereal{,-lite}</name> - <range><lt>0.10.4</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Issues have been discovered in multiple protocol dissectors.</p> - </body> - </description> - <references> - <url>http://www.ethereal.com/appnotes/enpa-sa-00014.html</url> - <cvename>CAN-2004-0504</cvename> - <cvename>CAN-2004-0505</cvename> - <cvename>CAN-2004-0506</cvename> - <cvename>CAN-2004-0507</cvename> - <url>http://secunia.com/advisories/11608</url> - <bid>10347</bid> - <url>http://www.osvdb.org/6131</url> - <url>http://www.osvdb.org/6132</url> - <url>http://www.osvdb.org/6133</url> - <url>http://www.osvdb.org/6134</url> - </references> - <dates> - <discovery>2004-05-13</discovery> - <entry>2004-07-11</entry> - </dates> - </vuln> - - <vuln vid="265c8b00-d2d0-11d8-b479-02e0185c0b53"> - <topic>multiple vulnerabilities in ethereal</topic> - <affects> - <package> - <name>ethereal{,-lite}</name> - <name>tethereal{,-lite}</name> - <range><lt>0.10.5</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Issues have been discovered in multiple protocol dissectors.</p> - </body> - </description> - <references> - <url>http://www.ethereal.com/appnotes/enpa-sa-00015.html</url> - <cvename>CAN-2004-0633</cvename> - <cvename>CAN-2004-0634</cvename> - <cvename>CAN-2004-0635</cvename> - <url>http://secunia.com/advisories/12024</url> - <bid>10672</bid> - <url>http://www.osvdb.org/7536</url> - <url>http://www.osvdb.org/7537</url> - <url>http://www.osvdb.org/7538</url> - </references> - <dates> - <discovery>2004-07-06</discovery> - <entry>2004-07-11</entry> - </dates> - </vuln> - - <vuln vid="4764cfd6-d630-11d8-b479-02e0185c0b53"> - <topic>PHP memory_limit and strip_tags() vulnerabilities</topic> - <affects> - <package> - <name>php4</name> - <name>php4-{cgi,cli,dtc,horde,nms}</name> - <name>mod_php4-twig</name> - <range><lt>4.3.8</lt></range> - </package> - <package> - <name>mod_php4</name> - <range><lt>4.3.8,1</lt></range> - </package> - <package> - <name>php5</name> - <name>php5-{cgi,cli}</name> - <range><lt>5.0.0</lt></range> - </package> - <package> - <name>mod_php5</name> - <range><lt>5.0.0,1</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Stefan Esser has reported two vulnerabilities in PHP, which can - be exploited by malicious people to bypass security functionality - or compromise a vulnerable system. An error within PHP's memory_limit - request termination allows remote code execution on PHP servers - with activated memory_limit. A binary safety problem within PHP's - strip_tags() function may allow injection of arbitrary tags in - Internet Explorer and Safari browsers.</p> - </body> - </description> - <references> - <url>http://www.php.net/ChangeLog-4.php</url> - <url>http://www.php.net/ChangeLog-5.php</url> - <url>http://security.e-matters.de/advisories/112004.html</url> - <url>http://security.e-matters.de/advisories/122004.html</url> - <url>http://secunia.com/advisories/12064</url> - <url>http://www.osvdb.org/7870</url> - <url>http://www.osvdb.org/7871</url> - <cvename>CAN-2004-0594</cvename> - <cvename>CAN-2004-0595</cvename> - </references> - <dates> - <discovery>2007-07-07</discovery> - <entry>2004-07-15</entry> - </dates> - </vuln> - - <vuln vid="730db824-e216-11d8-9b0a-000347a4fa7d"> - <topic>Mozilla / Firefox user interface spoofing vulnerability</topic> - <affects> - <package> - <name>firefox</name> - <range><le>0.9.1_1</le></range> - </package> - <package> - <name>linux-mozilla</name> - <range><le>1.7.1</le></range> - </package> - <package> - <name>linux-mozilla-devel</name> - <range><le>1.7.1</le></range> - </package> - <package> - <name>mozilla</name> - <range><le>1.7.1,2</le></range> - <range><ge>1.8.*,2</ge><le>1.8.a2,2</le></range> - </package> - <package> - <name>mozilla-gtk1</name> - <range><le>1.7.1_1</le></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>A vulnerability has been reported in Mozilla and Firefox, - allowing malicious websites to spoof the user interface.</p> - </body> - </description> - <references> - <url>http://bugzilla.mozilla.org/show_bug.cgi?id=252198</url> - <url>http://www.nd.edu/~jsmith30/xul/test/spoof.html</url> - <url>http://secunia.com/advisories/12188</url> - <bid>10832</bid> - <cvename>CAN-2004-0764</cvename> - </references> - <dates> - <discovery>2004-07-19</discovery> - <entry>2004-07-30</entry> - </dates> - </vuln> - - <vuln vid="f9e3e60b-e650-11d8-9b0a-000347a4fa7d"> - <topic>libpng stack-based buffer overflow and other code concerns</topic> - <affects> - <package> - <name>png</name> - <range><le>1.2.5_7</le></range> - </package> - <package> - <name>linux-png</name> - <range><le>1.0.14_3</le></range> - <range><ge>1.2.*</ge><le>1.2.2</le></range> - </package> - <package> - <name>firefox</name> - <range><lt>0.9.3</lt></range> - </package> - <package> - <name>thunderbird</name> - <range><lt>0.7.3</lt></range> - </package> - <package> - <name>linux-mozilla</name> - <range><lt>1.7.2</lt></range> - </package> - <package> - <name>linux-mozilla-devel</name> - <range><lt>1.7.2</lt></range> - </package> - <package> - <name>mozilla</name> - <range><lt>1.7.2,2</lt></range> - <range><ge>1.8.*,2</ge><le>1.8.a2,2</le></range> - </package> - <package> - <name>mozilla-gtk1</name> - <range><lt>1.7.2</lt></range> - </package> - <package> - <name>netscape-{communicator,navigator}</name> - <range><le>4.78</le></range> - </package> - <package> - <name>linux-netscape-{communicator,navigator}</name> - <name>{ja,ko}-netscape-{communicator,navigator}-linux</name> - <range><le>4.8</le></range> - </package> - <package> - <name>{,ja-}netscape7</name> - <range><le>7.1</le></range> - </package> - <package> - <name>{de-,fr-,pt_BR-}netscape7</name> - <range><le>7.02</le></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Chris Evans has discovered multiple vulnerabilities in libpng, - which can be exploited by malicious people to compromise a - vulnerable system or cause a DoS (Denial of Service).</p> - </body> - </description> - <references> - <mlist msgid="Pine.LNX.4.58.0408041840080.20655@sphinx.mythic-beasts.com">http://www.securityfocus.com/archive/1/370853</mlist> - <url>http://scary.beasts.org/security/CESA-2004-001.txt</url> - <url>http://www.osvdb.org/8312</url> - <url>http://www.osvdb.org/8313</url> - <url>http://www.osvdb.org/8314</url> - <url>http://www.osvdb.org/8315</url> - <url>http://www.osvdb.org/8316</url> - <cvename>CAN-2004-0597</cvename> - <cvename>CAN-2004-0598</cvename> - <cvename>CAN-2004-0599</cvename> - <certvu>388984</certvu> - <certvu>236656</certvu> - <certvu>160448</certvu> - <certvu>477512</certvu> - <certvu>817368</certvu> - <certvu>286464</certvu> - <url>http://secunia.com/advisories/12219</url> - <url>http://secunia.com/advisories/12232</url> - <url>http://bugzilla.mozilla.org/show_bug.cgi?id=251381</url> - <url>http://www.mozilla.org/projects/security/known-vulnerabilities.html#mozilla1.7.2</url> - <uscertta>TA04-217A</uscertta> - <url>http://dl.sourceforge.net/sourceforge/libpng/ADVISORY.txt</url> - </references> - <dates> - <discovery>2004-08-04</discovery> - <entry>2004-08-04</entry> - <modified>2004-08-12</modified> - </dates> - </vuln> - - <vuln vid="abe47a5a-e23c-11d8-9b0a-000347a4fa7d"> - <topic>Mozilla certificate spoofing</topic> - <affects> - <package> - <name>firefox</name> - <range><ge>0.9.1</ge><le>0.9.2</le></range> - </package> - <package> - <name>linux-mozilla</name> - <range><lt>1.7.2</lt></range> - </package> - <package> - <name>linux-mozilla-devel</name> - <range><lt>1.7.2</lt></range> - </package> - <package> - <name>mozilla</name> - <range><lt>1.7.2,2</lt></range> - <range><ge>1.8.*,2</ge><le>1.8.a2,2</le></range> - </package> - <package> - <name>mozilla-gtk1</name> - <range><lt>1.7.2</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Mozilla and Mozilla Firefox contains a flaw that may - allow a malicious user to spoof SSL certification.</p> - </body> - </description> - <references> - <mlist msgid="003a01c472ba$b2060900$6501a8c0@sec">http://www.securityfocus.com/archive/1/369953</mlist> - <url>http://www.cipher.org.uk/index.php?p=advisories/Certificate_Spoofing_Mozilla_FireFox_25-07-2004.advisory</url> - <url>http://secunia.com/advisories/12160</url> - <url>http://bugzilla.mozilla.org/show_bug.cgi?id=253121</url> - <url>http://www.mozilla.org/projects/security/known-vulnerabilities.html#mozilla1.7.2</url> - <url>http://www.osvdb.org/8238</url> - <bid>10796</bid> - <cvename>CAN-2004-0763</cvename> - </references> - <dates> - <discovery>2004-07-25</discovery> - <entry>2004-07-30</entry> - <modified>2004-08-05</modified> - </dates> - </vuln> - - <vuln vid="a713c0f9-ec54-11d8-9440-000347a4fa7d"> - <topic>ImageMagick png and bmp vulnerabilities</topic> - <affects> - <package> - <name>ImageMagick{,-nox11}</name> - <range><lt>6.0.6</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Glenn Randers-Pehrson has contributed a fix for the png - vulnerabilities discovered by Chris Evans.</p> - <p>Furthermore, Marcus Meissner has discovered and patched a buffer - overrun associated with decoding runlength-encoded BMP images.</p> - </body> - </description> - <references> - <url>http://studio.imagemagick.org/pipermail/magick-users/2004-August/013218.html</url> - <url>http://studio.imagemagick.org/pipermail/magick-developers/2004-August/002011.html</url> - <url>http://freshmeat.net/releases/169228</url> - <url>http://secunia.com/advisories/12236</url> - <url>http://secunia.com/advisories/12479</url> - <url>http://www.freebsd.org/ports/portaudit/f9e3e60b-e650-11d8-9b0a-000347a4fa7d.html</url> - </references> - <dates> - <discovery>2004-08-04</discovery> - <entry>2004-08-04</entry> - <modified>2004-09-03</modified> - </dates> - </vuln> - - <vuln vid="0139e7e0-e850-11d8-9440-000347a4fa7d"> - <topic>CVStrac remote code execution vulnerability</topic> - <affects> - <package> - <name>cvstrac</name> - <range><lt>1.1.4</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>CVStrac contains a flaw that may allow a remote attacker - to execute arbitrary commands.</p> - </body> - </description> - <references> - <mlist msgid="20040805175709.6995.qmail@web50508.mail.yahoo.com">http://www.securityfocus.com/archive/1/370955</mlist> - <url>http://secunia.com/advisories/12090</url> - <url>http://www.osvdb.org/8373</url> - <url>http://www.cvstrac.org/cvstrac/chngview?cn=316</url> - </references> - <dates> - <discovery>2004-08-05</discovery> - <entry>2004-08-13</entry> - </dates> - </vuln> - - <vuln vid="5b8f9a02-ec93-11d8-b913-000c41e2cdad"> - <topic>gaim remotely exploitable vulnerabilities in MSN component</topic> - <affects> - <package> - <name>{ja-,ru-,}gaim</name> - <range><lt>0.81_1</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Sebastian Krahmer discovered several remotely exploitable - buffer overflow vulnerabilities in the MSN component of - gaim.</p> - </body> - </description> - <references> - <cvename>CAN-2004-0500</cvename> - <url>http://secunia.com/advisories/12125</url> - <url>http://www.osvdb.org/8382</url> - <url>http://www.osvdb.org/8961</url> - <url>http://www.osvdb.org/8962</url> - <url>http://www.suse.com/de/security/2004_25_gaim.html</url> - <bid>10865</bid> - </references> - <dates> - <discovery>2004-08-12</discovery> - <entry>2004-08-12</entry> - <modified>2004-08-30</modified> - </dates> - </vuln> - - <vuln vid="65a17a3f-ed6e-11d8-aff1-00061bc2ad93"> - <topic>jftpgw remote syslog format string vulnerability</topic> - <affects> - <package> - <name>jftpgw</name> - <range><lt>0.13.5</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Remote authenticated users can execute arbitrary code by - passing a malicious string containing format specifiers.</p> - </body> - </description> - <references> - <cvename>CAN-2004-0448</cvename> - <bid>10438</bid> - <url>http://secunia.com/advisories/11732</url> - <url>http://www.debian.org/security/2004/dsa-510</url> - </references> - <dates> - <discovery>2004-05-29</discovery> - <entry>2004-08-13</entry> - </dates> - </vuln> - - <vuln vid="e811aaf1-f015-11d8-876f-00902714cc7c"> - <cancelled superseded="a800386e-ef7e-11d8-81b0-000347a4fa7d"/> - </vuln> - - <vuln vid="a800386e-ef7e-11d8-81b0-000347a4fa7d"> - <topic>ruby CGI::Session insecure file creation</topic> - <affects> - <package> - <name>ruby{,_r,_static}</name> - <range><lt>1.6.8.2004.07.28</lt></range> - <range><ge>1.8.*</ge><lt>1.8.2.p2</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Rubys CGI session management store session information insecurely, - which can be exploited by a local attacker to take over a session.</p> - </body> - </description> - <references> - <cvename>CAN-2004-0755</cvename> - <url>http://secunia.com/advisories/12290</url> - <url>http://www.debian.org/security/2004/dsa-537</url> - <url>http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/ChangeLog?rev=1.2673.2.410</url> - <url>http://www.osvdb.org/8845</url> - </references> - <dates> - <discovery>2004-07-22</discovery> - <entry>2004-08-16</entry> - <modified>2004-08-16</modified> - </dates> - </vuln> - - <vuln vid="ebffe27a-f48c-11d8-9837-000c41e2cdad"> - <cancelled superseded="eda0ade6-f281-11d8-81b0-000347a4fa7d"/> - </vuln> - - <vuln vid="eda0ade6-f281-11d8-81b0-000347a4fa7d"> - <topic>Qt 3.x BMP heap-based overflow, GIF and XPM DoS NULL pointer dereference</topic> - <affects> - <package> - <name>qt</name> - <range><ge>3.*</ge><lt>3.3.3</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Chris Evans has discovered flaws in th handling of various bitmap - formats, allowing the execution of arbitrary code or causing a DoS.</p> - </body> - </description> - <references> - <url>http://scary.beasts.org/security/CESA-2004-004.txt</url> - <url>http://secunia.com/advisories/12325</url> - <cvename>CAN-2004-0691</cvename> - <cvename>CAN-2004-0692</cvename> - <cvename>CAN-2004-0693</cvename> - <url>http://www.osvdb.org/9026</url> - <url>http://xforce.iss.net/xforce/xfdb/17040</url> - <url>http://xforce.iss.net/xforce/xfdb/17041</url> - <url>http://xforce.iss.net/xforce/xfdb/17042</url> - </references> - <dates> - <discovery>2004-08-18</discovery> - <entry>2004-08-20</entry> - </dates> - </vuln> - - <vuln vid="0d3a5148-f512-11d8-9837-000c41e2cdad"> - <cancelled superseded="bacbc357-ea65-11d8-9440-000347a4fa7d"/> - </vuln> - - <vuln vid="bacbc357-ea65-11d8-9440-000347a4fa7d"> - <topic>SpamAssassin DoS vulnerability</topic> - <affects> - <package> - <name>p5-Mail-SpamAssassin</name> - <range><lt>2.64</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Unspecified malformed messages can be used to - cause a DoS (Denial of Service).</p> - </body> - </description> - <references> - <url>http://secunia.com/advisories/12255</url> - <mlist msgid="20040805034902.6DF465900BB@radish.jmason.org>">http://marc.theaimsgroup.com/?l=spamassassin-announce&m=109168121628767&w=2</mlist> - <cvename>CAN-2004-0796</cvename> - <bid>10957</bid> - </references> - <dates> - <discovery>2004-08-05</discovery> - <entry>2004-08-10</entry> - </dates> - </vuln> - - <vuln vid="77cc070b-fdbe-11d8-81b0-000347a4fa7d"> - <topic>vpopmail multiple vulnerabilities</topic> - <affects> - <package> - <name>vpopmail</name> - <range><lt>5.4.6</lt></range> - </package> - <package> - <name>vpopmail-devel</name> - <range><lt>5.5.0</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Inter7 vpopmail (vchkpw) versions 5.4.2 and earlier contain - buffer overflows and format string vulnerabilities in the file vsybase.c</p> - <p>The buffer overflows are not fixed in versions 5.4.6/5.5.0, but are - believed to be very hard to exploit, and only by administrators able to add users.</p> - </body> - </description> - <references> - <url>http://www.osvdb.org/9146</url> - <url>http://www.osvdb.org/9147</url> - <url>http://www.osvdb.org/9148</url> - <bid>10962</bid> - <url>http://secunia.com/advisories/12441</url> - <url>http://cvs.sourceforge.net/viewcvs.py/vpopmail/vpopmail/vsybase.c?r1=1.9.2.1&r2=1.9.2.2</url> - <url>http://www.kupchino.org.ru/unl0ck/advisories/vpopmail.txt</url> - <mlist msgid="200408181347.12199.bugtraq@beyondsecurity.com">http://www.securityfocus.com/archive/1/372257</mlist> - <mlist msgid="58114.66.79.185.80.1092936304.squirrel@mail.xyxx.com">http://www.securityfocus.com/archive/1/372468</mlist> - <url>http://xforce.iss.net/xforce/xfdb/17016</url> - <url>http://xforce.iss.net/xforce/xfdb/17017</url> - <url>http://security.gentoo.org/glsa/glsa-200409-01.xml</url> - </references> - <dates> - <discovery>2004-08-17</discovery> - <entry>2004-09-03</entry> - </dates> - </vuln> - - <vuln vid="d2102505-f03d-11d8-81b0-000347a4fa7d"> - <topic>multiple vulnerabilities in the cvs server code</topic> - <affects> - <package> - <name>cvs+ipv6</name> - <range><lt>1.11.17</lt></range> - </package> - <package> - <name>FreeBSD</name> - <range><lt>491101</lt></range> - <range><ge>500000</ge><lt>502114</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Stefan Esser reports multiple remote exploitable vulnerabilites - in the cvs code base.</p> - <p>Additionaly there exists an undocumented switch to the history - command allows an attacker to determine whether arbitrary files - exist and whether the CVS process can access them.</p> - </body> - </description> - <references> - <cvename>CAN-2004-0414</cvename> - <cvename>CAN-2004-0416</cvename> - <cvename>CAN-2004-0417</cvename> - <cvename>CAN-2004-0418</cvename> - <cvename>CAN-2004-0778</cvename> - <url>http://secunia.com/advisories/11817</url> - <url>http://secunia.com/advisories/12309</url> - <url>http://security.e-matters.de/advisories/092004.html</url> - <url>http://www.idefense.com/application/poi/display?id=130&type=vulnerabilities&flashstatus=false</url> - <url>https://ccvs.cvshome.org/source/browse/ccvs/NEWS?rev=1.116.2.104</url> - <url>http://www.osvdb.org/6830</url> - <url>http://www.osvdb.org/6831</url> - <url>http://www.osvdb.org/6832</url> - <url>http://www.osvdb.org/6833</url> - <url>http://www.osvdb.org/6834</url> - <url>http://www.osvdb.org/6835</url> - <url>http://www.osvdb.org/6836</url> - <url>http://www.packetstormsecurity.org/0405-exploits/cvs_linux_freebsd_HEAP.c</url> - <bid>10499</bid> - </references> - <dates> - <discovery>2004-05-20</discovery> - <entry>2004-08-17</entry> - </dates> - </vuln> - - <vuln vid="59669fc9-fdf4-11d8-81b0-000347a4fa7d"> - <topic>multiple vulnerabilities in LHA</topic> - <affects> - <package> - <name>lha</name> - <range><le>1.14i_4</le></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Multiple vulnerabilities have been found in the LHA code by Lukasz Wojtow - and Thomas Biege.</p> - <p>Successful exploitation may allow execution of arbitrary code.</p> - </body> - </description> - <references> - <url>http://secunia.com/advisories/12435</url> - <cvename>CAN-2004-0694</cvename> - <cvename>CAN-2004-0745</cvename> - <cvename>CAN-2004-0769</cvename> - <cvename>CAN-2004-0771</cvename> - <mlist msgid="20040606162856.29866.qmail@www.securityfocus.com">http://www.securityfocus.com/archive/1/365386</mlist> - <mlist msgid="20040515110900.24784.qmail@www.securityfocus.com">http://www.securityfocus.com/archive/1/363418</mlist> - <url>http://lw.ftw.zamosc.pl/lha-exploit.txt</url> - <url>http://www.osvdb.org/9519</url> - <url>http://www.osvdb.org/9520</url> - <url>http://www.osvdb.org/9521</url> - <url>http://www.osvdb.org/9522</url> - <bid>10354</bid> - <bid>11093</bid> - <url>http://rhn.redhat.com/errata/RHSA-2004-323.html</url> - </references> - <dates> - <discovery>2004-05-19</discovery> - <entry>2004-09-03</entry> - </dates> - </vuln> - - <vuln vid="fdbbed57-f933-11d8-a776-00e081220a76"> - <topic>cdrtools local privilege escalation</topic> - <affects> - <package> - <name>cdrtools</name> - <range><lt>2.0.3_4</lt></range> - </package> - <package> - <name>cdrtools-cjk</name> - <range><lt>2.0.3.20030714_4</lt></range> - </package> - <package> - <name>cdrtools-devel</name> - <range><lt>2.01a38</lt></range> - </package> - </affects> - <description> - <body xmlns="http://www.w3.org/1999/xhtml"> - <p>Max Vozeler found a flaw in in cdrecord allowing a local root exploit</p> - </body> - </description> - <references> - <url>ftp://ftp.berlios.de/pub/cdrecord/alpha/AN-2.01a38</url> - <url>http://www.osvdb.org/9395</url> - <cvename>CAN-2004-0806</cvename> - <mlist msgid="E1C0yA3-0002cc-00@newraff.debian.org">http://lists.debian.org/debian-devel-changes/2004/08/msg03421.html</mlist> - <bid>11075</bid> - <url>http://secunia.com/advisories/12481</url> - </references> - <dates> - <discovery>2004-08-28</discovery> - <entry>2004-08-30</entry> - </dates> - </vuln> -</vuxml> diff --git a/security/portaudit-db/database/portaudit2vuxml.pl b/security/portaudit-db/database/portaudit2vuxml.pl deleted file mode 100644 index d352bb2f8661..000000000000 --- a/security/portaudit-db/database/portaudit2vuxml.pl +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/perl -w -# -# Copyright (c) 2004 Oliver Eikemeier. 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. -# -# 3. Neither the name of the author 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 "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 -# COPYRIGHT OWNER 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. -# -# $FreeBSD$ -# -# portaudit to VuXML converter, use with -# portaudit2vuxml.pl <uuid> -# and edit the entry to suit your needs. -# - -require 5.005; -use strict; -use Cwd 'abs_path'; - -my $portsdir = $ENV{PORTSDIR} ? $ENV{PORTSDIR} : '/usr/ports'; - -my $portauditdb = "$portsdir/security/portaudit-db/database/portaudit.txt"; - -my $uuid = $ARGV[0]; - -$#ARGV == 0 && $uuid =~ /^[0-9a-f]{8}(?:-[0-9a-f]{4}){4}[0-9a-f]{8}$/ - or die "usage: $0 $uuid <uuid>\n"; - -my $today=`date -u +%Y-%m-%d`; -chomp $today; - -my @pkg; -my $url; -my $topic; - -open PORTAUDITDB, "<$portauditdb" - or die "Can't open $portauditdb: $!\n"; - -while (<PORTAUDITDB>) { - chomp; - next if /^(?:#|$)/; - my @line = split /\|/; - next if $#line < 3 || $line[3] ne $uuid; - push @pkg, $line[0]; - $url = $line[1]; - $topic = $line[2]; -} - -close PORTAUDITDB; - -$url =~ s/</</g; -$url =~ s/>/>/g; -$url =~ s/&/&/g; - -$topic =~ s/</</g; -$topic =~ s/>/>/g; -$topic =~ s/&/&/g; - -my %oper = ( - '<' => 'lt', - '<=' => 'le', - '=' => 'eq', - '>=' => 'ge', - '>' => 'gt' -); - -if (@pkg) { - print " <vuln vid=\"$uuid\">\n"; - print " <topic>$topic</topic>\n"; - print " <affects>\n"; - foreach (@pkg) { - my @vers = split /((?:<|>)=?|=)/; - my $pkgname = shift @vers; - print " <package>\n"; - print " <name>$pkgname</name>\n"; - if (@vers) { - print " <range>"; - while (@vers) { - my $op = $oper{shift @vers}; - my $v = shift @vers; - print "<$op>$v</$op>"; - } - print "</range>\n"; - } - print " </package>\n"; - } - print " </affects>\n"; - - print " <description>\n"; - print " <body xmlns=\"http://www.w3.org/1999/xhtml\">\n"; - print " <p>Please <a href=\"mailto:security\@FreeBSD.org?subject=vid%20$uuid\">contact\n"; - print " the FreeBSD Security Team</a> for more information.</p>\n"; - print " </body>\n"; - print " </description>\n"; - print " <references>\n"; - - foreach (split ' ', $url) { - if (m'^http://cve\.mitre\.org/cgi-bin/cvename\.cgi\?name=(.+)$') { - print " <cvename>$1</cvename>\n" - } - elsif (m'^(http://www\.securityfocus\.com/archive/.+)$') { - print " <mlist>$1</mlist>\n" - } - elsif (m'^http://www\.securityfocus\.com/bid/(.+)$') { - print " <bid>$1</bid>\n" - } - elsif (m'^(http://(?:article\.gmane\.org|lists\.netsys\.com|marc\.theaimsgroup\.com)/.+)$') { - print " <mlist>$1</mlist>\n" - } - elsif (m'^http://www\.kb\.cert\.org/vuls/id/(.+)$') { - print " <certvu>$1</certvu>\n" - } - elsif (m'^http://www\.cert\.org/advisories/(.+)\.html$') { - print " <certsa>$1</certsa>\n" - } - else { - print " <url>$_</url>\n"; - } - } - - print " </references>\n"; - print " <dates>\n"; - print " <discovery>2000-00-00</discovery>\n"; - print " <entry>$today</entry>\n"; - print " </dates>\n"; - print " </vuln>\n"; -} diff --git a/security/portaudit-db/files/packaudit.conf b/security/portaudit-db/files/packaudit.conf deleted file mode 100644 index 6b952effc14f..000000000000 --- a/security/portaudit-db/files/packaudit.conf +++ /dev/null @@ -1,9 +0,0 @@ -# -# $FreeBSD$ -# -# packaudit.conf sample file -# - -# avoid network access -export SGML_CATALOG_FILES="%%LOCALBASE%%/share/xml/catalog" -XSLTPROC_EXTRA_ARGS="--catalogs --nonet" diff --git a/security/portaudit-db/files/packaudit.sh b/security/portaudit-db/files/packaudit.sh deleted file mode 100644 index 4d0e245da6a8..000000000000 --- a/security/portaudit-db/files/packaudit.sh +++ /dev/null @@ -1,142 +0,0 @@ -#!/bin/sh -e -# -# Copyright (c) 2004 Oliver Eikemeier. 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. -# -# 3. Neither the name of the author 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 "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 -# COPYRIGHT OWNER 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. -# -# $FreeBSD$ -# - -AWK=/usr/bin/awk -BASENAME=/usr/bin/basename -CAT=/bin/cat -DATE=/bin/date -ENV=/usr/bin/env -MD5=/sbin/md5 -MKDIR="/bin/mkdir -p" -MKTEMP=/usr/bin/mktemp -RM=/bin/rm -SED=/usr/bin/sed -TAR=/usr/bin/tar -XSLTPROC=%%LOCALBASE%%/bin/xsltproc - -PORTSDIR="${PORTSDIR:-%%PORTSDIR%%}" -VUXMLDIR="${VUXMLDIR:-$PORTSDIR/security/vuxml}" -PORTAUDITDBDIR="${PORTAUDITDBDIR:-$PORTSDIR/security/portaudit-db}" - -DATABASEDIR="${DATABASEDIR:-%%DATABASEDIR%%}" - -STYLESHEET="%%DATADIR%%/vuxml2portaudit.xslt" - -PUBLIC_HTML="${PUBLIC_HTML:-$HOME/public_html/portaudit}" -HTMLSHEET="%%DATADIR%%/vuxml2html.xslt" -BASEURL="${BASEURL:-http://www.freebsd.org/ports/portaudit/}" - -PORTAUDIT2VUXML="%%DATADIR%%/portaudit2vuxml.awk" - -[ -d "$DATABASEDIR" ] || $MKDIR "$DATABASEDIR" - -if [ ! -w "$DATABASEDIR" ]; then - echo "$DATABASEDIR is not writable by you, exiting." - exit 1 -fi - -TMPNAME=`$BASENAME "$0"` - -VULVER=`$SED -En -e '/^.*\\$FreeBSD\: [^$ ]+,v ([0-9]+(\.[0-9]+)+) [^$]+\\$.*$/{s//\1/p;q;}' "$VUXMLDIR/vuln.xml"` -VULURL="http://cvsweb.freebsd.org/ports/security/vuxml/vuln.xml?rev=$VULVER" - -[ -r "%%PREFIX%%/etc/packaudit.conf" ] && . "%%PREFIX%%/etc/packaudit.conf" - -if [ -d "$PUBLIC_HTML" -a -w "$PUBLIC_HTML" ]; then - VULNMD5=`$CAT "$VUXMLDIR/vuln.xml" "$PORTAUDITDBDIR/database/portaudit.xml" "$PORTAUDITDBDIR/database/portaudit.txt" | $MD5` - if [ -f "$PUBLIC_HTML/portaudit.md5" ]; then - VULNMD5_OLD=`$CAT "$PUBLIC_HTML/portaudit.md5"` - fi - if [ "$VULNMD5" != "$VULNMD5_OLD" ]; then - echo -n "$VULNMD5" > "$PUBLIC_HTML/portaudit.md5" - TMPXML=`$MKTEMP -t "$TMPNAME.$$"` || exit 1 - $PORTAUDIT2VUXML "$PORTAUDITDBDIR/database/portaudit.txt" "$PORTAUDITDBDIR/database/portaudit.xml" > "$TMPXML" - $XSLTPROC $XSLTPROC_EXTRA_ARGS --stringparam vulurl "$VULURL" --stringparam extradoc "$TMPXML" \ - -o "$PUBLIC_HTML/" "$HTMLSHEET" "$VUXMLDIR/vuln.xml" - $RM "$TMPXML" - fi -fi - -TMPDIR=`$MKTEMP -d -t "$TMPNAME.$$"` || exit 1 - -TESTPORT="vulnerability-test-port>=2000<`$DATE -u +%Y.%m.%d`" -TESTURL="http://cvsweb.freebsd.org/ports/security/vulnerability-test-port/" -TESTREASON="Not vulnerable, just a test port (database: `$DATE -u +%Y-%m-%d`)" - -XLIST_FILE="$PORTAUDITDBDIR/database/portaudit.xlist" - -cd "$TMPDIR" || exit 1 -{ - $DATE -u "+#CREATED: %Y-%m-%d %H:%M:%S" - echo "# Created by packaudit %%PORTVERSION%%" - echo "$TESTPORT|$TESTURL|$TESTREASON" - echo "# Please refer to the original document for copyright information:" - echo "# $VULURL" - $XSLTPROC $XSLTPROC_EXTRA_ARGS --stringparam baseurl "$BASEURL" "$STYLESHEET" "$VUXMLDIR/vuln.xml" \ - | $AWK -F\| -v XLIST_FILE="$XLIST_FILE" ' - BEGIN { - while((getline < XLIST_FILE) > 0) - if(!/^(#|$)/) - ignore[$1]=1 - } - /^(#|$)/ || !($4 in ignore) { - print - } - ' - echo "# This part is in the public domain" - $XSLTPROC $XSLTPROC_EXTRA_ARGS --stringparam baseurl "$BASEURL" "$STYLESHEET" "$PORTAUDITDBDIR/database/portaudit.xml" - $AWK -F\| ' - /^(#|$)/ { - print - next - } - { - if ($4) - print $1 FS "'"$BASEURL"'" $4 ".html" FS $3 FS $4 - else - print - } - ' "$PORTAUDITDBDIR/database/portaudit.txt" -} | $AWK -F\| -v XLIST_FILE="$XLIST_FILE" ' - /^(#|$)/ { - print - next - } - { - print $1 "|" $2 "|" $3 - } -' > auditfile -echo "#CHECKSUM: MD5 `$MD5 < auditfile`" >> auditfile -$TAR -jcf "$DATABASEDIR/auditfile.tbz" auditfile -cd -$RM -Rf "$TMPDIR" diff --git a/security/portaudit-db/files/portaudit2vuxml.awk b/security/portaudit-db/files/portaudit2vuxml.awk deleted file mode 100644 index c02929077d0a..000000000000 --- a/security/portaudit-db/files/portaudit2vuxml.awk +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/bin/awk -f - - BEGIN { - XMLFILE=ARGV[2] - delete ARGV[2] - while (getline < XMLFILE) { - if (/<\/vuxml>/) - break - print - } - XML=$0 - FS="|" - } - - /^(#|$)/ { next } - - { - if (PKG[$4]) - PKG[$4]=PKG[$4] FS $1 - else - PKG[$4]=$1 - gsub(/</, "<") - gsub(/>/, ">") - gsub(/&/, "&") - URL[$4]=$2 - TOPIC[$4]=$3 - } - - END { - OPN["<"]="lt" - OPN["<="]="le" - OPN["="]="eq" - OPN[">="]="ge" - OPN[">"]="gt" - - for (UUID in PKG) { - print " <vuln vid=\"" UUID "\">" - print " <topic>" TOPIC[UUID] "</topic>" - - print " <affects>" - split(PKG[UUID], APKG) - for (TPKG in APKG) { - VERS=APKG[TPKG] - print " <package>" - if (match(VERS, /(<|>)=?|=/) > 0) { - print " <name>" substr(VERS, 1, RSTART-1) "</name>" - printf " <range>" - do { - OP=substr(VERS, RSTART, RLENGTH) - LEN=length(VERS) - VERS=substr(VERS, RSTART+RLENGTH, LEN+1-RSTART-RLENGTH) - NEXTRANGE=match(VERS, /(<|>)=?|=/) - if (NEXTRANGE > 0) - printf "<%s>%s</%s>", OPN[OP], substr(VERS, 1, RSTART-1), OPN[OP] - else - printf "<%s>%s</%s>", OPN[OP], VERS, OPN[OP] - } while (NEXTRANGE > 0) - printf "</range>\n" - } - else { - print " <name>" VERS "</name>" - } - print " </package>" - } - print " </affects>" - - print " <description>" - print " <body xmlns=\"http://www.w3.org/1999/xhtml\">" - print " <p>Please <a href=\"mailto:security@FreeBSD.org?subject=vid%20" UUID "\">contact" - print " the FreeBSD Security Team</a> for more information.</p>" - print " </body>" - print " </description>" - print " <references>" - - split(URL[UUID], URLS, / /) - for (U in URLS) { - if (!URLS[U]) - continue - print " <url>" URLS[U] "</url>" - } - - print " </references>" - print " <dates>" - print " <discovery>2000-00-00</discovery>" - print " <entry>2000-00-00</entry>" - print " </dates>" - print " </vuln>" - print "" - } - print XML - while (getline < XMLFILE) { - print - } - close(XMLFILE) - } diff --git a/security/portaudit-db/files/vuxml2html.xslt b/security/portaudit-db/files/vuxml2html.xslt deleted file mode 100644 index 2c892170292a..000000000000 --- a/security/portaudit-db/files/vuxml2html.xslt +++ /dev/null @@ -1,329 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - $FreeBSD$ - -Copyright (c) 2004 Oliver Eikemeier. 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. -3. Neither the name of the author 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 "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 -COPYRIGHT OWNER 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. - - -VuXML to HTML converter. - -Usage: - xsltproc -o html/ vuxml2html.xslt vuxml.xml - ---> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:vuxml="http://www.vuxml.org/apps/vuxml-1" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="xhtml vuxml" version="1.0"> - <xsl:output method="xml"/> - <xsl:strip-space elements="vuxml:affects vuxml:package vuxml:name vuxml:range" /> -<!-- whole vuxml file --> - <xsl:template match="vuxml:vuxml"> -<!-- index page, xhtml strict --> - <xsl:document href="index.html" method="xml" indent="yes" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - <head> - <title>portaudit: Vulnerability list</title> - <xsl:call-template name="css"/> - </head> - <body> - <div> - <xsl:call-template name="bar"/> - </div> - <h1>Vulnerabilities</h1> - <table> - <xsl:for-each select="vuxml:vuln | document($extradoc)/vuxml:vuxml/vuxml:vuln"> - <xsl:sort select="(vuxml:dates/vuxml:modified | vuxml:dates/vuxml:entry)[1]" order="descending"/> - <tr> - <td> - <xsl:value-of select="(vuxml:dates/vuxml:modified | vuxml:dates/vuxml:entry)[1]"/> - </td> - <td> - <a href="{translate(@vid, 'ABCDEF', 'abcdef')}.html"> - <xsl:value-of select="vuxml:topic"/> - </a> - </td> - </tr> - </xsl:for-each> - </table> - <p> - <a href="index-pkg.html">[Sorted by package name]</a> - </p> - <xsl:call-template name="foo"> - <xsl:with-param name="vid">index</xsl:with-param> - </xsl:call-template> - </body> - </html> - </xsl:document> -<!-- index page by packages, xhtml strict --> - <xsl:document href="index-pkg.html" method="xml" indent="yes" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - <head> - <title>portaudit: Vulnerability list by packages</title> - <xsl:call-template name="css"/> - </head> - <body> - <div> - <xsl:call-template name="bar"/> - </div> - <h1>Vulnerabilities</h1> - <table> - <xsl:for-each select="//vuxml:affects/vuxml:package/vuxml:name | document($extradoc)//vuxml:affects/vuxml:package/vuxml:name"> - <xsl:sort select="translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')"/> - <xsl:sort select="(ancestor-or-self::vuxml:vuln/vuxml:dates/vuxml:modified | ancestor-or-self::vuxml:vuln/vuxml:dates/vuxml:entry)[1]" order="descending"/> - <tr> - <td> - <xsl:value-of select="."/> - </td> - <td> - <a href="{translate(ancestor-or-self::vuxml:vuln/@vid, 'ABCDEF', 'abcdef')}.html"> - <xsl:value-of select="ancestor-or-self::vuxml:vuln/vuxml:topic"/> - </a> - </td> - </tr> - </xsl:for-each> - </table> - <p> - <a href="index.html">[Sorted by last modification]</a> - </p> - <xsl:call-template name="foo"> - <xsl:with-param name="vid">index</xsl:with-param> - </xsl:call-template> - </body> - </html> - </xsl:document> -<!-- individual pages, xhtml strict --> - <xsl:for-each select="vuxml:vuln | document($extradoc)/vuxml:vuxml/vuxml:vuln"> - <xsl:document href="{translate(@vid, 'ABCDEF', 'abcdef')}.html" method="xml" indent="yes" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> - <head> - <xsl:choose> - <xsl:when test="vuxml:cancelled"> - <title>portaudit: Cancelled entry</title> - </xsl:when> - <xsl:otherwise> - <title>portaudit: <xsl:value-of select="vuxml:topic"/></title> - </xsl:otherwise> - </xsl:choose> - <xsl:call-template name="css"/> - </head> - <body> - <div> - <xsl:call-template name="bar"/> - </div> - <xsl:choose> - <xsl:when test="vuxml:cancelled"> - <h1> - Cancelled entry - </h1> - <xsl:if test="vuxml:cancelled/@superseded"> - <h2>References:</h2> - <ul> - <li>Superseded by <a href="./{vuxml:cancelled/@superseded}.html">entry - <xsl:value-of select="vuxml:cancelled/@superseded"/></a></li> - </ul> - </xsl:if> - </xsl:when> - <xsl:otherwise> - <h1> - <xsl:value-of select="vuxml:topic"/> - </h1> - <h2>Description:</h2> - <xsl:copy-of select="vuxml:description/xhtml:body/*"/> - <h2>References:</h2> - <ul> - <xsl:apply-templates select="vuxml:references"/> - </ul> - <h2>Affects:</h2> - <ul> - <xsl:for-each select="vuxml:affects/vuxml:package"> - <xsl:for-each select="vuxml:name"> - <xsl:variable name="name" select="."/> - <xsl:for-each select="../vuxml:range"> - <li> - <xsl:value-of select="$name"/> - <xsl:apply-templates/> - </li> - </xsl:for-each> - </xsl:for-each> - </xsl:for-each> - <xsl:for-each select="vuxml:affects/vuxml:system"> - <xsl:for-each select="vuxml:name"> - <xsl:variable name="name" select="."/> - <xsl:for-each select="../vuxml:range"> - <li> - <xsl:value-of select="$name"/> - <xsl:apply-templates/> - </li> - </xsl:for-each> - </xsl:for-each> - </xsl:for-each> - </ul> - <title>portaudit: <xsl:value-of select="vuxml:topic"/></title> - </xsl:otherwise> - </xsl:choose> - - <xsl:call-template name="foo"> - <xsl:with-param name="vid" select="@vid"/> - </xsl:call-template> - </body> - </html> - </xsl:document> - </xsl:for-each> -<!-- end of vuxml file processing --> - </xsl:template> -<!-- vulnerability references --> - <xsl:template match="vuxml:bid"> - <li>BugTraq ID <a href="http://www.securityfocus.com/bid/{.}"><xsl:value-of select="."/></a></li> - </xsl:template> - <xsl:template match="vuxml:certsa"> - <li>CERT security advisory <a href="http://www.cert.org/advisories/{.}.html"><xsl:value-of select="."/></a></li> - </xsl:template> - <xsl:template match="vuxml:certvu"> - <li>CERT vulnerability note <a href="http://www.kb.cert.org/vuls/id/{.}"><xsl:value-of select="."/></a></li> - </xsl:template> - <xsl:template match="vuxml:cvename"> - <li>CVE name <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name={.}"><xsl:value-of select="."/></a></li> - </xsl:template> - <xsl:template match="vuxml:freebsdsa"> - <li>FreeBSD security advisory <a href="ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-{.}.asc">FreeBSD-<xsl:value-of select="."/></a></li> - </xsl:template> - <xsl:template match="vuxml:freebsdpr"> - <li>FreeBSD PR <a href="http://www.freebsd.org/cgi/query-pr.cgi?pr={.}"><xsl:value-of select="."/></a></li> - </xsl:template> - <xsl:template match="vuxml:mlist"> - <li>List post: <a href="{.}"><<xsl:value-of select="."/>></a> - <xsl:if test="@msgid"><a href="http://www.google.com/search?q={@msgid}">(search)</a></xsl:if> - </li> - </xsl:template> - <xsl:template match="vuxml:url"> - <li>URL: <a href="{.}"><<xsl:value-of select="."/>></a></li> - </xsl:template> - <xsl:template match="vuxml:uscertsa"> - <li>US-CERT security alert <a href="http://www.us-cert.gov/cas/alerts/{.}.html"><xsl:value-of select="."/></a></li> - </xsl:template> - <xsl:template match="vuxml:uscertta"> - <li>US-CERT technical security alert <a href="http://www.us-cert.gov/cas/techalerts/{.}.html"><xsl:value-of select="."/></a></li> - </xsl:template> -<!-- comparison operators --> - <xsl:template match="vuxml:lt"> - <xsl:text> <</xsl:text> - <xsl:value-of select="text()"/> - </xsl:template> - <xsl:template match="vuxml:le"> - <xsl:text> <=</xsl:text> - <xsl:value-of select="text()"/> - </xsl:template> - <xsl:template match="vuxml:gt"> - <xsl:text> ></xsl:text> - <xsl:value-of select="text()"/> - </xsl:template> - <xsl:template match="vuxml:ge"> - <xsl:text> >=</xsl:text> - <xsl:value-of select="text()"/> - </xsl:template> - <xsl:template match="vuxml:eq"> - <xsl:text> =</xsl:text> - <xsl:value-of select="text()"/> - </xsl:template> -<!-- style sheet --> - <xsl:template name="css"> - <link rel="shortcut icon" href="http://www.freebsd.org/favicon.ico" type="image/x-icon"/> - <style type="text/css"> - <xsl:comment> - <xsl:text> - body { - background-color : #ffffff; - color : #000000; - } - - a:link { color: #0000ff } - a:visited { color: #840084 } - a:active { color: #0000ff } - - h1 { color: #990000 } - - img { color: white; border:none } - - table { - border: none; - margin-top: 10px; - margin-bottom: 10px; - } - - th { - text-align: left; - padding: 3px; - border: none; - vertical-align: top; - } - - td { - padding: 3px; - border: none; - vertical-align: top; - } - - tr.odd { - background: #eeeeee; - color: inherit; - } - </xsl:text> - </xsl:comment> - </style> - </xsl:template> -<!-- xhtml elements --> - <xsl:template name="bar"> - <img src="http://www.freebsd.org/gifs/bar.gif" alt="Navigation Bar" height="33" width="565" usemap="#bar"/> - <map id="bar" name="bar"> - <area shape="rect" coords="1,1,111,33" href="http://www.freebsd.org/" alt="Top"/> - <area shape="rect" coords="112,16,196,33" href="http://www.freebsd.org/ports/index.html" alt="Applications"/> - <area shape="rect" coords="197,16,256,33" href="http://www.freebsd.org/support.html" alt="Support"/> - <area shape="rect" coords="257,16,365,33" href="http://www.freebsd.org/docs.html" alt="Documentation"/> - <area shape="rect" coords="366,16,424,33" href="http://www.freebsd.org/commercial/commercial.html" alt="Vendors"/> - <area shape="rect" coords="425,16,475,33" href="http://www.freebsd.org/search/search.html" alt="Search"/> - <area shape="rect" coords="476,16,516,33" href="http://www.freebsd.org/search/index-site.html" alt="Index"/> - <area shape="rect" coords="517,16,565,33" href="http://www.freebsd.org/" alt="Top"/> - <area shape="rect" coords="0,0,565,33" href="http://www.freebsd.org/" alt="Top"/> - </map> - </xsl:template> - <xsl:template name="foo"> - <xsl:param name="vid"/> - <hr/> - <p><strong>Disclaimer:</strong> The data contained on this page is derived from the VuXML document, - please refer to the <a href="{$vulurl}">the original document</a> for copyright information. The author of - portaudit makes no claim of authorship or ownership of any of the information contained herein.</p> - <p> - If you have found a vulnerability in a FreeBSD port not listed in the - database, please <a href="mailto:security@FreeBSD.org?subject=vid%20{$vid}">contact - the FreeBSD Security Team</a>. Refer to - <a href="http://www.freebsd.org/security/#how">"FreeBSD Security - Information"</a> for more information. - </p> - <hr/> - <address title="Oliver Eikemeier"> - Oliver Eikemeier <a href="mailto:eik@FreeBSD.org?subject=portaudit"><eik@FreeBSD.org></a> - </address> - </xsl:template> -</xsl:stylesheet> diff --git a/security/portaudit-db/files/vuxml2portaudit.xslt b/security/portaudit-db/files/vuxml2portaudit.xslt deleted file mode 100644 index 60beed5ec52e..000000000000 --- a/security/portaudit-db/files/vuxml2portaudit.xslt +++ /dev/null @@ -1,92 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - - $FreeBSD$ - -Copyright (c) 2004 Oliver Eikemeier. 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. -3. Neither the name of the author 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 "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 -COPYRIGHT OWNER 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. - - -VuXML to portaudit database converter. - -Usage: - xsltproc -o auditfile vuxml2portaudit.xslt vuxml.xml - ---> -<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:vuxml="http://www.vuxml.org/apps/vuxml-1" version="1.0"> - <xsl:output method="text"/> - <xsl:variable name="newline"> - <xsl:text>
</xsl:text> - </xsl:variable> -<!-- xxx --> - <xsl:strip-space elements="vuxml:affects vuxml:package vuxml:name vuxml:range"/> - <xsl:template match="/"> - <xsl:text># Converted by vuxml2portaudit -</xsl:text> - <xsl:for-each select="vuxml:vuxml/vuxml:vuln"> - <xsl:variable name="topic" select="normalize-space(vuxml:topic)"/> - <xsl:variable name="vid" select="translate(@vid, 'ABCDEF', 'abcdef')"/> - <xsl:for-each select="vuxml:affects/vuxml:package"> - <xsl:for-each select="vuxml:name"> - <xsl:variable name="name" select="."/> - <xsl:for-each select="../vuxml:range"> - <xsl:value-of select="$name"/> - <xsl:apply-templates/> - <xsl:text>|</xsl:text> - <xsl:value-of select="$baseurl"/> - <xsl:value-of select="$vid"/> - <xsl:text>.html</xsl:text> - <xsl:text>|</xsl:text> - <xsl:value-of select="$topic"/> - <xsl:text>|</xsl:text> - <xsl:value-of select="$vid"/> - <xsl:value-of select="$newline"/> - </xsl:for-each> - </xsl:for-each> - </xsl:for-each> - </xsl:for-each> - </xsl:template> -<!-- xxx --> - <xsl:template match="vuxml:lt"> - <xsl:text><</xsl:text> - <xsl:value-of select="text()"/> - </xsl:template> - <xsl:template match="vuxml:le"> - <xsl:text><=</xsl:text> - <xsl:value-of select="text()"/> - </xsl:template> - <xsl:template match="vuxml:gt"> - <xsl:text>></xsl:text> - <xsl:value-of select="text()"/> - </xsl:template> - <xsl:template match="vuxml:ge"> - <xsl:text>>=</xsl:text> - <xsl:value-of select="text()"/> - </xsl:template> - <xsl:template match="vuxml:eq"> - <xsl:text>=</xsl:text> - <xsl:value-of select="text()"/> - </xsl:template> -</xsl:stylesheet> diff --git a/security/portaudit-db/pkg-descr b/security/portaudit-db/pkg-descr deleted file mode 100644 index 85b315a9d87b..000000000000 --- a/security/portaudit-db/pkg-descr +++ /dev/null @@ -1,16 +0,0 @@ -In contrast to security/portaudit, which is designed to be an -install-and-forget solution, portaudit-db requires a current -ports tree and generates a database that can be used locally -or distributed over a network. - -Furthermore committers that want to add entries to the VuXML -database may use this port to check their changes locally. -It also features a file `database/portaudit.txt' where UUIDs -for vulnerabilities can be allocated before they have been -investigated thoroughly and moved to the VuXML database by -the security officer team. - -Call `packaudit' after upgrading your ports tree. - -WWW: http://people.freebsd.org/~eik/portaudit/ -Oliver Eikemeier <eik@FreeBSD.org> diff --git a/security/portaudit-db/pkg-plist b/security/portaudit-db/pkg-plist deleted file mode 100644 index 46e9b0674f4c..000000000000 --- a/security/portaudit-db/pkg-plist +++ /dev/null @@ -1,8 +0,0 @@ -bin/packaudit -etc/packaudit.conf.sample -%%DATADIR%%/portaudit2vuxml.awk -%%DATADIR%%/vuxml2html.xslt -%%DATADIR%%/vuxml2portaudit.xslt -@dirrm %%DATADIR%% -@exec mkdir -p %%DATABASEDIR%% -@unexec rmdir %%DATABASEDIR%% 2>/dev/null || true diff --git a/security/portaudit/Makefile b/security/portaudit/Makefile deleted file mode 100644 index 8d585f433cba..000000000000 --- a/security/portaudit/Makefile +++ /dev/null @@ -1,82 +0,0 @@ -# New ports collection makefile for: portaudit -# Date created: 25 Jan 2004 -# Whom: Oliver Eikemeier -# -# $FreeBSD$ -# - -PORTNAME= portaudit -PORTVERSION= 0.5.11 -CATEGORIES= security -DISTFILES= - -MAINTAINER= secteam@FreeBSD.org -COMMENT= Checks installed ports against a list of security vulnerabilities - -MAN1= portaudit.1 - -PERIODICDIR?= ${PREFIX}/etc/periodic -DATABASEDIR?= /var/db/portaudit - -PKGREQ= ${WRKDIR}/pkg-req -PKGINSTALL= ${WRKDIR}/pkg-install -PKGDEINSTALL= ${WRKDIR}/pkg-deinstall - -PLIST_SUB+= PERIODICDIR="${PERIODICDIR:S,^${PREFIX}/,,}" \ - DATABASEDIR="${DATABASEDIR}" - -REQPKGVER= 20040623 - -SED_SCRIPT= -e 's|%%PREFIX%%|${PREFIX}|g' \ - -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ - -e "s|%%PORTSDIR%%|${PORTSDIR}|g" \ - -e "s|%%INDEXFILE%%|${INDEXFILE}|g" \ - -e "s|%%DATABASEDIR%%|${DATABASEDIR}|g" \ - -e "s|%%PORTVERSION%%|${PORTVERSION}|g" \ - -e "s|%%REQPKGVER%%|${REQPKGVER}|g" \ - -e "s|%%BZIP2_CMD%%|${BZIP2_CMD}|g" \ - -.include <bsd.port.pre.mk> - -.if !defined(DFOSVERSION) -.if ${OSVERSION} < 491101 || ${OSVERSION} >= 500000 && ${OSVERSION} < 502120 -RUN_DEPENDS= ${LOCALBASE}/sbin/pkg_info:${PORTSDIR}/sysutils/pkg_install-devel -.endif -.else -.if ${DFOSVERSION} < 110000 -RUN_DEPENDS= ${LOCALBASE}/sbin/pkg_info:${PORTSDIR}/sysutils/pkg_install-devel -.endif -.endif - -.if defined(BZIP2DEPENDS) -RUN_DEPENDS+= bzip2:${PORTSDIR}/archivers/bzip2 -.endif - -do-build: -.for f in portaudit-cmd.sh portaudit.sh portaudit.1 portaudit.conf - @${SED} ${SED_SCRIPT} ${FILESDIR}/${f} >${WRKDIR}/${f} -.endfor - -post-build: -.for f in pkg-req pkg-install pkg-deinstall - @${SED} ${SED_SCRIPT} ${PKGDIR}/${f} >${WRKDIR}/${f} -.endfor - -pre-install: -.if !defined(PACKAGE_BUILDING) - @${SETENV} "PKG_PREFIX=${PREFIX}" ${SH} ${PKGREQ} ${PKGNAME} INSTALL -.endif - @${SETENV} "PKG_PREFIX=${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL - -do-install: - @${INSTALL_SCRIPT} ${WRKDIR}/portaudit-cmd.sh ${PREFIX}/sbin/portaudit - @${INSTALL_DATA} ${WRKDIR}/portaudit.conf ${PREFIX}/etc/portaudit.conf.sample - @${INSTALL_MAN} ${WRKDIR}/portaudit.1 ${MAN1PREFIX}/man/man1 - @${MKDIR} ${PERIODICDIR}/security - @${INSTALL_SCRIPT} ${WRKDIR}/portaudit.sh ${PERIODICDIR}/security/410.portaudit - @${MKDIR} ${DATABASEDIR} - -post-install: - @${SETENV} "PKG_PREFIX=${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL - -.include <bsd.port.post.mk> diff --git a/security/portaudit/files/portaudit-cmd.sh b/security/portaudit/files/portaudit-cmd.sh deleted file mode 100644 index 4a303698ce4c..000000000000 --- a/security/portaudit/files/portaudit-cmd.sh +++ /dev/null @@ -1,478 +0,0 @@ -#!/bin/sh -efu -# -# Copyright (c) 2004 Oliver Eikemeier. 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. -# -# 3. Neither the name of the author 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 "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 -# COPYRIGHT OWNER 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. -# -# $FreeBSD$ -# - -portaudit_confs() -{ - : ${portaudit_dir="%%DATABASEDIR%%"} - : ${portaudit_filename="auditfile.tbz"} - - : ${portaudit_fetch_env=""} - : ${portaudit_fetch_cmd="fetch -1mp"} - - : ${portaudit_sites="http://www.FreeBSD.org/ports/"} - - : ${portaudit_fixed=""} - - if [ -r %%PREFIX%%/etc/portaudit.conf ]; then - . %%PREFIX%%/etc/portaudit.conf - fi -} - -extract_auditfile() -{ - %%BZIP2_CMD%% -dc -- "$portaudit_dir/$portaudit_filename" | \ - tar -xOf - auditfile -} - -checksum_auditfile() -{ - chksum1=`extract_auditfile | - sed -nE -e '$s/^#CHECKSUM: *MD5 *([0-9a-f]{32})$/\1/p'` - chksum2=`extract_auditfile | sed -e '$d' | md5` - [ "$chksum1" = "$chksum2" ]; -} - -getcreated_auditfile() -{ - extract_auditfile | - sed -nE -e '1s/^#CREATED: *([0-9]{4})-?([0-9]{2})-?([0-9]{2}) *([0-9]{2}):?([0-9]{2}):?([0-9]{2}).*$/\1-\2-\3 \4:\5:\6/p' -} - -gettimestamp_auditfile() -{ - extract_auditfile | - sed -nE -e '1s/^#CREATED: *([0-9]{4})-?([0-9]{2})-?([0-9]{2}).*$/\1\2\3/p' -} - -checkexpiry_auditfile() -{ - created=`gettimestamp_auditfile` - expiry=`date -u -v-$1d '+%Y%m%d'` - [ "$created" -gt "$expiry" ]; -} - -portaudit_prerequisites() -{ - if $prerequisites_checked; then - return 0 - fi - - if [ -z "${pkg_info:-}" ]; then - if [ -x "%%LOCALBASE%%/sbin/pkg_info" ]; then - pkg_info="%%LOCALBASE%%/sbin/pkg_info" - else - pkg_info="/usr/sbin/pkg_info" - fi - fi - - if [ -z "${pkg_version:-}"]; then - case "$pkg_info" in - */*) - pkg_version="${pkg_info%/*}/pkg_version";; - *) - pkg_version="pkg_version";; - esac - fi - - PKG_INSTALL_VER=`$pkg_info -qP 2>/dev/null` - if [ -z "$PKG_INSTALL_VER" -o "$PKG_INSTALL_VER" -lt %%REQPKGVER%% ]; then - echo "$pkg_info is too old, please update port sysutils/pkg_install-devel" - return 1 - fi - - if [ ! -r "$portaudit_dir/$portaudit_filename" ]; then - echo "portaudit: Database missing, run \`portaudit -F' to update." >&2 - return 2 - elif ! checksum_auditfile; then - echo "portaudit: Corrupt database." >&2 - return 2 - elif ! checkexpiry_auditfile 14; then - echo "portaudit: Database too old." >&2 - return 2 - fi - - prerequisites_checked=true - return 0 -} - -audit_installed() -{ - local rc=0 - local osversion=`sysctl -n kern.osreldate` - - fixedre=`echo -n $portaudit_fixed | tr -c '[:alnum:]- \t\n' 'x' | tr -s ' \t\n' '|'` - installedre=`$pkg_info -aE | sed -e 's/-[^-]*$//g' | paste -s -d '|' -` - - extract_auditfile | awk -F\| "$PRINTAFFECTED_AWK"' - BEGIN { vul=0; fixedre="'"$fixedre"'" } - /^(#|\$)/ { next } - $2 !~ /'"$opt_restrict"'/ { next } - $1 ~ /^FreeBSD[<=>!]/ { - if (fixedre && $2 ~ fixedre) next - if (!system("'"$pkg_version"' -T \"FreeBSD-'"$osversion"'\" \"" $1 "\"")) { - print_affected("FreeBSD-'"$osversion"'", \ - "To disable this check add the uuid to \`portaudit_fixed'"'"' in %%PREFIX%%/etc/portaudit.conf") - } - next - } - $1 ~ /^[^{}*?]*[<=>!]/ { - if ($1 !~ "^('"$installedre"')[<=>!]") next; - } - { - cmd="'"$pkg_info"' -E \"" $1 "\"" - while((cmd | getline pkg) > 0) { - vul++ - print_affected(pkg, "") - } - close(cmd) - } - END { - if ("'$opt_quiet'" == "false") { - print vul " problem(s) in your installed packages found." - } - if (vul > 0) { - if ("'$opt_quiet'" == "false") { - print "\nYou are advised to update or deinstall" \ - " the affected package(s) immediately." - } - exit(1) - } - } - ' || rc=$? - - return $rc -} - -audit_file() -{ - local rc=0 - local TMPFILE= - - case "$1" in - -) - TMPFILE=`mktemp -t portaudit` - cat > "$TMPFILE" - FILE="$TMPFILE" - ;; - http://*|ftp://*|https://*|file://*) - echo "portaudit: Can't audit remote file $1" >&2 - return 2 - ;; - *) - if [ -r "$1" ]; then - FILE="$1" - else - echo "portaudit: Can't read $1" >&2 - return 2 - fi - ;; - esac - - extract_auditfile | awk -F\| "$PRINTAFFECTED_AWK"' - BEGIN { vul=0 } - /^(#|\$)/ { next } - { - cmd="'"$pkg_version"' -T - \"" $1 "\" <\"'"$FILE"'\"" - while((cmd | getline pkg) > 0) { - if ($2 !~ /'"$opt_restrict"'/) - continue - vul++ - print_affected(pkg, "") - } - close(cmd) - } - END { - print vul " problem(s) found." - if (vul > 0) { - exit(1) - } - } - ' || rc=$? - - if [ -n "$TMPFILE" ]; then - rm "$TMPFILE" - fi - return $rc -} - -audit_args() -{ - local VULCNT=0 - while [ $# -gt 0 ]; do - case "$1" in - /*|-) - echo "portaudit: $1 is a file, please use the -f option" >&2 - ;; - http://*|ftp://*|https://*|file://*) - echo "portaudit: Can't audit remote file $1" >&2 - ;; - *) - if VLIST=`extract_auditfile | awk -F\| ' - /^(#|\$)/ { next } - $2 !~ /'"$opt_restrict"'/ { next } - { print } - ' | $pkg_version -T "$1" -`; then - VULCNT=$(($VULCNT+1)) - echo "$VLIST" | awk -F\| "$PRINTAFFECTED_AWK"' - { print_affected("'"$1"'", "") } - ' - fi - ;; - esac - shift - done - $opt_quiet || echo "$VULCNT problem(s) found." - if [ $VULCNT -gt 0 ]; then - return 1 - fi -} - -audit_cwd() -{ - if [ ! -r "Makefile" ]; then - echo "portaudit: No Makefile here" >&2 - return 2 - fi - - PKGNAME=`make -VPKGNAME 2>/dev/null || true"` - - if [ -z "$PKGNAME" ]; then - echo "portaudit: Can't determine the package name" >&2 - return 2 - fi - - if VLIST=`extract_auditfile | awk -F\| ' - /^(#|\$)/ { next } - $2 !~ /'"$opt_restrict"'/ { next } - { print } - ' | $pkg_version -T "$PKGNAME" -`; then - echo "$VLIST" | awk -F\| "$PRINTAFFECTED_AWK"' - { print_affected("'"$PKGNAME"'", "") } - ' - return 1 - fi -} - -fetch_auditfile() -{ - local rc=2 - - if [ ! -d "$portaudit_dir" ]; then - if ! mkdir -p "$portaudit_dir"; then - echo "Couldn't create $portaudit_dir, try running \`portaudit -F' as root" >&2 - return 2 - fi - fi - if [ ! -w "$portaudit_dir" ]; then - echo "Couldn't write to $portaudit_dir, try running \`portaudit -F' as root" >&2 - return 2 - - fi - cd "$portaudit_dir" - if [ -r "$portaudit_filename" ]; then - cp -f "$portaudit_filename" "$portaudit_filename.old" - fi - - $opt_verbose && echo "Attempting to fetch from $portaudit_sites." - urls=`echo "$portaudit_sites" | tr -s ' \t' '\n' | sed -E -e "s/?\$/$portaudit_filename"` - - if ! env $portaudit_fetch_env $portaudit_fetch_cmd $urls; then - echo "Couldn't fetch database." >&2 - elif [ ! -f "$portaudit_dir/$portaudit_filename" ] ; then - echo "portaudit: No database." >&2 - elif ! checksum_auditfile; then - echo "portaudit: Database corrupt." >&2 - elif ! checkexpiry_auditfile 7; then - echo "portaudit: Database too old." >&2 - else - $opt_quiet || echo "New database installed." - rc=0 - break - fi - - if [ -f "$portaudit_filename.old" ]; then - if [ $rc -eq 0 ]; then - rm -f "$portaudit_filename.old" - else - mv -f "$portaudit_filename.old" "$portaudit_filename" - $opt_quiet || echo "Old database restored." - fi - fi - if [ -f "$portaudit_filename" ]; then - chmod a=r "$portaudit_filename" - fi - - return $rc -} - -portaudit_confs - -opt_audit=false -opt_auditcwd=false -opt_dbversion=false -opt_fetch=false -opt_file= -opt_quiet=false -opt_restrict= -opt_verbose=false -opt_version=false -opt_expiry= - -if [ $# -eq 0 ] ; then - opt_audit=true -fi - -while getopts aCdf:Fqr:vVX: opt; do - case "$opt" in - a) - opt_audit=true;; - C) - opt_auditcwd=true;; - d) - opt_dbversion=true;; - f) - opt_file="$OPTARG";; - F) - opt_fetch=true;; - q) - opt_quiet=true;; - r) - opt_restrict="$OPTARG";; - v) - opt_verbose=true;; - V) - opt_version=true;; - X) - opt_expiry="$OPTARG";; - ?) - echo "Usage: $0 -aCdFVvq [-X days] [-r pattern] [-f file] [pkg-name ...]" - exit 2;; - esac -done - -shift $(($OPTIND-1)) - -ret=0 - -if $opt_version; then - echo "portaudit version %%PORTVERSION%%" -fi - -if $opt_fetch; then - if ! fetch_auditfile; then - echo "portaudit: Download failed." >&2 - exit 2 - fi -elif [ -n "$opt_expiry" ]; then - if [ ! -r "$portaudit_dir/$portaudit_filename" ] || ! checkexpiry_auditfile "$opt_expiry"; then - $opt_quiet || echo "Downloading fresh database." - if ! fetch_auditfile; then - echo "portaudit: Download failed." >&2 - exit 2 - fi - ret=1 - fi -fi - -if $opt_dbversion; then - if [ ! -f "$portaudit_dir/$portaudit_filename" ]; then - echo "portaudit: Database missing, run \`portaudit -F' to update." >&2 - exit 2 - fi - if ! checksum_auditfile; then - echo "portaudit: Database corrupt." >&2 - exit 2 - fi - created=`getcreated_auditfile` - echo "Database created: `date -j -f '%Y-%m-%d %H:%M:%S %Z' \"$created GMT\"`" -fi - -prerequisites_checked=false - -if $opt_quiet; then - PRINTAFFECTED_AWK=' - function print_affected(apkg, note) { - print apkg - } - ' -elif $opt_verbose; then - PRINTAFFECTED_AWK=' - function print_affected(apkg, note) { - split(apkg, thepkg) - print "Affected package: " thepkg[1] " (matched by " $1 ")" - print "Type of problem: " $3 "." - split($2, ref, / /) - for (r in ref) - print "Reference: <" ref[r] ">" - if (note) - print "Note: " note - print "" - } - ' -else - PRINTAFFECTED_AWK=' - function print_affected(apkg, note) { - split(apkg, thepkg) - print "Affected package: " thepkg[1] - print "Type of problem: " $3 "." - split($2, ref, / /) - for (r in ref) - print "Reference: <" ref[r] ">" - if (note) - print "Note: " note - print "" - } - ' -fi - -if $opt_audit; then - portaudit_prerequisites - audit_installed || ret=$? -fi - -if $opt_auditcwd; then - portaudit_prerequisites - audit_cwd || ret=$? -fi - -if [ -n "$opt_file" ]; then - portaudit_prerequisites - audit_file "$opt_file" || ret=$? -fi - -if [ $# -gt 0 ]; then - portaudit_prerequisites - audit_args "$@" || ret=$? -fi - -exit $ret diff --git a/security/portaudit/files/portaudit.1 b/security/portaudit/files/portaudit.1 deleted file mode 100644 index da683a2a6e8b..000000000000 --- a/security/portaudit/files/portaudit.1 +++ /dev/null @@ -1,175 +0,0 @@ -.\" Copyright (c) 2004 Oliver Eikemeier. 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. -.\" -.\" 3. Neither the name of the author 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 "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 -.\" COPYRIGHT OWNER 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. -.\" -.\" $FreeBSD$ -.\" -.Dd July 3, 2005 -.Os -.Dt PORTAUDIT \&1 "FreeBSD ports collection" -. -. -.Sh NAME -. -.Nm portaudit -.Nd system to check installed packages for known vulnerabilities -. -. -.Sh SYNOPSIS -. -.Nm -.Op Fl aCdFqvV -.Op Fl X Ar days -.Op Fl f Ar file -.Op Fl r Ar eregex -.Op Ar pkg-name ... -. -. -.Sh DESCRIPTION -. -.Nm -checks installed packages for known vulnerabilities and generates reports -including references to security advisories. -Its intended audience is system administrators and individual users. -.Pp -.Nm -uses a database maintained by port committers and the FreeBSD security team -to check if security advisories for any installed packages exist. -Note that a current ports tree (or any local copy of the ports tree) is not -required for operation. -.Pp -This package also installs a script into %%PREFIX%%/etc/periodic/security -that regularly updates this database and includes a report of vulnerable -packages in the daily security report. -.Pp -If you have a vulnerable package installed, you are advised to update or -deinstall it immediately. -. -. -.Sh OPTIONS -. -The following options are supported: -.Bl -tag -width ".Fl X" -.It Fl a -Print a vulnerability report for all installed packages. -.It Fl C -Print a vulnerability report for the port in the current working directory. -Mostly useful for port developers. -.It Fl d -Print the creation date of the database. -.It Fl F -Fetch the current database from the -.Fx -servers. -.It Fl q -Quiet mode. -.It Fl V -Show -.Nm -version number. -.It Fl v -Verbose mode. -.It Fl X Ar days -Download a fresh database when the local is at least -.Ar days -old. -.It Fl f Ar file -Check the packages listed in -.Ar file -for known vulnerabilities. -.It Fl r Ar eregex -Restrict listed vulnerabilities to those where a reference matches -.Xr egrep 1 -pattern -.Ar eregex . -Useful to test new entries. -.It Ar pkg-name ... -Test whether -.Ar pkg-name -is listed in the audit database. -.El -.Pp -If no options are given, -.Nm -prints a vulnerability report for all installed packages. -. -. -.Sh EXAMPLES -. -.Bl -item -.It -Fetch the current database and print its creation date: -.Pp -.Dl "portaudit -Fd" -.It -Print a vulnerability report for all installed packages: -.Pp -.Dl "portaudit -a" -.It -Print a vulnerability report for a remote machine: -.Pp -.Dl "ssh remote.example pkg_info | awk '{ print $1 }' | xargs portaudit" -.It -Print a vulnerability report for the local INDEX: -.Pp -.Dl "portaudit -f %%PORTSDIR%%/%%INDEXFILE%%" -.It -Print a vulnerability report for the current set of prebuild packages: -.Pp -.Dl "curl -l ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/All/ | sed -n -e 's/\.t[bg]z[[:cntrl:]]*$//p' | portaudit -f -" -.El -. -. -.Sh FILES -. -.Pa %%PREFIX%%/etc/portaudit.conf , -.Pa %%DATABASEDIR%%/auditfile.tbz -. -. -.Sh SEE ALSO -. -.Xr ports 7 , -.Xr periodic.conf 5 , -.Pa http://www.FreeBSD.org/ports/portaudit/ , -.Pa http://www.FreeBSD.org/security/#adv , -.Pa http://FreeBSD.VuXML.org/ . -. -. -.Sh BUGS -. -Sure to be some. -. -. -.Sh AUTHOR -. -.An Oliver Eikemeier Aq eik@FreeBSD.org -. -. -.Sh HISTORY -. -Package auditing first appeared in -.Nx 1.4.3 . diff --git a/security/portaudit/files/portaudit.conf b/security/portaudit/files/portaudit.conf deleted file mode 100644 index c4b7362594c8..000000000000 --- a/security/portaudit/files/portaudit.conf +++ /dev/null @@ -1,19 +0,0 @@ -# -# Sample configuration file for portaudit(1) -# -# copy to %%PREFIX%%/etc/portaudit.conf -# -# $FreeBSD$ -# - -# specify a proxy if needed, see fetch(3) -#portaudit_fetch_env="FTP_PROXY=http://ftp.proxy.sample/ HTTP_PROXY=http://http.proxy.sample:80/" - -# default fetch command -#portaudit_fetch_cmd="fetch -1amp" - -# specify a local mirror that generates databases with portaudit-db here -#portaudit_sites="http://www.FreeBSD.org/ports/" - -# this vulnerability has been fixed in your FreeBSD version -#portaudit_fixed="d2102505-f03d-11d8-81b0-000347a4fa7d" diff --git a/security/portaudit/files/portaudit.sh b/security/portaudit/files/portaudit.sh deleted file mode 100644 index 8e3b460ec750..000000000000 --- a/security/portaudit/files/portaudit.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/sh -f -# -# Copyright (c) 2004 Oliver Eikemeier. 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. -# -# 3. Neither the name of the author 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 "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 -# COPYRIGHT OWNER 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. -# -# $FreeBSD$ -# - -# If there is a global system configuration file, suck it in. -# -if [ -r /etc/defaults/periodic.conf ]; then - . /etc/defaults/periodic.conf - source_periodic_confs -fi - -rc=0 -case "${daily_status_security_portaudit_enable:-YES}" in - [Nn][Oo]) - ;; - *) - echo - echo "Checking for a current audit database:" - echo - %%PREFIX%%/sbin/portaudit -X "${daily_status_security_portaudit_expiry:-2}" || rc=$? - if [ $rc -lt 2 ]; then - %%PREFIX%%/sbin/portaudit -d - echo - echo "Checking for packages with security vulnerabilities:" - echo - echo %%PREFIX%%/sbin/portaudit -a | - su -fm "${daily_status_security_portaudit_user:-nobody}" || rc=$? - fi - ;; -esac - -exit "$rc" diff --git a/security/portaudit/pkg-deinstall b/security/portaudit/pkg-deinstall deleted file mode 100644 index 948c7135abb6..000000000000 --- a/security/portaudit/pkg-deinstall +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -case $2 in -POST-DEINSTALL) - echo - echo "The portaudit package has been deleted." - if [ -f "%%DATABASEDIR%%/auditfile.tbz" ]; then - echo "If you're *not* upgrading and won't be using" - echo "it any longer, you may want to remove the" - echo "portaudit database:" - echo - echo " rm -Rf %%DATABASEDIR%%" - fi - echo - ;; -esac diff --git a/security/portaudit/pkg-descr b/security/portaudit/pkg-descr deleted file mode 100644 index 9dd30dd115f6..000000000000 --- a/security/portaudit/pkg-descr +++ /dev/null @@ -1,16 +0,0 @@ -portaudit provides a system to check if installed ports are listed in a -database of published security vulnerabilities. - -After installation it will update this security database automatically and -include its reports in the output of the daily security run. - -If you have found a vulnerability not listed in the database, please contact -the FreeBSD Security Officer <security-officer@FreeBSD.org>. Refer to - - http://www.freebsd.org/security/#sec - -for more information. - -WWW: http://people.freebsd.org/~eik/portaudit/ - -Oliver Eikemeier <eik@FreeBSD.org> diff --git a/security/portaudit/pkg-install b/security/portaudit/pkg-install deleted file mode 100644 index 6ee3e0433e46..000000000000 --- a/security/portaudit/pkg-install +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -PREFIX="${PREFIX:-%%PREFIX%%}" - -case $2 in -PRE-INSTALL) - if egrep -qs "^(FETCH|MASTER_SITE)_" "$PREFIX/etc/portaudit.conf" ;then - echo - echo "*** WARNING ***" - echo - echo "The preference file format has changed. Please edit" - echo " $PREFIX/etc/portaudit.conf" - echo - fi - if egrep -qs "^daily_status_portaudit_" "/etc/periodic.conf" ;then - echo - echo "*** WARNING ***" - echo - echo "The periodic(8) names have changed. Please edit" - echo " /etc/periodic.conf" - echo - fi - ;; -POST-INSTALL) - if [ ! -f "%%DATABASEDIR%%/auditfile.tbz" ]; then - echo - echo "===> To check your installed ports for known vulnerabilities now, do:" - echo - echo " $PREFIX/sbin/portaudit -Fda" - echo - fi - ;; -esac diff --git a/security/portaudit/pkg-plist b/security/portaudit/pkg-plist deleted file mode 100644 index 8edf7bb6dbc8..000000000000 --- a/security/portaudit/pkg-plist +++ /dev/null @@ -1,7 +0,0 @@ -sbin/portaudit -etc/portaudit.conf.sample -%%PERIODICDIR%%/security/410.portaudit -@dirrmtry %%PERIODICDIR%%/security -@dirrmtry %%PERIODICDIR%% -@exec mkdir -p %%DATABASEDIR%% -@unexec rmdir %%DATABASEDIR%% 2>/dev/null || true diff --git a/security/portaudit/pkg-req b/security/portaudit/pkg-req deleted file mode 100644 index 5a8ba2d087db..000000000000 --- a/security/portaudit/pkg-req +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -case $2 in -INSTALL) - if [ -z "${PKG_INFO}" ]; then - if [ -x "%%LOCALBASE%%/sbin/pkg_info" ]; then - PKG_INFO="%%LOCALBASE%%/sbin/pkg_info" - else - PKG_INFO="/usr/sbin/pkg_info" - fi - fi - - if [ ! -x "${PKG_INFO}" ]; then - echo "${PKG_INFO} missing, please install port sysutils/pkg_install-devel" - exit 1 - fi - - PKG_INSTALL_VER=`${PKG_INFO} -qP 2>/dev/null` - if [ -z "${PKG_INSTALL_VER}" -o "${PKG_INSTALL_VER}" -lt %%REQPKGVER%% ]; then - echo "${PKG_INFO} is too old, please update port sysutils/pkg_install-devel" - exit 1 - fi - - if [ "`echo FreeBSD | tr -s .`" != "FreeBSD" ]; then - echo "tr(1) is broken." - exit 1 - fi - ;; -esac diff --git a/security/vulnerability-test-port/Makefile b/security/vulnerability-test-port/Makefile deleted file mode 100644 index 27642976798e..000000000000 --- a/security/vulnerability-test-port/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -# New ports collection makefile for: vulnerability-test-port -# Date created: 25 Jan 2004 -# Whom: Oliver Eikemeier -# -# $FreeBSD$ -# - -PORTNAME= vulnerability-test-port -PORTVERSION= ${INSTALLATION_DATE} -CATEGORIES= security -DISTFILES= - -MAINTAINER= ports@FreeBSD.org -COMMENT= Standard vulnerability test for port auditing systems - -NO_BUILD= yes - -.if defined(PARALLEL_PACKAGE_BUILD) -IGNORE= is disabled on package building systems -INSTALLATION_DATE= 2004.01.25 -.else -.ifdef INSTALLATION_DATE -MYDATE!= date -j -f "%Y.%m.%d" "${INSTALLATION_DATE}" "+%Y.%m.%d" 2>/dev/null -.if ${MYDATE} != ${INSTALLATION_DATE} -IGNORE= ": \`\`${INSTALLATION_DATE}\'\' is not a legal date. INSTALLATION_DATE must be in the form YYYY.MM.DD" -.endif -.else -INSTALLATION_DATE!= date -u "+%Y.%m.%d" -.endif -.endif - -do-install: - @${DO_NADA} - -.include <bsd.port.mk> diff --git a/security/vulnerability-test-port/pkg-descr b/security/vulnerability-test-port/pkg-descr deleted file mode 100644 index a07e1b34e991..000000000000 --- a/security/vulnerability-test-port/pkg-descr +++ /dev/null @@ -1,20 +0,0 @@ -This is a package to test FreeBSD port auditing systems, e.g. portaudit -and the upcoming VuXML based system. Even though it installs no files, -it is registered in the local package database. - -Its version number is automagically the installation date, so that you -can update it every day ;-) If the date is off by one day keep in mind -that the date is in UTC which may differ from your local time up to -twelve hours, depending on the time zone you live in. - -The portaudit database lists yesterday's vulnerability test port as -vulnerable so that it should appear in your security report approximately -after a week, depending on the synchronization schedule of your database. - -If you try install the port with - make INSTALLATION_DATE=`date -u -v-14d "+%Y.%m.%d"` install -the port is instantly flagged as vulnerable and the ports system should -hinder you installing it (currently not implemented), otherwise your -vulnerability database is too old. - -Oliver Eikemeier <eik@FreeBSD.org> diff --git a/sysutils/Makefile b/sysutils/Makefile index af06766cda9f..091e0c55e10a 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -40,7 +40,6 @@ SUBDIR += bacula-docs SUBDIR += bacula-server SUBDIR += bacula-server-devel - SUBDIR += barry SUBDIR += batmon SUBDIR += battfink SUBDIR += battmond @@ -54,7 +53,6 @@ SUBDIR += bksh SUBDIR += blimitd SUBDIR += boxbackup - SUBDIR += bpm SUBDIR += brasero SUBDIR += bsd-splash-changer SUBDIR += bsdadminscripts @@ -320,7 +318,6 @@ SUBDIR += kmilo SUBDIR += knutclient SUBDIR += komparator - SUBDIR += kports SUBDIR += krename SUBDIR += kshutdown SUBDIR += ksynaptics @@ -367,7 +364,6 @@ SUBDIR += magicrescue SUBDIR += maint SUBDIR += makefs - SUBDIR += managepkg SUBDIR += manck SUBDIR += mapchan SUBDIR += mbmon @@ -408,7 +404,6 @@ SUBDIR += nctop SUBDIR += ndir SUBDIR += netdump-server - SUBDIR += newportsversioncheck SUBDIR += no-login SUBDIR += npadmin SUBDIR += nrg2iso @@ -435,7 +430,6 @@ SUBDIR += p5-Filesys-DiskSpace SUBDIR += p5-Filesys-DiskUsage SUBDIR += p5-Filesys-Statvfs - SUBDIR += p5-FreeBSD-Portindex SUBDIR += p5-Fuse SUBDIR += p5-Fuse-Simple SUBDIR += p5-LJ-Cache @@ -489,44 +483,18 @@ SUBDIR += phantom SUBDIR += php4-posix SUBDIR += php5-posix - SUBDIR += pib SUBDIR += pidof SUBDIR += pipemeter - SUBDIR += pkg-orphan - SUBDIR += pkg_cutleaves - SUBDIR += pkg_install - SUBDIR += pkg_install-devel - SUBDIR += pkg_remove SUBDIR += pkg_replace - SUBDIR += pkg_rmleaves - SUBDIR += pkg_trackinst - SUBDIR += pkg_tree - SUBDIR += pkgfe SUBDIR += pkill SUBDIR += plconfig SUBDIR += plod SUBDIR += pmap SUBDIR += policykit - SUBDIR += port-authoring-tools - SUBDIR += port-maintenance-tools - SUBDIR += portbrowser - SUBDIR += portcheck - SUBDIR += portconf - SUBDIR += portdowngrade - SUBDIR += portmanager - SUBDIR += portmaster - SUBDIR += portscout - SUBDIR += portsearch - SUBDIR += portsman - SUBDIR += portsnap - SUBDIR += portsopt - SUBDIR += portupgrade - SUBDIR += portupgrade-devel SUBDIR += powerman SUBDIR += prips SUBDIR += procmap SUBDIR += progsreiserfs - SUBDIR += psearch SUBDIR += psgconf SUBDIR += pslist SUBDIR += psmisc @@ -540,7 +508,6 @@ SUBDIR += pwsafe SUBDIR += qlogtools SUBDIR += qpxtool - SUBDIR += qtpkg SUBDIR += radeontool SUBDIR += radmind SUBDIR += raincoat diff --git a/sysutils/barry/Makefile b/sysutils/barry/Makefile deleted file mode 100644 index 0bb507024a8f..000000000000 --- a/sysutils/barry/Makefile +++ /dev/null @@ -1,35 +0,0 @@ -# New ports collection makefile for: barry -# Date created: 19 September 2002 -# Whom: Brad Davis <so14k@so14k.com> -# -# $FreeBSD$ -# - -PORTNAME= barry -PORTVERSION= 0.7 -PORTREVISION= 2 -CATEGORIES= sysutils kde -MASTER_SITES= http://www.student.uni-oldenburg.de/frerich.raabe/barry/ \ - http://freebsd.so14k.com/barry/ - -MAINTAINER= ports@FreeBSD.org -COMMENT= A nice KDE frontend to the ports system - -BUILD_DEPENDS= ${LOCALBASE}/sbin/portsdb:${PORTSDIR}/sysutils/portupgrade -RUN_DEPENDS= ${LOCALBASE}/sbin/portsdb:${PORTSDIR}/sysutils/portupgrade - -USE_BZIP2= yes -USE_KDELIBS_VER=3 -USE_AUTOTOOLS= libtool:15 -INSTALLS_ICONS= yes -USE_GETTEXT= yes - -post-patch: - @${FIND} ${WRKSRC} -name "*.h" -and -not -name "linklocator.h" | \ - ${XARGS} ${REINPLACE_CMD} -e 's/^};/}/g' - @${REINPLACE_CMD} "s,-lpthread,${PTHREAD_LIBS},g" ${WRKSRC}/configure - -pre-install: - @${MKDIR} ${DESTDIR}${PREFIX}/share/applnk/Utilities - -.include <bsd.port.mk> diff --git a/sysutils/barry/distinfo b/sysutils/barry/distinfo deleted file mode 100644 index efac49f2966e..000000000000 --- a/sysutils/barry/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (barry-0.7.tar.bz2) = 7224ce33ef28b4938b4731f4e4a4cb93 -SHA256 (barry-0.7.tar.bz2) = a8591f64b631ed7b7bf06b31135acf3c98cba6779325284e9c8d337d4e1d8fb6 -SIZE (barry-0.7.tar.bz2) = 705508 diff --git a/sysutils/barry/files/patch-Makefile.in b/sysutils/barry/files/patch-Makefile.in deleted file mode 100644 index 5b741ce02b5f..000000000000 --- a/sysutils/barry/files/patch-Makefile.in +++ /dev/null @@ -1,11 +0,0 @@ ---- src/Makefile.in.orig Sun Apr 24 02:27:28 2005 -+++ src/Makefile.in Sun Apr 24 02:27:43 2005 -@@ -240,7 +240,7 @@ - INCLUDES = $(all_includes) - - barry_LDFLAGS = $(KDE_RPATH) $(all_libraries) --barry_LDADD = $(LIB_KIO) $(LIB_KHTML) -+barry_LDADD = $(LIB_KIO) $(LIB_KHTML) $(LIBPTHREAD) - - barry_SOURCES = actionprogressdialog.cc application.cc configdialog.cc \ - databaseinfodialog.cc databasewrapper.cc dependlistview.cc \ diff --git a/sysutils/barry/files/patch-history.h b/sysutils/barry/files/patch-history.h deleted file mode 100644 index 8d02392e68d8..000000000000 --- a/sysutils/barry/files/patch-history.h +++ /dev/null @@ -1,92 +0,0 @@ ---- src/history.h.bak Sun Jun 8 22:09:10 2003 -+++ src/history.h Sun Apr 24 02:18:42 2005 -@@ -22,44 +22,7 @@ - - namespace Barry - { -- class History; -- -- class Command -- { -- public: -- enum CreationFlags { -- None = 0x0, Run = 0x1, Register = 0x2 -- }; -- virtual ~Command(); -- -- template <class T> -- static T *create( CreationFlags flags = None ) -- { -- T *cmd = new T; -- if ( flags & Register ) -- History::self().registerCommand( cmd ); -- if ( flags & Run ) -- cmd->exec(); -- return cmd; -- } -- -- void unexec(); -- void exec(); -- virtual QString text() const = 0; -- -- protected: -- Command(); -- bool executed() const { return m_executed; } -- -- private: -- Command( const Command &rhs ); -- Command &operator=( const Command &rhs ); -- -- virtual void doExec() = 0; -- virtual void doUnexec() = 0; -- -- bool m_executed; -- }; -+ class Command; - - class History : public QObject - { -@@ -100,6 +63,43 @@ - unsigned int m_maxEntries; - KToolBarPopupAction *m_backAction; - KToolBarPopupAction *m_forwardAction; -+ }; -+ -+ class Command -+ { -+ public: -+ enum CreationFlags { -+ None = 0x0, Run = 0x1, Register = 0x2 -+ }; -+ virtual ~Command(); -+ -+ template <class T> -+ static T *create( CreationFlags flags = None ) -+ { -+ T *cmd = new T; -+ if ( flags & Register ) -+ History::self().registerCommand( cmd ); -+ if ( flags & Run ) -+ cmd->exec(); -+ return cmd; -+ } -+ -+ void unexec(); -+ void exec(); -+ virtual QString text() const = 0; -+ -+ protected: -+ Command(); -+ bool executed() const { return m_executed; } -+ -+ private: -+ Command( const Command &rhs ); -+ Command &operator=( const Command &rhs ); -+ -+ virtual void doExec() = 0; -+ virtual void doUnexec() = 0; -+ -+ bool m_executed; - }; - }; - diff --git a/sysutils/barry/files/patch-orphanedfilesdialog.cc b/sysutils/barry/files/patch-orphanedfilesdialog.cc deleted file mode 100644 index 9b8df25563c1..000000000000 --- a/sysutils/barry/files/patch-orphanedfilesdialog.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/orphanedfilesdialog.cc.orig Sun Apr 24 02:21:02 2005 -+++ src/orphanedfilesdialog.cc Sun Apr 24 02:21:10 2005 -@@ -52,7 +52,7 @@ - ++i; - return i; - } --}; -+} - - using namespace Barry; - diff --git a/sysutils/barry/files/patch-port.cc b/sysutils/barry/files/patch-port.cc deleted file mode 100644 index 6b04f6133751..000000000000 --- a/sysutils/barry/files/patch-port.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/port.cc.orig Sun Apr 24 02:21:49 2005 -+++ src/port.cc Sun Apr 24 02:21:55 2005 -@@ -64,7 +64,7 @@ - QString m_link; - long long m_size; - }; --}; -+} - - // This would be nice in Qt - template <class Container> diff --git a/sysutils/barry/files/patch-portlistview.cc b/sysutils/barry/files/patch-portlistview.cc deleted file mode 100644 index 0681fd041528..000000000000 --- a/sysutils/barry/files/patch-portlistview.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- src/portlistview.cc.orig Sun Apr 24 02:22:33 2005 -+++ src/portlistview.cc Sun Apr 24 02:22:41 2005 -@@ -42,7 +42,7 @@ - QListViewItem *m_oldItem; - QListViewItem *m_newItem; - }; --}; -+} - - using namespace Barry; - diff --git a/sysutils/barry/pkg-descr b/sysutils/barry/pkg-descr deleted file mode 100644 index 5eff7c940b5d..000000000000 --- a/sysutils/barry/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -A nice KDE frontend to the ports system. - -WWW: http://www.student.uni-oldenburg.de/frerich.raabe/barry/ diff --git a/sysutils/barry/pkg-plist b/sysutils/barry/pkg-plist deleted file mode 100644 index 46dd9b7601c9..000000000000 --- a/sysutils/barry/pkg-plist +++ /dev/null @@ -1,36 +0,0 @@ -bin/barry -share/applnk/Utilities/barry.desktop -share/apps/barry/background.png -share/apps/barry/barryui.rc -share/apps/barry/bgtable.png -share/apps/barry/deinstall-port.png -share/apps/barry/eventsrc -share/apps/barry/install-port.png -share/apps/barry/kdelogo2.png -share/apps/barry/khelpcenter.png -share/apps/barry/konq.css -share/apps/barry/lines.png -share/apps/barry/lines2.png -share/apps/barry/pointers.png -share/apps/barry/port-installed.png -share/apps/barry/port-not-installed.png -share/apps/barry/shadow1.png -share/apps/barry/splashscreen.html -share/apps/barry/upgrade-port.png -share/icons/crystalsvg/16x16/apps/barry.png -share/icons/crystalsvg/32x32/apps/barry.png -share/icons/crystalsvg/48x48/apps/barry.png -share/locale/de/LC_MESSAGES/barry.mo -share/locale/es/LC_MESSAGES/barry.mo -share/locale/ko/LC_MESSAGES/barry.mo -share/locale/pl/LC_MESSAGES/barry.mo -share/locale/sv/LC_MESSAGES/barry.mo -@dirrm share/applnk/Utilities -@dirrm share/apps/barry -@dirrm share/icons/crystalsvg/16x16/apps -@dirrm share/icons/crystalsvg/32x32/apps -@dirrm share/icons/crystalsvg/48x48/apps -@dirrmtry share/locale/ko/LC_MESSAGES -@dirrmtry share/locale/ko -@dirrmtry share/locale/pl/LC_MESSAGES -@dirrmtry share/locale/pl diff --git a/sysutils/bpm/Makefile b/sysutils/bpm/Makefile deleted file mode 100644 index 812315f8a08e..000000000000 --- a/sysutils/bpm/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# New ports collection makefile for: bpm -# Date created: 23 July 2004 -# Whom: sethk -# -# $FreeBSD$ -# - -PORTNAME= bpm -PORTVERSION= 0.4.1b -PORTREVISION= 10 -CATEGORIES= sysutils -MASTER_SITES= http://www.meowfishies.com/code/bpm/ -EXTRACT_SUFX= .tgz - -MAINTAINER= sethk@meowfishies.com -COMMENT= A graphical BSD ports collection manager - -RUN_DEPENDS= portupgrade:${PORTSDIR}/sysutils/portupgrade \ - gdialog:${PORTSDIR}/x11/zenity - -USE_X_PREFIX= yes -USE_GNOME= gtk20 desktopfileutils - -MAKE_ENV+= OSTYPE="${OPSYS}" - -SUB_FILES= bpm.desktop - -post-patch: - @${FIND} ${WRKSRC} -name Makefile | ${XARGS} \ - ${REINPLACE_CMD} -e "s|-lintl|-lintl -L${LOCALBASE}/lib|g" -# GnomeVFS needs pthread; bpm may use GnomeVFS (via GtkFileChooser) - @${REINPLACE_CMD} -e 's|^CFLAGS+=|& ${PTHREAD_CFLAGS}|; \ - s|^LDLIBS+=|& ${PTHREAD_LIBS}|' ${WRKSRC}/src/Makefile - -post-install: - ${INSTALL_DATA} ${WRKDIR}/bpm.desktop ${PREFIX}/share/applications/bpm.desktop - @-update-desktop-database - -.include <bsd.port.mk> diff --git a/sysutils/bpm/distinfo b/sysutils/bpm/distinfo deleted file mode 100644 index 14a3de79bfdb..000000000000 --- a/sysutils/bpm/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (bpm-0.4.1b.tgz) = 2704ba7b6f6935a93b2973aa0e82028d -SHA256 (bpm-0.4.1b.tgz) = 8ed675ad6f572fd2872e40ab5d037f9175ce23020cd0abab403665f3a6935fc1 -SIZE (bpm-0.4.1b.tgz) = 98457 diff --git a/sysutils/bpm/files/bpm.desktop.in b/sysutils/bpm/files/bpm.desktop.in deleted file mode 100644 index ad773b9d6038..000000000000 --- a/sysutils/bpm/files/bpm.desktop.in +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Comment=The BSD Ports Manipulator -Name=BPM -Exec=gnomesu %%PREFIX%%/bin/bpm -Encoding=UTF-8 -Terminal=false -Type=Application -Icon=%%PREFIX%%/share/bpm/pixmaps/pkg_48.png -Categories=Application;System; diff --git a/sysutils/bpm/files/patch-src::refresh.c b/sysutils/bpm/files/patch-src::refresh.c deleted file mode 100644 index 619e8f024972..000000000000 --- a/sysutils/bpm/files/patch-src::refresh.c +++ /dev/null @@ -1,57 +0,0 @@ ---- src/refresh.c.orig Mon Aug 23 19:40:08 2004 -+++ src/refresh.c Thu Nov 24 15:11:48 2005 -@@ -62,8 +62,14 @@ - __RCSID("$Id: refresh.c,v 1.32 2004/08/24 02:40:08 sethk Exp $"); - - /* XXX use libinstall/lib.h */ -+#if __FreeBSD_version >= 600000 -+#define INDEX_FN PORTS_BASE "/INDEX-6" -+#elif __FreeBSD_version >= 500036 -+#define INDEX_FN PORTS_BASE "/INDEX-5" -+#else - #define INDEX_FN PORTS_BASE "/INDEX" --#define INDEX_MAXLN 4096 -+#endif -+#define INDEX_MAXLN 8192 - #define DB_DIR "/var/db/pkg" - #define ITER_BYTES (128 * 1024) - #define ITER_ENTS 32 -@@ -183,10 +189,12 @@ - if (*sp == '|') - ++i; - -- if (i != (PFIELD_NFIELD - 1)) -+ if (i < (PFIELD_NFIELD - 1)) - { - #ifdef DEBUG -- warnx("invalid number of fields"); -+ warnx("invalid number of fields (%d should be %d)", -+ i + 1, -+ PFIELD_NFIELD); - #endif /* DEBUG */ - return FALSE; - } -@@ -195,12 +203,9 @@ - - for (i = 0; i < PFIELD_NFIELD; ++i) - { -- if (i < PFIELD_NFIELD - 1) -- { -- if (!(sp = strchr(line, '|'))) -- break; -- *sp++ = '\0'; -- } -+ if (!(sp = strchr(line, '|')) && i < PFIELD_NFIELD - 1) -+ break; -+ *sp++ = '\0'; - - switch (i) - { -@@ -320,7 +325,6 @@ - - if (_refresh_index_parse(ln, portdp, rdp) != TRUE) - { -- _refresh_portfree(portdp); - #ifdef DEBUG - warnx("%s:%u: invalid format", INDEX_FN, rdp->rd_linec); - #endif /* DEBUG */ diff --git a/sysutils/bpm/files/patch-src_install.c b/sysutils/bpm/files/patch-src_install.c deleted file mode 100644 index cb53d8ce28f0..000000000000 --- a/sysutils/bpm/files/patch-src_install.c +++ /dev/null @@ -1,19 +0,0 @@ ---- src/install.c.orig Sun Apr 2 14:09:25 2006 -+++ src/install.c Sun Apr 2 14:12:03 2006 -@@ -958,6 +958,8 @@ - av[ac++] = "SU_CMD=" SU_CMD; - av[ac++] = "-M"; - av[ac++] = "FETCH_CMD=" FETCH_CMD; -+ av[ac++] = "-M"; -+ av[ac++] = "DIALOG=gdialog"; - av[ac++] = "-s"; - av[ac++] = "-S"; - av[ac++] = SU_CMD " '%s'"; -@@ -971,6 +973,7 @@ - av[ac++] = "make"; - av[ac++] = "SU_CMD=" SU_CMD; - av[ac++] = "FETCH_CMD=" FETCH_CMD; -+ av[ac++] = "DIALOG=gdialog"; - - if (iadp->ia_action == INSTACT_PACKAGE) - { diff --git a/sysutils/bpm/pkg-descr b/sysutils/bpm/pkg-descr deleted file mode 100644 index 8400a536e1f0..000000000000 --- a/sysutils/bpm/pkg-descr +++ /dev/null @@ -1,17 +0,0 @@ -BSD Ports Manipuator (BPM) is a graphical ports collection manager for -FreeBSD. It has a GTK+ 2.0 interface and allows you to add, remove, or -upgrade software packages on your system without requiring you to use a -command-line. In addition, it can display details about available, -installed, and out-of-date ports, as well as allowing you to search -based on port descriptions. - -BPM uses the existing ports collection structure, allowing it to build -ports from source and integrate seamlessly with other tools. - -This project started out as a clone of Ports Manager.app for -DarwinPorts. - -WWW: http://www.meowfishies.com/bpm.rhtml - -- Seth -sethk@meowfishies.com diff --git a/sysutils/bpm/pkg-plist b/sysutils/bpm/pkg-plist deleted file mode 100644 index e1f9ea3fb0a0..000000000000 --- a/sysutils/bpm/pkg-plist +++ /dev/null @@ -1,17 +0,0 @@ -bin/bpm -bin/gtk-su -libexec/bpm/term -libexec/bpm/fetch-wrapper -%%DATADIR%%/pixmaps/term_16.png -%%DATADIR%%/pixmaps/term_24.png -%%DATADIR%%/pixmaps/pkg_16.png -%%DATADIR%%/pixmaps/pkg_24.png -%%DATADIR%%/pixmaps/pkg_48.png -%%DATADIR%%/pixmaps/lock_48.png -share/locale/en_CA/LC_MESSAGES/bpm.mo -share/applications/bpm.desktop -@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true -@dirrm libexec/bpm -@dirrm %%DATADIR%%/pixmaps -@dirrm %%DATADIR%% -@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true diff --git a/sysutils/bsdadminscripts/Makefile b/sysutils/bsdadminscripts/Makefile index d116b3b1efec..62ee56f3f243 100644 --- a/sysutils/bsdadminscripts/Makefile +++ b/sysutils/bsdadminscripts/Makefile @@ -30,7 +30,7 @@ MAN1+= rcstart.1 .endif .if !defined(WITHOUT_PORTCONFIG) -RUN_DEPENDS+= portupgrade:${PORTSDIR}/sysutils/portupgrade +RUN_DEPENDS+= portupgrade:${PORTSDIR}/ports-mgmt/portupgrade PLIST_FILES+= ${PORT_SCRIPTS:S,^,sbin/port,} MAN1+= portconfig.1 .endif diff --git a/sysutils/desktopbsd-tools/Makefile b/sysutils/desktopbsd-tools/Makefile index a4dd5653a417..909f59f7934f 100644 --- a/sysutils/desktopbsd-tools/Makefile +++ b/sysutils/desktopbsd-tools/Makefile @@ -17,7 +17,7 @@ RUN_DEPENDS= xterm:${PORTSDIR}/x11/xterm \ bash:${PORTSDIR}/shells/bash \ fastest_cvsup:${PORTSDIR}/sysutils/fastest_cvsup \ portupgrade:${PORTSDIR}/sysutils/portupgrade \ - portaudit:${PORTSDIR}/security/portaudit + portaudit:${PORTSDIR}/ports-mgmt/portaudit INSTALLS_SHLIB= yes USE_BZIP2= yes @@ -41,7 +41,7 @@ RUN_DEPENDS+= csup:${PORTSDIR}/net/csup .endif .if ${OSVERSION} < 504103 || ( ${OSVERSION} >= 600000 && ${OSVERSION} < 600033 ) -RUN_DEPENDS+= portsnap:${PORTSDIR}/sysutils/portsnap +RUN_DEPENDS+= portsnap:${PORTSDIR}/ports-mgmt/portsnap .endif post-patch: diff --git a/sysutils/kports/Makefile b/sysutils/kports/Makefile deleted file mode 100644 index 389fd0f6aaee..000000000000 --- a/sysutils/kports/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -# New ports collection makefile for: kports -# Date created: Thu Jan 12 12:47:58 UTC 2006 -# Whom: Hannes Hauswedell <hannes.hauswedell@gmail.com> -# -# $FreeBSD$ -# - -PORTNAME= kports -PORTVERSION= 0.6.1 -CATEGORIES= sysutils kde -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} -MASTER_SITE_SUBDIR= ${PORTNAME} - -MAINTAINER= hannes.hauswedell@gmail.com -COMMENT= Powerful KDE-Frontend to the Ports - -USE_BZIP2= yes -USE_GMAKE= yes -USE_KDELIBS_VER=3 -USE_AUTOTOOLS= libtool:15 -PREFIX= ${KDE_PREFIX} - -RUN_DEPENDS+= portupgrade:${PORTSDIR}/sysutils/portupgrade -RUN_DEPENDS+= kdehier>=0:${PORTSDIR}/misc/kdehier - -OPTIONS= PORTAUDIT "Require Portaudit" on - -.include <bsd.port.pre.mk> - -.if ${OSVERSION} < 500000 -IGNORE= doesn't compile properly on 4.x systems -.endif - -.if !defined(WITHOUT_PORTAUDIT) -RUN_DEPENDS+= portaudit:${PORTSDIR}/security/portaudit -.endif - -.include <bsd.port.post.mk> diff --git a/sysutils/kports/distinfo b/sysutils/kports/distinfo deleted file mode 100644 index 5d0767ed54eb..000000000000 --- a/sysutils/kports/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (kports-0.6.1.tar.bz2) = c02cb4cdcfd8112bcb5ff0bfc1fe94b6 -SHA256 (kports-0.6.1.tar.bz2) = c06e7fd25f5c0c63dcbff1b2a569f185d2252e8b16c2f7ccadfa1cbcfab902fa -SIZE (kports-0.6.1.tar.bz2) = 620443 diff --git a/sysutils/kports/pkg-descr b/sysutils/kports/pkg-descr deleted file mode 100644 index f99677b37f4c..000000000000 --- a/sysutils/kports/pkg-descr +++ /dev/null @@ -1,10 +0,0 @@ -KPorts is KDE-Frontend to the FreeBSD-Ports and in future also to the -OpenBsd-Ports, PkgSrc and maybe others. -You can browse and search through your Portstree and perform actions -like Upgrades, Installs, Uninstall a.s.o. More advanced features like -setting Options and Vulnerability checking are also available. For a -complete list, check the Homepage or the Changelog. -Functionality is KPorts' main goal, not simplification by reducing -options; however KPorts should be rather easy to use. - -WWW: http://kports.sf.net diff --git a/sysutils/kports/pkg-plist b/sysutils/kports/pkg-plist deleted file mode 100644 index 7ac0e9d0590e..000000000000 --- a/sysutils/kports/pkg-plist +++ /dev/null @@ -1,12 +0,0 @@ -bin/kports -bin/kports_client -share/applnk/System/kports.desktop -share/apps/kports/kports-splash.jpg -share/apps/kports/kportsui.rc -share/doc/HTML/en/kports/index.cache.bz2 -share/doc/HTML/en/kports/index.docbook -share/icons/hicolor/16x16/apps/kports.png -share/icons/hicolor/32x32/apps/kports.png -@dirrm share/doc/HTML/en/kports/common -@dirrm share/doc/HTML/en/kports -@dirrm share/apps/kports diff --git a/sysutils/managepkg/Makefile b/sysutils/managepkg/Makefile deleted file mode 100644 index a9ad75191fe4..000000000000 --- a/sysutils/managepkg/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# New ports collection makefile for: managepkg -# Date created: 2005-09-04 -# Whom: Andreas Fehlner <fehlner@gmx.de> -# -# $FreeBSD$ -# - -PORTNAME= managepkg -PORTVERSION= 1.1 -CATEGORIES= sysutils -MASTER_SITES= http://www.cul.de/data/\ - http://home.arcor.de/fehlner/fbsd_ports/\ - http://home.arcor.de/teambushido/fbsd_ports/ -EXTRACT_SUFX= .gz - -MAINTAINER= fehlner@gmx.de -COMMENT= Script for maintining ports -# Any ideas for a better comment? - -EXTRACT_AFTER_ARGS= ${DISTDIR}/${DISTFILES} > ${WRKSRC}/${PORTNAME} -WRKSRC= ${WRKDIR} -NO_BUILD= yes -PLIST_FILES= sbin/managepkg - -do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME} ${PREFIX}/sbin/ - -.include <bsd.port.mk> diff --git a/sysutils/managepkg/distinfo b/sysutils/managepkg/distinfo deleted file mode 100644 index 8a0701f48bf4..000000000000 --- a/sysutils/managepkg/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (managepkg-1.1.gz) = 7e698db45723cb0a933363cc5a6cb718 -SHA256 (managepkg-1.1.gz) = 1b4d1f8df01b8da54f9b083de1789396d4f5efa69d19c264b1c5a08c6f008089 -SIZE (managepkg-1.1.gz) = 2497 diff --git a/sysutils/managepkg/pkg-descr b/sysutils/managepkg/pkg-descr deleted file mode 100644 index 568903156d13..000000000000 --- a/sysutils/managepkg/pkg-descr +++ /dev/null @@ -1,17 +0,0 @@ -This script runs though the complete ports tree without stopping after a make -error occured. -If you call make with any parameter in one of the directories of the ports tree -in FreeBSD the run will stop if make returns with a code bigger than zero. That -means, that it is (in opposite to NetBSD or OpenBSD impossible to run a echo -complete build with \"make\" in FreeBSD. - -Warning: The run of the script may last days (but you may stop it any time). - -Call the script with the parameter you want to give to make, for instance fetch, -build, install, or package. - - -WWW: http://www.cul.de/data/ - --Andreas Fehlner -fehlner@gmx.de diff --git a/sysutils/newportsversioncheck/Makefile b/sysutils/newportsversioncheck/Makefile deleted file mode 100644 index 359881bafd3e..000000000000 --- a/sysutils/newportsversioncheck/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -# New ports collection makefile for: newportsversioncheck -# Date created: 12 October 2005 -# Whom: Edwin Groothuis <edwin@mavetju.org> -# -# $FreeBSD$ -# - -PORTNAME= newportsversioncheck -PORTVERSION= 1.3 -PORTREVISION= 1 -CATEGORIES= sysutils -MASTER_SITES= http://www.mavetju.org/download/ - -MAINTAINER= edwin@mavetju.org -COMMENT= Ports new version checker - -RUN_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/DBD/SQLite.pm:${PORTSDIR}/databases/p5-DBD-SQLite \ - ${SITE_PERL}/MIME/Lite.pm:${PORTSDIR}/mail/p5-MIME-Lite \ - ${SITE_PERL}/LWP.pm:${PORTSDIR}/www/p5-libwww - -USE_PERL5_RUN= yes -USE_SQLITE= yes -NO_BUILD= yes -SUB_FILES= pkg-message -PKGMESSAGE= ${WRKDIR}/pkg-message - -do-install: - ${MKDIR} ${PREFIX}/newportsversioncheck/bin -.for f in apply_restrictions.pl check_data.pl check_find_new_versions.sh delete_dupes.pl filter_ports_alreadychecked.pl find_new_versions.pl find_new_versions.sh init_db.sh mail_maintainers.pl make_html.pl maketarball.sh manage_restriction.pl restart_database.pl README CHANGES - ${INSTALL_SCRIPT} ${WRKDIR}/newportsversioncheck/bin/${f} ${PREFIX}/newportsversioncheck/bin -.endfor - - ${MKDIR} ${PREFIX}/newportsversioncheck/etc -.for f in email_footer.txt email_header.txt - ${INSTALL_DATA} ${WRKDIR}/newportsversioncheck/etc/${f} ${PREFIX}/newportsversioncheck/etc -.endfor - -post-install: - ${CAT} ${PKGMESSAGE} - -.include <bsd.port.mk> diff --git a/sysutils/newportsversioncheck/distinfo b/sysutils/newportsversioncheck/distinfo deleted file mode 100644 index 92a7028353b4..000000000000 --- a/sysutils/newportsversioncheck/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (newportsversioncheck-1.3.tar.gz) = 0297043d90dfaeffafe1089ac1406e4b -SHA256 (newportsversioncheck-1.3.tar.gz) = a2296c9817208aa87e74b05cac31b183c38157928f3f86fdc9669363d192ddac -SIZE (newportsversioncheck-1.3.tar.gz) = 10927 diff --git a/sysutils/newportsversioncheck/files/pkg-message.in b/sysutils/newportsversioncheck/files/pkg-message.in deleted file mode 100644 index 24ea2d1dba16..000000000000 --- a/sysutils/newportsversioncheck/files/pkg-message.in +++ /dev/null @@ -1,15 +0,0 @@ -To continue the installation of sysutils/newportsversioncheck... - -$ mkdir %%PREFIX%%/newportsversioncheck/html -$ mkdir %%PREFIX%%/newportsversioncheck/db -$ cd %%PREFIX%%/newportsversioncheck -$ bin/init_db.sh db/newports.db - -And then edit bin/mail_maintainers.pl and set the variable $ME to -your name and email address. Don't forget the \ in front of the @. - -Then read the file bin/README with regarding to the "Running" section. - -Note: for this tool to work you need to have the first patch in ports/86776 -(http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/86776) applied -to bsd.port.mk. diff --git a/sysutils/newportsversioncheck/pkg-descr b/sysutils/newportsversioncheck/pkg-descr deleted file mode 100644 index 1a2b4f88edba..000000000000 --- a/sysutils/newportsversioncheck/pkg-descr +++ /dev/null @@ -1,5 +0,0 @@ -New ports distfiles version checker - -Toolset to determine if new distfiles are available for a port. - -Author: edwin@mavetju.org diff --git a/sysutils/newportsversioncheck/pkg-plist b/sysutils/newportsversioncheck/pkg-plist deleted file mode 100644 index 02abe6d2a1af..000000000000 --- a/sysutils/newportsversioncheck/pkg-plist +++ /dev/null @@ -1,22 +0,0 @@ -newportsversioncheck/bin/CHANGES -newportsversioncheck/bin/README -newportsversioncheck/bin/apply_restrictions.pl -newportsversioncheck/bin/check_data.pl -newportsversioncheck/bin/check_find_new_versions.sh -newportsversioncheck/bin/delete_dupes.pl -newportsversioncheck/bin/filter_ports_alreadychecked.pl -newportsversioncheck/bin/find_new_versions.pl -newportsversioncheck/bin/find_new_versions.sh -newportsversioncheck/bin/init_db.sh -newportsversioncheck/bin/mail_maintainers.pl -newportsversioncheck/bin/make_html.pl -newportsversioncheck/bin/maketarball.sh -newportsversioncheck/bin/manage_restriction.pl -newportsversioncheck/bin/restart_database.pl - -newportsversioncheck/etc/email_footer.txt -newportsversioncheck/etc/email_header.txt - -@dirrm newportsversioncheck/bin -@dirrm newportsversioncheck/etc -@dirrmtry newportsversioncheck diff --git a/sysutils/p5-FreeBSD-Portindex/Makefile b/sysutils/p5-FreeBSD-Portindex/Makefile deleted file mode 100644 index b526813222ae..000000000000 --- a/sysutils/p5-FreeBSD-Portindex/Makefile +++ /dev/null @@ -1,65 +0,0 @@ -# New ports collection Makefile for: FreeBSD::Portindex -# Date created: 5 Nov 2004 -# Whom: Matthew Seaman <m.seaman@infracaninophile.co.uk> -# -# $FreeBSD$ - -PORTNAME= FreeBSD-Portindex -PORTVERSION= 1.9 -CATEGORIES= sysutils perl5 -MASTER_SITES= http://www.infracaninophile.co.uk/portindex/ -PKGNAMEPREFIX= p5- - -MAINTAINER= m.seaman@infracaninophile.co.uk -COMMENT= Incremental FreeBSD ports INDEX file generation - -BUILD_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/BerkeleyDB.pm:${PORTSDIR}/databases/p5-BerkeleyDB -RUN_DEPENDS= ${BUILD_DEPENDS} - -USE_BZIP2= yes -PERL_CONFIGURE= yes - -CACHE_DIR?= ${DESTDIR}/var/db/portindex -CACHE_OWNER?= root -CACHE_GROUP?= operator -CACHE_MODE?= 0775 - -CFG_FILE= portindex.cfg - -MAN1= find-updated.1 cache-init.1 cache-update.1 portindex.1 - -.include <bsd.port.pre.mk> - -## -## Needs a recent version of perl, preferably 5.8.8, but 5.6.1 should work -## -.if ${PERL_LEVEL} < 500601 -IGNORE= requires perl 5.6.x or (preferably) later. Install lang/perl5.8 and try again -.endif - -.if ${PERL_LEVEL} < 500800 -BUILD_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/Storable.pm:${PORTSDIR}/devel/p5-Storable -.endif - -post-install: install-conf install-cache - -install-conf: - cd ${WRKSRC} ; \ - ${INSTALL_DATA} ${CFG_FILE}.sample ${TARGETDIR}/etc/${CFG_FILE}.sample - cd ${TARGETDIR}/etc ; \ - if ${TEST} ! -f ${CFG_FILE} ; then \ - ${CP} -p ${CFG_FILE}.sample ${CFG_FILE} ; \ - fi - -# Create the cache directory and make it writable by group 'operator' -# by default. Only if the cache directory doesn't already exist. -# Have to do this by hand if installing via pkg. - -install-cache: - if ${TEST} ! -d ${CACHE_DIR} ; then \ - ${MKDIR} ${CACHE_DIR} ; \ - ${CHOWN} ${CACHE_OWNER}:${CACHE_GROUP} ${CACHE_DIR} ; \ - ${CHMOD} ${CACHE_MODE} ${CACHE_DIR} ; \ - fi - -.include <bsd.port.post.mk> diff --git a/sysutils/p5-FreeBSD-Portindex/distinfo b/sysutils/p5-FreeBSD-Portindex/distinfo deleted file mode 100644 index 576997b66867..000000000000 --- a/sysutils/p5-FreeBSD-Portindex/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (FreeBSD-Portindex-1.9.tar.bz2) = ac9aeb593ca69716e0b9f9392f06519e -SHA256 (FreeBSD-Portindex-1.9.tar.bz2) = 3ca432d675b82a732d914f7060a15137dc177e215b4faaf7dcde51208a59bd7e -SIZE (FreeBSD-Portindex-1.9.tar.bz2) = 29297 diff --git a/sysutils/p5-FreeBSD-Portindex/pkg-descr b/sysutils/p5-FreeBSD-Portindex/pkg-descr deleted file mode 100644 index 684bba33590d..000000000000 --- a/sysutils/p5-FreeBSD-Portindex/pkg-descr +++ /dev/null @@ -1,13 +0,0 @@ - -cache-init, cache-update, find-updated and portindex are a set of perl -scripts built around the common core of the FreeBSD::Portindex -modules. Their use is to generate and maintain the ports INDEX or -INDEX-5 files speedily and efficiently. Ultimately they work in a very -similar way to the standard make index command, except that the -FreeBSD::Portindex tools keep a cache of the make describe output from -each port, and can update that cached data incrementally as the ports -tree itself is updated. - -WWW: http://www.infracaninophile.co.uk/portindex/ - -- Matthew Seaman <m.seaman@infracaninophile.co.uk> diff --git a/sysutils/p5-FreeBSD-Portindex/pkg-plist b/sysutils/p5-FreeBSD-Portindex/pkg-plist deleted file mode 100644 index 20f2fe832be6..000000000000 --- a/sysutils/p5-FreeBSD-Portindex/pkg-plist +++ /dev/null @@ -1,16 +0,0 @@ -bin/cache-init -bin/cache-update -bin/find-updated -bin/portindex -@unexec if cmp -s %D/etc/portindex.cfg.sample %D/etc/portindex.cfg ; then rm -f %D/etc/portindex.cfg ; fi -etc/portindex.cfg.sample -@exec [ ! -f %B/portindex.cfg ] && cp -p %B/%f %B/portindex.cfg || true -%%SITE_PERL%%/FreeBSD/Portindex/Config.pm -%%SITE_PERL%%/FreeBSD/Portindex/Category.pm -%%SITE_PERL%%/FreeBSD/Portindex/Port.pm -%%SITE_PERL%%/FreeBSD/Portindex/Tree.pm -%%SITE_PERL%%/%%PERL_ARCH%%/auto/FreeBSD/Portindex/.packlist -@dirrm %%SITE_PERL%%/FreeBSD/Portindex -@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/FreeBSD/Portindex -@dirrmtry %%SITE_PERL%%/FreeBSD -@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/FreeBSD diff --git a/sysutils/pib/Makefile b/sysutils/pib/Makefile deleted file mode 100644 index 970acd68edd6..000000000000 --- a/sysutils/pib/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# New ports collection makefile for: pib -# Date created: 30 December 1996 -# Whom: Mike Smith <msmith@freebsd.org> -# -# $FreeBSD$ -# - -PORTNAME= pib -PORTVERSION= 1.2 -CATEGORIES= sysutils tk82 -MASTER_SITES= ${MASTER_SITE_LOCAL} -MASTER_SITE_SUBDIR= msmith - -MAINTAINER= .@babolo.ru -COMMENT= GUI Ports Collection management tool - -BUILD_DEPENDS= wish8.2:${PORTSDIR}/x11-toolkits/tk82 -RUN_DEPENDS= wish8.2:${PORTSDIR}/x11-toolkits/tk82 - -.include <bsd.port.pre.mk> - -do-install: - ${MKDIR} ${PREFIX}/lib/pib - ${INSTALL_SCRIPT} ${WRKSRC}/*.tcl ${PREFIX}/lib/pib - ${INSTALL_DATA} ${WRKSRC}/libTkSteal.so.2* ${PREFIX}/lib/pib - ${LN} -fs ${PREFIX}/lib/pib/pib.tcl ${PREFIX}/bin/pib - -.include <bsd.port.post.mk> diff --git a/sysutils/pib/distinfo b/sysutils/pib/distinfo deleted file mode 100644 index d6a18ad39678..000000000000 --- a/sysutils/pib/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (pib-1.2.tar.gz) = fa095bd1f9854aa296b4d35f8ba029f5 -SHA256 (pib-1.2.tar.gz) = b588bbef9f491bae2d2715bcb1533bebf8eb4d447770253cbf53bbed7b6e665a -SIZE (pib-1.2.tar.gz) = 33286 diff --git a/sysutils/pib/files/patch-Makefile b/sysutils/pib/files/patch-Makefile deleted file mode 100644 index 2d9793630bbc..000000000000 --- a/sysutils/pib/files/patch-Makefile +++ /dev/null @@ -1,10 +0,0 @@ ---- Makefile Sat Oct 28 12:55:08 2000 -+++ Makefile Mon Oct 21 04:40:15 2002 -@@ -8,7 +8,6 @@ - X11BASE?= /usr/X11R6 - - LIB= TkSteal --INTERNALLIB= YES # inhibits unuseful static library - SHLIB_MAJOR= 2 - SHLIB_MINOR= 0 - NOPROFILE= yes diff --git a/sysutils/pib/files/patch-pib b/sysutils/pib/files/patch-pib deleted file mode 100644 index d0b9b13f39d8..000000000000 --- a/sysutils/pib/files/patch-pib +++ /dev/null @@ -1,71 +0,0 @@ ---- pib.tcl Sat Oct 28 13:01:12 2000 -+++ pib.tcl Sat Apr 28 04:05:37 2001 -@@ -309,22 +309,11 @@ - # - proc init_options {} { - -- # listboxes -- option add *Listbox.background white; -- option add *Listbox.selectForeground white; -- option add *Listbox.selectBackground darkblue; -- - # scrollbars - option add *Scrollbar.width 11; - - # textboxes -- option add *Text.background white; -- option add *Text.selectForeground white; -- option add *Text.selectBackground darkblue; - option add *Text.font fixed; -- -- # entries -- option add *Entry.background white; - - } - -@@ -1931,36 +1920,19 @@ - update_pwin df_getdinfo [format "%d/%d ports, %dK/sec" $pports $Status(nports) $rate]; - - # Find the md5 file. -- if {[catch {set fh [open "$path/files/md5" "r"]}]} { -+ if {[catch {set fh [open "$path/distinfo" "r"]}]} { - -- # Nope. Perhaps we're dealing with US ITAR braindamage -- if {[op_elookup USA_RESIDENT]} { -- set aname "$path/files.usa/md5"; -+ # Can't find an distinfo file; give up -+ if {[file isdirectory "$path"]} { -+ if {$Options(warn_no_md5)} { -+ lappend errs "$pname: '$path/distinfo' not found"; -+ } - } else { -- set aname "$path/files.non_usa/md5"; -- } -- -- # try again with a new name -- if {[catch {set fh [open $aname "r"]}]} { -- -- # Can't find an md5 file; give up -- if {[file isdirectory "$path/files"]} { -- if {$Options(warn_no_md5)} { -- lappend errs "$pname: '$path/files/md5' not found"; -- } -- } else { -- if {[file isdirectory $path]} { -- if {$Options(warn_no_fdir)} { -- lappend errs "$pname: '$path/files' not found"; -- } -- } else { -- if {$Options(warn_no_port)} { -- lappend errs "$pname: directory missing."; -- } -- } -+ if {$Options(warn_no_port)} { -+ lappend errs "$pname: directory missing."; - } -- continue ; # if no port info, assume it's not wanted - } -+ continue ; # if no port info, assume it's not wanted - } - - # initialise state for this port diff --git a/sysutils/pib/files/patch-tkPort.h b/sysutils/pib/files/patch-tkPort.h deleted file mode 100644 index f06866b80a73..000000000000 --- a/sysutils/pib/files/patch-tkPort.h +++ /dev/null @@ -1,12 +0,0 @@ ---- tkPort.h.orig Wed Apr 13 17:30:58 2005 -+++ tkPort.h Wed Apr 13 17:30:13 2005 -@@ -133,8 +133,6 @@ extern int errno; - * in any other header file. - */ - --extern void panic(); -- - /* - * These functions do nothing under Unix, so we just eliminate calls them. - */ - diff --git a/sysutils/pib/pkg-descr b/sysutils/pib/pkg-descr deleted file mode 100644 index b71d74e66030..000000000000 --- a/sysutils/pib/pkg-descr +++ /dev/null @@ -1,5 +0,0 @@ -The Ports Index Browser provides a quick and powerful means for browsing the -FreeBSD Ports Collection INDEX file and performing related functions. - -It provides an intuitive GUI interface, online help and useful distfile -management functions. diff --git a/sysutils/pib/pkg-plist b/sysutils/pib/pkg-plist deleted file mode 100644 index 5af3e9ca784f..000000000000 --- a/sysutils/pib/pkg-plist +++ /dev/null @@ -1,5 +0,0 @@ -bin/pib -lib/pib/pib.tcl -lib/pib/tkSteal.tcl -lib/pib/libTkSteal.so.2 -@dirrm lib/pib diff --git a/sysutils/pkg-orphan/Makefile b/sysutils/pkg-orphan/Makefile deleted file mode 100644 index 81f8e6a08146..000000000000 --- a/sysutils/pkg-orphan/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# New ports collection makefile for: pkg-orphan -# Date created: 26 November 2005 -# Whom: Victor Semionov <semionov@mail.bg> -# -# $FreeBSD$ -# - -PORTNAME= pkg-orphan -PORTVERSION= 0.1.1 -CATEGORIES= sysutils -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} -MASTER_SITE_SUBDIR=${PORTNAME} - -MAINTAINER= vsemionov@gmail.com -COMMENT= A console utility for managing unreferenced FreeBSD packages - -NO_BUILD= yes -USE_PERL5= yes - -MAN1= pkg-orphan.1 - -PLIST_FILES= sbin/pkg-orphan - -do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/pkg-orphan.pl ${PREFIX}/sbin/pkg-orphan - ${INSTALL_MAN} ${WRKSRC}/pkg-orphan.1 ${MAN1PREFIX}/man/man1 - -.include <bsd.port.mk> diff --git a/sysutils/pkg-orphan/distinfo b/sysutils/pkg-orphan/distinfo deleted file mode 100644 index e71c2ae2136e..000000000000 --- a/sysutils/pkg-orphan/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (pkg-orphan-0.1.1.tar.gz) = 4be6c6921db432177870e6b00aec55ee -SHA256 (pkg-orphan-0.1.1.tar.gz) = a2dc15fd04b7672017fbab32e0f46421b67e6ec6f73db9329f82313ee68aeb21 -SIZE (pkg-orphan-0.1.1.tar.gz) = 5948 diff --git a/sysutils/pkg-orphan/pkg-descr b/sysutils/pkg-orphan/pkg-descr deleted file mode 100644 index 76cd402acbc2..000000000000 --- a/sysutils/pkg-orphan/pkg-descr +++ /dev/null @@ -1,22 +0,0 @@ -pkg-orphan is a console utility for managing orphan, i.e. unreferenced FreeBSD -packages. It finds all or selected orphans and lets the user choose which ones -to remove and which ones to keep. It maintains a keep-list file, so previously -kept packages will be skipped automatically. In batch mode, all packages, not -present in the keep-list are either deleted or kept in the list. - -Since orphan packages are usually much fewer than non-orphan ones, it can be -useful for quickly finding and deleting unused packages, even on a system with -hundreds of them installed. - -Features: - - interactive and batch modes - - maintains a kept package list, to avoid asking for the same package again - - can delete packages recursively, but without deleting shared dependencies or - previously kept packages - - the keep-list file does not contain package versions, so upgrades generally - don't require editing of the file - -WWW: http://sourceforge.net/projects/pkg-orphan/ - -- Victor Semionov -vsemionov@gmail.com diff --git a/sysutils/pkg_cutleaves/Makefile b/sysutils/pkg_cutleaves/Makefile deleted file mode 100644 index e14a3377cc1a..000000000000 --- a/sysutils/pkg_cutleaves/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -# New ports collection makefile for: pkg_cutleaves -# Date created: 27 July 2003 -# Whom: Stefan Walter <sw@gegenunendlich.de> -# -# $FreeBSD$ -# - -PORTNAME= pkg_cutleaves -PORTVERSION= 20061113 -CATEGORIES= sysutils -MASTER_SITES= http://www.gegenunendlich.de/projects/${PORTNAME}/ - -MAINTAINER= stefan@FreeBSD.org -COMMENT= Interactive script for deinstalling 'leaf' packages - -NO_BUILD= yes -USE_PERL5= yes - -WRKSRC= ${WRKDIR}/${PORTNAME} - -MAN1= pkg_cutleaves.1 - -PLIST_FILES= sbin/pkg_cutleaves - -post-patch: - @${REINPLACE_CMD} -e \ - 's,/usr/local/etc/pkg_leaves.exclude,${PREFIX}/etc/pkg_leaves.exclude,' \ - ${WRKSRC}/pkg_cutleaves.1 - @${REINPLACE_CMD} -e \ - 's,/usr/local/etc/pkg_leaves.exclude,${PREFIX}/etc/pkg_leaves.exclude,' \ - ${WRKSRC}/pkg_cutleaves - @${REINPLACE_CMD} -e \ - 's,/usr/sbin/pkg_delete,${PKG_DELETE},' \ - ${WRKSRC}/pkg_cutleaves - @${REINPLACE_CMD} -e \ - 's,/usr/local/sbin/pkgdb,${LOCALBASE}/sbin/pkgdb,' \ - ${WRKSRC}/pkg_cutleaves - @${REINPLACE_CMD} -e \ - 's,/var/db/pkg,${PKG_DBDIR},' \ - ${WRKSRC}/pkg_cutleaves - @${REINPLACE_CMD} -e 's,/usr/bin/perl,${PERL},' \ - ${WRKSRC}/pkg_cutleaves - -do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/pkg_cutleaves ${PREFIX}/sbin/pkg_cutleaves - ${INSTALL_MAN} ${WRKSRC}/pkg_cutleaves.1 ${MAN1PREFIX}/man/man1 - -.include <bsd.port.mk> diff --git a/sysutils/pkg_cutleaves/distinfo b/sysutils/pkg_cutleaves/distinfo deleted file mode 100644 index 3cf70827a11e..000000000000 --- a/sysutils/pkg_cutleaves/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (pkg_cutleaves-20061113.tar.gz) = 5a8f40683f33aaabdfb2215a36c7747c -SHA256 (pkg_cutleaves-20061113.tar.gz) = 130795f1abe381c3a80c3f1af9ffa95fdd4268f9ffeb9d0cf097d1698d0b73c7 -SIZE (pkg_cutleaves-20061113.tar.gz) = 5997 diff --git a/sysutils/pkg_cutleaves/pkg-descr b/sysutils/pkg_cutleaves/pkg-descr deleted file mode 100644 index 7aa045b16eac..000000000000 --- a/sysutils/pkg_cutleaves/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -pkg_cutleaves finds installed 'leaf' packages, i.e. packages that are -not referenced by any other installed package, and lets you decide for -each one if you want to keep or deinstall it (via pkg_deinstall(1)). diff --git a/sysutils/pkg_install-devel/Makefile b/sysutils/pkg_install-devel/Makefile deleted file mode 100644 index 6e7d688b42c0..000000000000 --- a/sysutils/pkg_install-devel/Makefile +++ /dev/null @@ -1,109 +0,0 @@ -# New ports collection makefile for: pkg_install -# Date created: 25 Jan 2004 -# Whom: Oliver Eikemeier -# -# $FreeBSD$ -# - -PORTNAME= pkg_install -PORTVERSION= 20040811 -CATEGORIES= sysutils -MASTER_SITES= ${MASTER_SITE_LOCAL} -MASTER_SITE_SUBDIR= eik -PKGNAMESUFFIX= -devel - -MAINTAINER= clement@FreeBSD.org -COMMENT= Development version of the FreeBSD 5.x package tools - -CONFLICTS= pkg_install-[0-9]* - -MANCOMPRESSED= yes - -MAN1= pkg_add.1 pkg_create.1 pkg_delete.1 \ - pkg_info.1 pkg_version.1 - -PKGREQ= ${WRKDIR}/pkg-req - -.if defined(PREFIX) -.if ${PREFIX} == "/usr" -PKGNAMESUFFIX= -base-devel -.endif -.endif - -BACKUPDIR?= /var/backups - -.if !defined(NOCRYPT) && !defined(NO_OPENSSL) -USE_OPENSSL= yes -MAN1+= pkg_check.1 pkg_sign.1 -PLIST_SUB+= OPENSSL="" -CFLAGS+= -I${OPENSSLINC} -LDFLAGS+= -L${OPENSSLLIB} -.else -MAKE_ARGS= -DNO_OPENSSL -PLIST_SUB+= OPENSSL="@comment " -.endif - -.include <bsd.port.pre.mk> - -.if defined(DFOSVERSION) -PKG_OSVERSION= ${DFOSVERSION} -SED_SCRIPT= -e 's/%%OSVERSIONCHK%%/"$$OSVERSION" -ge 110000/g' -.else -PKG_OSVERSION= ${OSVERSION} -SED_SCRIPT= -e 's/%%OSVERSIONCHK%%/"$$OSVERSION" -ge 491101 -a "$$OSVERSION" -lt 500000 -o "$$OSVERSION" -ge 502120/g' -.endif - -pre-everything:: - @${ECHO} "=======================================================================================" - @${ECHO} - @${ECHO} "Build ${PKGNAME} with PREFIX=/usr to replace the base package tools" - @${ECHO} - @${ECHO} "=======================================================================================" - -.if !defined(DFOSVERSION) && ${OSVERSION} < 460102 -check-already-installed: -.if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER) - @if [ -d ${PKG_DBDIR}/${PKGNAME} ]; then \ - ${ECHO_CMD} "===> ${PKGNAME} is already installed - perhaps an older version?"; \ - ${ECHO_CMD} " If so, you may wish to \`\`make deinstall'' and install"; \ - ${ECHO_CMD} " this port again by \`\`make reinstall'' to upgrade it properly."; \ - ${ECHO_CMD} " If you really wish to overwrite the old port of ${PKGNAME}"; \ - ${ECHO_CMD} " without deleting it first, set the variable \"FORCE_PKG_REGISTER\""; \ - ${ECHO_CMD} " in your environment or the \"make install\" command line."; \ - exit 1; \ - fi -.else - @${DO_NADA} -.endif -.endif - -pre-configure: - @${SED} -e 's|%%PREFIX%%|${PREFIX}|g' \ - -e 's|%%MANPREFIX%%|${MANPREFIX}|g' \ - ${FILESDIR}/Makefile.inc > ${WRKDIR}/Makefile.inc - -# __FBSDID is undefied for old FreeBSD versions and DragonFlyBSD -.if defined(DFOSVERSION) || ${OSVERSION} < 440001 || ${OSVERSION} >= 500000 && ${OSVERSION} < 500024 -post-patch: - @${FIND} ${WRKSRC} -name '*.c' \ - | ${XARGS} ${PERL} -pi.orig -e 's/__FBSDID\(("[^"]*")\)/static const char rcsid[] = $$1/' -.endif - -post-build: - @${SED} ${SED_SCRIPT} ${PKGDIR}/pkg-req >${WRKDIR}/pkg-req - -.if !defined(PACKAGE_BUILDING) -pre-install: - @${SETENV} PKG_PREFIX=${PREFIX:Q} OSVERSION=${PKG_OSVERSION:Q} ${SH} ${PKGREQ} ${PKGNAME} INSTALL -.endif - -# Call pkg-install in `do-install:' instead of `pre-install:' because it might -# deinstall pkg_info, which is fatal during `check-already-installed:'. -do-install: - ${SETENV} PKG_PREFIX=${PREFIX:Q} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL - @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) - -test: build - @(cd ${BUILD_WRKSRC}/version && ${SH} test-pkg_version.sh) - -.include <bsd.port.post.mk> diff --git a/sysutils/pkg_install-devel/distinfo b/sysutils/pkg_install-devel/distinfo deleted file mode 100644 index bb4af1ce463d..000000000000 --- a/sysutils/pkg_install-devel/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (pkg_install-20040811.tar.gz) = d95f6a6a11cfba51cd4ea451f444ae47 -SHA256 (pkg_install-20040811.tar.gz) = c7c0f67e52c2758272a4e81d8dcb4ac1eaaf314bac677cf8f1026b22baad7367 -SIZE (pkg_install-20040811.tar.gz) = 88003 diff --git a/sysutils/pkg_install-devel/files/Makefile.inc b/sysutils/pkg_install-devel/files/Makefile.inc deleted file mode 100644 index 3f26acacff36..000000000000 --- a/sysutils/pkg_install-devel/files/Makefile.inc +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -BINDIR=%%PREFIX%%/sbin -MANDIR=%%MANPREFIX%%/man/man diff --git a/sysutils/pkg_install-devel/pkg-deinstall b/sysutils/pkg_install-devel/pkg-deinstall deleted file mode 100644 index 32c71c3ad15f..000000000000 --- a/sysutils/pkg_install-devel/pkg-deinstall +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -PAX=/bin/pax -ECHO_CMD=echo -RM=/bin/rm -BACKUPDIR=/var/backups - -PREFIX=${PKG_PREFIX:-/usr/local} -if [ "${PREFIX}" = "/usr" ]; then - MANPREFIX="${TARGETDIR}/share" -else - MANPREFIX="${TARGETDIR}" -fi - -case $2 in -POST-DEINSTALL) - if [ "${PREFIX}" = "/usr" ]; then - if [ -e "${BACKUPDIR}/pkg_install.tgz" ]; then - ${PAX} -r -pe -z -f "${BACKUPDIR}/pkg_install.tgz" - ${RM} "${BACKUPDIR}/pkg_install.tgz" - ${ECHO_CMD} "===> Base pkg_install restored." - fi - fi - ;; -esac diff --git a/sysutils/pkg_install-devel/pkg-descr b/sysutils/pkg_install-devel/pkg-descr deleted file mode 100644 index abe2ae1d30b3..000000000000 --- a/sysutils/pkg_install-devel/pkg-descr +++ /dev/null @@ -1,17 +0,0 @@ -Development version of the FreeBSD 5.x pkg_install suite of tools - -This version fixes some bugs of the -CURRENT tools. You should -only install it it you have problems with the current version -or want to test the new features. - -If you want to replace the base system tools, install via: - make install PREFIX=/usr -You can revert to the normal tools simply by uninstalling the -port or restoring them with: - cd /usr/src/usr.sbin/pkg_install; make install -if you have the sources installed. - -WWW: http://cvs.sf.net/viewcvs.py/portaudit/pkg_install/ - --- Oliver Eikemeier -eik@FreeBSD.org diff --git a/sysutils/pkg_install-devel/pkg-install b/sysutils/pkg_install-devel/pkg-install deleted file mode 100644 index f29172829e88..000000000000 --- a/sysutils/pkg_install-devel/pkg-install +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -PAX=/bin/pax -ECHO_CMD=echo -MKDIR="/bin/mkdir -p" -RM=/bin/rm -BACKUPDIR=/var/backups - -TOOLS="add check create delete info sign update version" - -PREFIX=${PKG_PREFIX:-/usr/local} -if [ "${PREFIX}" = "/usr" ]; then - MANPREFIX="${TARGETDIR}/share" -else - MANPREFIX="${TARGETDIR}" -fi - -case $2 in -PRE-INSTALL) - if [ "${PREFIX}" = "/usr" ]; then - if [ -e "${BACKUPDIR}/pkg_install.tgz" ]; then - ${ECHO_CMD} "===> Please remove \`\`${BACKUPDIR}/pkg_install.tgz'' manually." - exit 1 - fi - if [ "${PREFIX}" = "/usr" ]; then - files="" - for tool in ${TOOLS}; do - if [ -e "${PREFIX}/sbin/pkg_${tool}" ]; then - files="${files} ${PREFIX}/sbin/pkg_${tool}" - fi - if [ -e "${MANPREFIX}/man/man1/pkg_${tool}.1.gz" ]; then - files="${files} ${MANPREFIX}/man/man1/pkg_${tool}.1.gz" - ${RM} -f "${MANPREFIX}/man/cat1/pkg_${tool}.1.gz" - fi - done - ${MKDIR} ${BACKUPDIR} - ${PAX} -w -z -f "${BACKUPDIR}/pkg_install.tgz" ${files} - ${RM} -f ${files} - ${ECHO_CMD} "===> Base pkg_install saved." - fi - fi - ;; -esac diff --git a/sysutils/pkg_install-devel/pkg-plist b/sysutils/pkg_install-devel/pkg-plist deleted file mode 100644 index 565e68ca0ecf..000000000000 --- a/sysutils/pkg_install-devel/pkg-plist +++ /dev/null @@ -1,7 +0,0 @@ -sbin/pkg_add -%%OPENSSL%%sbin/pkg_check -sbin/pkg_create -sbin/pkg_delete -sbin/pkg_info -%%OPENSSL%%sbin/pkg_sign -sbin/pkg_version diff --git a/sysutils/pkg_install-devel/pkg-req b/sysutils/pkg_install-devel/pkg-req deleted file mode 100644 index caf4ed361cf9..000000000000 --- a/sysutils/pkg_install-devel/pkg-req +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -if [ -z "$OSVERSION" ]; then - if [ -x /sbin/sysctl ]; then - OSVERSION=`/sbin/sysctl -n kern.osreldate` - else - OSVERSION=`/usr/sbin/sysctl -n kern.osreldate` - fi -fi - -case $2 in -INSTALL) - if [ %%OSVERSIONCHK%% ]; then - echo "$1: Your base pkg_install tools are already up-to-date." - exit 1 - fi - ;; -esac diff --git a/sysutils/pkg_install/Makefile b/sysutils/pkg_install/Makefile deleted file mode 100644 index 069bdd76c2cf..000000000000 --- a/sysutils/pkg_install/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# New ports collection makefile for: pkg_install -# Date created: 14 Jul 2003 -# Whom: Oliver Eikemeier -# -# $FreeBSD$ -# - -PORTNAME= pkg_install -PORTVERSION= 20060113 -CATEGORIES= sysutils -MASTER_SITES= ${MASTER_SITE_LOCAL} \ - http://people.FreeBSD.org/~marcus/ -MASTER_SITE_SUBDIR= marcus - -MAINTAINER= portmgr@freebsd.org -COMMENT= FreeBSD -CURRENT version of the pkg tools for older system releases - -MANCOMPRESSED= yes - -MAN1= pkg_add.1 pkg_create.1 pkg_delete.1 \ - pkg_info.1 pkg_version.1 - -MAKE_ARGS= -DNOOBJ -DNOCRYPT -DNO_OPENSSL - -.include <bsd.port.pre.mk> - -.if ${OSVERSION} < 460102 -check-already-installed: -.if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER) - @if [ -d ${PKG_DBDIR}/${PKGNAME} ]; then \ - ${ECHO_CMD} "===> ${PKGNAME} is already installed - perhaps an older version?"; \ - ${ECHO_CMD} " If so, you may wish to \`\`make deinstall'' and install"; \ - ${ECHO_CMD} " this port again by \`\`make reinstall'' to upgrade it properly."; \ - ${ECHO_CMD} " If you really wish to overwrite the old port of ${PKGNAME}"; \ - ${ECHO_CMD} " without deleting it first, set the variable \"FORCE_PKG_REGISTER\""; \ - ${ECHO_CMD} " in your environment or the \"make install\" command line."; \ - exit 1; \ - fi -.else - @${DO_NADA} -.endif -.endif - -pre-configure: - @${SED} -e 's,%%PREFIX%%,${PREFIX},g' \ - -e 's,%%MANPREFIX%%,${MANPREFIX},g' \ - ${FILESDIR}/Makefile.inc > ${WRKDIR}/Makefile.inc - -post-patch: -.if ${OSVERSION} < 440001 || ( ${OSVERSION} >= 500000 && ${OSVERSION} < 500024 ) - @${FIND} ${WRKSRC} -name '*.c' \ - | ${XARGS} ${PERL} -pi.orig -e 's/__FBSDID\(("[^"]*")\)/static const char rcsid[] = $$1/' -.endif - -deinstall: - @if ${PKG_INFO} -e ${PKGNAME}; then \ - ${PKG_DELETE} -f ${PKGNAME}; \ - else \ - ${ECHO_MSG} "===> ${PKGNAME} not installed; skipping"; \ - fi - @${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE} - -.include <bsd.port.post.mk> diff --git a/sysutils/pkg_install/distinfo b/sysutils/pkg_install/distinfo deleted file mode 100644 index 15cd8d9f157c..000000000000 --- a/sysutils/pkg_install/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (pkg_install-20060113.tar.gz) = c9668c92370637bea76afcb2c40a441e -SHA256 (pkg_install-20060113.tar.gz) = f1e17d29be6206de5012b64b0eec3095ed5d9a2af1b52c9597867e118d8aa356 -SIZE (pkg_install-20060113.tar.gz) = 89977 diff --git a/sysutils/pkg_install/files/Makefile.inc b/sysutils/pkg_install/files/Makefile.inc deleted file mode 100644 index 3f26acacff36..000000000000 --- a/sysutils/pkg_install/files/Makefile.inc +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -BINDIR=%%PREFIX%%/sbin -MANDIR=%%MANPREFIX%%/man/man diff --git a/sysutils/pkg_install/files/patch-Makefile.inc b/sysutils/pkg_install/files/patch-Makefile.inc deleted file mode 100644 index 2f032e6e7d86..000000000000 --- a/sysutils/pkg_install/files/patch-Makefile.inc +++ /dev/null @@ -1,15 +0,0 @@ ---- Makefile.inc.orig Tue Dec 21 05:16:03 2004 -+++ Makefile.inc Sat Feb 26 17:02:17 2005 -@@ -7,9 +7,11 @@ - .endif - - .if !defined(NO_CRYPT) && !defined(NO_OPENSSL) && \ -- defined(LDADD) && ${LDADD:M-lfetch} != "" -+ defined(LDADD) -+.if ${LDADD:M-lfetch} != "" - DPADD+= ${LIBSSL} ${LIBCRYPTO} - LDADD+= -lssl -lcrypto -+.endif - .endif - - # Inherit BINDIR from one level up. diff --git a/sysutils/pkg_install/files/patch-lib_Makefile b/sysutils/pkg_install/files/patch-lib_Makefile deleted file mode 100644 index 08886b2b87a6..000000000000 --- a/sysutils/pkg_install/files/patch-lib_Makefile +++ /dev/null @@ -1,19 +0,0 @@ ---- lib/Makefile.orig Sun Oct 24 11:33:07 2004 -+++ lib/Makefile Sat Feb 26 17:03:27 2005 -@@ -1,11 +1,15 @@ - # $FreeBSD: /tmp/pcvs/ports/sysutils/pkg_install/files/Attic/patch-lib_Makefile,v 1.4 2005-02-26 22:06:42 marcus Exp $ - - LIB= install --INTERNALLIB= - SRCS= file.c msg.c plist.c str.c exec.c global.c pen.c match.c \ - deps.c version.c pkgwrap.c url.c -+NOPROFILE= yes -+NOPIC= yes - - WARNS?= 3 - WFORMAT?= 1 -+ -+install: -+ @echo -n - - .include <bsd.lib.mk> diff --git a/sysutils/pkg_install/pkg-descr b/sysutils/pkg_install/pkg-descr deleted file mode 100644 index eeac25195052..000000000000 --- a/sysutils/pkg_install/pkg-descr +++ /dev/null @@ -1,6 +0,0 @@ -FreeBSD -CURRENT version of the pkg_install suite of tools for doing -maintainance of software packages. - -This is mainly useful on FreeBSD systems <= 4.10. - -WWW: http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.sbin/pkg_install/ diff --git a/sysutils/pkg_install/pkg-plist b/sysutils/pkg_install/pkg-plist deleted file mode 100644 index f4c62b027a74..000000000000 --- a/sysutils/pkg_install/pkg-plist +++ /dev/null @@ -1,5 +0,0 @@ -sbin/pkg_add -sbin/pkg_create -sbin/pkg_delete -sbin/pkg_info -sbin/pkg_version diff --git a/sysutils/pkg_remove/Makefile b/sysutils/pkg_remove/Makefile deleted file mode 100644 index 944303a7ba87..000000000000 --- a/sysutils/pkg_remove/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -# New ports collection makefile for: pkg_remove -# Date created: 8 Jan 2000 -# Whom: NAKAJI Hiroyuki <nakaji@tutrp.tut.ac.jp> -# -# $FreeBSD$ -# - -PORTNAME= pkg_remove -PORTVERSION= 1.1 -CATEGORIES= sysutils -MASTER_SITES= # none -DISTFILES= # none - -MAINTAINER= nakaji@jp.freebsd.org -COMMENT= Utility to uninstall packages - -NO_BUILD= yes -NO_WRKSUBDIR= yes - -PLIST_FILES= bin/pkg_remove -SRC= ${.CURDIR}/src - -do-fetch: - @${DO_NADA} - -do-install: - ${INSTALL_SCRIPT} ${SRC}/pkg_remove.txt ${PREFIX}/bin/pkg_remove - -.include <bsd.port.mk> diff --git a/sysutils/pkg_remove/pkg-descr b/sysutils/pkg_remove/pkg-descr deleted file mode 100644 index 84f68848781d..000000000000 --- a/sysutils/pkg_remove/pkg-descr +++ /dev/null @@ -1,18 +0,0 @@ -Utility to uninstall packages. -Unlike pkg_delete, pkg_remove removes all packages which depend to -the packages you specify, in proper order, by one command line. - -For example: -# pkg_remove netscape - Remove all netscape related packages. -# pkg_remove xemacs - Same as above about xemacs. -# pkg_remove tiff - Remove tiff library and whole packages which use it. -# pkg_remove '^ja-' - Remove all japanese packages. -# pkg_remove ALL - Remove all packages. - -- SADA Kenji -sada@FreeBSD.org diff --git a/sysutils/pkg_remove/src/pkg_remove.txt b/sysutils/pkg_remove/src/pkg_remove.txt deleted file mode 100644 index f45f81c7bfff..000000000000 --- a/sysutils/pkg_remove/src/pkg_remove.txt +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/perl -# $Id: pkg_remove,v 1.3 1999/11/06 15:47:49 sada Exp $ -use Getopt::Std; -getopts('n'); -die("usage: x [-n] ALL | <package-name> [, <package-name> [..]]\n -n : only tell what will take place.\n") if (@ARGV < 1); -$pkg_dbdir = "/var/db/pkg"; -opendir(PKG_DBDIR, $pkg_dbdir); -while ($pkg = readdir(PKG_DBDIR)) { - next if $pkg =~ m/^\./; - $req_by{$pkg} = ''; - if (-f "$pkg_dbdir/$pkg/+REQUIRED_BY") { - open(REQ_B, "$pkg_dbdir/$pkg/+REQUIRED_BY"); - $req_by{$pkg} = join('', <REQ_B>); - } -} -while ($a = shift) { - while (($key, $val) = each(%req_by)) { - if ($a eq 'ALL' || $key =~ m/$a/) { - &remove_package($key); - } - } -} - -sub remove_package -{ - my ($pkg) = @_; - return if ($pkg_removed{$pkg}); - my @r = split(/\n/, $req_by{$pkg}); - my $p; - &remove_package($p) while $p = shift(@r); - print "remove: $pkg\n"; - system "pkg_delete $pkg" unless ($opt_n); - $pkg_removed{$pkg} = 'YES'; -} diff --git a/sysutils/pkg_rmleaves/Makefile b/sysutils/pkg_rmleaves/Makefile deleted file mode 100644 index 3780d2d46bf1..000000000000 --- a/sysutils/pkg_rmleaves/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# New ports collection makefile for: pkg_rmleaves -# Date created: 26 December 2004 -# Whom: Timothy Redaelli <drizzt@gufi.org> -# -# $FreeBSD$ -# - -PORTNAME= pkg_rmleaves -PORTVERSION= 20050922 -CATEGORIES= sysutils -MASTER_SITES= http://utenti.gufi.org/~drizzt/codes/ports/${PORTNAME}/ - -MAINTAINER= drizzt@gufi.org -COMMENT= Interactive script for deinstalling 'leaf' packages - -NO_BUILD= yes - -WRKSRC= ${WRKDIR}/${PORTNAME} - -MAN1= pkg_rmleaves.1 - -PLIST_FILES= sbin/pkg_rmleaves - -do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/pkg_rmleaves ${PREFIX}/sbin/pkg_rmleaves - ${INSTALL_MAN} ${WRKSRC}/pkg_rmleaves.1 ${MAN1PREFIX}/man/man1 - -.include <bsd.port.mk> diff --git a/sysutils/pkg_rmleaves/distinfo b/sysutils/pkg_rmleaves/distinfo deleted file mode 100644 index 4ee435288006..000000000000 --- a/sysutils/pkg_rmleaves/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (pkg_rmleaves-20050922.tar.gz) = 8d701666cb440cf4447b8a882221aada -SHA256 (pkg_rmleaves-20050922.tar.gz) = 624d29588d6456bf0082216bf5a10f6955056a4d2cb958b6b7a39d999e4afb08 -SIZE (pkg_rmleaves-20050922.tar.gz) = 2571 diff --git a/sysutils/pkg_rmleaves/pkg-descr b/sysutils/pkg_rmleaves/pkg-descr deleted file mode 100644 index 18db9a6e3cec..000000000000 --- a/sysutils/pkg_rmleaves/pkg-descr +++ /dev/null @@ -1,3 +0,0 @@ -pkg_rmleaves finds packages that are not requested by any other installed -package and lets you decide (in a beauty dialog interface) for each one -if you want to keep it or delete it. diff --git a/sysutils/pkg_trackinst/Makefile b/sysutils/pkg_trackinst/Makefile deleted file mode 100644 index 1d483e7e4124..000000000000 --- a/sysutils/pkg_trackinst/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# New ports collection makefile for: pkg_trackinst -# Date created: 3 May 2005 -# Whom: Hye-Shik Chang <perky@FreeBSD.org> -# -# $FreeBSD$ - -PORTNAME= pkg_trackinst -PORTVERSION= 1.2.3 -CATEGORIES= sysutils -MASTER_SITES= http://people.freebsd.org/~perky/distfiles/ - -MAINTAINER= perky@FreeBSD.org -COMMENT= PkgDB/pkg-plist generator by tracking installation - -USE_PYTHON= 2.3+ -MAKE_ENV= PYTHON_CMD=${PYTHON_CMD} - -.include <bsd.port.pre.mk> - -.if ${OSVERSION} < 501105 -IGNORE= requires dynamically-linked base programs -.endif - -post-patch: - ${REINPLACE_CMD} 's,/usr/local,${PREFIX},g' \ - ${WRKSRC}/PkgTrackInst/cmd_support.py - -.include <bsd.port.post.mk> diff --git a/sysutils/pkg_trackinst/distinfo b/sysutils/pkg_trackinst/distinfo deleted file mode 100644 index d064fcef7ddb..000000000000 --- a/sysutils/pkg_trackinst/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (pkg_trackinst-1.2.3.tar.gz) = 5f9862a4c0c99290b589f6102823c289 -SHA256 (pkg_trackinst-1.2.3.tar.gz) = dba8eaff03f848c3ea591d152c353d3023a0792696cd55b8bbcf0cded8bba641 -SIZE (pkg_trackinst-1.2.3.tar.gz) = 14273 diff --git a/sysutils/pkg_trackinst/pkg-descr b/sysutils/pkg_trackinst/pkg-descr deleted file mode 100644 index 8a269dee84b4..000000000000 --- a/sysutils/pkg_trackinst/pkg-descr +++ /dev/null @@ -1,13 +0,0 @@ -This package provides two commands: - - * pkg_trackinst: - Tracks installation of unpackaged software and writes pkgdb - entry using the install log. Then, it also creates a binary - package for the installed package. - - * pkg_genplist: - Tests a port installation and generates `pkg-plist' of a port - in current directory. - - * pkg_checkplist: - Tests a port installation and checks `pkg-plist' errors. diff --git a/sysutils/pkg_trackinst/pkg-plist b/sysutils/pkg_trackinst/pkg-plist deleted file mode 100644 index f59afb8697d3..000000000000 --- a/sysutils/pkg_trackinst/pkg-plist +++ /dev/null @@ -1,41 +0,0 @@ -bin/pkg_checkplist -bin/pkg_genplist -bin/pkg_trackinst -lib/insthook.so -%%PYTHON_SITELIBDIR%%/PkgTrackInst/InstallSession.py -%%PYTHON_SITELIBDIR%%/PkgTrackInst/InstallSession.pyc -%%PYTHON_SITELIBDIR%%/PkgTrackInst/InstallSession.pyo -%%PYTHON_SITELIBDIR%%/PkgTrackInst/PkgDbInfoForm.py -%%PYTHON_SITELIBDIR%%/PkgTrackInst/PkgDbInfoForm.pyc -%%PYTHON_SITELIBDIR%%/PkgTrackInst/PkgDbInfoForm.pyo -%%PYTHON_SITELIBDIR%%/PkgTrackInst/PkgDbWriter.py -%%PYTHON_SITELIBDIR%%/PkgTrackInst/PkgDbWriter.pyc -%%PYTHON_SITELIBDIR%%/PkgTrackInst/PkgDbWriter.pyo -%%PYTHON_SITELIBDIR%%/PkgTrackInst/PlistWriter.py -%%PYTHON_SITELIBDIR%%/PkgTrackInst/PlistWriter.pyc -%%PYTHON_SITELIBDIR%%/PkgTrackInst/PlistWriter.pyo -%%PYTHON_SITELIBDIR%%/PkgTrackInst/TerminalSlider.py -%%PYTHON_SITELIBDIR%%/PkgTrackInst/TerminalSlider.pyc -%%PYTHON_SITELIBDIR%%/PkgTrackInst/TerminalSlider.pyo -%%PYTHON_SITELIBDIR%%/PkgTrackInst/Trackers.py -%%PYTHON_SITELIBDIR%%/PkgTrackInst/Trackers.pyc -%%PYTHON_SITELIBDIR%%/PkgTrackInst/Trackers.pyo -%%PYTHON_SITELIBDIR%%/PkgTrackInst/__init__.py -%%PYTHON_SITELIBDIR%%/PkgTrackInst/__init__.pyc -%%PYTHON_SITELIBDIR%%/PkgTrackInst/__init__.pyo -%%PYTHON_SITELIBDIR%%/PkgTrackInst/checkplist_main.py -%%PYTHON_SITELIBDIR%%/PkgTrackInst/checkplist_main.pyc -%%PYTHON_SITELIBDIR%%/PkgTrackInst/checkplist_main.pyo -%%PYTHON_SITELIBDIR%%/PkgTrackInst/cmd_support.py -%%PYTHON_SITELIBDIR%%/PkgTrackInst/cmd_support.pyc -%%PYTHON_SITELIBDIR%%/PkgTrackInst/cmd_support.pyo -%%PYTHON_SITELIBDIR%%/PkgTrackInst/compat23.py -%%PYTHON_SITELIBDIR%%/PkgTrackInst/compat23.pyc -%%PYTHON_SITELIBDIR%%/PkgTrackInst/compat23.pyo -%%PYTHON_SITELIBDIR%%/PkgTrackInst/genplist_main.py -%%PYTHON_SITELIBDIR%%/PkgTrackInst/genplist_main.pyc -%%PYTHON_SITELIBDIR%%/PkgTrackInst/genplist_main.pyo -%%PYTHON_SITELIBDIR%%/PkgTrackInst/main.py -%%PYTHON_SITELIBDIR%%/PkgTrackInst/main.pyc -%%PYTHON_SITELIBDIR%%/PkgTrackInst/main.pyo -@dirrm %%PYTHON_SITELIBDIR%%/PkgTrackInst diff --git a/sysutils/pkg_tree/Makefile b/sysutils/pkg_tree/Makefile deleted file mode 100644 index 87841c41d6a3..000000000000 --- a/sysutils/pkg_tree/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# New ports collection makefile for: pkg_tree -# Date created: 24 September 2001 -# Whom: Edwin Groothuis (edwin@mavetju.org) -# -# $FreeBSD$ -# - -PORTNAME= pkg_tree -PORTVERSION= 1.1 -PORTREVISION= 1 -CATEGORIES= sysutils -MASTER_SITES= http://www.mavetju.org/download/ - -MAINTAINER= edwin@mavetju.org -COMMENT= Get a 'graphical' tree-overview of installed packages - -USE_PERL5= yes - -MAN7= pkg_tree.7 -PLIST_FILES= bin/pkg_tree - -post-patch: - @${REINPLACE_CMD} -e 's|__PREFIX__|${PREFIX}|g ; \ - s|__INSTALL_MAN__|${INSTALL_MAN}|g ; \ - s|__INSTALL_SCRIPT__|${INSTALL_SCRIPT}|g' ${WRKSRC}/Makefile - -.include <bsd.port.mk> diff --git a/sysutils/pkg_tree/distinfo b/sysutils/pkg_tree/distinfo deleted file mode 100644 index f0af29c7dfea..000000000000 --- a/sysutils/pkg_tree/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (pkg_tree-1.1.tar.gz) = b41c4a28a7ed727962bb137914f81030 -SHA256 (pkg_tree-1.1.tar.gz) = f82a68ab0fda053654cc35a0864b55a9529287f58017b4a1b500e91076a458be -SIZE (pkg_tree-1.1.tar.gz) = 5006 diff --git a/sysutils/pkg_tree/files/patch-Makefile b/sysutils/pkg_tree/files/patch-Makefile deleted file mode 100644 index 5caa17d2e87d..000000000000 --- a/sysutils/pkg_tree/files/patch-Makefile +++ /dev/null @@ -1,13 +0,0 @@ ---- Makefile.orig Wed Dec 12 23:06:13 2001 -+++ Makefile Wed Dec 12 23:07:35 2001 -@@ -11,8 +11,8 @@ - --date="December 15, 2001" pkg_tree.pod > pkg_tree.7 - - install: -- install -o root -g wheel -m 755 -c pkg_tree /usr/local/bin -- install -o root -g wheel -m 644 -c pkg_tree.7 /usr/local/man/man7 -+ __INSTALL_SCRIPT__ pkg_tree __PREFIX__/bin -+ __INSTALL_MAN__ pkg_tree.7 __PREFIX__/man/man7 - - clean: - rm pkg_tree.7 diff --git a/sysutils/pkg_tree/files/patch-pkg_tree b/sysutils/pkg_tree/files/patch-pkg_tree deleted file mode 100644 index b2b81728e81b..000000000000 --- a/sysutils/pkg_tree/files/patch-pkg_tree +++ /dev/null @@ -1,65 +0,0 @@ ---- pkg_tree.orig Wed Dec 12 13:44:40 2001 -+++ pkg_tree Mon Jan 6 23:02:31 2003 -@@ -26,7 +26,7 @@ - # updated by a newer version. In case of tcl-8.3.3_3, this is tcl-8.3.3_4. - # - # PKG-TREE is (c) Edwin Groothuis, edwin@mavetju.org --# For license issues, see the file LICESE. -+# For license issues, see the file LICENSE. - # For more information, see the website: http://www.mavetju.org - # - -@@ -34,10 +34,13 @@ - - use Getopt::Std; - --use vars qw/ $opt_v /; -+use vars qw/ $opt_b $opt_q $opt_t $opt_v /; - - $opt_v=0; --getopts("v"); -+$opt_t=0; -+$opt_b=0; -+$opt_q=0; -+getopts("bqtv"); - - my $PKGDIR="/var/db/pkg"; - -@@ -46,6 +49,7 @@ - closedir DIR; - - @dirs=grep !/^\./,@dirs; -+@dirs=grep !/^pkgdb.db$/,@dirs; - @dirs=sort @dirs; - - my @args=@ARGV; -@@ -150,8 +154,10 @@ - } - next if (!$found); - } -+ next if ($opt_t && $required{$pkg}[0]!=0); -+ next if ($opt_b && $requires{$pkg}[0]!=0); - print "$pkg\n"; -- if ($requires{$pkg}[0]!=0) { -+ if (!$opt_q && $requires{$pkg}[0]!=0) { - print_deps("|"," ",1,$pkg); - } - } ---- patch-aa ends here --- - ---- patch-ab begins here --- ---- pkg_tree.pod.orig Wed Dec 12 13:44:40 2001 -+++ pkg_tree.pod Mon Jan 6 23:20:49 2003 -@@ -53,6 +53,12 @@ - |\__ freetype2-2.0.5 - \__ XFree86-libraries-4.1.0 (unknown) - -+Use the B<-t> parameter to show only top level packages, -+and B<-b> to show only bottom level packages. And B<-t> B<-q> -+together will give the list of top level packages without their -+dependencies, installing only these packages should install all -+currently installed packages. -+ - =head1 RETURN VALUES - - Always 0. diff --git a/sysutils/pkg_tree/pkg-descr b/sysutils/pkg_tree/pkg-descr deleted file mode 100644 index 4c214909ec25..000000000000 --- a/sysutils/pkg_tree/pkg-descr +++ /dev/null @@ -1,13 +0,0 @@ -Get a 'graphical' tree-overview of installed packages - -Generates a ascii-art-graphical tree of packages and their dependancies. -For example for itk-3.2_1: - - [~] edwin@k7>pkg_tree tk-8 - tk-8.3.3 - |\__ tcl-8.3.3_3 (unknown) - |\__ imake-4.1.0 (unknown) - |\__ freetype2-2.0.4 - \__ XFree86-libraries-4.1.0 (unknown) - -WWW: http://www.mavetju.org/ diff --git a/sysutils/pkgfe/Makefile b/sysutils/pkgfe/Makefile deleted file mode 100644 index 5d9bf2ddf27a..000000000000 --- a/sysutils/pkgfe/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# New ports collection makefile for: pkgfe -# Date created: 2006-01-14 -# Whom: Sulev-Madis Silber <madis555@hot.ee> -# -# $FreeBSD$ -# - -PORTNAME= pkgfe -PORTVERSION= 20061204 -CATEGORIES= sysutils -MASTER_SITES= http://helpfreebsd.net/pkgfe/releases/ \ - http://kodu.neti.ee/~madis555/pkgfe/releases/ \ - http://ketas.life.ee/pkgfe/releases/ \ - http://ketas.si.pri.ee/pkgfe/releases/ \ - http://pkgfe2.si.pri.ee/pkgfe/releases/ - -MAINTAINER= madis555@hot.ee -COMMENT= Ncurses frontend for ports collection - -RUN_DEPENDS= portupgrade:${PORTSDIR}/sysutils/portupgrade \ - portaudit:${PORTSDIR}/security/portaudit - -MAN8= pkgfe.8 - -.include <bsd.port.pre.mk> - -.if ${OSVERSION} < 600033 && ( ${OSVERSION} < 504103 || ${OSVERSION} > 600000 ) -RUN_DEPENDS+= portsnap:${PORTSDIR}/sysutils/portsnap -.endif - -NO_BUILD= yes - -do-install: - ${REINPLACE_CMD} -e 's|%PREFIX%|${PREFIX}|g' ${WRKSRC}/pkgfe - ${INSTALL_SCRIPT} ${WRKSRC}/pkgfe ${PREFIX}/sbin/pkgfe - ${INSTALL_DATA} ${WRKSRC}/pkgfe.conf ${PREFIX}/etc/pkgfe.conf.sample - ${INSTALL_MAN} ${WRKSRC}/pkgfe.8 ${PREFIX}/man/man8 - -post-install: - @if [ ! -f ${PREFIX}/etc/pkgfe.conf ]; then \ - ${CP} -p ${PREFIX}/etc/pkgfe.conf.sample ${PREFIX}/etc/pkgfe.conf ; \ - fi - -.include <bsd.port.post.mk> diff --git a/sysutils/pkgfe/distinfo b/sysutils/pkgfe/distinfo deleted file mode 100644 index 65fc2baf48b8..000000000000 --- a/sysutils/pkgfe/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (pkgfe-20061204.tar.gz) = 7b698788e5fbbd0b378e24e308b39897 -SHA256 (pkgfe-20061204.tar.gz) = bef09c0daa4508c14a7e0909ed74fd96088e4b086a1c6726a7cd4fdeabbc53b9 -SIZE (pkgfe-20061204.tar.gz) = 7099 diff --git a/sysutils/pkgfe/pkg-descr b/sysutils/pkgfe/pkg-descr deleted file mode 100644 index c5bbe9733173..000000000000 --- a/sysutils/pkgfe/pkg-descr +++ /dev/null @@ -1,5 +0,0 @@ -Package Frontend is a ncurses based, graphical frontend for -the FreeBSD ports collection. - -Author: Sulev-Madis Silber <madis555@hot.ee> -WWW: http://helpfreebsd.net/pkgfe/ diff --git a/sysutils/pkgfe/pkg-plist b/sysutils/pkgfe/pkg-plist deleted file mode 100644 index 273713147e4e..000000000000 --- a/sysutils/pkgfe/pkg-plist +++ /dev/null @@ -1,4 +0,0 @@ -sbin/pkgfe -@unexec if cmp -s %D/etc/pkgfe.conf.sample %D/etc/pkgfe.conf; then rm -f %D/etc/pkgfe.conf; fi -etc/pkgfe.conf.sample -@exec if [ ! -f %B/pkgfe.conf ]; then cp -p %D/%F %B/pkgfe.conf; fi diff --git a/sysutils/port-authoring-tools/Makefile b/sysutils/port-authoring-tools/Makefile deleted file mode 100644 index ec3939be0205..000000000000 --- a/sysutils/port-authoring-tools/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -# New ports collection makefile for: port-authoring-tools -# Date created: 3 April 2004 -# Whom: Mark Linimon <linimon@FreeBSD.org> -# -# $FreeBSD$ -# - -PORTNAME= port-authoring-tools -PORTVERSION= 1.0 -CATEGORIES= sysutils -MASTER_SITES= # empty -DISTFILES= # empty -EXTRACT_ONLY= # empty - -MAINTAINER= linimon@FreeBSD.org -COMMENT= "meta-port" for tools to test and submit changes to ports - -# note: portlint is brought in by porttools -RUN_DEPENDS= \ - ${LOCALBASE}/bin/cvsup:${PORTSDIR}/net/cvsup-without-gui \ - ${LOCALBASE}/bin/fastest_cvsup:${PORTSDIR}/sysutils/fastest_cvsup \ - ${LOCALBASE}/sbin/libchk:${PORTSDIR}/sysutils/libchk \ - ${LOCALBASE}/bin/port:${PORTSDIR}/devel/porttools - -NO_BUILD= yes - -do-install: # empty - -.include <bsd.port.mk> diff --git a/sysutils/port-authoring-tools/pkg-descr b/sysutils/port-authoring-tools/pkg-descr deleted file mode 100644 index c2c9017f93cb..000000000000 --- a/sysutils/port-authoring-tools/pkg-descr +++ /dev/null @@ -1,2 +0,0 @@ -Here is a meta-port for a set of tools that will help port maintainers -to test and submit changes to the FreeBSD Ports Collection. diff --git a/sysutils/port-maintenance-tools/Makefile b/sysutils/port-maintenance-tools/Makefile deleted file mode 100644 index 4e1b575c9870..000000000000 --- a/sysutils/port-maintenance-tools/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -# New ports collection makefile for: port-maintenance-tools -# Date created: 3 April 2004 -# Whom: Mark Linimon <linimon@FreeBSD.org> -# -# $FreeBSD$ -# - -PORTNAME= port-maintenance-tools -PORTVERSION= 1.0 -CATEGORIES= sysutils -MASTER_SITES= # empty -DISTFILES= # empty -EXTRACT_ONLY= # empty - -MAINTAINER= linimon@FreeBSD.org -COMMENT= "meta-port" for administrative tools to maintain ports - -# note: portuprade is brought in by pkg_cutleaves -RUN_DEPENDS= \ - ${LOCALBASE}/bin/cvsup:${PORTSDIR}/net/cvsup-without-gui \ - ${LOCALBASE}/bin/fastest_cvsup:${PORTSDIR}/sysutils/fastest_cvsup \ - ${LOCALBASE}/sbin/pkg_cutleaves:${PORTSDIR}/sysutils/pkg_cutleaves \ - ${LOCALBASE}/bin/pkg_tree:${PORTSDIR}/sysutils/pkg_tree \ - ${LOCALBASE}/bin/porteasy:${PORTSDIR}/misc/porteasy \ - ${LOCALBASE}/bin/portell:${PORTSDIR}/misc/portell \ - ${LOCALBASE}/sbin/portdowngrade:${PORTSDIR}/sysutils/portdowngrade - -NO_BUILD= yes - -do-install: # empty - -.include <bsd.port.mk> diff --git a/sysutils/port-maintenance-tools/pkg-descr b/sysutils/port-maintenance-tools/pkg-descr deleted file mode 100644 index e2f2646f3e94..000000000000 --- a/sysutils/port-maintenance-tools/pkg-descr +++ /dev/null @@ -1,5 +0,0 @@ -Here is a meta-port for a collection of tools that will help you -manage your ports tree, both for installation, deinstallation, -updating, and browsing. Many FreeBSD administrators and users -find these tools to be helpful, especially when working with -building ports from their sources. diff --git a/sysutils/portbrowser/Makefile b/sysutils/portbrowser/Makefile deleted file mode 100644 index fdd60b045b5b..000000000000 --- a/sysutils/portbrowser/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -# New ports collection makefile for: portbrowser -# Date created: 8 November, 2004 -# Whom: hrs -# -# $FreeBSD$ - -PORTNAME= portbrowser -PORTVERSION= 0.3 -PORTREVISION= 3 -CATEGORIES= sysutils -MASTER_SITES= http://www.bytelabs.org/ -DISTNAME= pb-browser-${PORTVERSION} -EXTRACT_SUFX= .tgz - -MAINTAINER= hrs@FreeBSD.org -COMMENT= Graphical frontend for the BSD ports system - -USE_GNOME= gtk20 -MAKE_ENV= MANDIR=${PREFIX}/man/man \ - BINDIR=${PREFIX}/bin \ - NOMANCOMPRESS=YES -PLIST_FILES= bin/pbrowser - -MAN1= pbrowser.1 - -post-patch: - @${REINPLACE_CMD} -e 's|"INDEX"|"${INDEXFILE}"|' \ - ${WRKSRC}/src/pkgobject.h - -.include <bsd.port.mk> diff --git a/sysutils/portbrowser/distinfo b/sysutils/portbrowser/distinfo deleted file mode 100644 index cdf834622f5d..000000000000 --- a/sysutils/portbrowser/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (pb-browser-0.3.tgz) = 5ea939c43b382e4a3e05ed6a5b7de48e -SHA256 (pb-browser-0.3.tgz) = 59b979e9f2e784b7a8aace1a74250bfa27945a7ecf3959d333ada62c8215689c -SIZE (pb-browser-0.3.tgz) = 44706 diff --git a/sysutils/portbrowser/pkg-descr b/sysutils/portbrowser/pkg-descr deleted file mode 100644 index a087512f4817..000000000000 --- a/sysutils/portbrowser/pkg-descr +++ /dev/null @@ -1,4 +0,0 @@ -The PortBrowser is a FREE, easy to use implementation -of a frontend written for the BSD ports system. - -WWW: http://www.bytelabs.org/devel.html diff --git a/sysutils/portcheck/Makefile b/sysutils/portcheck/Makefile deleted file mode 100644 index ef45650db19c..000000000000 --- a/sysutils/portcheck/Makefile +++ /dev/null @@ -1,37 +0,0 @@ -# New ports collection makefile for: portcheck -# Date created: 01 January 2007 -# Whom: Kim Naim Lesmer <naim@usebsd.com> -# -# $FreeBSD$ -# - -PORTNAME= portcheck -PORTVERSION= 1.12 -CATEGORIES= sysutils -MASTER_SITES= http://www.usebsd.com/pub/portcheck/files/ \ - http://www.bitcare.dk/pub/portcheck/files/ -EXTRACT_SUFX= .tbz - -MAINTAINER= naim@usebsd.com -COMMENT= Maintains the ports tree and checks up the installed packages - -RUN_DEPENDS= ${LOCALBASE}/sbin/portaudit:${PORTSDIR}/security/portaudit - -PLIST_FILES= bin/portcheck -MAN1= portcheck.1 -NO_WRKSUBDIR= yes -NO_BUILD= yes - -do-install: - @${INSTALL_SCRIPT} ${WRKDIR}/portcheck ${PREFIX}/bin - @${INSTALL_MAN} ${WRKDIR}/portcheck.1 ${MAN8PREFIX}/man/man1 - @${ECHO} "" - @${ECHO} "See 'man portcheck' for information about usage." - @${ECHO} "" - -.include <bsd.port.pre.mk> -.if ${OSVERSION} < 504104 -IGNORE= doesn't work on our sstem, it needs portsnap, please update your system to at least 5-STABLE -.endif - -.include <bsd.port.post.mk> diff --git a/sysutils/portcheck/distinfo b/sysutils/portcheck/distinfo deleted file mode 100644 index aa6e108e3ab5..000000000000 --- a/sysutils/portcheck/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (portcheck-1.12.tbz) = 6e557bb8d1cb8a36442bbf375faaeac5 -SHA256 (portcheck-1.12.tbz) = 2c7d177825a0380790d89f38cc0026a391705ec2344f0b5d4d2d14b9f1095039 -SIZE (portcheck-1.12.tbz) = 2379 diff --git a/sysutils/portcheck/pkg-descr b/sysutils/portcheck/pkg-descr deleted file mode 100644 index fb807fc9e279..000000000000 --- a/sysutils/portcheck/pkg-descr +++ /dev/null @@ -1,6 +0,0 @@ -Portcheck is a simple and small script for FreeBSD -which first updates the ports tree and then runs an -update and a security checkup of all the installed packages. -Portcheck depends on portsnap, portaudit and pkg_version. - -WWW: http://www.usebsd.com/pub/portcheck/ diff --git a/sysutils/portconf/Makefile b/sysutils/portconf/Makefile deleted file mode 100644 index 2ef7a2244422..000000000000 --- a/sysutils/portconf/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -# New ports collection makefile for: portconf -# Date created: 7 Jun 2006 -# Whom: Alex Dupre <ale@FreeBSD.org> -# -# $FreeBSD$ -# -# This port is self contained in the files directory. -# - -PORTNAME= portconf -PORTVERSION= 1.2 -CATEGORIES= sysutils -MASTER_SITES= # none -DISTFILES= # none - -MAINTAINER= ale@FreeBSD.org -COMMENT= A universal tool to set specific port knobs - -NO_BUILD= yes -SUB_FILES= pkg-message ${PORTNAME}.sh - -PLIST_FILES= libexec/${PORTNAME} - -do-fetch: - @${DO_NADA} - -do-install: - @${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}.sh ${PREFIX}/libexec/${PORTNAME} -.if !defined(PACKAGE_BUILDING) - @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL -.endif - @${CAT} ${PKGMESSAGE} - -.include <bsd.port.mk> diff --git a/sysutils/portconf/files/pkg-message.in b/sysutils/portconf/files/pkg-message.in deleted file mode 100644 index 859391f9f049..000000000000 --- a/sysutils/portconf/files/pkg-message.in +++ /dev/null @@ -1,19 +0,0 @@ -********************************************************* - -To set port-specific make variables, create the -%%PREFIX%%/etc/ports.conf configuration file -with the following syntax: - ---------------------------------------------------------- -# this is a comment -editors/openoffice*: WITH_CCACHE|LOCALIZED_LANG=it -www/firefox-i18n: WITHOUT_SWITCHER | FIREFOX_I18N=fr it -x11/fakeport: CONFIGURE_ARGS=--with-modules="aaa bbb ccc" ---------------------------------------------------------- - -Global port directory patterns and blanks around the -pipe "|" symbol are allowed. -Values shouldn't be quoted even if they contain spaces. -Lines beginning with a '#' are comments. - -********************************************************* diff --git a/sysutils/portconf/files/portconf.sh.in b/sysutils/portconf/files/portconf.sh.in deleted file mode 100644 index 7ac900d3c823..000000000000 --- a/sysutils/portconf/files/portconf.sh.in +++ /dev/null @@ -1,41 +0,0 @@ -#! /bin/sh -# -# Copyright (c) 2006 Florent Thoumie <flz@FreeBSD.org>, -# Alex Dupre <ale@FreeBSD.org> -# 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. -# -# $FreeBSD$ -# - -_conf=%%PREFIX%%/etc/ports.conf -if [ ! -r "${_conf}" ]; then - exit -fi -_pwd=`pwd` -sed '/^#/d;/^[[:space:]]*$/d' "${_conf}" | while read _line; do - _port=${_line%%:*} - if [ "${_pwd%%${_port}}" != "${_pwd}" ]; then - echo ${_line#*:} | sed -E 's/([A-Z0-9_]+)(=([^|]+))?/\1=\3/g;s/ *\| */|/g;s/ /%/g' - fi -done diff --git a/sysutils/portconf/pkg-deinstall b/sysutils/portconf/pkg-deinstall deleted file mode 100644 index 1f90cf2c820a..000000000000 --- a/sysutils/portconf/pkg-deinstall +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -MAKE_CONF=/etc/make.conf - -if [ "$2" = "POST-DEINSTALL" ]; then -echo -n "Cleaning up ${MAKE_CONF}..." -if [ -f ${MAKE_CONF} ]; then - sed -e "/# Begin portconf settings/,/# End portconf settings/d" \ - -i "" ${MAKE_CONF} - if [ ! -s ${MAKE_CONF} ]; then - rm ${MAKE_CONF} - fi -fi -echo " Done." -fi diff --git a/sysutils/portconf/pkg-descr b/sysutils/portconf/pkg-descr deleted file mode 100644 index 9a1b1809edcd..000000000000 --- a/sysutils/portconf/pkg-descr +++ /dev/null @@ -1,6 +0,0 @@ -Portconf is a simple framework to set ports options in an -universal way. Knobs set to specific ports are honoured -by portmaster, portupgrade, portmanager and 'make install'. - -- Alex Dupre -ale@FreeBSD.org diff --git a/sysutils/portconf/pkg-install b/sysutils/portconf/pkg-install deleted file mode 100644 index 7c3938211b01..000000000000 --- a/sysutils/portconf/pkg-install +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -MAKE_CONF=/etc/make.conf - -if [ "$2" = "POST-INSTALL" ]; then -echo -n "Spamming ${MAKE_CONF}..." -cat >> ${MAKE_CONF} << EOF -# Begin portconf settings -# Do not touch these lines -.if !empty(.CURDIR:M/usr/ports*) && exists(${PKG_PREFIX}/libexec/portconf) -_PORTCONF!=${PKG_PREFIX}/libexec/portconf -.for i in \${_PORTCONF:S/|/ /g} -\${i:S/%/ /g} -.endfor -.endif -# End portconf settings -EOF -echo " Done." -fi diff --git a/sysutils/portdowngrade/Makefile b/sysutils/portdowngrade/Makefile deleted file mode 100644 index 7ebf370b9eee..000000000000 --- a/sysutils/portdowngrade/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -# New ports collection makefile for: portdowngrade -# Date created: 2003/02/13 -# Whom: Heiner <h.eichmann@gmx.de> -# -# $FreeBSD$ -# - -PORTNAME= portdowngrade -PORTVERSION= 0.6 -CATEGORIES= sysutils -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} -MASTER_SITE_SUBDIR= ${PORTNAME} - -MAINTAINER= h.eichmann@gmx.de -COMMENT= Sets a port back to a previous version - -LIB_DEPENDS= popt.0:${PORTSDIR}/devel/popt - -POPT_INCLUDE= `pkg_info -xL ^popt | ${GREP} popt.h | ${SED} -e 's?/popt.h??'` -POPT_LIB= `pkg_info -xL ^popt | ${GREP} libpopt.a | ${SED} -e 's?/libpopt.a??'` -CONFIGURE_ENV= CPPFLAGS="-I${POPT_INCLUDE}" \ - LIBS="-lpopt -L${POPT_LIB}" -.if defined(DEFAULT_CVS_SERVER) -CONFIGURE_ARGS+= --enable-default-server=${DEFAULT_CVS_SERVER} -.endif - -GNU_CONFIGURE= yes -CONFIGURE_TARGET=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL} -USE_GMAKE= yes - -USE_BZIP2= yes - -MAN1= portdowngrade.1 -PLIST_FILES= sbin/portdowngrade - -pre-everything:: -.if !defined(DEFAULT_CVS_SERVER) - @${ECHO_MSG} "" - @${ECHO_MSG} "Press CTRL-C and define DEFAULT_CVS_SERVER" - @${ECHO_MSG} "(e.g. make DEFAULT_CVS_SERVER=\":pserver:anoncvs@anoncvs. ... .FreeBSD.org:/home/ncvs\" install)" - @${ECHO_MSG} "if you want to use a special CVS server as default. See" - @${ECHO_MSG} "http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/anoncvs.html" - @${ECHO_MSG} "for a list of possible cvs server" - @${ECHO_MSG} "" - @sleep 3 -.endif - -.include <bsd.port.mk> diff --git a/sysutils/portdowngrade/distinfo b/sysutils/portdowngrade/distinfo deleted file mode 100644 index d4732ac7c1e5..000000000000 --- a/sysutils/portdowngrade/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (portdowngrade-0.6.tar.bz2) = 4f7b2cfa79dd9d320b2442b49aef62ce -SHA256 (portdowngrade-0.6.tar.bz2) = cc8a60ae6b9a4b78dc388759cecc0b2232aab8ca4c36a72546402a4a8b52f02a -SIZE (portdowngrade-0.6.tar.bz2) = 84926 diff --git a/sysutils/portdowngrade/pkg-descr b/sysutils/portdowngrade/pkg-descr deleted file mode 100644 index 94e505406b16..000000000000 --- a/sysutils/portdowngrade/pkg-descr +++ /dev/null @@ -1,8 +0,0 @@ -Portdowngrade helps to downgrade FreeBSD ports by analyzing the history -of commits to the port and presenting the user the list of changes. By -selecting one, the port can be set back to a previous version easily. - -WWW: http://sourceforge.net/projects/portdowngrade/ - --- -h.eichmann@gmx.de diff --git a/sysutils/portmanager/Makefile b/sysutils/portmanager/Makefile deleted file mode 100644 index 691aedd351c5..000000000000 --- a/sysutils/portmanager/Makefile +++ /dev/null @@ -1,61 +0,0 @@ -# New ports collection makefile for: portmanager -# Date created: April 23, 2004 -# Whom: Michael C. Shultz <reso3w83@verizon.net> -# -# $FreeBSD$ -# - -PORTNAME= portmanager -PORTVERSION= 0.4.1 -PORTREVISION= 7 -CATEGORIES= sysutils -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} -MASTER_SITE_SUBDIR= portmanager - -MAINTAINER= rnoland@2hip.net -COMMENT= FreeBSD installed ports status and safe update utility - -MAN1= portmanager.1 -MAN3= libMG.3 MGdbAdd.3 MGdbCreate.3 MGdbDelete.3 \ - MGdbGetRecordQty.3 MGdbGoTop.3 MGdbSeek.3 - -GNU_CONFIGURE= yes -USE_LDCONFIG= yes -CONFIGURE_TARGET= --build=${ARCH}-portbld-freebsd${OSREL} -INSTALL_TARGET= install info - -# -# if --with-bin=something then withvar=${PREFIX} + something -# else defaults to withvar=${PREFIX} + /bin -# -# so --with-bindir=/bin will become ${PREFIX}/bin at configure -# time. -# -CONFIGURE_ARGS= --with-prefix=${PREFIX} --with-bindir=/bin \ - --with-etcdir=/etc --with-pkgdbdir=/var/db/pkg \ - --with-portsdir=${PORTSDIR} --with-sharedir=/share/portmanager \ - --with-tempdir=/tmp - -OPTIONS= DEBUG "Enable debug support and warnings" off \ - BUILD_DEPENDS_ARE_LEAVES "Treat build dependencies as leaves" off - -.include <bsd.port.pre.mk> - -.if defined(WITH_DEBUG) -CONFIGURE_ARGS+= --with-debug=yes -.endif - -.if defined(WITH_BUILD_DEPENDS_ARE_LEAVES) -CONFIGURE_ARGS+= --with-treatBuildDependsAsLeaves=yes -.endif - -# Keep this in post-configure. After run configure, this value is changed. -post-configure: - @${REINPLACE_CMD} -e \ - 's|PACKAGE_VERSION "${PORTVERSION}"|PACKAGE_VERSION "${PORTVERSION}_${PORTREVISION}"|g' \ - ${WRKSRC}/externVars.h - -post-install: - @${CAT} ${PKGMESSAGE} - -.include <bsd.port.post.mk> diff --git a/sysutils/portmanager/distinfo b/sysutils/portmanager/distinfo deleted file mode 100644 index 96889bdd2194..000000000000 --- a/sysutils/portmanager/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (portmanager-0.4.1.tar.gz) = 97274b1b2859c234f9c1901bb67c35e6 -SHA256 (portmanager-0.4.1.tar.gz) = 7b387b5338575c4f328881f9b2d21ee4b36797b888b1c0ebdfe8697527ee7c37 -SIZE (portmanager-0.4.1.tar.gz) = 492297 diff --git a/sysutils/portmanager/files/patch-libMGPM__src__MGPMrGetPortName.c b/sysutils/portmanager/files/patch-libMGPM__src__MGPMrGetPortName.c deleted file mode 100644 index e8cfc5c56b3e..000000000000 --- a/sysutils/portmanager/files/patch-libMGPM__src__MGPMrGetPortName.c +++ /dev/null @@ -1,12 +0,0 @@ ---- ./libMGPM/src/MGPMrGetPortName.c.orig Wed Dec 14 10:27:41 2005 -+++ ./libMGPM/src/MGPMrGetPortName.c Fri Dec 8 17:13:00 2006 -@@ -180,7 +180,8 @@ - } - else - { -- fclose( property->STDIN ); -+ if( property->autoMoved == 0 ) -+ fclose( property->STDIN ); - MGPMlogAdd( property, "installed ", portName, - " removed from system: no longer in ports tree: see /usr/ports/MOVED", " ", " " ); - } diff --git a/sysutils/portmanager/files/patch-libMGPM__src__MGPMrInitialize.c b/sysutils/portmanager/files/patch-libMGPM__src__MGPMrInitialize.c deleted file mode 100644 index bb8f5552991e..000000000000 --- a/sysutils/portmanager/files/patch-libMGPM__src__MGPMrInitialize.c +++ /dev/null @@ -1,11 +0,0 @@ ---- ./libMGPM/src/MGPMrInitialize.c.orig Mon Dec 12 15:32:34 2005 -+++ ./libMGPM/src/MGPMrInitialize.c Fri Dec 8 17:13:00 2006 -@@ -47,7 +47,7 @@ - */ - property->configConfFileName = calloc( stringSize + 1, 1 ); - MGmStrcpy(property->configConfFileName, ETCDIR); -- MGmStrcat(property->configConfFileName, "/portmanager/" ); -+ MGmStrcat(property->configConfFileName, "/portmanager" ); - MGmStrcat(property->configConfFileName, CONFIGURE_CONF); - - /* diff --git a/sysutils/portmanager/files/patch-libMGPM__src__MGPMrPortBrokeCheck.c b/sysutils/portmanager/files/patch-libMGPM__src__MGPMrPortBrokeCheck.c deleted file mode 100644 index a59d29f8fd00..000000000000 --- a/sysutils/portmanager/files/patch-libMGPM__src__MGPMrPortBrokeCheck.c +++ /dev/null @@ -1,11 +0,0 @@ ---- ./libMGPM/src/MGPMrPortBrokeCheck.c.orig Tue Dec 13 17:08:27 2005 -+++ ./libMGPM/src/MGPMrPortBrokeCheck.c Fri Dec 8 17:13:00 2006 -@@ -78,7 +78,7 @@ - } - buffer[0] = 0; - fread( buffer, MAXBUFFERSIZE, 1, pHandle ); -- if( ferror( pHandle ) == 0 && MGrStrlen( buffer ) > 1 ) -+ if( ferror( pHandle ) == 0 && MGrBufferlen( buffer, MAXBUFFERSIZE ) > 1 ) - { - fprintf( stdout, "%s %s error: %s %s marked %s, adding to ignore.db\n", id, PACKAGE_VERSION, oldPortName, oldPortDir, brokeCheckType ); - while( fflush( stdout ) ); diff --git a/sysutils/portmanager/files/patch-libMGPM__src__MGPMrReadConfigure.c b/sysutils/portmanager/files/patch-libMGPM__src__MGPMrReadConfigure.c deleted file mode 100644 index 46ec1afd3d10..000000000000 --- a/sysutils/portmanager/files/patch-libMGPM__src__MGPMrReadConfigure.c +++ /dev/null @@ -1,11 +0,0 @@ ---- ./libMGPM/src/MGPMrReadConfigure.c.orig Wed Dec 14 00:12:40 2005 -+++ ./libMGPM/src/MGPMrReadConfigure.c Fri Dec 8 17:13:00 2006 -@@ -156,7 +156,7 @@ - - MGmStrcpy( cmd[0], "/bin/cp" ); - MGmStrcpy( cmd[1], property->configConfFileName ); -- MGmStrcat( cmd[1], ".SAMPLE " ); -+ MGmStrcat( cmd[1], ".SAMPLE" ); - MGmStrcpy( cmd[2], property->configConfFileName ); - - MGmSystem( cmd, NULL ); diff --git a/sysutils/portmanager/files/patch-libMGPM__src__MGPMrShowLeavesDelete.c b/sysutils/portmanager/files/patch-libMGPM__src__MGPMrShowLeavesDelete.c deleted file mode 100644 index 459c65cf1926..000000000000 --- a/sysutils/portmanager/files/patch-libMGPM__src__MGPMrShowLeavesDelete.c +++ /dev/null @@ -1,252 +0,0 @@ ---- ./libMGPM/src/MGPMrShowLeavesDelete.c.orig Mon Dec 12 15:32:34 2005 -+++ ./libMGPM/src/MGPMrShowLeavesDelete.c Fri Dec 8 17:13:00 2006 -@@ -39,19 +39,21 @@ - char exact[] = "exact"; - char id[] = "MGPMrShowLeavesDelete"; - char* command = NULL; -- char* leafPortDir = NULL; -+ char* leafPortDir; - char* leafPortName = NULL; - char* pkgDescFile = NULL; -+ char** cmd; -+ char** env; - int answer = 1; -- int bufferSize = 0xffff; - int doubleBreak = 0; - int installedPortsDbIDX = 0; - int installedPortsDbQTY = 0; - -- command = calloc( bufferSize, 1 ); -- leafPortDir = calloc( bufferSize, 1 ); -- leafPortName = calloc( bufferSize, 1 ); -- pkgDescFile = calloc( bufferSize, 1 ); -+ leafPortDir = calloc( MAXSTRINGSIZE, 1 ); -+ leafPortName = calloc( MAXSTRINGSIZE, 1 ); -+ -+ command = calloc( MAXBUFFERSIZE, 1 ); -+ pkgDescFile = calloc( MAXBUFFERSIZE, 1 ); - - if( ( property->ignoreDb = MGdbOpen( property->ignoreDbFileName ) ) == NULL ) - { -@@ -108,50 +110,94 @@ - installedPortsDbIDX++; - continue; - } --/* -- if( answer != KEY_ENTER ) -+ -+ cmd = malloc( sizeof( char* ) * 2 ); -+ cmd[0] = malloc( MAXSTRINGSIZE ); -+ cmd[1] = 0; -+ -+ env = malloc( sizeof( char* ) * 2 ); -+ env[0] = malloc( MAXSTRINGSIZE ); -+ env[1] = 0; -+ -+ MGmStrcpy( env[0], "TERM=" ); -+ MGmStrcat( env[0], getenv( "TERM" ) ); -+ -+ MGmStrcpy( cmd[0], "/usr/bin/clear" ); -+ -+ MGmSystem( cmd, env ); -+ -+ free( env[0] ); -+ free( env ); -+ -+ free( cmd[0] ); -+ free( cmd ); -+ -+ fprintf( stdout,"%s\n", SINGLE_LINES ); -+ fprintf( stdout, "*** for safety run portmanager -u after using this feature for deletion ***\n" ); -+ fprintf( stdout,"%s\n", SINGLE_LINES ); -+ fprintf( stdout, "Ports with no ports depending on them AKA \"leaf ports.\"\n" ); -+ fprintf( stdout, "These ports may be deinstalled because no other ports rely on them to run;\"\n" ); -+ if( property->buildDependsAreLeaves ) - { --*/ -- system( "clear" ); -- fprintf( stdout,"%s\n", SINGLE_LINES ); -- fprintf( stdout, "*** for safety run portmanager -u after using this feature for deletion ***\n" ); -- fprintf( stdout,"%s\n", SINGLE_LINES ); -- fprintf( stdout, "Ports with no ports depending on them AKA \"leaf ports.\"\n" ); -- fprintf( stdout, "These ports may be deinstalled because no other ports rely on them to run;\"\n" ); -- if( property->buildDependsAreLeaves ) -- { -- fprintf( stdout, "however, other ports may rely on these to build.\"\n" ); -- } -- fprintf( stdout, "%s\n", SINGLE_LINES ); -+ fprintf( stdout, "however, other ports may rely on these to build.\"\n" ); -+ } -+ fprintf( stdout, "%s\n", SINGLE_LINES ); - -- fprintf( stdout, "%s dir -=> %s\n\n", leafPortName, leafPortDir ); -- while( fflush( stdout ) ); -+ fprintf( stdout, "%s dir -=> %s\n\n", leafPortName, leafPortDir ); -+ while( fflush( stdout ) ); - -- MGmStrcpy( pkgDescFile, PORTSDIR ); -- MGmStrcat( pkgDescFile, leafPortDir ); -- MGmStrcat( pkgDescFile, "/pkg-descr" ); -+ MGmStrcpy( pkgDescFile, PORTSDIR ); -+ MGmStrcat( pkgDescFile, leafPortDir ); -+ MGmStrcat( pkgDescFile, "/pkg-descr" ); - -- if( MGrIfFileExist( pkgDescFile ) ) -- { -- MGmStrcpy( command, "cat " ); -- MGmStrcat( command, pkgDescFile ); -- system( command ); -- fprintf( stdout, "\n" ); -- } -- else -- { -- MGmStrcpy( command, "grep COMMENT " ); -- MGmStrcat( command, PORTSDIR ); -- MGmStrcat( command, leafPortDir ); -- MGmStrcat( command, "/Makefile" ); -- system( command ); -- } -- fprintf( stdout,"%s\n", SINGLE_LINES ); -- fprintf( stdout, "\n<ENTER> to skip\n<X><ENTER> removes port\n<N><ENTER> *Nuke it*, removes distribution files\n\n" ); -- fprintf( stdout,"%s\n", SINGLE_LINES ); --/* -+ if( MGrIfFileExist( pkgDescFile ) ) -+ { -+ cmd = malloc( sizeof( char* ) * 3 ); -+ cmd[0] = malloc( MAXSTRINGSIZE ); -+ cmd[1] = malloc( MAXSTRINGSIZE ); -+ cmd[2] = 0; -+ -+ MGmStrcpy( cmd[0], "/bin/cat" ); -+ MGmStrcpy( cmd[1], pkgDescFile ); -+ -+ MGmSystem( cmd, NULL ); -+ -+ free( cmd[0] ); -+ free( cmd[1] ); -+ free( cmd ); -+ -+ fprintf( stdout, "\n" ); -+ while( fflush( stdout ) ); -+ } -+ else -+ { -+ cmd = malloc( sizeof( char* ) * 4 ); -+ cmd[0] = malloc( MAXSTRINGSIZE ); -+ cmd[1] = malloc( MAXSTRINGSIZE ); -+ cmd[2] = malloc( MAXSTRINGSIZE ); -+ cmd[3] = 0; -+ -+ MGmStrcpy( cmd[0], "/usr/bin/grep" ); -+ MGmStrcpy( cmd[1], "COMMENT" ); -+ MGmStrcpy( cmd[2], PORTSDIR ); -+ MGmStrcat( cmd[2], leafPortDir ); -+ MGmStrcat( cmd[2], "/Makefile" ); -+ -+ MGmSystem( cmd, NULL ); -+ -+ free( cmd[0] ); -+ free( cmd[1] ); -+ free( cmd[2] ); -+ free( cmd ); -+ -+ fprintf( stdout, "\n" ); -+ while( fflush( stdout ) ); - } --*/ -+ fprintf( stdout,"%s\n", SINGLE_LINES ); -+ fprintf( stdout, "\n<ENTER> to skip\n<X><ENTER> removes port\n<N><ENTER> *Nuke it*, removes distribution files\n\n" ); -+ fprintf( stdout,"%s\n", SINGLE_LINES ); -+ while( fflush( stdout ) ); -+ - property->STDIN = fopen( "/dev/stdin", "r" ); /* Flawfinder: ignore */ - doubleBreak = 0; - while( 1 == 1 ) -@@ -243,9 +289,7 @@ - { - char id[] = "removePort"; - char exact[] = "exact"; -- char* command = NULL; -- -- command = (char*)calloc( 0xffff, 1 ); -+ char** cmd; - - property->installedPortsDb = MGdbDelete( property->installedPortsDb, installedPortsDbIDX ); - -@@ -261,12 +305,26 @@ - MGdbGoTop( property->availableDependenciesDb ); - } - -- MGmStrcpy( command, "pkg_delete -f " ); -- MGmStrcat( command, leafPortNamePtr ); -- fprintf( stdout, "\nexecuting: %s\n", command ); -+ cmd = malloc( sizeof( char* ) * 4 ); -+ cmd[0] = malloc( MAXSTRINGSIZE ); -+ cmd[1] = malloc( MAXSTRINGSIZE ); -+ cmd[2] = malloc( MAXSTRINGSIZE ); -+ cmd[3] = 0; -+ -+ MGmStrcpy( cmd[0], "/usr/sbin/pkg_delete" ); -+ MGmStrcpy( cmd[1], "-f" ); -+ MGmStrcpy( cmd[2], leafPortNamePtr ); -+ -+ fprintf( stdout, "\nexecuting: %s %s %s\n", cmd[0], cmd[1], cmd[2] ); - while( fflush( stdout ) ); -- system( command ); -- free(command); -+ -+ MGmSystem( cmd, NULL ); -+ -+ free( cmd[2] ); -+ free( cmd[1] ); -+ free( cmd[0] ); -+ free( cmd ); -+ - return( 0 ); - } - -@@ -274,18 +332,35 @@ - int nuke( char* leafPortDir ) - { - char id[] = "nuke"; -- char* command = NULL; -+ char** cmd; - -- command = (char*)calloc( 0xffff, 1 ); -+ cmd = malloc( sizeof( char* ) * 4 ); -+ cmd[0] = malloc( MAXSTRINGSIZE ); -+ cmd[1] = malloc( MAXSTRINGSIZE ); -+ cmd[2] = 0; -+ -+ MGmStrcpy( cmd[0], PORTSDIR ); -+ MGmStrcat( cmd[0], leafPortDir ); -+ if( chdir( cmd[0] ) != 0 ) -+ { -+ fprintf( stderr, "%s error: chdir %s failed\n", id, cmd[0] ); -+ perror( "chroot" ); -+ while( fflush( stderr ) ); -+ assert( 0 ); -+ } - -- MGmStrcpy( command, "cd " ); -- MGmStrcat( command, PORTSDIR ); -- MGmStrcat( command, leafPortDir ); -- MGmStrcat( command, "; make distclean" ); -- fprintf( stdout, "\nexecuting: %s\n", command ); -+ MGmStrcpy( cmd[0], "/usr/bin/make" ); -+ MGmStrcpy( cmd[1], "distclean" ); -+ -+ fprintf( stdout, "\nexecuting: %s %s\n", cmd[0], cmd[1] ); - while( fflush( stdout ) ); -- system( command ); -- free(command); -+ -+ MGmSystem( cmd, NULL ); -+ -+ free( cmd[1] ); -+ free( cmd[0] ); -+ free( cmd ); -+ - return( 0 ); - } - diff --git a/sysutils/portmanager/files/patch-libMGPM__src__MGPMrUpdate.c b/sysutils/portmanager/files/patch-libMGPM__src__MGPMrUpdate.c deleted file mode 100644 index 82b4f323b069..000000000000 --- a/sysutils/portmanager/files/patch-libMGPM__src__MGPMrUpdate.c +++ /dev/null @@ -1,349 +0,0 @@ ---- libMGPM/src/MGPMrUpdate.c.orig Wed Dec 14 13:23:59 2005 -+++ libMGPM/src/MGPMrUpdate.c Fri Dec 8 17:24:30 2006 -@@ -60,6 +60,7 @@ - char* stopPortDirPtr = NULL; - char* strikePtr = NULL; - char** cmd; -+ char** env; - int answer = 1; - int availableDependenciesDbIDX = 0; - int availableDependenciesDbQTY = 0; -@@ -74,12 +75,6 @@ - - property->optionsChanged = 0; - -- localProperty.environment = malloc( sizeof( char** ) * 4 ); -- localProperty.environment[0] = malloc( MAXSTRINGSIZE ); -- localProperty.environment[1] = malloc( MAXSTRINGSIZE ); -- localProperty.environment[2] = malloc( MAXSTRINGSIZE ); -- localProperty.environment[3] = 0; -- - localProperty.CURDIR = calloc( MAXSTRINGSIZE, 1 ); - localProperty.afterOptionsFileSize = calloc( MAXSTRINGSIZE, 1 ); - localProperty.afterOptionsFileTime = calloc( MAXSTRINGSIZE, 1 ); -@@ -122,30 +117,6 @@ - return( 0 ); - } - -- /* -- * setup environment -- */ -- MGmStrcpy( localProperty.environment[0], "PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin" ); -- -- if( getenv( "CCACHE_DIR" ) != NULL ) -- { -- MGmStrcpy( localProperty.environment[1], "CCACHE_DIR=" ); -- MGmStrcat( localProperty.environment[1], getenv( "CCACHE_DIR" ) ); -- } -- else -- { -- localProperty.environment[1][0] = 0; -- } -- -- if( getenv( "CCACHE_PATH" ) != NULL ) -- { -- MGmStrcpy( localProperty.environment[2], "CCACHE_PATH=/usr/bin:/usr/local/bin" ); -- } -- else -- { -- localProperty.environment[2][0] = 0; -- } -- - /* - * test for bsd.ports.mk patch - */ -@@ -466,25 +437,53 @@ - */ - /* - * If here we know OPTIONS is defined, need to run make config -- * if /var/db/ports/{package name}/options exists -+ * if /var/db/ports/{package name}/options does not exist - */ - if( MGrIfFileExist( localProperty.optionsDir ) == 0 ) - { -- MGmStrcpy( localProperty.command, "cd " ); -- MGmStrcat( localProperty.command, PORTSDIR ); -- MGmStrcat( localProperty.command, oldPortDir ); -- MGmStrcat( localProperty.command, " && make config " ); -- if( MGrStrlen( localProperty.options ) > 0 ) -+ cmd = malloc( sizeof( char* ) * 3 ); -+ cmd[0] = malloc( MAXSTRINGSIZE ); -+ cmd[1] = malloc( MAXSTRINGSIZE ); -+ cmd[2] = 0; -+ -+ env = malloc( sizeof( char* ) * 2 ); -+ env[0] = malloc( MAXSTRINGSIZE ); -+ env[1] = 0; -+ -+ MGmStrcpy( env[0], "TERM=" ); -+ MGmStrcat( env[0], getenv( "TERM" ) ); -+ -+ MGmStrcpy( cmd[0], PORTSDIR ); -+ MGmStrcat( cmd[0], oldPortDir ); -+ -+ fprintf( stdout, "%s\n", SINGLE_LINES ); -+ fprintf( stdout, "config %s \n", cmd[0] ); -+ while( fflush( stdout ) ); -+ -+ if( chdir( cmd[0] ) != 0 ) - { -- MGmStrcat( localProperty.command, localProperty.options ); -+ fprintf( stderr, "%s error: chdir %s failed\n", id, cmd[0] ); -+ perror( "chroot" ); -+ while( fflush( stderr ) ); -+ assert( 0 ); - } - -- fprintf( stdout, "%s\n", SINGLE_LINES ); -- fprintf( stdout, "update %s \n", oldPortName ); -- fprintf( stdout, "%s %s command: #2 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command ); -- fprintf( stdout, "%s\n", SINGLE_LINES ); -+ MGmStrcpy( cmd[0], "/usr/bin/make" ); -+ MGmStrcpy( cmd[1], "config" ); -+ fprintf( stdout, "%s %s command: #2 of 14 %s %s\n", id, PACKAGE_VERSION, cmd[0], cmd[1] ); - while( fflush( stdout ) ); -- system(localProperty.command); -+ -+ MGmSystem( cmd, env ); -+ -+ free( env[0] ); -+ free( env ); -+ -+ free( cmd[1] ); -+ free( cmd[0] ); -+ free( cmd ); -+ -+ fprintf( stdout, "%s\n", SINGLE_LINES ); -+ - } - MGmStrcpy( localProperty.afterOptionsFileTime, - MGrIntToString( (int)MGrFileTime( localProperty.optionsDir ) ) ); -@@ -567,17 +566,8 @@ - MGmStrcpy( strike, strikePtr ); - if( strike[0] == '2' ) - { -+ MGPMlogAdd( property, oldPortName, oldPortDir, "make Strike 3, marking port as ignore/looping ", " ", " " ); - MGdbAdd( property->ignoreDb, oldPortDir, "looping, 3rd attempt at make", NULL ); -- if( property->log ) -- { -- MGmStrcpy( localProperty.command, "echo \"make Strike 3 " ); -- MGmStrcat( localProperty.command, oldPortName ); -- MGmStrcat( localProperty.command, " " ); -- MGmStrcat( localProperty.command, oldPortDir ); -- MGmStrcat( localProperty.command, " marking port as ignore/looping " ); -- MGmStrcat( localProperty.command, " \">> /var/log/portmanager.log" ); -- system( localProperty.command ); -- } - rCleanUp( property, &localProperty ); - return( 0 ); - } -@@ -593,16 +583,8 @@ - property->fieldStrikesIDX, - exact ); - property->strikesDb = MGdbDelete( property->strikesDb, MGdbGetRecno( property->strikesDb ) - 1 ); -+ MGPMlogAdd( property, oldPortName, oldPortDir, "make Strike 2", " ", " " ); - MGdbAdd( property->strikesDb, oldPortDir, "2", NULL ); -- if( property->log ) -- { -- MGmStrcpy( localProperty.command, "echo \"make Strike 2 " ); -- MGmStrcat( localProperty.command, oldPortName ); -- MGmStrcat( localProperty.command, " " ); -- MGmStrcat( localProperty.command, oldPortDir ); -- MGmStrcat( localProperty.command, " \">> /var/log/portmanager.log" ); -- system( localProperty.command ); -- } - /* - * dualOriginCheck( property, oldPortName ); used to be here in old portmanager ver < 0.3.1, seems to be no longer - * needed, keep this note just in case -@@ -797,20 +779,28 @@ - MGPMlogAdd( property, "conflicting installed ", localProperty.installedPortName, - " removed from system: conflicted with ", oldPortName, " " ); - } -+ cmd = malloc( sizeof( char* ) * 4 ); -+ cmd[0] = malloc( MAXSTRINGSIZE ); -+ cmd[1] = malloc( MAXSTRINGSIZE ); -+ cmd[2] = malloc( MAXSTRINGSIZE ); -+ cmd[3] = 0; -+ -+ MGmStrcpy( cmd[0], "/usr/sbin/pkg_delete" ); -+ MGmStrcpy( cmd[1], "-f" ); -+ MGmStrcpy( cmd[2], localProperty.installedPortName ); - -- MGmStrcpy( localProperty.command, "pkg_delete -f " ); -- MGmStrcat( localProperty.command, localProperty.installedPortName ); -- fprintf( stdout, "executing: %s\n", localProperty.command ); -+ fprintf( stdout, "\nexecuting: %s %s %s\n", cmd[0], cmd[1], cmd[2] ); - while( fflush( stdout ) ); -- errorCode = system( localProperty.command ); -- if( property->log ) -- { -- MGmStrcpy( localProperty.command, "echo \"removed conflicting port " ); -- MGmStrcat( localProperty.command, localProperty.installedPortName ); -- MGmStrcat( localProperty.command, " " ); -- MGmStrcat( localProperty.command, " \">> /var/log/portmanager.log" ); -- system( localProperty.command ); -- } -+ -+ MGmSystem( cmd, NULL ); -+ -+ free( cmd[2] ); -+ free( cmd[1] ); -+ free( cmd[0] ); -+ free( cmd ); -+ -+ MGPMlogAdd( property, "removed conflicting port", localProperty.installedPortName, -+ " ", " ", " " ); - } - installedPortsDbIDX++; - } -@@ -848,15 +838,7 @@ - fprintf( stderr, "marking %s as ignored\n", oldPortName ); - fprintf( stdout, "%s\n", DOUBLE_LINES ); - while( fflush( stderr ) ); -- if( property->log ) -- { -- MGmStrcpy( localProperty.command, "echo \" " ); -- MGmStrcat( localProperty.command, oldPortName ); -- MGmStrcat( localProperty.command, " " ); -- MGmStrcat( localProperty.command, oldPortDir ); -- MGmStrcat( localProperty.command, " conflicts with another installed port so marked ignore\" >> /var/log/portmanager.log" ); -- system( localProperty.command ); -- } -+ MGPMlogAdd( property, oldPortName, oldPortDir, "conflicts with another installed port so marked ignore", " ", " " ); - MGdbAdd( property->ignoreDb, oldPortDir, "conflicts with another installed port", NULL ); - rCleanUp( property, &localProperty ); - return( 0 ); -@@ -986,15 +968,7 @@ - while( fflush( stdout ) ); - if( ( errorCode = system(localProperty.command) ) ) - { -- if( property->log ) -- { -- MGmStrcpy( localProperty.command, "echo \" " ); -- MGmStrcat( localProperty.command, oldPortName ); -- MGmStrcat( localProperty.command, " " ); -- MGmStrcat( localProperty.command, oldPortDir ); -- MGmStrcat( localProperty.command, " failed to fetch\" >> /var/log/portmanager.log" ); -- system( localProperty.command ); -- } -+ MGPMlogAdd( property, oldPortName, oldPortDir, "failed to fetch, adding to ignore.db", " ", " " ); - fprintf( stdout, "%s %s error: make fetch returned an error, adding %s to ignore.db\n", id, PACKAGE_VERSION, oldPortDir ); - while( fflush( stdout ) ); - MGdbAdd( property->ignoreDb, oldPortDir, "failed during make fetch", NULL ); -@@ -1005,70 +979,29 @@ - /************************************************************************/ - /* Command "9" " make" */ - /************************************************************************/ -+ MGmStrcpy( localProperty.command, "cd " ); -+ MGmStrcat( localProperty.command, PORTSDIR ); -+ MGmStrcat( localProperty.command, oldPortDir ); -+ MGmStrcat( localProperty.command, " && make " ); - if( MGrStrlen( localProperty.options ) > 0 ) - { -- cmd = malloc( sizeof( char** ) * 3 ); -- cmd[0] = malloc( MAXSTRINGSIZE ); -- cmd[1] = malloc( MAXBUFFERSIZE ); -- cmd[2] = 0; -- MGmStrcpy( cmd[0], PORTSDIR ); -- MGmStrcat( cmd[0], oldPortDir ); -- if( chdir( cmd[0] ) != 0 ) -- { -- fprintf( stderr, "%s error: chdir %s failed\n", id, cmd[0] ); -- perror( "chroot" ); -- while( fflush( stderr ) ); -- assert( 0 ); -- } -- MGmStrcpy( cmd[0], "/usr/bin/make" ); -- MGmBuffercpy( cmd[1], localProperty.options, MAXBUFFERSIZE ); -- fprintf( stdout, "%s\n", SINGLE_LINES ); -- fprintf( stdout, "update %s \n", oldPortName ); -- fprintf( stdout, "%s %s command: #9 of 14 %s\nOPTIONS-=>%s\n", id, PACKAGE_VERSION, cmd[0], cmd[1] ); -- fprintf( stdout, "%s\n", SINGLE_LINES ); -- while( fflush( stdout ) ); -- MGmSystem( cmd, localProperty.environment ); -- free( cmd[0] ); -- free( cmd[1] ); -- free( cmd ); -- } -- else -- { -- cmd = malloc( sizeof( char** ) * 2 ); -- cmd[0] = malloc( MAXSTRINGSIZE ); -- cmd[1] = 0; -- MGmStrcpy( cmd[0], PORTSDIR ); -- MGmStrcat( cmd[0], oldPortDir ); -- if( chdir( cmd[0] ) != 0 ) -- { -- fprintf( stderr, "%s error: chdir %s failed\n", id, cmd[0] ); -- perror( "chroot" ); -- while( fflush( stderr ) ); -- assert( 0 ); -- } -- MGmStrcpy( cmd[0], "/usr/bin/make" ); -- fprintf( stdout, "%s\n", SINGLE_LINES ); -- fprintf( stdout, "update %s \n", oldPortName ); -- fprintf( stdout, "%s %s command: #9 of 14 %s\n", id, PACKAGE_VERSION, cmd[0] ); -- fprintf( stdout, "%s\n", SINGLE_LINES ); -- while( fflush( stdout ) ); -- MGmSystem( cmd, localProperty.environment ); -- free( cmd[0] ); -- free( cmd ); -+ MGmStrcat( localProperty.command, localProperty.options ); - } - -- if( MGrIfDirEntry( localProperty.workFullPath, ".build_done" ) == 0 ) -+ fprintf( stdout, "%s\n", SINGLE_LINES ); -+ fprintf( stdout, "update %s \n", oldPortName ); -+ fprintf( stdout, "%s %s command: #9 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command ); -+ fprintf( stdout, "%s\n", SINGLE_LINES ); -+ while( fflush( stdout ) ); -+ if( ( errorCode = system(localProperty.command) ) ) - { -- fprintf( stderr, "%s\n", SINGLE_LINES ); -- fprintf( stderr, "%s error: %s %s failed during make, adding to ignore.db\n", id, oldPortName, oldPortDir ); -- fprintf( stderr, "%s\n", SINGLE_LINES ); -- while( fflush( stderr ) ); -- MGPMlogAdd( property, oldPortName, oldPortDir, "port failed to build during make, adding to ignore.db", " ", " " ); -- MGdbAdd( property->ignoreDb, oldPortDir, "port failed to build during make\n", NULL ); -+ MGPMlogAdd( property, oldPortName, oldPortDir, "failed during make, adding to ignore.db", " ", " " ); -+ fprintf( stdout, "%s %s error: make returned an error, adding %s to ignore.db\n", id, PACKAGE_VERSION, oldPortDir ); -+ while( fflush( stdout ) ); -+ MGdbAdd( property->ignoreDb, oldPortDir, "failed during make", NULL ); - rCleanUp( property, &localProperty ); - return(0); - } -- - /************************************************************************/ - /* Command "10" pkg_create -b */ - /************************************************************************/ -@@ -1266,7 +1199,7 @@ - MGmStrcat(localProperty.command, TEMPDIR); - MGmStrcat(localProperty.command, "/"); - MGmStrcat(localProperty.command, oldPortName); -- MGmStrcat(localProperty.command, ".tgz"); -+ MGmStrcat(localProperty.command, ".t[bg]z"); - fprintf( stdout, "%s\n", SINGLE_LINES ); - fprintf( stderr, "restoring original port from backup \n" ); - fprintf( stderr, "%s %s command: #12 of 14!! ***Emergancy restore*** %s\n", id, PACKAGE_VERSION, localProperty.command ); -@@ -1330,7 +1263,7 @@ - MGmStrcat( localProperty.command, TEMPDIR); - MGmStrcat( localProperty.command, "; rm -f "); - MGmStrcat( localProperty.command, oldPortName); -- MGmStrcat( localProperty.command, ".tgz" ); -+ MGmStrcat( localProperty.command, ".t[bg]z" ); - fprintf( stdout, "%s\n", SINGLE_LINES ); - fprintf( stderr, "deleting backup copy, installation of updated %s successful\n", oldPortDir ); - fprintf( stdout, "%s %s localProperty.command: #12 of 14 %s\n", id, PACKAGE_VERSION, localProperty.command ); -@@ -1555,12 +1488,6 @@ - MGdbDestroy( property->ignoreDb ); - MGdbDestroy( property->installedPortsDb ); - MGdbDestroy( property->strikesDb ); -- -- -- free( localProperty->environment[0] ); -- free( localProperty->environment[1] ); -- free( localProperty->environment[2] ); -- free( localProperty->environment ); - - free( localProperty->CURDIR ); - free( localProperty->afterOptionsFileSize ); diff --git a/sysutils/portmanager/files/patch-libMGPM__src__libMGPM.h b/sysutils/portmanager/files/patch-libMGPM__src__libMGPM.h deleted file mode 100644 index 43b53c6e1320..000000000000 --- a/sysutils/portmanager/files/patch-libMGPM__src__libMGPM.h +++ /dev/null @@ -1,10 +0,0 @@ ---- ./libMGPM/src/libMGPM.h.orig Tue Dec 13 17:23:14 2005 -+++ ./libMGPM/src/libMGPM.h Fri Dec 8 17:13:00 2006 -@@ -118,7 +118,6 @@ - char* workDir; - char* workFullPath; - char* xtermTitle; -- char** environment; - int bufferSize; - int optionsBufferSize; - } structLocalProperty; diff --git a/sysutils/portmanager/files/patch-libMG__src__MGdbAdd.c b/sysutils/portmanager/files/patch-libMG__src__MGdbAdd.c deleted file mode 100644 index 0824a2afbb31..000000000000 --- a/sysutils/portmanager/files/patch-libMG__src__MGdbAdd.c +++ /dev/null @@ -1,30 +0,0 @@ ---- ./libMG/src/MGdbAdd.c.orig Mon Dec 12 15:32:34 2005 -+++ ./libMG/src/MGdbAdd.c Fri Dec 8 17:13:00 2006 -@@ -39,7 +39,9 @@ - int idx = 0; - va_list paramList; - -- /* check if we have a valid object */ -+ /* -+ * check if we have a valid object -+ */ - if( db->parent.type != CLASS_TYPE_DB ) - { - fprintf( stderr, "%s error: invalid object type\n", id); -@@ -71,6 +73,8 @@ - */ - if( MGrBufferlen( paramPtr, MAXBUFFERSIZE ) < 1 ) - { -+ fprintf( stderr, "%s error: attempt to place null data into record halted\n", id ); -+ while( fflush( stderr ) ); - assert(0); - } - fprintf( dbFileStream, "%s%c", paramPtr, 0 ); -@@ -85,6 +89,7 @@ - { - fprintf( stderr, "%s error: fields added (%d) exceed field quantity (%d)\n did you forget to terminate MGdbAdd with a NULL field?\n", - id, idx, db->fieldQty ); -+ while( fflush( stderr ) ); - assert(0); - } - } diff --git a/sysutils/portmanager/files/patch-libMG__src__MGdbRead.c b/sysutils/portmanager/files/patch-libMG__src__MGdbRead.c deleted file mode 100644 index a5e70e5781a5..000000000000 --- a/sysutils/portmanager/files/patch-libMG__src__MGdbRead.c +++ /dev/null @@ -1,18 +0,0 @@ ---- ./libMG/src/MGdbRead.c.orig Mon Dec 12 15:32:34 2005 -+++ ./libMG/src/MGdbRead.c Fri Dec 8 17:13:00 2006 -@@ -58,6 +58,7 @@ - fprintf( stderr, "%s error: unable to allocate %d bytes memory for db->dataBuffer\n", - id, dataBufferSize ); - perror( "system message" ); -+ while( fflush( stderr ) ); - assert(0); - } - /*zzzzzzzzzzzzzz*/ -@@ -70,6 +71,7 @@ - { - fprintf( stderr, "%s error: reading file %s into db->dataBuffer\n", id, db->parent.path ); - perror( "system message" ); \ -+ while( fflush( stderr ) ); - assert(0); - } - diff --git a/sysutils/portmanager/files/patch-libMG__src__Makefile.am b/sysutils/portmanager/files/patch-libMG__src__Makefile.am deleted file mode 100644 index 652af1c3ec85..000000000000 --- a/sysutils/portmanager/files/patch-libMG__src__Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ ---- ./libMG/src/Makefile.am.orig Tue Dec 13 13:57:20 2005 -+++ ./libMG/src/Makefile.am Fri Dec 8 17:13:00 2006 -@@ -32,7 +32,7 @@ - MGrStrlen.c \ - MGxTermBarCreate.c \ - MGxTermBarDestroy.c \ -- MGxTermBarUpdate.c -+ MGxTermBarUpdate.c - - include_HEADERS = libMG.h - diff --git a/sysutils/portmanager/files/patch-libMG__src__libMG.h b/sysutils/portmanager/files/patch-libMG__src__libMG.h deleted file mode 100644 index f17ac98cc16a..000000000000 --- a/sysutils/portmanager/files/patch-libMG__src__libMG.h +++ /dev/null @@ -1,44 +0,0 @@ ---- ./libMG/src/libMG.h.orig Tue Dec 13 13:56:16 2005 -+++ ./libMG/src/libMG.h Fri Dec 8 17:13:00 2006 -@@ -57,6 +57,7 @@ - #define KEY_a 97 - #define CLASS_TYPE_DB 1 - #define CLASS_TYPE_DIR 2 -+#define CLASS_TYPE_MEM 3 - #define CR 13 - #define DEBUG_MGdb 0 - #define DEBUG_MGdir 0 -@@ -77,15 +78,15 @@ - #define SINGLE_LINES "------------------------------------------------------------------------" - #define DOUBLE_LINES "========================================================================" - -- char** MGm__command; -- int MGm__forkStatus; -- pid_t MGm__pid; --struct stat fstatBuf; --struct stat lstatBuf; --typedef struct classDb classDb; --typedef struct classDir classDir; --unsigned int MGm__bufferSize; --unsigned int MGm__stringSize; -+ char** MGm__command; -+ int MGm__forkStatus; -+ pid_t MGm__pid; -+ struct stat fstatBuf; -+ struct stat lstatBuf; -+ unsigned int MGm__bufferSize; -+ unsigned int MGm__stringSize; -+typedef struct classDb classDb; -+typedef struct classDir classDir; - - #define MAXSTRINGSIZE 0x1ff - #define MAXBUFFERSIZE 0xffff -@@ -270,7 +271,7 @@ - int MGrInStringSwap( char* originalString, char* oldString, char* newString ); - int MGrStripComment( char*, char ); - unsigned int MGrBufferlen( char* buffer, unsigned int maxBufferSize ); --unsigned int MGrStrlen( char* string ); -+unsigned int MGrStrlen( char* String ); - unsigned long int MGrFileTime( char* ); - - #endif diff --git a/sysutils/portmanager/files/patch-portmanager__patch-bsd.port.mk-0.3.6 b/sysutils/portmanager/files/patch-portmanager__patch-bsd.port.mk-0.3.6 deleted file mode 100644 index b02b03bc4ecb..000000000000 --- a/sysutils/portmanager/files/patch-portmanager__patch-bsd.port.mk-0.3.6 +++ /dev/null @@ -1,11 +0,0 @@ ---- ./portmanager/patch-bsd.port.mk-0.3.6.orig Mon Dec 12 15:32:34 2005 -+++ ./portmanager/patch-bsd.port.mk-0.3.6 Fri Dec 8 17:13:00 2006 -@@ -5,7 +5,7 @@ - .endif - .if !defined(PKG_ARGS) - -PKG_ARGS= -v -c -${COMMENT:Q} -d ${DESCR} -f ${TMPPLIST} -p ${PREFIX} -P "`cd ${.CURDIR} && ${MAKE} package-depends | ${GREP} -v -E ${PKG_IGNORE_DEPENDS} | ${SORT} -u`" ${EXTRA_PKG_ARGS} $${_LATE_PKG_ARGS} --+PORTMANAGER= ${LOCALBASE}/bin/portmanager /${PKGORIGIN} package-depends -++PORTMANAGER= ${LOCALBASE}/bin/portmanager /${PKGORIGIN} package-depends | ${GREP} -v -E "^MGPMr" - +PKG_ARGS= -v -c -${COMMENT:Q} -d ${DESCR} -f ${TMPPLIST} -p ${PREFIX} -P "`cd ${.CURDIR} && ${PORTMANAGER} | ${GREP} -v -E ${PKG_IGNORE_DEPENDS} | ${SORT} -u`" ${EXTRA_PKG_ARGS} $${_LATE_PKG_ARGS} - +###PKG_ARGS= -v -c -${COMMENT:Q} -d ${DESCR} -f ${TMPPLIST} -p ${PREFIX} -P "`cd ${.CURDIR} && ${MAKE} package-depends | ${GREP} -v -E ${PKG_IGNORE_DEPENDS} | ${SORT} -u`" ${EXTRA_PKG_ARGS} $${_LATE_PKG_ARGS} - .if !defined(NO_MTREE) diff --git a/sysutils/portmanager/files/patch-portmanager__portmanager.c b/sysutils/portmanager/files/patch-portmanager__portmanager.c deleted file mode 100644 index faa8db0be070..000000000000 --- a/sysutils/portmanager/files/patch-portmanager__portmanager.c +++ /dev/null @@ -1,17 +0,0 @@ ---- ./portmanager/portmanager.c.orig Mon Dec 12 19:20:58 2005 -+++ ./portmanager/portmanager.c Fri Dec 8 17:13:00 2006 -@@ -34,7 +34,13 @@ - int main( int argc, char** argv, char** argp) - { - int errorCode = 0; -- -+ -+ if ( getuid() != 0 ) -+ { -+ fprintf( stderr, "%s must be run as root\n", argv[0] ); -+ exit( 1 ); -+ } -+ - errorCode = MGPMrCommandLine( argc, (char**)argv, (char**)argp ); - exit( errorCode ); - } diff --git a/sysutils/portmanager/pkg-descr b/sysutils/portmanager/pkg-descr deleted file mode 100644 index f79b42979e29..000000000000 --- a/sysutils/portmanager/pkg-descr +++ /dev/null @@ -1,18 +0,0 @@ -FreeBSD port collection management. Update your ports easily. Great -for users of KDE or GNOME who need to be concerned about how -dependency ports are built. - -**New options** - -1) Single port update/add/rebuild examples: - -portmanager x11/gnome2 updates/adds gnome2 and dependencies -portmanager x11/gnome2 -f rebuilds gnome2 and dependencies - -2) portmanager -u -f forces rebuild of everything - -3) -sl showleaves and -slid delete leaves - now no longer list build dependencies - -WWW: http://portmanager.sourceforge.net/ -Author: Michael C. Shultz <ringworm01@gmail.com> diff --git a/sysutils/portmanager/pkg-message b/sysutils/portmanager/pkg-message deleted file mode 100644 index 22bf923cefcf..000000000000 --- a/sysutils/portmanager/pkg-message +++ /dev/null @@ -1,21 +0,0 @@ -* -* portmanager -* -* upgrade ports example: -* -* portmanager -u -ip editors/nedit editors/openoffice -* -* upgrades everything except nedit,open office and their dependencies -* -* portmanager x11/gnome2 -l -* -* upgrade gnome2 and its dependencies with logging enabled -* -* portmanager x11/gnome2 -l -f -* -* rebuild gnome2 and its dependencies -* -* portmanager -slid will let you safely remove leaf ports -* -* see man portmanager(1) or http://portmanager.sunsite.dk -* diff --git a/sysutils/portmanager/pkg-plist b/sysutils/portmanager/pkg-plist deleted file mode 100644 index dac7ae1fd888..000000000000 --- a/sysutils/portmanager/pkg-plist +++ /dev/null @@ -1,28 +0,0 @@ -@unexec rm -f %D/etc/portmanager/pm-039-pkg-tools.conf 2>/dev/null || true -@unexec rm -f %D/share/portmanager/pkgtools.db 2>/dev/null || true -@unexec rm -f %D/share/portmanager/3strikes.db 2>/dev/null || true -@unexec rm -f %D/share/portmanager/commandLine.db 2>/dev/null || true -@unexec rm -f %D/share/portmanager/configure.db 2>/dev/null || true -@unexec rm -f %D/share/portmanager/configure.db.temp 2>/dev/null || true -@unexec rm -f %D/share/portmanager/ignore.db 2>/dev/null || true -@unexec rm -f %D/share/portmanager/pkg.db || true -@unexec rm -f %D/share/portmanager/portCache.tmp 2>/dev/null || true -@unexec rm -f %D/share/portmanager/ports_available.db 2>/dev/null || true -@unexec rm -f %D/share/portmanager/ports_available_dependencies.db 2>/dev/null || true -@unexec rm -f %D/share/portmanager/ports_cache.db 2>/dev/null || true -@unexec rm -f %D/share/portmanager/ports_dependencies.db 2>/dev/null || true -@unexec rm -f %D/share/portmanager/ports_installed.db 2>/dev/null || true -@unexec rm -f %D/share/portmanager/ports_old.db 2>/dev/null || true -%%DATADIR%%/help.txt -%%DATADIR%%/patch-bsd.port.mk-0.3.6 -%%DATADIR%%/pkgtools-to-portmanager.rb -%%DATADIR%%/bsd.port.mk-BACKUP -bin/portmanager -etc/portmanager/pm-020.conf.SAMPLE -include/libMG.h -lib/libMG.so -lib/libMG.so.2 -lib/libMGPM.so -lib/libMGPM.so.1 -@dirrmtry etc/portmanager -@dirrmtry share/portmanager diff --git a/sysutils/portmaster/Makefile b/sysutils/portmaster/Makefile deleted file mode 100644 index ebb5ce2ac668..000000000000 --- a/sysutils/portmaster/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -# New ports collection makefile for: portmaster -# Date created: 20 February 2006 -# Whom: Doug Barton <dougb@FreeBSD.org> -# -# $FreeBSD$ -# -# This port is self contained in the files directory. -# - -PORTNAME= portmaster -PORTVERSION= 1.12 -CATEGORIES= sysutils -MASTER_SITES= # none -DISTFILES= # none - -MAINTAINER= dougb@FreeBSD.org -COMMENT= Manage your ports without external databases or languages - -NO_BUILD= yes -SUB_FILES= portmaster.sh - -PLIST_FILES= sbin/portmaster - -MAN8= portmaster.8 - -do-fetch: - @${DO_NADA} - -do-install: - ${INSTALL_SCRIPT} ${WRKDIR}/portmaster.sh ${PREFIX}/sbin/portmaster - ${INSTALL_MAN} ${FILESDIR}/portmaster.8 ${MAN8PREFIX}/man/man8 - -.include <bsd.port.mk> diff --git a/sysutils/portmaster/files/portmaster.8 b/sysutils/portmaster/files/portmaster.8 deleted file mode 100644 index f9cf04eaee44..000000000000 --- a/sysutils/portmaster/files/portmaster.8 +++ /dev/null @@ -1,272 +0,0 @@ -.\" Copyright (c) 2006-2007 Doug Barton dougb@FreeBSD.org -.\" 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. -.\" -.\" $FreeBSD$ -.\" -.Dd January 9, 2007 -.Dt PORTMASTER 8 -.Os -.Sh NAME -.Nm portmaster -.Nd manage your ports without external databases or languages -.Sh SYNOPSIS -.Nm -.Op Fl CGgntv [B|b] [uf|i] [D|d] m Ar arguments for make -.Op Ar full name of port directory in /var/db/pkg -.Nm -.Op Fl CGgntv [B|b] [uf|i] [D|d] m Ar arguments for make -.Op Ar full path to /usr/ports/foo/bar -.Nm -.Op Fl CGgntv [B|b] [uf|i] [D|d] m Ar arguments for make -.Op Ar Multiple full names/paths from either of the above -.Nm -.Op Fl CGgntv [B|b] [uf|i] [D|d] m Ar arguments for make -.Op Ar glob pattern from /var/db/pkg -.Nm -.Op Fl CGgntv [B|b] [uf|i] [D|d] m Ar arguments for make -.Op Fl p Ar port directory in /usr/ports -.Nm -.Op Fl CGgntv [B|b] [uf|i] [D|d] m Ar arguments for make -.Op . [Use in /usr/ports/foo/bar to build that port] -.Nm -.Op Fl CGgntv [B|b] [uf|i] [D|d] m Ar arguments for make -.Fl o Ar <new port dir in /usr/ports> <installed port> -.Nm -.Op Fl CGgntv [B|b] [uf|i] [D|d] m Ar arguments for make -.Fl r Ar name/glob of port in /var/db/pkg -.Nm -.Op Fl CGgntv [B|b] [uf|i] [D|d] m Ar arguments for make -.Fl a -.Nm -.Fl [l|L] -.Nm -.Op Fl b [D|d] -.Fl e Ar name of port directory in -.Pa /var/db/pkg -.Nm -.Op Fl b [D|d] -.Fl s -.Nm -.Fl h -.Pp -.Sh DESCRIPTION -The -.Nm -utility is a simple tool for managing your ports. -It uses no external database to track what you -have installed. -Rather it uses the existing ports infrastructure, -including what is located in -.Pa /var/db/pkg . -The focus of this tool is to keep the dependency -tracking information for your ports up to date, -which allows you to update a specific port without -having to update all of the ports -.Dq above -it. -In the rare case where you do need to recompile -ports which depend on a port you are updating, -the -.Fl r -option exists to accomplish this. -.Pp -By default -.Nm -will first recurse through the port to update, -and all of its dependencies (if any) to handle -any port OPTIONS via the 'make config' interface. -It will then start building all ports that need -updating. -While recursing through dependencies, -a 'make checksum' process will be launched -in the background to either verify that the -correct distfiles are available, -or start downloading the new ones. -If you stop -.Nm -with ^C, an attempt will be made to kill off all -the child processes started for this purpose. -.Pp -If the recursion through the ports for 'make -config' does not find a port that needs updating, -the dependency check step will be skipped prior -to building the port specified on the command line. -In addition to this optimization, -information about up-to-date dependencies, -choices made on which ports to build for -interactive mode, -and ports already visited for 'make config' are -all cached to enhance performance and prevent -duplicated efforts. -.Pp -While recursing through the dependencies, -if a port is marked IS_INTERACTIVE this will -be flagged. -In the absence of this notification, -under normal circumstances the only user interaction -required after the port starts building is to answer -questions about the deletion of stale distfiles. -This can be eliminated with the -.Fl d -option. -.Pp -While checking dependencies, if a port has CONFLICTS -set, the list will be checked against your installed ports, -and if you have installed an alternate version of a port -that is required by the port you are building, -it will be used in place of the default dependency. -.Pp -If there is no -.Fl B -option specified when updating an existing port, -a backup package will be created before -.Xr pkg_delete 1 -is called. -If there is no -.Fl b -option specified, the backup package will be deleted -once the new version of the port is successfully installed. -If the installation fails for whatever reason, -a helpful message will be printed, along with instructions -on where to find the backup package. -.Pp -At the conclusion of a successful installation, -whether of an individual port, a list of ports, -or when using the -.Fl a -option, any -.Pa pkg-message -files that were installed during the installation -will be displayed. -.Sh OPTIONS -The options are as follows: -.Bl -tag -width F1 -.It Fl B -prevents creation of the backup package for the installed port -.It Fl C -prevents 'make clean' being run in port directory -.It Fl G -prevents the recursive 'make config' -.It Fl b -create and keep a backup package of an installed port -.It Fl g -create a package of the new port -.It Fl n -do not actually perform any updates -.It Fl t -recurse dependencies thoroughly, using all-depends-list -.It Fl v -verbose output -.It Fl u -unattended mode, accepts defaults for all -.Nm -dialogues -.It Fl f -always rebuild ports (overrides -i) -.It Fl i -interactive update mode -.It Fl D -prevents cleaning of distfiles -.It Fl d -always clean distfiles -.It Fl m Ar arguments for make -any arguments to supply to -.Xr make 1 -.It Fl p Ar port directory in /usr/ports -Specify the full path to a port directory -.It Fl o Ar <new port dir in /usr/ports> <installed port> -Replace the installed port with a port from a different origin -.It Fl r Ar name/glob of port in /var/db/pkg -rebuild port, and all ports that depend on it -.It Fl a -check all ports, update as necessary -.It Fl l -list all installed ports by category -.It Fl L -list all installed ports by category, and search for updates -.It Fl e Ar name of port directory in /var/db/pkg -Expunge port using -.Xr pkg_delete 1 , -and optionally removing all distfiles. -Calls -.Fl s -mode after it is done expunging in case removing -the port causes a dependency to no longer be -necessary. -.It Fl s -clean out stale ports that used to be depended on -.It Fl h -display help file -.El -.Sh MAKE ENVIRONMENT -If the directory pointed to by the PKGREPOSITORY -variable exists (by default -.Pa /usr/ports/packages/All ) -then it will be used to store new and backup packages. -.Pp -The UPGRADE_TOOL variable is set to -.Dq portmaster , -and the UPGRADE_PORT and UPGRADE_PORT_VER variables -are set to the full package name string and version -of the existing package being replaced, if any. -.Sh FILES -.Bl -tag -width ".Pa $HOME/.portmasterrc" -compact -.It Pa /etc/portmaster.rc -.It Pa $HOME/.portmasterrc -Optional system and user configuration files. -The variables set in the script's getopts routine -can be specified in these files to enable those options. -.It Pa /var/db/pkg/*/+IGNOREME -If this file exists, -.Nm -will ignore this port for the purpose of dependency -updates. -.El -.Sh EXIT STATUS -.Ex -std -.Sh EXAMPLES -The following is an example of a typical usage -of the -.Nm -command: -.Pp -.Dl "portmaster fooport-1.23" -.Dl "portmaster fooport" -.Dl "portmaster fooport-1.23 barport-4.56" -.Dl "portmaster -p /usr/ports/foo/fooport" -.Dl "portmaster foo/fooport" -.Dl "portmaster -r fooport-1.23" -.Dl "portmaster -o emulators/linux_base-fc4 linux_base-8-8.0_15" -.Pp -.Dl "portmaster -L | grep -B1 ' '" -Print only the ports that have available updates. -(Note that the whitespace between single quotes is a tab.) -.Sh SEE ALSO -.Xr make 1 , -.Xr pkg_delete 1 , -.Xr ports 7 -.Sh AUTHORS -This -manual page was written by -.An Doug Barton <dougb@FreeBSD.org> . diff --git a/sysutils/portmaster/files/portmaster.sh.in b/sysutils/portmaster/files/portmaster.sh.in deleted file mode 100644 index a1d6eea99ac2..000000000000 --- a/sysutils/portmaster/files/portmaster.sh.in +++ /dev/null @@ -1,1587 +0,0 @@ -#!/bin/sh - -# Local version: 1.147 -# $FreeBSD$ - -# Copyright (c) 2005-2007 Douglas Barton, All rights reserved -# Please see detailed copyright below - -trap trap_exit INT - -# Keep track of the parent process -if [ -z "$PARENT_PID" ]; then - PARENT_PID=$$ - : ${TMPDIR:=/tmp} - UPGRADE_TOOL=portmaster - export PARENT_PID TMPDIR UPGRADE_TOOL -fi - -# %%LOCALBASE%% and %%X11BASE%% are needed in path for make -PATH=/bin:/usr/bin:/sbin:/usr/sbin:%%LOCALBASE%%/bin:%%LOCALBASE%%/sbin:%%X11BASE%%/bin -if [ -n "$CCACHE_PATH" ]; then - if [ -z "$NOCCACHE" ]; then - PATH="%%LOCALBASE%%/libexec/ccache:$PATH" - fi -fi -export PATH - -umask 022 - -usage () { - echo "portmaster version `grep "[$]FreeBSD:" $0 | cut -d ' ' -f 4`" - echo '' - echo 'Usage:' - echo "Common flags: [-CGgntv B|b uf|i D|d] [-m <arguments for make>]" - echo "${0##*/} [Common flags] <full name of port directory in $pdb>" - echo "${0##*/} [Common flags] <full path to $pd/foo/bar>" - echo "${0##*/} [Common flags] Multiple full names/paths from $pdb|$pd" - echo '' - echo "${0##*/} [Common flags] <glob pattern of directory in $pdb>" - echo "${0##*/} [Common flags] -p <port directory in $pd>" - echo "${0##*/} [Common flags] . [Use in $pd/foo/bar to build that port]" - echo '' - echo "${0##*/} [Common flags] -o <new port dir in $pd> <installed port>" - echo "${0##*/} [Common flags] -r <name/glob of port directory in $pdb>" - echo '' - echo "${0##*/} -a [Common flags]" - echo '' - echo "${0##*/} -[l|L]" - echo '' - echo "${0##*/} [-b D|d] -e <full name of port directory in $pdb>" - echo "${0##*/} [-b D|d] -s" - echo '' - echo "${0##*/} -h" - echo '' - echo "-C prevents 'make clean' being run in port directory" - echo "-G prevents recursive 'make config'" - echo '-B prevents creation of the backup package for the installed port' - echo '-b create and keep a backup package of an installed port' - echo '-g create a package of the new port' - echo '-n do not actually make or install any ports' - echo '-t recurse dependencies thoroughly, using all-depends-list' - echo '-v verbose output' - echo "-u unattended mode -- accept defaults for all but 'make config'" - echo '-f always rebuild ports (overrides -i)' - echo '-i interactive update mode' - echo '-D prevents cleaning of distfiles' - echo '-d always clean distfiles' - echo "-m <arguments for the 'make' command line>" - echo '' - echo '-o Replace the installed port with a port from a different origin' - echo '-r rebuild port, and all ports that depend on it' - echo '-a check all ports, update as necessary' - echo '' - echo '-l list installed ports by category' - echo '-L list installed ports by category, and search for updates' - echo '' - echo '-e expunge a port via pkg_delete, and removing its distfiles' - echo '-s clean out stale ports that used to be depended on' - echo '' - echo '-h display this help file' - echo '' - exit ${1:-1} -} - -fail () { - echo '' - echo "===>>> $1" - echo "===>>> Aborting update" - exit 1 -} - -kill_bad_children () { - # Make parent_N global in case PIDs are random, - # and we have to come back in here after them. - local rc pid ppid command - - rc=0 - ps -axo pid,ppid,command | while read pid ppid command; do - case "$ppid" in - 1) case "$command" in - *" $0 "*) rc=1 ; parent_2=$pid ; kill $pid ;; - esac - ;; - $parent_2) - case "$command" in - 'make checksum') rc=1 ; parent_3=$pid ; kill $pid ;; - esac - ;; - $parent_3|1) - case "$command" in - \[sh\]|*'/sh '*) rc=1 ; parent_4=$pid ; kill $pid ;; - esac - ;; - $parent_4|1) - case "$command" in - \[sh\]|*'/sh '*) rc=1 ; parent_5=$pid ; kill $pid ;; - esac - ;; - $parent_5|1) - case "$command" in - *'/fetch '*) rc=1 ; kill $pid ;; - esac - ;; - esac - done - - return $rc -} - -trap_exit () { - local pid - - if [ -n "$portdir" ]; then - echo '' - echo "===>>> Upgrade for $portdir exiting due to signal" - else - echo "===>>> Exiting due to signal" - fi - - if [ "$$" -eq "$PARENT_PID" ]; then - for file in ${TMPDIR}/fetchlog-${PARENT_PID}-*; do - pid=`awk '/^MCS_CHILD_PID / {print $2}' $file 2>/dev/null` - test -n "$pid" || continue - echo -n "===>>> Child process $pid: " - if kill $pid >/dev/null 2>&1; then - echo Terminated - else - if ps -p $pid >/dev/null; then - echo "Did not die!" - else - echo Terminated - fi - fi - rm -f $file - done - - while ! kill_bad_children ; do - # cheap way to keep it looping - done - fi - - safe_exit 1 -} - -safe_exit () { - echo '' - test -n "$grep_deps" && rm -f $grep_deps - test -n "$req_deps" && rm -f $req_deps - - if [ "$$" -eq "$PARENT_PID" ]; then - test -n "$NO_DEP_UPDATES" && rm -f $NO_DEP_UPDATES - test -n "$IPC_SAVE" && rm -f $IPC_SAVE - if [ -n "$MASTER_RB_LIST" ]; then - case "$MASTER_RB_LIST" in - */+REQUIRED_BY) ;; - *) rm -f $MASTER_RB_LIST ;; - esac - fi - for file in ${TMPDIR}/f-${PARENT_PID}-*; do - test -f $file && unlink $file - done - - if [ -n "$DISPLAY_LIST" ]; then - for f in $DISPLAY_LIST; do - echo "===>>> pkg-message for ${f%/+DISPLAY}" - cat $pdb/$f - echo '' - done - - echo "===>>> Done displaying pkg-message files" - fi - else - # Save state for the parent process to read back in - echo "CURRENT_DEPS_O='$CURRENT_DEPS_O'" >> $IPC_SAVE - echo "CURRENT_DEPS_I='$CURRENT_DEPS_I'" >> $IPC_SAVE - echo "IGNOREME_YES='$IGNOREME_YES'" >> $IPC_SAVE - echo "DISPLAY_LIST='$DISPLAY_LIST'" >> $IPC_SAVE - - if [ -n "$INTERACTIVE_UPDATE" ]; then - echo "INTERACTIVE_YES='$INTERACTIVE_YES'" >> $IPC_SAVE - echo "INTERACTIVE_NO='$INTERACTIVE_NO'" >> $IPC_SAVE - fi - if [ -n "$URB_YES" ]; then - echo "URB_DONE_LIST='$URB_DONE_LIST'" >> $IPC_SAVE - fi - if [ -n "$FORCE" ]; then - echo "FORCE_DONE_LIST='$FORCE_DONE_LIST'" >> $IPC_SAVE - fi - fi - - exit ${1:-0} -} - -update_contents () { - local tempfile - - tempfile=`mktemp -t tempfile-${new_port}` - - sed "s/@pkgdep $1/@pkgdep $2/" $dep_port_contents > $tempfile && - mv $tempfile $pdb/$dep_port/+CONTENTS - chmod 644 $pdb/$dep_port/+CONTENTS - - if [ -n "$oldportdir" ]; then - sed "s%N:${oldportdir}\$%N:${newportdir}%" $dep_port_contents > $tempfile && - mv $tempfile $pdb/$dep_port/+CONTENTS - chmod 644 $pdb/$dep_port/+CONTENTS - - fi -} - -dep_warn () { - local num_ports1 - - echo '' - echo "===>>> Warning! Potential unrecorded dependencies on $new_port" - echo "===>>> From existing +CONTENTS files:" - grep -B1 DEPORIGIN:$upg_origin$ $pdb/*/+CONTENTS | - sort -u | sed -e "s#$pdb/##" -e 1d - num_ports1=`grep DEPORIGIN:$upg_origin$ $pdb/*/+CONTENTS | - sort -u | wc -l | awk '{print $1}'` - echo "===>>> $num_ports1 ports" - echo '' -} - -update_reqfile () { - local num_ports2 sdiff_deps - - dep_warn - num_ports2=`wc -l $req_deps | awk '{print $1}'` - echo "===>>> From $pdb/$upg_port/+REQUIRED_BY:" - cat $req_deps - echo "===>>> $num_ports2 ports" - echo '' - echo "===>>> Use dependencies from existing +CONTENTS files [c]" - echo "===>>> Use dependencies from existing +REQUIRED_BY file [r]" - echo "===>>> Use sdiff to edit both files into a new file [s]" - echo '' - if [ -z "$UNATTENDED" ]; then - echo -n "===>>> Update dependency list? [r] " - read DEPUPDATE - - case "$DEPUPDATE" in - [cC]) mv $grep_deps $req_deps ; unset grep_deps ;; - [sS]) sdiff_deps=`mktemp -t sdiff-deps-${short_port}` - sdiff -o $sdiff_deps --text --suppress-common-lines \ - --width=`tput columns` $req_deps $grep_deps - mv $sdiff_deps $req_deps - ;; - esac - else - echo "===>>> Default (use +REQUIRED_BY file) in unattended mode" - fi -} - -update_port () { - local upd upd_origin - - if [ -n "$NO_DEP_UPDATES" ]; then - rm -f $NO_DEP_UPDATES - unset NO_DEP_UPDATES - fi - - case "$1" in - -p) upd=$2 - test -n "$URB_YES" && upd_origin=${2#$pd/} - ;; - *) upd=$1 - test -n "$URB_YES" && upd_origin=`origin_from_pdb $pdb/$1` - ;; - esac - - echo "===>>> Launching child to update ${upd#$pd/}" - echo '' - if [ -z "$NO_ACTION" ]; then - ($0 $ARGS $@) || fail "Update for $upd failed" - . $IPC_SAVE - - # Only do this if we are in the +REQUIRED_BY code to - # avoid nasty (potential) circular dependencies - if [ -n "$URB_YES" ]; then - URB_DONE_LIST="${URB_DONE_LIST}${upd_origin}:" - fi - else - test -n "$VERBOSE" && - echo "===>>> Build canceled due to -n flag" - fi - - if [ -n "$UPDATE_ALL" ]; then - echo "===>>> Returning to update check of installed ports" - elif [ -n "$UPDATE_REQ_BYS" ]; then - return 0 - elif [ -n "$CONFIG_ONLY" ]; then - echo "===>>> Continuing 'make config' dependency check for $portdir" - else - echo "===>>> Returning to dependency check for $portdir" - fi - - return 0 -} - -check_interactive () { - local UPD_OR_NOT - - if [ -n "$INTERACTIVE_UPDATE" ]; then - case "$INTERACTIVE_YES" in - *:${1}:*) return 0 ;; - esac - - case "$INTERACTIVE_NO" in - *:${1}:*) return 1 ;; - esac - - echo -n "===>>> Update ${1}? [y] " - read UPD_OR_NOT - case "$UPD_OR_NOT" in - [nN]*) INTERACTIVE_NO="${INTERACTIVE_NO}${1}:" - return 1 - ;; - *) INTERACTIVE_YES="${INTERACTIVE_YES}${1}:" ;; - esac - fi - - return 0 -} - -iport_from_origin () { - local dir - - dir=`grep -l "@comment ORIGIN:${1}$" $pdb/*/+CONTENTS` - - # It should not happen that more than one port meets this - # requirement, but it can if the pkg data is corrupted. - dir="${dir%%/+CONTENTS*}" - dir="${dir#$pdb/}" - - echo $dir -} - -origin_from_pdb () { - grep '@comment ORIGIN' ${1}/+CONTENTS 2>/dev/null | cut -f2 -d':' -} - -check_for_updates () { - local upd_port port_ver do_update - - upd_port=`origin_from_pdb $pdb/$1` - if [ -z "$upd_port" ]; then - if [ -n "$VERBOSE" ]; then - echo "===>>> No ORIGIN in $pdb/$1/+CONTENTS" - echo '' - fi - return 0 - fi - - if [ -d "$pd/$upd_port" ]; then - cd $pd/$upd_port || - fail "Cannot cd to port directory: $pd/$upd_port" - port_ver=`make $MAKE_ARGS -V PKGNAME` - - if [ "$1" = "$port_ver" ]; then - if [ -z "$LIST" -a -z "$LIST_PLUS" ]; then - # Keep list both ways to increase performance - CURRENT_DEPS_O="${CURRENT_DEPS_O}${upd_port}:" - CURRENT_DEPS_I="${CURRENT_DEPS_I}${1}:" - fi - return 0 - fi - - case `pkg_version -t $1 $port_ver` in - \<) do_update=yes ;; - =) ;; - *) if [ -n "$VERBOSE" ]; then - echo '' - echo " ===>>> Port version $port_ver does not" - echo " ===>>> seem newer than installed $1" - echo '' - fi - ;; - esac - else - # This will fail if it doesn't exist anymore - # It will return 1 if we know nothing about the port - find_moved_port $upd_port || return 0 - - # If the port has moved, we have to update it - do_update=yes - fi - - if [ -n "$do_update" ]; then - case "$2" in - list) if [ -z "$newportdir" ]; then - echo " ===>>> New version available: $port_ver" - num_updates=$(( $num_updates + 1 )) - else - unset newportdir - fi - return 0 - ;; - esac - - if ! check_interactive $1 ; then - return 0 - fi - - update_port $1 || return 1 - fi - - return 0 -} - -find_moved_port () { - # newportdir and oldportdir are used globally - local l m sf - - sf=$1 - - while read l; do - case "$l" in - ${sf}\|\|*) m=`echo $l | cut -f 4 -d\|` - fail "The $sf port has been deleted: $m" - ;; - ${sf}\|*) newportdir=`echo $l | cut -f 2 -d\|` - m=`echo $l | cut -f 4 -d\|` - echo '' - echo "===>>> The $sf port moved to $newportdir" - echo "===>>> Reason: $m" - echo '' - sf=$newportdir - ;; - esac - done < $pd/MOVED - - if [ -z "$newportdir" ]; then - echo '' - echo "===>>> No $pd/$1 exists, and no information" - echo "===>>> about $1 can be found in $pd/MOVED" - echo '' - return 1 - fi - - oldportdir=$1 - - return 0 -} - -ports_by_category () { - local pkg - - for pkg in $pdb/*; do - if [ -s "$pkg/+REQUIRED_BY" ]; then - if grep -q '^@pkgdep ' $pkg/+CONTENTS 2>/dev/null; then - branches="$branches $pkg" - else - trunks="$trunks $pkg" - fi - else - if grep -q '^@pkgdep ' $pkg/+CONTENTS 2>/dev/null; then - leaves="$leaves $pkg" - else - test -s $pkg/+CONTENTS && roots="$roots $pkg" - fi - fi - done -} - -dependency_check () { - # Re-use dep_port_list for efficiency - local dl_type dep_port ign_p cur_p upd_args p op old_p conflicts glob conflict_port - - # Print a message here because sometimes list generation takes - # a long time to return. - if [ -z "$dep_port_check_done" ]; then - dl_type='build-depends-list run-depends-list' - [ -n "$RECURSE_THOROUGH" ] && dl_type=all-depends-list - echo "===>>> Gathering dependency list for $portdir from ports" - dep_port_list=`make $MAKE_ARGS $dl_type | sort -u` - dep_port_check_done=yes - fi - - if [ -z "$dep_port_list" ]; then - echo "===>>> No dependencies for $portdir" - return 0 - else - if [ -n "$CONFIG_ONLY" ]; then - echo "===>>> Starting recursive 'make config' check" - else - echo "===>>> Starting dependency check" - fi - fi - - for dep_port in $dep_port_list; do - test -n "$VERBOSE" && - echo "===>>> Checking dependency: $dep_port" - - # Do this first to catch out of date dependencies - if [ -n "$CONFIG_ONLY" ]; then - case "$CONFIG_SEEN_LIST" in - *:${dep_port#$pd/}:*) continue ;; - esac - CONFIG_SEEN_LIST="${CONFIG_SEEN_LIST}${dep_port#$pd/}:" - fi - - case "$CURRENT_DEPS_O" in - *:${dep_port#$pd/}:*) continue ;; - esac - - case "$FORCE_DONE_LIST" in - *:${dep_port#$pd/}:*) continue ;; - esac - - cd $dep_port && - conflicts=`make -V $MAKE_ARGS CONFLICTS` - for glob in $conflicts; do - conflict_port=`pkg_info -I $glob 2>/dev/null | - cut -f1 -d' '` - if [ -n "$conflict_port" ]; then - echo '' - echo "===>>> The dependency for ${dep_port#$pd/}" - echo " seems to be handled by $conflict_port" - echo '' - dep_port="$pd/`origin_from_pdb $pdb/$conflict_port`" - fi - done - - cur_p=`iport_from_origin ${dep_port#$pd/}` - if [ -n "$cur_p" ]; then - upd_args=$cur_p - ign_p=$cur_p - else - upd_args="-p $dep_port" # Sensible default - # Check to see if the dependency has moved because - # if so, we need to update the old port to fix it - p=${dep_port#$pd/} - op=`sed -ne "s#\([^|]*\)|$p|.*#\1#p" $pd/MOVED` - # In case there is more than one match, use the latest - op=`echo $op | sed 's/.* //'` - - if [ -n "$op" ]; then - old_p=`iport_from_origin ${op}` - if [ -n "$old_p" ]; then - upd_args=$old_p - ign_p=$old_p - fi - fi - fi - - if [ -e "$pdb/$ign_p/+IGNOREME" ]; then - if [ -n "$VERBOSE" ]; then - echo '' - echo "===>>> Skipping $ign_p due to +IGNOREME file" - echo '' - fi - continue - fi - - if [ -n "$FORCE" ]; then - echo "===>>> Forcing update for $dep_port" - update_port $upd_args - continue - fi - - if [ -z "$cur_p" -a -n "$old_p" ]; then - cur_p=$old_p - fi - - if [ -n "$URB_YES" -a -n "$cur_p" ]; then - case "$URB_DONE_LIST" in - *:${dep_port#$pd/}:*) continue ;; - esac - - if grep -q $cur_p $MASTER_RB_LIST; then - if ! check_interactive $cur_p ; then - continue - fi - - update_port $cur_p || return 1 - continue - fi - fi - - if [ -n "$cur_p" ]; then - check_for_updates $cur_p - else - if ! check_interactive $dep_port ; then - continue - fi - - update_port -p $dep_port - fi - done - if [ -n "$CONFIG_ONLY" ]; then - echo "===>>> Recursive 'make config' check complete for $portdir" - else - echo "===>>> Dependency check complete for $portdir" - echo '' - fi -} - -unset_recursive_config () { - unset CONFIG_SEEN_LIST CONFIG_ONLY -} - -req_by_error () { - local DISCARD - - echo "===>>> WARNING! $pdb/$1/+REQUIRED_BY " - echo "===>>> shows that $2 requires $1, but " - echo "===>>> $2 does not seem to be installed" - echo -n "===>>> Press Enter to proceed " - read DISCARD -} - -find_and_delete_distfiles () { - # old_distpattern is used for subsequent invocations of the function - local distpattern file DELORNOT - - distpattern=${1%[_-]*} - [ "$distpattern" = "$old_distpattern" ] && return 0 - for file in ${distpattern}*; do - # This generally means the pattern did not match - case "$file" in - *\*) old_distpattern=$distpattern - find_and_delete_distfiles ${distpattern} - continue - ;; - esac - - case "$distfiles" in - *${file}*) - if [ -n "$VERBOSE" -a -z "$do_delete" ]; then - echo "===>>> Keeping current distfile: $file" - fi - continue # Do not delete current version - ;; - *) [ ! -d "$file" ] || continue - if [ -n "$ALWAYS_SCRUB_DISTFILES" ]; then - echo "===>>> Deleting stale distfile: $file" - rm -f $file - continue - fi - - echo -n "===>>> Delete $file? [n] " - read DELORNOT - case "$DELORNOT" in - [yY]) rm -f $file ;; - esac - ;; - esac - done -} - -delete_stale_distfiles () { - # distfiles is used globally - local distdir dist_subdir file DELORNOT distfile - - distdir=`make $MAKE_ARGS -V DISTDIR` - dist_subdir=`make $MAKE_ARGS -V DIST_SUBDIR` - test -n "$dist_subdir" && distdir="${distdir}/${dist_subdir}" - - # Also used in find_and_delete_distfiles() to make sure - # we do not delete the current set of distfiles - distfiles=`make $MAKE_ARGS -V ALLFILES` - - if [ -d "$distdir" ]; then - cd $distdir || fail "cd to $distdir failed!" - else - echo '' ; echo '' - echo "===>>> $distdir does not exist, therefore we" - echo " will assume that all relevant distfiles are gone." - echo '' - return 0 - fi - - # If these two match, it means that the distfiles in the +CONTENTS - # file are the current set, so do not delete them. - if [ ! "$cont_distfiles" = "${distfiles% }" ]; then - for file in $cont_distfiles; do - [ -f $file ] || continue - - if [ -n "$ALWAYS_SCRUB_DISTFILES" ]; then - echo "===>>> Deleting stale distfile: $file" - rm -f $file - continue - fi - - echo -n "===>>> Delete $file? [n] " - read DELORNOT - case "$DELORNOT" in - [yY]) rm -f $file ;; - esac - done - fi - - # Eventually we will hide this behind an "aggressive distfile purge" - # flag, but until the DISTFILE stuff is well populated in +CONTENTS, - # keep doing it both ways. - for distfile in $distfiles; do - find_and_delete_distfiles $distfile - done -} - -delete_all_distfiles () { - # do_delete is used globally - local DELORNOT - - if ! cd $pd/$1; then - echo '' - echo "===>>> No $pd/$1 to cd to in order to delete" - echo " old distfiles, remove by hand if desired" - else - if [ -n "$ALWAYS_SCRUB_DISTFILES" ]; then - echo "===>>> Deleting all distfiles for $1" - do_delete=1 - else - echo -n "===>>> Delete all distfiles for ${1}? [n] " - read DELORNOT - case "$DELORNOT" in - [yY]) do_delete=1 ;; - *) delete_stale_distfiles ;; - esac - fi - - if [ -n "$do_delete" ]; then - delete_stale_distfiles - rm -f $distfiles - find $pd/distfiles/ -type d -empty -delete - fi - fi -} - -backup_package () { - # pkgrep and bu_pkg_name are used globally - - echo "===>>> Creating a backup package for old version $1" - if pkg_create -b $1; then - [ -z "$pkgrep" ] && - pkgrep=`make $MAKE_ARGS -f $pd/Mk/bsd.port.mk -V PKGREPOSITORY` - if [ ! -d "$pkgrep" ]; then - pkgrep=$HOME - fi - bu_pkg_name=`echo ${1}.*` - mv $bu_pkg_name $pkgrep/ && - echo " ===>>> Package can be found in $pkgrep" - else - local PROCEED - - if [ -z "$UNATTENDED" ]; then - echo '' - echo "===>>> Backup package creation failed for ${1}!" - echo '' - echo "===>>> Ignore this error [i]" - echo "===>>> Abort update [a]" - echo '' - echo -n "===>>> How would you like to proceed? [i] " - read PROCEED - case "$PROCEED" in - a) fail "Backup package creation failed for $1" ;; - esac - else - fail "Backup package creation failed for $1" - fi - fi -} - -pd=`make $MAKE_ARGS -f/dev/null -V PORTSDIR 2>/dev/null` -pdb=`make $MAKE_ARGS -f/dev/null -V PKG_DBDIR 2>/dev/null` - -# Read a global rc file first -if [ -r /etc/portmaster.rc ]; then - . /etc/portmaster.rc -fi - -# Read a local one next, and allow the command line to override -if [ -r "$HOME/.portmasterrc" ]; then - . $HOME/.portmasterrc -fi - -# Set default values here so that they can be overriden above -: ${pd:=/usr/ports} -: ${pdb:=/var/db/pkg} - -# Save switches for potential child processes -while getopts 'BCDGLabde:fghilm:nop:r:stuv' COMMAND_LINE_ARGUMENT ; do - case "${COMMAND_LINE_ARGUMENT}" in - B) NO_BACKUP=yes; ARGS="-B $ARGS" ;; - C) DONT_PRE_CLEAN=yes; ARGS="-C $ARGS" ;; - D) DONT_SCRUB_DISTFILES=yes; ARGS="-D $ARGS" ;; - G) NO_RECURSIVE_CONFIG=yes; ARGS="-G $ARGS" ;; - L) LIST_PLUS=yes ;; - a) UPDATE_ALL=yes ;; - b) BACKUP=yes; ARGS="-b $ARGS" ;; - d) ALWAYS_SCRUB_DISTFILES=yes; ARGS="-d $ARGS" ;; - e) EXPUNGE=$OPTARG ;; - f) FORCE=yes - FORCE_DONE_LIST=':' - export FORCE FORCE_DONE_LIST - ;; - g) MAKE_PACKAGE=yes; ARGS="-g $ARGS" ;; - h) usage 0 ;; - i) INTERACTIVE_UPDATE=yes; ARGS="-i $ARGS" ;; - l) LIST=yes ;; - m) MAKE_ARGS=$OPTARG - export MAKE_ARGS # For 'make checksum' - ARGS="-m $MAKE_ARGS $ARGS" - ;; - n) NO_ACTION=yes; ARGS="-n $ARGS" ;; - o) REPLACE_ORIGIN=yes ;; - p) portdir="${OPTARG#$pd/}" ;; - r) UPDATE_REQ_BYS=yes; upg_port=$OPTARG ;; - s) CLEAN_STALE=yes ;; - t) RECURSE_THOROUGH=yes; ARGS="-t $ARGS" ;; - u) UNATTENDED=yes; ARGS="-u $ARGS" ;; - v) VERBOSE=yes; ARGS="-v $ARGS" ;; - *) usage ;; - esac -done -shift $(( $OPTIND - 1 )) - -if [ -n "$LIST" -o -n "$LIST_PLUS" ]; then - ports_by_category - - num_roots=0 - num_trunks=0 - num_branches=0 - num_leaves=0 - num_updates=0 - - echo "===>>> Root ports (No dependencies, not depended on)" - for port in $roots; do - echo "===>>> ${port##*/}" - [ -n "$LIST_PLUS" ] && check_for_updates ${port##*/} list - num_roots=$(( $num_roots + 1 )) - done - echo "===>>> $num_roots root ports" - echo '' - echo "===>>> Trunk ports (No dependencies, are depended on)" - for port in $trunks; do - echo "===>>> ${port##*/}" - [ -n "$LIST_PLUS" ] && check_for_updates ${port##*/} list - num_trunks=$(( $num_trunks + 1 )) - done - echo "===>>> $num_trunks trunk ports" - echo '' - echo "===>>> Branch ports (Have dependencies, are depended on)" - for port in $branches; do - echo "===>>> ${port##*/}" - [ -n "$LIST_PLUS" ] && check_for_updates ${port##*/} list - num_branches=$(( $num_branches + 1 )) - done - echo "===>>> $num_branches branch ports" - echo '' - echo "===>>> Leaf ports (Have dependencies, not depended on)" - for port in $leaves; do - echo "===>>> ${port##*/}" - [ -n "$LIST_PLUS" ] && check_for_updates ${port##*/} list - num_leaves=$(( $num_leaves + 1 )) - done - echo "===>>> $num_leaves leaf ports" - echo '' - num_ports=$(( $num_roots + $num_trunks + $num_branches + $num_leaves )) - echo "===>>> $num_ports total installed ports" - - if [ "$num_updates" -gt 1 ]; then - echo " ===>>> $num_updates have new versions available" - elif [ "$num_updates" -eq 1 ]; then - echo " ===>>> 1 has a new version available" - fi - - exit 0 -fi - -find_contents_distfiles () { - [ -n "$DONT_SCRUB_DISTFILES" ] && return 0 - - # cont_distfiles is used globally - local file - - for file in `grep DISTFILE $pdb/$1/+CONTENTS | cut -f2 -d:`; do - cont_distfiles="${cont_distfiles} ${file#*/}" - done - - cont_distfiles=${cont_distfiles# } -} - -if [ -n "$EXPUNGE" ]; then - if [ -d "$pdb/$EXPUNGE" ]; then - origin=`origin_from_pdb $pdb/$EXPUNGE` - deplist=`grep -l DEPORIGIN:$origin$ $pdb/*/+CONTENTS` - if [ -n "$deplist" ]; then - echo "===>>> Warning: ports with dependencies on ${EXPUNGE}:" - for dep in $deplist; do echo ${dep%/+CON*}; done - exit 1 - fi - - [ -n "$BACKUP" ] && backup_package $EXPUNGE - - find_contents_distfiles $EXPUNGE - - echo "===>>> Running pkg_delete -f $EXPUNGE" - pkg_delete -f $EXPUNGE - if [ -z "$DONT_SCRUB_DISTFILES" ]; then - delete_all_distfiles $origin - fi - exec $0 -s $ARGS - else - fail "No such directory/port: $pdb/$EXPUNGE" - fi - - exit 0 # Should not be reached -fi - -if [ -n "$CLEAN_STALE" ]; then - if [ -z "$do_not_delete" ]; then - do_not_delete=':' - export do_not_delete - fi - - for file in `find $pdb/ -name \+REQUIRED_BY -empty` ; do - dir="${file%/+REQUIRED_BY}" - iport=${dir#$pdb/} - - case "$do_not_delete" in - *:${iport}:*) continue ;; - esac - - echo '' - - origin=`origin_from_pdb $dir` - deplist=`grep -l DEPORIGIN:$origin$ $pdb/*/+CONTENTS` - if [ -n "$deplist" ]; then - echo "===>>> Warning: unrecorded dependencies on ${iport}:" - for dep in $deplist; do echo ${dep%/+CON*}; done - continue - fi - - echo -n "===>>> ${iport} is no longer depended on, delete? [n] " - read YESNO - case "$YESNO" in - [yY]) [ -n "$BACKUP" ] && backup_package $iport - - find_contents_distfiles $iport - - echo "===>>> Running pkg_delete -f $iport" - pkg_delete -f ${iport} - if [ -z "$DONT_SCRUB_DISTFILES" ]; then - delete_all_distfiles $origin - fi - exec $0 -s $ARGS - ;; - *) echo -n " ===>>> Remove empty +REQUIRED_BY file? [n] " - read DELORNOT - case "$DELORNOT" in - [yY]) rm -f $file ;; - *) do_not_delete="${do_not_delete}${iport}:" ;; - esac - ;; - esac - done - - exit 0 -fi - -test -n "$FORCE" && unset INTERACTIVE_UPDATE -if [ -n "$UNATTENDED" ]; then - unset INTERACTIVE_UPDATE - - if [ -z "$DONT_SCRUB_DISTFILES" -a -z "$ALWAYS_SCRUB_DISTFILES" ]; then - ALWAYS_SCRUB_DISTFILES=yes - ARGS="-d $ARGS" - fi -fi - -if [ "$$" -eq "$PARENT_PID" ]; then - CURRENT_DEPS_O=':' - CURRENT_DEPS_I=':' - IGNOREME_YES=':' - DISPLAY_LIST='' - IPC_SAVE=`mktemp -t ipc_save-$PARENT_PID` - export CURRENT_DEPS_O CURRENT_DEPS_I IGNOREME_YES DISPLAY_LIST IPC_SAVE - - if [ -n "$INTERACTIVE_UPDATE" ]; then - INTERACTIVE_YES=':' - INTERACTIVE_NO=':' - export INTERACTIVE_YES INTERACTIVE_NO - fi - - if [ -n "$UPDATE_REQ_BYS" ]; then - URB_DONE_LIST=':' - export URB_DONE_LIST - fi - - if [ -z "$CONFIG_ONLY" -a -z "$NO_RECURSIVE_CONFIG" ]; then - NO_DEP_UPDATES=`mktemp -t no_dep_updates-$PARENT_PID` - - CONFIG_SEEN_LIST=':' - CONFIG_ONLY=yes - export CONFIG_SEEN_LIST CONFIG_ONLY - fi - - if [ $# -gt 1 ]; then - if [ -z "$NO_RECURSIVE_CONFIG" ]; then - for port in $@; do - ($0 $ARGS $port) || - fail "Update for $port failed" - . $IPC_SAVE - done - unset_recursive_config - echo '' - echo "===>>> Starting build for ports: <<<===" - echo "===>>> $@ <<<===" - echo '' - fi - for port in $@; do - ($0 $ARGS $port) || fail "Update for $port failed" - . $IPC_SAVE - done - safe_exit - fi -else - # Zero out this file so that we can save our data to it safely - > $IPC_SAVE -fi - -if [ -n "$UPDATE_ALL" ]; then - echo "===>>> Starting check of installed ports for available updates" - ports_by_category - - if [ -n "$CONFIG_ONLY" ]; then - echo "===>>> Checking ports for recursive 'make config'" - for pkg in $roots $trunks $branches $leaves; do - test -n "$VERBOSE" && - echo "===>>> Checking installed port: ${pkg#$pdb/}" - - case "$CURRENT_DEPS_I" in - *:${pkg#$pdb/}:*) continue ;; - esac - - orig=`origin_from_pdb $pkg` - case "$CONFIG_SEEN_LIST" in - *:${orig}:*) continue ;; - esac - CONFIG_SEEN_LIST="${CONFIG_SEEN_LIST}${orig}:" - check_for_updates ${pkg#$pdb/} || fail 'Update failed' - done - - if [ -e "$NO_DEP_UPDATES" ]; then - echo "===>>> The 'make config' check revealed no ports to update" - safe_exit - fi - - unset_recursive_config - echo '' - echo "===>>> Starting build for ports that need updating <<<===" - echo '' - fi - - BUILDING=yes - export BUILDING - - for pkg in $roots $trunks $branches $leaves; do - if [ ! -d "$pkg" ]; then - # This port probably got updated as a dependency - # for something else - continue - fi - if [ -n "$FORCE" ]; then - p=`origin_from_pdb $pkg` - case "$FORCE_DONE_LIST" in - *:${p}:*) test -n "$VERBOSE" && - echo "===>>> Update for $p already done" - continue - ;; - esac - echo "===>>> Forcing update for ${pkg#$pdb/}" - update_port ${pkg#$pdb/} - continue - else - test -n "$VERBOSE" && - echo "===>>> Checking installed port: ${pkg#$pdb/}" - fi - - case "$CURRENT_DEPS_I" in - *:${pkg#$pdb/}:*) continue ;; - esac - check_for_updates ${pkg#$pdb/} || fail 'Update failed' - done - echo "===>>> Update check of installed ports complete" - safe_exit -fi - -if [ -n "$REPLACE_ORIGIN" ]; then - portdir="${1#$pd/}" - newportdir=$portdir - - if [ -d "$pdb/$2" ]; then - # Handle the portmaster'ish way to specify the port - upg_port=$2 - else - # Handle existing portupgrade syntax - upg_port=`grep -l " ORIGIN:${2#$pd/}$" $pdb/*/+CONTENTS` - [ -n "$upg_port" ] || - upg_port=`grep -l " ORIGIN:${2#$pd/}" $pdb/*/+CONTENTS` - [ -n "$upg_port" ] || - fail "Cannot find an installed port with ORIGIN $2" - upg_port="${upg_port%/+CONTENTS}" - upg_port="${upg_port#$pdb/}" - fi - - oldportdir=`origin_from_pdb $pdb/$upg_port` -fi - -# Exercised in the common case of not using -p option -case "$portdir" in -'') case "$1" in - '') test -z "$UPDATE_REQ_BYS" && usage ;; - ${pd}/*) portdir="${1#$pd/}" ;; - /*) upg_port="${1##*/}" ;; - \.) portdir="${PWD##*/ports/}" ;; - *) upg_port=$1 ;; - esac -esac - -case "$upg_port" in -'') test -n "$portdir" || usage - old_port_dir=`iport_from_origin ${portdir}` - if [ -n "$old_port_dir" ]; then - upg_port="${old_port_dir}" - fi - ;; -*) if [ ! -d "$pdb/$upg_port" ]; then - glob_dirs=`find $pdb -type d -name ${upg_port}\*` - case "$glob_dirs" in - *\*) fail "$upg_port did not match an installed port" ;; - *) for dir in $glob_dirs; do - echo -n "===>>> Update ${dir#$pdb/}? [n] " - read GLOB_DIR - case "$GLOB_DIR" in - [yY]) upg_port=${dir#$pdb/} - selected=yes - break - ;; - esac - done - test -n "$selected" || usage - ;; - esac - fi - echo "===>>> Port to upgrade: $upg_port" - if [ -z "$portdir" ]; then - portdir=`origin_from_pdb $pdb/$upg_port` - [ -n "$portdir" ] || - fail "No ORIGIN in $pdb/$upg_port/+CONTENTS" - fi - ;; -esac - -if [ -e "$pdb/$upg_port/+IGNOREME" ]; then - echo '' - if [ -z "$UNATTENDED" ]; then - if [ -z "$BUILDING" ]; then - echo "===>>> $upg_port has an +IGNOREME file" - echo -n "===>>> Update anyway? [n] " - read UPD_OR_NOT - case "$UPD_OR_NOT" in - [yY]*) IGNOREME_YES="${IGNOREME_YES}${upg_port}:" ;; - *) safe_exit ;; - esac - else - case "$IGNOREME_YES" in - *:${upg_port}:*) ;; - *) safe_exit ;; - esac - fi - else - echo "===>>> $upg_port has an +IGNOREME file, ignoring" - safe_exit - fi -fi - -if [ -d "$pd/$portdir" ]; then - echo "===>>> Port directory: $pd/$portdir" -else - find_moved_port $portdir || usage - portdir=$newportdir -fi - -cd $pd/$portdir || usage - -for state in FORBIDDEN BROKEN IGNORE; do - state_set=`make -V $state` - if [ -n "$state_set" ]; then - echo "===>>> This port is marked $state:" - echo "===>>> $state_set" - echo "===>>> If you are sure you can build it, remove the" - echo " $state line in the Makefile and try again." - safe_exit 1 - fi -done - -# Do these things first time through, with or without 'make config' -if [ -z "$BUILDING" ]; then -dofetch () { - echo "===>>> Launching 'make checksum' for $portdir in background" - fetchlog=`mktemp -t fetchlog-${PARENT_PID}-${portdir##*/}` - (make $MAKE_ARGS checksum >> $fetchlog 2>&1 && - { rm -f $fetchlog; \ - rm -f ${TMPDIR}/f-${PARENT_PID}-*-${portdir##*/}.*; exit 0;} - allfiles=`make $MAKE_ARGS -V ALLFILES` - make $MAKE_ARGS delete-distfiles RESTRICTED_FILES="${allfiles}" \ - >> $fetchlog 2>&1 && - echo "===>>> RE-STARTING FETCH <<<===" >> $fetchlog - make $MAKE_ARGS checksum >> $fetchlog 2>&1; \ - rm -f ${TMPDIR}/f-${PARENT_PID}-*-${portdir##*/}.*; \ - rm -f $fetchlog)& - echo "MCS_CHILD_PID $!" >> $fetchlog -} - - distfiles=`make $MAKE_ARGS -V ALLFILES` - for file in $distfiles; do - flag_file=f-${PARENT_PID}-${file} - if ! ls ${TMPDIR}/${flag_file}-* >/dev/null 2>&1; then - mktemp -t ${flag_file}-${portdir##*/} >/dev/null - else - DONT_FETCH=yes - break - fi - done - - test -z "$DONT_FETCH" && dofetch - - TESTINT=`make -V IS_INTERACTIVE` - if [ -n "$TESTINT" ]; then - echo '' - echo "===>>> Warning: $portdir is interactive, and will likely" - echo " reqire attenton during the build" - echo '' - echo -n "===>>> Press the [Enter] or [Return] key to continue " - read DISCARD - echo '' - fi - - if [ -n "$UPDATE_REQ_BYS" ]; then - MASTER_RB_LIST=`mktemp -t master_rb_list-${PARENT_PID}` - export MASTER_RB_LIST - upg_origin=`origin_from_pdb $pdb/$upg_port` - grep -l DEPORIGIN:$upg_origin$ $pdb/*/+CONTENTS | - cut -f 5 -d '/' | sort -u - \ - $pdb/$upg_port/+REQUIRED_BY > $MASTER_RB_LIST - fi -fi - -if [ -n "$CONFIG_ONLY" ]; then - make $MAKE_ARGS config - CONFIG_SEEN_LIST="${CONFIG_SEEN_LIST}${portdir}:" - - dependency_check - - if [ ! "$$" -eq "$PARENT_PID" ]; then - # Save state for the parent process to read back in - echo "CONFIG_SEEN_LIST='$CONFIG_SEEN_LIST'" > $IPC_SAVE - safe_exit - else - if [ -n "$UPDATE_REQ_BYS" ]; then - URB_YES=yes ; export URB_YES - echo '' - echo "===>>> Checking ports that depend on $upg_port" - for req_by in `cat $MASTER_RB_LIST`; do - rb_origin=`origin_from_pdb $pdb/$req_by` - case "$URB_DONE_LIST" in - *:${rb_origin}:*) continue ;; - esac - - test -n "$VERBOSE" && - echo "===>>> $upg_port is required by $req_by" - if [ ! -d "$pdb/$req_by" ]; then - # A failure here is probably just a - # stale dependency, but warn the user. - req_by_error $upg_port $req_by - continue - fi - if ! check_interactive ${req_by} ; then - continue - fi - - update_port $req_by - done - rm -f $MASTER_RB_LIST - echo "===>>> Done checking ports that depend on $upg_port" - unset URB_YES - URB_DONE_LIST=':' - fi - - unset_recursive_config - fi - echo '' - echo "===>>> Starting build for $portdir <<<===" - echo '' -fi - -BUILDING=yes -export BUILDING - -cd $pd/$portdir - -if [ ! -e "$NO_DEP_UPDATES" ]; then - dependency_check -else - if [ -z "$NO_RECURSIVE_CONFIG" ]; then - echo "===>>> The 'make config' check revealed no dependencies to update" - echo '' - fi -fi - -if [ -n "$NO_ACTION" ]; then - test -n "$VERBOSE" && - echo "===>>> Build canceled due to -n flag" - safe_exit -fi - -# In case we went elsewhere in the dependency check -cd $pd/$portdir - -case "$DONT_PRE_CLEAN" in -'') make $MAKE_ARGS clean NOCLEANDEPENDS=yes || fail 'make clean failed' ;; -esac - -fl_read=`echo ${TMPDIR}/fetchlog-${PARENT_PID}-${portdir##*/}.*` -while [ -f "$fl_read" ]; do - echo '' - echo "===>>> Waiting on fetch & checksum for $portdir <<<===" - tail -10 $fl_read 2>/dev/null | egrep -v '^$|MCS_CHILD_PID' - echo '' - echo "===>>> Waiting on fetch & checksum for $portdir <<<===" - sleep 5 -done - -make $MAKE_ARGS || fail "make failed for $portdir" - -new_port=`make $MAKE_ARGS -V PKGNAME` -prefix=`make $MAKE_ARGS -V PKGNAMEPREFIX` -portname=`make $MAKE_ARGS -V PORTNAME` -suffix=`make $MAKE_ARGS -V PKGNAMESUFFIX` -short_port="${prefix}${portname}${suffix}" - -# Check for dependencies here in case +REQUIRED_BY is not up to date or missing -grep_deps=`mktemp -t grep-deps-${short_port}` - -upg_origin=$portdir -if [ -n "$upg_port" ]; then - upg_origin=`origin_from_pdb $pdb/$upg_port` -fi -grep -l DEPORIGIN:$upg_origin$ $pdb/*/+CONTENTS | cut -f 5 -d '/' | - sort -u > $grep_deps - -if [ -s "$pdb/$upg_port/+REQUIRED_BY" ]; then - req_deps=`mktemp -t req-deps-${short_port}` - sort -u $pdb/$upg_port/+REQUIRED_BY > $req_deps -fi - -if [ ! -s "$grep_deps" -a ! -s "$req_deps" ]; then - if [ -n "$upg_port" ]; then - echo "===>>> $upg_port is not depended on by any other ports" - fi -elif [ -s "$grep_deps" -a -s "$req_deps" ]; then - if ! cmp -s $grep_deps $req_deps; then - update_reqfile - fi -elif [ -s "$grep_deps" -a ! -s "$req_deps" ]; then - dep_warn - echo -n "===>>> Install these as the new +REQUIRED_BY file? [n] " - if [ -z "$UNATTENDED" ]; then - read INSTALLDEPS - - case "$INSTALLDEPS" in - [yY]) req_deps=`mktemp -t req-deps-${short_port}` - mv $grep_deps $req_deps ; unset grep_deps - ;; - esac - else - echo "===>>> Default (no) in unattended mode" - fi -else - # It should not happen that req_deps exist but grep_deps does not - echo '' - echo "===>>> $pdb/$upg_port/+REQUIRED_BY indicates" - echo " a dependency on this port, but no other ports have" - echo " it recorded. If that file does not contain any valid" - echo " dependency data, try removing it and then start again." - fail "Stale dependency data in $pdb/$upg_port/+REQUIRED_BY" -fi - -# Ignore if no old port exists -if [ -n "$upg_port" ]; then - find_contents_distfiles $upg_port - - UPGRADE_PORT=$upg_port - UPGRADE_PORT_VER=`echo $UPGRADE_PORT | sed 's#.*-\(.*\)#\1#'` - export UPGRADE_PORT UPGRADE_PORT_VER - - if [ -z "$NO_BACKUP" ]; then - backup_package $upg_port - fi - pkg_delete -f $upg_port || fail 'pkg_delete failed' - - if [ -n "$REPLACE_ORIGIN" ]; then - installed_newport=`iport_from_origin ${newportdir}` - if [ -n "$installed_newport" ]; then - pkg_delete -f $installed_newport - fi - fi -fi - -make $MAKE_ARGS install clean NOCLEANDEPENDS=yes || { - if [ -z "$NO_BACKUP" -a -n "$upg_port" ]; then - echo '' - echo "===>>> A backup package for $portdir should be located in $pkgrep" - fi - fail "Installation of new port failed";} - -# Implement storage of distfile information in the +CONTENTS file in the -# same way that it will (hopefully, soon?) be implemented in bsd.port.mk -# See http://www.freebsd.org/cgi/query-pr.cgi?pr=106483 -if ! grep -q DISTFILE $pdb/$new_port/+CONTENTS; then - ds=`make $MAKE_ARGS -V DIST_SUBDIR` - test -n "$ds" && ds="${ds}/" - - allfiles=`make $MAKE_ARGS -V ALLFILES` - distinfo=`make $MAKE_ARGS -V MD5_FILE` - for file in $allfiles; do - size=`grep "^SIZE (${ds}${file})" $distinfo | cut -f4 -d' '` - sha256=`grep "^SHA256 (${ds}${file})" $distinfo | cut -f4 -d' '` - md5=`grep "^MD5 (${ds}${file})" $distinfo | cut -f4 -d' '` - echo "@comment DISTFILE:${ds}${file}:SIZE=${size}:SHA256=${sha256}:MD5=${md5}" >> $pdb/$new_port/+CONTENTS - done -fi - -if [ -n "$MAKE_PACKAGE" ]; then - echo "===>>> Creating a package for new version $new_port" - make $MAKE_ARGS package || fail 'Package creation of new port failed' - [ -z "$pkgrep" ] && - pkgrep=`make $MAKE_ARGS -f $pd/Mk/bsd.port.mk -V PKGREPOSITORY` - if [ ! -d "$pkgrep" ]; then - pkgrep=$HOME - mv ${new_port}.* $pkgrep/ - fi - echo " ===>>> Package can be found in $pkgrep" -fi - -test -z "$BACKUP" && test -f "$pkgrep/$bu_pkg_name" && rm -f $pkgrep/$bu_pkg_name - -# By now, if this file exists, it should be authoritative -if [ -s "$req_deps" ]; then - -update_dep_entries () { - local upg_port - - test -n "$1" && upg_port=$1 - - echo "===>>> Updating package dependency entry for each dependent port" - while read dep_port; do - dep_port_contents="$pdb/$dep_port/+CONTENTS" - if grep -q "@pkgdep $upg_port" $dep_port_contents; then - update_contents $upg_port $new_port - else - echo -n "===>>> In ${dep_port}" - echo " no entry for $upg_port, trying $short_port" - update_contents "$short_port.*" $new_port - fi - done < $req_deps -} - update_dep_entries - mv $req_deps $pdb/$new_port/+REQUIRED_BY - unset req_deps - chmod 644 $pdb/$new_port/+REQUIRED_BY - - if [ -n "$REPLACE_ORIGIN" ]; then - req_deps=`mktemp -t req-deps-${short_port}` - - grep -l DEPORIGIN:$newportdir$ $pdb/*/+CONTENTS | - cut -f 5 -d '/' | sort -u > $req_deps - update_dep_entries $new_port - cat $req_deps >> $pdb/$new_port/+REQUIRED_BY - fi -fi - -echo '' -test -z "$upg_port" && upg_port=$portdir -echo "===>>> Upgrade for $upg_port to $new_port succeeded" - -test -n "$FORCE" && FORCE_DONE_LIST="${FORCE_DONE_LIST}${portdir}:" -test -e "$pdb/$new_port/+DISPLAY" && - DISPLAY_LIST="${DISPLAY_LIST}$new_port/+DISPLAY " - -if [ -z "$DONT_SCRUB_DISTFILES" ]; then - if [ -z "$oldportdir" ]; then - delete_stale_distfiles - else - delete_all_distfiles ${oldportdir} - cd $pd/$newportdir && delete_stale_distfiles - fi -fi - -if [ -n "$UPDATE_REQ_BYS" -a -s "$pdb/$new_port/+REQUIRED_BY" ]; then - URB_YES=yes ; export URB_YES - MASTER_RB_LIST=$pdb/$new_port/+REQUIRED_BY - echo '' - echo "===>>> Updating ports that depend on $new_port" - for req_by in `cat $pdb/$new_port/+REQUIRED_BY`; do - if [ ! -d "$pdb/$req_by" ]; then - # Since the dependency list was probably updated as - # a result of updating the parent port, a missing - # directory here is likely the result of the port - # being updated as a dependency for something else. - continue - fi - - p=`origin_from_pdb $pdb/$req_by` - case "$URB_DONE_LIST" in - *:${p}:*) continue ;; - esac - - case "$FORCE_DONE_LIST" in - *:${p}:*) test -n "$VERBOSE" && - echo "===>>> Update for $p already done" - continue - ;; - esac - - if ! check_interactive ${req_by} ; then - continue - fi - - test -n "$VERBOSE" && - echo "===>>> $new_port is required by $req_by" - - update_port $req_by - done - echo "===>>> Done updating ports that depend on $new_port" -fi - -safe_exit - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -# Copyright (c) 2005-2007 Douglas Barton -# 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. diff --git a/sysutils/portmaster/pkg-descr b/sysutils/portmaster/pkg-descr deleted file mode 100644 index b5f9e86f12d8..000000000000 --- a/sysutils/portmaster/pkg-descr +++ /dev/null @@ -1,24 +0,0 @@ -This script uses the existing ports infrastructure to track dependencies, -and to keep those dependencies up to date. Because it is written in /bin/sh, -it needs no other languages installed. - -Portmaster has the following features: - * User can specify the port to upgrade (or install) either by directory - in /usr/ports, or by directory in /var/db/pkg - * Updates and repairs (as needed) entries for dependencies in both +CONTENTS - and +REQUIRED_BY files for both the port that is being updated, and any - ports that depend on it - * Runs make config recursively through all ports before starting build - * Recursively checks and upgrades (or installs) all dependencies - * User can force upgrades of all dependent ports - * Runs make clean before starting the build (can be disabled) - * Offers the user the opportunity to delete stale distfiles - * Supports /usr/ports/MOVED - * Supports non-default settings of PORTSDIR and PKG_DBDIR - * Interactive update mode (prompts for each update) - * Option to rebuild port, and ports that depend on it - * Options to make packages out of installed, and new ports - * Option to clean out stale port dependencies - * Downloads distfiles in the background - -WWW: http://dougbarton.us/portmaster.html diff --git a/sysutils/portscout/Makefile b/sysutils/portscout/Makefile deleted file mode 100644 index f527c8e332c7..000000000000 --- a/sysutils/portscout/Makefile +++ /dev/null @@ -1,91 +0,0 @@ -# New ports collection makefile for: portscout -# Date created: 2006-05-15 -# Whom: Shaun Amott <shaun@inerd.com> -# -# $FreeBSD$ -# - -PORTNAME= portscout -PORTVERSION= 0.7.2 -CATEGORIES= sysutils -MASTER_SITES= http://mirror.inerd.com/FreeBSD/distfiles/${PORTNAME}/ \ - http://www.inerd.com/software/${PORTNAME}/ - -MAINTAINER= shaun@FreeBSD.org -COMMENT= A tool to scan for new versions of FreeBSD ports - -NO_BUILD= yes -USE_PERL5= yes - -PORTDOCS= README - -RUN_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/DBI.pm:${PORTSDIR}/databases/p5-DBI \ - ${SITE_PERL}/Proc/Queue.pm:${PORTSDIR}/devel/p5-Proc-Queue \ - ${SITE_PERL}/Net/FTP.pm:${PORTSDIR}/net/p5-Net \ - ${SITE_PERL}/MIME/Lite.pm:${PORTSDIR}/mail/p5-MIME-Lite \ - ${SITE_PERL}/LWP.pm:${PORTSDIR}/www/p5-libwww - -.if defined(WITH_MYSQL) -WITHOUT_PGSQL= true -.endif - -.if !defined(WITHOUT_PGSQL) -USE_PGSQL= yes -RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/Pg.pm:${PORTSDIR}/databases/p5-DBD-Pg -.elif defined(WITH_MYSQL) -USE_MYSQL= yes -RUN_DEPENDS+= ${SITE_PERL}/${PERL_ARCH}/DBD/mysql.pm:${PORTSDIR}/databases/p5-DBD-mysql${MYSQL_VER:S/323//} -.endif - -pre-everything:: -.if defined(WITH_MYSQL) - @${ECHO_MSG} "+-------------------------------------------------------------+" - @${ECHO_MSG} "| Warning! portscout has only been tested with PostgreSQL. |" - @${ECHO_MSG} "| The author makes no guarantee that anything else will work, |" - @${ECHO_MSG} "| but always welcomes success/bug reports, and/or patches. |" - @${ECHO_MSG} "+-------------------------------------------------------------+" -.endif - -post-patch: -.if defined(WITH_MYSQL) - @${REINPLACE_CMD} 's/DBI:Pg/DBI:mysql/g' ${WRKSRC}/portscout.conf -.endif - @${REINPLACE_CMD} -e "s#^\(templates .*\)/etc#\1/share#" \ - -e "s#^prefix\( *= *\).*#prefix\1${PREFIX}#" \ - ${WRKSRC}/portscout.conf - @${REINPLACE_CMD} -e "s#^\(.*PREFIX.*=> *\)'.*'#\1'${PREFIX}'#" \ - ${WRKSRC}/portscout.pl - @${REINPLACE_CMD} -e "s#portscout\.pl#portscout#" \ - ${WRKSRC}/README - -do-install: - @${MKDIR} ${SITE_PERL}/Portscout - ${INSTALL_SCRIPT} ${WRKSRC}/portscout.pl ${PREFIX}/bin/portscout - ${INSTALL_SCRIPT} ${WRKSRC}/Portscout.pm ${SITE_PERL}/Portscout.pm - ${INSTALL_SCRIPT} ${WRKSRC}/Portscout/Template.pm ${SITE_PERL}/Portscout - - @${MKDIR} ${DATADIR}/templates - cd ${WRKSRC}/templates \ - && ${INSTALL_DATA} * ${DATADIR}/templates - - @${MKDIR} ${DATADIR}/sql - cd ${WRKSRC}/sql && ${INSTALL_DATA} *.sql ${DATADIR}/sql - - ${INSTALL_DATA} ${WRKSRC}/portscout.conf ${PREFIX}/etc/portscout.conf.sample - -post-install: - @if [ ! -f ${PREFIX}/etc/portscout.conf ]; then \ - ${CP} -p ${PREFIX}/etc/portscout.conf.sample ${PREFIX}/etc/portscout.conf; \ - fi -.if !defined(NOPORTDOCS) - @${MKDIR} ${DOCSDIR} - ${INSTALL_DATA} ${WRKSRC}/${PORTDOCS} ${DOCSDIR} -.endif - -.include <bsd.port.pre.mk> - -.if ${PERL_LEVEL} < 500600 -IGNORE= requires Perl 5.6 or above. Please install lang/perl5.8 and try again -.endif - -.include <bsd.port.post.mk> diff --git a/sysutils/portscout/distinfo b/sysutils/portscout/distinfo deleted file mode 100644 index 7420748a08bf..000000000000 --- a/sysutils/portscout/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (portscout-0.7.2.tar.gz) = 895788fc31e57d9b135a062b3a104b71 -SHA256 (portscout-0.7.2.tar.gz) = d00a79e511ff27fcc987d20b5a1f0ac783f3639efd002aa9f4e41de703f7e724 -SIZE (portscout-0.7.2.tar.gz) = 28993 diff --git a/sysutils/portscout/pkg-descr b/sysutils/portscout/pkg-descr deleted file mode 100644 index 9df9a5e9312b..000000000000 --- a/sysutils/portscout/pkg-descr +++ /dev/null @@ -1,20 +0,0 @@ -portscout is a tool which looks for new versions of software in the -FreeBSD ports tree, and potentially other software repositories. - -Various factors make this task a bit more difficult than it might -initially seem. In particular, the array of weird and wonderful -versioning schemes software vendors manage to come up with. - -portscout spawns several child processes and does its version checking -in parallel, while attempting to best-guess strange-looking version -numbers, navigate around unhelpful sites and web servers, and contend -with the CPU-heavy rapidly-expanding FreeBSD ports system. - -In addition to all this, it is possible to generate nice HTML reports -and send reminder mails to interested parties. - -Regularly updated results can be found at: - http://beta.inerd.com/portscout/ - - -WWW: http://www.inerd.com/software/portscout/ diff --git a/sysutils/portscout/pkg-plist b/sysutils/portscout/pkg-plist deleted file mode 100644 index 54031ea6caa6..000000000000 --- a/sysutils/portscout/pkg-plist +++ /dev/null @@ -1,17 +0,0 @@ -bin/portscout -@unexec if cmp -s %D/etc/portscout.conf.sample %D/etc/portscout.conf; then rm -f %D/etc/portscout.conf; fi -@exec [ ! -f %D/etc/portscout.conf ] && cp -p %D/etc/portscout.conf.sample %D/etc/portscout.conf -etc/portscout.conf.sample -%%DATADIR%%/templates/index.html -%%DATADIR%%/templates/maintainer.html -%%DATADIR%%/templates/reminder.mail -%%DATADIR%%/templates/restricted-ports.html -%%DATADIR%%/sql/pgsql_init.sql -%%DATADIR%%/sql/pgsql_destroy.sql -%%DATADIR%%/sql/pgsql_upgrade_0.7.1_to_0.7.2.sql -%%SITE_PERL%%/Portscout/Template.pm -%%SITE_PERL%%/Portscout.pm -@dirrm %%SITE_PERL%%/Portscout -@dirrm %%DATADIR%%/templates -@dirrm %%DATADIR%%/sql -@dirrm %%DATADIR%% diff --git a/sysutils/portsearch/Makefile b/sysutils/portsearch/Makefile deleted file mode 100644 index 5f7c9567e1d9..000000000000 --- a/sysutils/portsearch/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -# New ports collection makefile for: portsearch -# Date created: 22 Nov 2005 -# Whom: Vasil Dimov <vd@datamax.bg> -# -# $FreeBSD$ -# - -PORTNAME= portsearch -PORTVERSION= 1.3.0 -CATEGORIES= sysutils -MASTER_SITES= ${MASTER_SITE_LOCAL} -MASTER_SITE_SUBDIR= vd/portsearch - -MAINTAINER= vd@FreeBSD.org -COMMENT= Port searching tool that supports search by packing list files - -PLIST_FILES= bin/portsearch %%DATADIR%%/Makefile -PLIST_DIRS= %%DATADIR%% - -.include <bsd.port.mk> diff --git a/sysutils/portsearch/distinfo b/sysutils/portsearch/distinfo deleted file mode 100644 index ef3da8124527..000000000000 --- a/sysutils/portsearch/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (portsearch-1.3.0.tar.gz) = 48c359cb843f347260b2f606314f7e35 -SHA256 (portsearch-1.3.0.tar.gz) = 2c60ff8de8ccc80e6df02271b1f76a751ef01524bbac58084a675fb3757f699f -SIZE (portsearch-1.3.0.tar.gz) = 20666 diff --git a/sysutils/portsearch/pkg-descr b/sysutils/portsearch/pkg-descr deleted file mode 100644 index 7050d2e7bb98..000000000000 --- a/sysutils/portsearch/pkg-descr +++ /dev/null @@ -1,8 +0,0 @@ -Portsearch allows searching for ports that install some file, like -``find /usr/ports -name pkg-plist |xargs grep pattern'' -but honoring PLIST_(FILES|DIRS) and %%FOOBAR%% variables. -It also supports searching for ports by name, key (name, comment or -dependencies), path, info (comment), maintainer, category, fetch, extract, -patch, build and run dependencies and www site. - -WWW: http://people.freebsd.org/~vd/portsearch diff --git a/sysutils/portsman/Makefile b/sysutils/portsman/Makefile deleted file mode 100644 index 8f92cf3505ab..000000000000 --- a/sysutils/portsman/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -# New ports collection makefile for: portsman -# Date created: 18 January 2003 -# Whom: Anselm R. Garbe <anselmg@t-online.de> -# -# $FreeBSD$ -# - -PORTNAME= portsman -PORTVERSION= 0.2 -PORTREVISION= 2 -CATEGORIES= sysutils -MASTER_SITES= http://download.berlios.de/portsman/ -# temporary -DISTNAME= ${PORTNAME}-${PORTVERSION}-rc2 - -MAINTAINER= anselmg@t-online.de -COMMENT= An ncurses based front-end to manage the FreeBSD ports collection - -.include <bsd.port.pre.mk> - -.if ${OSVERSION} < 400000 -LIB_DEPENDS= ncurses.5:${PORTSDIR}/devel/ncurses -.endif - -MAN1= portsman.1 -MAN5= portsmanrc.5 -GNU_CONFIGURE= yes - -post-patch: - @${REINPLACE_CMD} -e "/^pmanrcdir/s|etc$$|etc/portsman|" \ - ${WRKSRC}/config/Makefile.in - -.include <bsd.port.post.mk> diff --git a/sysutils/portsman/distinfo b/sysutils/portsman/distinfo deleted file mode 100644 index 6a83ea29c288..000000000000 --- a/sysutils/portsman/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (portsman-0.2-rc2.tar.gz) = 624c5ad75088afc802e52008a017dbdd -SHA256 (portsman-0.2-rc2.tar.gz) = 9e2e2bff3e11520d22bc6de67e0fe19b46d3b85d0eec77cc39a3427a9fcff84a -SIZE (portsman-0.2-rc2.tar.gz) = 79954 diff --git a/sysutils/portsman/files/patch-freebsd5 b/sysutils/portsman/files/patch-freebsd5 deleted file mode 100644 index 8a2e35e33ffc..000000000000 --- a/sysutils/portsman/files/patch-freebsd5 +++ /dev/null @@ -1,20 +0,0 @@ ---- src/consts.h.orig Wed Jan 29 19:03:44 2003 -+++ src/consts.h Tue Jun 22 12:46:55 2004 -@@ -26,12 +26,17 @@ - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - */ -+#include <osreldate.h> - #define _VERSION "portsman 0.2" - #define MAX_PATH 256 - #define MAX_TOKEN 256 - #define MAX_COLS 80 - #define INSTALLED_PKG_DIR "/var/db/pkg" -+#if __FreeBSD_version > 500000 -+#define INDEX_FILE "/usr/ports/INDEX-5" -+#else - #define INDEX_FILE "/usr/ports/INDEX" -+#endif - #define PORTS_DIR "/usr/ports" - #define CONFIG_FILE ".portsmanrc" - #define MK_FILE "Makefile" diff --git a/sysutils/portsman/pkg-descr b/sysutils/portsman/pkg-descr deleted file mode 100644 index d650c63b08ce..000000000000 --- a/sysutils/portsman/pkg-descr +++ /dev/null @@ -1,7 +0,0 @@ -Ports manager is a ncurses based, graphical front-end to manage -the FreeBSD ports collection. It behaves like a package manager -and comes with many features. - -WWW: http://portsman.berlios.de --- - Anselm R. Garbe diff --git a/sysutils/portsman/pkg-plist b/sysutils/portsman/pkg-plist deleted file mode 100644 index eb2c31c3c646..000000000000 --- a/sysutils/portsman/pkg-plist +++ /dev/null @@ -1,3 +0,0 @@ -bin/portsman -etc/portsman/portsmanrc.sample -@dirrm etc/portsman diff --git a/sysutils/portsnap/Makefile b/sysutils/portsnap/Makefile deleted file mode 100644 index b97666d66047..000000000000 --- a/sysutils/portsnap/Makefile +++ /dev/null @@ -1,55 +0,0 @@ -# New ports collection makefile for: Ports tree snapshot utility -# Date created: 29 October 2004 -# Whom: cperciva@daemonology.net -# -# $FreeBSD$ -# - -PORTNAME= portsnap -PORTVERSION= 1.1 -CATEGORIES= sysutils net -MASTER_SITES= http://www.daemonology.net/portsnap/ - -MAINTAINER= cperciva@daemonology.net -COMMENT= Provides secure snapshots of the ports directory - -RUN_DEPENDS= bspatch:${PORTSDIR}/misc/bsdiff - -.include <bsd.port.pre.mk> - -.if ${OSVERSION} < 600021 && ( ${OSVERSION} < 504102 || ${OSVERSION} > 599999 ) -RUN_DEPENDS+= sha256:${PORTSDIR}/sysutils/freebsd-sha256 -.endif - -.if ${OSVERSION} > 600033 || ( ${OSVERSION} > 504103 && ${OSVERSION} < 600000 ) -IGNORE= is now contained in the base system -.endif - -MAN5= portsnap.conf.5 -MAN8= portsnap.8 -PLIST_FILES= etc/portsnap.conf.sample sbin/portsnap \ - libexec/phttpget \ - libexec/make_index portsnap/.package.this.directory -PLIST_DIRS= portsnap -SUB_FILES= pkg-message -PKGMESSAGE= ${WRKDIR}/pkg-message - -post-patch: - ${REINPLACE_CMD} -e "s,%%PREFIX%%,${PREFIX},g" \ - ${WRKSRC}/portsnap ${WRKSRC}/portsnap.8 - -do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/portsnap ${PREFIX}/sbin - ${INSTALL_PROGRAM} ${WRKSRC}/make_index ${PREFIX}/libexec - ${INSTALL_PROGRAM} ${WRKSRC}/phttpget ${PREFIX}/libexec - ${INSTALL_MAN} ${WRKSRC}/portsnap.conf.5 ${PREFIX}/man/man5/ - ${INSTALL_MAN} ${WRKSRC}/portsnap.8 ${PREFIX}/man/man8/ - ${INSTALL_DATA} ${WRKSRC}/portsnap.conf \ - ${PREFIX}/etc/portsnap.conf.sample - ${MKDIR} ${PREFIX}/portsnap - ${TOUCH} ${PREFIX}/portsnap/.package.this.directory - -post-install: - @${CAT} ${PKGMESSAGE} - -.include <bsd.port.post.mk> diff --git a/sysutils/portsnap/distinfo b/sysutils/portsnap/distinfo deleted file mode 100644 index 1f7d8091287e..000000000000 --- a/sysutils/portsnap/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (portsnap-1.1.tar.gz) = 76b20b3ef870961045d9a8d82e15b77d -SHA256 (portsnap-1.1.tar.gz) = 08bf6db8738d5c4fe757737d97366e7e899a6d0cfb244a46055f97f4b116b36c -SIZE (portsnap-1.1.tar.gz) = 20875 diff --git a/sysutils/portsnap/files/patch-portsnap b/sysutils/portsnap/files/patch-portsnap deleted file mode 100644 index a2caace08db9..000000000000 --- a/sysutils/portsnap/files/patch-portsnap +++ /dev/null @@ -1,11 +0,0 @@ ---- portsnap.orig Thu Jul 20 09:00:57 2006 -+++ portsnap Thu Jul 20 09:01:14 2006 -@@ -81,7 +81,7 @@ - NDEBUG="" - DDSTATS="" - INDEXONLY="" -- PREFIX="/usr/local" -+ PREFIX="%%PREFIX%%" - SERVERNAME="" - REFUSE="" - LOCALDESC="" diff --git a/sysutils/portsnap/files/patch-portsnap.8 b/sysutils/portsnap/files/patch-portsnap.8 deleted file mode 100644 index 1a48185d48d7..000000000000 --- a/sysutils/portsnap/files/patch-portsnap.8 +++ /dev/null @@ -1,41 +0,0 @@ ---- portsnap.8.orig Sat May 27 09:21:29 2006 -+++ portsnap.8 Thu Jul 20 09:06:29 2006 -@@ -57,13 +57,13 @@ - Store working files (e.g. downloaded updates) in - .Ar workdir . - (default: --.Pa $PREFIX/portsnap , -+.Pa %%PREFIX%%/portsnap , - or as given in the configuration file.) - .It Fl f Ar conffile - Read the configuration from from - .Ar conffile . - (default: --.Pa $PREFIX/etc/portsnap.conf ) -+.Pa %%PREFIX%%/etc/portsnap.conf ) - .It Fl I - For the - .Cm update -@@ -157,7 +157,7 @@ - .It - If your clock is set to local time, adding the line - .Pp --.Dl 0 3 * * * root /usr/local/sbin/portsnap cron -+.Dl 0 3 * * * root /foo/sbin/portsnap cron - .Pp - to /etc/crontab is a good way to make sure you always have - an up-to-date snapshot of the ports tree available which -@@ -218,10 +218,10 @@ - may be published, but only in aggregate and after anonymizing the - individual systems. - .Sh FILES --.Bl -tag -width "$PREFIX/etc/portsnap.conf" --.It $PREFIX/etc/portsnap.conf -+.Bl -tag -width "%%PREFIX%%/etc/portsnap.conf" -+.It %%PREFIX%%/etc/portsnap.conf - Default location of the portsnap configuration file. --.It $PREFIX/portsnap -+.It %%PREFIX%%/portsnap - Default location where compressed snapshots are stored. - .It /usr/ports - Default location where the ports tree is extracted. diff --git a/sysutils/portsnap/files/pkg-message.in b/sysutils/portsnap/files/pkg-message.in deleted file mode 100644 index 519591ac4336..000000000000 --- a/sysutils/portsnap/files/pkg-message.in +++ /dev/null @@ -1,20 +0,0 @@ - -Before you can use portsnap, you will have to create an update configuration -file specifying the server from which to fetch snapshots and the sha256 hash -of the openssl public key which is trusted to sign the snapshots. - -A sample configuration file has been installed in - - %%PREFIX%%/etc/portsnap.conf.sample - -which will fetch snapshots built and signed by the author. If you want to -use these updates, copy that file to - - %%PREFIX%%/etc/portsnap.conf - -otherwise, create that file as appropriate. - -NOTE TO USERS UPGRADING FROM PORTSNAP 0.3.1 OR EARLIER: The structure -of the portsnap configuration file has changed; you will have to replace -your existing portsnap.conf with a new version. - diff --git a/sysutils/portsnap/pkg-descr b/sysutils/portsnap/pkg-descr deleted file mode 100644 index a33c0a7dda3a..000000000000 --- a/sysutils/portsnap/pkg-descr +++ /dev/null @@ -1,15 +0,0 @@ -Portsnap is a system for securely updating the ports tree by -distributing signed compressed snapshots. This is the client -half of that system; it downloads compressed snapshots into -/usr/local/portsnap ("portsnap fetch") and uses those to extract -a ports tree into /usr/ports ("portsnap extract") or update an -existing tree ("portsnap update"). - -In addition to operating entirely over HTTP, portsnap can use under -a tenth of the bandwidth required by CVSup if a copy of the ports -tree is being updated every few days. - -WWW: http://www.daemonology.net/portsnap/ - -- Colin Percival -cperciva@daemonology.net diff --git a/sysutils/portsopt/Makefile b/sysutils/portsopt/Makefile deleted file mode 100644 index 944683835499..000000000000 --- a/sysutils/portsopt/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# New ports collection makefile for: portsopt -# Date created: 25 Dec 2006 -# Whom: Beat Gaetzi <beat@chruetertee.ch> -# -# $FreeBSD$ -# - -PORTNAME= portsopt -PORTVERSION= 1.2 -CATEGORIES= sysutils -MASTER_SITES= http://www.chruetertee.ch/files/download/ - -MAINTAINER= beat@chruetertee.ch -COMMENT= Shows WITH(OUT)-knobs of a port makefile - -NO_BUILD= yes - -PLIST_FILES= sbin/portsopt - -do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/portsopt ${PREFIX}/sbin - -.include <bsd.port.mk> diff --git a/sysutils/portsopt/distinfo b/sysutils/portsopt/distinfo deleted file mode 100644 index 51c69b6ec05e..000000000000 --- a/sysutils/portsopt/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (portsopt-1.2.tar.gz) = 03e09462faa26e4e4586663c2e5507ab -SHA256 (portsopt-1.2.tar.gz) = 880fb094a990db135e55ea43bef18ca319dfae9c453a2d2adcb3f3faecf40c53 -SIZE (portsopt-1.2.tar.gz) = 971 diff --git a/sysutils/portsopt/pkg-descr b/sysutils/portsopt/pkg-descr deleted file mode 100644 index 8829487bfe80..000000000000 --- a/sysutils/portsopt/pkg-descr +++ /dev/null @@ -1,4 +0,0 @@ -Shows WITH(OUT)-knobs of a port makefile and if you want also the knobs of -all port dependencies. - -WWW: http://www.chruetertee.ch/portsopt/ diff --git a/sysutils/portupgrade-devel/Makefile b/sysutils/portupgrade-devel/Makefile deleted file mode 100644 index 6e9545f23617..000000000000 --- a/sysutils/portupgrade-devel/Makefile +++ /dev/null @@ -1,93 +0,0 @@ -# New ports collection makefile for: portupgrade -# Date created: 18 March 2001 -# Whom: Akinori MUSHA aka knu <knu@idaemons.org> -# -# $FreeBSD$ -# - -PORTNAME= portupgrade-devel -PORTVERSION= 2.2.2 -PORTREVISION= 1 -CATEGORIES= sysutils -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} -MASTER_SITE_SUBDIR= portupgrade -DISTNAME= pkgtools-${DISTVERSION} - -MAINTAINER= sem@FreeBSD.org -COMMENT= FreeBSD ports/packages administration and management tool suite (devel version) - -OPTIONS= BDB4 "Use Berkeley DB >=2 as backend" on \ - BDB1 "Use Berkeley DB 1.85 as backend" off - -CONFLICTS= portupgrade-[0-9]* - -USE_BZIP2= yes -USE_RUBY= yes -USE_RUBY_FEATURES= optparse ruby18 -USE_PERL5_RUN= yes - -USE_LDCONFIG= ${PREFIX}/lib/compat/pkg -LDCONFIG_DIRS= %%PREFIX%%/lib/compat/pkg - -MAKE_ARGS= PREFIX="${PREFIX}" RUBY="${RUBY}" - -MAN1= pkg_deinstall.1 \ - pkg_fetch.1 \ - pkg_glob.1 \ - pkg_sort.1 \ - pkgdb.1 \ - portcvsweb.1 \ - portsclean.1 \ - portsdb.1 \ - portupgrade.1 \ - portversion.1 -MAN5= pkgtools.conf.5 -MLINKS= pkgdb.1 pkg_which.1 \ - portupgrade.1 portinstall.1 \ - portsdb.1 ports_glob.1 -MANCOMPRESSED= maybe - -EXAMPLESDIR= ${PREFIX}/share/examples/pkgtools -DOCSDIR= ${PREFIX}/share/doc/pkgtools - -INSTALL_TARGET= install -.if !defined(NOPORTDOCS) -INSTALL_TARGET+= install-doc -.endif - -.include <bsd.port.pre.mk> -.include "${PORTSDIR}/misc/ldconfig_compat/bsd.ldconfig.mk" - -.if defined(WITH_BDB4) -# For PKG_DBDRIVER={bdb_btree,bdb_hash} -RUN_DEPENDS+= ${RUBY_SITEARCHLIBDIR}/bdb.so:${PORTSDIR}/databases/ruby-bdb -.endif -.if defined(WITH_BDB1) && !defined(WITH_BDB4) -# For PKG_DBDRIVER={bdb1_btree,bdb1_hash} -RUN_DEPENDS+= ${RUBY_SITEARCHLIBDIR}/bdb1.so:${PORTSDIR}/databases/ruby-bdb1 -.endif - -pre-extract: -.if !defined(WITH_BDB4) && !defined(WITH_BDB1) - @${ECHO_MSG} "=================================================================" - @${ECHO_MSG} "Neither WITH_BDB4 nor WITH_BDB1 are defined. Will use DBD driver." - @${ECHO_MSG} "=================================================================" -.endif -.if defined(WITH_BDB4) && defined(WITH_BDB1) - @${ECHO_MSG} "=================================================================" - @${ECHO_MSG} "Both WITH_BDB4 and WITH_BDB1 are defined. Will use BDB4 driver." - @${ECHO_MSG} "=================================================================" -.elif defined(WITH_BDB1) && exists(${RUBY_SITEARCHLIBDIR}/bdb.so) - @${ECHO_MSG} "=================================================================" - @${ECHO_MSG} "WITH_BDB1 is defined but ruby-bdb port installed." - @${ECHO_MSG} "Remove ruby-bdb or redefine options." - @${ECHO_MSG} "=================================================================" - @exit 1 -.endif - -post-install: install-ldconfig-file - if [ ! -f ${PREFIX}/etc/pkgtools.conf ]; then \ - ${CP} -p ${PREFIX}/etc/pkgtools.conf.sample ${PREFIX}/etc/pkgtools.conf; \ - fi - -.include <bsd.port.post.mk> diff --git a/sysutils/portupgrade-devel/distinfo b/sysutils/portupgrade-devel/distinfo deleted file mode 100644 index ca67e0223c3d..000000000000 --- a/sysutils/portupgrade-devel/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (pkgtools-2.2.2.tar.bz2) = c9e08616c474d776f301ada920735a66 -SHA256 (pkgtools-2.2.2.tar.bz2) = ab5cd8904e69c03be0d37cf71b2d6271ccabed14bca673e5a34a7d21a1af5c02 -SIZE (pkgtools-2.2.2.tar.bz2) = 111055 diff --git a/sysutils/portupgrade-devel/files/patch-portsdb.rb b/sysutils/portupgrade-devel/files/patch-portsdb.rb deleted file mode 100644 index be6065d09315..000000000000 --- a/sysutils/portupgrade-devel/files/patch-portsdb.rb +++ /dev/null @@ -1,13 +0,0 @@ ---- lib/portsdb.rb.orig Thu Feb 1 10:15:59 2007 -+++ lib/portsdb.rb Thu Feb 1 10:17:25 2007 -@@ -387,8 +387,8 @@ - end - - def subdirs(dir) -- %x"fgrep -v bsd.port.subdir.mk #{dir}/Makefile | -- make -f - -V SUBDIR 2> /dev/null".split.select { |i| -+ %x"fgrep SUBDIR #{dir}/Makefile | sed -e 's/SUBDIR +=//' -+ 2> /dev/null".split.select { |i| - File.directory?(File.join(dir, i)) - }.sort - end diff --git a/sysutils/portupgrade-devel/files/patch-portupgrade b/sysutils/portupgrade-devel/files/patch-portupgrade deleted file mode 100644 index 53c9037ebbff..000000000000 --- a/sysutils/portupgrade-devel/files/patch-portupgrade +++ /dev/null @@ -1,11 +0,0 @@ ---- bin/portupgrade.orig Thu Feb 1 15:42:15 2007 -+++ bin/portupgrade Thu Feb 1 15:42:22 2007 -@@ -1594,7 +1594,7 @@ - end - - if $sudo && Process.euid != 0 -- dep_cmdargs = cmdargs.dup << 'fetch-depends' << 'build-depends' << 'lib-depends' << 'misc-depends' -+ dep_cmdargs = cmdargs.dup << 'fetch-depends' << 'build-depends' << 'lib-depends' - - if not system(shelljoin(*dep_cmdargs) + ' DEPENDS_TARGET="-n nonexistent_target" >/dev/null 2>&1') - script!(logfile, *dep_cmdargs) or diff --git a/sysutils/portupgrade-devel/pkg-descr b/sysutils/portupgrade-devel/pkg-descr deleted file mode 100644 index 5ba060bf51dc..000000000000 --- a/sysutils/portupgrade-devel/pkg-descr +++ /dev/null @@ -1,22 +0,0 @@ -Portupgrade is a tool to upgrade installed packages via ports or -packages. You can upgrade installed packages without having to -reinstall depending or dependent packages. It can automatically trace -dependency chains up and down upgrading packages recursively. - -This package also includes the following utilities: -portinstall: Helps you install new ports in a handy way. -portcvsweb: Instantly lets you browse change history via CVSweb. -portversion: Replaces pkg_version(1) and helps you upgrade packages - with portupgrade(1). (runs much faster) -portsclean: Cleans ports workdir's, unreferenced distfiles, - old and orphan shared libraries, and stale packages. -portsdb: Creates binary database from the ports INDEX. -ports_glob: Expands ports globs. -pkg_deinstall: Wraps pkg_delete(1) and provides additional features. -pkg_fetch: Fetches packages from a remote site. -pkg_glob: Expands package globs. -pkg_which: Checks which package a file came from quickly. -pkgdb: Manages and searches the package database. - -Author: Akinori MUSHA <knu@FreeBSD.org> -WWW: http://wiki.freebsd.org/portupgrade diff --git a/sysutils/portupgrade-devel/pkg-plist b/sysutils/portupgrade-devel/pkg-plist deleted file mode 100644 index 8a14a576c813..000000000000 --- a/sysutils/portupgrade-devel/pkg-plist +++ /dev/null @@ -1,42 +0,0 @@ -@exec /bin/mkdir -p %D/lib/compat/pkg -@unexec /bin/rmdir %D/lib/compat/pkg 2>/dev/null || true -sbin/pkg_deinstall -sbin/pkg_fetch -sbin/pkg_glob -sbin/pkg_sort -sbin/pkg_which -sbin/pkgdb -sbin/portcvsweb -sbin/portinstall -sbin/ports_glob -sbin/portsclean -sbin/portsdb -sbin/portupgrade -sbin/portversion -%%RUBY_SITELIBDIR%%/pkg.rb -%%RUBY_SITELIBDIR%%/pkgdb.rb -%%RUBY_SITELIBDIR%%/pkgdbtools.rb -%%RUBY_SITELIBDIR%%/pkginfo.rb -%%RUBY_SITELIBDIR%%/pkgmisc.rb -%%RUBY_SITELIBDIR%%/pkgtools.rb -%%RUBY_SITELIBDIR%%/pkgtsort.rb -%%RUBY_SITELIBDIR%%/pkgversion.rb -%%RUBY_SITELIBDIR%%/portinfo.rb -%%RUBY_SITELIBDIR%%/ports.rb -%%RUBY_SITELIBDIR%%/portsdb.rb -@unexec if cmp -s %D/etc/pkgtools.conf %D/etc/pkgtools.conf.sample; then rm -f %D/etc/pkgtools.conf; fi -etc/pkgtools.conf.sample -@exec [ -f %B/pkgtools.conf ] || cp %B/%f %B/pkgtools.conf -etc/pkgtools.status-pkg.sh -share/zsh/site-functions/_pkgtools -@unexec [ -f %D/bin/zsh ] || rmdir %D/share/zsh/site-functions 2>/dev/null || true -@dirrmtry share/zsh -%%PORTDOCS%%%%EXAMPLESDIR%%/bash/complete.sample -%%PORTDOCS%%%%EXAMPLESDIR%%/tcsh/complete.sample -%%PORTDOCS%%%%DOCSDIR%%/ChangeLog -%%PORTDOCS%%%%DOCSDIR%%/NEWS -%%PORTDOCS%%%%DOCSDIR%%/README -%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/bash -%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/tcsh -%%PORTDOCS%%@dirrm %%EXAMPLESDIR%% -%%PORTDOCS%%@dirrm %%DOCSDIR%% diff --git a/sysutils/portupgrade/Makefile b/sysutils/portupgrade/Makefile deleted file mode 100644 index 4b317b13b286..000000000000 --- a/sysutils/portupgrade/Makefile +++ /dev/null @@ -1,95 +0,0 @@ -# New ports collection makefile for: portupgrade -# Date created: 18 March 2001 -# Whom: Akinori MUSHA aka knu <knu@idaemons.org> -# -# $FreeBSD$ -# - -PORTNAME= portupgrade -PORTVERSION= 2.2.2 -PORTREVISION= 3 -PORTEPOCH= 2 -CATEGORIES= sysutils -MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} -MASTER_SITE_SUBDIR= ${PORTNAME} -DISTNAME= pkgtools-${DISTVERSION} - -MAINTAINER= sem@FreeBSD.org -COMMENT= FreeBSD ports/packages administration and management tool suite - -OPTIONS= BDB4 "Use Berkeley DB >=2 as backend" on \ - BDB1 "Use Berkeley DB 1.85 as backend" off - -CONFLICTS= portupgrade-devel-* - -USE_BZIP2= yes -USE_RUBY= yes -USE_RUBY_FEATURES= optparse ruby18 -USE_PERL5_RUN= yes - -USE_LDCONFIG= ${PREFIX}/lib/compat/pkg -LDCONFIG_DIRS= %%PREFIX%%/lib/compat/pkg - -MAKE_ARGS= PREFIX="${PREFIX}" RUBY="${RUBY}" - -MAN1= pkg_deinstall.1 \ - pkg_fetch.1 \ - pkg_glob.1 \ - pkg_sort.1 \ - pkgdb.1 \ - portcvsweb.1 \ - portsclean.1 \ - portsdb.1 \ - portupgrade.1 \ - portversion.1 -MAN5= pkgtools.conf.5 -MLINKS= pkgdb.1 pkg_which.1 \ - portupgrade.1 portinstall.1 \ - portsdb.1 ports_glob.1 -MANCOMPRESSED= maybe - -EXAMPLESDIR= ${PREFIX}/share/examples/pkgtools -DOCSDIR= ${PREFIX}/share/doc/pkgtools - -INSTALL_TARGET= install -.if !defined(NOPORTDOCS) -INSTALL_TARGET+= install-doc -.endif - -.include <bsd.port.pre.mk> -.include "${PORTSDIR}/misc/ldconfig_compat/bsd.ldconfig.mk" - -.if defined(WITH_BDB4) -# For PKG_DBDRIVER={bdb_btree,bdb_hash} -RUN_DEPENDS+= ${RUBY_SITEARCHLIBDIR}/bdb.so:${PORTSDIR}/databases/ruby-bdb -.endif -.if defined(WITH_BDB1) && !defined(WITH_BDB4) -# For PKG_DBDRIVER={bdb1_btree,bdb1_hash} -RUN_DEPENDS+= ${RUBY_SITEARCHLIBDIR}/bdb1.so:${PORTSDIR}/databases/ruby-bdb1 -.endif - -pre-extract: -.if !defined(WITH_BDB4) && !defined(WITH_BDB1) - @${ECHO_MSG} "=================================================================" - @${ECHO_MSG} "Neither WITH_BDB4 nor WITH_BDB1 are defined. Will use DBD driver." - @${ECHO_MSG} "=================================================================" -.endif -.if defined(WITH_BDB4) && defined(WITH_BDB1) - @${ECHO_MSG} "=================================================================" - @${ECHO_MSG} "Both WITH_BDB4 and WITH_BDB1 are defined. Will use BDB4 driver." - @${ECHO_MSG} "=================================================================" -.elif defined(WITH_BDB1) && exists(${RUBY_SITEARCHLIBDIR}/bdb.so) - @${ECHO_MSG} "=================================================================" - @${ECHO_MSG} "WITH_BDB1 is defined but ruby-bdb port installed." - @${ECHO_MSG} "Remove ruby-bdb or redefine options." - @${ECHO_MSG} "=================================================================" - @exit 1 -.endif - -post-install: install-ldconfig-file - if [ ! -f ${PREFIX}/etc/pkgtools.conf ]; then \ - ${CP} -p ${PREFIX}/etc/pkgtools.conf.sample ${PREFIX}/etc/pkgtools.conf; \ - fi - ${MKDIR} ${PREFIX}/lib/compat/pkg - -.include <bsd.port.post.mk> diff --git a/sysutils/portupgrade/distinfo b/sysutils/portupgrade/distinfo deleted file mode 100644 index ca67e0223c3d..000000000000 --- a/sysutils/portupgrade/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (pkgtools-2.2.2.tar.bz2) = c9e08616c474d776f301ada920735a66 -SHA256 (pkgtools-2.2.2.tar.bz2) = ab5cd8904e69c03be0d37cf71b2d6271ccabed14bca673e5a34a7d21a1af5c02 -SIZE (pkgtools-2.2.2.tar.bz2) = 111055 diff --git a/sysutils/portupgrade/files/patch-portsdb.rb b/sysutils/portupgrade/files/patch-portsdb.rb deleted file mode 100644 index be6065d09315..000000000000 --- a/sysutils/portupgrade/files/patch-portsdb.rb +++ /dev/null @@ -1,13 +0,0 @@ ---- lib/portsdb.rb.orig Thu Feb 1 10:15:59 2007 -+++ lib/portsdb.rb Thu Feb 1 10:17:25 2007 -@@ -387,8 +387,8 @@ - end - - def subdirs(dir) -- %x"fgrep -v bsd.port.subdir.mk #{dir}/Makefile | -- make -f - -V SUBDIR 2> /dev/null".split.select { |i| -+ %x"fgrep SUBDIR #{dir}/Makefile | sed -e 's/SUBDIR +=//' -+ 2> /dev/null".split.select { |i| - File.directory?(File.join(dir, i)) - }.sort - end diff --git a/sysutils/portupgrade/files/patch-portupgrade b/sysutils/portupgrade/files/patch-portupgrade deleted file mode 100644 index 53c9037ebbff..000000000000 --- a/sysutils/portupgrade/files/patch-portupgrade +++ /dev/null @@ -1,11 +0,0 @@ ---- bin/portupgrade.orig Thu Feb 1 15:42:15 2007 -+++ bin/portupgrade Thu Feb 1 15:42:22 2007 -@@ -1594,7 +1594,7 @@ - end - - if $sudo && Process.euid != 0 -- dep_cmdargs = cmdargs.dup << 'fetch-depends' << 'build-depends' << 'lib-depends' << 'misc-depends' -+ dep_cmdargs = cmdargs.dup << 'fetch-depends' << 'build-depends' << 'lib-depends' - - if not system(shelljoin(*dep_cmdargs) + ' DEPENDS_TARGET="-n nonexistent_target" >/dev/null 2>&1') - script!(logfile, *dep_cmdargs) or diff --git a/sysutils/portupgrade/pkg-descr b/sysutils/portupgrade/pkg-descr deleted file mode 100644 index 5ba060bf51dc..000000000000 --- a/sysutils/portupgrade/pkg-descr +++ /dev/null @@ -1,22 +0,0 @@ -Portupgrade is a tool to upgrade installed packages via ports or -packages. You can upgrade installed packages without having to -reinstall depending or dependent packages. It can automatically trace -dependency chains up and down upgrading packages recursively. - -This package also includes the following utilities: -portinstall: Helps you install new ports in a handy way. -portcvsweb: Instantly lets you browse change history via CVSweb. -portversion: Replaces pkg_version(1) and helps you upgrade packages - with portupgrade(1). (runs much faster) -portsclean: Cleans ports workdir's, unreferenced distfiles, - old and orphan shared libraries, and stale packages. -portsdb: Creates binary database from the ports INDEX. -ports_glob: Expands ports globs. -pkg_deinstall: Wraps pkg_delete(1) and provides additional features. -pkg_fetch: Fetches packages from a remote site. -pkg_glob: Expands package globs. -pkg_which: Checks which package a file came from quickly. -pkgdb: Manages and searches the package database. - -Author: Akinori MUSHA <knu@FreeBSD.org> -WWW: http://wiki.freebsd.org/portupgrade diff --git a/sysutils/portupgrade/pkg-plist b/sysutils/portupgrade/pkg-plist deleted file mode 100644 index 0c7152887dbf..000000000000 --- a/sysutils/portupgrade/pkg-plist +++ /dev/null @@ -1,43 +0,0 @@ -@exec /bin/mkdir -p %D/lib/compat/pkg -@dirrmtry lib/compat/pkg -@dirrmtry lib/compat -sbin/pkg_deinstall -sbin/pkg_fetch -sbin/pkg_glob -sbin/pkg_sort -sbin/pkg_which -sbin/pkgdb -sbin/portcvsweb -sbin/portinstall -sbin/ports_glob -sbin/portsclean -sbin/portsdb -sbin/portupgrade -sbin/portversion -%%RUBY_SITELIBDIR%%/pkg.rb -%%RUBY_SITELIBDIR%%/pkgdb.rb -%%RUBY_SITELIBDIR%%/pkgdbtools.rb -%%RUBY_SITELIBDIR%%/pkginfo.rb -%%RUBY_SITELIBDIR%%/pkgmisc.rb -%%RUBY_SITELIBDIR%%/pkgtools.rb -%%RUBY_SITELIBDIR%%/pkgtsort.rb -%%RUBY_SITELIBDIR%%/pkgversion.rb -%%RUBY_SITELIBDIR%%/portinfo.rb -%%RUBY_SITELIBDIR%%/ports.rb -%%RUBY_SITELIBDIR%%/portsdb.rb -@unexec if cmp -s %D/etc/pkgtools.conf %D/etc/pkgtools.conf.sample; then rm -f %D/etc/pkgtools.conf; fi -etc/pkgtools.conf.sample -@exec [ -f %B/pkgtools.conf ] || cp %B/%f %B/pkgtools.conf -etc/pkgtools.status-pkg.sh -share/zsh/site-functions/_pkgtools -@unexec [ -f %D/bin/zsh ] || rmdir %D/share/zsh/site-functions 2>/dev/null || true -@dirrmtry share/zsh -%%PORTDOCS%%%%EXAMPLESDIR%%/bash/complete.sample -%%PORTDOCS%%%%EXAMPLESDIR%%/tcsh/complete.sample -%%PORTDOCS%%%%DOCSDIR%%/ChangeLog -%%PORTDOCS%%%%DOCSDIR%%/NEWS -%%PORTDOCS%%%%DOCSDIR%%/README -%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/bash -%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%/tcsh -%%PORTDOCS%%@dirrm %%EXAMPLESDIR%% -%%PORTDOCS%%@dirrm %%DOCSDIR%% diff --git a/sysutils/psearch/Makefile b/sysutils/psearch/Makefile deleted file mode 100644 index a244eec28413..000000000000 --- a/sysutils/psearch/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -# New ports collection makefile for: psearch -# Date created: 17 February 2006 -# Whom: Benjamin Lutz -# -# $FreeBSD$ -# - -PORTNAME= psearch -PORTVERSION= 1.2 -CATEGORIES= sysutils -MASTER_SITES= http://www.maxlor.com/files/ - -MAINTAINER= benlutz@datacomm.ch -COMMENT= An utility for searching the FreeBSD Ports Collection - -USE_PYTHON_RUN= yes -NO_BUILD= yes - -MAN1= psearch.1 -PLIST_FILES= bin/psearch - -do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/psearch ${PREFIX}/bin - ${INSTALL_MAN} ${WRKSRC}/psearch.1 ${MANPREFIX}/man/man1 - -.include <bsd.port.mk> diff --git a/sysutils/psearch/distinfo b/sysutils/psearch/distinfo deleted file mode 100644 index 2c0c6523a66b..000000000000 --- a/sysutils/psearch/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (psearch-1.2.tar.gz) = 7a12fea4747310771792ee677f59d5f1 -SHA256 (psearch-1.2.tar.gz) = 3d808e61a3a8a74afae104a3f7fa3a6d58c933465fa07413e87e4ef61cc2e442 -SIZE (psearch-1.2.tar.gz) = 4434 diff --git a/sysutils/psearch/pkg-descr b/sysutils/psearch/pkg-descr deleted file mode 100644 index db67cc1ed2fd..000000000000 --- a/sysutils/psearch/pkg-descr +++ /dev/null @@ -1,7 +0,0 @@ -psearch is an utility for searching the FreeBSD Ports Collection. - -It allows you to use regular expressions, and has support for searching -the long description (pkg-descr files), as well as inverse matches that -allow filtering of ports. - -WWW: http://www.maxlor.com/freebsd-scripts.shtml diff --git a/sysutils/qtpkg/Makefile b/sysutils/qtpkg/Makefile deleted file mode 100644 index 5034cc1af97f..000000000000 --- a/sysutils/qtpkg/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -# New ports collection makefile for: qtpkg -# Date created: Wed Jan 3 2001 -# Whom: Trenton Schulz <twschulz@cord.edu> -# -# $FreeBSD$ -# - -PORTNAME= qtpkg -PORTVERSION= 1.0 -PORTREVISION= 1 -CATEGORIES= sysutils -# mastersite disappeared around July 6 2003 -MASTER_SITES= # http://gauss.cord.edu/homepages/twschulz/demo/ -DISTNAME= qtpkg - -MAINTAINER= ports@FreeBSD.org -COMMENT= A Qt based package removal tool -MAKE_ENV= LIBS="-lqt-mt ${PTHREAD_LIBS}" CFLAGS="${PTHREAD_CFLAGS}" - -PLIST_FILES= sbin/qtpkg -USE_QT_VER= 3 - -do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/qtpkg ${PREFIX}/sbin - -.include <bsd.port.mk> diff --git a/sysutils/qtpkg/distinfo b/sysutils/qtpkg/distinfo deleted file mode 100644 index a0f485995c2e..000000000000 --- a/sysutils/qtpkg/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (qtpkg.tar.gz) = 0910416a0c23240e3f71d77f825618da -SHA256 (qtpkg.tar.gz) = df1ded7e295ce02e16719aa11ecb32961592e6f5da005ff0c949e74422d0116f -SIZE (qtpkg.tar.gz) = 7308 diff --git a/sysutils/qtpkg/files/patch-Makefile b/sysutils/qtpkg/files/patch-Makefile deleted file mode 100644 index 155585330057..000000000000 --- a/sysutils/qtpkg/files/patch-Makefile +++ /dev/null @@ -1,25 +0,0 @@ - -$FreeBSD$ - ---- Makefile 2001/01/23 16:32:54 1.1 -+++ Makefile 2001/01/23 16:36:12 -@@ -9,13 +9,13 @@ - - CC = cc - CXX = c++ --CFLAGS = -pipe -Wall -W -O2 -DNO_DEBUG --CXXFLAGS = -pipe -Wall -W -O2 -DNO_DEBUG --INCPATH = -I/usr/local/include -I/usr/X11R6/include/qt2 -+CFLAGS += -pipe -Wall -W -DNO_DEBUG -+CXXFLAGS += ${CFLAGS} -+INCPATH = -I$(LOCALBASE)/include -I$(X11BASE)/include/ - LINK = c++ --LIBS = $(SUBLIBS) -L/usr/local/lib -L/usr/X11R6/lib -lqt2 -lXext -lX11 -lm --MOC = /usr/X11R6/bin/moc2 --UIC = /usr/X11R6/bin/uic -+LIBS += $(SUBLIBS) -L$(LOCALBASE)/lib -L$(X11BASE)/lib -lXext -lX11 -lm -+MOC = $(X11BASE)/bin/moc -+UIC = $(X11BASE)/bin/uic - - TAR = tar -cf - GZIP = gzip -9f diff --git a/sysutils/qtpkg/pkg-descr b/sysutils/qtpkg/pkg-descr deleted file mode 100644 index aa1413f5ac39..000000000000 --- a/sysutils/qtpkg/pkg-descr +++ /dev/null @@ -1,4 +0,0 @@ -qtpkg simplifies the removal of packages by simulating the add/remove -programs dialog as seen in Windows. Handy when you can't remember the -correct version number. It also allows you to read the description of the -package and its packing list. diff --git a/textproc/Makefile b/textproc/Makefile index 90b64a6f36b0..8f44ab6964f1 100644 --- a/textproc/Makefile +++ b/textproc/Makefile @@ -345,7 +345,6 @@ SUBDIR += p5-Excel-Template SUBDIR += p5-Filter-Simple SUBDIR += p5-FormValidator-Simple - SUBDIR += p5-FreeBSD-Ports SUBDIR += p5-Games-Dissociate SUBDIR += p5-HTML-Entities-Numbered SUBDIR += p5-HTML-EscapeEvil diff --git a/textproc/p5-FreeBSD-Ports/Makefile b/textproc/p5-FreeBSD-Ports/Makefile deleted file mode 100644 index 913d0a555360..000000000000 --- a/textproc/p5-FreeBSD-Ports/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# New ports collection makefile for: p5-FreeBSD-Ports -# Date created: 12 September 2001 -# Whom: Tom Hukins <tom@FreeBSD.org> -# -# $FreeBSD$ -# - -PORTNAME= FreeBSD-Ports -PORTVERSION= 0.04 -CATEGORIES= textproc perl5 -MASTER_SITES= ${MASTER_SITE_LOCAL} -MASTER_SITE_SUBDIR= tom -PKGNAMEPREFIX= p5- - -MAINTAINER= tom@FreeBSD.org -COMMENT= Perl modules for parsing FreeBSD's Ports INDEX file - -USE_BZIP2= yes - -PERL_CONFIGURE= yes -MAN3= FreeBSD::Ports::Port.3 \ - FreeBSD::Ports.3 -.include <bsd.port.mk> diff --git a/textproc/p5-FreeBSD-Ports/distinfo b/textproc/p5-FreeBSD-Ports/distinfo deleted file mode 100644 index b6441062c1da..000000000000 --- a/textproc/p5-FreeBSD-Ports/distinfo +++ /dev/null @@ -1,3 +0,0 @@ -MD5 (FreeBSD-Ports-0.04.tar.bz2) = d753ec6d359d5827bf1c724b42bf2bb1 -SHA256 (FreeBSD-Ports-0.04.tar.bz2) = 522d0e6f4cf0ee540e44868349e2ed964e90a6d52fc7c1f214e036f68d7f9321 -SIZE (FreeBSD-Ports-0.04.tar.bz2) = 16609 diff --git a/textproc/p5-FreeBSD-Ports/pkg-descr b/textproc/p5-FreeBSD-Ports/pkg-descr deleted file mode 100644 index 679267092e99..000000000000 --- a/textproc/p5-FreeBSD-Ports/pkg-descr +++ /dev/null @@ -1,17 +0,0 @@ -FreeBSD::Ports and FreeBSD::Ports::Port are modules for parsing -FreeBSD's Ports INDEX file and selecting ports that match certain -criteria. - -For example, you might want to list ports maintained by tom@FreeBSD.org -sorted alphabetically: - my $ports = tie my %port, 'FreeBSD::Ports', '/usr/ports/INDEX'; - $ports->maintainer('tom@FreeBSD.org'); - $ports->sort('alpha'); - foreach my $p (keys %port) { - print $p->as_ascii,"\n"; - } - -WWW: http://people.FreeBSD.org/~tom/portpm/ - -- Tom -tom@FreeBSD.org diff --git a/textproc/p5-FreeBSD-Ports/pkg-plist b/textproc/p5-FreeBSD-Ports/pkg-plist deleted file mode 100644 index a6ecd11c12cf..000000000000 --- a/textproc/p5-FreeBSD-Ports/pkg-plist +++ /dev/null @@ -1,7 +0,0 @@ -%%SITE_PERL%%/FreeBSD/Ports/Port.pm -%%SITE_PERL%%/FreeBSD/Ports.pm -%%SITE_PERL%%/%%PERL_ARCH%%/auto/FreeBSD/Ports/.packlist -@dirrm %%SITE_PERL%%/FreeBSD/Ports -@dirrm %%SITE_PERL%%/FreeBSD -@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/FreeBSD/Ports -@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/FreeBSD diff --git a/x11/gnome2-power-tools/Makefile b/x11/gnome2-power-tools/Makefile index a775aaa45bb6..355346c9c1f9 100644 --- a/x11/gnome2-power-tools/Makefile +++ b/x11/gnome2-power-tools/Makefile @@ -21,7 +21,7 @@ RUN_DEPENDS= ${LOCALBASE}/lib/epiphany/2.16/extensions/libgesturesextension.so:$ cog:${PORTSDIR}/sysutils/cog \ gnome-blog-poster:${PORTSDIR}/deskutils/gnome-blog \ gnomesu:${PORTSDIR}/security/libgnomesu \ - bpm:${PORTSDIR}/sysutils/bpm \ + bpm:${PORTSDIR}/ports-mgmt/bpm \ gnome-file-share-properties:${PORTSDIR}/www/gnome-user-share \ serpentine:${PORTSDIR}/sysutils/serpentine \ devilspie:${PORTSDIR}/x11-wm/devilspie \ @@ -34,7 +34,7 @@ RUN_DEPENDS= ${LOCALBASE}/lib/epiphany/2.16/extensions/libgesturesextension.so:$ eiciel:${PORTSDIR}/sysutils/eiciel \ gtk-send-pr:${PORTSDIR}/sysutils/gtk-send-pr \ thefish:${PORTSDIR}/sysutils/thefish \ - pbrowser:${PORTSDIR}/sysutils/portbrowser + pbrowser:${PORTSDIR}/ports-mgmt/portbrowser MASTERDIR= ${.CURDIR}/../gnome2 GNOME_SLAVE= yes |