ports and PBIs

Julian Elischer julian at elischer.org
Sat Apr 10 01:59:36 UTC 2010


sorry for the cross-post..

Last night at the Bay Area FreeBSD Users Group meeting we had
a discussion about ports, and what is good about them and what
is bad about them. This has been a topic of discussion quite a
bit recently and we were looking for a solution that would
allow us to keep the good parts of the current ports system
but would allow us to give a better user experience for non
guru users.

The scheme we came up with involves a merging of the
ports tree and the PBI system, developed for PC-BSD.

Basically, the addition of a makepbi keyword in the .mk
files to allow the automatic generation of PBIs for 'simple'
ports such as 'cowsay' (the canonical simple app).
More complicated apps would need manual work in Makefile or
in a separate pbi-recipe file, but once the support was done
we could proceed one port at a time.  Not all ports make sense
in a PBI format. (e.g. libraries etc. may not)

One issue that was raised is the increase of storage
overhead when using PBI packages as they include a copy of
all required libraries and resources, which means that one would
very quickly get duplicate copies of things.

Our suggestions include the ability of the PBI management software
to resolve and (using hard links) eliminate duplicate items.
This is not as easy as it sounds but can be achieved using a
special variant of 'objcopy' (at least that is our theory).

The aim is to make all apps installed on a system much more
resilient to dependency problems.

In addition there was discussion on how builds need to be doable as 
non-root uids sometimes, and that users on a system should be
able to install packages (PBIs) as thie selves to get local
versions of apps for themselves.

Alfred Perlstein , Matt at ix systems Kris (Mr PBI), some
others and I, felt that these ideas seemed to make some sense
and so I put them here for comment.




Julian


More information about the freebsd-ports mailing list