Date: Thu, 20 Mar 2008 05:23:23 -0700 From: David Wolfskill <david@catwhisker.org> To: Doug Barton <dougb@freebsd.org> Cc: freebsd-ports@freebsd.org Subject: Re: Utility for safe updating of ports in base system Message-ID: <20080320122323.GI53010@bunrab.catwhisker.org> In-Reply-To: <alpine.BSF.1.10.0803200047360.54264@ync.qbhto.arg> References: <20080320001048.GA39125@lpthe.jussieu.fr> <alpine.BSF.1.10.0803200047360.54264@ync.qbhto.arg>
next in thread | previous in thread | raw e-mail | index | archive | help
--+kBP0KTpA0ghqHRL Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Mar 20, 2008 at 01:05:27AM -0700, Doug Barton wrote: > ... > >One of the > >requirements of an upgrade system is predictability, this can only > >be achieved by using binary packages. >=20 > You gain a certain amount of flexibility with packages, at the expense of= =20 > being able to customize things. As long as the user understands that, the= n=20 > it's fine. >... With respect, that (the notion that use of packages inherently reduces flexibility) doesn't quite follow, from my perspective: it depends on who makes the packages. (What follows is unlikely new to Doug, as I touched on it a while back in a private exchange; I thought it might be of use or interest to the list, though.) My preferred MO is to build from sources, but within a given set of related machines (of sufficiently similar architectures), avoid doing the builds themselves on "production" machines: I have a machine set up to do FreeBSD builds, for example, and install FreeBSD, built on that system, onto other system(s) here at home. That is why the output of "uname -a" on my firewall machine ("janus") shows that the kernel was actually built on a machine named "freebeast": janus(6.3-S)[1] uname -a FreeBSD janus.catwhisker.org 6.3-STABLE FreeBSD 6.3-STABLE #24: Sun Mar 2 = 07:13:33 PST 2008 root@freebeast.catwhisker.org:/common/S1/obj/usr/src/= sys/JANUS i386 janus(6.3-S)[2]=20 I would prefer to do something similar for ports: build my own packages on that machine, then be able to use my preferred port management tool to run through the list of installed ports on (say) my firewall box, and have it fetch the packages from my local machine (or effectively *on* the machine being updated, as my build machine exports certain file systems to facilitate installation on other local machines). (And this is, in fact, how I had things set up when I used a different port management program.) This also allows me to have built a package on the non-production "build machine," test it, and after I'm satisfied that the package is likely to work in my environment, upgrade the port on a somewhat more "sensitive" machine (e.g., the one my spouse uses for email & Web browsing). And there are some ports -- OpenOffice and Firefox come to mind -- where building a given version more than once veers into the "masochistic" classification (IMO). (And in the case of OpenOffice, in particular, the port might feasibly be installed and used on a system that doesn't really have the resources to build it.) Thus, for me, being able to customize by building my own packages, then using those custom-built packages for upgrading other systems is a useful approach. While in theory, I could do this manually (roughly: run the port management tool with a -n flag so it won't actually change anything, but would report what warrants updating, then, for each port that has an available update, force a pkg_delete, then do a pkg_add using the updated port's package), that's a lot of clerical work to do by hand -- and to me, that's just about synonymous with "error-prone." So having my preferred port management tool be able to perfom upgrades using packages would be useful for me. Peace, david --=20 David H. Wolfskill david@catwhisker.org I submit that "conspiracy" would be an appropriate collective noun for cats. See http://www.catwhisker.org/~david/publickey.gpg for my public key. --+kBP0KTpA0ghqHRL Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (FreeBSD) iEYEARECAAYFAkfiVzoACgkQmprOCmdXAD3NwACePWu4H15cADkf3iCHiDaJsAtx 8CIAn1VUwT3Fr2lFGi4gARRxDJFEjz0U =w1hJ -----END PGP SIGNATURE----- --+kBP0KTpA0ghqHRL--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080320122323.GI53010>