- minor update of the script.

- import script file into port skeleton.
- change maintainer's mail address.

PR:		ports/26762
Submitted by:	maintainer
This commit is contained in:
SADA Kenji 2001-04-23 17:27:50 +00:00
parent ce8986810e
commit f401541c9b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=41835
6 changed files with 90 additions and 22 deletions

View file

@ -6,21 +6,22 @@
#
PORTNAME= pkg_remove
PORTVERSION= 1.0
PORTVERSION= 1.1
CATEGORIES= sysutils
MASTER_SITES= http://www.rr.iij4u.or.jp/~sada/scripts/
DISTNAME= pkg_remove
EXTRACT_SUFX= .txt
MASTER_SITES= # none
DISTFILES= # none
MAINTAINER= nakaji@tutrp.tut.ac.jp
MAINTAINER= nakaji@jp.freebsd.org
EXTRACT_CMD= ${CP}
EXTRACT_BEFORE_ARGS=
EXTRACT_AFTER_ARGS= .
NO_WRKSUBDIR= yes
NO_BUILD= yes
NO_WRKSUBDIR= yes
SRC= ${.CURDIR}/src
do-fetch:
@${DO_NADA}
do-install:
${INSTALL_SCRIPT} ${WRKDIR}/pkg_remove.txt ${PREFIX}/bin/pkg_remove
${INSTALL_SCRIPT} ${SRC}/pkg_remove.txt ${PREFIX}/bin/pkg_remove
.include <bsd.port.mk>

View file

@ -1 +0,0 @@
MD5 (pkg_remove.txt) = 7d83feadfe5c902c3afc1230eb5443d4

View file

@ -0,0 +1,34 @@
#!/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';
}

View file

@ -6,21 +6,22 @@
#
PORTNAME= pkg_remove
PORTVERSION= 1.0
PORTVERSION= 1.1
CATEGORIES= sysutils
MASTER_SITES= http://www.rr.iij4u.or.jp/~sada/scripts/
DISTNAME= pkg_remove
EXTRACT_SUFX= .txt
MASTER_SITES= # none
DISTFILES= # none
MAINTAINER= nakaji@tutrp.tut.ac.jp
MAINTAINER= nakaji@jp.freebsd.org
EXTRACT_CMD= ${CP}
EXTRACT_BEFORE_ARGS=
EXTRACT_AFTER_ARGS= .
NO_WRKSUBDIR= yes
NO_BUILD= yes
NO_WRKSUBDIR= yes
SRC= ${.CURDIR}/src
do-fetch:
@${DO_NADA}
do-install:
${INSTALL_SCRIPT} ${WRKDIR}/pkg_remove.txt ${PREFIX}/bin/pkg_remove
${INSTALL_SCRIPT} ${SRC}/pkg_remove.txt ${PREFIX}/bin/pkg_remove
.include <bsd.port.mk>

View file

@ -1 +0,0 @@
MD5 (pkg_remove.txt) = 7d83feadfe5c902c3afc1230eb5443d4

View file

@ -0,0 +1,34 @@
#!/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';
}