Date: Wed, 3 Feb 2010 09:17:48 -0500 From: "b. f." <bf1783@googlemail.com> To: freebsd-questions@FreeBSD.org Cc: John W <jwdevel@gmail.com> Subject: Re: fixing up port dependencies properly Message-ID: <d873d5be1002030617y2cbd7cc0l86ba239d448ea30e@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
John W wrote: >I updated my ports tree with csup, and tried to run 'portmaster -na'. >It gave me this: > > ===>>> The mail/p5-Email-Simple-Creator port has been deleted: >Folded into p5-Email-Simple package > >Ok, that makes sense. But what do I do to fix it? >It seems I need to replace dependencies on p5-Email-Simple-Creator >with dependencies on p5-Email-Simple. > >But if I manually do that, won't my changes be blown away the next >time I update ports? The committer who added the entry to /usr/ports/MOVED also seems to have adjusted any dependencies in the Ports tree, back on 24 Nov. 2009. So if you have an up-to-date ports tree, then after rebuilding the ports that used to depend upon p5-Email-Simple-Creator, those ports will depend instead upon p5-Email-Simple, and no further intervention will be needed. > >Perhaps I should use the '-o' (origin) option of portmaster? I'm not >100% sure what that does, incidentally (explanation welcome). >I assume something like: > > portmaster -o p5-Email-Simple p5-Email-Simple-Creator > I don't use portmaster often, but I think it should instead be: portmaster -o mail/p5-Email-Simple p5-Email-Simple-Creator Read the portmaster(1) manpage carefully, and look at the examples. >Will those changes get blown away by the next update of ports? In this case, no. > >Is the most correct solution just to wait until all maintainers of >ports which depend on p5-Email-Simple-Creator each update their >makefiles to depend on p5-Email-Simple, instead? (Though that doesn't >help in the short term :) That should already have been done. In other cases, if it has not, then you should send a message to the committer who made the change (if you aren't familiar with cvs(1), which is used to manage the ports repository, then you can use cvsweb.freebsd.org or www.freshports.org to find this information), and to the maintainers of the ports that have the outdated dependencies. If they don't respond within a reasonable amount of time, then file a Problem Report: http://www.freebsd.org/support/bugreports.html While they are fixing the problems, you can patch the dependent ports yourself (this is sometimes as simple as changing the *_DEPENDS line in the port Makefile; other times, it requires patches to the port sources), and then rebuild the ports; or you can try to use portmaster -o , or portupgrade -o, which will succeed in the simplest cases. You could also do it manually, by using sed(1) to substitute every occurrence of the old PKGNAME with the new PKGNAME in the @pkgdep lines in /var/db/pkg/*/+COMMENTS, and likewise for the PKGORIGIN values preceded by DEPORIGIN. However, be careful when tinkering with /var/db/pkg -- you should back it up first before making changes. b.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d873d5be1002030617y2cbd7cc0l86ba239d448ea30e>