updating libvirtd and openvswitch to latest version

This commit is contained in:
Jean-François GUILLAUME 2022-07-06 12:22:23 +02:00
parent 8de2bee9ed
commit 1a5e354d6b
GPG key ID: 38751DAE145EFB5A
3 changed files with 356 additions and 5 deletions

View file

@ -62,3 +62,18 @@
) )
) )
) )
(define-public openvswitch
(package
(inherit gnu:openvswitch)
(name "openvswitch")
(version "2.17.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.openvswitch.org/releases/openvswitch-" version ".tar.gz"))
(sha256 (base32 "0sada2a9x9x7x6a45l7iklqh29wsbrdvvgpkyz5cpf5d5fs0sbka"))
)
)
)
)

View file

@ -0,0 +1,320 @@
diff --git a/meson.build b/meson.build
index e03f330f3d..f1139ecf50 100644
--- a/meson.build
+++ b/meson.build
@@ -39,6 +39,8 @@ if host_machine.system() == 'windows'
conf.set('WINVER', '0x0600') # Win Vista / Server 2008
endif
+# patched in for nix
+install_prefix = get_option('install_prefix')
# set various paths
@@ -57,6 +59,13 @@ else
sysconfdir = prefix / get_option('sysconfdir')
endif
+# nix: don't prefix the localstatedir; some things need to write to it, so it
+# can't be in the nix store, and that's what the prefix is.
+# We'll prefix things ourselves where needed
+localstatedir = get_option('localstatedir')
+# Same for sysconfidr
+sysconfdir = get_option('sysconfdir')
+
# if --prefix is /usr, don't use /usr/var for localstatedir or /usr/etc for
# sysconfdir as this makes a lot of things break in testing situations
if prefix == '/usr'
diff --git a/meson_options.txt b/meson_options.txt
index 5b43cdbd6b..e9dff18441 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,5 @@
+option('install_prefix', type: 'string', value: '', description: 'prefix for nix store installation')
+
option('no_git', type: 'boolean', value: false, description: 'Disable git submodule update')
option('packager', type: 'string', value: '', description: 'Extra packager name')
option('packager_version', type: 'string', value: '', description: 'Extra packager version')
diff --git a/src/libxl/meson.build b/src/libxl/meson.build
index 0cc277db82..c11c0aa97b 100644
--- a/src/libxl/meson.build
+++ b/src/libxl/meson.build
@@ -81,12 +81,12 @@ if conf.has('WITH_LIBXL')
virt_install_dirs += [
confdir / 'libxl',
confdir / 'libxl' / 'autostart',
- localstatedir / 'lib' / 'libvirt' / 'libxl',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'libxl',
localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel',
localstatedir / 'lib' / 'libvirt' / 'libxl' / 'channel' / 'target',
localstatedir / 'lib' / 'libvirt' / 'libxl' / 'dump',
localstatedir / 'lib' / 'libvirt' / 'libxl' / 'save',
- localstatedir / 'log' / 'libvirt' / 'libxl',
- runstatedir / 'libvirt' / 'libxl',
+ install_prefix + localstatedir / 'log' / 'libvirt' / 'libxl',
+ install_prefix + runstatedir / 'libvirt' / 'libxl',
]
endif
diff --git a/src/locking/meson.build b/src/locking/meson.build
index 72f7780438..abe70d20d5 100644
--- a/src/locking/meson.build
+++ b/src/locking/meson.build
@@ -238,14 +238,14 @@ if conf.has('WITH_LIBVIRTD')
}
virt_install_dirs += [
- localstatedir / 'lib' / 'libvirt' / 'lockd',
- localstatedir / 'lib' / 'libvirt' / 'lockd' / 'files',
- runstatedir / 'libvirt' / 'lockd',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'lockd',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'lockd' / 'files',
+ install_prefix + runstatedir / 'libvirt' / 'lockd',
]
if conf.has('WITH_SANLOCK')
virt_install_dirs += [
- localstatedir / 'lib' / 'libvirt' / 'sanlock',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'sanlock',
]
endif
endif
diff --git a/src/lxc/meson.build b/src/lxc/meson.build
index 99d4a34213..ee1d8445b3 100644
--- a/src/lxc/meson.build
+++ b/src/lxc/meson.build
@@ -178,8 +178,8 @@ if conf.has('WITH_LXC')
virt_install_dirs += [
confdir / 'lxc',
confdir / 'lxc' / 'autostart',
- localstatedir / 'lib' / 'libvirt' / 'lxc',
- localstatedir / 'log' / 'libvirt' / 'lxc',
- runstatedir / 'libvirt' / 'lxc',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'lxc',
+ install_prefix + localstatedir / 'log' / 'libvirt' / 'lxc',
+ install_prefix + runstatedir / 'libvirt' / 'lxc',
]
endif
diff --git a/src/meson.build b/src/meson.build
index 88a6f15760..211a391979 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -675,7 +675,7 @@ endforeach
virt_conf_files += 'libvirt.conf'
-install_data(virt_conf_files, install_dir: confdir)
+install_data(virt_conf_files, install_dir: install_prefix + confdir)
install_data(virt_aug_files, install_dir: virt_aug_dir)
# augeas_test_data:
@@ -738,7 +738,7 @@ foreach data : virt_daemon_confs
output: '@0@.conf'.format(data['name']),
configuration: daemon_conf,
install: true,
- install_dir: confdir,
+ install_dir: install_prefix + confdir,
)
if data.get('with_ip', false)
@@ -867,7 +867,7 @@ if conf.has('WITH_LIBVIRTD')
install_data(
init_file,
- install_dir: sysconfdir / 'init.d',
+ install_dir: install_prefix + sysconfdir / 'init.d',
install_mode: 'rwxr-xr-x',
rename: [ init['name'] ],
)
@@ -875,7 +875,7 @@ if conf.has('WITH_LIBVIRTD')
if init.has_key('confd')
install_data(
init['confd'],
- install_dir: sysconfdir / 'conf.d',
+ install_dir: install_prefix + sysconfdir / 'conf.d',
rename: [ init['name'] ],
)
endif
@@ -902,10 +902,10 @@ endif
# Install empty directories
virt_install_dirs += [
- localstatedir / 'cache' / 'libvirt',
- localstatedir / 'lib' / 'libvirt' / 'images',
- localstatedir / 'lib' / 'libvirt' / 'filesystems',
- localstatedir / 'lib' / 'libvirt' / 'boot',
+ install_prefix + localstatedir / 'cache' / 'libvirt',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'images',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'filesystems',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'boot',
]
meson.add_install_script(
diff --git a/src/network/meson.build b/src/network/meson.build
index b5eff0c3ab..a0f26d624e 100644
--- a/src/network/meson.build
+++ b/src/network/meson.build
@@ -73,11 +73,11 @@ if conf.has('WITH_NETWORK')
}
virt_install_dirs += [
- confdir / 'qemu' / 'networks',
- confdir / 'qemu' / 'networks' / 'autostart',
- localstatedir / 'lib' / 'libvirt' / 'network',
- localstatedir / 'lib' / 'libvirt' / 'dnsmasq',
- runstatedir / 'libvirt' / 'network',
+ install_prefix + confdir / 'qemu' / 'networks',
+ install_prefix + confdir / 'qemu' / 'networks' / 'autostart',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'network',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'dnsmasq',
+ install_prefix + runstatedir / 'libvirt' / 'network',
]
configure_file(
@@ -85,12 +85,12 @@ if conf.has('WITH_NETWORK')
output: '@BASENAME@',
copy: true,
install: true,
- install_dir: confdir / 'qemu' / 'networks',
+ install_dir: install_prefix + confdir / 'qemu' / 'networks',
)
meson.add_install_script(
meson_python_prog.path(), python3_prog.path(), meson_install_symlink_prog.path(),
- confdir / 'qemu' / 'networks' / 'autostart',
+ install_prefix + confdir / 'qemu' / 'networks' / 'autostart',
'../default.xml', 'default.xml',
)
diff --git a/src/nwfilter/xml/meson.build b/src/nwfilter/xml/meson.build
index 0d96c54ebe..66c92a1016 100644
--- a/src/nwfilter/xml/meson.build
+++ b/src/nwfilter/xml/meson.build
@@ -25,4 +25,4 @@ nwfilter_xml_files = [
'qemu-announce-self.xml',
]
-install_data(nwfilter_xml_files, install_dir: sysconfdir / 'libvirt' / 'nwfilter')
+install_data(nwfilter_xml_files, install_dir: install_prefix + sysconfdir / 'libvirt' / 'nwfilter')
diff --git a/src/qemu/meson.build b/src/qemu/meson.build
index 96952cc52d..3bd829d2a9 100644
--- a/src/qemu/meson.build
+++ b/src/qemu/meson.build
@@ -199,24 +199,24 @@ if conf.has('WITH_QEMU')
endif
virt_install_dirs += [
- confdir / 'qemu',
- confdir / 'qemu' / 'autostart',
- localstatedir / 'cache' / 'libvirt' / 'qemu',
- localstatedir / 'lib' / 'libvirt' / 'qemu',
- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel',
- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel' / 'target',
- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'checkpoint',
- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'dump',
- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'nvram',
- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'ram',
- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'save',
- localstatedir / 'lib' / 'libvirt' / 'qemu' / 'snapshot',
- localstatedir / 'lib' / 'libvirt' / 'swtpm',
- localstatedir / 'log' / 'libvirt' / 'qemu',
- localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu',
- runstatedir / 'libvirt' / 'qemu',
- runstatedir / 'libvirt' / 'qemu' / 'dbus',
- runstatedir / 'libvirt' / 'qemu' / 'slirp',
- runstatedir / 'libvirt' / 'qemu' / 'swtpm',
+ install_prefix + confdir / 'qemu',
+ install_prefix + confdir / 'qemu' / 'autostart',
+ install_prefix + localstatedir / 'cache' / 'libvirt' / 'qemu',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'channel' / 'target',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'checkpoint',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'dump',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'nvram',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'ram',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'save',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'qemu' / 'snapshot',
+ install_prefix + localstatedir / 'lib' / 'libvirt' / 'swtpm',
+ install_prefix + localstatedir / 'log' / 'libvirt' / 'qemu',
+ install_prefix + localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu',
+ install_prefix + runstatedir / 'libvirt' / 'qemu',
+ install_prefix + runstatedir / 'libvirt' / 'qemu' / 'dbus',
+ install_prefix + runstatedir / 'libvirt' / 'qemu' / 'slirp',
+ install_prefix + runstatedir / 'libvirt' / 'qemu' / 'swtpm',
]
endif
diff --git a/src/remote/meson.build b/src/remote/meson.build
index eb4f7a0068..b6802eeeda 100644
--- a/src/remote/meson.build
+++ b/src/remote/meson.build
@@ -235,7 +235,7 @@ if conf.has('WITH_REMOTE')
}
virt_install_dirs += [
- localstatedir / 'log' / 'libvirt',
+ install_prefix + localstatedir / 'log' / 'libvirt',
runstatedir / 'libvirt',
runstatedir / 'libvirt' / 'common',
]
@@ -252,7 +252,7 @@ if conf.has('WITH_REMOTE')
)
install_data(
log_file,
- install_dir: sysconfdir / 'logrotate.d',
+ install_dir: install_prefix + sysconfdir / 'logrotate.d',
rename: [ name ],
)
endforeach
@@ -302,7 +302,7 @@ endif
if conf.has('WITH_SASL')
install_data(
'libvirtd.sasl',
- install_dir: sysconfdir / 'sasl2',
+ install_dir: install_prefix + sysconfdir / 'sasl2',
rename: [ 'libvirt.conf' ],
)
endif
diff --git a/src/security/apparmor/meson.build b/src/security/apparmor/meson.build
index 58b4024b85..feefe553f1 100644
--- a/src/security/apparmor/meson.build
+++ b/src/security/apparmor/meson.build
@@ -20,22 +20,22 @@ foreach name : apparmor_gen_profiles
output: name,
configuration: apparmor_gen_profiles_conf,
install: true,
- install_dir: apparmor_dir,
+ install_dir: install_prefix + apparmor_dir,
)
endforeach
install_data(
[ 'libvirt-qemu', 'libvirt-lxc' ],
- install_dir: apparmor_dir / 'abstractions',
+ install_dir: install_prefix + apparmor_dir / 'abstractions',
)
install_data(
[ 'TEMPLATE.qemu', 'TEMPLATE.lxc' ],
- install_dir: apparmor_dir / 'libvirt',
+ install_dir: install_prefix + apparmor_dir / 'libvirt',
)
install_data(
'usr.lib.libvirt.virt-aa-helper.local',
- install_dir: apparmor_dir / 'local',
+ install_dir: install_prefix +apparmor_dir / 'local',
rename: 'usr.lib.libvirt.virt-aa-helper',
)
diff --git a/tools/meson.build b/tools/meson.build
index bb28a904dc..7787b08366 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -120,7 +120,7 @@ if conf.has('WITH_LOGIN_SHELL')
install_rpath: libvirt_rpath,
)
- install_data('virt-login-shell.conf', install_dir: sysconfdir / 'libvirt')
+ install_data('virt-login-shell.conf', install_dir: install_prefix + sysconfdir / 'libvirt')
endif
if host_machine.system() == 'windows'

View file

@ -2,7 +2,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages virtualization) #:use-module ((gnu packages virtualization) #:prefix gnu:)
#:use-module (gnu packages storage) #:use-module (gnu packages storage)
#:use-module (guix download) #:use-module (guix download)
#:use-module (glicid utils) #:use-module (glicid utils)
@ -12,7 +12,7 @@
(define-public qemu-7.0-upstream (define-public qemu-7.0-upstream
(package (package
(inherit qemu) (inherit gnu:qemu)
(name "qemu-upstream") (name "qemu-upstream")
(version "7.0.0") (version "7.0.0")
(source (origin (source (origin
@ -36,7 +36,7 @@
(define-public qemu-minimal-7.0-upstream (define-public qemu-minimal-7.0-upstream
(package (package
(inherit qemu-minimal) (inherit gnu:qemu-minimal)
(name "qemu-minimal-upstream") (name "qemu-minimal-upstream")
(version "7.0.0") (version "7.0.0")
(source (origin (source (origin
@ -60,11 +60,11 @@
(define local-qemu qemu-7.0-upstream) (define local-qemu qemu-7.0-upstream)
(define qemu-latest (latest-version local-qemu qemu)) (define qemu-latest (latest-version local-qemu gnu:qemu))
(define local-qemu-minimal qemu-minimal-7.0-upstream) (define local-qemu-minimal qemu-minimal-7.0-upstream)
(define qemu-minimal-latest (latest-version local-qemu-minimal qemu-minimal)) (define qemu-minimal-latest (latest-version local-qemu-minimal gnu:qemu-minimal))
(define-public qemu-with-rbd (define-public qemu-with-rbd
(package (package
@ -99,3 +99,19 @@
)) ))
) )
) )
(define-public libvirt
(package
(inherit gnu:libvirt)
(name "libvirt")
(version "8.5.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://libvirt.org/sources/libvirt-" version ".tar.xz"))
(sha256 (base32 "0qnvjy7k4l52bb5xylvhm21blkgbhld0jzilhsdf6gdqw6srj7j0"))
(patches (search-patches "glicid-libvirt-add-install-prefix.patch"))
)
)
)
)