FreeBSD Bugzilla – Attachment 210856 Details for
Bug 241227
ports-mgmt/portmaster: Portmaster reinstalls dependencies that are are flavorized and already installed
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
svn-diff-portmaster-flavors
patch-flavors (text/plain), 16.20 KB, created by
Walter Schwarzenfeld
on 2020-01-19 06:30:13 UTC
(
hide
)
Description:
svn-diff-portmaster-flavors
Filename:
MIME Type:
Creator:
Walter Schwarzenfeld
Created:
2020-01-19 06:30:13 UTC
Size:
16.20 KB
patch
obsolete
>Index: Makefile >=================================================================== >--- Makefile (revision 523511) >+++ Makefile (working copy) >@@ -2,7 +2,7 @@ > > PORTNAME= portmaster > PORTVERSION= 3.19 >-PORTREVISION= 18 >+PORTREVISION= 19 > CATEGORIES= ports-mgmt > > MAINTAINER= se@FreeBSD.org >Index: files/patch-portmaster >=================================================================== >--- files/patch-portmaster (revision 523511) >+++ files/patch-portmaster (working copy) >@@ -1,4 +1,4 @@ >---- portmaster.orig 2018-01-14 21:53:23 UTC >+--- portmaster.orig 2020-01-19 06:16:11 UTC > +++ portmaster > @@ -7,10 +7,12 @@ trap trap_exit INT > >@@ -207,11 +207,19 @@ > #=============== Begin functions relevant to --features and main =============== > > # find installed port for given origin (with optional @flavor) in the pkg DB >-@@ -938,11 +968,11 @@ iport_from_origin () { >+@@ -937,12 +967,18 @@ iport_from_origin () { >+ local origin flavor pkgname_l pkgname pkgflavor > > origin=$(dir_part "$1") >- flavor=$(flavor_part "$1") >+- flavor=$(flavor_part "$1") > - pkgname_l=$(echo $(pkg query '%n-%v' $origin)) || return 1 >++ if [ "${1}" != "${origin}" ] ; then >++ flavor=$(flavor_part "$1") >++ else >++ unset FLAVOR >++ flavor=$(pm_make -C "${pd}/${origin}" -V FLAVOR) >++ export flavor $flavor >++ fi > + pkgname_l=$(echo $($PKG_CMD query '%n-%v' $origin)) || return 1 > # if multiple flavors registered then fall back to $FLAVOR if no flavor has been passed in $1 > [ "${pkgname_l}" != "${pkgname_l#* }" ] && : ${flavor:=$FLAVOR} >@@ -221,7 +229,7 @@ > if [ "$pkgflavor" = "$flavor" ]; then > echo $pkgname > return 0 >-@@ -1002,25 +1032,6 @@ get_answer_yn () { >+@@ -1002,25 +1038,6 @@ get_answer_yn () { > fi > } > >@@ -247,7 +255,7 @@ > # Find the new origin for moved ports > # Set global variable moved_npd on success > # Return values: >-@@ -1056,7 +1067,8 @@ find_moved_port () { >+@@ -1056,7 +1073,8 @@ find_moved_port () { > fi ;; > ${sf}\|*) moved_npd=${moved#*\|} # New port directory > moved_npd=${moved_npd%%\|*} >@@ -257,7 +265,7 @@ > echo '' > echo " ===>>> The $sf port moved to $moved_npd" > echo " ===>>> Reason: ${moved##*|}" >-@@ -1082,7 +1094,7 @@ find_moved_port () { >+@@ -1082,7 +1100,7 @@ find_moved_port () { > } > > all_pkgs_by_origin () { >@@ -266,7 +274,7 @@ > echo "$namesorigins" > return > } >-@@ -1146,11 +1158,10 @@ read_distinfos_all () { >+@@ -1146,11 +1164,10 @@ read_distinfos_all () { > echo '' > > for origin in ${pd}/*/*; do >@@ -279,7 +287,7 @@ > > if [ -s "${origin}/distinfo" ]; then > distinfo="${origin}/distinfo" >-@@ -1181,17 +1192,17 @@ ports_by_category () { >+@@ -1181,17 +1198,17 @@ ports_by_category () { > local pkg > > pm_v "===>>> Sorting ports by category" >@@ -302,7 +310,7 @@ > } > > delete_empty_dist_subdirs () { >-@@ -1279,7 +1290,7 @@ if [ -n "$CLEAN_PACKAGES" ]; then >+@@ -1279,7 +1296,7 @@ if [ -n "$CLEAN_PACKAGES" ]; then > for package in `find $PACKAGES -type f | sort`; do > pkg_dir=${package##*/} ; pkg_dir=${pkg_dir%\.*} ; echo '' > >@@ -311,7 +319,7 @@ > origin=`tar -O -zxvf $package '+CONTENTS' 2>/dev/null | grep '@comment ORIGIN:'` || > origin=`tar -O -zxvf $package '+MANIFEST' 2>/dev/null | grep '^origin:'` || > fail "Empty origin in $package" >-@@ -1302,7 +1313,7 @@ if [ -n "$CLEAN_PACKAGES" ]; then >+@@ -1302,7 +1319,7 @@ if [ -n "$CLEAN_PACKAGES" ]; then > if [ -n "$port_ver" ]; then > if [ "$port_ver" = "$pkg_dir" ]; then > echo "===>>> ${package##*/} is up to date" >@@ -320,7 +328,7 @@ > echo " ===>>> $pkg_dir is not installed" > echo " ===>>> Path: ${package}" > get_answer_yn y "\n\t===>>> Delete stale package: ${package##*/}" >-@@ -1320,7 +1331,7 @@ if [ -n "$CLEAN_PACKAGES" ]; then >+@@ -1320,7 +1337,7 @@ if [ -n "$CLEAN_PACKAGES" ]; then > > unset port_ver > >@@ -329,7 +337,7 @@ > echo " ===>>> ${package##*/} matches the installed version" > else > echo " ===>>> ${package##*/} is not installed" >-@@ -1362,7 +1373,7 @@ if [ -n "$CLEAN_PACKAGES" ]; then >+@@ -1362,7 +1379,7 @@ if [ -n "$CLEAN_PACKAGES" ]; then > fi # [ -n "$CLEAN_PACKAGES" ] > > if [ -n "$CHECK_DEPENDS" ]; then >@@ -338,7 +346,7 @@ > exit 0 > fi > >-@@ -1377,14 +1388,14 @@ if [ -n "$CHECK_PORT_DBDIR" ]; then >+@@ -1377,14 +1394,14 @@ if [ -n "$CHECK_PORT_DBDIR" ]; then > if ! pm_isdir_pd "$origin"; then > find_moved_port $origin $pkg nonfatal >/dev/null > [ -n "$moved_npd" ] || continue >@@ -355,7 +363,7 @@ > done <<-EOF > $(all_pkgs_by_origin) > EOF >-@@ -1413,7 +1424,7 @@ if [ -n "$CHECK_PORT_DBDIR" ]; then >+@@ -1413,7 +1430,7 @@ if [ -n "$CHECK_PORT_DBDIR" ]; then > fi > > if [ -n "$LIST_ORIGINS" ]; then >@@ -364,7 +372,7 @@ > > exit 0 > fi >-@@ -1502,7 +1513,7 @@ check_for_updates () { >+@@ -1502,7 +1519,7 @@ check_for_updates () { > fi > > if [ -z "$do_update" -a -z "$skip" -a -z "$PM_INDEX_ONLY" ] && pm_isdir "$pd/$origin"; then >@@ -373,7 +381,7 @@ > if pm_islocked "$iport"; then > echo " ===>>> Warning: Unable to cd to $pd/$origin" > echo " ===>>> Continuing due to $pdb/$iport/+IGNOREME" >-@@ -1545,7 +1556,7 @@ check_for_updates () { >+@@ -1545,7 +1562,7 @@ check_for_updates () { > unset port_ver > fi > else >@@ -382,7 +390,7 @@ > \<) do_update=upd_lt ;; > =) ;; # Can be reached if same version with different options > \>) if [ -n "$PM_VERBOSE" ]; then >-@@ -1628,7 +1639,7 @@ pm_pkg_create () { >+@@ -1628,7 +1645,7 @@ pm_pkg_create () { > fi > > pm_cd $pkgdir || fail "Cannot cd into $pkgdir to create a package" >@@ -391,7 +399,7 @@ > if [ "$1" = "$pbu" ]; then > if [ -n "$BACKUP" ]; then > echo " ===>>> Package saved to $1" ; echo '' >-@@ -1980,7 +1991,7 @@ if [ -n "$LIST" -o -n "$LIST_PLUS" ]; then >+@@ -1980,7 +1997,7 @@ if [ -n "$LIST" -o -n "$LIST_PLUS" ]; then > fi > > if [ -n "$EXPUNGE" ]; then >@@ -400,7 +408,7 @@ > find_glob_dirs $EXPUNGE > case $? in > 1) fail "No such port: $EXPUNGE" ;; >-@@ -1992,7 +2003,7 @@ if [ -n "$EXPUNGE" ]; then >+@@ -1992,7 +2009,7 @@ if [ -n "$EXPUNGE" ]; then > fi > > origin=`origin_from_pdb $EXPUNGE` >@@ -409,7 +417,7 @@ > if [ -n "$deplist" ]; then > echo "===>>> Warning: Ports with dependencies on ${EXPUNGE}:" > echo "$deplist" | sed 's/^/ /' >-@@ -2020,7 +2031,7 @@ fi >+@@ -2020,7 +2037,7 @@ fi > if [ -n "$CLEAN_STALE" ]; then > [ -z "$no_del_list" ] && export no_del_list=':' > >@@ -418,7 +426,7 @@ > for file in $stale_ports; do > iport="${file%/+REQUIRED_BY}" ; iport=${iport#$pdb/} > >-@@ -2040,7 +2051,7 @@ if [ -n "$CLEAN_STALE" ]; then >+@@ -2040,7 +2057,7 @@ if [ -n "$CLEAN_STALE" ]; then > continue > fi > >@@ -427,7 +435,7 @@ > > get_answer_yn n "\t===>>> ${iport} is no longer depended on, delete" > case "$?" in >-@@ -2073,7 +2084,7 @@ check_restart_and_udf () { >+@@ -2073,7 +2090,7 @@ check_restart_and_udf () { > # to go out to the disk if we don't have to. > [ -z "$RESTART" ] && return 1 > >@@ -436,7 +444,7 @@ > return 1 > else > already_done $1 >-@@ -2175,26 +2186,32 @@ update_pm_nu () { >+@@ -2175,26 +2192,32 @@ update_pm_nu () { > } > > update_build_l () { >@@ -474,7 +482,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 +2220,9 @@ update_build_l () { >+@@ -2203,8 +2226,9 @@ update_build_l () { > } > > update_port () { >@@ -485,7 +493,7 @@ > if [ -n "$2" ]; then > echo "===>>> Launching child to update $1 to $2" > else >-@@ -2300,7 +2318,7 @@ make_dep_list () { >+@@ -2300,7 +2324,7 @@ make_dep_list () { > fail "make_dep_list: Unsupported option '$dep_type'" > esac > done >@@ -494,7 +502,7 @@ > } > > gen_dep_list () { >-@@ -2368,15 +2386,17 @@ dependency_check () { >+@@ -2368,15 +2392,17 @@ dependency_check () { > rundeps=`gen_dep_list run-depends-list` > > for dep in $d_port_list; do >@@ -515,7 +523,7 @@ > rundep_list="$rundep_list $varname" > eval $varname=\"$portdir \$$varname\" > eval ${varname}_p=$dep >-@@ -2409,7 +2429,10 @@ dependency_check () { >+@@ -2409,7 +2435,10 @@ dependency_check () { > > # Do not export, for THIS parent process only > [ -n "$PM_FIRST_PASS" ] && doing_dep_check=doing_dep_check >@@ -527,7 +535,7 @@ > origin="${d_port#$pd/}" > if [ -n "$SHOW_WORK" ]; then > iport=`iport_from_origin $origin` >-@@ -2429,23 +2452,17 @@ dependency_check () { >+@@ -2429,23 +2458,17 @@ dependency_check () { > [ -z "$PM_URB_UP" ] && > case "$CUR_DEPS" in *:${origin}:*) continue ;; esac > >@@ -556,7 +564,7 @@ > if [ -n "$confl_p" ]; then > confl_p=${confl_p%% *} > d_port="$pd/`origin_from_pdb $confl_p`" >-@@ -2498,7 +2515,11 @@ dependency_check () { >+@@ -2498,7 +2521,11 @@ dependency_check () { > check_for_updates $iport $origin || fail 'Update failed' > else > check_interactive $origin || continue >@@ -569,7 +577,7 @@ > fi > done > [ -n "$PM_FIRST_PASS" ] && unset doing_dep_check >-@@ -2587,7 +2608,7 @@ post_first_pass () { >+@@ -2587,7 +2614,7 @@ post_first_pass () { > done > > for dep in $build_only_dl_g; do >@@ -578,7 +586,7 @@ > [ -n "$PM_DEL_BUILD_ONLY" ] && > iport_from_origin ${dep#$pd/} >/dev/null && continue > temp_bodlg="$temp_bodlg $dep" >-@@ -2629,7 +2650,7 @@ urb_update () { >+@@ -2629,7 +2656,7 @@ urb_update () { > case " $PM_URB_ORIGINS" in *" $req_by_o "*) continue ;; esac > PM_URB_LIST="${PM_URB_LIST} ${req_by}" > done <<-EOF >@@ -587,7 +595,7 @@ > EOF > done > >-@@ -2642,7 +2663,7 @@ urb_update () { >+@@ -2642,7 +2669,7 @@ urb_update () { > > for req_by in $PM_URB_LIST; do > # Probably not needed, but JIC >@@ -596,7 +604,7 @@ > > pm_v "===>>> $req_by depends on $PM_URB_IPORTS" > >-@@ -2683,7 +2704,7 @@ multiport () { >+@@ -2683,7 +2710,7 @@ multiport () { > else > fail "$pd/${port} does not exist" > fi ;; >@@ -605,7 +613,7 @@ > worklist_temp="$worklist_temp $port" > else > find_glob_dirs $port >-@@ -2773,8 +2794,8 @@ multiport () { >+@@ -2773,8 +2800,8 @@ multiport () { > > num=$(( $num + 1 )) > init_term_printf "$port ${num}/${numports}" >@@ -616,7 +624,7 @@ > [ -n "$update_failed" ] && fail "Update for $port failed" > > case "$PM_NEEDS_UPDATE" in >-@@ -2803,7 +2824,7 @@ multiport () { >+@@ -2803,7 +2830,7 @@ multiport () { > */*) origin=$port ;; > *) # If an installed version does not exist at this > # point it probably got updated as a dependency >@@ -625,7 +633,7 @@ > numports=$(( $numports - 1 )) > continue > fi >-@@ -2823,7 +2844,7 @@ multiport () { >+@@ -2823,7 +2850,7 @@ multiport () { > num=$(( $num + 1 )) > init_term_printf "$port ${num}/${numports}" > ("$program" $ARGS $port) || update_failed=update_failed >@@ -634,7 +642,7 @@ > [ -n "$update_failed" ] && fail "Update for $port failed" > done > >-@@ -3029,8 +3050,12 @@ no_valid_port () { >+@@ -3029,8 +3056,12 @@ no_valid_port () { > echo "===>>> Try $progname --help" ; echo '' ; safe_exit 1 > } > >@@ -647,7 +655,7 @@ > export_flavor $(flavor_part $portdir) > [ -n "$portdir" ] && { argv=$portdir ; unset portdir; } > argv=${argv:-$1} ; argv=${argv%/} ; argv=`globstrip $argv` >-@@ -3048,7 +3073,7 @@ if [ -z "$REPLACE_ORIGIN" ]; then >+@@ -3048,7 +3079,7 @@ if [ -z "$REPLACE_ORIGIN" ]; then > *) echo '' ; no_valid_port ;; > esac > done ;; >@@ -656,7 +664,7 @@ > esac > > if [ -z "$portdir" -a -z "$upg_port" ]; then >-@@ -3061,9 +3086,11 @@ if [ -z "$REPLACE_ORIGIN" ]; then >+@@ -3061,9 +3092,11 @@ if [ -z "$REPLACE_ORIGIN" ]; then > unset glob_dirs > fi > unset argv >@@ -669,7 +677,7 @@ > if [ -z "$PM_INDEX_ONLY" ]; then > pm_isdir_pd "$portdir" ] || missing=missing > else >-@@ -3076,12 +3103,12 @@ else >+@@ -3076,12 +3109,12 @@ else > echo '' ; no_valid_port > fi > >@@ -684,7 +692,7 @@ > ro_upg_port=$arg2 > else > find_glob_dirs $arg2 && ro_upg_port=${glob_dirs#$pdb/} >-@@ -3097,7 +3124,7 @@ else >+@@ -3097,7 +3130,7 @@ else > unset arg2 > > if [ -z "$ro_upg_port" ]; then >@@ -693,7 +701,7 @@ > if [ "$?" -eq 1 ]; then > echo '' > echo "===>>> The second argument to -o can be a package name," >-@@ -3133,6 +3160,7 @@ if [ -z "$PM_INDEX_ONLY" ] && ! pm_isdir_pd "$portdir" >+@@ -3133,6 +3166,7 @@ if [ -z "$PM_INDEX_ONLY" ] && ! pm_isdir_pd "$portdir" > pm_isdir_pd "$moved_npd" || no_valid_port > > [ "$$" -eq "$PM_PARENT_PID" ] && parent_exit >@@ -701,7 +709,7 @@ > exec "$program" $ARGS -o $moved_npd $upg_port > # NOT REACHED > fi >-@@ -3142,8 +3170,8 @@ iport_from_pkgname () { >+@@ -3142,8 +3176,8 @@ iport_from_pkgname () { > > dir=$(dir_part $1) > flavor=$(flavor_part $1) >@@ -712,7 +720,7 @@ > } > > if [ -z "$upg_port" -a -z "$REPLACE_ORIGIN" ]; then >-@@ -3229,11 +3257,14 @@ if [ -n "$PM_FIRST_PASS" -a -z "$FETCH_ONLY" ]; then >+@@ -3229,11 +3263,14 @@ if [ -n "$PM_FIRST_PASS" -a -z "$FETCH_ONLY" ]; then > fi > fi > >@@ -728,7 +736,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 +3420,7 @@ fetch_package () { >+@@ -3389,7 +3426,7 @@ fetch_package () { > export ppd > fi > >@@ -737,7 +745,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 +3564,7 @@ notnewer () { >+@@ -3533,7 +3570,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 >@@ -746,7 +754,7 @@ > \<) use_package=up_newer > pm_v "===>>> Available package ($latest_pv)" > pm_v " is newer than installed ($upg_port)" ;; >-@@ -3549,7 +3580,7 @@ notnewer () { >+@@ -3549,7 +3586,7 @@ notnewer () { > pm_v "===>>> There is a package available ($latest_pv)" > fi > elif [ -n "$latest_pv" ]; then >@@ -755,7 +763,7 @@ > \<) # Could happen if ports tree is out of date > use_package=up_old_tree > pm_v "===>>> Available package ($latest_pv)" >-@@ -3632,19 +3663,27 @@ if [ -z "$use_package" ]; then >+@@ -3632,19 +3669,27 @@ if [ -z "$use_package" ]; then > > # Return flavor for named pkg (must be executed in port directory!) > pkg_flavor () { >@@ -785,7 +793,7 @@ > else > [ -z "$local_package" ] && { > fetch_package $latest_pv || fail "Fetch for ${latest_pv}.txz failed"; } >-@@ -3665,7 +3704,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" ] && [ -z "$F >+@@ -3665,7 +3710,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" ] && [ -z "$F > grep -v ^$LOCALBASE_COMPAT > $pm_mktemp_file > > unset temp >@@ -794,7 +802,7 @@ > sort - $pm_mktemp_file | uniq -d`; do > temp="${temp}$file " > done >-@@ -3688,7 +3727,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" ] && [ -z "$F >+@@ -3688,7 +3733,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" ] && [ -z "$F > > if [ -n "$REPLACE_ORIGIN" -a -n "$ro_upg_port" ]; then # <se> not always true for port moved to flavored version with no version update??? > # Delete any existing versions of the old port >@@ -803,7 +811,7 @@ > pm_sv "Running pkg delete for $ro_upg_port" > pm_pkg_delete_s $ro_upg_port > fi >-@@ -3710,7 +3749,7 @@ if [ -n "$upg_port" -o -n "$ro_upg_port" ] && [ -z "$F >+@@ -3710,7 +3755,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 >@@ -812,7 +820,7 @@ > fi > pm_sv "Running pkg delete for $upg_port" > pm_pkg_delete_s $upg_port >-@@ -3776,7 +3815,7 @@ else >+@@ -3776,7 +3821,7 @@ else > [ -n "$local_package" ] && ppd=${LOCAL_PACKAGEDIR}/All > > echo "===>>> Installing package from: ${ppd}/${latest_pv}.txz" >@@ -821,7 +829,7 @@ > if [ -n "$PM_DELETE_PACKAGES" ]; then > pm_v "===>>> Deleting ${latest_pv}.txz" > pm_unlink_s ${ppd}/${latest_pv}.txz >-@@ -3801,14 +3840,14 @@ echo '' >+@@ -3801,14 +3846,14 @@ echo '' > temp=`find $LOCALBASE_COMPAT -type d -empty 2>/dev/null` > if [ -z "$temp" ] && pm_isdir "$LOCALBASE_COMPAT"; then > unset files >@@ -838,7 +846,7 @@ > $PM_SU_CMD /etc/rc.d/ldconfig start > /dev/null > fi > unset temp file files >-@@ -3876,14 +3915,18 @@ if [ -n "$MAKE_PACKAGE" ]; then >+@@ -3876,14 +3921,18 @@ if [ -n "$MAKE_PACKAGE" ]; then > fi > > if [ -z "$use_package" -a -z "$DONT_POST_CLEAN" ]; then >@@ -860,7 +868,7 @@ > fi > > >-@@ -3903,7 +3946,7 @@ if [ "$$" -ne "$PM_PARENT_PID" -o -n "$PM_URB" ]; then >+@@ -3903,7 +3952,7 @@ if [ "$$" -ne "$PM_PARENT_PID" -o -n "$PM_URB" ]; then > fi > > INSTALLED_LIST="${INSTALLED_LIST}\t${ilist}\n"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 241227
:
208291
|
208292
|
208319
|
208518
| 210856