[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