Ports management tools in the base (Was: Re: cvs commit: www/en/projects/ideas ideas.xml)

Rene Ladan r.c.ladan at gmail.com
Tue Mar 20 20:46:02 UTC 2007


Doug Barton schreef:
[...]
> I'm pretty close to the end of the list of features that I
> was ever interested in implementing, and I've added almost every feature
> that users have asked for (with the notable exception of installing
> packages)

[...]

I'm thinking of one more option that would be nice: the possibility to
resume `portmaster -r PORT` builds (like the gettext one) without having
to rebuild or manually skip all already rebuilt ports (or
semi-automatically pollute /var/db/pkg with +IGNOREME files using some
primitive shell scripts I hacked together at 1 AM)

An example:

# portmaster -r gettext
now all files in /var/db/pkg/gettext-*/ have fresh modification times T,
and all /var/db/<port-requiring-gettext>/+CONTENTS files have time T.

When portmaster has finished upgrading gettext, it starts with all
dependent-on ports.  If it has finished such a port, all files in
/var/db/<port-requiring-gettext>/ have the same modification time T2
(with T2 newer than T).

The +CONTENTS file for ports which still need to be rebuilt is newer
than the other files (e.g. +DESC), so if portmaster crashes and
restarted, it could skip all ports P for which the following two
conditions hold:
(1) all modification times in /var/db/pkg/P/ are equal (i.e. T2),
(2) those T2 times are newer than T (where T is the modification time of
/var/db/gettext*/* before the mandatory rebuild of gettext itself).

<disclaimer>Only mentally tested</disclaimer>

> As for the requirements in the ideas page ...
> 
[...]
>
>     * storing old copies of shared libraries after shmajor number change
> in /usr/local/lib/compat/pkg
> 
> Portmaster doesn't do this currently. I have mixed feelings about
> whether this is even a good idea or not. I'd be happy to elaborate on
> why if anyone cares.
>
[...]

Not having a /usr/local/lib/compat/pkg is cleaner IMO.

> Doug
> 
Rene
-- 
GPG fingerprint = E738 5471 D185 7013 0EE0  4FC8 3C1D 6F83 12E1 84F6
(subkeys.pgp.net)

"It won't fit on the line."
		-- me, 2001



More information about the freebsd-ports mailing list