[oe] Alpha release of check-requirement.sh

Behan Webster behanw at converseincode.com
Thu Aug 10 16:49:44 UTC 2017


> On Aug 10, 2017, at 1:42 AM, Tim Orling <ticotimo at gmail.com> wrote:
> 
> Also, I recommend a method of linking the checker script with the documentation.

That’s actually where this all started. I generate documentation from the JSON from my script for he LF training documentation. I’ve been reading the documentation to update my package lists, but found a lot of errors in the docs (missing packages, typos, duplicate packages, inconsistencies) all which I reported.

Since those errors are trivial for me to find because of my test system (more below) I’m suggesting the package lists in the documentation be generated from my tool (mirroring what I do for ready-for.sh)

Not that I’m suggesting the same for YP, but for LF, I maintain all requirements (machine and packages) in ready-for.sh, which generates JSON which is used by lualatex to generate per class setup documentation (55 auto generated PDFs).

I literally update one file, type make and it generates script, website, and PDFs.

I’m suggesting something similar can be done for the YP documentation, but only for the package lists.

> And run unit tests to prove nothing has changed on distro X, Y or Z.

There is already a test system for packages per distro. It uses a second script called pkgsearch which uses meta data from pkgs.org <http://pkgs.org/> (pkgsearch is also in my git repo). You can see part of the test machinery in the —check-packages option in the check-requirements.sh script. (I couldn’t maintain the lists of packages for all the LF courses without an automated test system).

This is what a successful test run looks like.

$ ./check-requirements.sh --check-packages --all
YP .*************************.****.*********.**...*...........****............
YPDOC .*******.*.*...........................
YPGUI .**..*.**.*.......**......*............
YPST .*..*..*..*...........*............

dots represent a passed package list for a distro. The star represents a download of a cross-bistro package list from pkgs.org <http://pkgs.org/> (lists are cached so they’re only downloaded once per day).

Here’s what a failed test looks like when asking for the "pony” package:

behanw at turin-vm:/mnt/src/lf/github/ready-for/check-requirements$ ./check-requirements.sh --check-packages --all --nocache
YP .*
NOTE: Checking CentOS-6 for YP...
MISSING: pony (CentOS-6)
.
NOTE: Checking CentOS-7 for YP...
MISSING: pony (CentOS-7)
.
NOTE: Checking Debian-7 for YP...
MISSING: pony (Debian-7)
.
NOTE: Checking Debian-8 for YP...
MISSING: pony (Debian-8)
.
<snip>

> And I want a pony, with wings and a single horn.

Tim: Is pink okay?

https://thumbs.dreamstime.com/z/pony-unicorn-golden-wings-big-eyes-cloud-rainbow-multicolor-vector-illustration-86109664.jpg <https://thumbs.dreamstime.com/z/pony-unicorn-golden-wings-big-eyes-cloud-rainbow-multicolor-vector-illustration-86109664.jpg>

Behan ;)


More information about the Openembedded-devel mailing list