Heads-up regarding arm/armv6 snapshot builds

Glen Barber gjb at FreeBSD.org
Wed May 6 01:56:26 UTC 2015


[re@ in BCC.]

Before I proceed with what I'm about to say, I want to be absolutely
clear that I love the path Crochet has paved for the FreeBSD Project.

Crochet, however, moves entirely too fast, and in that rapid pace of
change comes backwards-incompatibility.

For example, it took me two weeks to figure out that the broken builds
for the snapshots we (RE) provide on FTP were because of the rename of
'AutoSize' -> 'Growfs'.  In the general case, this would be fine,
however Crochet has yet to branch a 'release' tag.  In other words,
everything in the top of the tree is a moving target, and tracking
a specific commit revision is not only non-ideal, but not at all
productive.

That said, this week's snapshot builds, those that have just finished
(or failed, as several cases may be), will be the final RE-provided
snapshots built with Crochet.  I simply cannot keep up with the rapid
change list of Crochet on a weekly basis, and we as a team cannot
possibly be expected to modify release build code during the release
cycle.  Especially when the change needs to occur when we switch from
-RC3 -> -RELEASE builds.

The lack of integration between the two systems has become far too
painful at this point.

I, with my RE hat on, have decided to focus the majority of my time over
the next few days on the ^/projects/release-arm-redux branch, decoupling
Crochet from the process entirely.

Again, while I love Crochet for the general usage, its rapid change now
has become extremely problematic to track for release/snapshot builds.

This email isn't to complain about the state of things, but to clearly
outline the minimum requirements (a.k.a., rules that must be met) for
future arm/armv6 (and any other architectures that may arise in the near
future).

As of this point, the only "rule" moving forward is, if your platform
needs u-boot, there *must* be a corresponding port in the Ports
Collection.  (See the various sysutils/u-boot-* ports for examples.)

This is a requirement, not a request.  We will no longer fetch u-boot
sources from arbitrary FTP locations, vcs-of-the-day repositories, etc.

As of this writing, the board we currently build that does not have
a corresponding u-boot port is the ZEDBOARD kernel.

This also brings to mind another few inconsistencies that prevent the
use of Crochet moving forward - the port provides something Crochet does
not expect and/or cannot use.  For reference, see this commit where I've
managed to work around an issue that I'm extremely unclear of the
reasoning:

https://svnweb.freebsd.org/base?view=revision&revision=282515

These types of "fixes" are not acceptable solutions, and moving forward,
we cannot proceed as we have been.  It does not scale well between the
FreeBSD sources and Crochet sources, and definitely does not scale
between the FreeBSD branches for which we provide arm/armv6 snapshots.

Interested parties that want to help can take a look at the
release-arm-redux branch mentioned above.  But I strongly encourage
those that want their SoC to continue to be supported when the branch is
merged to head (and subsequently to stable/10) to make a port of the
u-boot where it is required.

Thank you.

Glen
Hat:	RE

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20150506/48f66e1b/attachment.sig>


More information about the freebsd-arm mailing list