On Fri, Feb 23, 2007, Caleb Epstein wrote: > Are there any tools or best practices for keeping the <openpkg>/RPM > dir clean? For example, I'd be insterested in: > > * Removing packages from the SRC and PKG directory that are no longer > referenced by the 00INDEX meta-data. > * Any other interesting stuff I might be able to do with these artifacts
The RPM/SRC/ and RPM/TMP/ directories you can just clean from anything without problems. They are just unpacked (SRC) or temporary (TMP) files. For the RPM/PKG/ it depends what you wish. Some people let every package stay around for a long time as they want to be able to downgrade to older versions if necessary. Others (like me) always just keep the last installed version and prune all others (see the little script below I run), and others just remove everything there immediately as they don't want their disk filled at all. Ralf S. Engelschall [EMAIL PROTECTED] www.engelschall.com #!/usr/opkg/bin/perl my $n = 1; # keep $n number of last RPMs of each package # determine SRPM files chdir("/usr/opkg/RPM/PKG") || die; foreach $ext (qw(*.rpm)) { my @rpms = glob($ext); # determine releases of each package my $db = {}; foreach $rpm (@rpms) { if ($rpm =~ m/^(.+)-([^-]+)-(\d{8})\.[^-]+-[^-]+-[^-]+\.rpm$/) { my ($name, $version, $release) = ($1, $2, $3); my $mtime = sprintf("%09d", (stat($rpm))[9]); $db->{$name} = {} if (not defined($db->{$name})); $db->{$name}->{"$release:$mtime"} = $rpm; } } # perform keep/remove operations foreach my $name (sort(keys(%{$db}))) { my @releases = reverse(sort(keys(%{$db->{$name}}))); foreach $release (@releases[0..($n-1)]) { next if (not defined($release)); print "KEEP ".$db->{$name}->{$release}."\n"; system("chmod 664 ".$db->{$name}->{$release}); } foreach $release (@releases[$n..$#releases]) { next if (not defined($release)); print "REMOVE ".$db->{$name}->{$release}."\n"; system("rm -f ".$db->{$name}->{$release}); } } } ______________________________________________________________________ OpenPKG http://openpkg.org User Communication List openpkg-users@openpkg.org