Marc Espie wrote:
Packages have dependencies. The signature is a snapshot of what was used
to build the package.
Package version numbers change whenever the port itself changes. This cannot
take into acount dependencies, hence the signature.
For instance, take the gimp package, currently at version 2.6.7p3.
gimp depends on the jpeg library, so its signature contains markers for
the jpeg package, and for the library proper (on shared archs machines).
Say it's been built against jpeg-6bp5 / libjpeg.so.62.0.
When jpeg gets upgraded (which happened recently, it went to
jpeg-7 / libjpeg.so.63.0), the gimp package will change: the new package
will be built against the new library. BUT the package name won't change.
It would only change when someone modifies something in gimp proper.
Anything else is impractical. You cannot bump every package in the tree that
depends on jpeg every time jpeg changes (actually, I think the freebsd people
try to do something like that, and it generates a huge amount of noise).
On the other hand, package builds occur every few days/weeks on most
architectures. And so, the gimp package you will see will be different from
the one of a few days ago (most certainly a different size because of embedded
datestamps which will compress slightly differently). But if none of its
dependencies have changed, then there's no reason for you to upgrade...
What about packages only available from ports?
When the libraries that these use get updated normally,
is there a quick check to see if this has happened?
Does make update fix this or should these be re-installed?
I only just thought about this needing to be done
--
A human being should be able to change a diaper, plan an invasion,
butcher a hog, conn a ship, design a building, write a sonnet, balance
accounts, build a wall, set a bone, comfort the dying, take orders,
give orders, cooperate, act alone, solve equations, analyze a new
problem, pitch manure, program a computer, cook a tasty meal, fight
efficiently, die gallantly. Specialization is for insects.
-- Robert Heinlein