I do not quite understand why a BIND upgrade needs to touch soo much.

Willem Jan Withagen wjw at digiware.nl
Mon Dec 15 22:11:08 UTC 2014


On 15-12-2014 22:26, Brandon Allbery wrote:
> On Mon, Dec 15, 2014 at 4:20 PM, Brandon Allbery <allbery.b at gmail.com>
> wrote:
>>
>> On Mon, Dec 15, 2014 at 4:15 PM, Willem Jan Withagen <wjw at digiware.nl>
>> wrote:
>>>
>>> So I'm building my packages with poudriere and using pkg (1.4.0)
>>> to upgrade bind. With the sort of shocking result:
>>> ======================
>>> Installed packages to be REMOVED:
>>>         gettext-0.18.3.1_1
>>>
>>
>> That first one is the key. Bind depends on gettext --- as does pretty much
>> every other package in existence --- and gettext underwent a massive
>> breaking change, which is kinda deranging everything else. The recent
>> /usr/ports/UPDATING entry for gettext has the gory details.
>>
> 
> To explain a bit further: this time, your portupgrade would do a lot of
> extra work as well. bind is not self-contained; it has dependencies, some
> of which are shared by other packages. If you want your bind update to be
> self-contained then you'll need to make your own port and package from it
> containing its own gettext, so you can upgrade that one package without
> breaking every other package that depends on gettext. Otherwise, you just
> have to accept that a package other than bind, which bind and just about
> everything else depends on, *also* changed; and you can't just upgrade bind
> without upgrading gettext *and* either upgrading or removing the other
> packages that depend on the old gettext.

Yup, more than true in the ultimate case.
Although 'portupgrade bind99' in this case did not require any other
packages to be upgraded too.

I've been hesitant in upgrading other packages with less security
pressure, because of the huge list with extra's.
And you are right, this change in gettext is going to bite at some
point. (besides from building things with static linked libs.)

Still leaves the point that 'pkg upgrade bind99' removes packages
without reinstalling those. The only alternatives are:
 -	pkg upgrade, and everything is upgraded
 -	capture the list of deletion, and manually re-add them after
	the upgrade

Neither solution is something I look forward too.

--WjW






More information about the freebsd-stable mailing list