aboutsummaryrefslogtreecommitdiff
path: root/ports-mgmt/portmaster/files/patch-portmaster
diff options
context:
space:
mode:
Diffstat (limited to 'ports-mgmt/portmaster/files/patch-portmaster')
-rw-r--r--ports-mgmt/portmaster/files/patch-portmaster37
1 files changed, 28 insertions, 9 deletions
diff --git a/ports-mgmt/portmaster/files/patch-portmaster b/ports-mgmt/portmaster/files/patch-portmaster
index edd53e35d321..3977d32e3ed8 100644
--- a/ports-mgmt/portmaster/files/patch-portmaster
+++ b/ports-mgmt/portmaster/files/patch-portmaster
@@ -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