Signed-off-by: Andrea Bolognani <abologna@redhat.com>
---
ansible/host_vars/libvirt-centos-7/main.yml | 1 +
ansible/host_vars/libvirt-debian-8/main.yml | 1 +
ansible/host_vars/libvirt-debian-9/main.yml | 1 +
ansible/host_vars/libvirt-fedora-25/main.yml | 1 +
ansible/host_vars/libvirt-fedora-26/main.yml | 1 +
ansible/host_vars/libvirt-fedora-rawhide/main.yml | 1 +
ansible/host_vars/libvirt-freebsd-11/main.yml | 1 +
ansible/host_vars/libvirt-ubuntu-14/main.yml | 1 +
ansible/host_vars/libvirt-ubuntu-16/main.yml | 1 +
ansible/tasks/build.yml | 40 +++++++++++++++++++++++
ansible/vars/libosinfo/CentOS-7.yml | 19 +++++++++++
ansible/vars/libosinfo/Debian-8.yml | 19 +++++++++++
ansible/vars/libosinfo/Debian-9.yml | 19 +++++++++++
ansible/vars/libosinfo/Fedora-25.yml | 19 +++++++++++
ansible/vars/libosinfo/Fedora-26.yml | 19 +++++++++++
ansible/vars/libosinfo/Fedora-Rawhide.yml | 19 +++++++++++
ansible/vars/libosinfo/FreeBSD-11.yml | 19 +++++++++++
ansible/vars/libosinfo/Ubuntu-14.yml | 19 +++++++++++
ansible/vars/libosinfo/Ubuntu-16.yml | 19 +++++++++++
19 files changed, 220 insertions(+)
create mode 100644 ansible/vars/libosinfo/CentOS-7.yml
create mode 100644 ansible/vars/libosinfo/Debian-8.yml
create mode 100644 ansible/vars/libosinfo/Debian-9.yml
create mode 100644 ansible/vars/libosinfo/Fedora-25.yml
create mode 100644 ansible/vars/libosinfo/Fedora-26.yml
create mode 100644 ansible/vars/libosinfo/Fedora-Rawhide.yml
create mode 100644 ansible/vars/libosinfo/FreeBSD-11.yml
create mode 100644 ansible/vars/libosinfo/Ubuntu-14.yml
create mode 100644 ansible/vars/libosinfo/Ubuntu-16.yml
diff --git a/ansible/host_vars/libvirt-centos-7/main.yml b/ansible/host_vars/libvirt-centos-7/main.yml
index 1602406..a40cb4c 100644
--- a/ansible/host_vars/libvirt-centos-7/main.yml
+++ b/ansible/host_vars/libvirt-centos-7/main.yml
@@ -1,3 +1,4 @@
---
projects:
- base
+ - libosinfo
diff --git a/ansible/host_vars/libvirt-debian-8/main.yml b/ansible/host_vars/libvirt-debian-8/main.yml
index 1602406..a40cb4c 100644
--- a/ansible/host_vars/libvirt-debian-8/main.yml
+++ b/ansible/host_vars/libvirt-debian-8/main.yml
@@ -1,3 +1,4 @@
---
projects:
- base
+ - libosinfo
diff --git a/ansible/host_vars/libvirt-debian-9/main.yml b/ansible/host_vars/libvirt-debian-9/main.yml
index 1602406..a40cb4c 100644
--- a/ansible/host_vars/libvirt-debian-9/main.yml
+++ b/ansible/host_vars/libvirt-debian-9/main.yml
@@ -1,3 +1,4 @@
---
projects:
- base
+ - libosinfo
diff --git a/ansible/host_vars/libvirt-fedora-25/main.yml b/ansible/host_vars/libvirt-fedora-25/main.yml
index 1602406..a40cb4c 100644
--- a/ansible/host_vars/libvirt-fedora-25/main.yml
+++ b/ansible/host_vars/libvirt-fedora-25/main.yml
@@ -1,3 +1,4 @@
---
projects:
- base
+ - libosinfo
diff --git a/ansible/host_vars/libvirt-fedora-26/main.yml b/ansible/host_vars/libvirt-fedora-26/main.yml
index 1602406..a40cb4c 100644
--- a/ansible/host_vars/libvirt-fedora-26/main.yml
+++ b/ansible/host_vars/libvirt-fedora-26/main.yml
@@ -1,3 +1,4 @@
---
projects:
- base
+ - libosinfo
diff --git a/ansible/host_vars/libvirt-fedora-rawhide/main.yml b/ansible/host_vars/libvirt-fedora-rawhide/main.yml
index 1602406..a40cb4c 100644
--- a/ansible/host_vars/libvirt-fedora-rawhide/main.yml
+++ b/ansible/host_vars/libvirt-fedora-rawhide/main.yml
@@ -1,3 +1,4 @@
---
projects:
- base
+ - libosinfo
diff --git a/ansible/host_vars/libvirt-freebsd-11/main.yml b/ansible/host_vars/libvirt-freebsd-11/main.yml
index d405d58..81e362d 100644
--- a/ansible/host_vars/libvirt-freebsd-11/main.yml
+++ b/ansible/host_vars/libvirt-freebsd-11/main.yml
@@ -8,3 +8,4 @@ sudo: /usr/local/bin/sudo
projects:
- base
+ - libosinfo
diff --git a/ansible/host_vars/libvirt-ubuntu-14/main.yml b/ansible/host_vars/libvirt-ubuntu-14/main.yml
index 1602406..a40cb4c 100644
--- a/ansible/host_vars/libvirt-ubuntu-14/main.yml
+++ b/ansible/host_vars/libvirt-ubuntu-14/main.yml
@@ -1,3 +1,4 @@
---
projects:
- base
+ - libosinfo
diff --git a/ansible/host_vars/libvirt-ubuntu-16/main.yml b/ansible/host_vars/libvirt-ubuntu-16/main.yml
index 1602406..a40cb4c 100644
--- a/ansible/host_vars/libvirt-ubuntu-16/main.yml
+++ b/ansible/host_vars/libvirt-ubuntu-16/main.yml
@@ -1,3 +1,4 @@
---
projects:
- base
+ - libosinfo
diff --git a/ansible/tasks/build.yml b/ansible/tasks/build.yml
index edb0064..2210261 100644
--- a/ansible/tasks/build.yml
+++ b/ansible/tasks/build.yml
@@ -12,3 +12,43 @@
command: git clean -xdf
args:
chdir: '{{ project }}'
+
+# C build
+
+- name: '{{ project }}: Prepare configure options'
+ set_fact:
+ configure_options: []
+
+- name: '{{ project }}: Prepare configure options'
+ set_fact:
+ configure_options: '{{ configure_options }} + [ "{{ features[item] }}" ]'
+ with_items:
+ '{{ features }}'
+ when:
+ - features is defined
+
+- name: '{{ project }}: Prepare configure options'
+ set_fact:
+ configure_options: '{{ configure_options | join(" ") }}'
+
+- name: '{{ project }}: Run autogen.sh'
+ command: './autogen.sh {{ configure_options }}'
+ args:
+ chdir: '{{ project }}'
+ environment:
+ when:
+ - project == 'libosinfo'
+
+- name: '{{ project }}: Build project'
+ command: '{{ make }} -j{{ smp }}'
+ args:
+ chdir: '{{ project }}'
+ when:
+ - project == 'libosinfo'
+
+- name: '{{ project }}: Run sanity checks'
+ command: '{{ make }} -j{{ smp }} syntax-check'
+ args:
+ chdir: '{{ project }}'
+ when:
+ - project == 'libosinfo'
diff --git a/ansible/vars/libosinfo/CentOS-7.yml b/ansible/vars/libosinfo/CentOS-7.yml
new file mode 100644
index 0000000..c833b54
--- /dev/null
+++ b/ansible/vars/libosinfo/CentOS-7.yml
@@ -0,0 +1,19 @@
+---
+packages:
+ - check-devel
+ - glib2-devel
+ - gnome-common
+ - gobject-introspection-devel
+ - gtk-doc
+ - hwdata
+ - intltool
+ - libsoup-devel
+ - libxml2
+ - libxml2-devel
+ - libxslt-devel
+ - vala
+
+features:
+ enable_gtk_doc: --enable-gtk-doc
+ enable_introspection: --enable-introspection
+ enable_vala: --enable-vala
diff --git a/ansible/vars/libosinfo/Debian-8.yml b/ansible/vars/libosinfo/Debian-8.yml
new file mode 100644
index 0000000..f2d7ac1
--- /dev/null
+++ b/ansible/vars/libosinfo/Debian-8.yml
@@ -0,0 +1,19 @@
+---
+packages:
+ - check
+ - gnome-common
+ - gtk-doc-tools
+ - hwdata
+ - intltool
+ - libgirepository1.0-dev
+ - libglib2.0-dev
+ - libsoup2.4-dev
+ - libxml2-dev
+ - libxml2-utils
+ - libxslt1-dev
+ - valac
+
+features:
+ enable_gtk_doc: --enable-gtk-doc
+ enable_introspection: --enable-introspection
+ enable_vala: --enable-vala
diff --git a/ansible/vars/libosinfo/Debian-9.yml b/ansible/vars/libosinfo/Debian-9.yml
new file mode 100644
index 0000000..f2d7ac1
--- /dev/null
+++ b/ansible/vars/libosinfo/Debian-9.yml
@@ -0,0 +1,19 @@
+---
+packages:
+ - check
+ - gnome-common
+ - gtk-doc-tools
+ - hwdata
+ - intltool
+ - libgirepository1.0-dev
+ - libglib2.0-dev
+ - libsoup2.4-dev
+ - libxml2-dev
+ - libxml2-utils
+ - libxslt1-dev
+ - valac
+
+features:
+ enable_gtk_doc: --enable-gtk-doc
+ enable_introspection: --enable-introspection
+ enable_vala: --enable-vala
diff --git a/ansible/vars/libosinfo/Fedora-25.yml b/ansible/vars/libosinfo/Fedora-25.yml
new file mode 100644
index 0000000..c833b54
--- /dev/null
+++ b/ansible/vars/libosinfo/Fedora-25.yml
@@ -0,0 +1,19 @@
+---
+packages:
+ - check-devel
+ - glib2-devel
+ - gnome-common
+ - gobject-introspection-devel
+ - gtk-doc
+ - hwdata
+ - intltool
+ - libsoup-devel
+ - libxml2
+ - libxml2-devel
+ - libxslt-devel
+ - vala
+
+features:
+ enable_gtk_doc: --enable-gtk-doc
+ enable_introspection: --enable-introspection
+ enable_vala: --enable-vala
diff --git a/ansible/vars/libosinfo/Fedora-26.yml b/ansible/vars/libosinfo/Fedora-26.yml
new file mode 100644
index 0000000..c833b54
--- /dev/null
+++ b/ansible/vars/libosinfo/Fedora-26.yml
@@ -0,0 +1,19 @@
+---
+packages:
+ - check-devel
+ - glib2-devel
+ - gnome-common
+ - gobject-introspection-devel
+ - gtk-doc
+ - hwdata
+ - intltool
+ - libsoup-devel
+ - libxml2
+ - libxml2-devel
+ - libxslt-devel
+ - vala
+
+features:
+ enable_gtk_doc: --enable-gtk-doc
+ enable_introspection: --enable-introspection
+ enable_vala: --enable-vala
diff --git a/ansible/vars/libosinfo/Fedora-Rawhide.yml b/ansible/vars/libosinfo/Fedora-Rawhide.yml
new file mode 100644
index 0000000..c833b54
--- /dev/null
+++ b/ansible/vars/libosinfo/Fedora-Rawhide.yml
@@ -0,0 +1,19 @@
+---
+packages:
+ - check-devel
+ - glib2-devel
+ - gnome-common
+ - gobject-introspection-devel
+ - gtk-doc
+ - hwdata
+ - intltool
+ - libsoup-devel
+ - libxml2
+ - libxml2-devel
+ - libxslt-devel
+ - vala
+
+features:
+ enable_gtk_doc: --enable-gtk-doc
+ enable_introspection: --enable-introspection
+ enable_vala: --enable-vala
diff --git a/ansible/vars/libosinfo/FreeBSD-11.yml b/ansible/vars/libosinfo/FreeBSD-11.yml
new file mode 100644
index 0000000..27787cf
--- /dev/null
+++ b/ansible/vars/libosinfo/FreeBSD-11.yml
@@ -0,0 +1,19 @@
+---
+packages:
+ - check
+ - glib
+ - gnome-common
+ - gobject-introspection
+ - gtk-doc
+ - intltool
+ - libsoup
+ - libxml2
+ - libxslt
+ - pciids
+ - usbids
+ - vala
+
+features:
+ enable_gtk_doc: --enable-gtk-doc
+ enable_introspection: --enable-introspection
+ enable_vala: --enable-vala
diff --git a/ansible/vars/libosinfo/Ubuntu-14.yml b/ansible/vars/libosinfo/Ubuntu-14.yml
new file mode 100644
index 0000000..f2d7ac1
--- /dev/null
+++ b/ansible/vars/libosinfo/Ubuntu-14.yml
@@ -0,0 +1,19 @@
+---
+packages:
+ - check
+ - gnome-common
+ - gtk-doc-tools
+ - hwdata
+ - intltool
+ - libgirepository1.0-dev
+ - libglib2.0-dev
+ - libsoup2.4-dev
+ - libxml2-dev
+ - libxml2-utils
+ - libxslt1-dev
+ - valac
+
+features:
+ enable_gtk_doc: --enable-gtk-doc
+ enable_introspection: --enable-introspection
+ enable_vala: --enable-vala
diff --git a/ansible/vars/libosinfo/Ubuntu-16.yml b/ansible/vars/libosinfo/Ubuntu-16.yml
new file mode 100644
index 0000000..f2d7ac1
--- /dev/null
+++ b/ansible/vars/libosinfo/Ubuntu-16.yml
@@ -0,0 +1,19 @@
+---
+packages:
+ - check
+ - gnome-common
+ - gtk-doc-tools
+ - hwdata
+ - intltool
+ - libgirepository1.0-dev
+ - libglib2.0-dev
+ - libsoup2.4-dev
+ - libxml2-dev
+ - libxml2-utils
+ - libxslt1-dev
+ - valac
+
+features:
+ enable_gtk_doc: --enable-gtk-doc
+ enable_introspection: --enable-introspection
+ enable_vala: --enable-vala
--
2.13.6
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Mon, Oct 02, 2017 at 05:10:41PM +0200, Andrea Bolognani wrote:
> Signed-off-by: Andrea Bolognani <abologna@redhat.com>
> ---
> ansible/host_vars/libvirt-centos-7/main.yml | 1 +
> ansible/host_vars/libvirt-debian-8/main.yml | 1 +
> ansible/host_vars/libvirt-debian-9/main.yml | 1 +
> ansible/host_vars/libvirt-fedora-25/main.yml | 1 +
> ansible/host_vars/libvirt-fedora-26/main.yml | 1 +
> ansible/host_vars/libvirt-fedora-rawhide/main.yml | 1 +
> ansible/host_vars/libvirt-freebsd-11/main.yml | 1 +
> ansible/host_vars/libvirt-ubuntu-14/main.yml | 1 +
> ansible/host_vars/libvirt-ubuntu-16/main.yml | 1 +
> ansible/tasks/build.yml | 40 +++++++++++++++++++++++
> ansible/vars/libosinfo/CentOS-7.yml | 19 +++++++++++
> ansible/vars/libosinfo/Debian-8.yml | 19 +++++++++++
> ansible/vars/libosinfo/Debian-9.yml | 19 +++++++++++
> ansible/vars/libosinfo/Fedora-25.yml | 19 +++++++++++
> ansible/vars/libosinfo/Fedora-26.yml | 19 +++++++++++
> ansible/vars/libosinfo/Fedora-Rawhide.yml | 19 +++++++++++
> ansible/vars/libosinfo/FreeBSD-11.yml | 19 +++++++++++
> ansible/vars/libosinfo/Ubuntu-14.yml | 19 +++++++++++
> ansible/vars/libosinfo/Ubuntu-16.yml | 19 +++++++++++
> 19 files changed, 220 insertions(+)
> create mode 100644 ansible/vars/libosinfo/CentOS-7.yml
> create mode 100644 ansible/vars/libosinfo/Debian-8.yml
> create mode 100644 ansible/vars/libosinfo/Debian-9.yml
> create mode 100644 ansible/vars/libosinfo/Fedora-25.yml
> create mode 100644 ansible/vars/libosinfo/Fedora-26.yml
> create mode 100644 ansible/vars/libosinfo/Fedora-Rawhide.yml
> create mode 100644 ansible/vars/libosinfo/FreeBSD-11.yml
> create mode 100644 ansible/vars/libosinfo/Ubuntu-14.yml
> create mode 100644 ansible/vars/libosinfo/Ubuntu-16.yml
>
> diff --git a/ansible/tasks/build.yml b/ansible/tasks/build.yml
> index edb0064..2210261 100644
> --- a/ansible/tasks/build.yml
> +++ b/ansible/tasks/build.yml
> @@ -12,3 +12,43 @@
> command: git clean -xdf
> args:
> chdir: '{{ project }}'
> +
> +# C build
> +
> +- name: '{{ project }}: Prepare configure options'
> + set_fact:
> + configure_options: []
> +
> +- name: '{{ project }}: Prepare configure options'
> + set_fact:
> + configure_options: '{{ configure_options }} + [ "{{ features[item] }}" ]'
> + with_items:
> + '{{ features }}'
> + when:
> + - features is defined
> +
> +- name: '{{ project }}: Prepare configure options'
> + set_fact:
> + configure_options: '{{ configure_options | join(" ") }}'
> +
> +- name: '{{ project }}: Run autogen.sh'
> + command: './autogen.sh {{ configure_options }}'
> + args:
> + chdir: '{{ project }}'
> + environment:
> + when:
> + - project == 'libosinfo'
> +
> +- name: '{{ project }}: Build project'
> + command: '{{ make }} -j{{ smp }}'
> + args:
> + chdir: '{{ project }}'
> + when:
> + - project == 'libosinfo'
> +
> +- name: '{{ project }}: Run sanity checks'
> + command: '{{ make }} -j{{ smp }} syntax-check'
> + args:
> + chdir: '{{ project }}'
> + when:
> + - project == 'libosinfo'
This looks like its duplicating the rules we already have
defined in the jobs/ files for Jenkins. Why do we need
this ?
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@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Mon, 2017-10-02 at 17:04 +0100, Daniel P. Berrange wrote:
> > +- name: '{{ project }}: Run sanity checks'
> > + command: '{{ make }} -j{{ smp }} syntax-check'
> > + args:
> > + chdir: '{{ project }}'
> > + when:
> > + - project == 'libosinfo'
>
> This looks like its duplicating the rules we already have
> defined in the jobs/ files for Jenkins. Why do we need
> this ?
It's explained in the commit message for patch 2:
Building projects is entirely controlled by Jenkins in a production
environment, but it can be useful to trigger builds via Ansible
during development to figure out build dependencies and for sanity
checking purposes.
I'm not adamant on keeping this around, as it was mainly a tool
for me to use during development, but I figure it might come in
handy later on when some project picks up new (optional) build
dependencies or we need to add a new project, and I'd rather not
have to reinvent the wheel when that happens.
Note that none of those tasks is executed unless you manually set
the 'build' variable to true, so they will not interfere in any
way with regular CI usage.
--
Andrea Bolognani / Red Hat / Virtualization
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Tue, Oct 03, 2017 at 09:07:15AM +0200, Andrea Bolognani wrote:
> On Mon, 2017-10-02 at 17:04 +0100, Daniel P. Berrange wrote:
> > > +- name: '{{ project }}: Run sanity checks'
> > > + command: '{{ make }} -j{{ smp }} syntax-check'
> > > + args:
> > > + chdir: '{{ project }}'
> > > + when:
> > > + - project == 'libosinfo'
> >
> > This looks like its duplicating the rules we already have
> > defined in the jobs/ files for Jenkins. Why do we need
> > this ?
>
> It's explained in the commit message for patch 2:
>
> Building projects is entirely controlled by Jenkins in a production
> environment, but it can be useful to trigger builds via Ansible
> during development to figure out build dependencies and for sanity
> checking purposes.
>
> I'm not adamant on keeping this around, as it was mainly a tool
> for me to use during development, but I figure it might come in
> handy later on when some project picks up new (optional) build
> dependencies or we need to add a new project, and I'd rather not
> have to reinvent the wheel when that happens.
>
> Note that none of those tasks is executed unless you manually set
> the 'build' variable to true, so they will not interfere in any
> way with regular CI usage.
The rules we have defined in the jobs & projects files are in nice
parsable format. Could we have something that just reads that data
and then generates these ansible rules for building outside jenkins
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@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Tue, 2017-10-03 at 09:59 +0100, Daniel P. Berrange wrote: > > I'm not adamant on keeping this around, as it was mainly a tool > > for me to use during development, but I figure it might come in > > handy later on when some project picks up new (optional) build > > dependencies or we need to add a new project, and I'd rather not > > have to reinvent the wheel when that happens. > > > > Note that none of those tasks is executed unless you manually set > > the 'build' variable to true, so they will not interfere in any > > way with regular CI usage. > > The rules we have defined in the jobs & projects files are in nice > parsable format. Could we have something that just reads that data > and then generates these ansible rules for building outside jenkins Well, I feel like I've spent enough time on this already, at least for the time being, so if that's your condition for keeping the building rules around then I'll happily drop them :) -- Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2025 Red Hat, Inc.