Index: files/patch-portmaster =================================================================== --- files/patch-portmaster (revision 523938) +++ files/patch-portmaster (working copy) @@ -1,4 +1,4 @@ ---- portmaster.orig 2018-01-14 21:53:23 UTC +--- portmaster.orig 2020-01-23 19:31:17 UTC +++ portmaster @@ -7,10 +7,12 @@ trap trap_exit INT @@ -368,9 +368,31 @@ exit 0 fi -@@ -1502,7 +1517,7 @@ check_for_updates () { +@@ -1424,7 +1439,12 @@ fi + check_state () { + # Global: state + local state_set +- ++ ++ if [ "$PM_MAKE_ARGS" = "-DTRYBROKEN=yes" ] || [ "$PM_MAKE_ARGS" = "-DTRYBROKEN" ];then ++ if egrep -ql '^BROKEN' Makefile; then ++ state_set=1; ++ fi ++ else + if egrep -ql '^(FORBIDDEN|BROKEN|IGNORE)' Makefile; then + for state in FORBIDDEN BROKEN IGNORE; do + state_set=`pm_make -V $state` +@@ -1435,6 +1455,7 @@ check_state () { + fi + done fi ++ fi + return 0 + } +@@ -1502,7 +1523,7 @@ check_for_updates () { + fi + if [ -z "$do_update" -a -z "$skip" -a -z "$PM_INDEX_ONLY" ] && pm_isdir "$pd/$origin"; then - if ! pm_cd $pd/$origin; then + if ! pm_cd $pd/$origin; then # cannot happen - see pm_isdir test above @@ -377,7 +399,7 @@ if pm_islocked "$iport"; then echo " ===>>> Warning: Unable to cd to $pd/$origin" echo " ===>>> Continuing due to $pdb/$iport/+IGNOREME" -@@ -1545,7 +1560,7 @@ check_for_updates () { +@@ -1545,7 +1566,7 @@ check_for_updates () { unset port_ver fi else @@ -386,7 +408,7 @@ \<) do_update=upd_lt ;; =) ;; # Can be reached if same version with different options \>) if [ -n "$PM_VERBOSE" ]; then -@@ -1628,7 +1643,7 @@ pm_pkg_create () { +@@ -1628,7 +1649,7 @@ pm_pkg_create () { fi pm_cd $pkgdir || fail "Cannot cd into $pkgdir to create a package" @@ -395,7 +417,7 @@ if [ "$1" = "$pbu" ]; then if [ -n "$BACKUP" ]; then echo " ===>>> Package saved to $1" ; echo '' -@@ -1980,7 +1995,7 @@ if [ -n "$LIST" -o -n "$LIST_PLUS" ]; then +@@ -1980,7 +2001,7 @@ if [ -n "$LIST" -o -n "$LIST_PLUS" ]; then fi if [ -n "$EXPUNGE" ]; then @@ -404,7 +426,7 @@ find_glob_dirs $EXPUNGE case $? in 1) fail "No such port: $EXPUNGE" ;; -@@ -1992,7 +2007,7 @@ if [ -n "$EXPUNGE" ]; then +@@ -1992,7 +2013,7 @@ if [ -n "$EXPUNGE" ]; then fi origin=`origin_from_pdb $EXPUNGE` @@ -413,7 +435,7 @@ if [ -n "$deplist" ]; then echo "===>>> Warning: Ports with dependencies on ${EXPUNGE}:" echo "$deplist" | sed 's/^/ /' -@@ -2020,7 +2035,7 @@ fi +@@ -2020,7 +2041,7 @@ fi if [ -n "$CLEAN_STALE" ]; then [ -z "$no_del_list" ] && export no_del_list=':' @@ -422,7 +444,7 @@ for file in $stale_ports; do iport="${file%/+REQUIRED_BY}" ; iport=${iport#$pdb/} -@@ -2040,7 +2055,7 @@ if [ -n "$CLEAN_STALE" ]; then +@@ -2040,7 +2061,7 @@ if [ -n "$CLEAN_STALE" ]; then continue fi @@ -431,7 +453,7 @@ get_answer_yn n "\t===>>> ${iport} is no longer depended on, delete" case "$?" in -@@ -2073,7 +2088,7 @@ check_restart_and_udf () { +@@ -2073,7 +2094,7 @@ check_restart_and_udf () { # to go out to the disk if we don't have to. [ -z "$RESTART" ] && return 1 @@ -440,7 +462,7 @@ return 1 else already_done $1 -@@ -2175,26 +2190,32 @@ update_pm_nu () { +@@ -2175,26 +2196,32 @@ update_pm_nu () { } update_build_l () { @@ -478,7 +500,7 @@ \<) build_l="${build_l}\tUpgrade $iport to $new_port\n" ;; =) build_l="${build_l}\tRe-install $iport\n" ;; \>) build_l="${build_l}\tDowngrade $iport to $new_port\n" ;; -@@ -2203,8 +2224,9 @@ update_build_l () { +@@ -2203,8 +2230,9 @@ update_build_l () { } update_port () { @@ -489,7 +511,7 @@ if [ -n "$2" ]; then echo "===>>> Launching child to update $1 to $2" else -@@ -2300,7 +2322,7 @@ make_dep_list () { +@@ -2300,7 +2328,7 @@ make_dep_list () { fail "make_dep_list: Unsupported option '$dep_type'" esac done @@ -498,7 +520,7 @@ } gen_dep_list () { -@@ -2368,15 +2390,17 @@ dependency_check () { +@@ -2368,15 +2396,17 @@ dependency_check () { rundeps=`gen_dep_list run-depends-list` for dep in $d_port_list; do @@ -519,7 +541,7 @@ rundep_list="$rundep_list $varname" eval $varname=\"$portdir \$$varname\" eval ${varname}_p=$dep -@@ -2409,7 +2433,10 @@ dependency_check () { +@@ -2409,7 +2439,10 @@ dependency_check () { # Do not export, for THIS parent process only [ -n "$PM_FIRST_PASS" ] && doing_dep_check=doing_dep_check @@ -531,7 +553,7 @@ origin="${d_port#$pd/}" if [ -n "$SHOW_WORK" ]; then iport=`iport_from_origin $origin` -@@ -2429,23 +2456,17 @@ dependency_check () { +@@ -2429,23 +2462,17 @@ dependency_check () { [ -z "$PM_URB_UP" ] && case "$CUR_DEPS" in *:${origin}:*) continue ;; esac @@ -560,7 +582,7 @@ if [ -n "$confl_p" ]; then confl_p=${confl_p%% *} d_port="$pd/`origin_from_pdb $confl_p`" -@@ -2498,7 +2519,11 @@ dependency_check () { +@@ -2498,7 +2525,11 @@ dependency_check () { check_for_updates $iport $origin || fail 'Update failed' else check_interactive $origin || continue @@ -573,7 +595,7 @@ fi done [ -n "$PM_FIRST_PASS" ] && unset doing_dep_check -@@ -2587,7 +2612,7 @@ post_first_pass () { +@@ -2587,7 +2618,7 @@ post_first_pass () { done for dep in $build_only_dl_g; do @@ -582,7 +604,7 @@ [ -n "$PM_DEL_BUILD_ONLY" ] && iport_from_origin ${dep#$pd/} >/dev/null && continue temp_bodlg="$temp_bodlg $dep" -@@ -2629,7 +2654,7 @@ urb_update () { +@@ -2629,7 +2660,7 @@ urb_update () { case " $PM_URB_ORIGINS" in *" $req_by_o "*) continue ;; esac PM_URB_LIST="${PM_URB_LIST} ${req_by}" done <<-EOF @@ -591,7 +613,7 @@ EOF done -@@ -2642,7 +2667,7 @@ urb_update () { +@@ -2642,7 +2673,7 @@ urb_update () { for req_by in $PM_URB_LIST; do # Probably not needed, but JIC @@ -600,7 +622,7 @@ pm_v "===>>> $req_by depends on $PM_URB_IPORTS" -@@ -2683,7 +2708,7 @@ multiport () { +@@ -2683,7 +2714,7 @@ multiport () { else fail "$pd/${port} does not exist" fi ;; @@ -609,7 +631,7 @@ worklist_temp="$worklist_temp $port" else find_glob_dirs $port -@@ -2773,8 +2798,8 @@ multiport () { +@@ -2773,8 +2804,8 @@ multiport () { num=$(( $num + 1 )) init_term_printf "$port ${num}/${numports}" @@ -620,7 +642,7 @@ [ -n "$update_failed" ] && fail "Update for $port failed" case "$PM_NEEDS_UPDATE" in -@@ -2803,7 +2828,7 @@ multiport () { +@@ -2803,7 +2834,7 @@ multiport () { */*) origin=$port ;; *) # If an installed version does not exist at this # point it probably got updated as a dependency @@ -629,7 +651,7 @@ numports=$(( $numports - 1 )) continue fi -@@ -2823,7 +2848,7 @@ multiport () { +@@ -2823,7 +2854,7 @@ multiport () { num=$(( $num + 1 )) init_term_printf "$port ${num}/${numports}" ("$program" $ARGS $port) || update_failed=update_failed @@ -638,7 +660,7 @@ [ -n "$update_failed" ] && fail "Update for $port failed" done -@@ -3029,8 +3054,12 @@ no_valid_port () { +@@ -3029,8 +3060,12 @@ no_valid_port () { echo "===>>> Try $progname --help" ; echo '' ; safe_exit 1 } @@ -651,7 +673,7 @@ export_flavor $(flavor_part $portdir) [ -n "$portdir" ] && { argv=$portdir ; unset portdir; } argv=${argv:-$1} ; argv=${argv%/} ; argv=`globstrip $argv` -@@ -3048,7 +3077,7 @@ if [ -z "$REPLACE_ORIGIN" ]; then +@@ -3048,7 +3083,7 @@ if [ -z "$REPLACE_ORIGIN" ]; then *) echo '' ; no_valid_port ;; esac done ;; @@ -660,7 +682,7 @@ esac if [ -z "$portdir" -a -z "$upg_port" ]; then -@@ -3061,9 +3090,11 @@ if [ -z "$REPLACE_ORIGIN" ]; then +@@ -3061,9 +3096,11 @@ if [ -z "$REPLACE_ORIGIN" ]; then unset glob_dirs fi unset argv @@ -673,7 +695,7 @@ if [ -z "$PM_INDEX_ONLY" ]; then pm_isdir_pd "$portdir" ] || missing=missing else -@@ -3076,12 +3107,12 @@ else +@@ -3076,12 +3113,12 @@ else echo '' ; no_valid_port fi @@ -688,7 +710,7 @@ ro_upg_port=$arg2 else find_glob_dirs $arg2 && ro_upg_port=${glob_dirs#$pdb/} -@@ -3097,7 +3128,7 @@ else +@@ -3097,7 +3134,7 @@ else unset arg2 if [ -z "$ro_upg_port" ]; then @@ -697,7 +719,7 @@ if [ "$?" -eq 1 ]; then echo '' echo "===>>> The second argument to -o can be a package name," -@@ -3133,6 +3164,7 @@ if [ -z "$PM_INDEX_ONLY" ] && ! pm_isdir_pd "$portdir" +@@ -3133,6 +3170,7 @@ if [ -z "$PM_INDEX_ONLY" ] && ! pm_isdir_pd "$portdir" pm_isdir_pd "$moved_npd" || no_valid_port [ "$$" -eq "$PM_PARENT_PID" ] && parent_exit @@ -705,7 +727,7 @@ exec "$program" $ARGS -o $moved_npd $upg_port # NOT REACHED fi -@@ -3142,8 +3174,8 @@ iport_from_pkgname () { +@@ -3142,8 +3180,8 @@ iport_from_pkgname () { dir=$(dir_part $1) flavor=$(flavor_part $1) @@ -716,7 +738,7 @@ } if [ -z "$upg_port" -a -z "$REPLACE_ORIGIN" ]; then -@@ -3229,11 +3261,14 @@ if [ -n "$PM_FIRST_PASS" -a -z "$FETCH_ONLY" ]; then +@@ -3229,11 +3267,14 @@ if [ -n "$PM_FIRST_PASS" -a -z "$FETCH_ONLY" ]; then fi fi @@ -732,7 +754,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 -@@ -3389,7 +3424,7 @@ fetch_package () { +@@ -3389,7 +3430,7 @@ fetch_package () { export ppd fi @@ -741,7 +763,7 @@ if [ -z "$FETCH_ARGS" ]; then FETCH_ARGS=`pm_make -f/usr/share/mk/bsd.port.mk -V FETCH_ARGS 2>/dev/null` -@@ -3533,7 +3568,7 @@ notnewer () { +@@ -3533,7 +3574,7 @@ notnewer () { pm_v "===>>> Available package ($latest_pv) matches the current version" elif [ -n "$latest_pv" -a -n "$PM_PACKAGES_NEWER" ]; then if [ -n "$upg_port" ]; then @@ -750,7 +772,7 @@ \<) use_package=up_newer pm_v "===>>> Available package ($latest_pv)" pm_v " is newer than installed ($upg_port)" ;; -@@ -3549,7 +3584,7 @@ notnewer () { +@@ -3549,7 +3590,7 @@ notnewer () { pm_v "===>>> There is a package available ($latest_pv)" fi elif [ -n "$latest_pv" ]; then @@ -759,7 +781,7 @@ \<) # Could happen if ports tree is out of date use_package=up_old_tree pm_v "===>>> Available package ($latest_pv)" -@@ -3632,19 +3667,27 @@ if [ -z "$use_package" ]; then +@@ -3632,19 +3673,27 @@ if [ -z "$use_package" ]; then # Return flavor for named pkg (must be executed in port directory!) pkg_flavor () { @@ -789,7 +811,7 @@ else [ -z "$local_package" ] && { fetch_package $latest_pv || fail "Fetch for ${latest_pv}.txz failed"; } -@@ -3665,7 +3708,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" ] && [ -z "$F +@@ -3665,7 +3714,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" ] && [ -z "$F grep -v ^$LOCALBASE_COMPAT > $pm_mktemp_file unset temp @@ -798,7 +820,7 @@ sort - $pm_mktemp_file | uniq -d`; do temp="${temp}$file " done -@@ -3688,7 +3731,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" ] && [ -z "$F +@@ -3688,7 +3737,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" ] && [ -z "$F if [ -n "$REPLACE_ORIGIN" -a -n "$ro_upg_port" ]; then # not always true for port moved to flavored version with no version update??? # Delete any existing versions of the old port @@ -807,7 +829,7 @@ pm_sv "Running pkg delete for $ro_upg_port" pm_pkg_delete_s $ro_upg_port fi -@@ -3710,7 +3753,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" ] && [ -z "$F +@@ -3710,7 +3759,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" ] && [ -z "$F # If $ro_upg_port was non-automatic, keep its state if [ "${np_orphan:-1}" -eq 1 ]; then @@ -816,7 +838,7 @@ fi pm_sv "Running pkg delete for $upg_port" pm_pkg_delete_s $upg_port -@@ -3776,7 +3819,7 @@ else +@@ -3776,7 +3825,7 @@ else [ -n "$local_package" ] && ppd=${LOCAL_PACKAGEDIR}/All echo "===>>> Installing package from: ${ppd}/${latest_pv}.txz" @@ -825,7 +847,7 @@ if [ -n "$PM_DELETE_PACKAGES" ]; then pm_v "===>>> Deleting ${latest_pv}.txz" pm_unlink_s ${ppd}/${latest_pv}.txz -@@ -3801,14 +3844,14 @@ echo '' +@@ -3801,14 +3850,14 @@ echo '' temp=`find $LOCALBASE_COMPAT -type d -empty 2>/dev/null` if [ -z "$temp" ] && pm_isdir "$LOCALBASE_COMPAT"; then unset files @@ -842,7 +864,7 @@ $PM_SU_CMD /etc/rc.d/ldconfig start > /dev/null fi unset temp file files -@@ -3876,14 +3919,18 @@ if [ -n "$MAKE_PACKAGE" ]; then +@@ -3876,14 +3925,18 @@ if [ -n "$MAKE_PACKAGE" ]; then fi if [ -z "$use_package" -a -z "$DONT_POST_CLEAN" ]; then @@ -864,7 +886,7 @@ fi -@@ -3903,7 +3950,7 @@ if [ "$$" -ne "$PM_PARENT_PID" -o -n "$PM_URB" ]; then +@@ -3903,7 +3956,7 @@ if [ "$$" -ne "$PM_PARENT_PID" -o -n "$PM_URB" ]; then fi INSTALLED_LIST="${INSTALLED_LIST}\t${ilist}\n"