blob: 645fd8261bd79b45ff081fad0987dc5430341588 (
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
|
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=libvirt
pkgver=1.2.8
_ver="${pkgver/_rc/-rc}"
pkgrel=0
pkgdesc="A virtualization API for several hypervisor and container systems"
url="http://libvirt.org/"
arch="all"
license="LGPL"
_daemon_deps="bridge-utils dmidecode iptables"
_client_deps="pm-utils gnutls-utils netcat-openbsd"
depends=""
depends_dev="libtirpc-dev"
makedepends="augeas-dev bridge-utils cyrus-sasl-dev device-mapper
e2fsprogs-dev gnutls-dev libcap-ng-dev libgpg-error-dev
netcf-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
polkit-dev readline-dev dnsmasq $depends_dev
$_daemon_deps $_client_deps
"
install="$pkgname.post-install"
subpackages="$pkgname-dev $pkgname-doc $pkgname-client $pkgname-daemon
$pkgname-lang $pkgname-lxc $pkgname-qemu $pkgname-uml $pkgname-vbox"
source="http://libvirt.org/sources/$pkgname-$pkgver.tar.gz
libvirt.confd
libvirt.initd
musl-fix-includes.patch
"
if [ "$CARCH" = "x86_64" ]; then
subpackages="$subpackages $pkgname-xen"
makedepends="$makedepends xen-dev"
fi
subpackages="$subpackages $pkgname-common-drivers:_common_drivers"
_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 CFLAGS="$CFLAGS `pkgconf --cflags libtirpc`"
export LDFLAGS="$LDFLAGS -lm `pkgconf --libs libtirpc`"
local _xen_opt=
if [ "$CARCH" = x86_64 ]; then
_xen_opt="--with-libxl"
fi
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--libexec=/usr/lib/"$pkgname" \
$_xen_opt \
--with-polkit \
|| 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
rm -rf "$pkgdir"/usr/lib/charset.alias
rmdir -p "$pkgdir"/usr/lib 2>/dev/null
return 0
}
dev() {
default_dev
mkdir -p "$subpkgdir"/usr/share/libvirt
mv "$pkgdir"/usr/share/libvirt/api \
"$subpkgdir"/usr/share/libvirt/
}
daemon() {
cd "$_builddir"
pkgdesc="libvirt daemon package"
depends="libvirt-client $_daemon_deps"
replaces="libvirt"
mkdir -p "$subpkgdir"/etc/$pkgname \
"$subpkgdir"/etc/logrotate.d \
"$subpkgdir"/usr/sbin
mv "$pkgdir"/etc/init.d "$subpkgdir"/etc
mv "$pkgdir"/etc/conf.d "$subpkgdir"/etc
mv "$pkgdir"/etc/$pkgname/libvirtd.conf "$subpkgdir"/etc/libvirt/
mv "$pkgdir"/usr/sbin/libvirtd "$subpkgdir"/usr/sbin/
mv "$pkgdir"/etc/logrotate.d/libvirtd "$subpkgdir"/etc/logrotate.d/
}
client() {
cd "$_builddir"
pkgdesc="libvirt client package"
depends="libvirt $_client_deps"
replaces="libvirt"
mkdir -p "$subpkgdir"/etc/$pkgname "$subpkgdir"/usr/bin \
"$subpkgdir"/usr/lib
mv "$pkgdir"/etc/$pkgname/$pkgname.conf "$subpkgdir"/etc/libvirt/
mv "$pkgdir"/usr/bin/* "$subpkgdir"/usr/bin/
mv "$pkgdir"/usr/lib/lib*.so.* "$subpkgdir"/usr/lib/ || return 1
}
_mv_driver() {
local _name="$1" _drivers="$2" _pkg="$3"
pkgdesc="$_name driver for libvirt"
depends="$pkgname-daemon=$pkgver-r$pkgrel
$pkgname-common-drivers=$pkgver-r$pkgrel"
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
local _d
cd "$pkgdir"
for _d in $_drivers; do
find * -name "*$_d[.-]*" -o -name "*$_d" | while read _f; do
mkdir -p "$subpkgdir"/${_f%/*}
mv "$pkgdir"/$_f "$subpkgdir"/$_f || return 1
done
done
}
qemu() { _mv_driver "QEMU" qemu qemu; }
xen() { _mv_driver "XEN" "libxl xen" xen; }
lxc() { _mv_driver "LXC" lxc lxc; }
uml() { _mv_driver "UML" uml; }
vbox() { _mv_driver "VirtualBox" vbox; }
_common_drivers() {
pkgdesc="Common libvirt daemon drivers"
replaces="libvirt"
mkdir -p "$subpkgdir"/usr/lib/libvirt \
"$subpkgdir"/etc/libvirt/nwfilter
mv "$pkgdir"/usr/lib/libvirt/connection-driver \
"$subpkgdir"/usr/lib/libvirt/
mv "$pkgdir"/etc/libvirt/nwfilter \
"$subpkgdir"/etc/libvirt/
}
md5sums="75114991290f7c8f01dd5223431b9c00 libvirt-1.2.8.tar.gz
1c84a7baeafe0a7f4e9d7ae5180311b7 libvirt.confd
d897df38c7e7fa1a297aa551108633c9 libvirt.initd
9da7723b114b2d87558e92828366fbcb musl-fix-includes.patch"
sha256sums="0049940b013ea5858b53d9b540c9df9cc3c8cb08750acfd96e9991a1f709e100 libvirt-1.2.8.tar.gz
851ab3f9678f0fa9c3ee03f7fc7bd00c4ee86d5f0777eecf9eb1ffe3243adfd1 libvirt.confd
e9fad203434ffaa6afe524e42a9fb6594edad61cb02b1ca60a68d1a7fe0c31ab libvirt.initd
8dfa9dbe71ee21dc53e44bd7cc0127adde1bf3371d6b393657b386bb83f8139b musl-fix-includes.patch"
sha512sums="ec9b661d0d861827d3224a3ba967586b6d5af8f0af3b339e8db5d2b9a28acd4f8af4f44e5409af58955fc3832a3f7e8e61586fb328bcbdeeaf30ed5cc32cb988 libvirt-1.2.8.tar.gz
9aba6ab73219a635c64a340ee8887356e644445c9128734cbce73f5d54778378da2f10a190365ad88a7db8bc95b1fb17f0c6ca41fc41bb786c09e1afe84d65dc libvirt.confd
f48c97f93ef4509a86eda6200b3aae5b2c0c6263403bde933b770fd62240dca27bc439bd29b440ea6a47c8337f8b4511230ed915cb5ff54d9a1cf311863f6fa1 libvirt.initd
b6142256bf2700b9e5335c60fe5628e4095a24689c31d54afcab46f46a06b9c0ae676f87f77a487377eafbec11fb7afa9b994aef48a10a39e82f47c45df008ba musl-fix-includes.patch"
|