ports system woes

Pav Lucistnik pav at FreeBSD.org
Mon Mar 31 04:44:26 PDT 2008

soralx at cydem.org píše v po 31. 03. 2008 v 01:23 -0700:

> > Quick solution would be to gather all depnames for the deleted package,
> > and then do a single pass over /var/db/pkg entries looking for origins.
> > 
> > Ultimate solution would be to implement a database which would
> > concentrate origins for all packages with linear lookup time.
> I'm personally against of decresing complexity by means of incresing
> complexity of pkg_install suit (i.e., database instead of fs).
> I might have a distorted understanding, but UFS2 is an OK database in
> itself? Can't the the tools be made O(n) without resorting to moving
> everything to a DB?

You can't query, for example, which package installed some file, without
reading the complete +CONTENTS for all installed packages.

With, say, SQL database, you could do that under 10 blockreads.

> FS-based approach performs well enough when /var/db/pkg/ is cached, so
> IMO the issue is just that whole pkg/ tree doesn't fit in cache on
> machines with 256M RAM anymore (because of sheer monstrosity of the tree
> caused by them 'modular' approaches to large projects).

Not much we can do about that, we usually follow the rule
one vendor distfile = one port
and it has served us well. I would be strongly against merging X.org
ports back into a monolitic port again.

> I am probably wrong (didn't check in detail), but doesn't bsd.openssl.mk
> get invoked every time (every port install) if USE_OPENSSL==yes, no matter
> if the openssl port is installed or not? Anyway, it'd be nice if dinoex
> could take a look at bsd.openssl.mk (does he need to be CC'd?)

bsd.openssl.mk does get included every time USE_OPENSSL is specified in
a port, but that's not a problem. The problem is execution of !=
assignments you pointed out, and these happen only when openssl port is
actually installed.

Pav Lucistnik <pav at oook.cz>
              <pav at FreeBSD.org>

The Novice rogue. A rather shifty individual
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: Toto je =?UTF-8?Q?digit=C3=A1ln=C4=9B?=
	=?ISO-8859-1?Q?_podepsan=E1?= =?UTF-8?Q?_=C4=8D=C3=A1st?=
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20080331/3798ac0d/attachment.pgp

More information about the freebsd-ports mailing list