From owner-freebsd-ports@FreeBSD.ORG Wed Jan 31 16:19:41 2007 Return-Path: X-Original-To: ports@freebsd.org Delivered-To: freebsd-ports@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 139F616A402 for ; Wed, 31 Jan 2007 16:19:41 +0000 (UTC) (envelope-from michel@lpthe.jussieu.fr) Received: from shiva.jussieu.fr (shiva.jussieu.fr [134.157.0.129]) by mx1.freebsd.org (Postfix) with ESMTP id A148A13C471 for ; Wed, 31 Jan 2007 16:19:40 +0000 (UTC) (envelope-from michel@lpthe.jussieu.fr) Received: from parthe.lpthe.jussieu.fr (parthe.lpthe.jussieu.fr [134.157.10.1]) by shiva.jussieu.fr (8.13.7/jtpda-5.4) with ESMTP id l0VGJbnH029233 for ; Wed, 31 Jan 2007 17:19:38 +0100 (CET) X-Ids: 164 Received: by parthe.lpthe.jussieu.fr (Postfix, from userid 99) id 5DCF3A031E; Wed, 31 Jan 2007 17:19:46 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on parthe.lpthe.jussieu.fr X-Spam-Level: X-Spam-Status: No, score=-101.8 required=10.0 tests=AWL,BAYES_00, USER_IN_WHITELIST autolearn=ham version=3.1.7 Received: from niobe.lpthe.jussieu.fr (niobe.lpthe.jussieu.fr [134.157.10.41]) by parthe.lpthe.jussieu.fr (Postfix) with ESMTP id 8F799A007E for ; Wed, 31 Jan 2007 17:19:43 +0100 (CET) Received: by niobe.lpthe.jussieu.fr (Postfix, from userid 2005) id A17A368; Wed, 31 Jan 2007 17:19:33 +0100 (CET) Date: Wed, 31 Jan 2007 17:19:33 +0100 From: Michel Talon To: ports@freebsd.org Message-ID: <20070131161933.GA77224@lpthe.jussieu.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.1i X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0.2 (shiva.jussieu.fr [134.157.0.164]); Wed, 31 Jan 2007 17:19:38 +0100 (CET) X-Virus-Scanned: ClamAV 0.88.5/2507/Wed Jan 31 00:00:28 2007 on shiva.jussieu.fr X-Virus-Status: Clean X-Miltered: at shiva.jussieu.fr with ID 45C0C199.004 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! Cc: Subject: pkgupgrade X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Jan 2007 16:19:41 -0000 Hello, this is to announce a first cut at an upgrading system more centered on packages than portupgrade or portmaster, so i have called it pkgupgrade. This is a python program, so not convenient for pytho-phobic people. You can find it at: http://www.lpthe.jussieu.fr/~talon/pkgupgrade as well as the companion program: http://www.lpthe.jussieu.fr/~talon/save_pkg.py written by Cyrille Szymanski who has kindly given me permission to publish it here. Both are of course under BSD licence. Here save_pkg.py is a program which does selective backing of old packages before an upgrade and can be run independently, but is called by pkgupgrade and is thus necessary. Running save_pkg.py -h gives usage information. A documentation explaining pkgupgrade can be found here: http://www.lpthe.jussieu.fr/~talon/freebsdports.html#htoc19 but basically, one creates a clean directory and run pkgupgrade here as simple user. There are no options. The directory will be populated with self-explanatory stuff. Be prepared to use a lot of space in the directory, however there is no destructive action at all. A good way to reduce downloading and disk consumption is to mount the second disk of the freebsd release set under /cdrom, previously to run pkgupgrade. It will locate necessary packages here. The main end result is a shell script able to do the upgrade at one stroke. This is dangerous, but it is easy to check the shell script, so the danger is certainly less than wiping everything and reinstalling, which is at present my preferred method. Of course this program implements my pet peeves, reducing port compilation to the minimum, because in my experience this fails far too often, determining dependencies previous anything else, downloading all downloadable precompiled packages before taking any destructive action, and knowing in advance, before the system is ruined what exact steps will be taken. Then wiping everything which needs to be upgraded and reinstalling fresh stuff. In other words it is far more inspired by the Debian apt-get system than by progressive systems like portupgrade or portmaster which update things by little steps. In my experience the Debian system is far more reliable than the FreeBSD one, but such reliability will never be accessible to FreeBSD as long as *all* ports are not available as packages. Obviously pkgupgrade needs further polishing, it is, like portupgrade, somewhat complex, and bugs can easily creep in short as well as complex programs. I will be very happy if i get feedback on bugs or misbehaviors, and so will Cyrille. -- Michel TALON