From 042b1b46a994d8645b8211bfc98d46d044fc768d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cong=C2=A0Liu?= Date: Tue, 8 Nov 2022 17:20:48 +0800 Subject: [PATCH] Import Debian changes 8.5.0-ok1 --- debian/README.source | 29 + debian/apt/90libnss-libvirt | 2 + debian/changelog | 5 + debian/control | 537 ++++++++++++++++++ debian/copyright | 254 +++++++++ debian/libnss-libvirt.install | 2 + debian/libvirt-clients.NEWS | 7 + debian/libvirt-clients.docs | 1 + debian/libvirt-clients.install | 28 + debian/libvirt-clients.postrm | 70 +++ debian/libvirt-clients.preinst | 73 +++ debian/libvirt-daemon-config-network.dirs | 1 + debian/libvirt-daemon-config-network.install | 1 + debian/libvirt-daemon-config-network.postinst | 137 +++++ debian/libvirt-daemon-config-network.postrm | 88 +++ debian/libvirt-daemon-config-nwfilter.dirs | 1 + debian/libvirt-daemon-config-nwfilter.install | 24 + .../libvirt-daemon-config-nwfilter.postinst | 178 ++++++ debian/libvirt-daemon-config-nwfilter.postrm | 127 +++++ debian/libvirt-daemon-driver-lxc.docs | 1 + debian/libvirt-daemon-driver-lxc.install | 4 + debian/libvirt-daemon-driver-qemu.docs | 1 + debian/libvirt-daemon-driver-qemu.install | 5 + ...libvirt-daemon-driver-storage-gluster.docs | 1 + ...virt-daemon-driver-storage-gluster.install | 2 + ...rt-daemon-driver-storage-iscsi-direct.docs | 1 + ...daemon-driver-storage-iscsi-direct.install | 1 + debian/libvirt-daemon-driver-storage-rbd.docs | 1 + .../libvirt-daemon-driver-storage-rbd.install | 1 + debian/libvirt-daemon-driver-storage-zfs.docs | 1 + .../libvirt-daemon-driver-storage-zfs.install | 1 + debian/libvirt-daemon-driver-vbox.docs | 1 + debian/libvirt-daemon-driver-vbox.install | 1 + debian/libvirt-daemon-driver-xen.docs | 1 + debian/libvirt-daemon-driver-xen.install | 3 + debian/libvirt-daemon-system-systemd.docs | 1 + ...rt-daemon-system-systemd.lintian-overrides | 1 + debian/libvirt-daemon-system-sysv.docs | 1 + ...irt-daemon-system-sysv.libvirt-guests.init | 15 + .../libvirt-daemon-system-sysv.libvirtd.init | 240 ++++++++ ...bvirt-daemon-system-sysv.lintian-overrides | 10 + .../libvirt-daemon-system-sysv.virtlogd.init | 164 ++++++ debian/libvirt-daemon-system.NEWS | 71 +++ debian/libvirt-daemon-system.bug-presubj | 5 + debian/libvirt-daemon-system.config | 34 ++ debian/libvirt-daemon-system.dirs | 15 + debian/libvirt-daemon-system.docs | 1 + debian/libvirt-daemon-system.examples | 2 + debian/libvirt-daemon-system.install | 15 + ...bvirt-daemon-system.libvirt-guests.default | 50 ++ debian/libvirt-daemon-system.libvirtd.default | 39 ++ .../libvirt-daemon-system.lintian-overrides | 5 + debian/libvirt-daemon-system.maintscript | 5 + debian/libvirt-daemon-system.postinst | 216 +++++++ debian/libvirt-daemon-system.postrm | 180 ++++++ debian/libvirt-daemon-system.preinst | 103 ++++ debian/libvirt-daemon-system.prerm | 39 ++ debian/libvirt-daemon-system.templates | 18 + .../libvirt-daemon-system.virtlockd.default | 3 + debian/libvirt-daemon-system.virtlogd.default | 3 + debian/libvirt-daemon.NEWS | 75 +++ debian/libvirt-daemon.README.Debian | 118 ++++ debian/libvirt-daemon.docs | 1 + debian/libvirt-daemon.install | 37 ++ debian/libvirt-dev.docs | 1 + debian/libvirt-dev.install | 30 + debian/libvirt-doc.doc-base.libvirt-doc | 8 + debian/libvirt-doc.docs | 1 + debian/libvirt-login-shell.docs | 1 + debian/libvirt-login-shell.install | 4 + debian/libvirt-login-shell.postinst | 75 +++ debian/libvirt-sanlock.cron.weekly | 7 + debian/libvirt-sanlock.docs | 1 + debian/libvirt-sanlock.install | 4 + debian/libvirt-wireshark.docs | 1 + debian/libvirt-wireshark.install | 1 + debian/libvirt0.docs | 1 + debian/libvirt0.install | 156 +++++ debian/libvirt0.symbols | 160 ++++++ debian/not-installed | 116 ++++ .../debian/Debianize-libvirt-guests.patch | 86 +++ .../Debianize-systemd-service-files.patch | 64 +++ .../Use-sensible-editor-by-default.patch | 24 + .../apparmor_profiles_local_include.patch | 59 ++ ...ss-GPG_TTY-env-var-to-the-ssh-binary.patch | 27 + ...udevadm-settle-timeout-to-10-seconds.patch | 24 + .../patches/forward/Skip-vircgrouptest.patch | 23 + debian/patches/series | 7 + debian/po/POTFILES.in | 1 + debian/po/da.po | 71 +++ debian/po/de.po | 75 +++ debian/po/fr.po | 77 +++ debian/po/nl.po | 73 +++ debian/po/pt.po | 71 +++ debian/po/pt_BR.po | 70 +++ debian/po/ru.po | 71 +++ debian/po/templates.pot | 59 ++ debian/polkit/60-libvirt.pkla | 6 + debian/rules | 313 ++++++++++ debian/source/format | 1 + debian/source/options | 3 + debian/tests/build-test | 9 + debian/tests/control | 28 + debian/tests/smoke | 14 + debian/tests/smoke-lxc | 48 ++ debian/tests/smoke-lxc.xml | 23 + debian/tests/smoke-qemu-session | 46 ++ debian/tests/smoke-qemu-session.xml | 32 ++ debian/upstream/signing-key.asc | 94 +++ debian/watch | 4 + 110 files changed, 5128 insertions(+) create mode 100644 debian/README.source create mode 100644 debian/apt/90libnss-libvirt create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/libnss-libvirt.install create mode 100644 debian/libvirt-clients.NEWS create mode 100644 debian/libvirt-clients.docs create mode 100644 debian/libvirt-clients.install create mode 100644 debian/libvirt-clients.postrm create mode 100644 debian/libvirt-clients.preinst create mode 100644 debian/libvirt-daemon-config-network.dirs create mode 100644 debian/libvirt-daemon-config-network.install create mode 100644 debian/libvirt-daemon-config-network.postinst create mode 100644 debian/libvirt-daemon-config-network.postrm create mode 100644 debian/libvirt-daemon-config-nwfilter.dirs create mode 100644 debian/libvirt-daemon-config-nwfilter.install create mode 100644 debian/libvirt-daemon-config-nwfilter.postinst create mode 100644 debian/libvirt-daemon-config-nwfilter.postrm create mode 100644 debian/libvirt-daemon-driver-lxc.docs create mode 100644 debian/libvirt-daemon-driver-lxc.install create mode 100644 debian/libvirt-daemon-driver-qemu.docs create mode 100644 debian/libvirt-daemon-driver-qemu.install create mode 100644 debian/libvirt-daemon-driver-storage-gluster.docs create mode 100644 debian/libvirt-daemon-driver-storage-gluster.install create mode 100644 debian/libvirt-daemon-driver-storage-iscsi-direct.docs create mode 100644 debian/libvirt-daemon-driver-storage-iscsi-direct.install create mode 100644 debian/libvirt-daemon-driver-storage-rbd.docs create mode 100644 debian/libvirt-daemon-driver-storage-rbd.install create mode 100644 debian/libvirt-daemon-driver-storage-zfs.docs create mode 100644 debian/libvirt-daemon-driver-storage-zfs.install create mode 100644 debian/libvirt-daemon-driver-vbox.docs create mode 100644 debian/libvirt-daemon-driver-vbox.install create mode 100644 debian/libvirt-daemon-driver-xen.docs create mode 100644 debian/libvirt-daemon-driver-xen.install create mode 100644 debian/libvirt-daemon-system-systemd.docs create mode 100644 debian/libvirt-daemon-system-systemd.lintian-overrides create mode 100644 debian/libvirt-daemon-system-sysv.docs create mode 100644 debian/libvirt-daemon-system-sysv.libvirt-guests.init create mode 100644 debian/libvirt-daemon-system-sysv.libvirtd.init create mode 100644 debian/libvirt-daemon-system-sysv.lintian-overrides create mode 100644 debian/libvirt-daemon-system-sysv.virtlogd.init create mode 100644 debian/libvirt-daemon-system.NEWS create mode 100644 debian/libvirt-daemon-system.bug-presubj create mode 100644 debian/libvirt-daemon-system.config create mode 100644 debian/libvirt-daemon-system.dirs create mode 100644 debian/libvirt-daemon-system.docs create mode 100644 debian/libvirt-daemon-system.examples create mode 100644 debian/libvirt-daemon-system.install create mode 100644 debian/libvirt-daemon-system.libvirt-guests.default create mode 100644 debian/libvirt-daemon-system.libvirtd.default create mode 100644 debian/libvirt-daemon-system.lintian-overrides create mode 100644 debian/libvirt-daemon-system.maintscript create mode 100644 debian/libvirt-daemon-system.postinst create mode 100644 debian/libvirt-daemon-system.postrm create mode 100644 debian/libvirt-daemon-system.preinst create mode 100644 debian/libvirt-daemon-system.prerm create mode 100644 debian/libvirt-daemon-system.templates create mode 100644 debian/libvirt-daemon-system.virtlockd.default create mode 100644 debian/libvirt-daemon-system.virtlogd.default create mode 100644 debian/libvirt-daemon.NEWS create mode 100644 debian/libvirt-daemon.README.Debian create mode 100644 debian/libvirt-daemon.docs create mode 100644 debian/libvirt-daemon.install create mode 100644 debian/libvirt-dev.docs create mode 100644 debian/libvirt-dev.install create mode 100644 debian/libvirt-doc.doc-base.libvirt-doc create mode 100644 debian/libvirt-doc.docs create mode 100644 debian/libvirt-login-shell.docs create mode 100644 debian/libvirt-login-shell.install create mode 100644 debian/libvirt-login-shell.postinst create mode 100644 debian/libvirt-sanlock.cron.weekly create mode 100644 debian/libvirt-sanlock.docs create mode 100644 debian/libvirt-sanlock.install create mode 100644 debian/libvirt-wireshark.docs create mode 100644 debian/libvirt-wireshark.install create mode 100644 debian/libvirt0.docs create mode 100644 debian/libvirt0.install create mode 100644 debian/libvirt0.symbols create mode 100644 debian/not-installed create mode 100644 debian/patches/debian/Debianize-libvirt-guests.patch create mode 100644 debian/patches/debian/Debianize-systemd-service-files.patch create mode 100644 debian/patches/debian/Use-sensible-editor-by-default.patch create mode 100644 debian/patches/debian/apparmor_profiles_local_include.patch create mode 100644 debian/patches/forward/Pass-GPG_TTY-env-var-to-the-ssh-binary.patch create mode 100644 debian/patches/forward/Reduce-udevadm-settle-timeout-to-10-seconds.patch create mode 100644 debian/patches/forward/Skip-vircgrouptest.patch create mode 100644 debian/patches/series create mode 100644 debian/po/POTFILES.in create mode 100644 debian/po/da.po create mode 100644 debian/po/de.po create mode 100644 debian/po/fr.po create mode 100644 debian/po/nl.po create mode 100644 debian/po/pt.po create mode 100644 debian/po/pt_BR.po create mode 100644 debian/po/ru.po create mode 100644 debian/po/templates.pot create mode 100644 debian/polkit/60-libvirt.pkla create mode 100755 debian/rules create mode 100644 debian/source/format create mode 100644 debian/source/options create mode 100755 debian/tests/build-test create mode 100644 debian/tests/control create mode 100755 debian/tests/smoke create mode 100755 debian/tests/smoke-lxc create mode 100644 debian/tests/smoke-lxc.xml create mode 100755 debian/tests/smoke-qemu-session create mode 100644 debian/tests/smoke-qemu-session.xml create mode 100644 debian/upstream/signing-key.asc create mode 100644 debian/watch diff --git a/debian/README.source b/debian/README.source new file mode 100644 index 0000000000..3c038df912 --- /dev/null +++ b/debian/README.source @@ -0,0 +1,29 @@ +This package is maintained with git-buildpackage(1). It follows DEP-14 +for branch naming (e.g. using debian/sid for the current version +in Debian unstable). + +It uses pristine-tar(1) to store enough information in git to generate +bit identical tarballs when building the package without having +downloaded an upstream tarball first. + +When working with patches it is recommended to use "gbp pq import" to +import the patches, modify the source and then use "gbp pq export +--commit" to commit the modifications. + +The changelog is generated using "gbp dch" so if you submit any +changes don't bother to add changelog entries but rather provide +a nice git commit message that can then end up in the changelog. + +It is recommended to build the package with pbuilder using: + + gbp builpackage --git-pbuilder + +For information on how to set up a pbuilder environment see the +git-pbuilder(1) manpage. In short: + + DIST=sid git-pbuilder create + gbp clone https://anonscm.debian.org/git/pkg-libvirt/libvirt.git + cd libvirt + gbp buildpackage --git-pbuilder + + -- Guido Günther , Wed, 2 Dec 2015 18:51:15 +0100 diff --git a/debian/apt/90libnss-libvirt b/debian/apt/90libnss-libvirt new file mode 100644 index 0000000000..6a4075cb13 --- /dev/null +++ b/debian/apt/90libnss-libvirt @@ -0,0 +1,2 @@ +// the nss module (once enabled) will make apt call getdents (LP: #1732030) +apt::sandbox::seccomp::allow { "getdents" }; diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000000..73830376bf --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +libvirt (8.5.0-ok1) yangtze; urgency=medium + + * rebuild source for openKylin + + -- Cong Liu Tue, 08 Nov 2022 17:20:48 +0800 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000000..641a1213bd --- /dev/null +++ b/debian/control @@ -0,0 +1,537 @@ +Source: libvirt +Section: libs +Priority: optional +Maintainer: OpenKylin Virtualization SIG +Uploaders: Cong Liu +Build-Depends: + augeas-tools, + bash-completion, + debhelper-compat (= 13), + dh-apparmor [linux-any], + iptables [linux-any], + kmod [linux-any], + libacl1-dev [linux-any], + libapparmor-dev [linux-any], + libattr1-dev [linux-any], + libaudit-dev [linux-any], + libblkid-dev, + libc6-dev (>= 2.31-14~), + libcap-ng-dev [linux-any], + libcurl4-gnutls-dev, + libdevmapper-dev [linux-any], + libfuse3-dev [linux-any], + libglib2.0-dev, + libglusterfs-dev [linux-any], + libgnutls28-dev, + libiscsi-dev [linux-any], + libnl-3-dev [linux-any], + libnl-route-3-dev [linux-any], + libnuma-dev [linux-any], + libparted-dev, + libpcap0.8-dev, + libpciaccess-dev, + librados-dev [linux-any], + librbd-dev [linux-any], + libreadline-dev, + libsanlock-dev [linux-any], + libsasl2-dev, + libselinux1-dev [linux-any], + libssh-dev, + libssh2-1-dev, + libtasn1-6-dev, + libtirpc-dev, + libudev-dev [linux-any], + libwireshark-dev, + libxen-dev [amd64 arm64 armhf], + libxml2-dev, + libxml2-utils, + libyajl-dev, + lvm2 [linux-any], + meson (>= 0.54.0~), + nfs-common:native, + numad:native [linux-any], + open-iscsi [linux-any], + po-debconf, + python3-docutils, + python3:native, + qemu-system-common:native, + qemu-utils, + systemtap-sdt-dev [linux-any], + xsltproc, +Vcs-Git: https://gitee.com/openkylin/libvirt.git +Vcs-Browser: https://gitee.com/openkylin/libvirt +Homepage: https://libvirt.org/ +Standards-Version: 4.6.1 +Rules-Requires-Root: no + +Package: libvirt-clients +Section: admin +Architecture: any +Depends: + libvirt0 (= ${binary:Version}), + sensible-utils, + ${misc:Depends}, + ${shlibs:Depends}, +Suggests: + libvirt-daemon (= ${binary:Version}), + libvirt-login-shell (= ${binary:Version}), +Breaks: + libvirt-daemon (<< 6.9.0-2~), + libvirt-daemon-driver-qemu (<< 6.9.0-2~), +Replaces: + libvirt-daemon (<< 6.9.0-2~), +Description: Programs for the libvirt library + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the libvirt shell virsh and other client binaries. + +Package: libvirt-login-shell +Section: admin +Architecture: alpha amd64 arm64 armel armhf hppa i386 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sh4 sparc64 x32 +Depends: + libvirt-clients (= ${binary:Version}), + libvirt-daemon-driver-lxc (= ${binary:Version}), + libvirt0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Breaks: + libvirt-clients (<< 6.9.0-2~), +Replaces: + libvirt-clients (<< 6.9.0-2~), +Description: Isolate user sessions using LXC containers + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the virt-login-shell tool, which can be set as a user's + login shell to isolate their sessions using LXC containers. + +Package: libvirt-daemon +Section: admin +Architecture: any +Depends: + libvirt-daemon-driver-qemu (= ${binary:Version}), + libvirt0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Recommends: + libvirt-daemon-driver-lxc (= ${binary:Version}), + libvirt-daemon-driver-vbox (= ${binary:Version}), + libvirt-daemon-driver-xen (= ${binary:Version}), + libxml2-utils, + lvm2 [linux-any], + netcat-openbsd, + qemu-kvm | qemu-system, +Suggests: + libvirt-daemon-driver-storage-gluster (= ${binary:Version}), + libvirt-daemon-driver-storage-iscsi-direct (= ${binary:Version}), + libvirt-daemon-driver-storage-rbd (= ${binary:Version}), + libvirt-daemon-driver-storage-zfs (= ${binary:Version}), + libvirt-daemon-system (= ${binary:Version}), + numad, +Enhances: + qemu-kvm, + qemu-system, + xen, +Breaks: + libvirt-clients (<< 6.9.0-2~), + libvirt-daemon-driver-lxc (<< 6.9.0-2~), + libvirt-daemon-system (<< 6.9.0-3~), + libvirt-sanlock (<< 6.9.0-2~), +Replaces: + libvirt-daemon-system (<< 6.9.0-3~), +Description: Virtualization daemon + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the daemon libvirtd to manage the hypervisors. + +Package: libvirt-daemon-driver-qemu +Section: admin +Architecture: linux-any +Multi-Arch: no +Depends: + libvirt0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Breaks: + libvirt-clients (<< 6.9.0-2~), + libvirt-daemon (<< 6.0.0-1~), +Replaces: + libvirt-clients (<< 6.9.0-2~), + libvirt-daemon (<< 6.0.0-1~), +Description: Virtualization daemon QEMU connection driver + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the libvirtd connection driver for QEMU. + +Package: libvirt-daemon-driver-lxc +Section: admin +Architecture: alpha amd64 arm64 armel armhf hppa i386 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sh4 sparc64 x32 +Multi-Arch: no +Depends: + libvirt-daemon (= ${binary:Version}), + libvirt0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Breaks: + libvirt-daemon (<< 6.9.0-2~), +Replaces: + libvirt-daemon (<< 6.9.0-2~), +Description: Virtualization daemon LXC connection driver + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the libvirtd connection driver for LXC. + +Package: libvirt-daemon-driver-vbox +Section: admin +Architecture: amd64 i386 +Multi-Arch: no +Depends: + libvirt-daemon (= ${binary:Version}), + libvirt0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Breaks: + libvirt-daemon (<< 6.0.0-1~), +Replaces: + libvirt-daemon (<< 6.0.0-1~), +Description: Virtualization daemon VirtualBox connection driver + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the libvirtd connection driver for VirtualBox. + +Package: libvirt-daemon-driver-xen +Section: admin +Architecture: amd64 arm64 armhf +Multi-Arch: no +Depends: + libvirt-daemon (= ${binary:Version}), + libvirt0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Breaks: + libvirt-daemon (<< 6.0.0-1~), +Replaces: + libvirt-daemon (<< 6.0.0-1~), +Description: Virtualization daemon Xen connection driver + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the libvirtd connection driver for Xen. + +Package: libvirt-daemon-driver-storage-gluster +Section: admin +Architecture: linux-any +Multi-Arch: no +Depends: + libvirt-daemon (= ${binary:Version}), + libvirt0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Breaks: + libvirt-daemon (<< 3.7.0-3~), +Replaces: + libvirt-daemon (<< 3.7.0-3~), +Description: Virtualization daemon glusterfs storage driver + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the libvirtd storage driver for GlusterFS. + +Package: libvirt-daemon-driver-storage-iscsi-direct +Section: admin +Architecture: linux-any +Multi-Arch: no +Depends: + libvirt-daemon (= ${binary:Version}), + libvirt0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Recommends: + qemu-block-extra, +Description: Virtualization daemon iSCSI (libiscsi) storage driver + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains a libvirtd storage driver for iSCSI volumes implemented + using libiscsi. + +Package: libvirt-daemon-driver-storage-rbd +Section: admin +Architecture: linux-any +Multi-Arch: no +Depends: + libvirt-daemon (= ${binary:Version}), + libvirt0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Breaks: + libvirt-daemon (<< 3.7.0-3~), +Replaces: + libvirt-daemon (<< 3.7.0-3~), +Description: Virtualization daemon RBD storage driver + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the libvirtd storage driver for RBD/Rados/Ceph. + +Package: libvirt-daemon-driver-storage-zfs +Section: admin +Architecture: linux-any +Multi-Arch: no +Depends: + libvirt-daemon (= ${binary:Version}), + libvirt0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Breaks: + libvirt-daemon (<< 3.7.0-3~), +Replaces: + libvirt-daemon (<< 3.7.0-3~), +Description: Virtualization daemon ZFS storage driver + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the libvirtd storage driver for ZFS. + +Package: libvirt-daemon-system +Section: admin +Architecture: any +Depends: + adduser, + gettext-base, + iptables [linux-any] | firewalld, + libvirt-clients (= ${binary:Version}), + libvirt-daemon (= ${binary:Version}), + libvirt-daemon-config-network (= ${source:Version}), + libvirt-daemon-config-nwfilter (= ${source:Version}), + libvirt-daemon-system-systemd (= ${source:Version}) | libvirt-daemon-system-sysv (= ${source:Version}), + logrotate, + policykit-1 [linux-any], + ${misc:Depends}, +Recommends: + dmidecode, + dnsmasq-base, + iproute2, + mdevctl, + parted, +Suggests: + apparmor, + auditd, + nfs-common, + open-iscsi [linux-any], + pm-utils, + systemd, + systemtap, + zfsutils, +Description: Libvirt daemon configuration files + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the configuration files to run the libvirt daemon as a + system service. + +Package: libvirt-daemon-system-systemd +Section: admin +Architecture: all +Multi-Arch: foreign +Depends: + systemd-container, + systemd-sysv, + ${misc:Depends}, +Conflicts: + libvirt-daemon-system-sysv, +Description: Libvirt daemon configuration files (systemd) + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the dependencies to make libvirt work with systemd. + (this is the default). This package is useless without the + libvirt-daemon-system package installed. + +Package: libvirt-daemon-system-sysv +Section: admin +Architecture: all +Depends: + lsb-base, + ${misc:Depends}, +Breaks: + libvirt-daemon-system (<< 5.6.0-4~), +Replaces: + libvirt-daemon-system (<< 5.6.0-4~), +Description: Libvirt daemon configuration files (sysv) + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains dependencies and init scripts to make libvirt work with + sysv based init systems. Using libvirt-daemon-systemd is preferred since the + init scripts are incomplete. + . + This package is useless without the libvirt-daemon-system package installed. + +Package: libvirt-daemon-config-network +Section: admin +Architecture: all +Depends: + ${misc:Depends}, +Breaks: + libvirt-daemon-system (<< 6.9.0-2~), +Replaces: + libvirt-daemon-system (<< 6.9.0-2~), +Description: Libvirt daemon configuration files (default network) + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the configuration for the 'default' libvirt network. + +Package: libvirt-daemon-config-nwfilter +Section: admin +Architecture: all +Depends: + ${misc:Depends}, +Breaks: + libvirt-daemon-system (<< 6.9.0-2~), +Replaces: + libvirt-daemon-system (<< 6.9.0-2~), +Description: Libvirt daemon configuration files (default network filters) + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the configuration for the default set of nwfilters. + +Package: libvirt0 +Architecture: any +Multi-Arch: same +Depends: + ${misc:Depends}, + ${shlibs:Depends}, +Breaks: + libvirt-daemon (<< 4.10.0-2~), +Replaces: + libvirt-daemon (<< 4.10.0-2~), +Description: library for interfacing with different virtualization systems + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + +Package: libvirt-doc +Section: doc +Architecture: all +Multi-Arch: foreign +Depends: + ${misc:Depends}, +Description: documentation for the libvirt library + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the documentation. + +Package: libvirt-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: + libvirt0 (= ${binary:Version}), + ${misc:Depends}, +Recommends: + pkg-config, +Description: development files for the libvirt library + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the header files and static libraries which are + needed for developing the applications with libvirt. + +Package: libvirt-sanlock +Section: admin +Architecture: linux-any +Depends: + augeas-tools, + libvirt0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Breaks: + libvirt-daemon (<< 6.9.0-2~), +Replaces: + libvirt-daemon (<< 6.9.0-2~), +Description: Sanlock plugin for virtlockd + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the sanlock plugin for libvirt's locking daemon. + +Package: libnss-libvirt +Section: admin +Architecture: linux-any +Multi-Arch: same +Depends: + libvirt0 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends}, +Description: nss plugins providing IP address resolution for virtual machines + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains two nss plugins for IP address resolution of libvirt + managed virtual machines: the 'libvirt_guest' plugin uses libvirt's domain + names while the 'libvirt' plugin looks at the guest's hostname. + +Package: libvirt-wireshark +Section: admin +Architecture: any +Multi-Arch: same +Depends: + ${misc:Depends}, + ${shlibs:Depends}, +Description: Wireshark dissector for the libvirt protocol + Libvirt is a C toolkit to interact with the virtualization capabilities + of recent versions of Linux (and other OSes). The library aims at providing + a long term stable C API for different virtualization mechanisms. It currently + supports QEMU, KVM, XEN, OpenVZ, LXC, and VirtualBox. + . + This package contains the wireshark dissector. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000000..84ee352879 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,254 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: libvirt +Source: https://libvirt.org/git/?p=libvirt.git +Comment: in addition see the upstream maintainer AUTHORS file + +Files: * +Copyright: 2005-2022 Red Hat, Inc +License: LGPL-2.1+ +Comment: Among many source files this also includes many generated, test-data or binary files + +Files: build-aux/syntax-check.mk +Copyright: 2008-2019 Red Hat, Inc. + 2001-2022 Free Software Foundation, Inc. +License: GPL-3.0+ + +Files: src/conf/* +Copyright: 2005-2019 Red Hat, Inc + 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +License: LGPL-2.1+ + +Files: src/conf/domain_validate.* +Copyright: 2020 IBM Corp. +License: LGPL-2.1+ + +Files: src/util/virccw.* +Copyright: 2022 IBM Corporation +License: LGPL-2.1+ + +Files: src/util/virsocket.c +Copyright: 2020 Red Hat, Inc. + 2011-2020 Free Software Foundation, Inc. +License: LGPL-2.1+ + +Files: src/util/virhash.c +Copyright: 2005-2014 Red Hat, Inc. + 2000 Bjorn Reese and Daniel Veillard. +License: AS-IS-I + Permission to use, copy, modify, and distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE AUTHORS AND + CONTRIBUTORS ACCEPT NO RESPONSIBILITY IN ANY CONCEIVABLE MANNER. + +Files: src/util/virpcivpd.* + src/util/virpcivpdpriv.h + tests/virpcivpdtest.c +Copyright: 2021 Canonical Ltd. +License: LGPL-2.1+ + +Files: tools/virt-host-validate-ch.* +Copyright: 2020-2021 Microsoft Corp. +License: LGPL-2.1+ + +Files: tests/pkix_asn1_tab.c + tests/virsh-cpuset + tests/virsh-optparse + tests/virsh-read-bufsiz + tests/virsh-read-non-seekable + tests/virsh-schedinfo + tests/virsh-self-test + tests/virsh-start + tests/virsh-undefine + tests/virsh-vcpupin +Copyright: 2008-2019 Red Hat, Inc. +License: GPL-2.0+ + +Files: src/vbox/vbox* +Copyright: 2008-2009 Sun Microsystems, Inc. + 2010-2014 Red Hat, Inc. +License: LGPL-2.1+ + +Files: docs/fonts/* +Copyright: 2015 Red Hat, Inc +License: SIL-1.1 + +Files: src/keycodemapdb/tools/keymap-gen +Copyright: 2009-2017 Red Hat, Inc. +License: GPL-2.0+ or BSD-3-clause + +License: LGPL-2.1+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see + . + . + On Debian systems, the complete text of the GNU Lesser General Public License + Version 2.1 can be found in `/usr/share/common-licenses/LGPL-2.1'. + +License: GPL-2.0+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + . + On Debian systems, the complete text of the GNU General Public License + Version 2 can be found in `/usr/share/common-licenses/GPL-2'. + +License: GPL-3.0+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + . + On Debian systems, the complete text of the GNU General Public License + Version 3 can be found in `/usr/share/common-licenses/GPL-3'. + +License: SIL-1.1 + This Font Software is licensed under the SIL Open Font License, + Version 1.1. + . + This license is copied below, and is also available with a FAQ at: + http://scripts.sil.org/OFL + . + SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + . + PREAMBLE The goals of the Open Font License (OFL) are to stimulate + worldwide development of collaborative font projects, to support the font + creation efforts of academic and linguistic communities, and to provide + a free and open framework in which fonts may be shared and improved in + partnership with others. + . + The OFL allows the licensed fonts to be used, studied, modified and + redistributed freely as long as they are not sold by themselves. + The fonts, including any derivative works, can be bundled, embedded, + redistributed and/or sold with any software provided that any reserved + names are not used by derivative works. The fonts and derivatives, + however, cannot be released under any other type of license. The + requirement for fonts to remain under this license does not apply to + any document created using the fonts or their derivatives. + . + DEFINITIONS + "Font Software" refers to the set of files released by the Copyright + Holder(s) under this license and clearly marked as such. + This may include source files, build scripts and documentation. + . + "Reserved Font Name" refers to any names specified as such after the + copyright statement(s). + . + "Original Version" refers to the collection of Font Software components + as distributed by the Copyright Holder(s). + . + "Modified Version" refers to any derivative made by adding to, deleting, + or substituting ? in part or in whole ? + any of the components of the Original Version, by changing formats or + by porting the Font Software to a new environment. + . + "Author" refers to any designer, engineer, programmer, technical writer + or other person who contributed to the Font Software. + . + PERMISSION & CONDITIONS + . + Permission is hereby granted, free of charge, to any person obtaining a + copy of the Font Software, to use, study, copy, merge, embed, modify, + redistribute, and sell modified and unmodified copies of the Font + Software, subject to the following conditions: + . + 1) Neither the Font Software nor any of its individual components, in + Original or Modified Versions, may be sold by itself. + . + 2) Original or Modified Versions of the Font Software may be bundled, + redistributed and/or sold with any software, provided that each copy + contains the above copyright notice and this license. These can be + included either as stand-alone text files, human-readable headers or + in the appropriate machine-readable metadata fields within text or + binary files as long as those fields can be easily viewed by the user. + . + 3) No Modified Version of the Font Software may use the Reserved Font + Name(s) unless explicit written permission is granted by the + corresponding Copyright Holder. This restriction only applies to the + primary font name as presented to the users. + . + 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + Software shall not be used to promote, endorse or advertise any + Modified Version, except to acknowledge the contribution(s) of the + Copyright Holder(s) and the Author(s) or with their explicit written + permission. + . + 5) The Font Software, modified or unmodified, in part or in whole, must + be distributed entirely under this license, and must not be distributed + under any other license. The requirement for fonts to remain under + this license does not apply to any document created using the Font + Software. + . + TERMINATION + This license becomes null and void if any of the above conditions are not met. + . + DISCLAIMER + THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER + DEALINGS IN THE FONT SOFTWARE. + +License: BSD-3-Clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + 3. Neither the name of the Institute nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. diff --git a/debian/libnss-libvirt.install b/debian/libnss-libvirt.install new file mode 100644 index 0000000000..691285e53c --- /dev/null +++ b/debian/libnss-libvirt.install @@ -0,0 +1,2 @@ +# the nss module (once enabled) will make apt call getdents (LP: #1732030) +debian/apt/90libnss-libvirt etc/apt/apt.conf.d diff --git a/debian/libvirt-clients.NEWS b/debian/libvirt-clients.NEWS new file mode 100644 index 0000000000..75c77634cf --- /dev/null +++ b/debian/libvirt-clients.NEWS @@ -0,0 +1,7 @@ +libvirt (6.9.0-2) experimental; urgency=medium + + The virt-login-shell tool has been moved from the libvirt-clients + package to the new libvirt-login-shell package: this change makes + it possible to uninstall this seldomly-used tool if desired. + + -- Andrea Bolognani Sun, 15 Nov 2020 03:45:44 +0100 diff --git a/debian/libvirt-clients.docs b/debian/libvirt-clients.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-clients.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-clients.install b/debian/libvirt-clients.install new file mode 100644 index 0000000000..769c5d2daf --- /dev/null +++ b/debian/libvirt-clients.install @@ -0,0 +1,28 @@ +etc/libvirt/libvirt-admin.conf +etc/libvirt/libvirt.conf +usr/bin/virsh +usr/bin/virt-admin +usr/bin/virt-host-validate +usr/bin/virt-pki-query-dn +usr/bin/virt-pki-validate +usr/bin/virt-xml-validate +usr/share/bash-completion/completions/virsh +usr/share/bash-completion/completions/virt-admin +usr/share/man/man1/virsh.1 +usr/share/man/man1/virt-admin.1 +usr/share/man/man1/virt-host-validate.1 +usr/share/man/man1/virt-pki-query-dn.1 +usr/share/man/man1/virt-pki-validate.1 +usr/share/man/man1/virt-xml-validate.1 +usr/share/man/man7/virkeycode-atset1.7 +usr/share/man/man7/virkeycode-atset2.7 +usr/share/man/man7/virkeycode-atset3.7 +usr/share/man/man7/virkeycode-linux.7 +usr/share/man/man7/virkeycode-osx.7 +usr/share/man/man7/virkeycode-qnum.7 +usr/share/man/man7/virkeycode-usb.7 +usr/share/man/man7/virkeycode-win32.7 +usr/share/man/man7/virkeycode-xtkbd.7 +usr/share/man/man7/virkeyname-linux.7 +usr/share/man/man7/virkeyname-osx.7 +usr/share/man/man7/virkeyname-win32.7 diff --git a/debian/libvirt-clients.postrm b/debian/libvirt-clients.postrm new file mode 100644 index 0000000000..5c9bdee546 --- /dev/null +++ b/debian/libvirt-clients.postrm @@ -0,0 +1,70 @@ +#!/bin/sh + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +abort_conffile_transfer() { + local conffile="$1" + local lastver="$2" + local pkgfrom="$3" + local pkgto="$4" + + if [ "$5" != "--" ]; then + echo "abort_conffile_transfer called with the wrong number of arguments" >&2 + return 1 + fi + for _ in $(seq 1 5); do + shift + done + + # If we were installing from scratch or upgrading from a new enough version + # when the error occurred, then no transfer was in progress and we don't + # need to rollback any changes + if [ -z "$2" ] || dpkg --compare-versions -- "$2" gt "$lastver"; then + return 0 + fi + + # If the conffile was being transferred, return it to its original location + if [ -e "$conffile.dpkg-transfer" ]; then + mv -f "$conffile.dpkg-transfer" "$conffile" + fi + + # Clean up additional state + rm -f "$conffile.dpkg-disappear" +} + +case "$1" in + abort-install|abort-upgrade) + abort_conffile_transfer \ + "/etc/libvirt/virt-login-shell.conf" \ + "6.9.0-2~" \ + "libvirt-clients" \ + "libvirt-login-shell" \ + -- \ + "$@" + ;; + + remove|purge|upgrade|failed-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/libvirt-clients.preinst b/debian/libvirt-clients.preinst new file mode 100644 index 0000000000..837df62f95 --- /dev/null +++ b/debian/libvirt-clients.preinst @@ -0,0 +1,73 @@ +#!/bin/sh + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +prepare_conffile_transfer() { + local conffile="$1" + local lastver="$2" + local pkgfrom="$3" + local pkgto="$4" + + if [ "$5" != "--" ]; then + echo "prepare_conffile_transfer called with the wrong number of arguments" >&2 + return 1 + fi + for _ in $(seq 1 5); do + shift + done + + # If we're installing from scratch or upgrading from a new enough version + # of the package, then no transfer needs to happen and we can stop here + if [ -z "$2" ] || dpkg --compare-versions -- "$2" gt "$lastver"; then + return 0 + fi + + # Depending on the current state of the conffile, we need to perform different + # steps to transfer it. Moving the conffile to a different location depending + # on its current state achieves two goals: dpkg will see the conffile is no + # longer present on disk after $pkgfrom has been upgraded, and so it will no + # longer associate it with that package (not even as an obsolete conffile); + # more importanly, $pkgto's postinst, where the transfer process is completed, + # will be able to figure out the original state of the conffile and make sure + # it is restored + if [ -e "$conffile" ]; then + echo "Preparing transfer of config file $conffile (from $pkgfrom to $pkgto) ..." + mv -f "$conffile" "$conffile.dpkg-transfer" + else + # If the conffile is no longer present on the disk, it means the admin + # has deleted it, and we should preserve this local modification + touch "$conffile.dpkg-disappear" + fi +} + +case "$1" in + install|upgrade) + prepare_conffile_transfer \ + "/etc/libvirt/virt-login-shell.conf" \ + "6.9.0-2~" \ + "libvirt-clients" \ + "libvirt-login-shell" \ + -- \ + "$@" + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/libvirt-daemon-config-network.dirs b/debian/libvirt-daemon-config-network.dirs new file mode 100644 index 0000000000..95b6da3079 --- /dev/null +++ b/debian/libvirt-daemon-config-network.dirs @@ -0,0 +1 @@ +etc/libvirt/qemu/networks diff --git a/debian/libvirt-daemon-config-network.install b/debian/libvirt-daemon-config-network.install new file mode 100644 index 0000000000..e0845535e8 --- /dev/null +++ b/debian/libvirt-daemon-config-network.install @@ -0,0 +1 @@ +usr/share/libvirt/networks/default.xml diff --git a/debian/libvirt-daemon-config-network.postinst b/debian/libvirt-daemon-config-network.postinst new file mode 100644 index 0000000000..cc13ca8064 --- /dev/null +++ b/debian/libvirt-daemon-config-network.postinst @@ -0,0 +1,137 @@ +#!/bin/sh + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +create_config_from_template() { + local config="$1" + local template="$2" + local lastver="$3" + + if [ "$4" != "--" ]; then + echo "create_config_from_template called with the wrong number of arguments" >&2 + return 1 + fi + for _ in $(seq 1 4); do + shift + done + + if [ -n "$2" ] && dpkg --compare-versions -- "$2" gt "$lastver"; then + # The package is already configured, and the version that's been + # configured is new enough to contain the config file + if [ -e "$config.dpkg-backup" ]; then + # The package had been configured in the past and has + # subsequently been removed without purging, so a backup of + # the config file is still present on the disk. Restore it + mv -f "$config.dpkg-backup" "$config" + return 0 + else + # We're doing a regular upgrade. Don't change anything + return 0 + fi + else + # We're either installing from scratch, or upgrading from a version + # that didn't have the config file yet. Make a copy of the template + # in the appropriate location and with the expected permissions + install -o root -g root -m 0600 "$template" "$config" + return 0 + fi +} + +finish_conffile_transfer() { + local conffile="$1" + local lastver="$2" + local pkgfrom="$3" + local pkgto="$4" + + if [ "$5" != "--" ]; then + echo "finish_conffile_transfer called with the wrong number of arguments" >&2 + return 1 + fi + for _ in $(seq 1 5); do + shift + done + + # If we're upgrading rather than installing from scratch, we can assume + # the transfer must have happened at some point in the past and stop here + if [ -n "$2" ]; then + return 0 + fi + + if [ -e "$conffile.dpkg-transfer" ]; then + # Complete the process started in $pkgfrom's preinst by restoring the + # version of the conffile containing local modifications + echo "Finishing transfer of config file $conffile (from $pkgfrom to $pkgto) ..." + mv -f "$conffile.dpkg-transfer" "$conffile" + return 0 + fi + + if [ -e "$conffile.dpkg-disappear" ]; then + # The conffile had been deleted by the admin, so let's return to + # that state + rm -f "$conffile" "$conffile.dpkg-disappear" + return 0 + fi +} + +systemd_daemon_reload() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + systemctl --system daemon-reload >/dev/null || true + fi +} + +systemd_unit_restart_if_active() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + for unit in "$@"; do + if systemctl is-active -q "$unit"; then + deb-systemd-invoke restart "$unit" >/dev/null || true + fi + done + fi +} + +case "$1" in + configure) + create_config_from_template \ + "/etc/libvirt/qemu/networks/default.xml" \ + "/usr/share/libvirt/networks/default.xml" \ + "6.9.0-2~" \ + -- \ + "$@" + finish_conffile_transfer \ + "/etc/libvirt/qemu/networks/default.xml" \ + "6.9.0-2~" \ + "libvirt-daemon-system" \ + "libvirt-daemon-config-network" \ + -- \ + "$@" + + # Since we might have changed the on-disk configuration for some + # services, restart them so that they can pick up the new settings + systemd_daemon_reload + systemd_unit_restart_if_active libvirtd.service + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/libvirt-daemon-config-network.postrm b/debian/libvirt-daemon-config-network.postrm new file mode 100644 index 0000000000..2c5f5a83d9 --- /dev/null +++ b/debian/libvirt-daemon-config-network.postrm @@ -0,0 +1,88 @@ +#!/bin/sh + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +remove_config_from_template() { + local config="$1" + local template="$2" + local lastver="$3" + + if [ "$4" != "--" ]; then + echo "remove_config_from_template called with the wrong number of arguments" >&2 + return 1 + fi + for _ in $(seq 1 4); do + shift + done + + if [ "$1" = "remove" ] && [ -e "$config" ]; then + # When removing the package, move the configuration file to the side + # so that the daemon no longer sees it, but we can still restore it + # at a later time if the package is reinstalled + mv -f "$config" "$config.dpkg-backup" + return 0 + fi + + if [ "$1" = "purge" ]; then + # When purging the package, remove all traces of the configuration + rm -f "$config" "$config.dpkg-backup" + return 0 + fi +} + +systemd_daemon_reload() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + systemctl --system daemon-reload >/dev/null || true + fi +} + +systemd_unit_restart_if_active() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + for unit in "$@"; do + if systemctl is-active -q "$unit"; then + deb-systemd-invoke restart "$unit" >/dev/null || true + fi + done + fi +} + +case "$1" in + remove|purge) + remove_config_from_template \ + "/etc/libvirt/qemu/networks/default.xml" \ + "/usr/share/libvirt/networks/default.xml" \ + "6.9.0-2~" \ + -- \ + "$@" + + # Since we might have changed the on-disk configuration for some + # services, restart them so that they can pick up the new settings + systemd_daemon_reload + systemd_unit_restart_if_active libvirtd.service + ;; + + upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/libvirt-daemon-config-nwfilter.dirs b/debian/libvirt-daemon-config-nwfilter.dirs new file mode 100644 index 0000000000..06296ceb5b --- /dev/null +++ b/debian/libvirt-daemon-config-nwfilter.dirs @@ -0,0 +1 @@ +etc/libvirt/nwfilter diff --git a/debian/libvirt-daemon-config-nwfilter.install b/debian/libvirt-daemon-config-nwfilter.install new file mode 100644 index 0000000000..58b27048c7 --- /dev/null +++ b/debian/libvirt-daemon-config-nwfilter.install @@ -0,0 +1,24 @@ +usr/share/libvirt/nwfilter/allow-arp.xml +usr/share/libvirt/nwfilter/allow-dhcp-server.xml +usr/share/libvirt/nwfilter/allow-dhcp.xml +usr/share/libvirt/nwfilter/allow-dhcpv6-server.xml +usr/share/libvirt/nwfilter/allow-dhcpv6.xml +usr/share/libvirt/nwfilter/allow-incoming-ipv4.xml +usr/share/libvirt/nwfilter/allow-incoming-ipv6.xml +usr/share/libvirt/nwfilter/allow-ipv4.xml +usr/share/libvirt/nwfilter/allow-ipv6.xml +usr/share/libvirt/nwfilter/clean-traffic-gateway.xml +usr/share/libvirt/nwfilter/clean-traffic.xml +usr/share/libvirt/nwfilter/no-arp-ip-spoofing.xml +usr/share/libvirt/nwfilter/no-arp-mac-spoofing.xml +usr/share/libvirt/nwfilter/no-arp-spoofing.xml +usr/share/libvirt/nwfilter/no-ip-multicast.xml +usr/share/libvirt/nwfilter/no-ip-spoofing.xml +usr/share/libvirt/nwfilter/no-ipv6-multicast.xml +usr/share/libvirt/nwfilter/no-ipv6-spoofing.xml +usr/share/libvirt/nwfilter/no-mac-broadcast.xml +usr/share/libvirt/nwfilter/no-mac-spoofing.xml +usr/share/libvirt/nwfilter/no-other-l2-traffic.xml +usr/share/libvirt/nwfilter/no-other-rarp-traffic.xml +usr/share/libvirt/nwfilter/qemu-announce-self-rarp.xml +usr/share/libvirt/nwfilter/qemu-announce-self.xml diff --git a/debian/libvirt-daemon-config-nwfilter.postinst b/debian/libvirt-daemon-config-nwfilter.postinst new file mode 100644 index 0000000000..a637fcc085 --- /dev/null +++ b/debian/libvirt-daemon-config-nwfilter.postinst @@ -0,0 +1,178 @@ +#!/bin/sh + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +create_config_from_template() { + local config="$1" + local template="$2" + local lastver="$3" + + if [ "$4" != "--" ]; then + echo "create_config_from_template called with the wrong number of arguments" >&2 + return 1 + fi + for _ in $(seq 1 4); do + shift + done + + if [ -n "$2" ] && dpkg --compare-versions -- "$2" gt "$lastver"; then + # The package is already configured, and the version that's been + # configured is new enough to contain the config file + if [ -e "$config.dpkg-backup" ]; then + # The package had been configured in the past and has + # subsequently been removed without purging, so a backup of + # the config file is still present on the disk. Restore it + mv -f "$config.dpkg-backup" "$config" + return 0 + else + # We're doing a regular upgrade. Don't change anything + return 0 + fi + else + # We're either installing from scratch, or upgrading from a version + # that didn't have the config file yet. Make a copy of the template + # in the appropriate location and with the expected permissions + install -o root -g root -m 0600 "$template" "$config" + return 0 + fi +} + +finish_conffile_transfer() { + local conffile="$1" + local lastver="$2" + local pkgfrom="$3" + local pkgto="$4" + + if [ "$5" != "--" ]; then + echo "finish_conffile_transfer called with the wrong number of arguments" >&2 + return 1 + fi + for _ in $(seq 1 5); do + shift + done + + # If we're upgrading rather than installing from scratch, we can assume + # the transfer must have happened at some point in the past and stop here + if [ -n "$2" ]; then + return 0 + fi + + if [ -e "$conffile.dpkg-transfer" ]; then + # Complete the process started in $pkgfrom's preinst by restoring the + # version of the conffile containing local modifications + echo "Finishing transfer of config file $conffile (from $pkgfrom to $pkgto) ..." + mv -f "$conffile.dpkg-transfer" "$conffile" + return 0 + fi + + if [ -e "$conffile.dpkg-disappear" ]; then + # The conffile had been deleted by the admin, so let's return to + # that state + rm -f "$conffile" "$conffile.dpkg-disappear" + return 0 + fi +} + +systemd_daemon_reload() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + systemctl --system daemon-reload >/dev/null || true + fi +} + +systemd_unit_restart_if_active() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + for unit in "$@"; do + if systemctl is-active -q "$unit"; then + deb-systemd-invoke restart "$unit" >/dev/null || true + fi + done + fi +} + +NWFILTERS=" + allow-arp + allow-dhcp + allow-dhcp-server + allow-incoming-ipv4 + allow-ipv4 + clean-traffic + clean-traffic-gateway + no-arp-ip-spoofing + no-arp-mac-spoofing + no-arp-spoofing + no-ip-multicast + no-ip-spoofing + no-mac-broadcast + no-mac-spoofing + no-other-l2-traffic + no-other-rarp-traffic + qemu-announce-self + qemu-announce-self-rarp +" +NWFILTERS_7_0_0=" + allow-dhcpv6 + allow-dhcpv6-server + allow-incoming-ipv6 + allow-ipv6 + no-ipv6-multicast + no-ipv6-spoofing +" + +case "$1" in + configure) + for nwfilter in $NWFILTERS; do + create_config_from_template \ + "/etc/libvirt/nwfilter/$nwfilter.xml" \ + "/usr/share/libvirt/nwfilter/$nwfilter.xml" \ + "6.9.0-2~" \ + -- \ + "$@" + done + for nwfilter in $NWFILTERS_7_0_0; do + create_config_from_template \ + "/etc/libvirt/nwfilter/$nwfilter.xml" \ + "/usr/share/libvirt/nwfilter/$nwfilter.xml" \ + "7.0.0-1~" \ + -- \ + "$@" + done + for nwfilter in $NWFILTERS; do + finish_conffile_transfer \ + "/etc/libvirt/nwfilter/$nwfilter.xml" \ + "6.9.0-2~" \ + "libvirt-daemon-system" \ + "libvirt-daemon-config-nwfilter" \ + -- \ + "$@" + done + + # Since we might have changed the on-disk configuration for some + # services, restart them so that they can pick up the new settings + systemd_daemon_reload + systemd_unit_restart_if_active libvirtd.service + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/libvirt-daemon-config-nwfilter.postrm b/debian/libvirt-daemon-config-nwfilter.postrm new file mode 100644 index 0000000000..5e08dda5b3 --- /dev/null +++ b/debian/libvirt-daemon-config-nwfilter.postrm @@ -0,0 +1,127 @@ +#!/bin/sh + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +remove_config_from_template() { + local config="$1" + local template="$2" + local lastver="$3" + + if [ "$4" != "--" ]; then + echo "remove_config_from_template called with the wrong number of arguments" >&2 + return 1 + fi + for _ in $(seq 1 4); do + shift + done + + if [ "$1" = "remove" ] && [ -e "$config" ]; then + # When removing the package, move the configuration file to the side + # so that the daemon no longer sees it, but we can still restore it + # at a later time if the package is reinstalled + mv -f "$config" "$config.dpkg-backup" + return 0 + fi + + if [ "$1" = "purge" ]; then + # When purging the package, remove all traces of the configuration + rm -f "$config" "$config.dpkg-backup" + return 0 + fi +} + +systemd_daemon_reload() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + systemctl --system daemon-reload >/dev/null || true + fi +} + +systemd_unit_restart_if_active() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + for unit in "$@"; do + if systemctl is-active -q "$unit"; then + deb-systemd-invoke restart "$unit" >/dev/null || true + fi + done + fi +} + +NWFILTERS=" + allow-arp + allow-dhcp + allow-dhcp-server + allow-incoming-ipv4 + allow-ipv4 + clean-traffic + clean-traffic-gateway + no-arp-ip-spoofing + no-arp-mac-spoofing + no-arp-spoofing + no-ip-multicast + no-ip-spoofing + no-mac-broadcast + no-mac-spoofing + no-other-l2-traffic + no-other-rarp-traffic + qemu-announce-self + qemu-announce-self-rarp +" +NWFILTERS_7_0_0=" + allow-dhcpv6 + allow-dhcpv6-server + allow-incoming-ipv6 + allow-ipv6 + no-ipv6-multicast + no-ipv6-spoofing +" + +case "$1" in + remove|purge) + for nwfilter in $NWFILTERS; do + remove_config_from_template \ + "/etc/libvirt/nwfilter/$nwfilter.xml" \ + "/usr/share/libvirt/nwfilter/$nwfilter.xml" \ + "6.9.0-2~" \ + -- \ + "$@" + done + for nwfilter in $NWFILTERS_7_0_0; do + remove_config_from_template \ + "/etc/libvirt/nwfilter/$nwfilter.xml" \ + "/usr/share/libvirt/nwfilter/$nwfilter.xml" \ + "7.0.0-1~" \ + -- \ + "$@" + done + + # Since we might have changed the on-disk configuration for some + # services, restart them so that they can pick up the new settings + systemd_daemon_reload + systemd_unit_restart_if_active libvirtd.service + ;; + + upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/libvirt-daemon-driver-lxc.docs b/debian/libvirt-daemon-driver-lxc.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-daemon-driver-lxc.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-daemon-driver-lxc.install b/debian/libvirt-daemon-driver-lxc.install new file mode 100644 index 0000000000..7dd548d0dc --- /dev/null +++ b/debian/libvirt-daemon-driver-lxc.install @@ -0,0 +1,4 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/connection-driver/libvirt_driver_lxc.so +usr/lib/libvirt/libvirt_lxc +usr/share/augeas/lenses/libvirtd_lxc.aug +usr/share/augeas/lenses/tests/test_libvirtd_lxc.aug diff --git a/debian/libvirt-daemon-driver-qemu.docs b/debian/libvirt-daemon-driver-qemu.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-daemon-driver-qemu.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-daemon-driver-qemu.install b/debian/libvirt-daemon-driver-qemu.install new file mode 100644 index 0000000000..4387f819b7 --- /dev/null +++ b/debian/libvirt-daemon-driver-qemu.install @@ -0,0 +1,5 @@ +usr/bin/virt-qemu-run +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/connection-driver/libvirt_driver_qemu.so +usr/share/augeas/lenses/libvirtd_qemu.aug +usr/share/augeas/lenses/tests/test_libvirtd_qemu.aug +usr/share/man/man1/virt-qemu-run.1 diff --git a/debian/libvirt-daemon-driver-storage-gluster.docs b/debian/libvirt-daemon-driver-storage-gluster.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-daemon-driver-storage-gluster.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-daemon-driver-storage-gluster.install b/debian/libvirt-daemon-driver-storage-gluster.install new file mode 100644 index 0000000000..c15e280878 --- /dev/null +++ b/debian/libvirt-daemon-driver-storage-gluster.install @@ -0,0 +1,2 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/storage-backend/libvirt_storage_backend_gluster.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/storage-file/libvirt_storage_file_gluster.so diff --git a/debian/libvirt-daemon-driver-storage-iscsi-direct.docs b/debian/libvirt-daemon-driver-storage-iscsi-direct.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-daemon-driver-storage-iscsi-direct.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-daemon-driver-storage-iscsi-direct.install b/debian/libvirt-daemon-driver-storage-iscsi-direct.install new file mode 100644 index 0000000000..585c927357 --- /dev/null +++ b/debian/libvirt-daemon-driver-storage-iscsi-direct.install @@ -0,0 +1 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/storage-backend/libvirt_storage_backend_iscsi-direct.so diff --git a/debian/libvirt-daemon-driver-storage-rbd.docs b/debian/libvirt-daemon-driver-storage-rbd.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-daemon-driver-storage-rbd.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-daemon-driver-storage-rbd.install b/debian/libvirt-daemon-driver-storage-rbd.install new file mode 100644 index 0000000000..363a73f798 --- /dev/null +++ b/debian/libvirt-daemon-driver-storage-rbd.install @@ -0,0 +1 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/storage-backend/libvirt_storage_backend_rbd.so diff --git a/debian/libvirt-daemon-driver-storage-zfs.docs b/debian/libvirt-daemon-driver-storage-zfs.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-daemon-driver-storage-zfs.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-daemon-driver-storage-zfs.install b/debian/libvirt-daemon-driver-storage-zfs.install new file mode 100644 index 0000000000..60aa29c61d --- /dev/null +++ b/debian/libvirt-daemon-driver-storage-zfs.install @@ -0,0 +1 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/storage-backend/libvirt_storage_backend_zfs.so diff --git a/debian/libvirt-daemon-driver-vbox.docs b/debian/libvirt-daemon-driver-vbox.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-daemon-driver-vbox.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-daemon-driver-vbox.install b/debian/libvirt-daemon-driver-vbox.install new file mode 100644 index 0000000000..415033ba0e --- /dev/null +++ b/debian/libvirt-daemon-driver-vbox.install @@ -0,0 +1 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/connection-driver/libvirt_driver_vbox.so diff --git a/debian/libvirt-daemon-driver-xen.docs b/debian/libvirt-daemon-driver-xen.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-daemon-driver-xen.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-daemon-driver-xen.install b/debian/libvirt-daemon-driver-xen.install new file mode 100644 index 0000000000..4dc9d7c008 --- /dev/null +++ b/debian/libvirt-daemon-driver-xen.install @@ -0,0 +1,3 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/connection-driver/libvirt_driver_libxl.so +usr/share/augeas/lenses/libvirtd_libxl.aug +usr/share/augeas/lenses/tests/test_libvirtd_libxl.aug diff --git a/debian/libvirt-daemon-system-systemd.docs b/debian/libvirt-daemon-system-systemd.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-daemon-system-systemd.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-daemon-system-systemd.lintian-overrides b/debian/libvirt-daemon-system-systemd.lintian-overrides new file mode 100644 index 0000000000..2a57dc4cbf --- /dev/null +++ b/debian/libvirt-daemon-system-systemd.lintian-overrides @@ -0,0 +1 @@ +libvirt-daemon-system-systemd: empty-binary-package diff --git a/debian/libvirt-daemon-system-sysv.docs b/debian/libvirt-daemon-system-sysv.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-daemon-system-sysv.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-daemon-system-sysv.libvirt-guests.init b/debian/libvirt-daemon-system-sysv.libvirt-guests.init new file mode 100644 index 0000000000..7d6807d9db --- /dev/null +++ b/debian/libvirt-daemon-system-sysv.libvirt-guests.init @@ -0,0 +1,15 @@ +#! /bin/sh +# +### BEGIN INIT INFO +# Provides: libvirt-guests +# Required-Start: $remote_fs libvirtd +# Required-Stop: $remote_fs libvirtd +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: suspend/resume libvirt guests on shutdown/boot +# Description: This is a script for suspending active libvirt guests +# on shutdown and resuming them on next boot +# See https://libvirt.org/ +### END INIT INFO + +exec /usr/lib/libvirt/libvirt-guests.sh "$@" diff --git a/debian/libvirt-daemon-system-sysv.libvirtd.init b/debian/libvirt-daemon-system-sysv.libvirtd.init new file mode 100644 index 0000000000..bf94db2978 --- /dev/null +++ b/debian/libvirt-daemon-system-sysv.libvirtd.init @@ -0,0 +1,240 @@ +#! /bin/sh +# +# Init script for libvirtd +# +# (c) 2007 Guido Guenther +# based on the skeletons that comes with dh_make +# +### BEGIN INIT INFO +# Provides: libvirtd +# Required-Start: $network $local_fs $remote_fs $syslog virtlogd +# Required-Stop: $local_fs $remote_fs $syslog virtlogd +# Should-Start: cgconfig +# Should-Stop: cgconfig +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: libvirt management daemon +### END INIT INFO + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +export PATH + +NAME=libvirtd +DESC="libvirt management daemon" +DAEMON=/usr/sbin/$NAME +INITSCRIPT=/etc/init.d/$NAME +DEFAULTFILE=/etc/default/$NAME +PIDFILE=/var/run/$NAME.pid + +start_libvirtd=yes +cgroups="cpuset cpu cpuacct devices freezer net_cls blkio perf_event" +! grep -qs cgroup_enable=memory /proc/cmdline || cgroups="$cgroups memory" + +test -x $DAEMON || exit 0 +. /lib/lsb/init-functions + +DODTIME=1 # Time to wait for the server to die, in seconds + +# Include defaults if available +if [ -f $DEFAULTFILE ] ; then + . $DEFAULTFILE +fi + +check_start_libvirtd_option() { + if [ ! "$start_libvirtd" = "yes" ]; then + log_warning_msg "Not starting $DESC $NAME, disabled via $DEFAULTFILE" + return 1 + else + return 0 + fi +} + +running_pid() +{ + # Check if a given process pid's cmdline matches a given name + pid=$1 + name=$2 + [ -z "$pid" ] && return 1 + [ ! -d /proc/$pid ] && return 1 + cmd=`cat /proc/$pid/cmdline | tr "\000" "\n" | head -n 1 | cut -d : -f 1` + # Is this the expected child? + [ "$cmd" != "$name" ] && return 1 + return 0 +} + +running() +{ + # Check if the process is running looking at /proc + # (works for all users) + + # No pidfile, probably no daemon present + [ ! -f "$PIDFILE" ] && return 1 + # Obtain the pid and check it against the binary name + pid=`cat $PIDFILE` + running_pid $pid $DAEMON || return 1 + return 0 +} + +systemd_running() +{ + if [ -d /run/systemd/system ] ; then + return 0 + fi + return 1 +} + +mount_cgroups() +{ + if ! systemd_running + then + mount -t tmpfs cgroup_root /sys/fs/cgroup || return 1 + for M in $cgroups; do + mkdir /sys/fs/cgroup/$M || return 1 + mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,$M "cgroup_${M}" "/sys/fs/cgroup/${M}" || return 1 + done + else + log_warning_msg "Systemd running, skipping cgroup mount." + fi +} + +umount_cgroups() +{ + if ! systemd_running + then + for M in $cgroups; do + umount "cgroup_${M}" + rmdir /sys/fs/cgroup/$M + done + umount cgroup_root + else + log_warning_msg "Systemd running, skipping cgroup mount." + fi +} + +check_mount_cgroup_options() { + if [ ! "$mount_cgroups" = "yes" ]; then + return 1 + else + return 0 + fi +} + +force_stop() { + # Forcefully kill the process + [ ! -f "$PIDFILE" ] && return + if running ; then + kill -15 $pid + # Is it really dead? + [ -n "$DODTIME" ] && sleep "$DODTIME"s + if running ; then + kill -9 $pid + [ -n "$DODTIME" ] && sleep "$DODTIME"s + if running ; then + echo "Cannot kill $LABEL (pid=$pid)!" + exit 1 + fi + fi + fi + rm -f $PIDFILE + return 0 +} + +case "$1" in + start) + if ! check_start_libvirtd_option; then + exit 0 + fi + + log_daemon_msg "Starting $DESC" "$NAME" + if running ; then + log_progress_msg "already running" + log_end_msg 0 + exit 0 + fi + rm -f $PIDFILE + if check_mount_cgroup_options; then + if ! mount_cgroups; then + log_warning_msg "Can not mount cgroups layout" + exit 1 + fi + fi + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- -d $LIBVIRTD_ARGS + if running; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + if ! running ; then + log_progress_msg "not running" + log_end_msg 0 + exit 0 + fi + if check_mount_cgroup_options; then + umount_cgroups + fi + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --exec $DAEMON + log_end_msg 0 + ;; + force-stop) + log_daemon_msg "Forcefully stopping $DESC" "$NAME" + force_stop + if ! running; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + restart) + if ! check_start_libvirtd_option; then + exit 0 + fi + + log_daemon_msg "Restarting $DESC" "$DAEMON" + start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE \ + --exec $DAEMON + [ -n "$DODTIME" ] && sleep $DODTIME + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- -d $LIBVIRTD_ARGS + if running; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + reload|force-reload) + if running; then + log_daemon_msg "Reloading configuration of $DESC" "$NAME" + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE \ + --exec $DAEMON + log_end_msg 0 + else + log_warning_msg "$NAME not running, doing nothing." + fi + ;; + status) + log_daemon_msg "Checking status of $DESC" "$NAME" + if running ; then + log_progress_msg "running" + log_end_msg 0 + else + log_progress_msg "not running" + log_end_msg 1 + if [ -f "$PIDFILE" ] ; then + exit 1 + else + exit 3 + fi + fi + ;; + *) + echo "Usage: $INITSCRIPT {start|stop|restart|reload|force-reload|status|force-stop}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian/libvirt-daemon-system-sysv.lintian-overrides b/debian/libvirt-daemon-system-sysv.lintian-overrides new file mode 100644 index 0000000000..59f87b2440 --- /dev/null +++ b/debian/libvirt-daemon-system-sysv.lintian-overrides @@ -0,0 +1,10 @@ +# The expected options are all implemented - just not in a way that Lintian +# is capable of recognizing +libvirt-daemon-system-sysv: init.d-script-does-not-implement-required-option * [etc/init.d/libvirt-guests] +libvirt-daemon-system-sysv: init.d-script-does-not-implement-status-option [etc/init.d/libvirt-guests] +libvirt-daemon-system-sysv: init.d-script-does-not-source-init-functions [etc/init.d/libvirt-guests] +libvirt-daemon-system-sysv: missing-systemd-service-for-init.d-script +# Lintian would like an explicit Pre-Depends on init-system-helpers (>= 1.54~) +# to be declared, but we already know that any version of Debian we might want +# to backport libvirt to has a newer version than that +libvirt-daemon-system-sysv: skip-systemd-native-flag-missing-pre-depends * diff --git a/debian/libvirt-daemon-system-sysv.virtlogd.init b/debian/libvirt-daemon-system-sysv.virtlogd.init new file mode 100644 index 0000000000..fba871eb1c --- /dev/null +++ b/debian/libvirt-daemon-system-sysv.virtlogd.init @@ -0,0 +1,164 @@ +#! /bin/sh +# +# Init script for virtlogd +# +# (c) 2015 Guido Guenther +# based on the skeletons that comes with dh_make +# +### BEGIN INIT INFO +# Provides: virtlogd +# Required-Start: $local_fs $remote_fs $syslog +# Required-Stop: $local_fs $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Libvirt logging daemon +### END INIT INFO + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +export PATH + +NAME=virtlogd +DESC="libvirt logging daemon" +DAEMON=/usr/sbin/$NAME +INITSCRIPT=/etc/init.d/$NAME +DEFAULTFILE=/etc/default/$NAME +PIDFILE=/var/run/$NAME.pid + +test -x $DAEMON || exit 0 +. /lib/lsb/init-functions + +DODTIME=1 # Time to wait for the server to die, in seconds + +# Include defaults if available +if [ -f $DEFAULTFILE ] ; then + . $DEFAULTFILE +fi + +running_pid() +{ + # Check if a given process pid's cmdline matches a given name + pid=$1 + name=$2 + [ -z "$pid" ] && return 1 + [ ! -d /proc/$pid ] && return 1 + cmd=`cat /proc/$pid/cmdline | tr "\000" "\n" | head -n 1 | cut -d : -f 1` + # Is this the expected child? + [ "$cmd" != "$name" ] && return 1 + return 0 +} + +running() +{ + # Check if the process is running looking at /proc + # (works for all users) + + # No pidfile, probably no daemon present + [ ! -f "$PIDFILE" ] && return 1 + # Obtain the pid and check it against the binary name + pid=`cat $PIDFILE` + running_pid $pid $DAEMON || return 1 + return 0 +} + +force_stop() { + # Forcefully kill the process + [ ! -f "$PIDFILE" ] && return + if running ; then + kill -15 $pid + # Is it really dead? + [ -n "$DODTIME" ] && sleep "$DODTIME"s + if running ; then + kill -9 $pid + [ -n "$DODTIME" ] && sleep "$DODTIME"s + if running ; then + echo "Cannot kill $LABEL (pid=$pid)!" + exit 1 + fi + fi + fi + rm -f $PIDFILE + return 0 +} + +case "$1" in + start) + log_daemon_msg "Starting $DESC" "$NAME" + if running ; then + log_progress_msg "already running" + log_end_msg 0 + exit 0 + fi + rm -f $PIDFILE + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- -d $VIRTLOGD_ARGS + if running; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + if ! running ; then + log_progress_msg "not running" + log_end_msg 0 + exit 0 + fi + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --exec $DAEMON + log_end_msg 0 + ;; + force-stop) + log_daemon_msg "Forcefully stopping $DESC" "$NAME" + force_stop + if ! running; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + restart) + log_daemon_msg "Restarting $DESC" "$DAEMON" + start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE \ + --exec $DAEMON + [ -n "$DODTIME" ] && sleep $DODTIME + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- -d $VIRTLOGD_ARGS + if running; then + log_end_msg 0 + else + log_end_msg 1 + fi + ;; + reload|force-reload) + if running; then + log_daemon_msg "Reloading configuration of $DESC" "$NAME" + start-stop-daemon --stop --signal 1 --quiet \ + --pidfile $PIDFILE --exec $DAEMON + log_end_msg 0 + else + log_warning_msg "$NAME not running, doing nothing." + fi + ;; + status) + log_daemon_msg "Checking status of $DESC" "$NAME" + if running ; then + log_progress_msg "running" + log_end_msg 0 + else + log_progress_msg "not running" + log_end_msg 1 + if [ -f "$PIDFILE" ] ; then + exit 1 + else + exit 3 + fi + fi + ;; + *) + echo "Usage: $INITSCRIPT {start|stop|restart|reload|force-reload|status|force-stop}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian/libvirt-daemon-system.NEWS b/debian/libvirt-daemon-system.NEWS new file mode 100644 index 0000000000..3e117f565c --- /dev/null +++ b/debian/libvirt-daemon-system.NEWS @@ -0,0 +1,71 @@ +libvirt (7.0.0-3) unstable; urgency=medium + + The $libvirtd_opts variable in /etc/default/libvirtd has been + renamed to $LIBVIRTD_ARGS to match upstream and other daemons + that are part of libvirt. + + Other changes have been made to the file as well, so it's + recommended to pay extra attention if prompted by dpkg about + it during an upgrade. + + -- Andrea Bolognani Mon, 15 Feb 2021 00:45:40 +0100 + +libvirt (6.9.0-4) unstable; urgency=medium + + The configuration for the default network and the default set + of nwfilters have been moved from the libvirt-daemon-system + package to the new libvirt-daemon-config-network and + libvirt-daemon-config-nwfilter packages respectively. + + -- Andrea Bolognani Thu, 21 Jan 2020 21:54:03 +0100 + +libvirt (6.0.0-2) unstable; urgency=medium + + Since sysv init scripts were split into a separate + package, systems not using systemd as init system need to install + libvirt-daemon-system-sysv. This helps to support init system specific + features on both sysv and systemd based systems. + + -- Guido Günther Sat, 14 Mar 2020 12:38:09 +0100 + +libvirt (5.0.0-1) unstable; urgency=medium + + Sheepdog support has been removed since sheepdog is unmaintained + in Debian. See #918947. + + -- Guido Günther Sun, 13 Jan 2019 13:20:54 +0100 + +libvirt (2.5.0-2) unstable; urgency=medium + + libvirt-daemon-system now uses the allocated uid and gid 64055 + for the libvirt-qemu user and group on new installations, when + the uid/gid is available (otherwise a debconf warning is shown). + + On existing installations, which have different uid/gid values + assigned, the recommended procedure is to reassign the uid/gid + (might require considerations for ownership/permission changes). + No debconf warning is shown in this case; only this NEWS entry. + + This change is in order to prevent I/O errors during migration + of guests with disk image files shared over NFS, caused by the + different uid/gid ownership between the source and destination + host systems, which leads to access/permission errors with NFS. + + If guest migration over NFS is not a requirement in the system, + there should not be any impact to the guests for not using the + allocated uid/gid. + + -- Mauricio Faria de Oliveira Thu, 18 Nov 2016 13:56:38 -0200 + +libvirt (1.2.9~rc1-1) experimental; urgency=medium + + libvirtd now uses PolicyKit instead of unix socket domain permissions for r/w + connections. This has the advantage of requiring less reconfiguration when + using ACL based access and bringing us closer to upstream's recommendations. + In order to keep old configurations working we're still allowing all members + of the libvirt group full access via /etc/polkit-1/rules.d/60-libvirt.rules. + + If you want to continue to use socket permission based access control you can + still configure it in /etc/libvirt/libvirtd.conf. + + -- Guido Günther Sat, 27 Sep 2014 19:22:46 +0200 diff --git a/debian/libvirt-daemon-system.bug-presubj b/debian/libvirt-daemon-system.bug-presubj new file mode 100644 index 0000000000..9e1affb006 --- /dev/null +++ b/debian/libvirt-daemon-system.bug-presubj @@ -0,0 +1,5 @@ +When reporting issues regarding libvirt and libvirtd please make sure you at +least include the relevant log parts and your vm configuration. + +https://wiki.debian.org/libvirt/Debugging has more information on howto provide +debugging information for the virt-* tools. diff --git a/debian/libvirt-daemon-system.config b/debian/libvirt-daemon-system.config new file mode 100644 index 0000000000..e3d72b91e7 --- /dev/null +++ b/debian/libvirt-daemon-system.config @@ -0,0 +1,34 @@ +#!/bin/sh -e + +# Only perform this check/warning if the libvirt user groups aren't there +# already +if getent passwd libvirt-qemu >/dev/null \ +&& getent group libvirt-qemu >/dev/null; then + exit 0 +fi + +# Source debconf library. +. /usr/share/debconf/confmodule + +# Allocated UID and GID for libvirt-qemu +LIBVIRT_QEMU_UID=64055 +LIBVIRT_QEMU_GID=64055 + +# Check if allocated UID/GID are assigned to a different user/group. +UID_TO_NAME="$(getent passwd $LIBVIRT_QEMU_UID | cut -d: -f1)" +GID_TO_NAME="$(getent group $LIBVIRT_QEMU_GID | cut -d: -f1)" + +if ( [ -n "$UID_TO_NAME" ] && [ "$UID_TO_NAME" != 'libvirt-qemu' ] ) \ +|| ( [ -n "$GID_TO_NAME" ] && [ "$GID_TO_NAME" != 'libvirt-qemu' ] ) \ +then + # Ask if the user would like to continue or abort installation. + db_input high libvirt-daemon-system/id_warning || true + db_go + db_get libvirt-daemon-system/id_warning + if [ "$RET" = "false" ]; then + exit 1 + fi +fi + +db_stop +exit 0 diff --git a/debian/libvirt-daemon-system.dirs b/debian/libvirt-daemon-system.dirs new file mode 100644 index 0000000000..51d030e3ec --- /dev/null +++ b/debian/libvirt-daemon-system.dirs @@ -0,0 +1,15 @@ +etc/libvirt/hooks +etc/libvirt/nwfilter +etc/libvirt/qemu/networks +etc/libvirt/qemu/networks/autostart +usr/share/polkit-1/rules.d/ +var/cache/libvirt +var/cache/libvirt/qemu +var/lib/libvirt/boot +var/lib/libvirt/images +var/lib/libvirt/qemu +var/lib/libvirt/qemu/channel/target +var/lib/libvirt/sanlock +var/log/libvirt/lxc +var/log/libvirt/qemu +var/log/libvirt/uml diff --git a/debian/libvirt-daemon-system.docs b/debian/libvirt-daemon-system.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-daemon-system.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-daemon-system.examples b/debian/libvirt-daemon-system.examples new file mode 100644 index 0000000000..cfde4a8fd4 --- /dev/null +++ b/debian/libvirt-daemon-system.examples @@ -0,0 +1,2 @@ +usr/lib/sysctl.d/libvirtd.sysctl +usr/lib/sysctl.d/qemu-postcopy-migration.sysctl diff --git a/debian/libvirt-daemon-system.install b/debian/libvirt-daemon-system.install new file mode 100644 index 0000000000..b4bc3bf1c0 --- /dev/null +++ b/debian/libvirt-daemon-system.install @@ -0,0 +1,15 @@ +etc/libvirt/libvirtd.conf +etc/libvirt/qemu-lockd.conf +etc/libvirt/qemu.conf +etc/libvirt/virtlockd.conf +etc/libvirt/virtlogd.conf +etc/logrotate.d/libvirtd +etc/logrotate.d/libvirtd.libxl +etc/logrotate.d/libvirtd.lxc +etc/logrotate.d/libvirtd.qemu +etc/sasl2/libvirt.conf +usr/lib/firewalld/zones/libvirt.xml +usr/share/polkit-1/actions/org.libvirt.api.policy +usr/share/polkit-1/actions/org.libvirt.unix.policy +usr/share/polkit-1/rules.d/60-libvirt.rules +var/lib/polkit-1/localauthority/10-vendor.d/60-libvirt.pkla diff --git a/debian/libvirt-daemon-system.libvirt-guests.default b/debian/libvirt-daemon-system.libvirt-guests.default new file mode 100644 index 0000000000..4b09bdbc2b --- /dev/null +++ b/debian/libvirt-daemon-system.libvirt-guests.default @@ -0,0 +1,50 @@ +# Customizations for the libvirt-guests.service systemd unit + +# URIs to check for running guests +# example: URIS='default xen:///system vbox+tcp://host/system lxc:///system' +#URIS=default + +# action taken on host boot +# - start all guests which were running on shutdown are started on boot +# regardless on their autostart settings +# - ignore libvirt-guests init script won't start any guest on boot, however, +# guests marked as autostart will still be automatically started by +# libvirtd +#ON_BOOT=ignore + +# Number of seconds to wait between each guest start. Set to 0 to allow +# parallel startup. +#START_DELAY=0 + +# action taken on host shutdown +# - suspend all running guests are suspended using virsh managedsave +# - shutdown all running guests are asked to shutdown. Please be careful with +# this settings since there is no way to distinguish between a +# guest which is stuck or ignores shutdown requests and a guest +# which just needs a long time to shutdown. When setting +# ON_SHUTDOWN=shutdown, you must also set SHUTDOWN_TIMEOUT to a +# value suitable for your guests. +#ON_SHUTDOWN=shutdown + +# Number of guests will be shutdown concurrently, taking effect when +# "ON_SHUTDOWN" is set to "shutdown". If Set to 0, guests will be shutdown one +# after another. Number of guests on shutdown at any time will not exceed number +# set in this variable. +#PARALLEL_SHUTDOWN=0 + +# Number of seconds we're willing to wait for a guest to shut down. If parallel +# shutdown is enabled, this timeout applies as a timeout for shutting down all +# guests on a single URI defined in the variable URIS. If this is 0, then there +# is no time out (use with caution, as guests might not respond to a shutdown +# request). The default value is 300 seconds (5 minutes). +#SHUTDOWN_TIMEOUT=300 + +# If non-zero, try to bypass the file system cache when saving and +# restoring guests, even though this may give slower operation for +# some file systems. +#BYPASS_CACHE=0 + +# If non-zero, try to sync guest time on domain resume. Be aware, that +# this requires guest agent with support for time synchronization +# running in the guest. By default, this functionality is turned off. +#SYNC_TIME=1 diff --git a/debian/libvirt-daemon-system.libvirtd.default b/debian/libvirt-daemon-system.libvirtd.default new file mode 100644 index 0000000000..dc4d9b6a07 --- /dev/null +++ b/debian/libvirt-daemon-system.libvirtd.default @@ -0,0 +1,39 @@ +# Customizations for the libvirtd.service systemd unit + +LIBVIRTD_ARGS="" + +# The default upstream behavior is for libvirtd.service to +# start on boot, perform VM autostart and shutdown again if +# nothing was started; later on, systemd socket activation +# is used to start it again when some client app connects. +# +# The following can be used to enable this behavior +#LIBVIRTD_ARGS="--timeout 120" + +# If systemd socket activation is disabled, then the following +# can be used to listen on TCP/TLS sockets +#LIBVIRTD_ARGS="--listen" + +# Override the QEMU/SDL default audio driver probing when +# starting virtual machines using SDL graphics +# +# NB these have no effect for VMs using VNC, unless vnc_allow_host_audio +# is enabled in /etc/libvirt/qemu.conf +#QEMU_AUDIO_DRV=sdl +# +#SDL_AUDIODRIVER=pulse + +############################################################# +### The following settings are IGNORED when using systemd ### +############################################################# + +# This option can be used to prevent libvirtd from starting at boot +# even when the corresponding sysv service is enabled; a much better +# solution is to disable the service instead +#start_libvirtd=no + +# Whether to mount a systemd like cgroup layout +#mount_cgroups=yes + +# Which cgroups to mount +#cgroups="memory devices" diff --git a/debian/libvirt-daemon-system.lintian-overrides b/debian/libvirt-daemon-system.lintian-overrides new file mode 100644 index 0000000000..257bd0479c --- /dev/null +++ b/debian/libvirt-daemon-system.lintian-overrides @@ -0,0 +1,5 @@ +# SysV init support is implemented in the libvirt-daemon-system-sysv package +libvirt-daemon-system: package-supports-alternative-init-but-no-init.d-script [lib/systemd/system/libvirt-guests.service] +libvirt-daemon-system: package-supports-alternative-init-but-no-init.d-script [lib/systemd/system/libvirtd.service] +libvirt-daemon-system: package-supports-alternative-init-but-no-init.d-script [lib/systemd/system/virtlockd.service] +libvirt-daemon-system: package-supports-alternative-init-but-no-init.d-script [lib/systemd/system/virtlogd.service] diff --git a/debian/libvirt-daemon-system.maintscript b/debian/libvirt-daemon-system.maintscript new file mode 100644 index 0000000000..4d9af383b2 --- /dev/null +++ b/debian/libvirt-daemon-system.maintscript @@ -0,0 +1,5 @@ +# drop sysV scripts to avoid upgrade issues with virtlogd-admin.socket (LP: #1786179) +rm_conffile /etc/init.d/libvirt-guests 5.6.0-3~ libvirt-daemon-system +rm_conffile /etc/init.d/libvirtd 5.6.0-3~ libvirt-daemon-system +rm_conffile /etc/init.d/virtlogd 5.6.0-3~ libvirt-daemon-system +rm_conffile /etc/logrotate.d/libvirtd.uml 5.0.0-2~ diff --git a/debian/libvirt-daemon-system.postinst b/debian/libvirt-daemon-system.postinst new file mode 100644 index 0000000000..b548a1afd7 --- /dev/null +++ b/debian/libvirt-daemon-system.postinst @@ -0,0 +1,216 @@ +#!/bin/sh + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +. /usr/share/debconf/confmodule + +# Allocated UID and GID for libvirt-qemu +LIBVIRT_QEMU_UID=64055 +LIBVIRT_QEMU_GID=64055 + +add_users_groups() +{ + if ! getent group libvirt >/dev/null; then + addgroup --quiet --system libvirt + fi + + if ! getent group kvm >/dev/null; then + addgroup --quiet --system kvm + fi + # user and group libvirt runs qemu/kvm instances with + if ! getent passwd libvirt-qemu >/dev/null; then + + # set uid if available (expected); don't fail otherwise. + PARAMETER_UID='' + if ! getent passwd $LIBVIRT_QEMU_UID >/dev/null; then + PARAMETER_UID="--uid $LIBVIRT_QEMU_UID" + fi + + adduser --quiet \ + --system \ + --ingroup kvm \ + --quiet \ + --disabled-login \ + --disabled-password \ + --home /var/lib/libvirt \ + --no-create-home \ + --gecos "Libvirt Qemu" \ + $PARAMETER_UID \ + libvirt-qemu + fi + if ! getent group libvirt-qemu >/dev/null; then + + # set gid if available (expected); don't fail otherwise. + PARAMETER_GID='' + if ! getent group $LIBVIRT_QEMU_GID >/dev/null; then + PARAMETER_GID="--gid $LIBVIRT_QEMU_GID" + fi + + addgroup --quiet --system $PARAMETER_GID libvirt-qemu + adduser --quiet libvirt-qemu libvirt-qemu + fi +} + +add_statoverrides() +{ + ROOT_DIRS=" + /var/lib/libvirt/images/ + /var/lib/libvirt/boot/ + /var/cache/libvirt/ + /var/cache/libvirt/qemu/ + " + + QEMU_DIRS=" + /var/lib/libvirt/qemu/ + /var/lib/libvirt/qemu/channel/ + /var/lib/libvirt/qemu/channel/target/ + " + + SANLOCK_DIR="/var/lib/libvirt/sanlock" + + QEMU_CONF="/etc/libvirt/qemu.conf" + + for dir in ${ROOT_DIRS}; do + if ! dpkg-statoverride --list "${dir}" >/dev/null 2>&1; then + [ ! -e "${dir}" ] || chown root:root "${dir}" + [ ! -e "${dir}" ] || chmod 0711 "${dir}" + fi + done + + for dir in ${QEMU_DIRS}; do + if ! dpkg-statoverride --list "${dir}" >/dev/null 2>&1; then + [ ! -e "${dir}" ] || chown libvirt-qemu:libvirt-qemu "${dir}" + [ ! -e "${dir}" ] || chmod 0750 "${dir}" + fi + done + + if ! dpkg-statoverride --list "${SANLOCK_DIR}" >/dev/null 2>&1; then + [ ! -e "${SANLOCK_DIR}" ] || chown root:root "${SANLOCK_DIR}" + [ ! -e "${SANLOCK_DIR}" ] || chmod 0700 "${SANLOCK_DIR}" + fi + + if ! dpkg-statoverride --list "${QEMU_CONF}" >/dev/null 2>&1; then + [ ! -e "${QEMU_CONF}" ] || chown root:root "${QEMU_CONF}" + [ ! -e "${QEMU_CONF}" ] || chmod 0600 "${QEMU_CONF}" + fi +} + +systemd_daemon_reload() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + systemctl --system daemon-reload >/dev/null || true + fi +} + +systemd_unit_enable() { + for unit in "$@"; do + deb-systemd-helper unmask "$unit" >/dev/null || true + # was-enabled defaults to true, so new installations run enable. + if deb-systemd-helper --quiet was-enabled "$unit"; then + # Enables the unit on first installation, creates new + # symlinks on upgrades if the unit file has changed. + deb-systemd-helper enable "$unit" >/dev/null || true + else + # Update the statefile to add new symlinks (if any), which need to be + # cleaned up on purge. Also remove old symlinks. + deb-systemd-helper update-state "$unit" >/dev/null || true + fi + done +} + +systemd_unit_start() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + deb-systemd-invoke start "$@" >/dev/null || true + fi +} + +systemd_unit_restart() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + deb-systemd-invoke restart "$@" >/dev/null || true + fi +} + +systemd_unit_reload() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + for unit in "$@"; do + if systemctl is-active -q "$unit"; then + deb-systemd-invoke reload "$unit" >/dev/null || true + else + deb-systemd-invoke start "$unit" >/dev/null || true + fi + done + fi +} + +case "$1" in + configure) + add_users_groups + add_statoverrides + + # Make sure the directories don't get removed on package removal since + # logrotate chokes otherwise. + for dir in qemu uml lxc; do + touch /var/log/libvirt/"${dir}"/.placeholder + done + # Remove left over empty directory from pre 1.2.7 + [ ! -d /etc/apparmor.d/libvirtd ] || rmdir --ignore-fail-on-non-empty /etc/apparmor.d/libvirtd + + # Force refresh of capabilities (#731815) + rm -f /var/cache/libvirt/qemu/capabilities/*.xml + + # dh_apparmor can't work with dir/file profile filenames yet (#979500) + # Also we don't want the reload section of dh_apparmor. Just the + # install of an empty include. + ABSTRACTIONS_DIR="/etc/apparmor.d/abstractions" + LOCAL_ABSTRACTIONS_DIR="/etc/apparmor.d/local/abstractions" + LIBVIRT_ABSTRACTIONS="libvirt-lxc libvirt-qemu" + + for name in $LIBVIRT_ABSTRACTIONS; do + abstraction="$ABSTRACTIONS_DIR/$name" + local_abstraction="$LOCAL_ABSTRACTIONS_DIR/$name" + + if [ -e "$abstraction" ] && [ ! -e "$local_abstraction" ]; then + mkdir -p "$LOCAL_ABSTRACTIONS_DIR" + install -m 0644 /dev/null "$local_abstraction" + fi + done + + systemd_daemon_reload + systemd_unit_enable virtlockd.service virtlockd.socket virtlockd-admin.socket + systemd_unit_enable virtlogd.service virtlogd.socket virtlogd-admin.socket + systemd_unit_enable libvirtd.service libvirtd.socket libvirtd-admin.socket libvirtd-ro.socket + systemd_unit_enable libvirt-guests.service + systemd_unit_start virtlogd.socket virtlogd-admin.socket + systemd_unit_reload virtlogd.service + systemd_unit_start virtlockd.socket virtlockd-admin.socket + systemd_unit_reload virtlockd.service + systemd_unit_start libvirtd.socket libvirtd-admin.socket libvirtd-ro.socket + systemd_unit_restart libvirtd.service + systemd_unit_start libvirt-guests.service + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +db_stop + +#DEBHELPER# + +exit 0 diff --git a/debian/libvirt-daemon-system.postrm b/debian/libvirt-daemon-system.postrm new file mode 100644 index 0000000000..866cf1743c --- /dev/null +++ b/debian/libvirt-daemon-system.postrm @@ -0,0 +1,180 @@ +#!/bin/sh + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +abort_conffile_transfer() { + local conffile="$1" + local lastver="$2" + local pkgfrom="$3" + local pkgto="$4" + + if [ "$5" != "--" ]; then + echo "abort_conffile_transfer called with the wrong number of arguments" >&2 + return 1 + fi + for _ in $(seq 1 5); do + shift + done + + # If we were installing from scratch or upgrading from a new enough version + # when the error occurred, then no transfer was in progress and we don't + # need to rollback any changes + if [ -z "$2" ] || dpkg --compare-versions -- "$2" gt "$lastver"; then + return 0 + fi + + # If the conffile was being transferred, return it to its original location + if [ -e "$conffile.dpkg-transfer" ]; then + mv -f "$conffile.dpkg-transfer" "$conffile" + fi + + # Clean up additional state + rm -f "$conffile.dpkg-disappear" +} + +systemd_daemon_reload() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + systemctl --system daemon-reload >/dev/null || true + fi +} + +systemd_unit_disable() { + if [ -x "/usr/bin/deb-systemd-helper" ]; then + deb-systemd-helper mask "$@" >/dev/null || true + fi +} + +systemd_unit_delete() { + if [ -x "/usr/bin/deb-systemd-helper" ]; then + deb-systemd-helper purge "$@" >/dev/null || true + deb-systemd-helper unmask "$@" >/dev/null || true + fi +} + +NWFILTERS=" + allow-arp + allow-dhcp + allow-dhcp-server + allow-incoming-ipv4 + allow-ipv4 + clean-traffic + clean-traffic-gateway + no-arp-ip-spoofing + no-arp-mac-spoofing + no-arp-spoofing + no-ip-multicast + no-ip-spoofing + no-mac-broadcast + no-mac-spoofing + no-other-l2-traffic + no-other-rarp-traffic + qemu-announce-self + qemu-announce-self-rarp +" + +case "$1" in + remove) + systemd_daemon_reload + systemd_unit_disable libvirt-guests.service + systemd_unit_disable libvirtd.service libvirtd.socket libvirtd-admin.socket libvirtd-ro.socket + systemd_unit_disable virtlogd.service virtlogd.socket virtlogd-admin.socket + systemd_unit_disable virtlockd.service virtlockd.socket virtlockd-admin.socket + ;; + + purge) + systemd_daemon_reload + systemd_unit_delete libvirt-guests.service + systemd_unit_delete libvirtd.service libvirtd.socket libvirtd-admin.socket libvirtd-ro.socket + systemd_unit_delete virtlogd.service virtlogd.socket virtlogd-admin.socket + systemd_unit_delete virtlockd.service virtlockd.socket virtlockd-admin.socket + + if getent group libvirt >/dev/null; then + delgroup libvirt >/dev/null || true + fi + + if getent passwd libvirt-qemu >/dev/null; then + deluser libvirt-qemu >/dev/null || true + fi + + if getent group libvirt-qemu >/dev/null; then + delgroup libvirt-qemu >/dev/null || true + fi + + # Clean up logs and cached capabilities + rm -rf /var/log/libvirt \ + /var/cache/libvirt/qemu/capabilities + + # Clean up created dirs if existent and empty, they contain precious + # data otherwise + for dir in /var/lib/libvirt/qemu/save \ + /var/lib/libvirt/qemu/snapshot \ + /var/lib/libvirt/qemu/dump \ + /var/lib/libvirt/qemu/nvram \ + /var/lib/libvirt/qemu/ram/libvirt/qemu \ + /var/lib/libvirt/qemu/ram/libvirt \ + /var/lib/libvirt/qemu/ram \ + /var/lib/libvirt/qemu/channel \ + /var/lib/libvirt/qemu \ + /var/cache/libvirt/qemu; do + [ ! -d $dir ] || rmdir --ignore-fail-on-non-empty $dir + done + ;; + + abort-install|abort-upgrade) + abort_conffile_transfer \ + "/etc/libvirt/qemu/networks/default.xml" \ + "6.9.0-2~" \ + "libvirt-daemon-system" \ + "libvirt-daemon-config-network" \ + -- \ + "$@" + for nwfilter in $NWFILTERS; do + abort_conffile_transfer \ + "/etc/libvirt/nwfilter/$nwfilter.xml" \ + "6.9.0-2~" \ + "libvirt-daemon-system" \ + "libvirt-daemon-config-nwfilter" \ + -- \ + "$@" + done + + # dh_apparmor can't work with dir/file profile filenames yet (#979500) + ABSTRACTIONS_DIR="/etc/apparmor.d/abstractions" + LOCAL_ABSTRACTIONS_DIR="/etc/apparmor.d/local/abstractions" + LIBVIRT_ABSTRACTIONS="libvirt-lxc libvirt-qemu" + for name in $LIBVIRT_ABSTRACTIONS; do + abstraction="$ABSTRACTIONS_DIR/$name" + local_abstraction="$LOCAL_ABSTRACTIONS_DIR/$name" + + if [ ! -e "$abstraction" ] ; then + rm -f "$local_abstraction" + rmdir --ignore-fail-on-non-empty "$LOCAL_ABSTRACTIONS_DIR" 2>/dev/null + fi + done + ;; + + upgrade|failed-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/libvirt-daemon-system.preinst b/debian/libvirt-daemon-system.preinst new file mode 100644 index 0000000000..beea3bd91e --- /dev/null +++ b/debian/libvirt-daemon-system.preinst @@ -0,0 +1,103 @@ +#!/bin/sh + +set -e + +# summary of how this script can be called: +# * `install` +# * `install` +# * `upgrade` +# * `abort-upgrade` +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +prepare_conffile_transfer() { + local conffile="$1" + local lastver="$2" + local pkgfrom="$3" + local pkgto="$4" + + if [ "$5" != "--" ]; then + echo "prepare_conffile_transfer called with the wrong number of arguments" >&2 + return 1 + fi + for _ in $(seq 1 5); do + shift + done + + # If we're installing from scratch or upgrading from a new enough version + # of the package, then no transfer needs to happen and we can stop here + if [ -z "$2" ] || dpkg --compare-versions -- "$2" gt "$lastver"; then + return 0 + fi + + # Depending on the current state of the conffile, we need to perform different + # steps to transfer it. Moving the conffile to a different location depending + # on its current state achieves two goals: dpkg will see the conffile is no + # longer present on disk after $pkgfrom has been upgraded, and so it will no + # longer associate it with that package (not even as an obsolete conffile); + # more importanly, $pkgto's postinst, where the transfer process is completed, + # will be able to figure out the original state of the conffile and make sure + # it is restored + if [ -e "$conffile" ]; then + echo "Preparing transfer of config file $conffile (from $pkgfrom to $pkgto) ..." + mv -f "$conffile" "$conffile.dpkg-transfer" + else + # If the conffile is no longer present on the disk, it means the admin + # has deleted it, and we should preserve this local modification + touch "$conffile.dpkg-disappear" + fi +} + +NWFILTERS=" + allow-arp + allow-dhcp + allow-dhcp-server + allow-incoming-ipv4 + allow-ipv4 + clean-traffic + clean-traffic-gateway + no-arp-ip-spoofing + no-arp-mac-spoofing + no-arp-spoofing + no-ip-multicast + no-ip-spoofing + no-mac-broadcast + no-mac-spoofing + no-other-l2-traffic + no-other-rarp-traffic + qemu-announce-self + qemu-announce-self-rarp +" + +case "$1" in + install|upgrade) + prepare_conffile_transfer \ + "/etc/libvirt/qemu/networks/default.xml" \ + "6.9.0-2~" \ + "libvirt-daemon-system" \ + "libvirt-daemon-config-network" \ + -- \ + "$@" + for nwfilter in $NWFILTERS; do + prepare_conffile_transfer \ + "/etc/libvirt/nwfilter/$nwfilter.xml" \ + "6.9.0-2~" \ + "libvirt-daemon-system" \ + "libvirt-daemon-config-nwfilter" \ + -- \ + "$@" + done + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/libvirt-daemon-system.prerm b/debian/libvirt-daemon-system.prerm new file mode 100644 index 0000000000..88f633b4e1 --- /dev/null +++ b/debian/libvirt-daemon-system.prerm @@ -0,0 +1,39 @@ +#!/bin/sh + +set -e + +# summary of how this script can be called: +# * `remove` +# * `upgrade` +# * `failed-upgrade` +# * `deconfigure` `in-favour` +# * `remove` `in-favour` +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +systemd_unit_stop() { + if [ -z "${DPKG_ROOT:-}" ] && [ -d /run/systemd/system ]; then + deb-systemd-invoke stop "$@" >/dev/null || true + fi +} + +case "$1" in + remove) + systemd_unit_stop libvirt-guests.service + systemd_unit_stop libvirtd.service libvirtd.socket libvirtd-admin.socket libvirtd-ro.socket + systemd_unit_stop virtlogd.service virtlogd.socket virtlogd-admin.socket + systemd_unit_stop virtlockd.service virtlockd.socket virtlockd-admin.socket + ;; + + upgrade|failed-upgrade|deconfigure) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/libvirt-daemon-system.templates b/debian/libvirt-daemon-system.templates new file mode 100644 index 0000000000..1659a4a578 --- /dev/null +++ b/debian/libvirt-daemon-system.templates @@ -0,0 +1,18 @@ +Template: libvirt-daemon-system/id_warning +Type: boolean +Default: true +_Description: Continue with incorrect libvirt-qemu user/group ID(s)? + The user/group ID (uid/gid) allocated for libvirt-qemu (64055) + seems to be taken by another user/group, thus it is not possible + to create the user/group with this numeric ID. + . + The migration of guests with disk image files shared over NFS + requires a static libvirt-qemu user and group ID (uid and gid) + between the source and destination host systems. + . + If guest migration over NFS is not required, you can continue + the installation. + . + In order to resolve this problem, do not continue the installation, + release the 64055 uid/gid (which might involve permission changes), + then install this package again. diff --git a/debian/libvirt-daemon-system.virtlockd.default b/debian/libvirt-daemon-system.virtlockd.default new file mode 100644 index 0000000000..03aea9e1bc --- /dev/null +++ b/debian/libvirt-daemon-system.virtlockd.default @@ -0,0 +1,3 @@ +# Customizations for the virtlockd.service systemd unit + +VIRTLOCKD_ARGS="" diff --git a/debian/libvirt-daemon-system.virtlogd.default b/debian/libvirt-daemon-system.virtlogd.default new file mode 100644 index 0000000000..67993e83ce --- /dev/null +++ b/debian/libvirt-daemon-system.virtlogd.default @@ -0,0 +1,3 @@ +# Customizations for the virtlogd.service systemd unit + +VIRTLOGD_ARGS="" diff --git a/debian/libvirt-daemon.NEWS b/debian/libvirt-daemon.NEWS new file mode 100644 index 0000000000..a96266445a --- /dev/null +++ b/debian/libvirt-daemon.NEWS @@ -0,0 +1,75 @@ +libvirt (7.6.0-1) unstable; urgency=medium + + netcf support is now disabled in libvirt. + + This results in most virInterface* APIs, as well as the + corresponding iface-* virsh commands, becoming non-functional, + and mirrors upstream's decision to deprecate the feature. + + -- Andrea Bolognani Tue, 17 Aug 2021 20:56:14 +0200 + +libvirt (5.6.0-3) unstable; urgency=medium + + Just as version 3.7.0-3 separated the storage drivers into individual + binary packages - for a smaller amount of default dependencies and the + ability to reduce the active codebase for security concerns - this is + now done for the connection drivers as well. + + Internal drivers such as interface, network and storage stay part of the + libvirt-daemon package for now. But lxc, qemu, vbox and xen are in packages + like libvirt-daemon-driver-. + By default libvirt-daemon depends on the qemu connection (most common + use case) and recommends the further formerly integrated connection types. + This allows users concerned about size or active codebase to remove those + drivers they do not use. + + -- Christian Ehrhardt Thu, 04 Apr 2019 15:07:34 +0200 + +libvirt (1.1.4-2) unstable; urgency=low + + If you're using cgroups make sure you're using a different mount per cgroup + controller (cpu, memory, ...) that is mounted to /sys/fs/cgroup/. + This can be achieved using mount_cgroups in /etc/default/libvirt-bin or by + using systemd. Using a single mount point /sys/fs/cgroup for all controllers + will no longer work and will prevent vms from starting. See + + http://libvirt.org/cgroups.html + + for more information. If you're not using cgroups nothing has to be changed. + + -- Guido Günther Sun, 01 Dec 2013 19:33:56 +0100 + +libvirt (1.0.2-3) experimental; urgency=low + + For qemu:///system KVM/QEMU processes now run as group libvirt-qemu. This + makes sure image files and volumes aren't accessible by users in the more + general and previously used kvm group. To change this behaviour adjust the + group option in /etc/libvirt/qemu.conf. + + -- Guido Günther Tue, 26 Feb 2013 06:30:48 +0100 + +libvirt (0.8.3-2) unstable; urgency=low + + Disk format probing is disabled now by default for security reasons + (CVE-2010-2237). You need to explicitly add a driver type element to your + disk devices in the domain XML: + + + + ... + + + Alternatively you can re-enable probing by setting + allow_disk_format_probing=1 in /etc/libvirt/qemu.conf but this is insecure. + + -- Guido Günther Wed, 29 Sep 2010 13:10:02 +0200 + +libvirt (0.8.1-2) unstable; urgency=low + + If you're using a script such as /etc/qemu-ifup to set up QEMU network + interfaces, have a look at README.Debian about the new config option + clear_emulator_capabilities in /etc/libvirt/qemu.conf. + When using NAT via libvirt's default network you don't have to change + anything. + + -- Guido Günther Mon, 12 Jul 2010 19:58:35 +0200 diff --git a/debian/libvirt-daemon.README.Debian b/debian/libvirt-daemon.README.Debian new file mode 100644 index 0000000000..f64a7316d3 --- /dev/null +++ b/debian/libvirt-daemon.README.Debian @@ -0,0 +1,118 @@ +Xen +=== +Libvirt uses libxl to manage xen domains. In order to migrate your +configuration from a xend based setup use: + + virsh define <(virsh domxml-from-native xen-xm /etc/xen/yourxendomain.cfg) + +For some more details see #783901. + +Debugging +========= +Use LIBVIRT_DEBUG=1 to enable libvirt's debugging output, e.g.: + +LIBVIRT_DEBUG=1 +export LIBVIRT_DEBUG +virt-manager + +The default NAT network +======================= +To ease network configuration libvirt defines a NATed network named "default". +VMs using this network end up in 192.168.122.1/24 and DHCP is provided to them +via dnsmasq. This network is not automatically started. To start it use: + + virsh net-start default + +To make the default network start automatically use: + + virsh net-autostart default + +In order for things to work this way you need to have the recommended packages +dnsmasq-base, bridge-utils and iptables installed. + +You don't need the package dnsmasq. However, if you install it, Debian's +default dnsmasq needs to be adjusted slightly to interoperate with libvirtd: + +cat </etc/dnsmasq.d/00_libvirtd.conf +# only bind to loopback by default +interface=lo +bind-interfaces +EOF + +This makes dnsmasq only bind to the loopback interface by default so libvirtd +can handle the virtual bridges. + +Bridged network +=============== +libvirt can use the qemu-bridge-helper to create bridged network interfaces for +session domains. For this to work the helper must have the capability to create +TUN/TAP devices or must have the SUID permission set. +This can be done by running the following command as the user root: + + setcap cap_net_admin+ep /usr/lib/qemu/qemu-bridge-helper + +The allowed bridges must be configured in the file '/etc/qemu/bridge.conf'. For +each bridge add a line like 'allow br0'. + +Access Control +============== +Access to the libvirt managing tasks is controlled by PolicyKit. To ease +configuration membership in the "libvirt" group is sufficient. If you want to +manage VMs as non-root you need to add a user to that group. + +Note that this will allow users in this group to use all of libvirt's +API including modifying files on the host. For finer grained access +control have a look at libvirt's ACLs. + +System QEMU/KVM processes are run as user and group libvirt-qemu. This can be +adjusted via /etc/libvirt/qemu.conf. + +QEMU/KVM: Dropping Capabilties +============================== +Network interfaces of type "ethernet" use a script like /etc/qemu-ifup to set up +the network device. In order to make this work you need to set +"clear_emulator_capabilities" to "0" in /etc/libvirt/qemu.conf since you need +CAP_NET_ADMIN. +This used to be the default prior to 0.8.1 in the Debian package. + +SSH connections to the server +============================= + +If you want to connect to the libvirt server via SSH, you need to install +netcat-openbsd on the server and configure the nc alternative to use it. This +is done automatically when netcat-openbsd is installed if you do not have +previously modified the nc alternative. Please see the following bug reports +for a complete explanation: + + + + +Libvirt CPU models and microcode updates +======================================== +CPU microcode updates (e.g. via the intel-microcode package) might change the +available CPU flags. One example is version 3.20140913.1 of the intel-microcode +removing TSX-NI which results in the kernel no longer reporting the *hle* flag. + +In this case if you hard coded the CPU model in your virtual machine +configuration via: + + + Haswell + Intel + ... + + +and update the CPU microcode the VM might fail to start with errors like + + error: Failed to start domain foo + error: unsupported configuration: guest and host CPU are not compatible: Host CPU does not provide required features: hle + +since libvirt doesn't differentiate between microcode versions. It is therefore +recommended to copy over the needed CPU flags instead of hard coding the CPU +model. See + + + +for further details. + + -- Guido Günther Wen, 24 Dec 2014 09:55:41 +0200 diff --git a/debian/libvirt-daemon.docs b/debian/libvirt-daemon.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-daemon.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-daemon.install b/debian/libvirt-daemon.install new file mode 100644 index 0000000000..8317ec8273 --- /dev/null +++ b/debian/libvirt-daemon.install @@ -0,0 +1,37 @@ +usr/bin/virt-ssh-helper +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/connection-driver/libvirt_driver_interface.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/connection-driver/libvirt_driver_network.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/connection-driver/libvirt_driver_nodedev.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/connection-driver/libvirt_driver_nwfilter.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/connection-driver/libvirt_driver_secret.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/connection-driver/libvirt_driver_storage.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/lock-driver/lockd.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/storage-backend/libvirt_storage_backend_disk.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/storage-backend/libvirt_storage_backend_fs.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/storage-backend/libvirt_storage_backend_iscsi.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/storage-backend/libvirt_storage_backend_logical.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/storage-backend/libvirt_storage_backend_mpath.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/storage-backend/libvirt_storage_backend_scsi.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/storage-file/libvirt_storage_file_fs.so +usr/lib/libvirt/libvirt-guests.sh +usr/lib/libvirt/libvirt_iohelper +usr/lib/libvirt/libvirt_leaseshelper +usr/lib/libvirt/libvirt_parthelper +usr/sbin/libvirtd +usr/sbin/virtlockd +usr/sbin/virtlogd +usr/share/augeas/lenses/libvirt_lockd.aug +usr/share/augeas/lenses/libvirt_sanlock.aug +usr/share/augeas/lenses/libvirtd.aug +usr/share/augeas/lenses/tests/test_libvirt_lockd.aug +usr/share/augeas/lenses/tests/test_libvirt_sanlock.aug +usr/share/augeas/lenses/tests/test_libvirtd.aug +usr/share/augeas/lenses/tests/test_virtlockd.aug +usr/share/augeas/lenses/tests/test_virtlogd.aug +usr/share/augeas/lenses/virtlockd.aug +usr/share/augeas/lenses/virtlogd.aug +usr/share/man/man8/libvirt-guests.8 +usr/share/man/man8/libvirtd.8 +usr/share/man/man8/virt-ssh-helper.8 +usr/share/man/man8/virtlockd.8 +usr/share/man/man8/virtlogd.8 diff --git a/debian/libvirt-dev.docs b/debian/libvirt-dev.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-dev.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-dev.install b/debian/libvirt-dev.install new file mode 100644 index 0000000000..a9ec8689d2 --- /dev/null +++ b/debian/libvirt-dev.install @@ -0,0 +1,30 @@ +usr/include/libvirt/libvirt-admin.h +usr/include/libvirt/libvirt-common.h +usr/include/libvirt/libvirt-domain-checkpoint.h +usr/include/libvirt/libvirt-domain-snapshot.h +usr/include/libvirt/libvirt-domain.h +usr/include/libvirt/libvirt-event.h +usr/include/libvirt/libvirt-host.h +usr/include/libvirt/libvirt-interface.h +usr/include/libvirt/libvirt-lxc.h +usr/include/libvirt/libvirt-network.h +usr/include/libvirt/libvirt-nodedev.h +usr/include/libvirt/libvirt-nwfilter.h +usr/include/libvirt/libvirt-qemu.h +usr/include/libvirt/libvirt-secret.h +usr/include/libvirt/libvirt-storage.h +usr/include/libvirt/libvirt-stream.h +usr/include/libvirt/libvirt.h +usr/include/libvirt/virterror.h +usr/lib/${DEB_HOST_MULTIARCH}/libvirt-admin.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt-lxc.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt-qemu.so +usr/lib/${DEB_HOST_MULTIARCH}/libvirt.so +usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/libvirt-admin.pc +usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/libvirt-lxc.pc +usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/libvirt-qemu.pc +usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/libvirt.pc +usr/share/libvirt/api/libvirt-admin-api.xml +usr/share/libvirt/api/libvirt-api.xml +usr/share/libvirt/api/libvirt-lxc-api.xml +usr/share/libvirt/api/libvirt-qemu-api.xml diff --git a/debian/libvirt-doc.doc-base.libvirt-doc b/debian/libvirt-doc.doc-base.libvirt-doc new file mode 100644 index 0000000000..4279bbd6ad --- /dev/null +++ b/debian/libvirt-doc.doc-base.libvirt-doc @@ -0,0 +1,8 @@ +Document: libvirt-doc +Title: Libvirt the virtualization API +Abstract: Local copy of the web site of libvirt +Section: System/Administration + +Format: HTML +Index: /usr/share/doc/libvirt-doc/html/index.html +Files: /usr/share/doc/libvirt-doc/html/*.html diff --git a/debian/libvirt-doc.docs b/debian/libvirt-doc.docs new file mode 100644 index 0000000000..a243cb2d45 --- /dev/null +++ b/debian/libvirt-doc.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/* diff --git a/debian/libvirt-login-shell.docs b/debian/libvirt-login-shell.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-login-shell.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-login-shell.install b/debian/libvirt-login-shell.install new file mode 100644 index 0000000000..89f5e1cc0b --- /dev/null +++ b/debian/libvirt-login-shell.install @@ -0,0 +1,4 @@ +etc/libvirt/virt-login-shell.conf +usr/bin/virt-login-shell +usr/lib/libvirt/virt-login-shell-helper +usr/share/man/man1/virt-login-shell.1 diff --git a/debian/libvirt-login-shell.postinst b/debian/libvirt-login-shell.postinst new file mode 100644 index 0000000000..8501b08c77 --- /dev/null +++ b/debian/libvirt-login-shell.postinst @@ -0,0 +1,75 @@ +#!/bin/sh + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +finish_conffile_transfer() { + local conffile="$1" + local lastver="$2" + local pkgfrom="$3" + local pkgto="$4" + + if [ "$5" != "--" ]; then + echo "finish_conffile_transfer called with the wrong number of arguments" >&2 + return 1 + fi + for _ in $(seq 1 5); do + shift + done + + # If we're upgrading rather than installing from scratch, we can assume + # the transfer must have happened at some point in the past and stop here + if [ -n "$2" ]; then + return 0 + fi + + if [ -e "$conffile.dpkg-transfer" ]; then + # Complete the process started in $pkgfrom's preinst by restoring the + # version of the conffile containing local modifications + echo "Finishing transfer of config file $conffile (from $pkgfrom to $pkgto) ..." + mv -f "$conffile.dpkg-transfer" "$conffile" + return 0 + fi + + if [ -e "$conffile.dpkg-disappear" ]; then + # The conffile had been deleted by the admin, so let's return to + # that state + rm -f "$conffile" "$conffile.dpkg-disappear" + return 0 + fi +} + +case "$1" in + configure) + finish_conffile_transfer \ + "/etc/libvirt/virt-login-shell.conf" \ + "6.9.0-2~" \ + "libvirt-clients" \ + "libvirt-login-shell" \ + -- \ + "$@" + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/debian/libvirt-sanlock.cron.weekly b/debian/libvirt-sanlock.cron.weekly new file mode 100644 index 0000000000..a8dc9efb73 --- /dev/null +++ b/debian/libvirt-sanlock.cron.weekly @@ -0,0 +1,7 @@ +#!/bin/sh + +# Disabled by default +exit 0 + +/usr/sbin/virt-sanlock-cleanup -q +exit 0 diff --git a/debian/libvirt-sanlock.docs b/debian/libvirt-sanlock.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-sanlock.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-sanlock.install b/debian/libvirt-sanlock.install new file mode 100644 index 0000000000..d6d266f219 --- /dev/null +++ b/debian/libvirt-sanlock.install @@ -0,0 +1,4 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libvirt/lock-driver/sanlock.so +usr/lib/libvirt/libvirt_sanlock_helper +usr/sbin/virt-sanlock-cleanup +usr/share/man/man8/virt-sanlock-cleanup.8 diff --git a/debian/libvirt-wireshark.docs b/debian/libvirt-wireshark.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt-wireshark.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt-wireshark.install b/debian/libvirt-wireshark.install new file mode 100644 index 0000000000..e95a218338 --- /dev/null +++ b/debian/libvirt-wireshark.install @@ -0,0 +1 @@ +usr/lib/${DEB_HOST_MULTIARCH}/wireshark/plugins/*/epan/libvirt.so diff --git a/debian/libvirt0.docs b/debian/libvirt0.docs new file mode 100644 index 0000000000..b676877901 --- /dev/null +++ b/debian/libvirt0.docs @@ -0,0 +1 @@ +usr/share/doc/libvirt/NEWS diff --git a/debian/libvirt0.install b/debian/libvirt0.install new file mode 100644 index 0000000000..6e4826fe22 --- /dev/null +++ b/debian/libvirt0.install @@ -0,0 +1,156 @@ +usr/lib/${DEB_HOST_MULTIARCH}/libvirt-admin.so.0 +usr/lib/${DEB_HOST_MULTIARCH}/libvirt-admin.so.0.* +usr/lib/${DEB_HOST_MULTIARCH}/libvirt-lxc.so.0 +usr/lib/${DEB_HOST_MULTIARCH}/libvirt-lxc.so.0.* +usr/lib/${DEB_HOST_MULTIARCH}/libvirt-qemu.so.0 +usr/lib/${DEB_HOST_MULTIARCH}/libvirt-qemu.so.0.* +usr/lib/${DEB_HOST_MULTIARCH}/libvirt.so.0 +usr/lib/${DEB_HOST_MULTIARCH}/libvirt.so.0.* +usr/share/libvirt/cpu_map/arm_FT-2000plus.xml +usr/share/libvirt/cpu_map/arm_Falkor.xml +usr/share/libvirt/cpu_map/arm_Kunpeng-920.xml +usr/share/libvirt/cpu_map/arm_Tengyun-S2500.xml +usr/share/libvirt/cpu_map/arm_ThunderX299xx.xml +usr/share/libvirt/cpu_map/arm_cortex-a53.xml +usr/share/libvirt/cpu_map/arm_cortex-a57.xml +usr/share/libvirt/cpu_map/arm_cortex-a72.xml +usr/share/libvirt/cpu_map/arm_features.xml +usr/share/libvirt/cpu_map/arm_vendors.xml +usr/share/libvirt/cpu_map/index.xml +usr/share/libvirt/cpu_map/ppc64_POWER10.xml +usr/share/libvirt/cpu_map/ppc64_POWER6.xml +usr/share/libvirt/cpu_map/ppc64_POWER7.xml +usr/share/libvirt/cpu_map/ppc64_POWER8.xml +usr/share/libvirt/cpu_map/ppc64_POWER9.xml +usr/share/libvirt/cpu_map/ppc64_POWERPC_e5500.xml +usr/share/libvirt/cpu_map/ppc64_POWERPC_e6500.xml +usr/share/libvirt/cpu_map/ppc64_vendors.xml +usr/share/libvirt/cpu_map/x86_486.xml +usr/share/libvirt/cpu_map/x86_Broadwell-IBRS.xml +usr/share/libvirt/cpu_map/x86_Broadwell-noTSX-IBRS.xml +usr/share/libvirt/cpu_map/x86_Broadwell-noTSX.xml +usr/share/libvirt/cpu_map/x86_Broadwell.xml +usr/share/libvirt/cpu_map/x86_Cascadelake-Server-noTSX.xml +usr/share/libvirt/cpu_map/x86_Cascadelake-Server.xml +usr/share/libvirt/cpu_map/x86_Conroe.xml +usr/share/libvirt/cpu_map/x86_Cooperlake.xml +usr/share/libvirt/cpu_map/x86_Dhyana.xml +usr/share/libvirt/cpu_map/x86_EPYC-IBPB.xml +usr/share/libvirt/cpu_map/x86_EPYC-Milan.xml +usr/share/libvirt/cpu_map/x86_EPYC-Rome.xml +usr/share/libvirt/cpu_map/x86_EPYC.xml +usr/share/libvirt/cpu_map/x86_Haswell-IBRS.xml +usr/share/libvirt/cpu_map/x86_Haswell-noTSX-IBRS.xml +usr/share/libvirt/cpu_map/x86_Haswell-noTSX.xml +usr/share/libvirt/cpu_map/x86_Haswell.xml +usr/share/libvirt/cpu_map/x86_Icelake-Client-noTSX.xml +usr/share/libvirt/cpu_map/x86_Icelake-Client.xml +usr/share/libvirt/cpu_map/x86_Icelake-Server-noTSX.xml +usr/share/libvirt/cpu_map/x86_Icelake-Server.xml +usr/share/libvirt/cpu_map/x86_IvyBridge-IBRS.xml +usr/share/libvirt/cpu_map/x86_IvyBridge.xml +usr/share/libvirt/cpu_map/x86_Nehalem-IBRS.xml +usr/share/libvirt/cpu_map/x86_Nehalem.xml +usr/share/libvirt/cpu_map/x86_Opteron_G1.xml +usr/share/libvirt/cpu_map/x86_Opteron_G2.xml +usr/share/libvirt/cpu_map/x86_Opteron_G3.xml +usr/share/libvirt/cpu_map/x86_Opteron_G4.xml +usr/share/libvirt/cpu_map/x86_Opteron_G5.xml +usr/share/libvirt/cpu_map/x86_Penryn.xml +usr/share/libvirt/cpu_map/x86_SandyBridge-IBRS.xml +usr/share/libvirt/cpu_map/x86_SandyBridge.xml +usr/share/libvirt/cpu_map/x86_Skylake-Client-IBRS.xml +usr/share/libvirt/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml +usr/share/libvirt/cpu_map/x86_Skylake-Client.xml +usr/share/libvirt/cpu_map/x86_Skylake-Server-IBRS.xml +usr/share/libvirt/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml +usr/share/libvirt/cpu_map/x86_Skylake-Server.xml +usr/share/libvirt/cpu_map/x86_Snowridge.xml +usr/share/libvirt/cpu_map/x86_Westmere-IBRS.xml +usr/share/libvirt/cpu_map/x86_Westmere.xml +usr/share/libvirt/cpu_map/x86_athlon.xml +usr/share/libvirt/cpu_map/x86_core2duo.xml +usr/share/libvirt/cpu_map/x86_coreduo.xml +usr/share/libvirt/cpu_map/x86_cpu64-rhel5.xml +usr/share/libvirt/cpu_map/x86_cpu64-rhel6.xml +usr/share/libvirt/cpu_map/x86_features.xml +usr/share/libvirt/cpu_map/x86_kvm32.xml +usr/share/libvirt/cpu_map/x86_kvm64.xml +usr/share/libvirt/cpu_map/x86_n270.xml +usr/share/libvirt/cpu_map/x86_pentium.xml +usr/share/libvirt/cpu_map/x86_pentium2.xml +usr/share/libvirt/cpu_map/x86_pentium3.xml +usr/share/libvirt/cpu_map/x86_pentiumpro.xml +usr/share/libvirt/cpu_map/x86_phenom.xml +usr/share/libvirt/cpu_map/x86_qemu32.xml +usr/share/libvirt/cpu_map/x86_qemu64.xml +usr/share/libvirt/cpu_map/x86_vendors.xml +usr/share/libvirt/schemas/basictypes.rng +usr/share/libvirt/schemas/capability.rng +usr/share/libvirt/schemas/cpu.rng +usr/share/libvirt/schemas/cputypes.rng +usr/share/libvirt/schemas/domain.rng +usr/share/libvirt/schemas/domainbackup.rng +usr/share/libvirt/schemas/domaincaps.rng +usr/share/libvirt/schemas/domaincheckpoint.rng +usr/share/libvirt/schemas/domaincommon.rng +usr/share/libvirt/schemas/domainsnapshot.rng +usr/share/libvirt/schemas/interface.rng +usr/share/libvirt/schemas/network.rng +usr/share/libvirt/schemas/networkcommon.rng +usr/share/libvirt/schemas/networkport.rng +usr/share/libvirt/schemas/nodedev.rng +usr/share/libvirt/schemas/nwfilter.rng +usr/share/libvirt/schemas/nwfilter_params.rng +usr/share/libvirt/schemas/nwfilterbinding.rng +usr/share/libvirt/schemas/secret.rng +usr/share/libvirt/schemas/storagecommon.rng +usr/share/libvirt/schemas/storagepool.rng +usr/share/libvirt/schemas/storagepoolcaps.rng +usr/share/libvirt/schemas/storagevol.rng +usr/share/libvirt/test-screenshot.png +usr/share/locale/as/LC_MESSAGES/libvirt.mo +usr/share/locale/bg/LC_MESSAGES/libvirt.mo +usr/share/locale/bn_IN/LC_MESSAGES/libvirt.mo +usr/share/locale/bs/LC_MESSAGES/libvirt.mo +usr/share/locale/ca/LC_MESSAGES/libvirt.mo +usr/share/locale/cs/LC_MESSAGES/libvirt.mo +usr/share/locale/da/LC_MESSAGES/libvirt.mo +usr/share/locale/de/LC_MESSAGES/libvirt.mo +usr/share/locale/el/LC_MESSAGES/libvirt.mo +usr/share/locale/en_GB/LC_MESSAGES/libvirt.mo +usr/share/locale/es/LC_MESSAGES/libvirt.mo +usr/share/locale/fi/LC_MESSAGES/libvirt.mo +usr/share/locale/fr/LC_MESSAGES/libvirt.mo +usr/share/locale/gu/LC_MESSAGES/libvirt.mo +usr/share/locale/hi/LC_MESSAGES/libvirt.mo +usr/share/locale/hu/LC_MESSAGES/libvirt.mo +usr/share/locale/id/LC_MESSAGES/libvirt.mo +usr/share/locale/it/LC_MESSAGES/libvirt.mo +usr/share/locale/ja/LC_MESSAGES/libvirt.mo +usr/share/locale/ka/LC_MESSAGES/libvirt.mo +usr/share/locale/kn/LC_MESSAGES/libvirt.mo +usr/share/locale/ko/LC_MESSAGES/libvirt.mo +usr/share/locale/mk/LC_MESSAGES/libvirt.mo +usr/share/locale/ml/LC_MESSAGES/libvirt.mo +usr/share/locale/mr/LC_MESSAGES/libvirt.mo +usr/share/locale/ms/LC_MESSAGES/libvirt.mo +usr/share/locale/nb/LC_MESSAGES/libvirt.mo +usr/share/locale/nl/LC_MESSAGES/libvirt.mo +usr/share/locale/or/LC_MESSAGES/libvirt.mo +usr/share/locale/pa/LC_MESSAGES/libvirt.mo +usr/share/locale/pl/LC_MESSAGES/libvirt.mo +usr/share/locale/pt/LC_MESSAGES/libvirt.mo +usr/share/locale/pt_BR/LC_MESSAGES/libvirt.mo +usr/share/locale/ru/LC_MESSAGES/libvirt.mo +usr/share/locale/si/LC_MESSAGES/libvirt.mo +usr/share/locale/sr/LC_MESSAGES/libvirt.mo +usr/share/locale/sr@latin/LC_MESSAGES/libvirt.mo +usr/share/locale/sv/LC_MESSAGES/libvirt.mo +usr/share/locale/ta/LC_MESSAGES/libvirt.mo +usr/share/locale/te/LC_MESSAGES/libvirt.mo +usr/share/locale/tr/LC_MESSAGES/libvirt.mo +usr/share/locale/uk/LC_MESSAGES/libvirt.mo +usr/share/locale/vi/LC_MESSAGES/libvirt.mo +usr/share/locale/zh_CN/LC_MESSAGES/libvirt.mo +usr/share/locale/zh_TW/LC_MESSAGES/libvirt.mo diff --git a/debian/libvirt0.symbols b/debian/libvirt0.symbols new file mode 100644 index 0000000000..1b2176ac62 --- /dev/null +++ b/debian/libvirt0.symbols @@ -0,0 +1,160 @@ +libvirt.so.0 libvirt0 #MINVER# + *@LIBVIRT_0.0.3 0.0.3 + *@LIBVIRT_0.0.5 0.0.5 + *@LIBVIRT_0.1.0 0.1.0 + *@LIBVIRT_0.1.1 0.1.1 + *@LIBVIRT_0.1.4 0.1.4 + *@LIBVIRT_0.1.5 0.1.5 + *@LIBVIRT_0.1.9 0.1.9 + *@LIBVIRT_0.2.0 0.2.0 + *@LIBVIRT_0.2.1 0.2.1 + *@LIBVIRT_0.2.3 0.2.3 + *@LIBVIRT_0.3.0 0.3.0 + *@LIBVIRT_0.3.2 0.3.2 + *@LIBVIRT_0.3.3 0.3.3 + *@LIBVIRT_0.4.0 0.4.0 + *@LIBVIRT_0.4.1 0.4.1 + *@LIBVIRT_0.4.2 0.4.2 + *@LIBVIRT_0.4.5 0.4.5 + *@LIBVIRT_0.5.0 0.5.0 + *@LIBVIRT_0.6.0 0.6.0 + *@LIBVIRT_0.6.1 0.6.1 + *@LIBVIRT_0.6.3 0.6.3 + *@LIBVIRT_0.6.4 0.6.4 +#MISSING: 0.8.8-1# (symver|optional)LIBVIRT_0.6.5 0.6.5 + *@LIBVIRT_0.7.0 0.7.0 + *@LIBVIRT_0.7.1 0.7.1 + *@LIBVIRT_0.7.2 0.7.2 + *@LIBVIRT_0.7.3 0.7.3 +#MISSING: 0.8.8-1# (symver|optional)LIBVIRT_0.7.4 0.7.4 + *@LIBVIRT_0.7.5 0.7.5 +#MISSING: 0.8.8-1# (symver|optional)LIBVIRT_0.7.6 0.7.6 + *@LIBVIRT_0.7.7 0.7.7 + *@LIBVIRT_0.8.0 0.8.0 + *@LIBVIRT_0.8.1 0.8.1 + *@LIBVIRT_0.8.2 0.8.2 +#MISSING: 0.8.8-1# (symver|optional)LIBVIRT_0.8.3 0.8.3 +#MISSING: 0.8.8-1# (symver|optional)LIBVIRT_0.8.4 0.8.4 + *@LIBVIRT_0.8.5 0.8.5 + *@LIBVIRT_0.8.6 0.8.6 +#MISSING: 0.8.8-1# (symver|optional)LIBVIRT_0.8.7 0.8.7 + *@LIBVIRT_0.8.8 0.8.8 + *@LIBVIRT_0.9.0 0.9.0~rc1 + *@LIBVIRT_0.9.1 0.9.1 + *@LIBVIRT_0.9.2 0.9.2 + *@LIBVIRT_0.9.3 0.9.3 + *@LIBVIRT_0.9.4 0.9.4~rc1 + *@LIBVIRT_0.9.5 0.9.6 + *@LIBVIRT_0.9.7 0.9.7~rc1 + *@LIBVIRT_0.9.8 0.9.8~rc1 + *@LIBVIRT_0.9.9 0.9.9 + *@LIBVIRT_0.9.10 0.9.10~rc1 + *@LIBVIRT_0.9.11 0.9.11~rc1 + *@LIBVIRT_0.9.12 0.9.12~rc2 + *@LIBVIRT_0.9.13 0.9.13~rc1 + *@LIBVIRT_0.10.0 0.10.0~rc2 + *@LIBVIRT_0.10.2 0.10.2 + *@LIBVIRT_1.0.0 1.0.0~rc1 + *@LIBVIRT_1.0.1 1.0.1~rc1 + *@LIBVIRT_1.0.2 1.0.2~rc1 + *@LIBVIRT_1.0.3 1.0.3~rc2 + *@LIBVIRT_1.0.4 1.0.4 + *@LIBVIRT_1.0.5 1.0.5~rc1 + *@LIBVIRT_1.0.6 1.0.6 + *@LIBVIRT_1.1.0 1.1.0 + *@LIBVIRT_1.1.1 1.1.1 + *@LIBVIRT_1.1.2 1.1.2~rc1 + *@LIBVIRT_1.1.3 1.1.3~rc1 + *@LIBVIRT_1.1.4 1.1.4~rc1 + *@LIBVIRT_1.2.0 1.2.0~rc2 + *@LIBVIRT_1.2.1 1.2.1~rc1 + *@LIBVIRT_1.2.2 1.2.2 + *@LIBVIRT_1.2.3 1.2.3 + *@LIBVIRT_1.2.4 1.2.4~rc2 + *@LIBVIRT_1.2.5 1.2.5 + *@LIBVIRT_1.2.6 1.2.6 + *@LIBVIRT_1.2.7 1.2.7~rc2 + *@LIBVIRT_1.2.8 1.2.8~rc2 + *@LIBVIRT_1.2.9 1.2.9~rc1 + *@LIBVIRT_1.2.10 1.2.10~rc1 + *@LIBVIRT_1.2.11 1.2.11~rc1 + *@LIBVIRT_1.2.12 1.2.12~rc1 + *@LIBVIRT_1.2.13 1.2.13 + *@LIBVIRT_1.2.14 1.2.14~rc2 + *@LIBVIRT_1.2.15 1.2.15~rc1 + *@LIBVIRT_1.2.16 1.2.16~rc1 + *@LIBVIRT_1.2.17 1.2.17~rc2 + *@LIBVIRT_1.2.18 1.2.18 + *@LIBVIRT_1.2.19 1.2.19~rc1 + *@LIBVIRT_1.2.20 1.2.20 + *@LIBVIRT_1.2.21 1.2.21~rc1 + *@LIBVIRT_1.3.0 1.3.0~rc1 + *@LIBVIRT_1.3.1 1.3.1~rc1 + *@LIBVIRT_1.3.3 1.3.3~rc1 + *@LIBVIRT_1.3.4 1.3.4~rc1 + *@LIBVIRT_1.3.5 1.3.5~rc1 + *@LIBVIRT_2.0.0 2.0.0~rc1 + *@LIBVIRT_2.1.0 2.1.0~rc1 + *@LIBVIRT_2.2.0 2.2.0~rc1 + *@LIBVIRT_2.3.0 2.3.0~rc1 + *@LIBVIRT_2.4.0 2.4.0~rc1 + *@LIBVIRT_2.5.0 2.5.0 + *@LIBVIRT_3.0.0 3.0.0 + *@LIBVIRT_3.1.0 3.1.0~rc2 + *@LIBVIRT_3.4.0 3.4.0 + *@LIBVIRT_3.5.0 3.5.0 + *@LIBVIRT_3.6.0 3.6.0 + *@LIBVIRT_3.7.0 3.7.0 + *@LIBVIRT_3.8.0 3.8.0~rc1 + *@LIBVIRT_3.9.0 3.9.0~rc1 + *@LIBVIRT_3.10.0 3.10.0 + *@LIBVIRT_4.0.0 4.0.0~rc2 + *@LIBVIRT_4.1.0 4.1.0 + *@LIBVIRT_4.2.0 4.2.0 + *@LIBVIRT_4.3.0 4.3.0 + *@LIBVIRT_4.4.0 4.4.0 + *@LIBVIRT_4.5.0 4.5.0 + *@LIBVIRT_4.6.0 4.6.0 + *@LIBVIRT_4.7.0 4.7.0 + *@LIBVIRT_4.10.0 4.10.0 + *@LIBVIRT_5.0.0 5.0.0 + *@LIBVIRT_5.2.0 5.2.0~rc1 + *@LIBVIRT_5.5.0 5.6.0 + *@LIBVIRT_5.6.0 5.6.0 + *@LIBVIRT_5.7.0 6.0.0~rc1 + *@LIBVIRT_5.8.0 6.0.0~rc1 + *@LIBVIRT_5.10.0 6.0.0~rc1 + *@LIBVIRT_6.0.0 6.0.0~rc1 + *@LIBVIRT_6.10.0 7.0.0 + *@LIBVIRT_7.1.0 7.6.0 + *@LIBVIRT_7.2.0 7.6.0 + *@LIBVIRT_7.3.0 7.6.0 + *@LIBVIRT_7.7.0 7.9.0 + *@LIBVIRT_7.8.0 7.9.0 + *@LIBVIRT_8.0.0 8.0.0 + *@LIBVIRT_8.4.0 8.4.0 + *@LIBVIRT_8.5.0 8.5.0 + *@LIBVIRT_PRIVATE_8.5.0 8.5.0 + +libvirt-qemu.so.0 libvirt0 #MINVER# + *@LIBVIRT_QEMU_0.8.3 0.8.3 +#MISSING: 0.8.8-1# (symver|optional)LIBVIRT_QEMU_0.8.4 0.8.4 +#MISSING: 0.8.8-1# (symver|optional)LIBVIRT_QEMU_0.8.5 0.8.5 +#MISSING: 0.8.8-1# (symver|optional)LIBVIRT_QEMU_0.8.6 0.8.6 +#MISSING: 0.8.8-1# (symver|optional)LIBVIRT_QEMU_0.8.7 0.8.7 +#MISSING: 0.8.8-1# (symver|optional)LIBVIRT_QEMU_0.8.8 0.8.8 + *@LIBVIRT_QEMU_0.9.4 0.9.4~rc1 + *@LIBVIRT_QEMU_0.10.0 0.10.0~rc2 + *@LIBVIRT_QEMU_1.2.3 1.2.3 + *@LIBVIRT_QEMU_8.2.0 8.2.0 + +libvirt-lxc.so.0 libvirt0 #MINVER# + *@LIBVIRT_LXC_1.0.2 1.0.2~rc1 + *@LIBVIRT_LXC_1.0.4 1.0.4 + *@LIBVIRT_LXC_2.0.0 2.0.0~rc2 + +libvirt-admin.so.0 libvirt0 #MINVER# + *@LIBVIRT_ADMIN_1.3.0 1.2.18 + *@LIBVIRT_ADMIN_2.0.0 2.0.0~rc1 + *@LIBVIRT_ADMIN_3.0.0 3.0.0 + *@LIBVIRT_ADMIN_PRIVATE_8.5.0 8.5.0 diff --git a/debian/not-installed b/debian/not-installed new file mode 100644 index 0000000000..134409bf66 --- /dev/null +++ b/debian/not-installed @@ -0,0 +1,116 @@ +# Drop these once we start shipping split daemons +etc/apparmor.d/usr.sbin.virtqemud +etc/apparmor.d/usr.sbin.virtxend +etc/default/virtinterfaced +etc/default/virtlxcd +etc/default/virtnetworkd +etc/default/virtnodedevd +etc/default/virtnwfilterd +etc/default/virtproxyd +etc/default/virtqemud +etc/default/virtsecretd +etc/default/virtstoraged +etc/default/virtvboxd +etc/default/virtxend +# Drop these once we start shipping split daemons +etc/libvirt/virtinterfaced.conf +etc/libvirt/virtlxcd.conf +etc/libvirt/virtnetworkd.conf +etc/libvirt/virtnodedevd.conf +etc/libvirt/virtnwfilterd.conf +etc/libvirt/virtproxyd.conf +etc/libvirt/virtqemud.conf +etc/libvirt/virtsecretd.conf +etc/libvirt/virtstoraged.conf +etc/libvirt/virtvboxd.conf +etc/libvirt/virtxend.conf +usr/lib/systemd/system/virtinterfaced-admin.socket +usr/lib/systemd/system/virtinterfaced-ro.socket +usr/lib/systemd/system/virtinterfaced.service +usr/lib/systemd/system/virtinterfaced.socket +usr/lib/systemd/system/virtlxcd-admin.socket +usr/lib/systemd/system/virtlxcd-ro.socket +usr/lib/systemd/system/virtlxcd.service +usr/lib/systemd/system/virtlxcd.socket +usr/lib/systemd/system/virtnetworkd-admin.socket +usr/lib/systemd/system/virtnetworkd-ro.socket +usr/lib/systemd/system/virtnetworkd.service +usr/lib/systemd/system/virtnetworkd.socket +usr/lib/systemd/system/virtnodedevd-admin.socket +usr/lib/systemd/system/virtnodedevd-ro.socket +usr/lib/systemd/system/virtnodedevd.service +usr/lib/systemd/system/virtnodedevd.socket +usr/lib/systemd/system/virtnwfilterd-admin.socket +usr/lib/systemd/system/virtnwfilterd-ro.socket +usr/lib/systemd/system/virtnwfilterd.service +usr/lib/systemd/system/virtnwfilterd.socket +usr/lib/systemd/system/virtproxyd-admin.socket +usr/lib/systemd/system/virtproxyd-ro.socket +usr/lib/systemd/system/virtproxyd-tcp.socket +usr/lib/systemd/system/virtproxyd-tls.socket +usr/lib/systemd/system/virtproxyd.service +usr/lib/systemd/system/virtproxyd.socket +usr/lib/systemd/system/virtqemud-admin.socket +usr/lib/systemd/system/virtqemud-ro.socket +usr/lib/systemd/system/virtqemud.service +usr/lib/systemd/system/virtqemud.socket +usr/lib/systemd/system/virtsecretd-admin.socket +usr/lib/systemd/system/virtsecretd-ro.socket +usr/lib/systemd/system/virtsecretd.service +usr/lib/systemd/system/virtsecretd.socket +usr/lib/systemd/system/virtstoraged-admin.socket +usr/lib/systemd/system/virtstoraged-ro.socket +usr/lib/systemd/system/virtstoraged.service +usr/lib/systemd/system/virtstoraged.socket +usr/lib/systemd/system/virtvboxd-admin.socket +usr/lib/systemd/system/virtvboxd-ro.socket +usr/lib/systemd/system/virtvboxd.service +usr/lib/systemd/system/virtvboxd.socket +usr/lib/systemd/system/virtxend-admin.socket +usr/lib/systemd/system/virtxend-ro.socket +usr/lib/systemd/system/virtxend.service +usr/lib/systemd/system/virtxend.socket +usr/sbin/virtinterfaced +usr/sbin/virtlxcd +usr/sbin/virtnetworkd +usr/sbin/virtnodedevd +usr/sbin/virtnwfilterd +usr/sbin/virtproxyd +usr/sbin/virtqemud +usr/sbin/virtsecretd +usr/sbin/virtstoraged +usr/sbin/virtvboxd +usr/sbin/virtxend +usr/share/augeas/lenses/tests/test_virtinterfaced.aug +usr/share/augeas/lenses/tests/test_virtlxcd.aug +usr/share/augeas/lenses/tests/test_virtnetworkd.aug +usr/share/augeas/lenses/tests/test_virtnodedevd.aug +usr/share/augeas/lenses/tests/test_virtnwfilterd.aug +usr/share/augeas/lenses/tests/test_virtproxyd.aug +usr/share/augeas/lenses/tests/test_virtqemud.aug +usr/share/augeas/lenses/tests/test_virtsecretd.aug +usr/share/augeas/lenses/tests/test_virtstoraged.aug +usr/share/augeas/lenses/tests/test_virtvboxd.aug +usr/share/augeas/lenses/tests/test_virtxend.aug +usr/share/augeas/lenses/virtinterfaced.aug +usr/share/augeas/lenses/virtlxcd.aug +usr/share/augeas/lenses/virtnetworkd.aug +usr/share/augeas/lenses/virtnodedevd.aug +usr/share/augeas/lenses/virtnwfilterd.aug +usr/share/augeas/lenses/virtproxyd.aug +usr/share/augeas/lenses/virtqemud.aug +usr/share/augeas/lenses/virtsecretd.aug +usr/share/augeas/lenses/virtstoraged.aug +usr/share/augeas/lenses/virtvboxd.aug +usr/share/augeas/lenses/virtxend.aug +usr/share/man/man8/virtinterfaced.8 +usr/share/man/man8/virtlxcd.8 +usr/share/man/man8/virtnetworkd.8 +usr/share/man/man8/virtnodedevd.8 +usr/share/man/man8/virtnwfilterd.8 +usr/share/man/man8/virtproxyd.8 +usr/share/man/man8/virtqemud.8 +usr/share/man/man8/virtsecretd.8 +usr/share/man/man8/virtstoraged.8 +usr/share/man/man8/virtvboxd.8 +usr/share/man/man8/virtxend.8 diff --git a/debian/patches/debian/Debianize-libvirt-guests.patch b/debian/patches/debian/Debianize-libvirt-guests.patch new file mode 100644 index 0000000000..c28565e508 --- /dev/null +++ b/debian/patches/debian/Debianize-libvirt-guests.patch @@ -0,0 +1,86 @@ +From: =?utf-8?q?Laurent_L=C3=A9onard?= +Date: Thu, 9 Dec 2010 22:36:29 +0100 +Subject: Debianize libvirt-guests + +Forwarded: not-needed +--- + docs/manpages/libvirt-guests.rst | 4 ++-- + tools/libvirt-guests.sh.in | 21 ++++++++++----------- + 2 files changed, 12 insertions(+), 13 deletions(-) + +diff --git a/docs/manpages/libvirt-guests.rst b/docs/manpages/libvirt-guests.rst +index bea08e3..e52c8c1 100644 +--- a/docs/manpages/libvirt-guests.rst ++++ b/docs/manpages/libvirt-guests.rst +@@ -51,7 +51,7 @@ The following variables are supported: + URIs to check for running guests. Example: + ``URIS='default xen:///system xen+tcp://host/system lxc:///system'`` + +-- ON_BOOT=start ++- ON_BOOT=ignore + + Action taken on host boot + +@@ -70,7 +70,7 @@ The following variables are supported: + Number of seconds to wait between each guest start. Set to 0 to allow parallel + startup. + +-- ON_SHUTDOWN=suspend ++- ON_SHUTDOWN=shutdown + + Action taken on host shutdown + +diff --git a/tools/libvirt-guests.sh.in b/tools/libvirt-guests.sh.in +index 87f96af..9fe1c4c 100644 +--- a/tools/libvirt-guests.sh.in ++++ b/tools/libvirt-guests.sh.in +@@ -20,30 +20,30 @@ sysconfdir="@sysconfdir@" + localstatedir="@localstatedir@" + libvirtd="@sbindir@"/libvirtd + +-# Source function library. +-test ! -r "$sysconfdir"/rc.d/init.d/functions || +- . "$sysconfdir"/rc.d/init.d/functions +- + # Source gettext library. + # Make sure this file is recognized as having translations: _("dummy") + . "@bindir@"/gettext.sh + ++# Make sure calls to this script get redirected to systemctl when ++# using systemd ++. /lib/lsb/init-functions ++ + export TEXTDOMAIN="@PACKAGE@" TEXTDOMAINDIR="@localedir@" + + URIS="default" +-ON_BOOT="start" +-ON_SHUTDOWN="suspend" ++ON_BOOT="ignore" ++ON_SHUTDOWN="shutdown" + SHUTDOWN_TIMEOUT=300 + PARALLEL_SHUTDOWN=0 + START_DELAY=0 + BYPASS_CACHE=0 + SYNC_TIME=0 + +-test -f "$sysconfdir"/sysconfig/libvirt-guests && +- . "$sysconfdir"/sysconfig/libvirt-guests ++test -f "$sysconfdir"/default/libvirt-guests && ++ . "$sysconfdir"/default/libvirt-guests + + LISTFILE="$localstatedir"/lib/libvirt/libvirt-guests +-VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/subsys/libvirt-guests ++VAR_SUBSYS_LIBVIRT_GUESTS="$localstatedir"/lock/libvirt-guests + + RETVAL=0 + +@@ -562,8 +562,7 @@ gueststatus() { + + # rh_status + # Display current status: whether saved state exists, and whether start +-# has been executed. We cannot use status() from the functions library, +-# since there is no external daemon process matching this init script. ++# has been executed. + rh_status() { + if [ -f "$LISTFILE" ]; then + gettext "stopped, with saved guests"; echo diff --git a/debian/patches/debian/Debianize-systemd-service-files.patch b/debian/patches/debian/Debianize-systemd-service-files.patch new file mode 100644 index 0000000000..7e52ab22a3 --- /dev/null +++ b/debian/patches/debian/Debianize-systemd-service-files.patch @@ -0,0 +1,64 @@ +From: =?utf-8?q?Guido_G=C3=BCnther?= +Date: Tue, 26 Jun 2012 09:30:39 +0200 +Subject: Debianize systemd service files + +Forwarded: not-needed +--- + src/locking/virtlockd.service.in | 2 +- + src/logging/virtlogd.service.in | 2 +- + src/remote/libvirtd.service.in | 2 +- + tools/libvirt-guests.service.in | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/locking/virtlockd.service.in b/src/locking/virtlockd.service.in +index 19271d1..bd45fcc 100644 +--- a/src/locking/virtlockd.service.in ++++ b/src/locking/virtlockd.service.in +@@ -8,7 +8,7 @@ Documentation=https://libvirt.org + + [Service] + Environment=VIRTLOCKD_ARGS= +-EnvironmentFile=-@sysconfdir@/sysconfig/virtlockd ++EnvironmentFile=-@sysconfdir@/default/virtlockd + ExecStart=@sbindir@/virtlockd $VIRTLOCKD_ARGS + ExecReload=/bin/kill -USR1 $MAINPID + # Losing the locks is a really bad thing that will +diff --git a/src/logging/virtlogd.service.in b/src/logging/virtlogd.service.in +index 8ab5478..dd25c7c 100644 +--- a/src/logging/virtlogd.service.in ++++ b/src/logging/virtlogd.service.in +@@ -7,7 +7,7 @@ Documentation=man:virtlogd(8) + Documentation=https://libvirt.org + + [Service] +-EnvironmentFile=-@sysconfdir@/sysconfig/virtlogd ++EnvironmentFile=-@sysconfdir@/default/virtlogd + ExecStart=@sbindir@/virtlogd $VIRTLOGD_ARGS + ExecReload=/bin/kill -USR1 $MAINPID + # Losing the logs is a really bad thing that will +diff --git a/src/remote/libvirtd.service.in b/src/remote/libvirtd.service.in +index 5d4d412..6d4b6b2 100644 +--- a/src/remote/libvirtd.service.in ++++ b/src/remote/libvirtd.service.in +@@ -29,7 +29,7 @@ Documentation=https://libvirt.org + [Service] + Type=notify + Environment=LIBVIRTD_ARGS="--timeout 120" +-EnvironmentFile=-@sysconfdir@/sysconfig/libvirtd ++EnvironmentFile=-@sysconfdir@/default/libvirtd + ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS + ExecReload=/bin/kill -HUP $MAINPID + KillMode=process +diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in +index 3cf6476..b699081 100644 +--- a/tools/libvirt-guests.service.in ++++ b/tools/libvirt-guests.service.in +@@ -20,7 +20,7 @@ Documentation=man:libvirt-guests(8) + Documentation=https://libvirt.org + + [Service] +-EnvironmentFile=-@sysconfdir@/sysconfig/libvirt-guests ++EnvironmentFile=-@sysconfdir@/default/libvirt-guests + # Hack just call traditional service until we factor + # out the code + ExecStart=@libexecdir@/libvirt-guests.sh start diff --git a/debian/patches/debian/Use-sensible-editor-by-default.patch b/debian/patches/debian/Use-sensible-editor-by-default.patch new file mode 100644 index 0000000000..7995e121dd --- /dev/null +++ b/debian/patches/debian/Use-sensible-editor-by-default.patch @@ -0,0 +1,24 @@ +From: Andrea Bolognani +Date: Tue, 18 Aug 2020 21:57:14 +0200 +Subject: Use sensible-editor by default + +It is the reasonable default for Debian. + +Forwarded: not-needed +--- + tools/vsh.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tools/vsh.c b/tools/vsh.c +index 0066504..e84ea77 100644 +--- a/tools/vsh.c ++++ b/tools/vsh.c +@@ -2434,7 +2434,7 @@ vshEditWriteToTempFile(vshControl *ctl, const char *doc) + + /* Hard-code default editor used as a fallback if not configured by + * VISUAL or EDITOR environment variables. */ +-#define DEFAULT_EDITOR "vi" ++#define DEFAULT_EDITOR "sensible-editor" + + int + vshEditFile(vshControl *ctl, const char *filename) diff --git a/debian/patches/debian/apparmor_profiles_local_include.patch b/debian/patches/debian/apparmor_profiles_local_include.patch new file mode 100644 index 0000000000..5cbf0dace2 --- /dev/null +++ b/debian/patches/debian/apparmor_profiles_local_include.patch @@ -0,0 +1,59 @@ +From: Felix Geyer +Date: Tue, 11 Aug 2015 07:25:01 +0200 +Subject: apparmor_profiles_local_include + +Include local apparmor profile + +Forwarded: not-needed +--- + src/security/apparmor/libvirt-lxc | 3 +++ + src/security/apparmor/libvirt-qemu | 3 +++ + src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in | 1 + + src/security/apparmor/usr.sbin.libvirtd.in | 3 +++ + 4 files changed, 10 insertions(+) + +diff --git a/src/security/apparmor/libvirt-lxc b/src/security/apparmor/libvirt-lxc +index 0c8b812..72278b5 100644 +--- a/src/security/apparmor/libvirt-lxc ++++ b/src/security/apparmor/libvirt-lxc +@@ -116,3 +116,6 @@ + deny /sys/fs/cgrou[^p]*{,/**} wklx, + deny /sys/fs/cgroup?*{,/**} wklx, + deny /sys/fs?*{,/**} wklx, ++ ++ # Site-specific additions and overrides. See local/README for details. ++ #include +diff --git a/src/security/apparmor/libvirt-qemu b/src/security/apparmor/libvirt-qemu +index 02ee273..6963d33 100644 +--- a/src/security/apparmor/libvirt-qemu ++++ b/src/security/apparmor/libvirt-qemu +@@ -253,3 +253,6 @@ + # required for QEMU accessing UEFI nvram variables + owner /var/lib/libvirt/qemu/nvram/*_VARS.fd rwk, + owner /var/lib/libvirt/qemu/nvram/*_VARS.ms.fd rwk, ++ ++ # Site-specific additions and overrides. See local/README for details. ++ #include +diff --git a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in b/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in +index ff1d46b..5a50823 100644 +--- a/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in ++++ b/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in +@@ -71,5 +71,6 @@ profile virt-aa-helper @libexecdir@/virt-aa-helper { + /**.[iI][sS][oO] r, + /**/disk{,.*} r, + ++ # Site-specific additions and overrides. See local/README for details. + #include + } +diff --git a/src/security/apparmor/usr.sbin.libvirtd.in b/src/security/apparmor/usr.sbin.libvirtd.in +index 886f1ad..a4ed6ea 100644 +--- a/src/security/apparmor/usr.sbin.libvirtd.in ++++ b/src/security/apparmor/usr.sbin.libvirtd.in +@@ -138,4 +138,7 @@ profile libvirtd @sbindir@/libvirtd flags=(attach_disconnected) { + + /usr/{lib,lib64,lib/qemu,libexec}/qemu-bridge-helper rmix, + } ++ ++ # Site-specific additions and overrides. See local/README for details. ++ #include + } diff --git a/debian/patches/forward/Pass-GPG_TTY-env-var-to-the-ssh-binary.patch b/debian/patches/forward/Pass-GPG_TTY-env-var-to-the-ssh-binary.patch new file mode 100644 index 0000000000..4b1f8bd253 --- /dev/null +++ b/debian/patches/forward/Pass-GPG_TTY-env-var-to-the-ssh-binary.patch @@ -0,0 +1,27 @@ +From: Guilhem Moulin +Date: Fri, 9 Dec 2016 22:06:12 +0100 +Subject: Pass GPG_TTY env var to the ssh binary + +gpg-agent(1) can emulate the OpenSSH Agent protocol (which provides +pubkey-authentication using an authentication-capable OpenPGP key, in +addition to the usual identity files). However for a console-based +password prompt to work, the 'GPG_TTY' environment variable needs to be +set to the current TTY. Furthermore, curses-based password prompts also +require the 'TERM' environment variable to be set to the terminal type. +--- + src/rpc/virnetsocket.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c +index 32f506d..830c8d8 100644 +--- a/src/rpc/virnetsocket.c ++++ b/src/rpc/virnetsocket.c +@@ -855,6 +855,8 @@ int virNetSocketNewConnectSSH(const char *nodename, + virCommandAddEnvPass(cmd, "KRB5CCNAME"); + virCommandAddEnvPass(cmd, "SSH_AUTH_SOCK"); + virCommandAddEnvPass(cmd, "SSH_ASKPASS"); ++ virCommandAddEnvPass(cmd, "GPG_TTY"); ++ virCommandAddEnvPass(cmd, "TERM"); + virCommandAddEnvPass(cmd, "DISPLAY"); + virCommandAddEnvPass(cmd, "XAUTHORITY"); + virCommandClearCaps(cmd); diff --git a/debian/patches/forward/Reduce-udevadm-settle-timeout-to-10-seconds.patch b/debian/patches/forward/Reduce-udevadm-settle-timeout-to-10-seconds.patch new file mode 100644 index 0000000000..a223f79147 --- /dev/null +++ b/debian/patches/forward/Reduce-udevadm-settle-timeout-to-10-seconds.patch @@ -0,0 +1,24 @@ +From: =?utf-8?q?Guido_G=C3=BCnther?= +Date: Mon, 4 Jun 2012 16:18:52 +0200 +Subject: Reduce udevadm settle timeout to 10 seconds + +This isn't a proper fix but it will make virt-manager at least start. + +Closes: #663931 +--- + src/util/virutil.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/util/virutil.c b/src/util/virutil.c +index 7e246d2..5bb1549 100644 +--- a/src/util/virutil.c ++++ b/src/util/virutil.c +@@ -1247,7 +1247,7 @@ void virWaitForDevices(void) + if (!(udev = virFindFileInPath(UDEVADM))) + return; + +- if (!(cmd = virCommandNewArgList(udev, "settle", NULL))) ++ if (!(cmd = virCommandNewArgList(udev, "settle", "--timeout=10", NULL))) + return; + + /* diff --git a/debian/patches/forward/Skip-vircgrouptest.patch b/debian/patches/forward/Skip-vircgrouptest.patch new file mode 100644 index 0000000000..a7ad037e73 --- /dev/null +++ b/debian/patches/forward/Skip-vircgrouptest.patch @@ -0,0 +1,23 @@ +From: =?utf-8?q?Guido_G=C3=BCnther?= +Date: Fri, 7 Mar 2014 09:56:12 +0100 +Subject: Skip vircgrouptest + +We don't have a mock for nodeGetCPUCount yet so we fail in a chroot +without sysfs mounted. +--- + tests/vircgrouptest.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/vircgrouptest.c b/tests/vircgrouptest.c +index e29bc09..969bed0 100644 +--- a/tests/vircgrouptest.c ++++ b/tests/vircgrouptest.c +@@ -20,7 +20,7 @@ + + #include "testutils.h" + +-#ifdef __linux__ ++#if defined HAVE_SYSFS_MOCK + + + # define LIBVIRT_VIRCGROUPPRIV_H_ALLOW diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000000..94485d492a --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,7 @@ +forward/Skip-vircgrouptest.patch +forward/Reduce-udevadm-settle-timeout-to-10-seconds.patch +forward/Pass-GPG_TTY-env-var-to-the-ssh-binary.patch +debian/Debianize-libvirt-guests.patch +debian/Debianize-systemd-service-files.patch +debian/apparmor_profiles_local_include.patch +debian/Use-sensible-editor-by-default.patch diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in new file mode 100644 index 0000000000..6187dce462 --- /dev/null +++ b/debian/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] libvirt-daemon-system.templates diff --git a/debian/po/da.po b/debian/po/da.po new file mode 100644 index 0000000000..a31bd24257 --- /dev/null +++ b/debian/po/da.po @@ -0,0 +1,71 @@ +# libvirt debconf translations +# Copyright (C) 2017 libvirt og nedenstående oversættere. +# This file is distributed under the same license as the libvirt package. +# Joe Hansen , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: libvirt\n" +"Report-Msgid-Bugs-To: libvirt@packages.debian.org\n" +"POT-Creation-Date: 2016-12-22 14:20+0100\n" +"PO-Revision-Date: 2017-01-10 17:30+01:00\n" +"Last-Translator: Joe Hansen \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "Continue with incorrect libvirt-qemu user/group ID(s)?" +msgstr "Fortsæt med ukorrekte libvirt-qemu user/group id'er?" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The user/group ID (uid/gid) allocated for libvirt-qemu (64055)\n" +" seems to be taken by another user/group, thus it is not possible\n" +" to create the user/group with this numeric ID." +msgstr "" +" Bruger/gruppe-id'er (uid/gid) allokeret for libvirt-qemu (64055)\n" +" ser ud til at være taget af en anden bruger/gruppe, det er\n" +" derfor ikke muligt at oprette brugeren/gruppen med dette\n" +" numeriske id." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The migration of guests with disk image files shared over NFS\n" +" requires a static libvirt-qemu user and group ID (uid and gid)\n" +" between the source and destination host systems." +msgstr "" +" Migreringen af gæster med diskaftryksfiler delt over NFS\n" +" kræver en statisk libvirt-qemu bruger og gruppe-id (uid og\n" +" gid) mellem kilde- og destinationsværtssystemet." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" If guest migration over NFS is not required, you can continue\n" +" the installation." +msgstr "" +" Hvis gæstemigrering over NFS ikke er krævet, så kan du fortsætte\n" +" installationen." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" In order to resolve this problem, do not continue the installation,\n" +" release the 64055 uid/gid (which might involve permission changes),\n" +" then install this package again." +msgstr "" +" For at løse dette problem, fortsæt ikke installationen, frigiv\n" +" 64055 uid/gid'en (hvilket kan kræve rettighedsændringer), og\n" +" installer så denne pakke igen." + diff --git a/debian/po/de.po b/debian/po/de.po new file mode 100644 index 0000000000..b3916cab99 --- /dev/null +++ b/debian/po/de.po @@ -0,0 +1,75 @@ +# German debconf translation of libvirt +# Copyright (C) 2017 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the libvirt package. +# Markus Hiereth , 2017. +msgid "" +msgstr "" +"Project-Id-Version: libvirt 2.5.0-3\n" +"Report-Msgid-Bugs-To: libvirt@packages.debian.org\n" +"POT-Creation-Date: 2016-12-22 14:20+0100\n" +"PO-Revision-Date: 2017-01-11 10:19+0200\n" +"Last-Translator: Markus Hiereth \n" +"Language-Team: debian-l10n-german \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Virtaal 0.7.1\n" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "Continue with incorrect libvirt-qemu user/group ID(s)?" +msgstr "" +"Mit falscher libvirt-qemu Benutzer- bzw. Gruppen-Kennung (UID/GID) " +"fortfahren?" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The user/group ID (uid/gid) allocated for libvirt-qemu (64055)\n" +" seems to be taken by another user/group, thus it is not possible\n" +" to create the user/group with this numeric ID." +msgstr "" +" Die libvirt-qemu zugeordnete Benutzer-/Gruppen-Kennung (UID/GID) (64055)\n" +" scheint von einem anderen Benutzer bzw. eine anderen Gruppe verwendet zu\n" +" werden. Daher ist es nicht möglich, einen Benutzer bzw. eine Gruppe mit\n" +" dieser Nummer zu erzeugen." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The migration of guests with disk image files shared over NFS\n" +" requires a static libvirt-qemu user and group ID (uid and gid)\n" +" between the source and destination host systems." +msgstr "" +" Um Gäste mit Image Dateien die via NFS verteilt werden zu migrieren wird\n" +" eine identische libvirt-qemu Nutzer and Gruppen ID zwischen Quell- und\n" +" Ziel Host System benötigt." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" If guest migration over NFS is not required, you can continue\n" +" the installation." +msgstr "" +" Wenn Gast Migration via NFS nicht benötigt wird\n" +" können Sie mit der Installation fort fahren." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" In order to resolve this problem, do not continue the installation,\n" +" release the 64055 uid/gid (which might involve permission changes),\n" +" then install this package again." +msgstr "" +" Um das Problem zu lösen, beenden Sie die Installation und geben die " +"Benutzer-\n" +" bzw. Gruppen-Kennung 64055 frei (was Änderungen von Zugriffsberechtigungen " +"nach\n" +" sich ziehen könnte). Versuchen Sie anschließend die Installation erneut." diff --git a/debian/po/fr.po b/debian/po/fr.po new file mode 100644 index 0000000000..da62940c24 --- /dev/null +++ b/debian/po/fr.po @@ -0,0 +1,77 @@ +# Translation of libvirt debconf template to French +# Copyright (C) 2017 Debian french l10n team +# This file is distributed under the same license as the libvirt package. +# Translator: +# +# Alban VIDAL , 2017. +msgid "" +msgstr "" +"Project-Id-Version: libvirt\n" +"Report-Msgid-Bugs-To: libvirt@packages.debian.org\n" +"POT-Creation-Date: 2016-12-22 14:20+0100\n" +"PO-Revision-Date: 2017-01-07 10:00+0100\n" +"Last-Translator: Alban VIDAL \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 1.5\n" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "Continue with incorrect libvirt-qemu user/group ID(s)?" +msgstr "" +"Faut-il continuer avec un identifiant d'utilisateur ou de groupe pour " +"libvirt-qemu incorrect ?" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The user/group ID (uid/gid) allocated for libvirt-qemu (64055)\n" +" seems to be taken by another user/group, thus it is not possible\n" +" to create the user/group with this numeric ID." +msgstr "" +"L'identifiant d'utilisateur ou de groupe (uid ou gid) attribué à " +"libvirt-qemu (64055) semble être déjà utilisé par un autre utilisateur ou " +"groupe, il n'est donc pas possible de créer l'utilisateur ou le groupe avec " +"cet identifiant numérique." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The migration of guests with disk image files shared over NFS\n" +" requires a static libvirt-qemu user and group ID (uid and gid)\n" +" between the source and destination host systems." +msgstr "" +"La migration des systèmes invités avec des fichiers d'image disque partagés " +"au travers de NFS requiert un identifiant d'utilisateur et de groupe statique " +"(uid et gid) pour libvirt-qemu entre les systèmes hôtes source et destination." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" If guest migration over NFS is not required, you can continue\n" +" the installation." +msgstr "" +"Si la migration des systèmes invités au travers de NFS n'est pas nécessaire, " +"vous pouvez continuer l'installation." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" In order to resolve this problem, do not continue the installation,\n" +" release the 64055 uid/gid (which might involve permission changes),\n" +" then install this package again." +msgstr "" +"Pour résoudre ce problème, ne continuez pas l'installation, libérez l'uid et " +"le gid 64055 (cela peut impliquer des modifications d'autorisation), puis " +"installez à nouveau le paquet." + + diff --git a/debian/po/nl.po b/debian/po/nl.po new file mode 100644 index 0000000000..db3cee6992 --- /dev/null +++ b/debian/po/nl.po @@ -0,0 +1,73 @@ +# Dutch translation of libvirt debconf templates. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the libvirt package. +# FIRST AUTHOR , YEAR. +# Frans Spiesschaert , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: libvirt\n" +"Report-Msgid-Bugs-To: libvirt@packages.debian.org\n" +"POT-Creation-Date: 2016-12-22 14:20+0100\n" +"PO-Revision-Date: 2016-12-31 15:20+0100\n" +"Last-Translator: Frans Spiesschaert \n" +"Language-Team: Debian Dutch l10n Team \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 2.91.6\n" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "Continue with incorrect libvirt-qemu user/group ID(s)?" +msgstr "Verdergaan met foutieve gebruikers-/groeps-ID(s) voor libvirt-qemu?" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The user/group ID (uid/gid) allocated for libvirt-qemu (64055)\n" +" seems to be taken by another user/group, thus it is not possible\n" +" to create the user/group with this numeric ID." +msgstr "" +" De gebruikers-/groeps-ID (uid/gid) die bestemd is voor libvirt-qemu " +"(64055)\n" +" lijkt ingenomen te zijn door een andere gebruiker/groep. Het is dus\n" +" niet mogelijk om de gebruiker/groep aan te maken met deze numerieke ID." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The migration of guests with disk image files shared over NFS\n" +" requires a static libvirt-qemu user and group ID (uid and gid)\n" +" between the source and destination host systems." +msgstr "" +" De migratie van gasten met over NFS gedeelde disk-imagebestanden\n" +" vereist dat libvirt-qemu op de bron- en doel-gastheersystemen\n" +" een statische gebruikers- en groeps-ID (uid en gid) heeft." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" If guest migration over NFS is not required, you can continue\n" +" the installation." +msgstr "" +" Indien er geen gastsysteemmigraties over NFS nodig zijn,\n" +" kunt u voortgaan met de installatie." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" In order to resolve this problem, do not continue the installation,\n" +" release the 64055 uid/gid (which might involve permission changes),\n" +" then install this package again." +msgstr "" +" Om dit probleem op te lossen, mag u de installatie niet voortzetten,\n" +" moet u de uid/gid 64055 vrijmaken (daar kunnen ook wijzigingen van\n" +" permissies bij komen kijken), en dan dit pakket opnieuw installeren." diff --git a/debian/po/pt.po b/debian/po/pt.po new file mode 100644 index 0000000000..4d0ee6eb6a --- /dev/null +++ b/debian/po/pt.po @@ -0,0 +1,71 @@ +# Portuguese translation for libvirt(debconf) +# This file is distributed under the same license as the libvirt package. +# Rui Branco , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: libvirt 3.0.0-3\n" +"Report-Msgid-Bugs-To: libvirt@packages.debian.org\n" +"POT-Creation-Date: 2016-12-22 14:20+0100\n" +"PO-Revision-Date: 2017-03-14 19:44+0000\n" +"Last-Translator: Rui Branco \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 2.91.7\n" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "Continue with incorrect libvirt-qemu user/group ID(s)?" +msgstr "Continuar com o ID(s) de libvirt-qemu user/group incorrecto(s)?" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The user/group ID (uid/gid) allocated for libvirt-qemu (64055)\n" +" seems to be taken by another user/group, thus it is not possible\n" +" to create the user/group with this numeric ID." +msgstr "" +" O ID (uid/gid) do utilizador/grupo alocado para libvirt-qemu \n" +" (64055) parece ter sido tomado por outro utilizador/grupo, \n" +" tornando impossível criar o utilizador/grupo com este ID \n" +" numérico." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The migration of guests with disk image files shared over NFS\n" +" requires a static libvirt-qemu user and group ID (uid and gid)\n" +" between the source and destination host systems." +msgstr "" +" A migração de convidados com ficheiros de imagem de disco partilhados\n" +" por NFS requer um ID estático de utilizador e de grupo (uid e gid) do \n" +" libvirt-qemu entre a fonte e o destino dos sistemas anfitriões." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" If guest migration over NFS is not required, you can continue\n" +" the installation." +msgstr "" +" Se não for necessária a migração de convidado sobre NFS, pode\n" +" continuar a instalação." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" In order to resolve this problem, do not continue the installation,\n" +" release the 64055 uid/gid (which might involve permission changes),\n" +" then install this package again." +msgstr "" +" De modo a resolver este problema, não continue a instalação, liberte o\n" +" uid/gid 64055 (pode envolver alterações nas permissões) e volte\n" +" então a instalar este pacote novamente." diff --git a/debian/po/pt_BR.po b/debian/po/pt_BR.po new file mode 100644 index 0000000000..aab5ac684c --- /dev/null +++ b/debian/po/pt_BR.po @@ -0,0 +1,70 @@ +# Debconf translations for libvirt. +# Copyright (C) 2017 THE libvirt'S COPYRIGHT HOLDER +# This file is distributed under the same license as the libvirt package. +# Adriano Rafael Gomes , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: libvirt\n" +"Report-Msgid-Bugs-To: libvirt@packages.debian.org\n" +"POT-Creation-Date: 2016-12-22 14:20+0100\n" +"PO-Revision-Date: 2017-01-12 11:01-0200\n" +"Last-Translator: Adriano Rafael Gomes \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "Continue with incorrect libvirt-qemu user/group ID(s)?" +msgstr "Continuar com ID(s) incorreto(s) de usuário/grupo do libvirt-qemu?" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The user/group ID (uid/gid) allocated for libvirt-qemu (64055)\n" +" seems to be taken by another user/group, thus it is not possible\n" +" to create the user/group with this numeric ID." +msgstr "" +"O ID de usuário/grupo (uid/gid) alocado para o libvirt-qemu (64055) parece " +"estar em uso por outro usuário/grupo, portanto, não é possível criar o " +"usuário/grupo com esse ID numérico." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The migration of guests with disk image files shared over NFS\n" +" requires a static libvirt-qemu user and group ID (uid and gid)\n" +" between the source and destination host systems." +msgstr "" +"A migração de máquinas virtuais com arquivos de imagem de disco " +"compartilhados sobre NFS exige um ID estático de usuário e grupo do libvirt-" +"qemu (uid e gid) entre os sistemas hospedeiros de origem e de destino." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" If guest migration over NFS is not required, you can continue\n" +" the installation." +msgstr "" +"Se a migração de máquinas virtuais sobre NFS não for necessária, você pode " +"continuar com a instalação." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" In order to resolve this problem, do not continue the installation,\n" +" release the 64055 uid/gid (which might involve permission changes),\n" +" then install this package again." +msgstr "" +"Para resolver esse problema, não continue com a instalação, libere o uid/gid " +"64055 (o que pode envolver modificações de permissões) e então instale esse " +"pacote novamente." diff --git a/debian/po/ru.po b/debian/po/ru.po new file mode 100644 index 0000000000..666b17fd1e --- /dev/null +++ b/debian/po/ru.po @@ -0,0 +1,71 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the libvirt package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: libvirt\n" +"Report-Msgid-Bugs-To: libvirt@packages.debian.org\n" +"POT-Creation-Date: 2016-12-22 14:20+0100\n" +"PO-Revision-Date: 2017-11-30 00:22+0500\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.4\n" +"Last-Translator: Lev Lamberov \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Language: ru\n" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "Continue with incorrect libvirt-qemu user/group ID(s)?" +msgstr "Продолжить с неправильными идентификаторами пользователя/группы для libvirt-qemu?" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The user/group ID (uid/gid) allocated for libvirt-qemu (64055)\n" +" seems to be taken by another user/group, thus it is not possible\n" +" to create the user/group with this numeric ID." +msgstr "" +" Похоже, что идентификатор пользователя/группы (uid/gid) выделенный\n" +" для libvirt-qemu (64055) занят другим пользователем/группой, поэтому не удаётся\n" +" создать пользователя/группу с таким номером идентификатора." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The migration of guests with disk image files shared over NFS\n" +" requires a static libvirt-qemu user and group ID (uid and gid)\n" +" between the source and destination host systems." +msgstr "" +" Для миграция гостевых систем с файлами образов дисков с общим доступом\n" +" через NFS требуется статичный идентификатор пользователя и группы (uid и gid)\n" +" libvirt-qemu как на системе-источнике, так и на системе-получателе." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" If guest migration over NFS is not required, you can continue\n" +" the installation." +msgstr "" +" Если производить миграцию гостевых систем через NFS не требуется, то вы\n" +" можете продолжить установку." + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" In order to resolve this problem, do not continue the installation,\n" +" release the 64055 uid/gid (which might involve permission changes),\n" +" then install this package again." +msgstr "" +" Для разрешения этой проблемы не продолжайте установку,\n" +" сначала освободите uid/gid 64055 (для этого может потребоваться\n" +" изменение прав доступа), а затем заново установите данный пакет." diff --git a/debian/po/templates.pot b/debian/po/templates.pot new file mode 100644 index 0000000000..e9e99bae77 --- /dev/null +++ b/debian/po/templates.pot @@ -0,0 +1,59 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the libvirt package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: libvirt\n" +"Report-Msgid-Bugs-To: libvirt@packages.debian.org\n" +"POT-Creation-Date: 2016-12-22 14:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "Continue with incorrect libvirt-qemu user/group ID(s)?" +msgstr "" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The user/group ID (uid/gid) allocated for libvirt-qemu (64055)\n" +" seems to be taken by another user/group, thus it is not possible\n" +" to create the user/group with this numeric ID." +msgstr "" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" The migration of guests with disk image files shared over NFS\n" +" requires a static libvirt-qemu user and group ID (uid and gid)\n" +" between the source and destination host systems." +msgstr "" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" If guest migration over NFS is not required, you can continue\n" +" the installation." +msgstr "" + +#. Type: boolean +#. Description +#: ../libvirt-daemon-system.templates:1001 +msgid "" +" In order to resolve this problem, do not continue the installation,\n" +" release the 64055 uid/gid (which might involve permission changes),\n" +" then install this package again." +msgstr "" diff --git a/debian/polkit/60-libvirt.pkla b/debian/polkit/60-libvirt.pkla new file mode 100644 index 0000000000..2c7ef083aa --- /dev/null +++ b/debian/polkit/60-libvirt.pkla @@ -0,0 +1,6 @@ +[Allow group libvirt management permissions] +Identity=unix-group:libvirt +Action=org.libvirt.unix.manage +ResultAny=yes +ResultInactive=yes +ResultActive=yes diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000000..2128826a27 --- /dev/null +++ b/debian/rules @@ -0,0 +1,313 @@ +#!/usr/bin/make -f + +DEB_RELEASE = $(shell dpkg-parsechangelog -SVersion | sed 's/[^-]\+-//') +DEB_BUILDDATE = $(shell dpkg-parsechangelog -SDate) +DEB_BUILDUSER = $(shell dpkg-parsechangelog -SMaintainer) +NULL = + +DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow + +# If the build environment sets -Bsymbolic-functions, which is often used as +# hardening option, that would break libvirt build time self-testing. +# Therefore let dpkg-buildflag strip that option if present. +DEB_LDFLAGS_MAINT_STRIP = -Wl,-Bsymbolic-functions + +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/buildflags.mk + +ARCHES_LXC = alpha amd64 arm64 armel armhf hppa i386 m68k mips64el mipsel powerpc ppc64 ppc64el riscv64 s390x sh4 sparc64 x32 +ARCHES_XEN = amd64 arm64 armhf +ARCHES_VBOX = amd64 i386 + +ifneq (,$(findstring $(DEB_HOST_ARCH_OS), linux)) + ifneq (,$(findstring $(DEB_HOST_ARCH), $(ARCHES_VBOX))) + WITH_VBOX = -Ddriver_vbox=enabled + else + WITH_VBOX = -Ddriver_vbox=disabled + endif + ifneq (,$(findstring $(DEB_HOST_ARCH), $(ARCHES_XEN))) + WITH_LIBXL = -Ddriver_libxl=enabled + else + WITH_LIBXL = -Ddriver_libxl=disabled + endif + WITH_STORAGE_LVM = -Dstorage_lvm=enabled + WITH_STORAGE_ISCSI = -Dstorage_iscsi=enabled + WITH_STORAGE_ISCSI_DIRECT = -Dstorage_iscsi_direct=enabled + WITH_STORAGE_DISK = -Dstorage_disk=enabled + WITH_STORAGE_RBD = -Dstorage_rbd=enabled + WITH_STORAGE_GLUSTER = -Dstorage_gluster=enabled + WITH_UDEV = -Dudev=enabled + WITH_CAPNG = -Dcapng=enabled + WITH_LIBNL = -Dlibnl=enabled + WITH_NETWORK = -Ddriver_network=enabled + WITH_OPENVZ = -Ddriver_openvz=enabled + WITH_POLKIT = -Dpolkit=enabled + WITH_SANLOCK = -Dsanlock=enabled + WITH_INIT_SCRIPT = -Dinit_script=systemd + WITH_FIREWALLD = -Dfirewalld=enabled + WITH_ATTR = -Dattr=enabled + WITH_AUDIT = -Daudit=enabled + WITH_SELINUX = -Dselinux=enabled -Dsecdriver_selinux=enabled -Dselinux_mount=/sys/fs/selinux + WITH_APPARMOR = -Dapparmor=enabled -Dsecdriver_apparmor=enabled -Dapparmor_profiles=enabled + WITH_NSS_PLUGIN = -Dnss=enabled + WITH_DTRACE = -Ddtrace=enabled + WITH_NUMA = -Dnumactl=enabled -Dnumad=enabled + ifneq (,$(findstring $(DEB_HOST_ARCH), $(ARCHES_LXC))) + WITH_LXC = -Ddriver_lxc=enabled + WITH_LOGIN_SHELL = -Dlogin_shell=enabled + else + WITH_LXC = -Ddriver_lxc=disabled + WITH_LOGIN_SHELL = -Dlogin_shell=disabled + endif +else + WITH_VBOX = -Ddriver_vbox=disabled + WITH_LIBXL = -Ddriver_libxl=disabled + WITH_STORAGE_LVM = -Dstorage_lvm=disabled + WITH_STORAGE_ISCSI = -Dstorage_iscsi=disabled + WITH_STORAGE_ISCSI_DIRECT = -Dstorage_iscsi_direct=disabled + WITH_STORAGE_DISK = -Dstorage_disk=disabled + WITH_STORAGE_RBD = -Dstorage_rbd=disabled + WITH_STORAGE_GLUSTER = -Dstorage_gluster=disabled + WITH_UDEV = -Dudev=disabled + WITH_CAPNG = -Dcapng=disabled + WITH_LIBNL = -Dlibnl=disabled + WITH_NETWORK = -Ddriver_network=disabled + WITH_OPENVZ = -Ddriver_openvz=disabled + WITH_POLKIT = -Dpolkit=disabled + WITH_SANLOCK = -Dsanlock=disabled + WITH_INIT_SCRIPT = -Dinit_script=none + WITH_FIREWALLD = -Dfirewalld=disabled + WITH_ATTR = -Dattr=disabled + WITH_AUDIT = -Daudit=disabled + WITH_SELINUX = -Dselinux=disabled -Dsecdriver_selinux=disabled -Dselinux_mount= + WITH_APPARMOR = -Dapparmor=disabled -Dsecdriver_apparmor=disabled -Dapparmor_profiles=disabled + WITH_NSS_PLUGIN = -Dnss=disabled + WITH_DTRACE = -Ddtrace=disabled + WITH_NUMA = -Dnumactl=disabled -Dnumad=disabled + WITH_LXC = -Ddriver_lxc=disabled + WITH_LOGIN_SHELL = -Dlogin_shell=disabled +endif + +DEB_CONFIGURE_EXTRA_ARGS := \ + --libexecdir=/usr/lib/libvirt \ + -Drunstatedir=/run \ + -Dpackager="$(DEB_BUILDUSER) $(DEB_BUILDDATE)" \ + -Dpackager_version="$(DEB_RELEASE)" \ + -Ddriver_qemu=enabled \ + -Ddriver_libvirtd=enabled \ + -Ddriver_remote=enabled \ + -Dremote_default_mode=legacy \ + -Ddriver_test=enabled \ + -Ddriver_ch=disabled \ + -Dqemu_user=libvirt-qemu \ + -Dqemu_group=libvirt-qemu \ + -Dqemu_moddir=/usr/lib/$(DEB_HOST_MULTIARCH)/qemu \ + -Dqemu_datadir=/usr/share/qemu \ + -Ddocs=enabled \ + -Dtests=enabled \ + $(WITH_OPENVZ) \ + -Dsasl=enabled \ + -Dyajl=enabled \ + -Dlibssh2=enabled \ + -Dlibssh=enabled \ + $(WITH_POLKIT) \ + $(WITH_SANLOCK) \ + $(WITH_UDEV) \ + -Dstorage_fs=enabled \ + -Dstorage_dir=enabled \ + $(WITH_STORAGE_LVM) \ + $(WITH_STORAGE_ISCSI) \ + $(WITH_STORAGE_ISCSI_DIRECT) \ + $(WITH_STORAGE_DISK) \ + -Dstorage_sheepdog=disabled \ + $(WITH_STORAGE_RBD) \ + $(WITH_STORAGE_GLUSTER) \ + -Dstorage_vstorage=disabled \ + -Dstorage_zfs=enabled \ + $(WITH_INIT_SCRIPT) \ + $(WITH_NUMA) \ + $(WITH_SELINUX) \ + $(WITH_APPARMOR) \ + -Ddriver_esx=enabled \ + $(WITH_CAPNG) \ + $(WITH_LIBNL) \ + $(WITH_NETWORK) \ + -Dnetcf=disabled \ + $(WITH_LIBXL) \ + $(WITH_VBOX) \ + $(WITH_LXC) \ + $(WITH_LOGIN_SHELL) \ + $(WITH_DTRACE) \ + $(WITH_AUDIT) \ + $(WITH_FIREWALLD) \ + $(WITH_ATTR) \ + $(WITH_NSS_PLUGIN) \ + -Dwireshark_dissector=enabled \ + $(NULL) + +APPARMOR_ABSTRACTIONS = \ + libvirt-lxc \ + libvirt-qemu \ + $(NULL) + +APPARMOR_TEMPLATES = \ + TEMPLATE.lxc \ + TEMPLATE.qemu \ + $(NULL) + +APPARMOR_SERVICES = \ + usr.lib.libvirt.virt-aa-helper \ + usr.sbin.libvirtd \ + $(NULL) + +NSS_PLUGINS = \ + libvirt \ + libvirt_guest \ + $(NULL) + +SYSTEMTAP_TAPSETS = \ + libvirt_functions \ + libvirt_probes \ + libvirt_qemu_probes \ + $(NULL) + +SYSCTL_CONFIGS = \ + libvirtd \ + qemu-postcopy-migration \ + $(NULL) + + +DEB_BUILDDIR := $(CURDIR)/debian/build +DEB_DESTDIR := $(CURDIR)/debian/tmp +SRV_MONOLITHIC = libvirt-guests virtlogd virtlockd libvirtd libvirtd-tcp libvirtd-tls virt-guest-shutdown +# For split daemons later, as of 6.0 the remaining elments are +#SRV_SPLIT = virtnwfilterd virtinterfaced virtlxcd virtnetworkd virtnodedevd virtproxyd virtqemud virtsecretd virtstoraged virtvboxd virtxend virtproxyd-tcp virtproxyd-tls + +%: + dh $@ --builddirectory=$(DEB_BUILDDIR) + +override_dh_auto_configure: + dh_auto_configure -- $(DEB_CONFIGURE_EXTRA_ARGS) + +# The default timeout for tests in Meson is 30s, which is not enough +# for architectures with slow buildds: make the timeout 10 times +# larger (5m) to account for those +override_dh_auto_test: + export LD_PRELOAD=""; \ + export VIR_TEST_DEBUG=1; \ + if ! dh_auto_test -- --timeout-multiplier 10; then \ + cat $(DEB_BUILDDIR)/meson-logs/testlog.txt; \ + exit 1; \ + fi + +# After the upstream build system has installed libvirt into $(DEB_DESTDIR), +# we need to make some tweaks (add a few extra files, delete some contents +# we're not interested in, move things around) so that later calls to the +# various dh_* tools will work optimally. This target is the perfect place +# to perform such operations +execute_after_dh_auto_install: + # Move upstream files where dh_* can find them + set -e; for f in $(SYSCTL_CONFIGS); do \ + mv $(DEB_DESTDIR)/usr/lib/sysctl.d/60-$${f}.conf \ + $(DEB_DESTDIR)/usr/lib/sysctl.d/$${f}.sysctl; \ + done + + # Copy the release notes where dh_installdocs can find them + cp NEWS.rst \ + $(DEB_DESTDIR)/usr/share/doc/libvirt/NEWS + + # Add our backward compat polkit rule + mkdir -p $(DEB_DESTDIR)/var/lib/polkit-1/localauthority/10-vendor.d/ + cp debian/polkit/60-libvirt.pkla \ + $(DEB_DESTDIR)/var/lib/polkit-1/localauthority/10-vendor.d/ + + # Rename the upstream polkit rule so that it matches the name used + # historically in Debian, as well as that of the backwards compat + # rules we just installed + mv $(DEB_DESTDIR)/usr/share/polkit-1/rules.d/50-libvirt.rules \ + $(DEB_DESTDIR)/usr/share/polkit-1/rules.d/60-libvirt.rules + + # Don't ship any files that are managed by the user only + rm $(DEB_DESTDIR)/etc/apparmor.d/local/* + + # Don't ship the CI dashboard, which is not useful as documentation + # triggers the privacy-breach-generic Lintian tag + rm $(DEB_DESTDIR)/usr/share/doc/libvirt/html/ci.html + + # Disable network autostart + rm -rf $(DEB_DESTDIR)/etc/libvirt/qemu/networks/autostart/ + + mkdir -p $(DEB_DESTDIR)/usr/share/libvirt/ + mv $(DEB_DESTDIR)/etc/libvirt/qemu/networks/ \ + $(DEB_DESTDIR)/etc/libvirt/nwfilter/ \ + $(DEB_DESTDIR)/usr/share/libvirt/ + +execute_after_dh_install: +ifneq (,$(findstring $(DEB_HOST_ARCH_OS), linux)) + # Linux supports more nice things: + set -e; for f in $(SRV_MONOLITHIC); do \ + dh_install -p libvirt-daemon-system \ + usr/lib/systemd/system/$${f}* \ + lib/systemd/system/; \ + done + dh_install -p libvirt-daemon usr/lib/libvirt/virt-aa-helper + set -e; for f in $(APPARMOR_ABSTRACTIONS); do \ + dh_install -p libvirt-daemon-system etc/apparmor.d/abstractions/$${f}; \ + done + set -e; for f in $(APPARMOR_TEMPLATES); do \ + dh_install -p libvirt-daemon-system etc/apparmor.d/libvirt/$${f}; \ + done + set -e; for f in $(APPARMOR_SERVICES); do \ + dh_install -p libvirt-daemon-system etc/apparmor.d/$${f}; \ + dh_apparmor -p libvirt-daemon-system --profile-name=$${f}; \ + done + # Not all linux arches have systemtap yet + if test -d $(DEB_DESTDIR)/usr/share/systemtap; then \ + set -e; for f in $(SYSTEMTAP_TAPSETS); do \ + dh_install -p libvirt-daemon-system \ + usr/share/systemtap/tapset/$${f}.stp; \ + done; \ + fi + dh_install -p libvirt-daemon-system etc/libvirt/lxc.conf + dh_install -p libvirt-daemon-system etc/libvirt/qemu-sanlock.conf + set -e; for f in $(NSS_PLUGINS); do \ + dh_install -p libnss-libvirt \ + usr/lib/$(DEB_HOST_MULTIARCH)/libnss_$${f}.so.2 \ + lib/$(DEB_HOST_MULTIARCH)/; \ + done +endif +ifneq (,$(findstring $(DEB_HOST_ARCH), $(ARCHES_XEN))) + dh_install -p libvirt-daemon-system etc/libvirt/libxl.conf + dh_install -p libvirt-daemon-system etc/libvirt/libxl-lockd.conf + dh_install -p libvirt-daemon-system etc/libvirt/libxl-sanlock.conf +endif + +override_dh_installinit: + # Install SysV init scripts + dh_installinit -p libvirt-daemon-system-sysv --name=virtlogd --no-stop-on-upgrade + dh_installinit -p libvirt-daemon-system-sysv --name=virtlockd --no-stop-on-upgrade + dh_installinit -p libvirt-daemon-system-sysv --name=libvirtd --restart-after-upgrade -- defaults 28 72 + dh_installinit -p libvirt-daemon-system-sysv --name=libvirt-guests --no-start -- defaults 29 71 + # Install default files, which are used by both systemd and SysV init + dh_installinit -p libvirt-daemon-system --name=virtlogd --no-scripts + dh_installinit -p libvirt-daemon-system --name=virtlockd --no-scripts + dh_installinit -p libvirt-daemon-system --name=libvirtd --no-scripts + dh_installinit -p libvirt-daemon-system --name=libvirt-guests --no-scripts + +# We handle starting, stopping and restarting systemd units ourselves. +# See the various systemd_*() functions in maintainer scripts for details. +# The implementation is based on the code that would be generated by +# dh_installsystemd, but it's been tailored to fit libvirt's specifics +# such as the requirement to reload rather than restart virtlogd on upgrade +override_dh_installsystemd: + +override_dh_installdocs: + dh_installdocs -plibvirt-doc --doc-main-package libvirt-doc + dh_installdocs -Nlibvirt-doc + +# dh_missing can't figure out that some files are skipped on purpose due +# to the conditionals above, so let's make the error non-fatal for -indep +# builds. -arch builds don't need this because we sync whether each feature +# is enabled and whether the corresponding files are installed +override_dh_missing-indep: + dh_missing --list-missing diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000000..163aaf8d82 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/options b/debian/source/options new file mode 100644 index 0000000000..474295a23f --- /dev/null +++ b/debian/source/options @@ -0,0 +1,3 @@ +tar-ignore = "debian/gbp.conf" +tar-ignore = "debian/salsa-ci.yml" +tar-ignore = "debian/scripts" diff --git a/debian/tests/build-test b/debian/tests/build-test new file mode 100755 index 0000000000..e88b7f0623 --- /dev/null +++ b/debian/tests/build-test @@ -0,0 +1,9 @@ +#!/usr/bin/make -f + +CFLAGS = $(shell pkg-config --cflags libvirt) +LIBS = $(shell pkg-config --libs libvirt) + +a.out: examples/c/domain/info1.c + gcc $(CFLAGS) $< $(LIBS) + @echo "Build test of $< succeeded" + @rm -f a.out diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 0000000000..80fc56d9ea --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,28 @@ +Tests: smoke +Depends: + libvirt-clients, +Restrictions: allow-stderr + +Tests: smoke-qemu-session +Depends: + libvirt-clients, + libvirt-daemon, + libxml2-utils, + qemu-kvm, + qemu-system, +Restrictions: allow-stderr, isolation-container, skippable, skip-not-installable + +Tests: smoke-lxc +Depends: + libvirt-clients, + libvirt-daemon-driver-lxc, + libvirt-daemon-system, + libxml2-utils, +Restrictions: allow-stderr, needs-root, isolation-machine + +Tests: build-test +Depends: + build-essential, + libvirt-dev, + pkg-config, +Restrictions: allow-stderr diff --git a/debian/tests/smoke b/debian/tests/smoke new file mode 100755 index 0000000000..56ac103031 --- /dev/null +++ b/debian/tests/smoke @@ -0,0 +1,14 @@ +#!/bin/sh + +set -e +set -x + +export LIBVIRT_DEFAULT_URI='test:///default' + +virsh list | grep -qs 'test[[:space:]]\+running' +virsh destroy test +virsh net-list +virsh pool-list + +echo 'Smoke test of test driver succesful' +exit 0 diff --git a/debian/tests/smoke-lxc b/debian/tests/smoke-lxc new file mode 100755 index 0000000000..0c8e31e540 --- /dev/null +++ b/debian/tests/smoke-lxc @@ -0,0 +1,48 @@ +#!/bin/sh + +set -e + +export LIBVIRT_DEFAULT_URI='lxc:///' + +XML=debian/tests/smoke-lxc.xml +DOMAIN=sl + +cleanup() +{ + if [ -z "$CLEANED_UP" ]; then + virsh destroy ${DOMAIN} || true + virsh undefine ${DOMAIN} || true + CLEANED_UP=1 + fi +} + +check_domain() +{ + virsh list | grep -qs "${DOMAIN}[[:space:]]\+running" + virsh lxc-enter-namespace --noseclabel ${DOMAIN} /bin/ls /bin/ls +} + +trap cleanup EXIT + +set -x +virt-host-validate lxc || exit 0 +virsh capabilities +virsh capabilities | grep -qs 'emulator>/usr/lib/libvirt/libvirt_lxc' +virsh capabilities | grep -qs 'os_type>exe' +virt-xml-validate ${XML} +virsh define ${XML} +rm -f /var/log/libvirt/lxc/sl.log +virsh start ${DOMAIN} +# Check virtlogd is running +grep -qs "starting up" /var/log/libvirt/lxc/sl.log +check_domain +# Make sure a restart doesn't termiante the domain +/etc/init.d/libvirtd restart +check_domain +virsh destroy ${DOMAIN} +virsh undefine ${DOMAIN} +CLEANED_UP=1 +set +x + +echo 'Smoke test of lxc:/// succesful' +exit 0 diff --git a/debian/tests/smoke-lxc.xml b/debian/tests/smoke-lxc.xml new file mode 100644 index 0000000000..bf694c7be8 --- /dev/null +++ b/debian/tests/smoke-lxc.xml @@ -0,0 +1,23 @@ + + sl + 256000 + 256000 + 1 + + exe + /bin/bash + + + + + + + + + + + + + + + diff --git a/debian/tests/smoke-qemu-session b/debian/tests/smoke-qemu-session new file mode 100755 index 0000000000..20611849b8 --- /dev/null +++ b/debian/tests/smoke-qemu-session @@ -0,0 +1,46 @@ +#!/bin/sh + +set -e + +export LIBVIRT_DEFAULT_URI='qemu:///session' +XML=debian/tests/smoke-qemu-session.xml +DOMAIN=sqs + +cleanup() +{ + if [ -z "$CLEANED_UP" ]; then + virsh destroy sqs || true + virsh undefine sqs || true + CLEANED_UP=1 + fi +} + +trap cleanup EXIT + +if [ ! -f /vmlinuz ] || [ ! -f /initrd.img ]; then + echo "Kernel or initrd not found...skipping". + exit 77 +fi + +if [ $(uname -m) != "x86_64" ]; then + echo "Not on x86_64...skipping" + exit 77 +fi + +echo echo "Running as $USER" +set -x +virt-host-validate qemu || true +virsh capabilities +virsh capabilities | grep -qs "arch name='x86_64'" +virsh capabilities | grep -qs 'os_type>hvm' +virt-xml-validate ${XML} +virsh define ${XML} +virsh start ${DOMAIN} +virsh list | grep -qs "${DOMAIN}[[:space:]]\+running" +virsh destroy ${DOMAIN} +virsh undefine ${DOMAIN} +CLEANED_UP=1 +set +x + +echo 'Smoke test of qemu session:/// succesful' +exit 0 diff --git a/debian/tests/smoke-qemu-session.xml b/debian/tests/smoke-qemu-session.xml new file mode 100644 index 0000000000..ce57676205 --- /dev/null +++ b/debian/tests/smoke-qemu-session.xml @@ -0,0 +1,32 @@ + + sqs + 256000 + 256000 + 1 + + hvm + /vmlinuz + /initrd.img + console=ttyS0 quiet loglevel=0 edd=off printk.time=1 noreplace-smp cgroup_disable=memory pci=noearly noapic panic=-1 selinux=0 + + + + + + + destroy + destroy + destroy + + /usr/bin/kvm + + +
+ + + + + + + + diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc new file mode 100644 index 0000000000..9379836ca4 --- /dev/null +++ b/debian/upstream/signing-key.asc @@ -0,0 +1,94 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBF8VqoQBEACcjMco80+TaJU8JYCiOSPZb2a9pKSvz8I7wGqa+awcELWnTGTS +1A66KneUNzEZlmXaL/OZ6n+KtMT+2V6hqBeG8+p/GbCDzr+ThwcdlUvQ9p15hiHV +5IRPXgX15ltXB40+HEDQsj7iaZD14PmD/5QewfuGa/wEkGtPJjY+6+7ARE+JVdvG +0Tzj9hlKlVJnJrEZELZh2+MFsRqtQPwx4h7JFZikLg1KHG8ewdo5zYjRLVrId334 +fu+cqvLa6dqXoM9adW5VREIyr4WJnyqCe+X1fc2K6ZVC+vonQw/6B0AIH6HYkah0 +jdwD1aMwLEFd3OzkqWn32Bxk75xviuxesOX08pAWoiDsbU7T2e+O0AXslBNVYDDf +rnn0+OK8P0GzP391+OKC6fNN6I6Lfhs/+j5pNv5MzH2BdoRaO6bwnlQ8X1NuER3H +/CZwrgN7XH01mRyNmWZBX/IJqNv5iDXqWcVQKqT+EKiy6XQqnFyQRRmzdj80/Ec3 +Xk55Ne73uMHExdVh5Rqv6/Pdn2lLT8IIsJiPS/NI9BamtvoyQC55M/ZgyMaTqQgr +Bhf0U9qMn09gT8g+XmlSTPa7ldWCZn3nnemSQcSuCCmoHXOy+ZMQOtXAqnDhkLlr +9gHAesWszMoFfGqDfgj23MgYRIHw0HRyuYnk2bP06GZsZbd9b1pgDfeyGwARAQAB +tCVKacWZw60gRGVuZW1hcmsgPGpkZW5lbWFyQHJlZGhhdC5jb20+iQJUBBMBCAA+ +FiEERTtlMQWVVihVRxGZymi+gBAITJwFAl8VqoQCGwMFCQlmAYAFCwkIBwIGFQoJ +CAsCBBYCAwECHgECF4AACgkQymi+gBAITJwAxg/6A/rc143J3rnHYVEzMbJR76MZ +FGv+WQn0N42+d2I4zZiEYuZPopTpHahysDf6k3d9fZ0bv2mBNTzFvhlVMyqCKf9O +1wPNnGdMCDhfCFjX1jkA9lW09XVpkKwqfMSV6nhEdlfabThzYyK9kWpRCD+wtTRo +DMuZEdE1lPXql8PWyrSV0xxatISB1ULjpzq7muc9YtCyAZFho6W3n2EaPXhuNavt +z1oke4HVPEuzMDXk3o6RMMjhrMa9KrfRfXdp9adfF1X43S2EaBBDI1uFn2w9iiVA +Z2js4aZVxnEmiXO8XZRHvbgcDkRN5Wd/GsOKvZK7qoglPOMFpZ66UkneZsQv8fcp +SIidkgpobvtfe28jMjZ//r//7k+9c8gHQPMcEQPXCjkELFpsUNBBXJ8WORQopp2u +ZNigVpZ+nM/YcxYD4csDW6ieBCacEAvN3muzBqo01nk4IlbiZ6M5Ob+9aPAwXQjc +9PQeB3qxlHfKwAvTcOk05dLJctMGBhnG8KBWnQbjIIF+1PC1Mdum8h88uZObS8qM +yPtUtgxno1RCa3rhm1RPH8Wjr2Q1FWSMPNul8PHCagv6PZhts8a7i07hpizTiELk +ny+lKaBzrTnge2tl4VbfzOOO1XHqifh1tKD4IyYe3BFeOvbc2w+EFwzpkcNp5Rse +2uHgl2XL8NLIYZmb0bC5Ag0EXxWqhAEQALeQx73Ycb6gqDbJweVzY40IBkuG+4ES +3zFcELCXDNTfityLTERMxJeuGuPi7IcoAYIjXl3eqUyiQgHsaodtL1y0u1x1BL1k +tvx4D0ztskgflAFz+LB+wZSau3P0SfgZkNtBzxwtSuTVVnkC+DwT0XXGLDRBbyAo +offF0NyurWRT7+uwx5cQ8z52M/w7lHeJywn8UonjjR+g+2IbsDsJYQuKuR0ColHf +tf13O9G8xZJ+kiykMzQ1BHHinidFmTaSZwX8NKmJP67PQ5noMXBXv9YmC4Xd8IUe +5t01A6Pjkaii8/SV08Pa3GiVx/Mw18EbkwpgudrtyCkiXnqnbB7/UYOEdO+zLRgl +pRdBNDMF9gPWeoc0L8f9I0+ofuZ+tDTJnahKxwJdFWqfGfLy7i58Y1RVRUsQY88x +lI9tUeaHabtXEA55c+RdCom5IN+tEzJgY00YkS5XcsZcfJvL5DStHlMow1l90lbN +qxif0fFthZqYAuyJGlu5vWlRpFn/90sPo2GQse+VrFu2TF0wv5LsSKaj9oWzTCoP +me6FOz2JCHWu+VnuKInnDN89nG4w1ajCiu9he3UywdxG3L8B2VLwfi7wT5sUnqqE +O/SEdlxAJ3MvSu4h+En0qRAdjWkSWRy4wjSVOC+4YaxQtbsq18BnOI3zpkb21QFw +NwpOdVbs6HWJABEBAAGJAjwEGAEIACYWIQRFO2UxBZVWKFVHEZnKaL6AEAhMnAUC +XxWqhAIbDAUJCWYBgAAKCRDKaL6AEAhMnKc2D/9CfgTonQlHZR/qWDTxWg6WZTaM +CvuMK7qFSOkOaXmilYNDf+MW4H9Dzg8GLZyhD9+9qeh/kMqLgiMwkPfqKlR8KhIc +DwLiRP+QZyf+aHizFHTEbpSFcQ+tOZYQqdN+7Te0EA8WL0CefpQSgqY9iwj4R1DF +b4cvoCe33A8nyJ6+FZoPZ5sZPUlUEgQ1tCjsgraquEkyZ31kbd7/6V17SPO6Oiwz +HWlaOqJEofAqZC2S4B/qjsqiECLbRERAwJhHxVAREdtSWB29k4wqRjFIa0IwY+Nd +DSSyc7DZ9CuPzDQcZE9BE9z1gqrI5J32kP4lG98ffL7w9qoLtk8ga9xt/Xk45iX+ +4E68csnHX60qW1/fRqO6aJMUPbrn9lGvCFwldOk88F60D19CQorpI4gtuk7tkCnK +UCa/AOAkpZMuliQUWxLzqar2LPfu7n41qI5VHXP1ZUHYU5yboUgWeKnqWWLYXNoK +vVI0teihvP/8tlz/5OHfUbiFzlYV8wVhs3faBJ0qRmTKiHmgRssDUM+LbJgXzxAp +vTYaoamncuAz6ofaQDFGlg6q5L+4RUTAg7csabTNBLewJk0F5gbzlMf5iMqNpPND +GZRlZGnYheeiWwZ5bk480/0B9owTBrn3tL6iwApeR62HQJ6SLEcdCDCVJkcMT2Hh +5AegqaRBEaE3ko/icJkBogQ5NRH0EQQAjGELFNSzLN+6jjDCYU5H8m+Wq7j2qbvC +AjUeJDZN+o0/5Xe6Df9MbajP3tkvVTswHdeuTznhKG8U1zdt+DDoY+jzPbiTToAK +tTdZNXloRqVcNhyGLG+NAR4ClX/Zna7+9++S9fEm/Kr9wnAYSXyvKFtGb9qHq7lh +Q6bDK/VC8ccAoJo2qbg6yQ2TexxLTgnDxfAqDUxvA/sHnRmyi714OjROVMq5Fd6n +2MKz2ovOBLD2NVWlnphfoT3IfteK9AlCDlQA1/Ox2iAbE5hmf7uirPWWAC1WW8I0 +HMjaezD+GZryKXx13cYCyfvQ2yrOsk5YANZqFEhEcnxqv5DAvZ6t3VWIJmJscUbj +vP3lSrn70rZ8YSK/2r96NwP9E+P4T109jeFgqb6QsSgyD8vf6al3GI0hFW0tZX2D ++s38TQysLhdo+IEVprpyZz6MCBsdPmYZdXXOvAekDoManpyTZDW0ilFJttzJc0nk ++s8sgCXF1v//88We7e2KuC/fl+hULSfA+5G3AfzUL/d1KmSp1KZQ/t+W/8TOsz+l +Knq0OkRhbmllbCBWZWlsbGFyZCAoUmVkIEhhdCB3b3JrIGVtYWlsKSA8dmVpbGxh +cmRAcmVkaGF0LmNvbT6IXgQTEQIAHgUCQ1KUiwIbAwYLCQgHAwIDFQIDAxYCAQIe +AQIXgAAKCRBGBril3pW8HyXAAJ4vF6rgJUhes/FpycEOiO8q1UwOiACfTZ8Mlfnc +BNcJA4NXsqIAupXFPL+0KERhbmllbCBWZWlsbGFyZCA8RGFuaWVsLlZlaWxsYXJk +QHczLm9yZz6IXgQTEQIAFgUCOTUR9AQLCgQDAxUDAgMWAgECF4AAEgkQRga4pd6V +vB8HZUdQRwABASjYAJ0bg3uZHA+/f974QtI0VE+0uKRpDACfTkTeyy9yyRzOOSzP +coyLuvFDru65AQ0EOTUR/BAEAOq2lDkrxxTRuNotrVeNAURKfnsZFzZ01ykupok1 +LUzY77uYtFQwx65D8r2jPCC0Z4N470XQ4Yb/7VXJRyWeycpRP/+OWv9V2uX5dyZP +LzQ1uYMtTxMIwBQUFIN++TG4HiKcMBEfvXOlLbADMWL9qNNziA8qu3C6SUKN6dht +DiFHAAMFBADBsm+4DRNa8mqN6TPSoCvv4sLAIJWgEJvFnfwHbAETh+lstXcENkHH +nCeJvX3xNTIQkUKP//FRRhxR0tgtuDA7JzlSIBFZ1mxCFTM6ebxXwvpCBe0a/Z6t +wYK+MB6OsvttOBhdVHN69wm9hZ+2FppNTZ1SerXnpZQ7MU/uzL3zP4hOBBgRAgAG +BQI5NRH8ABIJEEYGuKXelbwfB2VHUEcAAQE6wwCePL+uqpMxhi0dph9gu0hcNMuD +mEgAoIbkOwWEzQJVRTO305bzlIYAOvUiuQENBFhAiSoBCADVKvDB+Sp3y3meH6Ab +CQ33M83N1pRucyLgX5P5XSdIM7YKQzbW94DyS1N6roOeo0Sx8//TCa4zSWoXj3Al +Xkwxon2gJxd0Ngi5oGVNh2u85QTtIkFHwNI9NHjibnkQFwbxTiZ86mNN/hGtCodO +jtUIyFdp47HhUyXC3aJW/BGp+dC9N+pc/4ZiTzYtBM1Nhl96iqiAcNwyhXa4pHy4 +Zqoavad9wxcJ+Hk7Zn8VJqwye90xo82MPq6hVFVC2hDil3XCRsRIXDvFO74lwcA2 +EEJFoZj7tnSb7CAdBprPOIW7BMyxGgB3jPK3aBRCz1Z3JmDy+keQ0nC9a5jMLcb1 +vD1JABEBAAGJAWgEGBECAAkFAlhAiSoCGwIBKQkQRga4pd6VvB/AXSAEGQECAAYF +AlhAiSoACgkQFViLJllr6l1EIQgAsxOREFVKxcv2xHOnob2c68vnboYT/KCX/ds4 +WJKSq568gYu+VZHBn33QFyPkYuV7MgoOER+1WLIDaF9FD1SNuPVVoDlW4P4satDP +sy9EDZT5vI4FFu8hu/Togc5VF8mDzEEE07NAm96IsDWC7gMwhNT8su2G2HlQM56x +tQLobmmHRpBUTcyMfns5SHkDemCLSXIm1RqeyeT3+pRPqQj8hSECJzzKMzJIlPwq +sjWJ+3XE85MAgVtDcFanyfhFGlFHfCAxH+5nZ0ggbuvgIAIxgME4oHKs8izXeVTk +56km4IldSkzCQmghT0FY7404ZDVcNyi90X00kaTqRV5XMqs0V+NBAJ9192PXgYld +WZct8y5UKb2aTpViGwCdH3vSJrX4pcsGfPqdOrjoWwujhJy5AQ0EWECJaAEIALvA +vlK+tI665d3OWl/qn07adFPrwKHwjAtio6bSzluxGsEiXAxJrNuqcmJQvUj6TBUX +KDFDEIbka1IJiIcBI86p4TKq7p4syJ52yj5UWIJw1dYK3zGxUSkexBz0wOl6pwV5 +Icj5qDHE/LebSaGN1qcfPIT3ufMB/l608HM1SvglBQ+vAkbusePpvtSBY30zI849 +Ipy+8z4LcTcdJk3TKb52Qhc+AQt9eeeUzPyUgtE8j+rVAv0sIL/DiPraWdrNOZwC +Tyvj58TUdNcquIKbuUw+kdVYldAt3DRSnq8ojYbW8aoe0ezpgjm26NtjHl7abdLr +ct/r+E3NA/JREVBpjCEAEQEAAYhJBBgRAgAJBQJYQIloAhsMAAoJEEYGuKXelbwf +5pwAn2uD0RpQ9xa7xPr1OYBmNV4HutvPAJ9Yj+vFte9+FNTqObFprqnf2Q+rdA== +=wA/d +-----END PGP PUBLIC KEY BLOCK----- diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000000..30de713cb2 --- /dev/null +++ b/debian/watch @@ -0,0 +1,4 @@ +version=4 +opts="uversionmangle=s/-rc/~rc/,pgpmode=auto" \ +https://libvirt.org/sources/ \ + ^libvirt-((?:[\d\.]+)(?:-rc\d)?)\.tar\.[gx]z$