From owner-svn-src-projects@freebsd.org Fri Feb 5 01:17:37 2016 Return-Path: Delivered-To: svn-src-projects@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 B9CDBA9D868 for ; Fri, 5 Feb 2016 01:17:37 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from c.mail.sonic.net (c.mail.sonic.net [64.142.111.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A8A1CC46; Fri, 5 Feb 2016 01:17:37 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from aurora.physics.berkeley.edu (aurora.physics.berkeley.edu [128.32.117.67]) (authenticated bits=0) by c.mail.sonic.net (8.15.1/8.15.1) with ESMTPSA id u1516gKY019087 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Thu, 4 Feb 2016 17:06:42 -0800 Subject: Re: svn commit: r295280 - projects/release-pkg/release/packages To: Glen Barber References: <201602042120.u14LKQ2b026571@repo.freebsd.org> <56B3C34B.1080501@freebsd.org> <56B3C6E4.60907@FreeBSD.org> <56B3C7A3.5000502@FreeBSD.org> <56B3EF97.9040205@freebsd.org> <20160205005113.GD13799@FreeBSD.org> Cc: Bryan Drewery , src-committers@FreeBSD.org, svn-src-projects@FreeBSD.org From: Nathan Whitehorn Message-ID: <56B3F5A2.7070600@freebsd.org> Date: Thu, 4 Feb 2016 17:06:42 -0800 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0 MIME-Version: 1.0 In-Reply-To: <20160205005113.GD13799@FreeBSD.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Sonic-CAuth: UmFuZG9tSVZiF4vwppS+RkfNa9HMMOoIqnMpwKo08xlmCIAmSqwnG1GK9vBHc8ec9TbR70vlTkOhqGCuY7ZVe93aIt4cKtUJXed2J1sUv7Q= X-Sonic-ID: C;OPDCt6TL5RGiEsEl14k5kQ== M;xtwVuKTL5RGiEsEl14k5kQ== X-Spam-Flag: No X-Sonic-Spam-Details: 0.0/5.0 by cerberusd X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Feb 2016 01:17:37 -0000 On 02/04/16 16:51, Glen Barber wrote: > On Thu, Feb 04, 2016 at 04:40:55PM -0800, Nathan Whitehorn wrote: >>>>> Are we really planning to split up the system at this level of >>>>> granularity? That seems like a huge regression from one of the main >>>>> selling points of FreeBSD: that it is *not* split up at this level and >>>>> forms a unified system. >>>>> -Nathan >>>>> >>>> You are jumping to conclusions. Splitting how files are *tracked in >>>> metadata* changes nothing about what we are delivering in a release. >>>> >>>> What level does freebsd-update track the system? It seems it is per-file. >>>> >>>> This constant idea that splitting files in metadata is bad is hindering >>>> progress greatly. >>>> >>> Also, pkg has no binary diff packages. The plan to release 11 with >>> packages is moving forward. Do we really want a multi-gigabyte world >>> package being downloaded so we can modify a security bug in >>> /etc/rc.d/jail? It makes no sense. >>> >>> This commit in particular is wrong in that it does not go *far enough*. >>> Everything installed needs to be handled by dependency ordering. >>> >>> The resistance to doing this correctly needs to just stop or we're going >>> to end up with a completely broken system. >>> >> My question, which you did not quite answer, was in how many packages the >> FreeBSD base system will be delivered. I didn't have any conclusions, since >> I don't know anything about what is happening. However the metadata is >> organized is fine, though I do worry that this level of >> per-library/-binary/-whatever manual dependency tracking may quickly become >> stale and will raise the barrier to adding new libraries. >> >> But that doesn't really matter. The general worry, which has been expressed >> by others and never to my knowledge addressed, is that: >> 1) Splitting the base system into 1000 packages will make it easier to not >> have some of those packages. This would destroy one of the absolute best >> things about the operating system: that "FreeBSD 10.2" is a coherent thing >> and all of the tools that make it up can be relied on to exist. The earlier >> version of "packaging base" that I heard about would have a handful (maybe 5 >> or 6) packages similar to the granularity that the installer and >> freebsd-update use, which is an easy enough thing to handful. > Splitting the base system into packages reinstates granular installation > ability, which was present in 8.x and prior releases. Based on many > reactions to this, a 'feature' not a 'bug.' I was just wondering about the granularity of it. We didn't have "libc" as its own thing then. >> 2) Having that split makes it easier to have mismatched versions. This is a >> problem I have encountered often on Linux distributions that blend third- >> and first-party software or have the 1000-package base system concept and >> that I encounter all the time with ports. Having a reliable, monolithic base >> system that is guaranteed to be internally consistent is *tremendously* >> valuable. >> > This is why the work is being done in a *project* branch, not head. Which is fine and a good use of project branches. > >> Would it be possible to have some summary of what the plan for "packaging >> base" actually is? I'm sure these are things that have been thought about, >> but it's been difficult for me at least to follow what is going on. Just >> some kind of white paper would be really helpful, or, at the very least, a >> few paragraphs in the quarterly status report to give a view from 10k feet. > This, honestly, has been asked repeatedly, and provided answers. Both > to PDFs of talks, URLs to talks being recorded, etc. > > Here's the bigger problem, from my view, as things stand now: there was > no mystery that packaged base system was going to be targeted for > 11.0-RELEASE. Progress slowed for a while, and has since resumed. Now, > that it has been stated that it is *required* for 11.0-RELEASE, people > are pointing out problems or requesting things for items noted in both, > the PDFs and URLs mentioned above, and nitpicking on things that either > are not relevant (meaning, does not exist) or things that we know will > be required for this to work. > > This is a project branch. I'm making an omelet, and all of the commits > until this is merged back to head are sacrificial eggs, no matter what > the end result of what 11.0-RELEASE looks like. > > Glen > Maybe I missed them? The talks I've seen (e.g. https://www.bsdcan.org/2015/schedule/events/563.en.html) describe some technical problems, the idea that pkg is nicer than freebsd-update (true enough), and that having some more granularity (bind and sendmail separated out, for instance) in installation would be a good thing. That all sounds perfectly reasonable and good, but is also pretty nebulous. It would be good have something a little more detailed on what a packaged base system actually looks like: what kinds of things would constitute a package? are those packages (e.g. for sendmail) interchangeable with ones from ports? would the pkg tool be imported into base? will all the versions of packages be locked together? is the idea to have buildworld/installworld generate packages now? is it just equivalent to replacing tar and freebsd-update with pkg? Some unified few-page white paper that goes through all of that would be really appreciated. If I'm asking questions here, it's only because I don't know what the overall plan is and don't have anywhere else to ask. Especially for something that is going to be a requirement for 11.x, it would be good to know what it is that we are actually requiring. Please don't take any of this as criticism -- I realize you are very busy writing code and that the plan is adapting to code realities as you go -- but it would be helpful for the rest of us to know where you are planning to go with the branch. -Nathan