On Wed, Nov 04, 2020 at 01:12:23PM -0500, Jeremy O'Brien wrote:
> On Wed, Nov 4, 2020, at 11:37, Chris Bennett wrote:
<SNIP>
> > Easy answer. System libraries that these packages were built with have
> > changed. Package is the same except for being rebuilt with newer
> > libraries.
> > 
> 
> This demonstrates that I don’t understand the mechanism by which these 
> upgrade decisions are made then. How can pkg_add determine that a given 
> package was built against newer libraries if there is nothing in the package 
> header (+CONTENTS) indicating such? I assumed this would manifest itself in 
> the package signature in some way, since pkg_add is clearly making an upgrade 
> decision here. Or there is of course the possibility that there *is* some 
> information there that I’m overlooking.
> 
> > Are you upgrading to a newer stable/release?
> > Same answer.
> > 
> > Are you getting this problem running pkg_add -u multiple times on the
> > same system without changing to a newer version or snapshot?
> > 
> > Then something is wrong. (Assumimg you are actually running the actual
> > pkg_add -u)
> > Check to make sure that you do not have any packages that have been
> > since dropped. gettext caused me problems a good while back
> > 
> > Please supply a little more info. That helps people to decide whether
> > they want to answer or not. Most likely you don't have any problem.
> > Have you read all of the relevant man pages? pkg_*
> > 
> 
> Multiple times. My problem is that the documentation appears to be written 
> for a user of OpenBSD, not necessarily someone trying to fully grok the inner 
> workings of exactly how the pkg_* tools work. I’ve tried reading the perl 
> directly, but I haven’t found anything that seemed like a smoking gun. I 
> guess what I want to know is, what *exactly* is pkg_add doing/comparing to 
> determine that an upgrade is needed?

It seems you haven't read enough.

You might want to start with some of the fine documentation on the
internals that espie@ has written, signatures are mentioned right in the
intro, with a pointer to OpenBSD::Signature.

http://man.openbsd.org/OpenBSD::Intro

Of course, that doesn't explain how signatures work and the
implementation is slightly more complex.

https://github.com/openbsd/src/blob/master/usr.sbin/pkg_add/OpenBSD/Signature.pm

Not entirely sure why it wants to update from the information I saw in
this thread, but you could likely instrument the signature comparison to
find out.

l8rZ,
-- 
andrew - http://afresh1.com

Computer analyst to programmer:
               "You start coding. I'll go find out what they want."

Reply via email to