chucky Copyright 2013 Waitman Gobble <ns@waitman.net> see LICENSE for details This program reads /var/db/pkg/local.sqlite and compares install timestamp with date in $FreeBSD header in the Makefile of the port. If there is no $FreeBSD header then it is assumed to be a beta port. Command line switches: -u show ports with update status only -o show ports with current status only -b show ports with beta status only -t show timestamps (debug, etc) -a create shar of files (usefull with -b). output to stdout -h help -i ignore fread() errors* NOTE: shar files are created with absolute path (ie /usr/ports/src/dir) so executing them will restore to that path. Multiple shars are concatenated by chucky stripping the 'exit' command from the output. (ie there is no 'exit' in the shar output. the shar output is to stdout, if you want to save: # chucky -b -a > save.shar This will save all the ports marked 'beta' in the save.shar archive, in the cwd. Edit Makefile if you dont put stuff in /usr/local example: # chucky {OK} p:1359956798 i:1363325950 x11/xpr 1.0.4 {OK} p:1342304958 i:1363325954 x11/xprop 1.2.1 {beta} p:---------- i:1363045617 x11/xproto 7.0.22 {OK} p:1362771552 i:1363325959 x11/xrandr 1.4.0 {updates} p:1366304958 i:1363325962 x11/xrdb 1.0.9 {OK} means there is no update available {beta} is a beta port {updates} means the version in /usr/ports is newer than install date the right columns show the port location, ie /usr/ports/x11/xrdb and the version currently installed on the system. depends on /var/db/pkg/local.sqlite which is managed by the pkg system. (see /usr/ports/ports-mgmt/pkg) *ignore fread errors: if you are working on developing ports outside the ports tree you may receive an error because the port is listed in the database but it does not exist in the ports tree. if you use the -i flag it will continue without an error message. contact me if you have Questions. Waitman Gobble San Jose California USA (510) 830 7975 ns@waitman.net