Compare commits
30 Commits
F-10-start
...
libvirt-0_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6db79d97f | ||
|
|
7b7f8cc27f | ||
|
|
a9cc41b082 | ||
|
|
ce1593f88f | ||
|
|
f5edf79c95 | ||
|
|
b59e64bf44 | ||
|
|
a09fc2658a | ||
|
|
a008fcf27e | ||
|
|
511f6cd625 | ||
|
|
48b90fefc1 | ||
|
|
bc4bbabdf6 | ||
|
|
905627c8fd | ||
|
|
a16d752c10 | ||
|
|
29b1292019 | ||
|
|
f3546be64b | ||
|
|
fb9044931e | ||
|
|
03c5fec4d2 | ||
|
|
ce373a25b6 | ||
|
|
996d0e4709 | ||
|
|
8c01426c44 | ||
|
|
e859f7e59e | ||
|
|
25ea2f59bd | ||
|
|
c80b7f0d5a | ||
|
|
958f1c3dff | ||
|
|
4a8ca1017f | ||
|
|
1e122ee5dc | ||
|
|
6a6307bcdc | ||
|
|
6e8332946a | ||
|
|
982683e56f | ||
|
|
7244d1a339 |
@@ -3,4 +3,6 @@
|
|||||||
i686
|
i686
|
||||||
x86_64
|
x86_64
|
||||||
libvirt-*.tar.gz
|
libvirt-*.tar.gz
|
||||||
libvirt-0.4.6.tar.gz
|
libvirt-0.6.0.tar.gz
|
||||||
|
libvirt-0.6.1.tar.gz
|
||||||
|
libvirt-0.6.2.tar.gz
|
||||||
|
|||||||
26
libvirt-0.6.2-qemu-drive-format.patch
Normal file
26
libvirt-0.6.2-qemu-drive-format.patch
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
From 0ae4c67ff5f1d24698c5cfc8a9719d333c892644 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mark McLoughlin <markmc@redhat.com>
|
||||||
|
Date: Thu, 16 Apr 2009 11:23:55 +0100
|
||||||
|
Subject: [PATCH 1/3] qemu -drive takes format= not fmt=
|
||||||
|
|
||||||
|
Seems like a simple typo - it has been "format=" since the flag
|
||||||
|
was introduced, but we added it as "fmt=".
|
||||||
|
|
||||||
|
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
|
||||||
|
---
|
||||||
|
src/qemu_conf.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/qemu_conf.c b/src/qemu_conf.c
|
||||||
|
index f36c927..6f9e610 100644
|
||||||
|
--- a/src/qemu_conf.c
|
||||||
|
+++ b/src/qemu_conf.c
|
||||||
|
@@ -1135,7 +1135,7 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
||||||
|
disk->device == VIR_DOMAIN_DISK_DEVICE_DISK)
|
||||||
|
virBufferAddLit(&opt, ",boot=on");
|
||||||
|
if (disk->driverType)
|
||||||
|
- virBufferVSprintf(&opt, ",fmt=%s", disk->driverType);
|
||||||
|
+ virBufferVSprintf(&opt, ",format=%s", disk->driverType);
|
||||||
|
|
||||||
|
if (disk->cachemode) {
|
||||||
|
const char *mode =
|
||||||
76
libvirt-0.6.2-shared-readonly-label.patch
Normal file
76
libvirt-0.6.2-shared-readonly-label.patch
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
diff -rup libvirt-0.6.2/src/security_selinux.c libvirt-0.6.2.new/src/security_selinux.c
|
||||||
|
--- libvirt-0.6.2/src/security_selinux.c 2009-04-03 15:36:56.000000000 +0100
|
||||||
|
+++ libvirt-0.6.2.new/src/security_selinux.c 2009-05-05 13:39:42.000000000 +0100
|
||||||
|
@@ -24,11 +24,12 @@
|
||||||
|
#include "virterror_internal.h"
|
||||||
|
#include "util.h"
|
||||||
|
#include "memory.h"
|
||||||
|
-
|
||||||
|
+#include "logging.h"
|
||||||
|
|
||||||
|
#define VIR_FROM_THIS VIR_FROM_SECURITY
|
||||||
|
|
||||||
|
static char default_domain_context[1024];
|
||||||
|
+static char default_content_context[1024];
|
||||||
|
static char default_image_context[1024];
|
||||||
|
#define SECURITY_SELINUX_VOID_DOI "0"
|
||||||
|
#define SECURITY_SELINUX_NAME "selinux"
|
||||||
|
@@ -148,8 +149,13 @@ SELinuxInitialize(virConnectPtr conn)
|
||||||
|
close(fd);
|
||||||
|
|
||||||
|
ptr = strchrnul(default_image_context, '\n');
|
||||||
|
- *ptr = '\0';
|
||||||
|
-
|
||||||
|
+ if (*ptr == '\n') {
|
||||||
|
+ *ptr = '\0';
|
||||||
|
+ strcpy(default_content_context, ptr+1);
|
||||||
|
+ ptr = strchrnul(default_content_context, '\n');
|
||||||
|
+ if (*ptr == '\n')
|
||||||
|
+ *ptr = '\0';
|
||||||
|
+ }
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -275,6 +281,8 @@ SELinuxSetFilecon(virConnectPtr conn, co
|
||||||
|
{
|
||||||
|
char ebuf[1024];
|
||||||
|
|
||||||
|
+ VIR_INFO("Setting SELinux context on '%s' to '%s'", path, tcon);
|
||||||
|
+
|
||||||
|
if(setfilecon(path, tcon) < 0) {
|
||||||
|
virSecurityReportError(conn, VIR_ERR_ERROR,
|
||||||
|
_("%s: unable to set security context "
|
||||||
|
@@ -299,6 +307,8 @@ SELinuxRestoreSecurityImageLabel(virConn
|
||||||
|
char *newpath = NULL;
|
||||||
|
const char *path = disk->src;
|
||||||
|
|
||||||
|
+ /* Don't restore labels on readoly/shared disks, because
|
||||||
|
+ * other VMs may still be accessing these */
|
||||||
|
if (disk->readonly || disk->shared)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
@@ -328,8 +338,13 @@ SELinuxSetSecurityImageLabel(virConnectP
|
||||||
|
{
|
||||||
|
const virSecurityLabelDefPtr secdef = &vm->def->seclabel;
|
||||||
|
|
||||||
|
- if (secdef->imagelabel)
|
||||||
|
+ if (disk->shared) {
|
||||||
|
+ return SELinuxSetFilecon(conn, disk->src, default_image_context);
|
||||||
|
+ } else if (disk->readonly) {
|
||||||
|
+ return SELinuxSetFilecon(conn, disk->src, default_content_context);
|
||||||
|
+ } else if (secdef->imagelabel) {
|
||||||
|
return SELinuxSetFilecon(conn, disk->src, secdef->imagelabel);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@@ -403,9 +418,6 @@ SELinuxSetSecurityLabel(virConnectPtr co
|
||||||
|
|
||||||
|
if (secdef->imagelabel) {
|
||||||
|
for (i = 0 ; i < vm->def->ndisks ; i++) {
|
||||||
|
- if (vm->def->disks[i]->readonly ||
|
||||||
|
- vm->def->disks[i]->shared) continue;
|
||||||
|
-
|
||||||
|
if (SELinuxSetSecurityImageLabel(conn, vm, vm->def->disks[i]) < 0)
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
33
libvirt-0.6.2-svirt-sound.patch
Normal file
33
libvirt-0.6.2-svirt-sound.patch
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
--- src/qemu_conf.c.orig 2009-04-02 11:50:10.000000000 +0200
|
||||||
|
+++ src/qemu_conf.c 2009-04-03 17:46:59.000000000 +0200
|
||||||
|
@@ -779,6 +779,20 @@ int qemudBuildCommandLine(virConnectPtr
|
||||||
|
char domid[50];
|
||||||
|
char *pidfile;
|
||||||
|
const char *cpu = NULL;
|
||||||
|
+ int skipSound = 0;
|
||||||
|
+
|
||||||
|
+ if (driver->securityDriver &&
|
||||||
|
+ driver->securityDriver->name &&
|
||||||
|
+ STREQ(driver->securityDriver->name, "selinux") &&
|
||||||
|
+ getuid() == 0) {
|
||||||
|
+ static int soundWarned = 0;
|
||||||
|
+ skipSound = 1;
|
||||||
|
+ if (vm->def->nsounds &&
|
||||||
|
+ !soundWarned) {
|
||||||
|
+ soundWarned = 1;
|
||||||
|
+ VIR_WARN0("Sound cards for VMs are disabled while SELinux security model is active");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
|
||||||
|
uname_normalize(&ut);
|
||||||
|
|
||||||
|
@@ -1425,7 +1439,8 @@ int qemudBuildCommandLine(virConnectPtr
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add sound hardware */
|
||||||
|
- if (vm->def->nsounds) {
|
||||||
|
+ if (vm->def->nsounds &&
|
||||||
|
+ !skipSound) {
|
||||||
|
int size = 100;
|
||||||
|
char *modstr;
|
||||||
|
if (VIR_ALLOC_N(modstr, size+1) < 0)
|
||||||
293
libvirt.spec
293
libvirt.spec
@@ -10,9 +10,30 @@
|
|||||||
%define with_polkit 0%{!?_without_polkit:0}
|
%define with_polkit 0%{!?_without_polkit:0}
|
||||||
%define with_python 0%{!?_without_python:1}
|
%define with_python 0%{!?_without_python:1}
|
||||||
%define with_libvirtd 0%{!?_without_libvirtd:1}
|
%define with_libvirtd 0%{!?_without_libvirtd:1}
|
||||||
|
%define with_uml 0%{!?_without_uml:1}
|
||||||
|
%define with_network 0%{!?_without_network:1}
|
||||||
|
|
||||||
|
%define with_xen 0%{!?_without_xen:1}
|
||||||
|
%define with_xen_proxy 0%{!?_without_xen_proxy:1}
|
||||||
|
%define with_qemu 0%{!?_without_qemu:1}
|
||||||
|
%define with_openvz 0%{!?_without_openvz:1}
|
||||||
|
%define with_lxc 0%{!?_without_lxc:1}
|
||||||
|
%define with_sasl 0%{!?_without_sasl:1}
|
||||||
|
%define with_avahi 0%{!?_without_avahi:1}
|
||||||
|
%define with_polkit 0%{!?_without_polkit:0}
|
||||||
|
%define with_python 0%{!?_without_python:1}
|
||||||
|
%define with_libvirtd 0%{!?_without_libvirtd:1}
|
||||||
|
%define with_uml 0%{!?_without_uml:1}
|
||||||
|
%define with_network 0%{!?_without_network:1}
|
||||||
|
%define with_storage_fs 0%{!?_without_storage_fs:1}
|
||||||
|
%define with_storage_lvm 0%{!?_without_storage_lvm:1}
|
||||||
|
%define with_storage_iscsi 0%{!?_without_storage_iscsi:1}
|
||||||
|
%define with_storage_disk 0%{!?_without_storage_disk:1}
|
||||||
|
%define with_numactl 0%{!?_without_numactl:1}
|
||||||
|
|
||||||
|
|
||||||
# Xen is available only on i386 x86_64 ia64
|
# Xen is available only on i386 x86_64 ia64
|
||||||
%ifnarch i386 i686 x86_64 ia64
|
%ifnarch i386 i586 i686 x86_64 ia64
|
||||||
%define with_xen 0
|
%define with_xen 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
@@ -20,7 +41,7 @@
|
|||||||
%define with_xen_proxy 0
|
%define with_xen_proxy 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if "%{fedora}"
|
%if 0%{?fedora}
|
||||||
%ifarch ppc64
|
%ifarch ppc64
|
||||||
%define with_qemu 0
|
%define with_qemu 0
|
||||||
%endif
|
%endif
|
||||||
@@ -31,23 +52,44 @@
|
|||||||
%define with_xen_proxy 0
|
%define with_xen_proxy 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
#
|
||||||
|
# If building on RHEL switch on the specific support
|
||||||
|
# for the specific Xen version
|
||||||
|
#
|
||||||
|
%if 0%{?fedora}
|
||||||
|
%define with_rhel5 0
|
||||||
|
%else
|
||||||
|
%define with_rhel5 1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
Summary: Library providing a simple API virtualization
|
Summary: Library providing a simple API virtualization
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
Version: 0.4.6
|
Version: 0.6.2
|
||||||
Release: 3%{?dist}%{?extra_release}
|
Release: 4%{?dist}%{?extra_release}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Source: libvirt-%{version}.tar.gz
|
Source: libvirt-%{version}.tar.gz
|
||||||
Patch0: python_make.patch
|
|
||||||
|
# Patches cherry-picked from upstream
|
||||||
|
Patch0: libvirt-0.6.2-qemu-drive-format.patch
|
||||||
|
# Fix shared/readonly disk labelling
|
||||||
|
Patch1: libvirt-0.6.2-shared-readonly-label.patch
|
||||||
|
|
||||||
|
# Not for upstream. Temporary hack till PulseAudio autostart
|
||||||
|
# problems are sorted out when SELinux enforcing
|
||||||
|
Patch200: libvirt-0.6.2-svirt-sound.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||||
URL: http://libvirt.org/
|
URL: http://libvirt.org/
|
||||||
BuildRequires: python python-devel
|
BuildRequires: python python-devel
|
||||||
Requires: libxml2
|
|
||||||
Requires: readline
|
Requires: readline
|
||||||
Requires: ncurses
|
Requires: ncurses
|
||||||
Requires: dnsmasq
|
Requires: dnsmasq
|
||||||
Requires: bridge-utils
|
Requires: bridge-utils
|
||||||
Requires: iptables
|
Requires: iptables
|
||||||
|
# needed for device enumeration
|
||||||
|
Requires: hal
|
||||||
# So remote clients can access libvirt over SSH tunnel
|
# So remote clients can access libvirt over SSH tunnel
|
||||||
# (client invokes 'nc' against the UNIX socket on the server)
|
# (client invokes 'nc' against the UNIX socket on the server)
|
||||||
Requires: nc
|
Requires: nc
|
||||||
@@ -60,11 +102,13 @@ Requires: cyrus-sasl-md5
|
|||||||
%if %{with_polkit}
|
%if %{with_polkit}
|
||||||
Requires: PolicyKit >= 0.6
|
Requires: PolicyKit >= 0.6
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with_storage_fs}
|
||||||
# For mount/umount in FS driver
|
# For mount/umount in FS driver
|
||||||
BuildRequires: util-linux
|
BuildRequires: util-linux
|
||||||
# For showmount in FS driver (netfs discovery)
|
# For showmount in FS driver (netfs discovery)
|
||||||
BuildRequires: nfs-utils
|
BuildRequires: nfs-utils
|
||||||
Requires: nfs-utils
|
Requires: nfs-utils
|
||||||
|
%endif
|
||||||
%if %{with_qemu}
|
%if %{with_qemu}
|
||||||
# From QEMU RPMs
|
# From QEMU RPMs
|
||||||
Requires: /usr/bin/qemu-img
|
Requires: /usr/bin/qemu-img
|
||||||
@@ -74,12 +118,20 @@ Requires: /usr/bin/qemu-img
|
|||||||
Requires: /usr/sbin/qcow-create
|
Requires: /usr/sbin/qcow-create
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with_storage_lvm}
|
||||||
# For LVM drivers
|
# For LVM drivers
|
||||||
Requires: lvm2
|
Requires: lvm2
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_iscsi}
|
||||||
# For ISCSI driver
|
# For ISCSI driver
|
||||||
Requires: iscsi-initiator-utils
|
Requires: iscsi-initiator-utils
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_disk}
|
||||||
# For disk driver
|
# For disk driver
|
||||||
Requires: parted
|
Requires: parted
|
||||||
|
%endif
|
||||||
|
# For svirt support
|
||||||
|
Requires: libselinux
|
||||||
%if %{with_xen}
|
%if %{with_xen}
|
||||||
BuildRequires: xen-devel
|
BuildRequires: xen-devel
|
||||||
%endif
|
%endif
|
||||||
@@ -89,6 +141,7 @@ BuildRequires: readline-devel
|
|||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: gettext
|
BuildRequires: gettext
|
||||||
BuildRequires: gnutls-devel
|
BuildRequires: gnutls-devel
|
||||||
|
BuildRequires: hal-devel
|
||||||
%if %{with_avahi}
|
%if %{with_avahi}
|
||||||
BuildRequires: avahi-devel
|
BuildRequires: avahi-devel
|
||||||
%endif
|
%endif
|
||||||
@@ -104,8 +157,10 @@ BuildRequires: cyrus-sasl-devel
|
|||||||
%if %{with_polkit}
|
%if %{with_polkit}
|
||||||
BuildRequires: PolicyKit-devel >= 0.6
|
BuildRequires: PolicyKit-devel >= 0.6
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with_storage_fs}
|
||||||
# For mount/umount in FS driver
|
# For mount/umount in FS driver
|
||||||
BuildRequires: util-linux
|
BuildRequires: util-linux
|
||||||
|
%endif
|
||||||
%if %{with_qemu}
|
%if %{with_qemu}
|
||||||
# From QEMU RPMs
|
# From QEMU RPMs
|
||||||
BuildRequires: /usr/bin/qemu-img
|
BuildRequires: /usr/bin/qemu-img
|
||||||
@@ -115,13 +170,24 @@ BuildRequires: /usr/bin/qemu-img
|
|||||||
BuildRequires: /usr/sbin/qcow-create
|
BuildRequires: /usr/sbin/qcow-create
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with_storage_lvm}
|
||||||
# For LVM drivers
|
# For LVM drivers
|
||||||
BuildRequires: lvm2
|
BuildRequires: lvm2
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_iscsi}
|
||||||
# For ISCSI driver
|
# For ISCSI driver
|
||||||
BuildRequires: iscsi-initiator-utils
|
BuildRequires: iscsi-initiator-utils
|
||||||
|
%endif
|
||||||
|
%if %{with_storage_disk}
|
||||||
# For disk driver
|
# For disk driver
|
||||||
BuildRequires: parted-devel
|
BuildRequires: parted-devel
|
||||||
Obsoletes: libvir
|
%endif
|
||||||
|
%if %{with_numactl}
|
||||||
|
# For QEMU/LXC numa info
|
||||||
|
BuildRequires: numactl-devel
|
||||||
|
%endif
|
||||||
|
Obsoletes: libvir <= 0.2
|
||||||
|
Provides: libvir = %{version}-%{release}
|
||||||
|
|
||||||
# Fedora build root suckage
|
# Fedora build root suckage
|
||||||
BuildRequires: gawk
|
BuildRequires: gawk
|
||||||
@@ -133,12 +199,13 @@ of recent versions of Linux (and other OSes).
|
|||||||
%package devel
|
%package devel
|
||||||
Summary: Libraries, includes, etc. to compile with the libvirt library
|
Summary: Libraries, includes, etc. to compile with the libvirt library
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: libvirt = %{version}
|
Requires: libvirt = %{version}-%{release}
|
||||||
Requires: pkgconfig
|
Requires: pkgconfig
|
||||||
%if %{with_xen}
|
%if %{with_xen}
|
||||||
Requires: xen-devel
|
Requires: xen-devel
|
||||||
%endif
|
%endif
|
||||||
Obsoletes: libvir-devel
|
Obsoletes: libvir-devel <= 0.2
|
||||||
|
Provides: libvir-devel = %{version}-%{release}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Includes and documentations for the C library providing an API to use
|
Includes and documentations for the C library providing an API to use
|
||||||
@@ -148,8 +215,9 @@ the virtualization capabilities of recent versions of Linux (and other OSes).
|
|||||||
%package python
|
%package python
|
||||||
Summary: Python bindings for the libvirt library
|
Summary: Python bindings for the libvirt library
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Requires: libvirt = %{version}
|
Requires: libvirt = %{version}-%{release}
|
||||||
Obsoletes: libvir-python
|
Obsoletes: libvir-python <= 0.2
|
||||||
|
Provides: libvir-python = %{version}-%{release}
|
||||||
|
|
||||||
%description python
|
%description python
|
||||||
The libvirt-python package contains a module that permits applications
|
The libvirt-python package contains a module that permits applications
|
||||||
@@ -160,7 +228,14 @@ of recent versions of Linux (and other OSes).
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p0
|
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
|
%patch200 -p0
|
||||||
|
|
||||||
|
mv NEWS NEWS.old
|
||||||
|
iconv -f ISO-8859-1 -t UTF-8 < NEWS.old > NEWS
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if ! %{with_xen}
|
%if ! %{with_xen}
|
||||||
@@ -199,6 +274,38 @@ of recent versions of Linux (and other OSes).
|
|||||||
%define _without_libvirtd --without-libvirtd
|
%define _without_libvirtd --without-libvirtd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_uml}
|
||||||
|
%define _without_uml --without-uml
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_rhel5}
|
||||||
|
%define _with_rhel5_api --with-rhel5-api
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_network}
|
||||||
|
%define _without_network --without-network
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_storage_fs}
|
||||||
|
%define _without_storage_fs --without-storage-fs
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_storage_lvm}
|
||||||
|
%define _without_storage_lvm --without-storage-lvm
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_storage_iscsi}
|
||||||
|
%define _without_storage_iscsi --without-storage-iscsi
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_storage_disk}
|
||||||
|
%define _without_storage_disk --without-storage-disk
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! %{with_numactl}
|
||||||
|
%define _without_numactl --without-numactl
|
||||||
|
%endif
|
||||||
|
|
||||||
%configure %{?_without_xen} \
|
%configure %{?_without_xen} \
|
||||||
%{?_without_qemu} \
|
%{?_without_qemu} \
|
||||||
%{?_without_openvz} \
|
%{?_without_openvz} \
|
||||||
@@ -208,17 +315,28 @@ of recent versions of Linux (and other OSes).
|
|||||||
%{?_without_polkit} \
|
%{?_without_polkit} \
|
||||||
%{?_without_python} \
|
%{?_without_python} \
|
||||||
%{?_without_libvirtd} \
|
%{?_without_libvirtd} \
|
||||||
|
%{?_without_uml} \
|
||||||
|
%{?_without_network} \
|
||||||
|
%{?_with_rhel5_api} \
|
||||||
|
%{?_without_storage_fs} \
|
||||||
|
%{?_without_storage_lvm} \
|
||||||
|
%{?_without_storage_iscsi} \
|
||||||
|
%{?_without_storage_disk} \
|
||||||
|
%{?_without_numactl} \
|
||||||
--with-init-script=redhat \
|
--with-init-script=redhat \
|
||||||
--with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid \
|
--with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid \
|
||||||
--with-remote-file=%{_localstatedir}/run/libvirtd.pid
|
--with-remote-file=%{_localstatedir}/run/libvirtd.pid
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -fr %{buildroot}
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
%makeinstall
|
%makeinstall
|
||||||
(cd docs/examples ; make clean ; rm -rf .deps Makefile Makefile.in)
|
(cd docs/examples ; make clean ; rm -rf .deps Makefile Makefile.in)
|
||||||
(cd docs/examples/python ; rm -f Makefile Makefile.in)
|
(cd docs/examples/python ; rm -rf .deps Makefile Makefile.in)
|
||||||
|
(cd examples/hellolibvirt ; make clean ; rm -rf .deps .libs Makefile Makefile.in)
|
||||||
|
(cd examples/domain-events/events-c ; make clean ;rm -rf .deps .libs Makefile Makefile.in)
|
||||||
|
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
|
||||||
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
|
rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la
|
||||||
@@ -228,6 +346,8 @@ install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/run/libvirt/
|
|||||||
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/images/
|
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/images/
|
||||||
# Default dir for kernel+initrd images defnied in SELinux policy
|
# Default dir for kernel+initrd images defnied in SELinux policy
|
||||||
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/boot/
|
install -d -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/libvirt/boot/
|
||||||
|
# used for virDomainMemoryPeek
|
||||||
|
install -d -m 0700 $RPM_BUILD_ROOT%{_localstatedir}/cache/libvirt/
|
||||||
|
|
||||||
%if %{with_qemu}
|
%if %{with_qemu}
|
||||||
# We don't want to install /etc/libvirt/qemu/networks in the main %files list
|
# We don't want to install /etc/libvirt/qemu/networks in the main %files list
|
||||||
@@ -256,6 +376,10 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}
|
|||||||
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
|
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with_libvirtd}
|
||||||
|
chmod 0644 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/libvirtd
|
||||||
|
%endif
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -fr %{buildroot}
|
rm -fr %{buildroot}
|
||||||
|
|
||||||
@@ -268,7 +392,7 @@ rm -fr %{buildroot}
|
|||||||
# or on the first upgrade from a non-network aware libvirt only.
|
# or on the first upgrade from a non-network aware libvirt only.
|
||||||
# We check this by looking to see if the daemon is already installed
|
# We check this by looking to see if the daemon is already installed
|
||||||
/sbin/chkconfig --list libvirtd 1>/dev/null 2>&1
|
/sbin/chkconfig --list libvirtd 1>/dev/null 2>&1
|
||||||
if [ $? != 0 ]
|
if [ $? != 0 -a ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ]
|
||||||
then
|
then
|
||||||
UUID=`/usr/bin/uuidgen`
|
UUID=`/usr/bin/uuidgen`
|
||||||
sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \
|
sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \
|
||||||
@@ -289,8 +413,7 @@ if [ $1 = 0 ]; then
|
|||||||
fi
|
fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%postun
|
%postun -p /sbin/ldconfig
|
||||||
/sbin/ldconfig
|
|
||||||
|
|
||||||
%files -f %{name}.lang
|
%files -f %{name}.lang
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
@@ -311,6 +434,7 @@ fi
|
|||||||
%{_sysconfdir}/rc.d/init.d/libvirtd
|
%{_sysconfdir}/rc.d/init.d/libvirtd
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
|
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
|
||||||
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
|
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with_qemu}
|
%if %{with_qemu}
|
||||||
@@ -327,10 +451,42 @@ fi
|
|||||||
%{_datadir}/libvirt/networks/default.xml
|
%{_datadir}/libvirt/networks/default.xml
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%dir %{_datadir}/libvirt/
|
||||||
|
%dir %{_datadir}/libvirt/schemas/
|
||||||
|
|
||||||
|
%{_datadir}/libvirt/schemas/domain.rng
|
||||||
|
%{_datadir}/libvirt/schemas/network.rng
|
||||||
|
%{_datadir}/libvirt/schemas/storagepool.rng
|
||||||
|
%{_datadir}/libvirt/schemas/storagevol.rng
|
||||||
|
%{_datadir}/libvirt/schemas/nodedev.rng
|
||||||
|
%{_datadir}/libvirt/schemas/capability.rng
|
||||||
|
|
||||||
%dir %{_localstatedir}/run/libvirt/
|
%dir %{_localstatedir}/run/libvirt/
|
||||||
|
|
||||||
%dir %{_localstatedir}/lib/libvirt/
|
%dir %{_localstatedir}/lib/libvirt/
|
||||||
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/images/
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/images/
|
||||||
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/boot/
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/boot/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/cache/libvirt/
|
||||||
|
|
||||||
|
%if %{with_qemu}
|
||||||
|
%dir %{_localstatedir}/run/libvirt/qemu/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/qemu/
|
||||||
|
%endif
|
||||||
|
%if %{with_lxc}
|
||||||
|
%dir %{_localstatedir}/run/libvirt/lxc/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
|
||||||
|
%endif
|
||||||
|
%if %{with_uml}
|
||||||
|
%dir %{_localstatedir}/run/libvirt/uml/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
|
||||||
|
%endif
|
||||||
|
%if %{with_network}
|
||||||
|
%dir %{_localstatedir}/run/libvirt/network/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/iptables/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/iptables/filter/
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/iptables/nat/
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{with_qemu}
|
%if %{with_qemu}
|
||||||
%{_datadir}/augeas/lenses/libvirtd_qemu.aug
|
%{_datadir}/augeas/lenses/libvirtd_qemu.aug
|
||||||
@@ -346,6 +502,7 @@ fi
|
|||||||
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
|
%{_datadir}/PolicyKit/policy/org.libvirt.unix.policy
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
|
||||||
%if %{with_qemu}
|
%if %{with_qemu}
|
||||||
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
|
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
|
||||||
%endif
|
%endif
|
||||||
@@ -363,7 +520,6 @@ fi
|
|||||||
%attr(0755, root, root) %{_sbindir}/libvirtd
|
%attr(0755, root, root) %{_sbindir}/libvirtd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%doc docs/*.rng
|
|
||||||
%doc docs/*.xml
|
%doc docs/*.xml
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
@@ -373,6 +529,7 @@ fi
|
|||||||
%dir %{_includedir}/libvirt
|
%dir %{_includedir}/libvirt
|
||||||
%{_includedir}/libvirt/*.h
|
%{_includedir}/libvirt/*.h
|
||||||
%{_libdir}/pkgconfig/libvirt.pc
|
%{_libdir}/pkgconfig/libvirt.pc
|
||||||
|
%dir %{_datadir}/gtk-doc/html/libvirt
|
||||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
|
||||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.html
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.html
|
||||||
%doc %{_datadir}/gtk-doc/html/libvirt/*.png
|
%doc %{_datadir}/gtk-doc/html/libvirt/*.png
|
||||||
@@ -381,6 +538,7 @@ fi
|
|||||||
%doc docs/*.html docs/html docs/*.gif
|
%doc docs/*.html docs/html docs/*.gif
|
||||||
%doc docs/examples
|
%doc docs/examples
|
||||||
%doc docs/libvirt-api.xml
|
%doc docs/libvirt-api.xml
|
||||||
|
%doc examples
|
||||||
|
|
||||||
%if %{with_python}
|
%if %{with_python}
|
||||||
%files python
|
%files python
|
||||||
@@ -396,6 +554,101 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue May 5 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.2-4.fc11
|
||||||
|
- Fix labelling of shared/readonly disks (rhbz #493692)
|
||||||
|
|
||||||
|
* Tue Apr 28 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-3.fc11
|
||||||
|
- Fix missing directories in spec (#496945 and gtk-doc)
|
||||||
|
|
||||||
|
* Thu Apr 16 2009 Mark McLoughlin <markmc@redhat.com> - 0.6.2-2.fc11
|
||||||
|
- Fix qemu drive format specification (#496092)
|
||||||
|
|
||||||
|
* Fri Apr 3 2009 Daniel Veillard <veillard@redhat.com> - 0.6.2-1.fc11
|
||||||
|
- release of 0.6.2
|
||||||
|
- memory ballooning in QEMU
|
||||||
|
- SCSI HBA storage pool support
|
||||||
|
- support SASL auth for VNC server
|
||||||
|
- PCI passthrough in Xen driver
|
||||||
|
- assorted bug fixes
|
||||||
|
|
||||||
|
* Fri Apr 3 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.1-6.fc11
|
||||||
|
- Fix typo in previous patch
|
||||||
|
|
||||||
|
* Tue Mar 17 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.1-5.fc11
|
||||||
|
- Don't relabel shared/readonly disks
|
||||||
|
- Disable sound cards when running sVirt
|
||||||
|
|
||||||
|
* Tue Mar 17 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.1-4.fc11
|
||||||
|
- Fix memory allocation for xend lookup
|
||||||
|
- Avoid crash if storage volume deletion fails
|
||||||
|
- Fix multiple FD leaks
|
||||||
|
- Fix bug in dispatch FD events when a callback is marked deleted
|
||||||
|
- Fix parsing of storage volume owner/group/mode
|
||||||
|
- Fix memory allocation for virDomainGetVcpus RPC handler
|
||||||
|
- Avoid deadlock in setting vCPU count
|
||||||
|
- Use correct driver name in Xen block detach
|
||||||
|
|
||||||
|
* Mon Mar 9 2009 Cole Robinson <crobinso@redhat.com> - 0.6.1-3.fc11
|
||||||
|
- Add Requires: libselinux
|
||||||
|
|
||||||
|
* Fri Mar 6 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.1-2.fc11
|
||||||
|
- Fix crash after storage vol deletion fails
|
||||||
|
- Add patch to enable VNC SASL authentication
|
||||||
|
|
||||||
|
* Wed Mar 4 2009 Daniel Veillard <veillard@redhat.com> - 0.6.1-1.fc11
|
||||||
|
- upstream release 0.6.1
|
||||||
|
- support for node device detach reattach and reset
|
||||||
|
- sVirt mandatory access control support
|
||||||
|
- many bug fixes and small improvements
|
||||||
|
|
||||||
|
* Mon Mar 2 2009 Daniel Veillard <veillard@redhat.com> - 0.6.0-6.fc11
|
||||||
|
- make sure Xen is handled in i586 new default 32bits x86 packages
|
||||||
|
|
||||||
|
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.0-5.fc11
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Feb 18 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.0-4.fc11
|
||||||
|
- Fix QEMU startup timeout/race (rhbz #484649)
|
||||||
|
- Setup DBus threading. Don't allow dbus to call _exit / change SIGPIPE (rhbz #484553)
|
||||||
|
- Fix timeout when autostarting session daemon
|
||||||
|
|
||||||
|
* Wed Feb 11 2009 Richard W.M. Jones <rjones@redhat.com> - 0.6.0-3.fc11
|
||||||
|
- Multiple fixes to remove rpmlint warnings/errors (rhbz #226055)
|
||||||
|
|
||||||
|
* Fri Feb 6 2009 Daniel P. Berrange <berrange@redhat.com> - 0.6.0-2.fc11
|
||||||
|
- Fix libvirtd --timeout usage
|
||||||
|
- Fix RPC call problems and QEMU startup handling (rhbz #484414)
|
||||||
|
- Fix unowned directories (rhbz #483442)
|
||||||
|
|
||||||
|
* Sat Jan 31 2009 Daniel Veillard <veillard@redhat.com> - 0.6.0-1.fc11
|
||||||
|
- upstream release 0.6.0
|
||||||
|
- thread safety of API
|
||||||
|
- allow QEmu/KVM domains to survive daemon restart
|
||||||
|
- extended logging capabilities
|
||||||
|
- support copy on write storage volumes for QEmu/KVM
|
||||||
|
- support of storage cache control options for QEmu/KVM
|
||||||
|
- a lot of bug fixes
|
||||||
|
|
||||||
|
* Wed Dec 17 2008 Daniel Veillard <veillard@redhat.com> - 0.5.1-2.fc11
|
||||||
|
- fix missing read-only access checks, fixes CVE-2008-5086
|
||||||
|
|
||||||
|
* Fri Dec 5 2008 Daniel Veillard <veillard@redhat.com> - 0.5.1-1.fc11
|
||||||
|
- upstream release 0.5.1
|
||||||
|
- mostly bugfixes e.g #473071
|
||||||
|
- some driver improvments
|
||||||
|
|
||||||
|
* Sat Nov 29 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.5.0-2
|
||||||
|
- Rebuild for Python 2.6
|
||||||
|
|
||||||
|
* Wed Nov 26 2008 Daniel Veillard <veillard@redhat.com> - 0.5.0-1.fc11
|
||||||
|
- upstream release 0.5.0
|
||||||
|
- domain lifecycle event support
|
||||||
|
- node device enumeration
|
||||||
|
- KVM/QEmu migration support
|
||||||
|
- improved LXC support
|
||||||
|
- SDL display configuration
|
||||||
|
- User Mode Linux driver (Daniel Berrange)
|
||||||
|
|
||||||
* Wed Sep 24 2008 Daniel Veillard <veillard@redhat.com> - 0.4.6-3.fc10
|
* Wed Sep 24 2008 Daniel Veillard <veillard@redhat.com> - 0.4.6-3.fc10
|
||||||
- apply the python makefile patch for #463733
|
- apply the python makefile patch for #463733
|
||||||
|
|
||||||
@@ -430,7 +683,7 @@ fi
|
|||||||
|
|
||||||
* Wed Jun 4 2008 Mark McLoughlin <markmc@redhat.com> - 0.4.2-6.fc10
|
* Wed Jun 4 2008 Mark McLoughlin <markmc@redhat.com> - 0.4.2-6.fc10
|
||||||
- Disable lokkit support again (#449996, #447633)
|
- Disable lokkit support again (#449996, #447633)
|
||||||
- Ensure %{fedora} is evaluated correctly
|
- Ensure %-fedora is evaluated correctly
|
||||||
|
|
||||||
* Thu May 15 2008 Daniel P. Berrange <berrange@redhat.com> - 0.4.2-5.fc10
|
* Thu May 15 2008 Daniel P. Berrange <berrange@redhat.com> - 0.4.2-5.fc10
|
||||||
- Rebuild with policy enabled (rhbz #446616)
|
- Rebuild with policy enabled (rhbz #446616)
|
||||||
@@ -615,7 +868,7 @@ fi
|
|||||||
- it's pkgconfig not pgkconfig !
|
- it's pkgconfig not pgkconfig !
|
||||||
|
|
||||||
* Mon Nov 6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
|
* Mon Nov 6 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-2
|
||||||
- fixing spec file, added %dist, -devel requires pkgconfig and xen-devel
|
- fixing spec file, added %-dist, -devel requires pkgconfig and xen-devel
|
||||||
- Resolves: rhbz#202320
|
- Resolves: rhbz#202320
|
||||||
|
|
||||||
* Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
|
* Mon Oct 16 2006 Daniel Veillard <veillard@redhat.com> 0.1.8-1
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
Index: python/Makefile.am
|
|
||||||
===================================================================
|
|
||||||
RCS file: /data/cvs/libxen/python/Makefile.am,v
|
|
||||||
retrieving revision 1.13
|
|
||||||
diff -u -p -r1.13 Makefile.am
|
|
||||||
--- python/Makefile.am 5 Feb 2008 19:27:37 -0000 1.13
|
|
||||||
+++ python/Makefile.am 24 Sep 2008 13:21:06 -0000
|
|
||||||
@@ -50,7 +50,7 @@ GENERATED= libvirt-export.c \
|
|
||||||
$(GENERATED): $(srcdir)/$(GENERATE) $(API_DESC)
|
|
||||||
$(PYTHON) $(srcdir)/$(GENERATE) $(srcdir)
|
|
||||||
|
|
||||||
-libvirt.py: $(srcdir)/libvir.py libvirtclass.py
|
|
||||||
+libvirt.py: $(srcdir)/libvir.py $(GENERATED)
|
|
||||||
cat $(srcdir)/libvir.py libvirtclass.py > $@-t
|
|
||||||
mv $@-t $@
|
|
||||||
|
|
||||||
*** python/Makefile.in.orig 2008-09-24 15:19:20.000000000 +0200
|
|
||||||
--- python/Makefile.in 2008-09-24 15:20:07.000000000 +0200
|
|
||||||
*************** uninstall-am: uninstall-local uninstall-
|
|
||||||
*** 1027,1033 ****
|
|
||||||
@WITH_PYTHON_TRUE@$(GENERATED): $(srcdir)/$(GENERATE) $(API_DESC)
|
|
||||||
@WITH_PYTHON_TRUE@ $(PYTHON) $(srcdir)/$(GENERATE) $(srcdir)
|
|
||||||
|
|
||||||
! @WITH_PYTHON_TRUE@libvirt.py: $(srcdir)/libvir.py libvirtclass.py
|
|
||||||
@WITH_PYTHON_TRUE@ cat $(srcdir)/libvir.py libvirtclass.py > $@-t
|
|
||||||
@WITH_PYTHON_TRUE@ mv $@-t $@
|
|
||||||
|
|
||||||
--- 1027,1033 ----
|
|
||||||
@WITH_PYTHON_TRUE@$(GENERATED): $(srcdir)/$(GENERATE) $(API_DESC)
|
|
||||||
@WITH_PYTHON_TRUE@ $(PYTHON) $(srcdir)/$(GENERATE) $(srcdir)
|
|
||||||
|
|
||||||
! @WITH_PYTHON_TRUE@libvirt.py: $(srcdir)/libvir.py $(GENERATED)
|
|
||||||
@WITH_PYTHON_TRUE@ cat $(srcdir)/libvir.py libvirtclass.py > $@-t
|
|
||||||
@WITH_PYTHON_TRUE@ mv $@-t $@
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user