This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Basic requirements for supporting OS and machine ports.


TLDR; All supported OS and machine ports should have build-many-glibcs.py
and buildbot support.

Details;

We have lots of cleanup to do in glibc to facilitate future novel work and
reduce overall maintenance.

Florian and Adhemerval's discussion about pipe2 cleanups [1] have reminded 
me that we must have a discussion about basic requirements for supporting OS and
machine ports.

In order for maintainers to do effective cleanup work they need a high confidence
that they don't break things across all the supported machine and OS
combinations.

To that end the maintainers need a way to test their patches in a low latency
manner that does not involve waiting for busy machine maintainers to review.
Machine maintainer review is still critically important, but for some category
of changes it is not strictly required, particularly when it comes to mechanical
changes.

Joseph Myers' build-many-glibcs.py script has quickly become the defacto standard
for supporting compile testing of all the machine ports.

Tulio's work on a community supported buildbot master is done [2], and we need to
keep adding bots.

In light of this enabling work I suggest the community commit to the following
basic requirements for supporting OS and machine ports:

(a) If your OS and machine port has build-many-glibcs.py support then all
    maintainers will strive to ensure that their changes do not break those
    OS and machine combinations supported by the script, and will work to
    correct any such past breakage.

(b) If your OS and machine port have a buildbot slave, then all maintainers
    will strive to ensure that their changes do not introduce breakage that
    shows up on those buildbots, and will work to correct any such breakage.

    In GNU Cauldron 2016 during the buildbot discussion there was consensus
    among those present that buildbots were a real requirement, either real
    or virtual (qemu).

(c) If your OS and machine port have neither build-many-glibcs.py nor a buildbot
    then machine maintainers are *not* responsible for ensuring anything beyond
    a sensible and logically consistent change to those OS and machine ports
    that do not meet the basic requirements. This can include creating stubbed out
    files for maintainers to eventually fill in with implementation details.

At present this means that NaCL and i686 GNU/Hurd do not meet basic requirements.

Likewise those machines that don't build do not currently meet basic requirements
until their machine maintainers fix the build issues (hppa).

Comments?

-- 
Cheers,
Carlos.

[1] https://www.sourceware.org/ml/libc-alpha/2017-04/msg00237.html
[2] http://www.gnu.org/software/libc/waterfall


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]