This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
[PATCH cygport 3/4] pkg_dist: record package versions in "depends:"
- From: Ken Brown <kbrown at cornell dot edu>
- To: cygwin-apps at cygwin dot com
- Date: Mon, 25 Jun 2018 11:10:30 -0400
- Subject: [PATCH cygport 3/4] pkg_dist: record package versions in "depends:"
- References: <20180625151031.13164-1-kbrown@cornell.edu>
For each generated dependency, add a version relation that specifies a
version greater than or equal to the currently installed version.
This should prevent users from updating a package without updating its
dependencies.
https://cygwin.com/ml/cygwin/2018-03/msg00365.html
---
lib/pkg_pkg.cygpart | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/lib/pkg_pkg.cygpart b/lib/pkg_pkg.cygpart
index ef3acc3..ae85428 100644
--- a/lib/pkg_pkg.cygpart
+++ b/lib/pkg_pkg.cygpart
@@ -627,9 +627,10 @@ __pkg_dist() {
# libfoo-devel will use libfoo_devel_REQUIRES.
# NOTES
# * cygport attempts to automatically detect many types of package
-# dependencies, which do not need to be listed in REQUIRES. This is still
-# needed for commands called by scripts or in code with fork(), libraries
-# which are accessed by dlopen(), or data used by your package at runtime.
+# dependencies, which do not need to be listed in PKG_REQUIRES.
+# This is still needed for commands called by scripts or in code
+# with fork(), libraries which are accessed by dlopen(), or data
+# used by your package at runtime.
# * Any newlines in this variable must be escaped.
# SEE ALSO
# PKG_DEPENDS
@@ -643,6 +644,10 @@ __pkg_dist() {
# NOTES
# * Do not confuse DEPENDS with DEPEND, which is an obsolete alias
# for BUILD_DEPENDS.
+# * cygport attempts to automatically detect many types of package
+# dependencies, which do not need to be listed in DEPENDS. This is still
+# needed for commands called by scripts or in code with fork(), libraries
+# which are accessed by dlopen(), or data used by your package at runtime.
# * Dependencies without version relations can be listed either in
# DEPENDS or in REQUIRES.
# * If there is more than one package in PKG_NAMES, this variable will be
@@ -667,6 +672,11 @@ __pkg_dist() {
# NOTES
# * Dependencies without version relations can be listed either in
# PKG_DEPENDS or in PKG_REQUIRES.
+# * cygport attempts to automatically detect many types of package
+# dependencies, which do not need to be listed in PKG_DEPENDS.
+# This is still needed for commands called by scripts or in code
+# with fork(), libraries which are accessed by dlopen(), or data
+# used by your package at runtime.
# * Any newlines in this variable must be escaped.
# SEE ALSO
# PKG_REQUIRES
@@ -742,7 +752,7 @@ __pkg_dist() {
if [ "${CBUILD##*-}" = "cygwin" ]
then
pkg_bin_requires=$(__list_deps $(sort -fu ${T}/.${pkg_name[${n}]}.lst | sed -e '\|/$|d;s| |^_^|g') \
- | sort -fu | sed -e "/^${pkg_name[${n}]}-[0-9].*$/d;s/-[0-9].*$//g" \
+ | sort -fu | sed -e "/^${pkg_name[${n}]}-[0-9].*$/d;s/-\([0-9].*\)$/ (>=\1)/g" \
| sed -e ':a;N;$!ba;s/\n/, /g')
if [ -n "${pkg_bin_requires}" -a -n "${pkg_depends}" ]
then
--
2.17.0