On Tue, 2014-11-04 at 21:20 +0100, Zbigniew Jędrzejewski-Szmek wrote: > On Tue, Nov 04, 2014 at 08:56:40AM -0800, Adam Williamson wrote: > > On Tue, 2014-11-04 at 17:37 +0100, Tomasz Torcz wrote: > > > On Tue, Nov 04, 2014 at 08:30:32AM -0800, Adam Williamson wrote: > > > > systemd "216-9" is not built from 216 at all, it is in fact systemd-217 > > > > > > Why the misleading version number? > > > > There is a comment in the spec: > > > > # This is really closer to 217 than to 216, and it is easier to revert a few > > # patches then to carry all the other patches after 216. > > > > and a changelog note: > > > > - Pull more changes from upstream, including post-217 bugfixes. This > > is now a bastard mix of systemd-216 and systemd-217, with some of > > the important changes in systemd 217 still reverted: > > readahead removal, timedatectl change, fq_codel as default, > > job timeouts for init and poweroff, multi-seat-x removal, > > coredumps from watchdog timeouts. > > > > For the record, systemd-216-8 had ~588 patches. > > > > I think the intent is that 216-8 and 216-9 be more or less the same > > codebase but arrived at in different ways, but in practice there seems > > to be a noticeable difference. > > > > The diff I came up with is: > > > > https://www.happyassassin.net/temp/systemd-2168-2169.diff > This diffs autogenerated content. There's a bit of stuff at the top that could have been trimmed out, sure, but I didn't want to spend *too* much time on it. It's not that much. > It also contains a rename of functions to add mac_ prefixes to > selinux functions. And a rename to hashmap functions in preparation > of for implementation changes which were done post 217 (and are > not part of this update). None of which was communicated in the package changelog, or the update description. And remember, what you just wrote is gobbledegook to most of the people testing updates, they are not necessarily coders and do not necessarily know anything about systemd internals. They are folks volunteering to provide feedback on pre-release updates; even those who are also Fedora packagers are not necessarily coders, and those who are coders don't necessarily know systemd's design. > It is also done without -M, so catches > some renames as significant changes. > > I'm frankly puzzled about the point of this exercise. Well, remember, I'm not a specialist. I'm just the QA monkey. I don't know the detailed ins and outs of every codebase in the distro, QA doesn't in general, we just try to test the bits. The more information is available about what those changes actually *are*, communicated in a style appropriate to the knowledge level of the folks doing the testing, the better that job is going to get done. I didn't inspect the diff in a huge degree of detail, I just was interested in how much difference there actually is between '216 stable plus 500+ patches' (216-5 / 216-8) and '217 minus some reversions (216-6 / 216-9), so I bashed at the trees for fifteen minutes trying to figure it out, and it looked like rather more difference than the update description and package changelog suggested, so I thought it would be a good idea to communicate that. Again, one thing that could prevent us having to have this kind of discussion would be for systemd to have more sophisticated/heavier/whatever stable release management. The systemd-stable repo is a definite improvement on the previous approach, but it's still missing actual *release management*, when you say 'OK, we're going to release an actual thing that will be called systemd 216.1 and we're going to put all these bits in it and we're going to write down what those are'. Right now if someone asks what systemd is in Fedora 21, what do we say? Well, we can say 'systemd-216 stable' and point to http://cgit.freedesktop.org/systemd/systemd-stable/log/?h=v216-stable , but then they ask 'what's that?', and what do we say? Where is its existence described? It's not systemd-216. It's not systemd-217. It doesn't have a version, it doesn't have a tarball, it doesn't have a readme, it doesn't have a changelog. The NEWS file says "CHANGES WITH 217:", so it seems dangerous to assume that it accurately describes all the changes on the 216-stable branch and *only* those changes. You only really have a hope of understanding what it *is* by reading the commit log, somehow grokking that it used to be produced by backporting a ton of changes onto 216 but is now produced by reverting/excluding a bunch of stuff from 217, and understanding what the things that were reverted actually *are* and what the implications of their reversion/exclusion are. And then to answer the original question, you have to figure out somehow whether there are any downstream-specific changes in the Fedora package vs. the 216-stable tree and what they are, when the current maintenance approach means that when we update to a new checkout of the 216-stable tree we bump the package release but when we add a downstream specific change we...bump the package release. One simple change that might help a bit right now is to follow the Fedora package versioning convention for when your package is built from SCM snapshots: https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Snapshot_packages So the systemd package should not just be 'systemd-216-8', or whatever, but something like: systemd-216-8.20141104gitaf59039bc (checkout id entirely invented). That would at least give us an indicator right in the package version / changelog of when the upstream checkout got changed. -- Adam Williamson Fedora QA Community Monkey IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net http://www.happyassassin.net -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct