From owner-freebsd-questions@FreeBSD.ORG Wed Feb 3 14:17:50 2010 Return-Path: Delivered-To: freebsd-questions@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8DD971065670 for ; Wed, 3 Feb 2010 14:17:50 +0000 (UTC) (envelope-from bf1783@googlemail.com) Received: from mail-ww0-f54.google.com (mail-ww0-f54.google.com [74.125.82.54]) by mx1.freebsd.org (Postfix) with ESMTP id 2B43B8FC15 for ; Wed, 3 Feb 2010 14:17:49 +0000 (UTC) Received: by wwj40 with SMTP id 40so139327wwj.13 for ; Wed, 03 Feb 2010 06:17:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:cc:content-type; bh=7RIuso36kQtaUkiasVKuNBJSZqO5EAdu4sNBu08xvc4=; b=eS4s0oOvLzCE99Gh9IFbCJD3mwcejuUKpMvqRBX09hpOMJ9WQHXcVR5VthN80RYAct G9Bw3ABhr0mOHuIOu0yZ92kM0S/CXSkPflrdBjEM28CQHFi79J4iGLX2UttCvwbySS4I rny4s1ZSy1ep2jtP4ckd7SZP5r9Gp4QxQT3Y0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; b=YC53o7Tjg4M9GSWZpU3tgjIZ1etWL+hCG//9EdwAh1qlQi8fYJ3hweJ81BD2SJzD3c uavvYM9Rag23/1viEZOwetSV81zFAPI7wFjUDRL1Xafrr0lzuEth9f4ED7Ed7nUKJNjl G6uH/uff4Kt2q1u4fInzsphtaAIS/g8F8YLo0= MIME-Version: 1.0 Received: by 10.216.88.75 with SMTP id z53mr1946549wee.46.1265206669129; Wed, 03 Feb 2010 06:17:49 -0800 (PST) Date: Wed, 3 Feb 2010 09:17:48 -0500 Message-ID: From: "b. f." To: freebsd-questions@FreeBSD.org Content-Type: text/plain; charset=ISO-8859-1 Cc: John W Subject: Re: fixing up port dependencies properly X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Feb 2010 14:17:50 -0000 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.