ports and PBIs

Julian Elischer julian at elischer.org
Sat Apr 10 08:45:51 UTC 2010

On 4/10/10 12:20 AM, Garrett Cooper wrote:
> On Fri, Apr 9, 2010 at 11:28 PM, Sam Fourman Jr.<sfourman at gmail.com>  wrote:
>> On Fri, Apr 9, 2010 at 10:11 PM, Adam Vande More<amvandemore at gmail.com>  wrote:
>>> On Fri, Apr 9, 2010 at 8:31 PM, Julian Elischer<julian at elischer.org>  wrote:
>>>> 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.
>>> FWIW, when I see these discussions I'm always left wondering what's the bad
>>> part?  I do think there are problems, but there doesn't seem to be a clear
>>> defined set of what is wrong.   IMO, there should be a defined set of goals
>>> to judge possible implementations against.
>> Let me start by saying FreeBSD ports is by far the best system I have
>> used to date.
>> but as good as it is, there is room for improvement.
>> Being a FreeBSD user now for many years, one thing I think would be nice is:
>> being able to have easier access to development ports( Masked ports
>> kinda like Gentoo).
> Masking ports and packages in general introduces all sorts of fun new
> complexity for end users as well as maintainers. The last time I used
> Gentoo (which was only a matter of months ago), a lot portage packages
> were still masked even though they've been stable for months, years,
> etc. This is very annoying for me as an end-user because bug blah
> could be fixed in a later release but in order to unmask the pieces
> for version blah, I had to unmask 10~15 other `unstable packages',
> which greatly increased the chance of instability on my system (this
> was particularly the case back several years ago, but Gentoo has
> become more conservative over the years, and appears to be approaching
> some level of equilibrium with Fedora, Ubuntu, etc in terms of
> releases and package versioning).
>> right now is a GREAT example, currently there are new Gnome ,KDE and Xorg.
>> these are all MAJOR ports,dependencies run deeper and deeper with every release.
>> there can never be enough testing...but they all exist in random
>> subversion servers around the web...
> ports isn't going to solve this. Post the Xorg modularization (which
> needed to occur anyhow because Xorg and Xfree86 before that was were
> monolithic beasts), I personally don't see that change in the amount
> of  flux on a quarterly cycle, and the number of packages I install
> today isn't that much greater than back 6 years ago when I started
> using FreeBSD. So, while there might be some claim here to note, I
> think it's mostly exaggerated.
>> I would very much like to help test these Major ports, but installing
>> them is a pain.
>> there should be some sort of overlay system in place, so I can just
>> build the development ports
>> after agreeing to a few well placed warnings of course. and Well if I
>> hose my system all to hell..
>> well then I could just click on a bunch of PBI's and I am back in business...
> Ok, apart from the interface (click a PBI, and magically you have
> packages installed)... how is this really different from binary
> packages? Have you tried installing binary packages lately via
> pkg_add? If not, I'd give it a shot instead of installing from ports.

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.

>> better still, make the development ports a PBI, I am just thinking out
>> loud here,but that may work, toughts?
>> one could say I could use merge scripts like marcusmerge for example,
>> or use Virtualbox...
>> but for large ports like Xorg and gnome or KDE, virtualbox doesn't cut it yet...
>> thinks like Nvidia Video cards, multiple monitors, USB devices, and
>> whatnot do not work on virtual box..
>> PBI's for development ports, with all the dependencies, wrapped in one package.
> Ok, well here's the thing. Instead of having N shared dependencies and
> libraries in /usr/local/lib, you'd have N**2 shared dependencies and
> libraries in each and every package. Now, let's look at

> $ ls -l irssi-0.8.14_1.tbz ~/Downloads/Irssi0.8.14_1-PV0.pbi
> -rw-r--r--  1 gcooper  gcooper  6856203 Apr 10 00:05
> /usr/home/gcooper/Downloads/Irssi0.8.14_1-PV0.pbi
> -rw-r--r--  1 root     wheel     517442 Apr 10 00:07 irssi-0.8.14_1.tbz
> The .tbz file is a file created with pkg_create -b, and the other file
> is the PBI I pulled off of http://www.pbidir.com/bt/download/210/2079
> . Big difference in size (13.25 fold difference).

Yes but that is a worst case thing.  We are talking about making
a system where the PBIs contain all the libraries needed but that
only some of them are installed, when there is not already the
same one (i.e. identical) installed by a previous PBI.
so if you installed, say, 20 PBI from the same 'set' you woudl only
be installing one copy of the libraries that

> PBIs only comprise a small set of packages in FreeBSD; if my
> understanding is correct based on a mirror referenced in pbidir.com,
> 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 changes
>> 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, I'm
> not ready to create unnecessary complexity by having libraries rev'ed
> according to what the maintainer A believes are correct, even though
> maintainer B set it differently, and I'm not interested in sacrificing
> disk space for this reason. If I wanted to use a packaging scheme like
> this, I should be using Mac OSX as my primary operating system.

well no-one is going to make you use PBIs

> Thanks,
> -Garrett
> PS Don't let this discourage you though in considering the entry-level
> user case. I'm just apparently more insane than some folks (not as
> insane as some others though), and I just don't believe in this
> ideology because things are fine for me as-is.

More information about the freebsd-current mailing list