pkg question - Difference pkg vs port

Michael Ross gmx at ross.cx
Wed Sep 3 23:25:00 UTC 2014


On Thu, 04 Sep 2014 00:38:02 +0200, Brandon Allbery <allbery.b at gmail.com>  
wrote:

> On Wed, Sep 3, 2014 at 5:52 PM, Michael Ross <gmx at ross.cx> wrote:
>
>> This is the exact same output I get when I install with ``pkg install
>> py27-MySQLdb'',
>> yet the pkg version does not accept mysql56, but insists on mysql55,
>> the fact that both use libmysqlclient.so.18 notwithstanding.
>>
>> How do I handle this?, i. e. how do I, can I, manually change the
>> dependency
>>         mysql55-client-5.5.39
>> to
>>         mysql56-client-5.6.20
>> ?
>>
>> I have to use mysql56, does this mean I have to install the python  
>> module
>> via the port?
>>
>
> A package can (currently?) only be built against a single version of a
> dependency; if it was built against mysql55-client, it can't be also  
> built
> for mysql56-client. You'll need to use the port, which can be built  
> against
> anything that provides the necessary build time dependency.

"Anything that provides" I think is the key to where I started thinking  
wrong:

The dependency is not "Shared libs required" libmysqlclient.so.18,
but one specific port that provides libmysqlclient.so.18 - mysql55-client.

Ok.

And I can ``pkg lock'' the installed packages so the mysql-server doesn't  
get accidentally deleted during a bulk upgrade.

Whew -- there were 6 pkg_* commands,
and pkg now has over 30. This will take some getting used to.

With pkg_add, I'd ``pkg_add -r py27-MySLQdb'',
then pkg_add would say "Nope, need mysql55, but mysql56 is installed",
then maybe I'd --force it.


> (It might be possible to force the package to install, but this is asking
> for trouble in the future.)
>

It's a trade-off for me:
If I need to install software in a production service role, say httpd and  
co.,
I wouldn't --force anything.
But sometimes I have to do one-shot stuff ( "Can you look if geoip does  
this-and-that" ),
and I want the answer now and not after upgrading 221 ports because I want  
to install 1 new one but gettext has changed.


I've got an old machine here which I used for such testing for a few years,
running 4.11. This was far too slow to compile stuff in "hm I need  
software X maybe" situations,
and I generally --forced every install.
Amazingly I had much less trouble with this than you'd expect, was amazed  
how long the system stood up to this maltreatment.


Michael


More information about the freebsd-stable mailing list