On Tue, Oct 03, 2017 at 09:18:32AM +0200, Andrea Bolognani wrote: > On Mon, 2017-10-02 at 16:57 +0100, Daniel P. Berrange wrote: > > > +packages: > > > + - libcmpiutil-devel > > > + - libconfig-devel > > > + - libuuid-devel > > > + - libxml2-devel > > > + - libxslt > > > + - wget > > > + > > > +extra_packages: > > > + - libvirt-devel > > > > This isn't right - we should never install libvirt-devel on any of the > > build hosts. Downstream projects are chained up to build against the > > version of libvirt we just built. The same applies for other deps > > we build that are used by other downstream pieces. > > That's why it's in 'extra_packages' rather than 'packages' ;) > > Again, this is only used during development. > > See group_vars/all/main.yml: > > # Wether to build software. While this is useful for figuring out > # build dependencies, it should not be turned on in production > # because it causes extra packages to be installed, which can > # interfere with the CI jobs > build: false > > and tasks/packages.yml: > > - name: '{{ project }}: Install extra packages' > package: > name: '{{ item }}' > state: present > with_items: > '{{ extra_packages }}' > when: > - extra_packages is defined > # Only extra additional packages if we're going to build > - build > > Yuck, I accidentally that comment. You get the idea though. > > > Is there any way to get inheritance between these 'vars' files, so we don't > > copy+paste the same content for every Fedora/CentOS version ? > > Mh, I have the feeling it might complicate things rather than > make them nicer. I can look into it, though. One of the big wins when I moved the configs out of Jenkins native config format, into the Jenkins Job Builder config format is that we could eliminate all the duplication between the configs. So from that POV it feels unpleasant to be re-adding lots of duplication. In the very last patch you add a bunch of files which define aliases for the various dependancies, and map those to the distro specific package name eg +cyrus-sasl: + - cyrus-sasl # FreeBSD + - cyrus-sasl-devel # CentOS, Fedora + - libsasl2-dev # Debian, Ubuntu Given these data maps, it seems like we ought to be able to define the build pre-requisites once in terms of the alias names, and then expand that into the distro specific package lists, thus avoiding a per-distro list of deps for each module Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list