Date: Fri, 19 Jun 2009 17:07:38 +0000 (UTC) From: Brian Somers <brian@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/usr.sbin/pkg_install/add perform.c src/usr.sbin/pkg_install/create perform.c src/usr.sbin/pkg_install/info perform.c src/usr.sbin/pkg_install/lib lib.h pen.c url.c Message-ID: <200906191707.n5JH7pPA072221@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
brian 2009-06-19 17:07:38 UTC FreeBSD src repository Modified files: usr.sbin/pkg_install/add perform.c usr.sbin/pkg_install/create perform.c usr.sbin/pkg_install/info perform.c usr.sbin/pkg_install/lib lib.h pen.c url.c Log: SVN rev 194497 on 2009-06-19 17:07:38Z by brian When running pkg_add -r, check & install our dependencies for each package rather than expecting our top level package to get all of the dependencies correct. Previously, the code depended on the top level package having all of the pkgdep lines in +CONTENTS correct and in the right order, but that doesn't always happen due to code such as this (in security/gnutls/Makefile): .if (defined(WITH_LZO) || exists(${LOCALBASE}/lib/liblzo2.so)) && !defined(WITHOUT_LZO) LIB_DEPENDS+= lzo2:${PORTSDIR}/archivers/lzo2 .... With such conditional dependencies, my 'sophox-packages' package won't install. The dependency tree looks like this: sophox-packages ... x11/gnome2 x11/gnome-applets net/libgweather devel/libsoup security/gnutls security/libgcrypt security/libgpg-error ... x11/gnome2 archivers/file-roller archivers/gtar archivers/lzop archivers/lzo2 ... gnutls doesn't depend on lzo2 initially, but lzo2 is dragged into the mix via other dependencies and is built by the initial 'make'. The subsequent package generation for gnutls adds a pkgdep line for lzo2 to gnutls' +CONTENTS but the pkgdeps in sophox-packages' +CONTENTS has gnutls *before* lzo2. As a result, sophox-packages cannot install; gnutls fails because lzo2 is missing, 82 more packages fail because gnutls is missing and the whole thing spirals into a super-confusing mess! MFC after: 3 weeks Revision Changes Path 1.87 +49 -13 src/usr.sbin/pkg_install/add/perform.c 1.84 +1 -2 src/usr.sbin/pkg_install/create/perform.c 1.56 +2 -4 src/usr.sbin/pkg_install/info/perform.c 1.74 +3 -3 src/usr.sbin/pkg_install/lib/lib.h 1.44 +23 -20 src/usr.sbin/pkg_install/lib/pen.c 1.11 +3 -2 src/usr.sbin/pkg_install/lib/url.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906191707.n5JH7pPA072221>