summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgdt <gdt>2012-01-25 15:20:35 +0000
committergdt <gdt>2012-01-25 15:20:35 +0000
commit6c527294d78eb407866199f526a8447820cab8be (patch)
treeb80d96d944a1acaa6e89ecafa0f7d8ce5de09f64
parentcff7e24c6897715a837256039105adb4b446d84b (diff)
downloadpkgsrc-6c527294d78eb407866199f526a8447820cab8be.tar.gz
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.
-rw-r--r--pkgtools/pkg_rolling-replace/files/TODO40
1 files changed, 38 insertions, 2 deletions
diff --git a/pkgtools/pkg_rolling-replace/files/TODO b/pkgtools/pkg_rolling-replace/files/TODO
index dfcbe1fa36a..f6c37d20a02 100644
--- a/pkgtools/pkg_rolling-replace/files/TODO
+++ b/pkgtools/pkg_rolling-replace/files/TODO
@@ -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.
+