Hello All,
I have added support for checksum verification and build time dependency
tracking to the new buildscript format. I believe that this adequately
completes the buildscript-buildinfo format. At this point I would like
to get final feedback on the new format. If none are opposed, I would
like to adopt this as the official buildscript format for Cucumber Linux
2.0. I'm giving a brief description of how it works here; more details
can be found on GitHub
(https://github.com/cucumberlinux/new-buildscript-format/tree/master/buildscript-buildinfo-format).
Here's how the *checksum verification* works:
When running |./iproute2.buildscript verify|, the following actions occur:
1. If the file 'sha512sums' exists, verify those SHA512 checksums
2. If the file 'sha256sums' exists, verify those SHA256 checksums
3. If the file 'sha1sums' exists, verify those SHA1 checksums
4. If the file 'shasums' exists, verify those SHA1 checksums
5. If the file 'md5sums' exists, verify those MD5 checksums
6. Run the 'verify' function in iproute2.buildinfo
If any of these steps fails (i.e. exits with a non-zero status), then
the checksum/signature verification step fails. If all of them succeed,
the checksum/signature verification step succeeds.
The 'verify' function in *.buildinfo is optional; if it is not present
then only steps 1 through 5 will be run. The reason for supporting a
custom 'verify' function is to allow for signature verification; the
process for verifying signatures varies significantly from one package
to the next, so it is necessary for this to be defined on a per package
basis.
Here's how the *build time dependency tracking* works:
|./iproute2.buildscript builddeps| - Lists the build time dependencies
for this package. These are defined in the *.buildinfo file by setting
the |pkg_build_dependencies| to an array containing the names of the
packages it depends on, as they appear in the Cucumber Linux
source/ports tree.
- Scott
|