svn commit: r200659 - user/dougb/portmaster
Doug Barton
dougb at FreeBSD.org
Fri Dec 18 00:54:16 UTC 2009
Author: dougb
Date: Fri Dec 18 00:54:14 2009
New Revision: 200659
URL: http://svn.freebsd.org/changeset/base/200659
Log:
Further update the --packages-build and --delete-build-only options
to work with -a:
1. Create a new function clean_build_only_list() from code that was
already in dependency_check() and use it both there and at the end
of the config mode in -a.
2. Properly initialize the variables related to these two features
in the same spot as all the other global vars are initialized rather
than doing it in different locations. There were reasons to do it
differently early on, but those reasons are long gone.
3. Move the cleanup for run_dl_g to after the "Starting ..." message
in one-port-on-the-command-line section to be consistent with how it's
done in multiport(), and now how it's done in -a.
Modified:
user/dougb/portmaster/portmaster
Modified: user/dougb/portmaster/portmaster
==============================================================================
--- user/dougb/portmaster/portmaster Fri Dec 18 00:36:30 2009 (r200658)
+++ user/dougb/portmaster/portmaster Fri Dec 18 00:54:14 2009 (r200659)
@@ -1674,6 +1674,19 @@ update_port () {
return 0
}
+clean_build_only_list () {
+ local dep temp_bodlg
+
+ for dep in $build_only_dl_g; do
+ case "$run_dl_g" in
+ *" ${dep} "*) ;;
+ *) temp_bodlg="$temp_bodlg $dep" ;;
+ esac
+ done
+
+ build_only_dl_g=" $temp_bodlg "
+}
+
dependency_check () {
# Global: doing_dep_check
# Global: run_dl_g build_only_dl_g
@@ -1700,7 +1713,7 @@ dependency_check () {
fi
if [ "$PM_BUILD_ONLY_LIST" = pmp_doing_build_deps ]; then
- local rundeps dep run_dl build_only_dl temp_bodlg
+ local rundeps dep run_dl build_only_dl
if [ -z "$RECURSE_THOROUGH" ]; then
rundeps=`pm_make run-depends-list | sort -u`
@@ -1729,14 +1742,7 @@ dependency_check () {
esac
done
- for dep in $build_only_dl_g; do
- case "$run_dl_g" in
- *" ${dep} "*) ;;
- *) temp_bodlg="$temp_bodlg $dep" ;;
- esac
- done
-
- build_only_dl_g=" $temp_bodlg "
+ clean_build_only_list
fi
local d_port origin iport conflicts glob confl_p udf
@@ -1919,12 +1925,6 @@ multiport () {
run_dl_g="$run_dl_g ${pd}/`origin_from_pdb $port` " ;;
esac
done
- build_only_dl_g=''
- export run_dl_g build_only_dl_g
- fi
- if [ -n "$PM_DEL_BUILD_ONLY" ]; then
- build_deps_il=''
- export build_deps_il
fi
for port in $worklist; do
@@ -2016,6 +2016,14 @@ if [ "$$" -eq "$PM_PARENT_PID" -a -z "$S
CONFIG_SEEN_LIST=':' ; CONFIG_ONLY=config_only
NO_DEP_UPDATES=no_dep_updates
export CONFIG_SEEN_LIST CONFIG_ONLY NO_DEP_UPDATES
+
+ if [ -n "$PM_BUILD_ONLY_LIST" ]; then
+ run_dl_g='' ; build_only_dl_g=''
+ export run_dl_g build_only_dl_g
+ fi
+ if [ -n "$PM_DEL_BUILD_ONLY" ]; then
+ build_deps_il='' ; export build_deps_il
+ fi
fi
[ -n "$NO_BACKUP" -a -z "$MAKE_PACKAGE" ] || init_packages
@@ -2052,6 +2060,9 @@ all_config () {
origin=`origin_from_pdb $iport`
case "$CONFIG_SEEN_LIST" in *:${origin}:*) continue ;; esac
+ [ -n "$PM_BUILD_ONLY_LIST" ] &&
+ run_dl_g="$run_dl_g ${pd}/${origin} "
+
check_exclude $iport || continue
PM_DEPTH=
@@ -2065,6 +2076,9 @@ all_config () {
ports_by_category
echo "===>>> Starting check of installed ports for available updates"
+ [ -n "$PM_BUILD_ONLY_LIST" ] &&
+ PM_BUILD_ONLY_LIST=pmp_doing_build_deps
+
if [ -n "$CONFIG_ONLY" ]; then
[ -n "$FETCH_ONLY" ] && export ALL_FETCH=all_fetch
@@ -2093,6 +2107,12 @@ all_config () {
echo ''
echo "===>>> Starting `pca` for ports that need updating <<<==="
echo ''
+
+ if [ -n "$PM_BUILD_ONLY_LIST" ]; then
+ clean_build_only_list
+ unset run_dl_g
+ PM_BUILD_ONLY_LIST=pm_bol
+ fi
fi
export PM_BUILDING=pmbuildingall
@@ -2336,18 +2356,8 @@ dofetch () {
fi
if [ -n "$CONFIG_ONLY" ]; then
- if [ "$$" -eq "$PM_PARENT_PID" ]; then
- # Keep in sync in multiport()
- if [ -n "$PM_BUILD_ONLY_LIST" ]; then
- PM_BUILD_ONLY_LIST=pmp_doing_build_deps
- run_dl_g='' ; build_only_dl_g=''
- export run_dl_g build_only_dl_g
- fi
- if [ -n "$PM_DEL_BUILD_ONLY" ]; then
- build_deps_il=''
- export build_deps_il
- fi
- fi
+ [ "$$" -eq "$PM_PARENT_PID" -a -n "$PM_BUILD_ONLY_LIST" ] &&
+ PM_BUILD_ONLY_LIST=pmp_doing_build_deps
[ -z "$PM_PACKAGES" ] && make_config
@@ -2400,15 +2410,15 @@ if [ -n "$CONFIG_ONLY" ]; then
unset URB_YES MASTER_RB_LIST ; URB_DONE_LIST=':'
fi
- if [ -n "$PM_BUILD_ONLY_LIST" ]; then
- unset run_dl_g
- PM_BUILD_ONLY_LIST=pm_bol
- fi
-
check_fetch_only
unset CONFIG_SEEN_LIST CONFIG_ONLY
echo "===>>> Starting `pca` for $portdir <<<==="
echo ''
+
+ if [ -n "$PM_BUILD_ONLY_LIST" ]; then
+ unset run_dl_g
+ PM_BUILD_ONLY_LIST=pm_bol
+ fi
fi
[ -z "$PM_BUILDING" ] && export PM_BUILDING=pmbuildingmain
More information about the svn-src-user
mailing list