From owner-freebsd-pkg@FreeBSD.ORG Tue Jul 16 11:27:26 2013 Return-Path: Delivered-To: freebsd-pkg@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id CFEF5E8A for ; Tue, 16 Jul 2013 11:27:26 +0000 (UTC) (envelope-from m.seaman@infracaninophile.co.uk) Received: from smtp.infracaninophile.co.uk (smtp6.infracaninophile.co.uk [IPv6:2001:8b0:151:1:3cd3:cd67:fafa:3d78]) by mx1.freebsd.org (Postfix) with ESMTP id 40127ED9 for ; Tue, 16 Jul 2013 11:27:26 +0000 (UTC) Received: from rufus.webfusion.com (mail.heartinternet.co.uk [79.170.40.31]) (authenticated bits=0) by smtp.infracaninophile.co.uk (8.14.7/8.14.7) with ESMTP id r6GBRKAj060415 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO) for ; Tue, 16 Jul 2013 12:27:21 +0100 (BST) (envelope-from m.seaman@infracaninophile.co.uk) DKIM-Filter: OpenDKIM Filter v2.8.3 smtp.infracaninophile.co.uk r6GBRKAj060415 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=infracaninophile.co.uk; s=201001-infracaninophile; t=1373974041; bh=Pxw8AtZp0eSMyQHwO7/YAkHPSs7EsPIQPvmfen8F6oc=; h=Date:From:To:Subject:References:In-Reply-To; z=Date:=20Tue,=2016=20Jul=202013=2012:27:20=20+0100|From:=20Matthew =20Seaman=20|To:=20freebsd-pkg@fr eebsd.org|Subject:=20Re:=20Distribute=20FreeBSD=20via=20packages=2 0instead=20of=20"global"=20tarballs|References:=20<51E165F2.20801@ peterschmitt.fr>=20<51E1879B.7050300@FreeBSD.org>=20<51E527A5.9090 604@peterschmitt.fr>|In-Reply-To:=20<51E527A5.9090604@peterschmitt .fr>; b=e8CuwU1G8J+CHCSOKtx2NIT552EAEOMw8LfF8TCFsyYFIyX9i8j6Dmk2AwyswPunQ NCeBrdxIFD/jj9hlaYGlEp+Q6Uzrz/mtKA0i/eUvkSzrqw+Np6Cxa2PBDHYw3v5XZM AgWxaJKwOivtyesVnL1UOYxb867IPatRuGTvUO+w= X-Authentication-Warning: lucid-nonsense.infracaninophile.co.uk: Host mail.heartinternet.co.uk [79.170.40.31] claimed to be rufus.webfusion.com Message-ID: <51E52E18.6040605@infracaninophile.co.uk> Date: Tue, 16 Jul 2013 12:27:20 +0100 From: Matthew Seaman Organization: Infracaninophile User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130701 Thunderbird/17.0.7 MIME-Version: 1.0 To: freebsd-pkg@freebsd.org Subject: Re: Distribute FreeBSD via packages instead of "global" tarballs References: <51E165F2.20801@peterschmitt.fr> <51E1879B.7050300@FreeBSD.org> <51E527A5.9090604@peterschmitt.fr> In-Reply-To: <51E527A5.9090604@peterschmitt.fr> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Virus-Scanned: clamav-milter 0.97.8 at lucid-nonsense.infracaninophile.co.uk X-Virus-Status: Clean X-Spam-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_NONE,SPF_FAIL autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on lucid-nonsense.infracaninophile.co.uk X-BeenThere: freebsd-pkg@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Binary package management and package tools discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Jul 2013 11:27:26 -0000 On 16/07/2013 11:59, Florent Peterschmitt wrote: > Le 13/07/2013 19:00, Matthew Seaman a écrit : >> On 13/07/2013 15:36, Florent Peterschmitt wrote: >>> Is it possible to package FreeBSD distribution under little packages, >>> aiming easy and small upgrades ? >>> >>> Or this has already been thought ? >> >> This is certainly technically possible, and it's something there's been >> occasional speculation about; but as far as I know, no one has yet come >> up with a demonstration setup. >> >> There are a number of practical problems that would need sorting out -- >> >> * pkg isn't part of the base system -- by design -- which makes it >> tricky to use to register installing base system components on a >> bare metal system. > > But it will be in FreeBSD 10 ? No. pkg is the default packaging system in FreeBSD 10, but it isn't part of the base system. Think of it as a ports component, rather than a base system component. Of course, that design decision was made given the assumption that the only thing pkg would be used for is managing add-on packages; ie. stuff that by definition is not in base. Doesn't preclude using it for base, but, like I said, a bit trickier to deal with. >> * Similarly, pkg pretty much ignores the facilities and shared >> libraries from base when calculating dependencies and so forth for >> ports. If base is pkg-ised, should that still be the case? > > Hum. It will be a lot of work to turn the base system in a port-like > way. Maybe it would be simpler to have some "diff" packages, a bit like > freebsd-update does but with pkg. Well, we are working towards a generic 'provides/requires/conflicts' dependency scheme. Base system packages could just provide a symbolic 'FreeBSD-10.0-base' token that ports packages could require. Actually, that's quite an interesting idea even if we don't supply the base system as a bunch of pkgs. Hmmm.... >> * Given that the base system is divided up into numerous smaller >> packages, should those packages be registered in the same database >> as is used for ports? (ie. /var/db/pkg/local.sqlite) > > Certainly not. If an rm -rf /usr/local/* /var/db/pkg/local.sqlite can > clean up the system of every third-party software, base components > doesn't have their place with them. *BSD always separate base from the > rest, why this should change here ? Well, having the 'provides/requires/conflicts' dependency stuff all registered in the same database makes using the package solver against dependency trees using base system components workable without any faffing around. Straight up deletion of /var/db/pkg/local.sqlite is certainly not recommended as a routine procedure in any case: 'pkg delete -fa' is much better. Pursuing the logic of this: we'd probably have a flag in the DB to identify base system packages and so be able to treat them differently to regular packages. >> Packaging the base system is an idea that has been floating around for a >> long time -- since long before pkg was conceived, certainly. But it has >> never really gone anywhere. Using pkg for the job would have some >> advantages over trying to do the same thing with the old pkg_tools, but >> would it ultimately be competitive with the way the installation media >> works now or to freebsd-update(8)? > > In never used freebsd-update between more than one version. For examble > I never tried going from 8.0 to 9.1. I let me told that freebsd-update > must go through each version to finally upgrade to the version we want. > If that's true, packaging the base would avoid this behavior, make thing > simpler for users (of course not for packaging :-) ) and surely faster. True, true. All pkg is, ultimately, is a tool for managing various collections of files efficiently, and it could do that for any collection of files you care to imagine. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. PGP: http://www.infracaninophile.co.uk/pgpkey JID: matthew@infracaninophile.co.uk