From 009dbf010418afb873a75bdb204d77fdf1f83ac7 Mon Sep 17 00:00:00 2001 From: Achim Gratz Date: Wed, 3 Jun 2020 13:41:18 +0200 Subject: [PATCH] pkg_pkg: allow suppression of spurious package dependencies Allow suppression of spurious automatic package dependencies by introducing a new variable PKG_REQUIRES_SUPPRESS, containing a single-line string of space-separated package list. Any of the packages listed are automatically determined to be a requirement are suppressed so that they do not show up in the generated hint file(s). --- lib/pkg_pkg.cygpart | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/pkg_pkg.cygpart b/lib/pkg_pkg.cygpart index 7189f36..9603c1d 100644 --- a/lib/pkg_pkg.cygpart +++ b/lib/pkg_pkg.cygpart @@ -1,3 +1,4 @@ +# -*- mode: sh; sh-shell: bash -*- ################################################################################ # # pkg_pkg.cygpart - cygport packaging functions @@ -787,6 +788,7 @@ __pkg_dist() { do pkg_category_var=${pkg_name[${n}]//[-+\.]/_}_CATEGORY; pkg_requires_var=${pkg_name[${n}]//[-+\.]/_}_REQUIRES; + pkg_requires_suppress_var=${pkg_name[${n}]//[-+\.]/_}_REQUIRES_SUPPRESS; pkg_summary_var=${pkg_name[${n}]//[-+\.]/_}_SUMMARY; pkg_description_var=${pkg_name[${n}]//[-+\.]/_}_DESCRIPTION; pkg_message_var=${pkg_name[${n}]//[-+\.]/_}_MESSAGE; @@ -806,6 +808,10 @@ __pkg_dist() { then declare ${pkg_requires_var}="${REQUIRES}" fi + if [ -z "${distsubdir}${!pkg_requires_suppress_var}" -a -n "${REQUIRES_SUPPRESS+yes}" ] + then + declare ${pkg_requires_var}="${REQUIRES_SUPPRESS}" + fi if [ -z "${distsubdir}${!pkg_obsoletes_var}" -a -n "${OBSOLETES+yes}" ] then declare ${pkg_obsoletes_var}="${OBSOLETES}" @@ -827,9 +833,11 @@ __pkg_dist() { then if [ "${CBUILD##*-}" = "cygwin" ] then - pkg_bin_requires=$(__list_deps $(sort -fu ${T}/.${pkg_name[${n}]}.lst | sed -e '\|/$|d;s| |^_^|g') \ - | sed -e "/^${pkg_name[${n}]}-[0-9].*$/d;s/-[0-9].*$//g" \ - | sort -fu | sed -e ':a;N;$!ba;s/\n/ /g' ) + pkg_bin_requires=$( echo ${!pkg_requires_suppress_var} ${!pkg_requires_suppress_var} \ + $(__list_deps $(sort -fu ${T}/.${pkg_name[${n}]}.lst | sed -e '\|/$|d;s| |^_^|g') \ + | sed -e "/^${pkg_name[${n}]}-[0-9].*$/d;s/-[0-9].*$//g" \ + | sort -fu | sed -e ':a;N;$!ba;s/\n/ /g' ) \ + | tr ' ' '\n' | sort | uniq -u | tr '\n' ' ' ) __step "${pkg_name[${n}]} requires: ${pkg_bin_requires} ${!pkg_requires_var}" else pkg_bin_requires= -- 2.26.2