From owner-freebsd-ports@freebsd.org Fri Jul 24 11:49:50 2015 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C480F9A852A for ; Fri, 24 Jul 2015 11:49:50 +0000 (UTC) (envelope-from david@catwhisker.org) Received: from albert.catwhisker.org (mx.catwhisker.org [198.144.209.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8ADCAC7E for ; Fri, 24 Jul 2015 11:49:49 +0000 (UTC) (envelope-from david@catwhisker.org) Received: from albert.catwhisker.org (localhost [127.0.0.1]) by albert.catwhisker.org (8.15.2/8.15.2) with ESMTP id t6OBnhOX059476; Fri, 24 Jul 2015 04:49:43 -0700 (PDT) (envelope-from david@albert.catwhisker.org) Received: (from david@localhost) by albert.catwhisker.org (8.15.2/8.15.2/Submit) id t6OBngDB059475; Fri, 24 Jul 2015 04:49:42 -0700 (PDT) (envelope-from david) Date: Fri, 24 Jul 2015 04:49:42 -0700 From: David Wolfskill To: Dave Horsfall Cc: FreeBSD Ports Subject: Re: Rebuilding my ports area Message-ID: <20150724114942.GC27865@albert.catwhisker.org> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="j4ivd53YxxNwCQqF" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Jul 2015 11:49:50 -0000 --j4ivd53YxxNwCQqF Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jul 24, 2015 at 05:21:07PM +1000, Dave Horsfall wrote: > FreeBSD 9.3-RELEASE-p20 (GENERIC) #0: Tue Jul 21 19:29:33 UTC 2015 >=20 > Having completely scragged my ports area following various changes to=20 > pkg/pkgng/etc, and being unable to "sysinstall" it from CD (not found for= =20 > some reason) or via FTP (not found on server etc), I found a pristine cop= y=20 > of ports.txz and unpacked it (sigh, yet another compression scheme), afte= r=20 > renaming the old directory. >=20 > Anyway, what do I do now? Assume that many ports have been installed, an= d=20 > that the databases etc are probably a dog's breakfast, per the conflicts= =20 > that I have posted here earlier. If it helps, I have a list of those=20 > ports that were installed, and hopefully the dependencies will be taken= =20 > care of automagically. > .... Near the bottom of portmaster(8), there is a procedure entitled "Using portmaster to do a complete reinstallation of all your ports". I have used that procedure (with some variations) over the years -- e.g., migrating from 8.x -> 9.x, then 9.x to 10.x; more recently, I extracted bits of it to migrate from stable/10 i386 -> stable/10 amd64 [gory details at ]. Based on my experiences doing those, I *think* that using that procedure as a basis (and adapting in slightly) may serve you well. (Note that as of this writing, that procedure still refers to the old pkg_* tools. So instead of "pkg_delete -a" I used "pkg delete -fa".) One of the first things, though, would be to determine if you'r going to use pre-built packages (and if so, built by whom) or build the ports yourself. The procedure I used in the above-cited article -- once I finished bumping into issues caused by my ignorance (or other oddities) -- turned out to work quite well -- but I was only able to accomplish it because I had available hardware to perform the package-building (using poudriere) for me. portmaster itself is "merely" a shell script, so it has no dependencies on (other) ports; installing it on a pristine system will bring in pkg, but no others. Note, too: after generating the list of 'installed ports" (which may look incomplete: it doesn't actually list all of your inistalled ports, but rather, a subset that is necessary to get all of them installed), I finid it useful to trim the list further and re-order the list (so that more critical, smaller port -- such as sudo and tmux -- are built before more complicated ports cause problems). One of the things I typically do on non-development machines during this pass is remove ports from the list that are "obviously" only build dependencies -- autoconf*; automake*; nearly all devel/* ports -- as the installation of the ports I really use directly will bring the others in if they are actually needed. If at all possible, of course, make a good (tested!) backup before you do the "pkg delete -af". :-} Peace, david --=20 David H. Wolfskill david@catwhisker.org Those who murder in the name of God or prophet are blasphemous cowards. See http://www.catwhisker.org/~david/publickey.gpg for my public key. --j4ivd53YxxNwCQqF Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJVsiZWXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ4RThEMDY4QTIxMjc1MDZFRDIzODYzRTc4 QTY3RjlDOERFRjQxOTNCAAoJEIpn+cje9Bk7Xz8P/AzcszmS4Fg2xxFOfYHPpl1U xa2rNwXtAcohMqNQ9fzhPOxCQUxJQeQdeogxMIedqkAktpWOJAo2aSjJKV86pIR4 uZ1HFsNPAW1ra7iUJ+DzulWatuXbKwX0UbVKqD93cLy2IOC6rAsPEC1PMVJdaIb1 LQNLLmc5+QT/3nB+4XGKuhihzipzcPsceMIHJD6+1goICDAPhZGxb+ueKubyRpoJ SwbjW+HkIqtpuPxFQnQsR460s+wzK94KlZhEdBZ82t6vDlemG1umXK9UYzNQCSAY t8e2xjkAvlx2bm4zinbRI9NgdW587vUvHbAt7AjZJp5Vsjmz3n7R4JAqy6L54O0i mjIudHjrZBK+oCMwKQ82k4mKGRViWDBEQK7cyu6GPj1KX+MIQb4xTKZlTiIY5Dq2 FeDrmw+PPsS0fdvYaEFp6/C/CCFpCl1Wqv6V3p2WBl1D9J0NveA8aLAiblvL0tnA vAi6wbDyH1+OUt9RQ867O2AX7KSdKD0JTpSArpXh1e5BvXf0+CSxEehtkve4CFSz 4pIiKjUQgB3LFXEIWj9jTTPNh4TpcEgbYhWnR7O02qRgWrWdfTS4B/f/x6jlkI2t NSxynDB0fr69w+iFApU6QJCq8tHOaI/obT0vf5Ne1eavOfQKZRdSAW96NwnGxVh1 bzOHDuGEVX6U+ubgLjYF =6Zmn -----END PGP SIGNATURE----- --j4ivd53YxxNwCQqF--