From owner-freebsd-ports-bugs@FreeBSD.ORG Thu Nov 17 19:34:09 2005 Return-Path: X-Original-To: freebsd-ports-bugs@FreeBSD.org Delivered-To: freebsd-ports-bugs@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BE87A16A41F; Thu, 17 Nov 2005 19:34:09 +0000 (GMT) (envelope-from vd@datamax.bg) Received: from jengal.datamax.bg (jengal.datamax.bg [82.103.104.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1F8CE43D83; Thu, 17 Nov 2005 19:33:55 +0000 (GMT) (envelope-from vd@datamax.bg) Received: from qlovarnika.bg.datamax (qlovarnika.bg.datamax [192.168.10.2]) by jengal.datamax.bg (Postfix) with SMTP id AEBF6B830; Thu, 17 Nov 2005 21:33:53 +0200 (EET) Received: (nullmailer pid 53654 invoked by uid 1002); Thu, 17 Nov 2005 19:33:53 -0000 Date: Thu, 17 Nov 2005 21:33:53 +0200 From: Vasil Dimov To: Pav Lucistnik Message-ID: <20051117193353.GA53615@qlovarnika.bg.datamax> 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> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wac7ysb48OaltWcw" Content-Disposition: inline In-Reply-To: <1132245985.79514.32.camel@localhost> X-OS: FreeBSD 6.0-STABLE User-Agent: Mutt/1.5.11 Cc: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/89164: [PATCH] /var/db/pkg/{portname}/+CONTENTS files sometimes contain wrong data X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: vd@datamax.bg List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Nov 2005 19:34:09 -0000 --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--