Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 04 Sep 2014 01:24:48 +0200
From:      "Michael Ross" <gmx@ross.cx>
To:        "Brandon Allbery" <allbery.b@gmail.com>
Cc:        FreeBSD Stable Mailing List <freebsd-stable@freebsd.org>
Subject:   Re: pkg question - Difference pkg vs port
Message-ID:  <op.xlmwnmovg7njmm@michael-think>
In-Reply-To: <CAKFCL4UX1Z-UsJYix8RR1eSkU38j04UE3WOt7d-Wz4yZX9J9OQ@mail.gmail.com>
References:  <op.xlmsddjrg7njmm@michael-think> <CAKFCL4UX1Z-UsJYix8RR1eSkU38j04UE3WOt7d-Wz4yZX9J9OQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 04 Sep 2014 00:38:02 +0200, Brandon Allbery <allbery.b@gmail.com>  
wrote:

> On Wed, Sep 3, 2014 at 5:52 PM, Michael Ross <gmx@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



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