From owner-freebsd-ports@FreeBSD.ORG Wed Sep 11 19:39:22 2013 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 262F3794 for ; Wed, 11 Sep 2013 19:39:22 +0000 (UTC) (envelope-from ohauer@gmx.de) Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 976AA22F8 for ; Wed, 11 Sep 2013 19:39:21 +0000 (UTC) Received: from [192.168.0.100] ([87.139.233.65]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0LjIit-1Vx1tR16Mh-00dX2o for ; Wed, 11 Sep 2013 21:39:18 +0200 Message-ID: <5230C6DF.7010108@gmx.de> Date: Wed, 11 Sep 2013 21:39:11 +0200 From: olli hauer User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 To: freebsd-ports@freebsd.org Subject: Re: UPDATING 20130904 entry issues References: <201309111432.r8BEWe0Z001742@mech-cluster241.men.bris.ac.uk> In-Reply-To: <201309111432.r8BEWe0Z001742@mech-cluster241.men.bris.ac.uk> X-Enigmail-Version: 1.5.2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:KLrBs8XVNYOSLhKKU14M26F5s0cb0k22Qn9ZIJ75xLMTsw9a/jq Xd9Jk+U1nC6O5sYvX6ixlE+GzmUDM+y7WUK2sLMPQmjdb1174tE9NAXweIhdpN44I/YSZqP QdoV4YD19bsT58VavxjoWOd6VYSWkxjZ3kCeKrKyWqxb+DXJOBZoMgv3pDko5aMMCy7xUG0 J6BNLEkbQQogQ4hOL/R7g== Cc: mexas@bris.ac.uk X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Sep 2013 19:39:22 -0000 On 2013-09-11 16:32, Anton Shterenlikht wrote: > ports/UPDATING from 20130904 has: > > # pkg query %ro libiconv >ports_to_update > # pkg delete -f libiconv > # cat ports_to_update | xargs portmaster > > So I have to delete a port on which >250 other > installed ports depend. After that I have *many* > unusable ports until the portmaster completes > the rebuilding, which, on my boxes, means days. > > In addition, my experience, at least on ia64, sparc64 > and amd64 is that such large updates never go smoothly. > > So, is it possible to reverse the procedure, and > update all ports which depend on libiconv before > deleting it? I'm thinking about the recommended > procedure for using "make delete-old-libs" for the > base OS. There new port builds automatically pick > the newever version of the shared lib. When the old > version is no longer used by any ports it can be > removed. > > Is it not possible to tell ports to first check > for libiconv in base, and if it is not there, > then install/use one from ports? > > Anton If you run many ports it is maybe better to setup ports-mgmt/tinderbox or ports-mgmt/poudriere(-devel) and build everything in a clean environment. Anyway if you haven't used tinderbox or poudriere before use pkg to create packages from all your installed ports, this takes only some minutes so you can revert in seconds. # create pkg backup space > mkdir -p $space/pkg_backup/All # create packages from all installed ports (takes some minutes) > pkg create -a -o $space/pkg_backup/All # create > pkg repo $space/pkg_backup # create a list of installed ports that can be used later # with ports-mgmt/tinderbox or ports-mgmt/poudriere(-devel) > pkg query %o | sort | grep -v libiconv > $space/pkg_backup/packagelist In the HOWTO section from forums.freebsd.org you can find an article how to setup poudriere in less then 30min. Once you have such a tool you will never go back to portmaster since you can build all packages over night and update your systems by just typing "pkg upgrade"