[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: @dependencies tweak



This set of patches actually work.
Index: pkg_add
===================================================================
RCS file: /cvs/src/usr.sbin/pkg_add/pkg_add,v
retrieving revision 1.35
diff -u -p -u -p -r1.35 pkg_add
--- pkg_add	20 Jul 2004 18:58:41 -0000	1.35
+++ pkg_add	23 Jul 2004 10:03:49 -0000
@@ -299,7 +299,7 @@ sub solve_dependencies
 		push(@$to_register, $dep->{name});
 	}
 	for my $dep (@{$plist->{newdepend}}, @{$plist->{libdepend}}) {
-	    next if $dep->{name} ne $plist->pkgname();
+	    next if defined $dep->{name} and $dep->{name} ne $plist->pkgname();
 	    my @candidates = OpenBSD::PackageName::pkgspec_match($dep->{pattern}, installed_packages());
 	    if (@candidates >= 1) {
 		    push(@$to_register, $candidates[0]);
@@ -629,7 +641,7 @@ while (my $pkg = shift @todo) {
 	}
 	for my $dep (@{$plist->{libdepend}}) {
 		# can't check libspecs yet
-		next if $dep->{name} ne $plist->pkgname();
+		next if defined $dep->{name} and $dep->{name} ne $plist->pkgname();
 		if (!check_lib_specs($plist->pkgbase(), $dep->{libspec})) {
 			print "Can't install $pkg: incorrect libspec: ",
 			    $dep->{libspec}, "\n";
Index: bsd.port.mk
===================================================================
RCS file: /cvs/ports/infrastructure/mk/bsd.port.mk,v
retrieving revision 1.625
diff -u -p -u -r1.625 bsd.port.mk
--- bsd.port.mk	21 Jul 2004 14:45:33 -0000	1.625
+++ bsd.port.mk	23 Jul 2004 10:02:59 -0000
@@ -1199,7 +1199,7 @@ ${WRKPKG}/depends${SUBPACKAGE}:
 	@>$@
 .if (defined(RUN_DEPENDS) && !empty(RUN_DEPENDS)) || (!defined(NO_SHARED_LIBS) && defined(LIB_DEPENDS) && !empty(LIB_DEPENDS))
 	@${_depfile_fragment}; \
-	self=${FULLPKGNAME${SUBPACKAGE}} _depends_result=$@ ${MAKE} _solve-package-depends
+	_depends_result=$@ ${MAKE} _solve-package-depends
 .endif
 
 ${WRKPKG}/DESCR${SUBPACKAGE}: ${DESCR}
@@ -2306,18 +2306,18 @@ _solve-package-depends:
 .for _i in ${RUN_DEPENDS}
 	@unset FLAVOR SUBPACKAGE || true; \
 	echo '${_i}' |{ \
-		IFS=:; read dep pkg dir target; \
-		${_flavor_fragment}; \
+		IFS=:; read dep pkg pkgpath target; \
+		dir=$$pkgpath; ${_flavor_fragment}; \
 		default=`eval $$toset ${MAKE} _print-packagename`; \
 		: $${pkg:=$$default}; \
-		echo "@newdepend $$self:$$pkg:$$default" >>$${_depends_result}; }
+		echo "@newdepend $$pkgpath:$$pkg:$$default" >>$${_depends_result}; }
 .endfor
 .if !defined(NO_SHARED_LIBS)
 .  for _i in ${LIB_DEPENDS}
 	@unset FLAVOR SUBPACKAGE || true; \
 	echo '${_i}'|{ \
-		IFS=:; read dep pkg dir target; \
-		${_flavor_fragment}; \
+		IFS=:; read dep pkg pkgpath target; \
+		dir=$$pkgpath; ${_flavor_fragment}; \
 		libspecs='';comma=''; \
 		default=`eval $$toset ${MAKE} _print-packagename`; \
 		case "X$$pkg" in X) pkg=`echo $$default|sed -e 's,-[0-9].*,-*,'`;; esac; \
@@ -2342,7 +2342,7 @@ _solve-package-depends:
 		case "X$$libspecs" in \
 		X) ;;\
 		*) \
-			echo "@libdepend $$self:$$libspecs:$$pkg:$$default" >>$${_depends_result}; \
+			echo "@libdepend $$pkgpath:$$libspecs:$$pkg:$$default" >>$${_depends_result}; \
 		esac; \
 	}
 .  endfor