blob: 836fd2f42cb53e2e2db39a4b584ff30d9f4faa26 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=libvirt
pkgver="1.0.2"
_ver="${pkgver/_rc/-rc}"
pkgrel=0
pkgdesc="A virtualization API for several hypervisor and container systems"
url="http://libvirt.org/"
arch="all"
license="LGPL"
depends="bridge-utils dmidecode iptables netcat-openbsd pm-utils python"
makedepends="augeas-dev bridge-utils cyrus-sasl-dev device-mapper
e2fsprogs-dev gnutls-dev libcap-ng-dev libgpg-error-dev
libnetcf-dev libnl-dev libxml2-dev libxslt-dev libtasn1-dev
lvm2-dev lxc-dev gnutls-dev libgcrypt-dev parted-dev perl pkgconfig
udev-dev zlib-dev yajl-dev libpcap-dev curl-dev libpciaccess-dev"
install=
subpackages="$pkgname-client $pkgname-daemon $pkgname-dev $pkgname-doc $pkgname-lang
$pkgname-lxc $pkgname-qemu $pkgname-uml"
source="http://libvirt.org/sources/$pkgname-$pkgver.tar.gz
libvirt.confd
libvirt.initd
uclibc-physmem.patch
0001-util-refactor-iptables-command-construction-into-mul.patch
0001-net-support-set-public-ip-range-for-forward-mode-nat.patch
0002-net-add-support-for-specifying-port-range-for-forwar.patch
0001-complete-virterror-virerror-name-change.patch
0001-Fix-missing-error-constants-in-libvirt-python-module.patch
"
if [ "$ALPINE_LIBC" != "eglibc" ]; then
subpackages="$subpackages $pkgname-xen"
makedepends="$makedepends xen-dev"
fi
_builddir="$srcdir"/$pkgname-$pkgver
prepare() {
cd "$_builddir" || return 1
for patch in $source; do
case $patch in
# we concider patches with uclibc in its name
# only usefull on uclibc install
*uclibc*.patch)
if [ "$ALPINE_LIBC" != "eglibc" ]; then
msg "Applying patch $patch"
patch -p1 -i "$srcdir"/$patch || return 1
fi
;;
*.patch)
msg "Applying patch $patch"
patch -p1 -i "$srcdir"/$patch || return 1
;;
esac
done
}
build() {
cd "$_builddir"
export LDFLAGS="$LDFLAGS -lm"
./configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--libexec=/usr/lib/"$pkgname" \
--without-libxl \
|| return 1
make || return 1
}
package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
find "$pkgdir" -name '*.la' -delete
install -D -m755 $srcdir/$pkgname.initd $pkgdir/etc/init.d/libvirtd
install -D -m755 $srcdir/$pkgname.confd $pkgdir/etc/conf.d/libvirtd
}
daemon() {
cd "$_builddir"
pkgdesc="libvirt daemon package"
depends="libvirt-client logrotate"
daemon="libvirtd"
replaces="libvirt"
mkdir -p "$subpkgdir"/etc/$pkgname \
"$subpkgdir"/etc/logrotate.d \
"$subpkgdir"/usr/sbin
# mkdir -p "$subpkgdir"/usr/sbin
mv "$pkgdir"/etc/init.d "$subpkgdir"/etc
mv "$pkgdir"/etc/conf.d "$subpkgdir"/etc
mv "$pkgdir"/etc/$pkgname/$daemon.conf "$subpkgdir"/etc/libvirt/
mv "$pkgdir"/usr/sbin/$daemon "$subpkgdir"/usr/sbin/
mv "$pkgdir"/etc/logrotate.d/libvirtd "$subpkgdir"/etc/logrotate.d/
}
client() {
cd "$_builddir"
pkgdesc="libvirt client package"
depends="libvirt"
replaces="libvirt"
mkdir -p "$subpkgdir"/etc/$pkgname "$subpkgdir"/usr/bin
# mkdir -p "$subpkgdir"/usr/bin
mv "$pkgdir"/etc/$pkgname/$pkgname.conf "$subpkgdir"/etc/libvirt/
mv "$pkgdir"/usr/bin/* "$subpkgdir"/usr/bin/
}
_mv_driver() {
local _name="$1" _driver="$2" _pkg="$3"
pkgdesc="$_name driver for libvirt"
depends="libvirt-daemon logrotate"
replaces="libvirt"
if [ -n "$_pkg" ]; then
install_if="$pkgname-daemon=$pkgver-r$pkgrel $_pkg"
else
install_if=
fi
local _dir=/usr/lib/libvirt/connection-driver
mkdir -p "$subpkgdir"/$_dir \
"$subpkgdir"/etc/libvirt \
"$subpkgdir"/etc/logrotate.d
mv "$pkgdir"/$_dir/libvirt_driver_$_driver.so "$subpkgdir"/$_dir/ \
|| return 1
if [ -e "$pkgdir"/etc/logrotate.d/libvirtd.$_driver ]; then
mv "$pkgdir"/etc/logrotate.d/libvirtd.$_driver \
"$subpkgdir"/etc/logrotate.d/
fi
}
qemu() {
_mv_driver "QEMU" qemu qemu
mv "$pkgdir"/etc/libvirt/qemu.conf "$subpkgdir"/etc/libvirt/
}
xen() {
_mv_driver "XEN" xen xen
}
lxc() {
_mv_driver "LXC" lxc lxc
}
uml() {
_mv_driver "UML" uml
}
md5sums="7e268ed702c4331d393e5b43449cae13 libvirt-1.0.2.tar.gz
1c84a7baeafe0a7f4e9d7ae5180311b7 libvirt.confd
d897df38c7e7fa1a297aa551108633c9 libvirt.initd
df9cbfaf8a6e520a4822914a300add4d uclibc-physmem.patch
98a496d6d606c3406e6f8b03c3b25028 0001-util-refactor-iptables-command-construction-into-mul.patch
05789e003f4b90808b6898e9d72ad8f4 0001-net-support-set-public-ip-range-for-forward-mode-nat.patch
de01f68b563a51dd39b873c5eade0f25 0002-net-add-support-for-specifying-port-range-for-forwar.patch
854982416fafeabbeca06e807c868a9c 0001-complete-virterror-virerror-name-change.patch
dcb427eeceb5dcb79e5ea8eef748e44d 0001-Fix-missing-error-constants-in-libvirt-python-module.patch"
|