ports and PBIs

kris at pcbsd.org kris at pcbsd.org
Sat Apr 10 13:43:29 UTC 2010

 BODY { font-family:Arial, Helvetica, sans-serif;font-size:12px

On Sat 10/04/10  3:35 AM , Garrett Cooper  wrote:

	[...] >
 > yes but there are still dependency problems if you want to install
a single
 > package and you installed all the previous ones a year ago.
 > With PBIs each package is self standing, so you can install one
 > and not worry if it requires a different version of some library
 > to what you installed last year.
 If I'm understanding you correctly you're saying it's an issue when I
 pkg_add A B C
 # 1 year passes
 pkg_add D
 # D depends on A, B, C, of different revisions. pkg_add barfs because
 it can't find the applications, etc.
 This is something that's been hashed over a number of times (a few of
 which I've participated in in #bsdports). There needs to be a simple
 update command which will handle the action of upgrading packages,
 because there isn't a proper command that will do so today.
 Unless PBIs are self-contained entities which have their own sets of
 dependent utilities and libraries, etc (which you weren't suggesting
 in the sentence above), or install into a common location with
 versioned directories (which is a pain in the ass and involves a lot
 of hardcoded pains dealing with libtool files, libraries, etc -- been
 there, done that with Gentoo Linux -- there are hack scripts written
 to work around several possible hardcoded version issue, and there
 a handful), AFAIK there's nothing positive and new that PBIs can
 to the table in this regard that can't be implemented in pkg_install
 as-is, other than the point-click-install user-friendly interface.
	Incorrect. The difference is in complexity at install-time. Even if
you improve the package manager
	to better resolve and upgrade all related dependencies as a result of
doing a firefox upgrade, the fact
	still remains that just to update one package, you may have to also
update a TON of various packages
	/ libraries, any of which may be critical to other applications on
your system. If just a single one of those
	things fails, you can end up breaking a lot of applications on your
system or even your entire desktop.
	PBI system simplifies this process. Updating firefox, since its
self-contained, does NOT run the risk
	of borking anything else on the system. You don't need to work about
libpng, libjpeg, or some other seemingly
	trivial library (to the end user) causing a huge breakage for xorg,
or KDE/Gnome, etc.
	This in my opinion is the fatal flaw of pretty much every open-source
system out there right now. Something both
	windows & mac have recognized and dealt with. We instead try to write
more and more complex package resolvers,
	while failing to address the main issue, that with such a complex
chain of dependencies for something as simple
	as upgrading firefox, it increases the chances exponentially that
something will break and ruin your day / weekend.
 >> PBIs only comprise a small set of packages in FreeBSD; if my
 >> understanding is correct based on a mirror referenced in
 >> the number is currently under 500~750 PBIs -- this is drastically
 >> smaller than the number of binary packages produced by ports on a
 >> regular basis for FreeBSD.
 >>> solution? well let all the developers develop working ports in
 >>> progress in one place, give users like me a way to track these
 >>> and install and test them... I think FreeBSD becomes a better
place for
 >>> it.
 >> Packages are more of the answer IMO, not PBIs. PBIs are merely a
 >> different set of contents and different means of delivering those
 >> contents, and while I like the idea of point - click - install,
 >> not ready to create unnecessary complexity by having libraries
 >> according to what the maintainer A believes are correct, even
 >> maintainer B set it differently, and I'm not interested in
 >> disk space for this reason. If I wanted to use a packaging scheme
 >> this, I should be using Mac OSX as my primary operating system.
 > well no-one is going to make you use PBIs
 Yes, but if I now have to waste more bandwidth and disk space
 installing packages, why shouldn't I go to another operating system?
 Switching over to PBIs will reel in more desktop and entry-level
 sysadmins, etc, but I fear that it will isolate folks in the embedded
 market as well as several more seasoned users because of the
 implications involved with the extra bandwidth requirement and
	This gave me a bit of a chuckle. PBI would not be intended as a
replacement for ports,
rather a utilizing of ports in such a way that we can start building
self-contained, stand-alone
binaries for end-users and those of us who value their time more than
a few MB of disk space. 
Considering at every BSD conference it seems that the majority of
developers are running Mac
laptops, it would seem that even some developers agree with the
principle, they just aren't doing
 it on FreeBSD. :)

However for my more hard-core friends, nothing stopping you from
running your own ports down
the road, more power to ya! For doing something like embedded work or 
a server this makes total
sense and I think it is a huge positive for FreeBSD, no reason to
trash that or break it in any way.
For the other 99.9% of society who want something "that just works"
for day-to-day computing, 
something like PBI is very attractive. It would be great to have an OS
that offers best of both worlds.

Kris Moore
Message sent via Atmail Open - http://atmail.org/

More information about the freebsd-current mailing list