Date: Tue, 15 Nov 2005 11:00:53 -0800 From: "Michael C. Shultz" <ringworm01@gmail.com> To: Craig Boston <craig@yekse.gank.org> Cc: Jiawei Ye <leafy7382@gmail.com>, freebsd-ports@freebsd.org Subject: Re: Why does security/amavisd-new depend on db3? Message-ID: <200511151100.54216.ringworm01@gmail.com> In-Reply-To: <20051115184843.GB36868@nowhere> References: <c21e92e20511130557g4ad76176l85beb6ceee078886@mail.gmail.com> <200511150944.26278.ringworm01@gmail.com> <20051115184843.GB36868@nowhere>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 15 November 2005 10:48, Craig Boston wrote: > On Tue, Nov 15, 2005 at 09:44:25AM -0800, Michael C. Shultz wrote: > > Anyways, the extra, unnessesary and INCORRECT entries in +CONTENTS would > > indeed have caused portmanager problems a short while ago. Portmanager > > used to only use the +CONTENTS file to determine dependencies and in this > > case that would definitely cause trouble. > > It bites portupgrade users too, since it builds its database mostly out > of the +CONTENTS files. Sometimes things get far enough out of whack > that not even pkgdb -F can help. > > > Bottom line is portmanager 0.3.5 should be able to build > > security/amavisd-new as intended and by my own tests it does. My > > understanding of the bsd.ports.mk language is poor, but 5027 - 5034 > > look suspicious. > > > > Probably no one cares but I can't think of a single good reason to > > transvers dependent port's dependencies when adding dependencies to > > +CONTENTS. > > Don't quote me on this as it's pure extrapolation, but I think the > reason may have to do with binary packages. As far as I can remember, > they have always listed _ALL_ dependencies in the top level package, > presumably to make it easier to figure out everything you need to > install one without having to recursively extract things. (?) > > If that's the case, they would have to be listed in +CONTENTS for > pkg_create -b to work. There may be a better way to gather the > information though, perhaps by looking at the package database to see > what is actually installed rather than re-generating the list every > time. > > Perhaps one of the portmgrs can help clarify the reasons for the > situation? > > > The fact they do should no longer cause portmanager troubles but if > > Jiawei is to be believed it looks like portupgrade might be being > > negatively effected by these unnessesary and incorrect entries.. > > I haven't tried it but it might could still cause problems if some of > the ports had been manually installed. > > Craig Here is a quick example of why putting recursive dependency info into a +CONTENTS file can cause problems if not done correctly, it just rehashes what you said but maybe clarifies things for others: MasterPort dependent1 dependent1a dependent2 dependent2a dependent1 if defined( WITH_DEPEPENDENT_1b ) dependent1b else dependent1a endif Because MasterPort does NOT seem to look at dependent1's +CONTENTS file no matter how dependent1 is built Masterport records dependent1 dependent1a Even if dependent1 is built with WITH_DEPEPENDENT_1b=1 switch set. The solution if they want so much dependency info is to make sure it is gathered from the dependent port's +CONTENTS file, not where ever it is they are now getting it. -Mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200511151100.54216.ringworm01>