Add note about use of unsafe_depends_loose, from discussion with

obache@.

Note that there is an issue with unsafe_depends not getting set when
options change.
This commit is contained in:
gdt 2012-01-25 15:20:35 +00:00
parent beb47035c0
commit d07cfa08b4

View file

@ -1,2 +1,38 @@
* Add support for a package variable 'norebuild', which will cause
pkg_rolling-replace to exclude rebuilding that package.
* norebuild variable
Add support for a package variable 'norebuild', which will cause
pkg_rolling-replace to exclude rebuilding that package.
* unsafe_depends on options
Currently, "make replace" sets unsafe_depends on every invocation
where the PKGNAME differs, and unsafe_depends_strict on every
invocation. However, if the PKG_OPTIONS differ, unsafe_depends should
be set, because options in general change the ABI.
* unsafe_depends_loose
Often, a package changes (in version number) and there is not in fact
an ABI change. Using unsafe_depends with pkg_rolling-replace can
cause unnecessary rebuilding. Therefore it is desirable to have a way
to mark a package to be rebuilt only if there is an ABI change.
Because knowing whether there is an ABI change is hard, and because
missed ABI changes cause problems, unsafe_depends and the default
pkg_rolling-replace invocation will continue to mean what they do.
To help those who wish to avoid rebuilding when there is believed not
to be an ABI change, the following features are planned (with no
timeframe):
unsafe_depends_loose: this variable is set on a replace operation if
the ABI has changed, and as infrequently as possible if the ABI has
not changed. See mk/pkgformat/pkg/replace.mk for where
unsafe_depends is set; there is a natural place to insert the
variable setting if only one knew the correct conditional.
pkg_rolling-replace will have a new option -l, which causes it to
use unsafe_depends_loose instead of unsafe_depends. This change is
trivial, but does not help until unsafe_depends_loose is
implemented.