[PATCH 0/3] Include operating systems list in virt-manager.

  • Done
  • quality assurance status badge
Details
2 participants
  • Brice Waegeneire
  • Jakub K?dzio?ka
Owner
unassigned
Submitted by
Brice Waegeneire
Severity
normal
B
B
Brice Waegeneire wrote on 12 Feb 2020 17:30
(address . guix-patches@gnu.org)
20200212163046.15761-1-brice@waegenei.re
When creating a new virtual machine in virt-manager, the OS list was empty and
we were forced to use the non-descriptive "Generic default" OS. This patch
serie fixes it.

Brice Waegeneire (3):
gnu: osinfo-db-tools: Add osinfo-db-tools.
gnu: osinfo-db: Add osinfo-db.
gnu: virt-manager: Include operating systems list.

gnu/packages/virtualization.scm | 91 ++++++++++++++++++++++++++++++++-
1 file changed, 89 insertions(+), 2 deletions(-)

--
2.25.0
B
B
Brice Waegeneire wrote on 12 Feb 2020 17:37
[PATCH 1/3] gnu: osinfo-db-tools: Add osinfo-db-tools.
(address . 39579@debbugs.gnu.org)
20200212163711.17468-1-brice@waegenei.re
* gnu/packages/virtualization.scm (osinfo-db-tools): New variable.
---
gnu/packages/virtualization.scm | 40 +++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (64 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 3670b396a5..57d433599a 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,6 +34,7 @@
#:use-module (gnu packages assembly)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
@@ -1382,3 +1384,41 @@ which is a hypervisor.")
;; TODO: Some files are licensed differently. List those.
(license license:gpl2)
(supported-systems '("i686-linux" "x86_64-linux" "armhf-linux"))))
+
+(define-public osinfo-db-tools
+ (package
+ (name "osinfo-db-tools")
+ (version "1.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-tools-"
+ version ".tar.xz"))
+
+ (sha256
+ (base32
+ "08x8mrafphyll0d35xdc143rip3ahrz6bmzhc85nwhq7yk2vxpab"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "--prefix=" (assoc-ref %outputs "out")))))
+ (inputs
+ `(("libsoup" ,libsoup)
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("json-glib" ,json-glib)
+ ("libarchive" ,libarchive)
+ ("gobject-introspection" ,gobject-introspection)))
+ (native-inputs
+ `(("perl" ,perl)
+ ("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)
+ ;; Tests
+ ("python" ,python)
+ ("pytest" ,python-pytest)
+ ("requests" ,python-requests)
+ ))
+ (home-page "https://gitlab.com/libosinfo/osinfo-db-tools")
+ (synopsis "Tools for managing the osinfo database")
+ (description "This package contains a set of tools to assist administrators and
+developers in managing the database.")
+ (license license:lgpl2.0+)))
--
2.25.0
B
B
Brice Waegeneire wrote on 12 Feb 2020 17:37
[PATCH 2/3] gnu: osinfo-db: Add osinfo-db.
(address . 39579@debbugs.gnu.org)
20200212163711.17468-2-brice@waegenei.re
* gnu/packages/virtualization.scm (osinfo-db): New variable.
---
gnu/packages/virtualization.scm | 37 +++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 57d433599a..3769ece889 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -92,6 +92,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
+ #:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@@ -1422,3 +1423,39 @@ which is a hypervisor.")
(description "This package contains a set of tools to assist administrators and
developers in managing the database.")
(license license:lgpl2.0+)))
+
+(define-public osinfo-db
+ (package
+ (name "osinfo-db")
+ (version "20200203")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1zjq1dhlci00j17dij7s3l30hybzmaykpk5b6bd5xbllp745njn5"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (osinfo-dir (string-append out "/share/osinfo"))
+ (source (assoc-ref %build-inputs "source")))
+ (set-path-environment-variable
+ "PATH" '("bin")
+ (list (assoc-ref %build-inputs "osinfo-db-tools")))
+ (mkdir-p osinfo-dir)
+ (invoke "osinfo-db-import" "--dir" osinfo-dir source)
+ #t))))
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("osinfo-db-tools" ,osinfo-db-tools)))
+ (home-page "https://gitlab.com/libosinfo/osinfo-db")
+ (synopsis "Database of information about operating systems")
+ (description "Osinfo-db provides the database files for use with the
+libosinfo library. It provides information about guest operating systems for
+use with virtualization provisioning tools")
+ (license license:lgpl2.0+)))
--
2.25.0
B
B
Brice Waegeneire wrote on 12 Feb 2020 17:37
[PATCH 3/3] gnu: virt-manager: Include operating systems list.
(address . 39579@debbugs.gnu.org)
20200212163711.17468-3-brice@waegenei.re
* gnu/packages/virtualization.scm (virt-manager)[inputs]: Add osinfo-db.
[arguments]: Add phase patch.
---
gnu/packages/virtualization.scm | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

Toggle diff (31 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 3769ece889..222d59d8bc 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -328,12 +328,22 @@ server and embedded PowerPC, and S390 guests.")
(list (string-append "-Dwith-usb-ids-path="
(assoc-ref %build-inputs "usb.ids"))
(string-append "-Dwith-pci-ids-path="
- (assoc-ref %build-inputs "pci.ids")))))
+ (assoc-ref %build-inputs "pci.ids")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "osinfo/osinfo_loader.c"
+ (("path = DATA_DIR.*")
+ (string-append "path = \"" (assoc-ref inputs "osinfo-db")
+ "/share/osinfo\";")))
+ #t)))))
(inputs
`(("libsoup" ,libsoup)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
- ("gobject-introspection" ,gobject-introspection)))
+ ("gobject-introspection" ,gobject-introspection)
+ ("osinfo-db" ,osinfo-db)))
(native-inputs
`(("glib" ,glib "bin") ; glib-mkenums, etc.
("gtk-doc" ,gtk-doc)
--
2.25.0
J
J
Jakub K?dzio?ka wrote on 16 Feb 2020 20:10
Re: [bug#39579] [PATCH 1/3] gnu: osinfo-db-tools: Add osinfo-db-tools.
(name . Brice Waegeneire)(address . brice@waegenei.re)(address . 39579@debbugs.gnu.org)
20200216191016.p4lbyjdvpkz4uuou@gravity
On Wed, Feb 12, 2020 at 05:37:09PM +0100, Brice Waegeneire wrote:
Toggle quote (16 lines)
> +(define-public osinfo-db-tools
> + (package
> + (name "osinfo-db-tools")
> + (version "1.7.0")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-tools-"
> + version ".tar.xz"))
> +
> + (sha256
> + (base32
> + "08x8mrafphyll0d35xdc143rip3ahrz6bmzhc85nwhq7yk2vxpab"))))
> + (build-system meson-build-system)
> + (arguments
> + `(#:configure-flags
> + (list (string-append "--prefix=" (assoc-ref %outputs "out")))))
If I'm reading the source correctly, this argument isn't even used by
meson-build-system. Why is this necessary?

Toggle quote (7 lines)
> + (inputs
> + `(("libsoup" ,libsoup)
> + ("libxml2" ,libxml2)
> + ("libxslt" ,libxslt)
> + ("json-glib" ,json-glib)
> + ("libarchive" ,libarchive)
> + ("gobject-introspection" ,gobject-introspection)))
guix lint suggests that g-i should be a native-input

Toggle quote (9 lines)
> + (native-inputs
> + `(("perl" ,perl)
> + ("gettext" ,gettext-minimal)
> + ("pkg-config" ,pkg-config)
> + ;; Tests
> + ("python" ,python)
> + ("pytest" ,python-pytest)
> + ("requests" ,python-requests)
> + ))
You cruel madman, these parenthesis must be feeling quite lonely ;)

Toggle quote (4 lines)
> + (synopsis "Tools for managing the osinfo database")
> + (description "This package contains a set of tools to assist administrators and
> +developers in managing the database.")
Please break lines at 80 characters when not inconvenient.

Toggle quote (3 lines)
> + (license license:lgpl2.0+)))
> --
> 2.25.0
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE5Xa/ss9usT31cTO54xWnWEYTFWQFAl5Jk5gACgkQ4xWnWEYT
FWSaeRAAyH1GI6nJ2JmeKGQ3nZnznmvnBd6JkEbcZkhqzdGoV1rbjyiP8qDG51HQ
+OR6OFNuCu4c8QOYaN9BZ44X0wKgOerzCN4+F5Y7+FXHkXdr1idgKb1iimFxF2pN
y0prf3C7MkzcfLqviysL23/K23SDUWkEjvFOlGh7itRUYZQVdTYLqkEFkfsaOedH
7BRrgmyh1U4WOGBG00ozs3fyHmKjVU4h7X8OQLanEfrDbetcGpAX1+o3g3iRbUvi
JzyDYzfWCqjg5ke7tIN3YiUGmxs5AJ6e29UW+dQ0TgOWApoxXoMncLdmBsiexEN9
WY7yAO5j0F3huCExljWzUxyEu6evAGnk6riQ1H/PE9FHoZnrOCRq4/6i5gI3gJvi
BvAAXTdKLi9B3M+KSBKLsXYcpq5F9YC+3NjyUOsDIKHh0JVa9AXc+VNNESHSYfyN
RQi1IuBIEgxEqJqJI9ou3Ti9WLKf54rtbLnlYN2sf4ocMNHWnqpB4dlxukU3tH86
vqQA7EQfXvs2OQO2V6AAKI8U8HRN8lStVfZVMss0C7EM7dbnx38ykTUy49utjArn
4CFXIPvKt8Sc//i2iDwbhpi0fGXOG8QZ09b6QXKfqvc8LF/Yr8EHNXZB9mtdzkLA
J+TBZ/2PJ9yFlx2vzrs8BrnW2rjX0rZLR6kTszEAkL+yX+2oAkw=
=U+OK
-----END PGP SIGNATURE-----


J
J
Jakub K?dzio?ka wrote on 16 Feb 2020 20:13
Re: [bug#39579] [PATCH 2/3] gnu: osinfo-db: Add osinfo-db.
(name . Brice Waegeneire)(address . brice@waegenei.re)(address . 39579@debbugs.gnu.org)
20200216191304.coce5czm3ayji3dc@gravity
On Wed, Feb 12, 2020 at 05:37:10PM +0100, Brice Waegeneire wrote:
Toggle quote (25 lines)
> +(define-public osinfo-db
> + (package
> + (name "osinfo-db")
> + (version "20200203")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-"
> + version ".tar.xz"))
> + (sha256
> + (base32
> + "1zjq1dhlci00j17dij7s3l30hybzmaykpk5b6bd5xbllp745njn5"))))
> + (build-system trivial-build-system)
> + (arguments
> + `(#:modules ((guix build utils))
> + #:builder
> + (begin
> + (use-modules (guix build utils))
> + (let* ((out (assoc-ref %outputs "out"))
> + (osinfo-dir (string-append out "/share/osinfo"))
> + (source (assoc-ref %build-inputs "source")))
> + (set-path-environment-variable
> + "PATH" '("bin")
> + (list (assoc-ref %build-inputs "osinfo-db-tools")))
> + (mkdir-p osinfo-dir)
> + (invoke "osinfo-db-import" "--dir" osinfo-dir source)
Wouldn't it be simpler to invoke osinfo-db-import with a full path to
the binary instead of adding to $PATH?

Toggle quote (8 lines)
> + #t))))
> + (native-inputs
> + `(("intltool" ,intltool)
> + ("osinfo-db-tools" ,osinfo-db-tools)))
> + (home-page "https://gitlab.com/libosinfo/osinfo-db")
> + (synopsis "Database of information about operating systems")
> + (description "Osinfo-db provides the database files for use with the
> +libosinfo library. It provides information about guest operating systems for
^^
Use two spaces after a sentence. (please run guix lint on your packages)

Toggle quote (2 lines)
> +use with virtualization provisioning tools")
> + (license license:lgpl2.0+)))
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE5Xa/ss9usT31cTO54xWnWEYTFWQFAl5JlEAACgkQ4xWnWEYT
FWTPYRAAzBwlhC+5cJwj3Z5oKp7SZtFV5VY+PhasWqgzNz8Jn7tJb/U/rgrMT9Ez
UvbUlBKnXixzTp/kcCMJ9nYXFiNMGKiV3A3UAXRB/zsB0E9OB5tHD6X+r3ibLn1o
kCaLNJjMR/0xG+D84qSMWSWqCLWxVRsk8YhG4j4PDesFVMDTJiav5t6bnPI4Fnx7
qvpXSrlBZ1HPYdeXupT0nb6Uht7htNmC/WjjcJXOYXGlOhKwjA1CDrvkYtWC5E8v
+MFJlObWf6rV+ha4Ibgk43t2qdLclrv/dE9l/45y2BKwirPZtKyq5uAkncgGvKmg
mowbSgKJrAZkYGWrhPaOo2bLiJtBGJHHfYdcm9MjYUqwLQGlm5Z8uZk0meDCsJ3f
bMB8Ki0x8sY5koAFQqeZHUjL1iWSI4AZ1QgkZU3rziqXNvoZ2XUWTspc5kfDElMC
NZ/XAL4gzl0ZRry695NFhUYyIB/hTN6DPz0KfIoSPYuUWBprzh4oEpk09U1pxgHv
zQA8dKUVigZUR/XGVIaOzeiXpC/LGmkcVR1KDMzMBAyqQxfXGDOdsUcNkzcdjmSl
npbYTdF8jlJuWTo9ubpD5ybN7fWa8YesLqHCTVoBaOvflSEPgavxTFfcyc0toDIA
3C4ML12ReqNaiyAFmIuRFTxwSeYQ++B2wzLw3h7QfO9KHKigPW0=
=Zo6E
-----END PGP SIGNATURE-----


J
J
Jakub K?dzio?ka wrote on 16 Feb 2020 20:27
Re: [bug#39579] [PATCH 3/3] gnu: virt-manager: Include operating systems list.
(name . Brice Waegeneire)(address . brice@waegenei.re)(address . 39579@debbugs.gnu.org)
20200216192727.tch6jaicdyurdho6@gravity
On Wed, Feb 12, 2020 at 05:37:11PM +0100, Brice Waegeneire wrote:
Toggle quote (25 lines)
> * gnu/packages/virtualization.scm (virt-manager)[inputs]: Add osinfo-db.
> [arguments]: Add phase patch.
> ---
> gnu/packages/virtualization.scm | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
> index 3769ece889..222d59d8bc 100644
> --- a/gnu/packages/virtualization.scm
> +++ b/gnu/packages/virtualization.scm
> @@ -328,12 +328,22 @@ server and embedded PowerPC, and S390 guests.")
> (list (string-append "-Dwith-usb-ids-path="
> (assoc-ref %build-inputs "usb.ids"))
> (string-append "-Dwith-pci-ids-path="
> - (assoc-ref %build-inputs "pci.ids")))))
> + (assoc-ref %build-inputs "pci.ids")))
> + #:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'patch
> + (lambda* (#:key inputs #:allow-other-keys)
> + (substitute* "osinfo/osinfo_loader.c"
> + (("path = DATA_DIR.*")
> + (string-append "path = \"" (assoc-ref inputs "osinfo-db")
> + "/share/osinfo\";")))
> + #t)))))
'patch is somewhat non-descriptive, how about 'patch-osinfo-path ?

Toggle quote (12 lines)
> (inputs
> `(("libsoup" ,libsoup)
> ("libxml2" ,libxml2)
> ("libxslt" ,libxslt)
> - ("gobject-introspection" ,gobject-introspection)))
> + ("gobject-introspection" ,gobject-introspection)
> + ("osinfo-db" ,osinfo-db)))
> (native-inputs
> `(("glib" ,glib "bin") ; glib-mkenums, etc.
> ("gtk-doc" ,gtk-doc)
> --
> 2.25.0
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE5Xa/ss9usT31cTO54xWnWEYTFWQFAl5Jl58ACgkQ4xWnWEYT
FWQONg//Vwo5MxkUro+L7EXYUiIKyHV6ZnhX+l6W1x5x6nZOYIZbUzlNsg0h4K/S
Dh3yr2xfR8eHPDyx3rWNzgctED3PpiFOk/QkEeyWBu8G+NxtLGWYLyxFJxn3MB6/
InKS1vQZCRqZKEr/4wFvONVrPP/l83wWgutLU2GCgVnG0tunJ1bWPIKP4JhiChjC
2mr/fiVa81nqTLZky2T7ZGpiuiWd83eO1zAlBFUjmGvosqFTPpExajt2PzvWvCzH
GmPZa293IlgHWBI4JP9LRKkTkAACx4YOZdaoEhwg4IebUmsJV/hg6LFG3CyT2hJA
1xYCoazixZkmW45cXKqfR4EZEFMpbQin527Df4nZvQx7jqxI60hAZ9V5SvEBAwEZ
VMmqLItEYV5W4z5Ub94weHm1ncaPR6Ik8y6kyAow10MXxtjRn6rrut5jgLOsJ03t
gzW2xzVNgSjLT1sWFsGMb89mfEv2y7Ij/mkkMhRj6RmJQkUbs0q/Qb9+dvD1i9c3
vAhQolLL+BJ7LUwRZbz+E0m2enJgYuAZiCq1j/CB8wmH6jSK06+52umMjSfJSwJu
UITiHFkOUU5V4NQF98JHILB8TmQ3asIFenb1+3euiKYtl8d4pSX7rggLpBgfKaCU
QN6tdJ5vR/h1cJb3tzagCeEDHMyiXuVRo1e6FLJ/h1Wxn4raZVE=
=x6pw
-----END PGP SIGNATURE-----


J
J
Jakub K?dzio?ka wrote on 16 Feb 2020 20:56
Re: [bug#39579] [PATCH 1/3] gnu: osinfo-db-tools: Add osinfo-db-tools.
(name . Brice Waegeneire)(address . brice@waegenei.re)(address . 39579@debbugs.gnu.org)
20200216195635.gvlcmjdeodahmtpi@gravity
On Sun, Feb 16, 2020 at 08:10:18PM +0100, Jakub K?dzio?ka wrote:
Toggle quote (19 lines)
> On Wed, Feb 12, 2020 at 05:37:09PM +0100, Brice Waegeneire wrote:
> > +(define-public osinfo-db-tools
> > + (package
> > + (name "osinfo-db-tools")
> > + (version "1.7.0")
> > + (source (origin
> > + (method url-fetch)
> > + (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-tools-"
> > + version ".tar.xz"))
> > +
> > + (sha256
> > + (base32
> > + "08x8mrafphyll0d35xdc143rip3ahrz6bmzhc85nwhq7yk2vxpab"))))
> > + (build-system meson-build-system)
> > + (arguments
> > + `(#:configure-flags
> > + (list (string-append "--prefix=" (assoc-ref %outputs "out")))))
> If I'm reading the source correctly, this argument isn't even used by
> meson-build-system. Why is this necessary?
Okay, I wasn't reading the source correctly, Vim's
search-at-word-boundaries hid the point where the variable is being
used. Still, the prefix option is already being set by
meson-build-system itself. I'm confused as to what this argument
is supposed to do.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE5Xa/ss9usT31cTO54xWnWEYTFWQFAl5Jnm0ACgkQ4xWnWEYT
FWQBMA//Zn93V4WaDz1w3aW7+24FmFth6lfZjogI/KjKhO/JTgQSXztBXdXnRugk
wLzFCsJyq7zPvKahz+n2MP1dcVtGLRXLbJPL2tqO2djpoIBilnH8AhyczwsjUUE3
/Nj5o76M+jmv01zm8I0XNuWZb18I6hDtuKxq3mTabJpXvnrcI+T5vD73PpFS4QM9
rLMJJ3K5hSFqQgKGPT+lvPWcxDsK9/Al7ag+OzIcvLNNQvg3fy8N2MPNM8oUFLs8
jcbiepaX4c/rpwNaL2259kTHaB2OrgwSL3TcpFhuC+nyGNkr9VWJNsKUPk+CSn1h
ryFyRrptijg7fUNz/JZfgpepROtok/oL4NRNUM5b+KPCZX+Wjg79rlaE8lT/OmzQ
0zSapjsSiWSchSQjtpS1hIS/xgmbIvh5+VhCi8ZAR4LRIqizqIHhnHCqbRZ0UbVu
YANzXxIUCsupu4vORq+GZEPFqw36IgE6iZMUcx31p/K8ledh0E9F5+EZIFYDcUBG
4jr48dI6ARepomSu1yI3VMaJMV+YBgT1agrqQCj8qrLMMzFHAnr/wtJSPUp1PrGD
n9bJWJGmMm8gZNEJnmpCGmK4ssYTJQiBySS3NQc0kwI17SFaHdoUB5ylPexN8Mjb
8k8R+FT2uIJWYFeg8g247X0cOvaFQbf1f+I9t7pTk/tCX699384=
=5Htu
-----END PGP SIGNATURE-----


B
B
Brice Waegeneire wrote on 16 Feb 2020 21:47
[PATCH v2 0/3] Include operating systems list in virt-manager.
(address . 39579@debbugs.gnu.org)
20200216204712.16592-1-brice@waegenei.re
The useless configure-flag of osinfo-db-tools has been removed and the
package definition has been linted. osinfo-db has been linted and it's
build call osinfo-db-import by it's absolute path. The commit message
refering to virt-manager has been by the correct libosinfo, the libosinfo
patch phase has been renamed and gobject-introspection has been moved to
native-inputs as suggested by guix lint.

Brice Waegeneire (3):
gnu: osinfo-db-tools: Add osinfo-db-tools.
gnu: osinfo-db: Add osinfo-db.
gnu: libosinfo: Include operating systems list.

gnu/packages/virtualization.scm | 87 ++++++++++++++++++++++++++++++++-
1 file changed, 85 insertions(+), 2 deletions(-)

--
2.25.0
B
B
Brice Waegeneire wrote on 16 Feb 2020 21:47
[PATCH v2 1/3] gnu: osinfo-db-tools: Add osinfo-db-tools.
(address . 39579@debbugs.gnu.org)
20200216204712.16592-2-brice@waegenei.re
* gnu/packages/virtualization.scm (osinfo-db-tools): New variable.
---
gnu/packages/virtualization.scm | 36 +++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (60 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 3670b396a5..ca8f143f51 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
+;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -33,6 +34,7 @@
#:use-module (gnu packages assembly)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
@@ -1382,3 +1384,37 @@ which is a hypervisor.")
;; TODO: Some files are licensed differently. List those.
(license license:gpl2)
(supported-systems '("i686-linux" "x86_64-linux" "armhf-linux"))))
+
+(define-public osinfo-db-tools
+ (package
+ (name "osinfo-db-tools")
+ (version "1.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-tools-"
+ version ".tar.xz"))
+
+ (sha256
+ (base32
+ "08x8mrafphyll0d35xdc143rip3ahrz6bmzhc85nwhq7yk2vxpab"))))
+ (build-system meson-build-system)
+ (inputs
+ `(("libsoup" ,libsoup)
+ ("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("json-glib" ,json-glib)
+ ("libarchive" ,libarchive)))
+ (native-inputs
+ `(("perl" ,perl)
+ ("gobject-introspection" ,gobject-introspection)
+ ("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)
+ ;; Tests
+ ("python" ,python)
+ ("pytest" ,python-pytest)
+ ("requests" ,python-requests)))
+ (home-page "https://gitlab.com/libosinfo/osinfo-db-tools")
+ (synopsis "Tools for managing the osinfo database")
+ (description "This package contains a set of tools to assist
+administrators and developers in managing the database.")
+ (license license:lgpl2.0+)))
--
2.25.0
B
B
Brice Waegeneire wrote on 16 Feb 2020 21:47
[PATCH v2 2/3] gnu: osinfo-db: Add osinfo-db.
(address . 39579@debbugs.gnu.org)
20200216204712.16592-3-brice@waegenei.re
* gnu/packages/virtualization.scm (osinfo-db): New variable.
---
gnu/packages/virtualization.scm | 37 +++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index ca8f143f51..308cadbe14 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -92,6 +92,7 @@
#:use-module (guix build-system go)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
+ #:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@@ -1418,3 +1419,39 @@ which is a hypervisor.")
(description "This package contains a set of tools to assist
administrators and developers in managing the database.")
(license license:lgpl2.0+)))
+
+(define-public osinfo-db
+ (package
+ (name "osinfo-db")
+ (version "20200203")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-"
+ version ".tar.xz"))
+ (sha256
+ (base32
+ "1zjq1dhlci00j17dij7s3l30hybzmaykpk5b6bd5xbllp745njn5"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((out (assoc-ref %outputs "out"))
+ (osinfo-dir (string-append out "/share/osinfo"))
+ (source (assoc-ref %build-inputs "source"))
+ (osinfo-db-import
+ (string-append (assoc-ref %build-inputs "osinfo-db-tools")
+ "/bin/osinfo-db-import")))
+ (mkdir-p osinfo-dir)
+ (invoke osinfo-db-import "--dir" osinfo-dir source)
+ #t))))
+ (native-inputs
+ `(("intltool" ,intltool)
+ ("osinfo-db-tools" ,osinfo-db-tools)))
+ (home-page "https://gitlab.com/libosinfo/osinfo-db")
+ (synopsis "Database of information about operating systems")
+ (description "Osinfo-db provides the database files for use with the
+libosinfo library. It provides information about guest operating systems for
+use with virtualization provisioning tools")
+ (license license:lgpl2.0+)))
--
2.25.0
B
B
Brice Waegeneire wrote on 16 Feb 2020 21:47
[PATCH v2 3/3] gnu: libosinfo: Include operating systems list.
(address . 39579@debbugs.gnu.org)
20200216204712.16592-4-brice@waegenei.re
* gnu/packages/virtualization.scm (libosinfo)[inputs]: Add osinfo-db and
remove gobject-introspection.
[native-inputs]: Add gobject-introspection.
[arguments]: Add phase patch.

squash! gnu: virt-manager: Include operating systems list.
---
gnu/packages/virtualization.scm | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

Toggle diff (33 lines)
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 308cadbe14..c34f742655 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -328,14 +328,24 @@ server and embedded PowerPC, and S390 guests.")
(list (string-append "-Dwith-usb-ids-path="
(assoc-ref %build-inputs "usb.ids"))
(string-append "-Dwith-pci-ids-path="
- (assoc-ref %build-inputs "pci.ids")))))
+ (assoc-ref %build-inputs "pci.ids")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-osinfo-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "osinfo/osinfo_loader.c"
+ (("path = DATA_DIR.*")
+ (string-append "path = \"" (assoc-ref inputs "osinfo-db")
+ "/share/osinfo\";")))
+ #t)))))
(inputs
`(("libsoup" ,libsoup)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
- ("gobject-introspection" ,gobject-introspection)))
+ ("osinfo-db" ,osinfo-db)))
(native-inputs
`(("glib" ,glib "bin") ; glib-mkenums, etc.
+ ("gobject-introspection" ,gobject-introspection)
("gtk-doc" ,gtk-doc)
("vala" ,vala)
("intltool" ,intltool)
--
2.25.0
J
J
Jakub K?dzio?ka wrote on 19 Feb 2020 23:06
Done: Include operating systems list in virt-manager
(address . 39579-done@debbugs.gnu.org)
20200219220607.r446h5r7xff3hlm4@gravity
It seems that my mail didn't get sent due to flaky internet, but I've
pushed the patches to master - closing.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE5Xa/ss9usT31cTO54xWnWEYTFWQFAl5NsUoACgkQ4xWnWEYT
FWQj9RAAuMs8ByRmdeu/vLfo+QJZaOMcb+RkK4hVFq9uK7JNBQ+7DqYi6pwHlZ2e
On40+WatOXz+q7qArvfLPAr8WdK1DV0ViOjGPguXc+MMW+iZHgmYz3KkyES3svUf
Ut5e+uXcPja6gSeK+ANWhC1WLquwv0h8JOSNc2fgkIL0xTy9adVkyoRdZiZXpGw6
9m9aRD1+sQlYxi9lLX1ioY8iYpu0LfTsqlzEaZqn+UD2BMxSH4LdUjQ+Tw4kquta
9nkgrnrnhg6Sw9PYunSEapke4mYYfsa4ZjuWGDfxLv9OnPQLFxaO8cvdWRfFUiZi
gIrRjn5MyTckxddm2Sb+hSFm7LD2gJ1DCDAV5tKOFL67tCm8S08zS8/Eo+1aC2hn
TNBsEUXT61IIwvLXjX+o1AEScd0wobzEZRc3iHkbCxf7lPJBnWZPSrZcxRuj4m2M
80sFI3wrXi1Uj7jHG1pDyxK0L3mtZVhPjMszxH6Lv9C8dUyQzkqJhXNicayAhTn+
0XGD8ZIDInN9P63DJs2YSMnavvv+y8rW5Q578vT3aJrtj/aJNHuYWqexwmclMbsR
bify9qzAVnGTeGr2eRSW1lqni9qyzv4t/nHq2uiUVJTmOeioC3nEtFyRz2Vdmy6q
swpsAzmbeSN03asvhqG7Y21WXaxF7/E437xid4h3u0QxPULaXUc=
=T4XK
-----END PGP SIGNATURE-----


Closed
?