Host system requirements & instruction specificity
Include a lesson learned for it, too.
This commit is contained in:
parent
31220d4762
commit
07bed2fdbf
1 changed files with 23 additions and 10 deletions
|
@ -386,16 +386,23 @@ procedures to build and install a replacement firmware, the instructions are
|
|||
likely sufficient to meet GPL's requirements. However, in this case, the
|
||||
instructions are more abundant and give more detail.
|
||||
|
||||
** Since it appears that this source release will build on a wide range of
|
||||
distributions, it was fine that no specific distribution was specified.
|
||||
However, most source releases we see will only build on a very specific
|
||||
distribution, due to a variety of assumptions made about the build
|
||||
environment. While such a situation is not ideal in the general sense, it is
|
||||
fine to specify a particular distribution that must be use to build the
|
||||
source release (such as "Debian 7 amd64"), from a compliance perspective.
|
||||
As an example, we noticed such an assumption later on in this source release,
|
||||
but it would be easy to correct in the instructions in this situation (see
|
||||
"`GLIBC\verb0_02.14' not found" below).
|
||||
These instructions are more general than typical. Often, top-level build
|
||||
instructions will specifically name a host distribution to use, such as
|
||||
``Debian 7 installed on a amd64 system with the following packages
|
||||
installed''. If the build will not complete on any other system,
|
||||
instructions should have such details. However, in this case, the CCS can
|
||||
build on a wide range of distributions, and thus no specific distribution was
|
||||
specified.
|
||||
|
||||
\label{thinkpenguin-specific-host-system}
|
||||
|
||||
In this specific case, the developers of the libreCMC project (on which the
|
||||
TPE-NWIFIROUTER is based) have clearly made effort to ensure the CCS builds
|
||||
on a variety of host systems. The investigator was in fact dubious upon
|
||||
seeing these instructions, since finicky embedded build processes usually
|
||||
require a very specific host system. Even in this case, a
|
||||
\hyperref[thinkpenguin-glibc-214-issue]{minor annoyance was found that more
|
||||
detailed instructions would address}.
|
||||
|
||||
% FIXME: Spend some time here (admittedly a digression: maybe refer to
|
||||
% another section later?) about how it's ok to specify a specific build
|
||||
|
@ -684,6 +691,12 @@ are both more problematic infractions. These minor infractions were:
|
|||
to write programmed scripts to do everything. The ``script'' included can
|
||||
certainly be more like the script of a play and less like a Bash script.
|
||||
|
||||
\item {\bf Write build/install instructions to the appropriate level of
|
||||
specificity}. The upstream engineers
|
||||
in this case study \hyperref[thinkpenguin-specific-host-system]{clearly did
|
||||
additional work to ensure functionality on a wide variety of host build
|
||||
systems}; this is quite rare. When in doubt, include the maximum level
|
||||
of detail build engineers can provide with the CCS instructions.
|
||||
\end{enumerate}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
|
Loading…
Reference in a new issue