Fix previous commit (r459202) which introduced dependencies that specify
an optional make target. The patch file contained 2 typoes ("{$" instead of "${"). Add clean phase for dependencies that are not installed but required when the dependent port is built (e.g. because of references to source files of that port, or because of static linking against libraries in the stage area of such a dependency). Approved by: antoine (implicit)
This commit is contained in:
parent
4c87cd2274
commit
ba1f4c6e0b
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=459294
2 changed files with 30 additions and 11 deletions
|
@ -2,7 +2,7 @@
|
|||
|
||||
PORTNAME= portmaster
|
||||
PORTVERSION= 3.19
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= ports-mgmt
|
||||
|
||||
MAINTAINER= se@FreeBSD.org
|
||||
|
@ -29,7 +29,7 @@ verify: checksum
|
|||
|
||||
do-build:
|
||||
.for file in portmaster files/portmaster.rc.sample files/portmaster.8
|
||||
${REINPLACE_CMD} -e 's#/usr/local#${LOCALBASE}#g' \
|
||||
@${REINPLACE_CMD} -e 's#/usr/local#${LOCALBASE}#g' \
|
||||
-e 's#===>>> Version [0-9._]*#===>>> Version ${PKGVERSION}#' ${WRKSRC}/${file}
|
||||
.endfor
|
||||
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
|
||||
-flavor_part () { expr "$1" : ".*@" >/dev/null && echo "${1#*@}"; }
|
||||
-dir_part () { echo "${1%%@*}"; }
|
||||
+target_part () { [ -z "{$1##*:*}" ] && echo "${1#*:}" || echo install; }
|
||||
+flavor_part () { local tmp="${1%%:*}"; [ -z "{$tmp##*@*}" ] && echo "${tmp#*@}"; }
|
||||
+target_part () { [ -z "${1##*:*}" ] && echo "${1#*:}" || echo install; }
|
||||
+flavor_part () { local tmp="${1%%:*}"; [ -z "${tmp##*@*}" ] && echo "${tmp#*@}"; }
|
||||
+dir_part () { local tmp="${1%%:*}"; echo "${tmp%%@*}"; }
|
||||
export_flavor () { local flavor="$1"; if [ "$FLAVOR" != "$flavor" ]; then
|
||||
pm_v "===>>> Setting FLAVOR to '$flavor' (was '$FLAVOR')";
|
||||
|
@ -99,21 +99,25 @@
|
|||
fi
|
||||
for glob in $conflicts; do
|
||||
confl_p=`pkg query -g "%n-%v" $glob 2>/dev/null`
|
||||
@@ -2498,7 +2499,8 @@ dependency_check () {
|
||||
@@ -2498,7 +2499,11 @@ dependency_check () {
|
||||
check_for_updates $iport $origin || fail 'Update failed'
|
||||
else
|
||||
check_interactive $origin || continue
|
||||
- update_port $origin
|
||||
+ [ "$make_target" = "install" ] && make_target=""
|
||||
+ update_port $origin${make_target:+:$make_target}
|
||||
+ if [ "$make_target" != "install" ]; then
|
||||
+ [ -z "$PM_FIRST_PASS" ] && post_clean_l="$post_clean_l $origin"
|
||||
+ origin="$origin:$make_target"
|
||||
+ fi
|
||||
+ update_port "$origin"
|
||||
fi
|
||||
done
|
||||
[ -n "$PM_FIRST_PASS" ] && unset doing_dep_check
|
||||
@@ -3029,8 +3031,11 @@ no_valid_port () {
|
||||
@@ -3029,8 +3034,12 @@ no_valid_port () {
|
||||
echo "===>>> Try $progname --help" ; echo '' ; safe_exit 1
|
||||
}
|
||||
|
||||
+make_target=$(target_part "$1")
|
||||
+post_clean_l=""
|
||||
+
|
||||
# Figure out what we are going to be working on
|
||||
if [ -z "$REPLACE_ORIGIN" ]; then
|
||||
|
@ -121,7 +125,7 @@
|
|||
export_flavor $(flavor_part $portdir)
|
||||
[ -n "$portdir" ] && { argv=$portdir ; unset portdir; }
|
||||
argv=${argv:-$1} ; argv=${argv%/} ; argv=`globstrip $argv`
|
||||
@@ -3061,6 +3066,8 @@ if [ -z "$REPLACE_ORIGIN" ]; then
|
||||
@@ -3061,6 +3070,8 @@ if [ -z "$REPLACE_ORIGIN" ]; then
|
||||
unset glob_dirs
|
||||
fi
|
||||
unset argv
|
||||
|
@ -130,7 +134,7 @@
|
|||
else
|
||||
portdir="${1#$pd/}" ; portdir="${portdir%/}"
|
||||
export_flavor=$(flavor_part $portdir)
|
||||
@@ -3234,6 +3241,9 @@ elif [ -n "$FETCH_ONLY" -a -n "$PM_PACKAGES" ]; then
|
||||
@@ -3234,6 +3245,9 @@ elif [ -n "$FETCH_ONLY" -a -n "$PM_PACKAGES" ]; then
|
||||
update_pm_nu $portdir
|
||||
fi
|
||||
|
||||
|
@ -140,7 +144,7 @@
|
|||
# Do these things first time through
|
||||
if [ -z "$PM_INDEX_ONLY" -a -z "$PM_BUILDING" -a -z "$SHOW_WORK" -a -z "$NO_ACTION" ]; then
|
||||
# Do not start this in the background until we are sure we are going to proceed
|
||||
@@ -3639,12 +3649,18 @@ pkg_flavor () {
|
||||
@@ -3639,12 +3653,18 @@ pkg_flavor () {
|
||||
if [ -n "$HIDE_BUILD" ] && [ -n "$(pm_make -V LICENSE)" ]; then
|
||||
pm_make extract ask-license || fail "make extract ask-license failed for $portdir"
|
||||
fi
|
||||
|
@ -159,3 +163,18 @@
|
|||
else
|
||||
[ -z "$local_package" ] && {
|
||||
fetch_package $latest_pv || fail "Fetch for ${latest_pv}.txz failed"; }
|
||||
@@ -3876,9 +3896,12 @@ if [ -n "$MAKE_PACKAGE" ]; then
|
||||
fi
|
||||
|
||||
if [ -z "$use_package" -a -z "$DONT_POST_CLEAN" ]; then
|
||||
-# export_flavor $(flavor_part $portdir)
|
||||
+ for dir in $post_clean_l; do
|
||||
+ pm_v "===>>> Running 'make clean' for special build dependency $dir"
|
||||
+ (FLAVOR=$(flavor_part $portdir) pm_make_s -C "$pd/$dir" clean NOCLEANDEPENDS=ncd2 >/dev/null)&
|
||||
+ done
|
||||
pm_v "===>>> Running 'make clean' in the background"
|
||||
- (pm_make_s clean NOCLEANDEPENDS=ncd2 >/dev/null)&
|
||||
+ (FLAVOR=$(flavor_part $portdir) pm_make_s clean NOCLEANDEPENDS=ncd2 >/dev/null)&
|
||||
pm_v
|
||||
fi
|
||||
if [ -n "$ro_opd" ]; then
|
||||
|
|
Loading…
Reference in a new issue