[libvirt] [PATCH 0/2] travis: Fix build issues

I can't believe there is no blurb here! Andrea Bolognani (2): travis: Sort build dependencies travis: Install gettext .travis.yml | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) -- 2.13.5

Keeping the list of build dependencies sorted alphabetically makes it way easier to visually scan it for issues. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- Pushed as a CI build fix. .travis.yml | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/.travis.yml b/.travis.yml index f05ba8454..4c9f94573 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,38 +6,38 @@ compiler: cache: ccache addons: apt: + # Please keep this list sorted alphabetically packages: - - xsltproc - autopoint - - libxml2-dev - - libncurses5-dev - - libreadline-dev - - zlib1g-dev - - libgnutls-dev - - libgcrypt11-dev + - dnsmasq-base +# - dwarves + - libapparmor-dev + - libaudit-dev - libavahi-client-dev - - libsasl2-dev - - libxen-dev - - lvm2 - - libgcrypt11-dev - - libparted0-dev - - libdevmapper-dev - - uuid-dev - - libudev-dev - - libpciaccess-dev - libcap-ng-dev + - libdevmapper-dev + - libgcrypt11-dev + - libgnutls-dev + - libncurses5-dev + - libnetcf-dev - libnl-3-dev - libnl-route-3-dev - - libyajl-dev - - libpcap0.8-dev - libnuma-dev - - libnetcf-dev - - libaudit-dev -# - dwarves - - libxml2-utils - - libapparmor-dev - - dnsmasq-base + - libparted0-dev + - libpcap0.8-dev + - libpciaccess-dev - librbd-dev + - libreadline-dev + - libsasl2-dev + - libudev-dev + - libxen-dev + - libxml2-dev + - libxml2-utils + - libyajl-dev + - lvm2 + - uuid-dev + - xsltproc + - zlib1g-dev notifications: irc: -- 2.13.5

msgmerge(1) and friends are required to build libvirt, so the corresponding package should be installed in the Travis worker. Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- I'm honestly baffled it ever worked at all. Pushed as a CI build fix. .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 4c9f94573..f59bd19c8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,7 @@ addons: - autopoint - dnsmasq-base # - dwarves + - gettext - libapparmor-dev - libaudit-dev - libavahi-client-dev -- 2.13.5

On Wed, Sep 06, 2017 at 03:13:30PM +0200, Andrea Bolognani wrote:
msgmerge(1) and friends are required to build libvirt, so the corresponding package should be installed in the Travis worker.
It is only used if you regenerate .po files. 99% of the time developers or apps bulding libvirt won't do that, avoiding any need for msgmerge. 'make dist' triggers msgmerge, but we don't run that in travis - only make & make check 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 :|

On Wed, 2017-09-06 at 14:25 +0100, Daniel P. Berrange wrote:
On Wed, Sep 06, 2017 at 03:13:30PM +0200, Andrea Bolognani wrote:
msgmerge(1) and friends are required to build libvirt, so the corresponding package should be installed in the Travis worker.
It is only used if you regenerate .po files. 99% of the time developers or apps bulding libvirt won't do that, avoiding any need for msgmerge. 'make dist' triggers msgmerge, but we don't run that in travis - only make & make check
Is that so? I tried running git clean -xdf && ./autogen.sh && make on a Debian guest where the gettext package is not installed, and sure enough the build failed. IIUC *.po files are compiled to *.gmo using msgfmt(1), which is part of the gettext package, and we need to build those along with the rest because they are (correctly) not tracked in git. If you compare [471.1], the last where the build succeeded, and [472.1], the first where it failed, you can see that even though they share the same configuration the gettext tools are found by configure in the former but not in the latter. It looks like Travis updated their 'precise' worker in between those two builds - it jumped from 2.5.0 to 2.9.3: maybe the new worker is more minimal and doesn't include the gettext package? That would explain why we suddenly need to be explicit about it instead of getting it for free. [471.1] https://travis-ci.org/libvirt/libvirt/jobs/271982247 [472.1] https://travis-ci.org/libvirt/libvirt/jobs/272094472 -- Andrea Bolognani / Red Hat / Virtualization

On Thu, Sep 07, 2017 at 11:29:15AM +0200, Andrea Bolognani wrote:
On Wed, 2017-09-06 at 14:25 +0100, Daniel P. Berrange wrote:
On Wed, Sep 06, 2017 at 03:13:30PM +0200, Andrea Bolognani wrote:
msgmerge(1) and friends are required to build libvirt, so the corresponding package should be installed in the Travis worker.
It is only used if you regenerate .po files. 99% of the time developers or apps bulding libvirt won't do that, avoiding any need for msgmerge. 'make dist' triggers msgmerge, but we don't run that in travis - only make & make check
Is that so? I tried running
git clean -xdf && ./autogen.sh && make
on a Debian guest where the gettext package is not installed, and sure enough the build failed.
IIUC *.po files are compiled to *.gmo using msgfmt(1), which is part of the gettext package, and we need to build those along with the rest because they are (correctly) not tracked in git.
If you compare [471.1], the last where the build succeeded, and [472.1], the first where it failed, you can see that even though they share the same configuration the gettext tools are found by configure in the former but not in the latter.
It looks like Travis updated their 'precise' worker in between those two builds - it jumped from 2.5.0 to 2.9.3: maybe the new worker is more minimal and doesn't include the gettext package?
That would explain why we suddenly need to be explicit about it instead of getting it for free.
Yeah, looks like you are right. 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 :|
participants (2)
-
Andrea Bolognani
-
Daniel P. Berrange