Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Jul 2004 00:22:21 -0600
From:      Travis Poppe <tlp@LiquidX.org>
To:        freebsd-questions@freebsd.org
Subject:   Our package system: "Fundamentally Flawed" - A Linux User.
Message-ID:  <20040719002221.21b6b9a3@maya.liquidx.org>

next in thread | raw e-mail | index | archive | help
Hello all,

I have a few questions about our package system.

Many would agree that the FreeBSD ports system can be quite efficient and 
easy to use. Upgrading ports isn't usually a problem (unless something breaks), 
and installing them is usually only a command away.

Many would also agree that building massive amounts of software from source is 
NOT efficient for a desktop user and binary packages are a more suitable 
alternative.

My question regards our binary package system. I have always avoided using it
due to dependancy conflicts and outdated software packages. Keeping an up-to-date
system with our packages does not seem to be a likely possibility at the moment.

I would like to elaborate on what I mean by "dependancy conflicts" for lack of 
a better description.

When using 'pkg_add -r package' to install a port and its dependancies, pkg_add
will check to see if you already have some of the dependancies before 
downloading and installing them for you. If there are version differences, it
will warn you but the installation will still proceed.

This is where the problem lies.

Say for example I have a copy of gettext-0.13 on my system and one of the binary
packages I'm attempting to install was compiled and linked against gettext-0.12?

Instead of downloading and installing the other version of gettext along with
the existing one as to not break the linked libs (because gettext-0.13 uses 
a different library name) like it should, pkg_add only gives a warning and an 
assumption that the install went well.

Now, the user goes to run the package and gets a big fat error: libintl.so.X
not found.

For a user like myself, this is no problem. I can recognize the error and figure
out how to fix it manually. For a user considering switching to FreeBSD from 
Linux, this is considered a "fundamental flaw" in our package system and may 
lead to a very annoying flame war. Can this be fixed? Why hasn't it been fixed?
Am I doing something wrong? Has it been fixed?

Another issue. What about upgrading? How often are packages rebuilt and can 
they be easily upgraded without worrying about issues such as the one described
above?

I've been told they are rebuilt about once a month or so. Are these new
packages that are being rebuilt automatically defaulted to by pkg_add -r? 
With my experience, I usually end up with very old packages when using this
method. 

I hope I've made myself clear, and please correct me if I'm mistaken about any 
of the topics I've mentioned in this email. I'd like to know the answers to
these questions so I can answer questions brought up by those who may be
future FreeBSD users.

Regards,

-Travis Poppe



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040719002221.21b6b9a3>