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