portmaster failing with build dependencies recognition

Doug Barton dougb at FreeBSD.org
Sun Apr 11 20:35:04 UTC 2010


On 04/11/10 06:33, Alberto Villa wrote:
> hi doug and ports@
> 
> i'm installing a system from scratch in a jail with portmaster 2.21, with the 
> build/packages options enabled:
> 
> `--> cat /usr/local/etc/portmaster.rc
> ALWAYS_SCRUB_DISTFILES=dopt
> LOCAL_PACKAGEDIR=/usr/ports/packages
> MAKE_PACKAGE=gopt
> PM_DEL_BUILD_ONLY=pm_dbo
> PM_INDEX=pm_index
> PM_PACKAGES_BUILD=pmp_build
> 
> while having only six ports installed (ccache, zsh, portmaster, pkg_cutleaves, 
> subversion-freebsd and sudo), the command `sudo portmaster 
> www/nspluginwrapper www/linux-f10-flashplugin`

No need to do 'sudo portmaster.' Check out the man page for how to
configure automatic sudo support.

> installed ALL the dependencies (with the exception of pkg-config) from a package,

Hmmm, so even the run dependencies were installed from a package? That's
bad.

> and removed them at the end 

Ok, I'm pretty sure I see the problem. Please test the attached patch
and let me know how it goes.

In case anyone cares the bug is that I tested the heck out of the
--index-only option and made a slight change to how the list of build
dependencies is compared to the list of run dependencies as a result. It
worked with --index-only, but I obviously neglected to test it again
without --index-only. Mea culpa.


Doug

-- 

	... and that's just a little bit of history repeating.
			-- Propellerheads

	Improve the effectiveness of your Internet presence with
	a domain name makeover!    http://SupersetSolutions.com/

-------------- next part --------------
Index: portmaster
===================================================================
--- portmaster	(revision 206442)
+++ portmaster	(working copy)
@@ -1998,6 +1998,8 @@
 		for l in $temp_list ; do
 			list="$list `grep -m1 ^${l}\| $PM_INDEX | cut -f 2 -d \|`"
 		done
+
+		list=" $list "
 	fi
 
 	echo "$list"
@@ -2031,11 +2033,11 @@
 	if [ "$PM_BUILD_ONLY_LIST" = pmp_doing_build_deps ]; then
 		local rundeps dep varname run_dl build_only_dl
 
-		rundeps=" `gen_dep_list run-depends-list` "
+		rundeps=`gen_dep_list run-depends-list`
 
 		for dep in $d_port_list; do
 			case "$rundeps" in
-			*" ${dep} "*)
+			*" ${dep} "*|*${dep}*)
 				varname=`echo ${dep#$pd/} | sed 's#[-+/\.]#_#g'`
 				rundep_list="$rundep_list $varname"
 				eval $varname=\"$portdir \$$varname\"


More information about the freebsd-ports mailing list