Doing SQL to the FreeBSD ports index

Matthew Seaman m.seaman at infracaninophile.co.uk
Sun Jan 29 11:54:10 UTC 2012


On 28/01/2012 02:05, rflynn at acsalaska.net wrote:
> I haven't looked in detail - perl has to leave my head - but what I think
> is a good feature for a database to handle is to find outdated distfiles.
> 
> Since the relationship between a portorigin and it's distfile(s) is not
> available otherwise. I realize portmaster uses /var/db/ports for it, yet
> if you share $PORTSDIR but not $PORT_DBDIR (different machines, different
> requirements) then this method gets ugly fast. Quick parse of distinfo
> should do the trick. Record the hash and you can get bonus points for
> indicating hash errors (incomplete aborted downloads or upstream changed
> distfile).

I've just added tables to handle distinfo data to portindexdb.  Get
release 972 from
http://www.infracaninophile.co.uk/articles/portindexdb.html while it's
hot.  And thank you very much for the suggestion.

Now for the weasely-worded bit.  portindexdb takes a snapshot of the
current state of the ports tree, so finding outdated or broken distfiles
is a matter of calculating the checksums of the files you find in
/usr/ports/distfiles and picking out the ones where the checksum is
unknown in the database.  (Actually scripting up this is left as an
exercise for the student.)

*Except* some ports use alternate distinfo files depending on the
current system architecture, so beware: this method may flag up some
good distfiles if you share your ${PORTSDIR} between machines of
different architectures.  It's relatively few things and mostly stuff
like pre-compiled Linux binaries that are affected.

	Enjoy,

	Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
JID: matthew at infracaninophile.co.uk               Kent, CT11 9PW

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 267 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20120129/2c84a6bb/signature.pgp


More information about the freebsd-ports mailing list