Shared library version bump policy & suggestion to track these bumps formally

Lev Serebryakov lev at FreeBSD.org
Fri Jan 4 09:35:41 UTC 2013


Hello, Freebsd-ports.

  Now, when some port after update installs new version of shared
library, used by other ports, here are two variants:

 (a) To bump versions of all dependant ports (PORTREVISION=${PORTREVISION} + 1)

 (b) Don't touch other ports, but add copy'n'pasted item into
      UPDATING with instructions for users of portmaster, portupgrade
      and binary pkg-ng packages.

   Question is: which way is better? Why sometimes first way is selected
 and sometimes second one? Is here any policy to select between them
 in different cases?

   Personally, I don't like both ways.

   First one is error-prone for maintainer: dependency could be
  optional and turned off by default, for example.

   Second one is error-prone for users. And, to be honest, I don't
  like when formal task is performed by hands. All these records in
  UPDATING is copy'n'pasted with replacement of port name, receipt of
  upgrading is always the same (yes, I know, that there are more
  difficult scenarios in UPDATING too, I don't speak about them now).
  Why this receipt should be performed by user, not by tool!?

   I suggest to have new variable in port's Makefile: BORDER_VERSIONS
  or something like this. Let it will be list of port's versions, when
  shared libs are updated and all dependent ports should be rebuild
  too.

   Then, portmaster/portupgrade could add "forced updates" to queue
  automatically (like with "portmaster -r <port>" / "portupgrade -fr
  <port>") if port cross (inclusive) one of versions from this list.

   Something like this:

BORDER_VERSIONS=0.48 0.65 1.0_1

  And if port is updated to version 0.48 or higher from
version STRICTLY LESS than 0.48 (and same for 0.65 and 1.0_1), all
ports, which uses this library, will be rebuild too.


-- 
// Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>



More information about the freebsd-ports mailing list