[scl.org] validating scls being built

Honza Horak hhorak at redhat.com
Tue Oct 13 07:44:30 UTC 2015

On 10/12/2015 05:30 PM, Karanbir Singh wrote:
> On 12/10/15 13:55, Honza Horak wrote:
>> Thanks, it seems fine to me for the beginning. Matej (cc'd) is also
>> working on some basic sanity tests for collections, not sure how far he
>> is and whether it would do the same (maybe a bit), but last time we
>> checked the status it seemed he will have something pushed into [1] this
>> week.
> sounds good, I dont see anything there at the moment.
> let me know when there is something there and we can workout how best to
> plumb things in.

Sure, we talked with Matej that the tests should be able to be run 
separately for every collection, so plumbing in should be easy. 
Karanbir, do you already have some idea what should be the format of 
output? (if it is important for the ci)

The only hard requirement I expect is that the script must end with 
non-zero exit-code, right?

>> I've also added list of packages that we expect will be available for
>> the rest of the collections [2]. It has slightly different format than
>> yours, but a good thing is that we can share it with what we keep
>> internally for a similar purpose..
>> [1] https://github.com/sclorg/sclo-ci-tests/
>> [2] https://github.com/sclorg/sclo-ci-tests/tree/master/PackageLists
> what is the difference between all and main lists ?

`all` is list of all packages that must be available in repository

`main` is list of packages that we expect will be installed when user 
runs `yum install <scl>` (not all packages are installed in this case 

The main set might be checked later, we can ignore it for this time.

> and you really want
> to add arch atleast over there,

The only reason I see is to check whether only correct arches are in the 
repo, but it doesn't have to be in this list (packages change arches 
from/to noarch sometimes), we can just check the packages generally in 
the repo whether it includes only expected arches this way:

repoquery --disablerepo=\* 
--enablerepo=sclo7-sclo-vagrant1-sclo-candidate --qf '%{ARCH} %{NVR}' 
-a|grep -v -e '^noarch ' -e 'x86_64 '

> secondly - how are you comparing this
> with available packages in a remote repo ?

I'd use something like that:

repoquery --disablerepo=\* 
--enablerepo=sclo7-sclo-vagrant1-sclo-candidate --qf '%{NAME}' -a | sort >a
cat sclo-ci-tests/PackageLists/sclo-vagrant1/all | sort >b
diff -up a b

which is very similar to your check, just using `sort` to be sure we 
don't get false negative on just different order..


More information about the SCLorg mailing list