svn commit: r207760 - user/dougb/portmaster
Doug Barton
dougb at FreeBSD.org
Fri May 7 21:48:52 UTC 2010
Author: dougb
Date: Fri May 7 21:48:51 2010
New Revision: 207760
URL: http://svn.freebsd.org/changeset/base/207760
Log:
Add a --packages-local option for those who wish to use only local
packages, and never attempt to fetch from a remote site.
Modified:
user/dougb/portmaster/portmaster
Modified: user/dougb/portmaster/portmaster
==============================================================================
--- user/dougb/portmaster/portmaster Fri May 7 21:06:52 2010 (r207759)
+++ user/dougb/portmaster/portmaster Fri May 7 21:48:51 2010 (r207760)
@@ -249,7 +249,7 @@ usage () {
echo "Common flags: [--force-config] [-CGHKgntvw B|b f|i D|d]"
echo " [[[--packages|-P]|[--packages-only|-PP]] | [--packages-build]]"
echo " [--packages-if-newer] [--delete-build-only] [--always-fetch]"
- echo " [--local-packagedir=<path>] [--delete-packages]"
+ echo " [--local-packagedir=<path>] [--packages-local] [--delete-packages]"
echo " [--no-confirm] [--no-term-title] [--no-index-fetch]"
echo " [--index|--index-first|--index-only]"
echo " [-m <arguments for make>] [-x <glob pattern to exclude from building>]"
@@ -336,6 +336,7 @@ usage () {
echo '--always-fetch fetch package even if it already exists locally'
echo '--local-packagedir=<path> where local packages can be found,'
echo ' will fall back to fetching if no local version exists'
+ echo '--packages-local use packages from --local-packagedir only'
echo '--delete-packages after installing from a package, delete it'
echo ''
echo '-l list installed ports by category'
@@ -409,6 +410,8 @@ e2="The --packages-build option and the
build) case "$PM_PACKAGES" in first|only) fail $e2 ;; esac ;;
newer) [ -z "$PM_PACKAGES" -a -z "$PM_PACKAGES_BUILD" ] && {
PM_PACKAGES=newer ; export PM_PACKAGES; } ;;
+ local) [ -z "$PM_PACKAGES" -a -z "$PM_PACKAGES_BUILD" ] && {
+ PM_PACKAGES=local ; export PM_PACKAGES; } ;;
esac
}
@@ -439,6 +442,9 @@ for var in "$@" ; do
--packages-if-newer) packages_init newer
PM_PACKAGES_NEWER=pmp_newer
export PM_PACKAGES_NEWER ;;
+ --packages-local) packages_init local
+ PM_PACKAGES_LOCAL=pmp_local
+ export PM_PACKAGES_LOCAL ;;
--always-fetch) PM_ALWAYS_FETCH=pm_always_fetch
export PM_ALWAYS_FETCH ;;
--local-packagedir=*) LOCAL_PACKAGEDIR=${var#--local-packagedir=}
@@ -3003,7 +3009,7 @@ fetch_package () {
$PM_SU_CMD fetch $FETCH_ARGS -o $ppd ${sitepath}${1}.tbz 2>/dev/null; }
fi
}
- if [ -z "$PACKAGESITE" ]; then
+ if [ -z "$PACKAGESITE" -a -z "$PM_PACKAGES_LOCAL" ]; then
release=`uname -r`
case "$release" in
@@ -3049,7 +3055,7 @@ fetch_package () {
fi
fi
- if [ -z "$latest_pv" ]; then
+ if [ -z "$latest_pv" -a -z "$PM_PACKAGES_LOCAL" ]; then
dirlist=`echo ${TMPDIR}/f-${PM_PARENT_PID}-dl-${portdir%/*}*`
if [ ! -r "$dirlist" ]; then
pm_unlink $dirlist # JIC
@@ -3066,7 +3072,7 @@ fetch_package () {
fi
unset dirlist s
- if [ -z "$latest_pv" ]; then
+ if [ -z "$latest_pv" -a -z "$PM_PACKAGES_LOCAL" ]; then
fetch_package $new_port try
if [ $? -eq 0 ]; then
latest_pv=$new_port
@@ -3077,7 +3083,13 @@ fetch_package () {
if [ -z "$latest_pv" ]; then
echo "===>>> Package and/or archive not found at:"
- echo "${sitepath}"
+ if [ -n "$LOCAL_PACKAGEDIR" ]; then
+ echo " $LOCAL_PACKAGEDIR"
+ if [ -z "$PM_PACKAGES_LOCAL" ]; then
+ echo ' or'
+ fi
+ fi
+ [ -z "$PM_PACKAGES_LOCAL" ] && echo " ${sitepath}"
echo ''
echo " Check the pkg_add(1) man page for information"
echo " on setting the PACKAGESITE environment variable"
@@ -3170,6 +3182,7 @@ if [ -z "$use_package" ]; then
fi
fi
+ [ -z "$PM_INDEX_ONLY" ] && pm_cd_pd $portdir
[ -z "$DONT_PRE_CLEAN" ] && { pm_make clean NOCLEANDEPENDS=ncd ||
fail 'make clean failed'; echo ''; }
More information about the svn-src-user
mailing list