39 lines
1.6 KiB
Plaintext
39 lines
1.6 KiB
Plaintext
* 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.
|
|
|