Date: Mon, 16 Oct 1995 12:12:13 +0100 From: Chris Stenton <jacs@gnome.co.uk> To: freebsd-ports@freebsd.org Subject: simple perl script for ports update checking Message-ID: <jacs-9509161112.AA00062262@hawk.gnome.co.uk>
next in thread | raw e-mail | index | archive | help
Here is a simple perl script for checking the current ports tree against a users installed packages and notifying the user which ports have been either updated or removed. I find this useful to keep my 40 or so ports upto date. Chris --------updated---------- #!/usr/bin/perl # # $Header: /home/jacs/perl/updated,v 1.2 1995/10/14 22:52:24 jacs Exp $ # # $Log: updated,v $ # Revision 1.2 1995/10/14 22:52:24 jacs # *** initial version *** # #read packages directory opendir(PKGDIR, "/var/db/pkg") || die "Could not open /var/db/pkg"; @allfiles = grep(!/^\.\.?$/, readdir(PKGDIR)); closedir(PKGDIR); #read ports index open(INDEXFH, "/usr/ports/INDEX") || die "Could not open /usr/ports/INDEX"; @indexfile = <INDEXFH>; close(INDEXFH); #search index file for each package ENTRY: foreach $pkg (@allfiles) { foreach $line(@indexfile) { if(index($line, $pkg) ==0) { next ENTRY; } } #package is not in the INDEX file #checking to see if has been updated or removed printf "port %20s has been ", $pkg; $pkg =~ s/-.*/-/; foreach $line(@indexfile) { if(index($line, $pkg) ==0) { $line =~ s/\|.*//; print "updated too\t", $line; next ENTRY; } } print "removed \n"; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?jacs-9509161112.AA00062262>