Date: Thu, 17 Nov 2005 21:33:53 +0200 From: Vasil Dimov <vd@datamax.bg> To: Pav Lucistnik <pav@FreeBSD.org> Cc: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/89164: [PATCH] /var/db/pkg/{portname}/+CONTENTS files sometimes contain wrong data Message-ID: <20051117193353.GA53615@qlovarnika.bg.datamax> In-Reply-To: <1132245985.79514.32.camel@localhost> References: <200511171540.jAHFeJSL017500@freefall.freebsd.org> <200511170807.46482.ringworm01@gmail.com> <1132244794.79514.28.camel@localhost> <200511170832.06601.ringworm01@gmail.com> <1132245985.79514.32.camel@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
--wac7ysb48OaltWcw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Nov 17, 2005 at 05:46:25PM +0100, Pav Lucistnik wrote: >=20 > Yes, there is a long standing problem and we're aware of it. Sadly, no > workable solution was submitted so far (at least I haven't found any PR > filed against it). >=20 Hmmz, what about the following: --- bsd.port.mk_dep.diff begins here --- --- bsd.port.mk.orig Thu Nov 17 21:04:11 2005 +++ bsd.port.mk.dep Thu Nov 17 21:18:21 2005 @@ -4638,7 +4638,7 @@ dir=3D$$(${REALPATH} $$dir); \ if [ -d $$dir ]; then \ if (${ECHO_CMD} $$checked | ${GREP} -qwv "$$dir"); then \ - childout=3D$$(cd $$dir; ${MAKE} CHILD_DEPENDS=3Dyes PARENT_CHECKED=3D"= $$checked" package-depends-list); \ + childout=3D$$(cd $$dir ; pkgnm=3D`${MAKE} -V PKGNAME` ; if [ -d ${PKG_= DBDIR}/$$pkgnm ] ; then for p in $$pkgnm `${PKG_INFO} -qr ${PKG_DBDIR}/$$pk= gnm |${CUT} -f 2 -d ' '` ; do porigin=3D`pkg_info -qo /var/db/pkg/$$p` ; ${= ECHO_CMD} "$$p ${PORTSDIR}/$$porigin $$porigin" ; done ; else ${MAKE} CHILD= _DEPENDS=3Dyes PARENT_CHECKED=3D"$$checked" package-depends-list; fi); \ set -- $$childout; \ childdir=3D""; \ while [ $$\# !=3D 0 ]; do \ @@ -4651,7 +4651,7 @@ else \ ${ECHO_MSG} "${PKGNAME}: \"$$dir\" non-existent -- dependency list inco= mplete" >&2; \ fi; \ - done + done | ${SORT} -u =20 # Print out package names. =20 --- bsd.port.mk_dep.diff ends here --- The idea is to check if the port is installed and get necessary info with `pkg_info -r', instead of `make package-depends-list' Looks quite ugly, some part of the sh code can be extracted into separate make variable or at least that 380+ bytes line can be broken down into shorter lines. --=20 Vasil Dimov --wac7ysb48OaltWcw Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- iD8DBQFDfNsgFw6SP/bBpCARAkrmAKCmBaSfTCQB78K9yDiEKudVDKiAVwCfQ9xc dP8222xV33wQLxw8OaEgRiU= =lJbj -----END PGP SIGNATURE----- --wac7ysb48OaltWcw--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051117193353.GA53615>