pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Avoiding software duplication



On 12/26/18 9:52 AM, Cág wrote:
Hi,

Most major Linux distributions include Python in the base installation.
The EL family, for example, depends on it, since YUM is written in it.
OpenSSL is pretty much everywhere, too. There are other examples for
sure.

For such software, can we avoid using the pkgsrc versions, and use those
provided by the distribution?

--
caóc

In many cases, yes, but there are potential problems, including:

1. Software not installed via pkgsrc could be modified or removed unbeknownst to pkgsrc (e.g. yum update, apt-get upgrade), causing pkgsrc dependent software to spontaneously stop functioning.

2. As Greg mentioned, the "base" packages in Enterprise Linux systems are generally outdated and may not be capable of supporting the latest dependent software.  This is not as much of a problem on bleeding-edge systems like Ubuntu, but (1) still applies.

3. Software from other package managers may be built with different options, which are not compatible with pkgsrc dependents.

4. More software from foreign packages means a greater likelihood of leakage into pkgsrc builds (e.g. configure scripts picking up non-pkgsrc versions of tools and libraries).  This is hard to avoid on many Linux systems, where add-on software is installed into /usr/bin, ...

I use pkgsrc extensively on CentOS and my take on avoiding duplication is "don't install the Yum version if it's avoidable".  I keep my Yum installations to a minimum and use the more recent packages from pkgsrc wherever possible.

I also want my pkgsrc installations to be completely self-reliant to avoid unpleasant surprises, so I always set

PREFER_NATIVE=        no
PREFER_PKGSRC=        yes

in my mk.conf.

To avoid leakage issues, I actually build a full set of binary packages in a minimal chroot, and only build from source on a production system if I need an optimized or customized build.



Home | Main Index | Thread Index | Old Index