[Clfs-dev] Embedded Pull Request
Rob Landley
rob at landley.net
Sun Nov 10 11:30:44 PST 2013
On 11/05/2013 07:45:44 AM, Andrew Bradford wrote:
> Dear Rob,
>
> On 11/05/13 07:35, Rob Landley wrote:
> > On 10/17/2013 03:19:16 PM, Andrew Bradford wrote:
> >> Lots of cleaning up, few little fixes for errors others pointed out
> >> yesterday and today.
> >>
> >> The biggest change that might piss off the build tools is the
> removal of
> >> the version number from the book. We're not going to do a 1.0
> release
> >> for embedded, let's just use the date code as that's easy to
> search for
> >> in git. Rolling releases are popular these days :)
> >
> > Not so much "piss people off" as "cause me, personally, to lose all
> > interest in your project".
>
> I'm sorry to lose your following.
>
> However, the embedded book has, since November 2006, been at version
> 0.0.1.
And I paid zero attention to it during that time, until recent movement
in the direction of musl caught my notice.
I already _have_ a build that combines busybox and uClibc to create a
self-hosting development environment based on just 7 packages. I
rewrote about 1/3 of busybox to make that happen, fixed bugs in the
kernel and qemu to make it work on multiple platforms, and so on. I
don't actually _need_ the embedded LFS book, but I've had a vague todo
item of turning my giant bash script into an LFS-style book forever
because teaching other people how to do this stuff is good, and having
an existing project already do it _for_ me means I don't have to. I
would much rather help out somebody _else's_ project than take on
another thing of my own, because my todo list runneth over.
By the way, that above build environment? I'm working on a release for
it right now. (Linux 3.12 dropped, so I need a new aboriginal release
including it, and _that_ means I should cut a new toybox release so it
can use it, and I have pending patch submissions in the accumulated
pile of unread email and half-finished things I need to either finish
or bump to the next release, and I need to write up release notes and
regression test everything across all the supported targets...)
> This has never changed and after 7 years it seems silly to keep
> a version string that hasn't changed and which I have no intention of
> changing any time soon.
I only started paying attention to BLFS again when they finally had a
release recently.
Releases are important for an awful lot of reasons. It's a known
synchronization point where everybody trying it sees the same behavior.
One that the maintainers actually specifically tested and inspected,
not just "cron job says it's ok" but one you know a human actually
looked at. One that won't have changed out from under you if you go
back and try to reproduce it next week on a different machine. Releases
allow you to make statements of the form "this one does this, that one
doesn't". More than one person tried it on more than one Distro. We had
at least an informal freeze period where we didn't introduce anything
potentially destabilizing for a bit before we cut this version to make
sure people other than us wouldn't be surprised when they tried it.
The superiority of time-based releases over "when it's done" releases
is described in detail in this google tech talk from an ex-Debian
maintainer who learned it by watching the kernel and projects that
immitated it:
http://www.youtube.com/watch?v=IKsQsxubuAA
The superiority of having releases at all over "grab the git du jour,
I'm sure it's ok, there's never any cleanup to do because every commit
is always perfect and problems introduced are always immediately
apparent and never ever subtle or occuring only for people other than
the maintainer" is a _bigger_ deal.
> If a 1.0-type release is done, the version number will come back.
> And,
> if really desired, bringing back the 0.0.1 is as easy as 'git revert'.
It's not having a number, it's having _releases_. Realizing that they
serve a purpose.
Not having releases means the project is not trying to package itself
for use outside it's own developer community. If you're not part of the
"in crowd", you're not of interest to the project's developers. It's a
big red flag saying "What's a user? Can't be bothered." A developer's
first experience with the project _won't_ be reproducing a known
working version multiple other humans successfully reproduced from
scratch out of the box.
Releases are project hygiene on the level of showering.
That is why I lost interest.
But as always, it's just my opinion...
Rob
More information about the Clfs-dev
mailing list