summaryrefslogtreecommitdiff
path: root/kernels/xen/PKGBUILD
blob: 42ff5aaa528e317560059de187c48280aa33849a (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
# Maintainer: Limao Luo <luolimao+AUR@gmail.com>
# Contributor: Luceo
# Contributor: Revellion
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>

pkgname=xen
pkgver=4.2.1
pkgrel=4
pkgdesc="Xen Hypervisor & Tools"
arch=(i686 x86_64)
url=http://www.xen.org/
license=(GPL2)
depends=(bin86 bluez bridge-utils glib2 gnutls libaio libjpeg-turbo libpng lzo2 sdl wget vde2 yajl)
[[ "$CARCH" == "x86_64" ]] && depends+=(lib32-glibc)
makedepends=(dev86 git iasl markdown ocaml-findlib)
optdepends=('xen-docs: Official Xen Documentation')
conflicts=(xen-4.2{,-testing-hg} xen-{gdbsx,hg-unstable,rc})
backup=(etc/$pkgname/xend-{config,pci-{permissive,quirks}}.sxp etc/modules-load.d/$pkgname.conf etc/$pkgname/xl.conf)
options=(!buildflags !strip)
install=$pkgname.install
source=(http://bits.xensource.com/oss-xen/release/$pkgver/$pkgname-$pkgver.tar.gz
    09_xen
    gdbsx-glibc-2.17.patch
    texi2html.patch
    timer-add-lrt-lm.patch
    proc-xen.mount
    var-lib-xenstored.mount
    xenconsoled.service
    xendomains.service
    xendomU@.service
    xenstored.service
    tmpfiles.d-$pkgname.conf
    $pkgname.conf)
sha256sums=('fb8df5827ce3e2d2d3b078d9e5afde502beb5e7ab9442e51a94087061bd450c6'
    'cee994b4c788808c0148caeb5f798cc98b9268bb9f04448ff7c3ed479bfb7821'
    'f78593f1b3b4d6201644ecce77c6dd5bb7378dc53eff7cc940a80e3cd1bf72f4'
    '08e5bf65c833a608470ad118ce369e32f9c267e1787f2900c06708af321225e6'
    '4d55132a8e47fbfe415bf3c88824b6dcf48e4da1fff86d2b07e0c2c9e42c0a63'
    '139eed988bfaf8edc8ccdfd0b668382bd63db48ce17be91776182a7e28e9d88c'
    'c19146931c6ab8e53092bd9b2ebbfda5c76fd22ad3b1d42dcda3dd1b61f123ff'
    'ba8f1c10b3f3df1f9fda0782a691fed67661e36f49be74471c86850639fee3ba'
    '0bd45d9de6456c4f9adf32e726f2db3a3cd0423c1d161b442e8a1666d2e68e3f'
    '1862a14607582d14247b74435dfb16411fd68904aa19e2a93c5e6ac301169d3c'
    'a0ad5a7d9262c2d22a8875a47cff2c821885ddb65c0c9eb7518befb0f42fcce7'
    '6bddcea43922f72a1c8ab556c3f20067d7f817220bcd9c1c61d18f3a58dfaa9d'
    '50a9b7fd19e8beb1dea09755f07318f36be0b7ec53d3c9e74f3266a63e682c0c')
sha512sums=('fe27a965e2b34035bd025482eda9fc4d4e82523c929323fd30813367d5ffbe2fa1ed3d7d4479f2632e8b5625972448b7bd6a7768e8dc1dcd1b6747d281cc1a9e'
    '9f8f53ffbf19dbd56fcc56e994385b99fff537a3e295756c1e9d886f7a5f454577ec20bbd7c26516e4f80f1cf24e6d5af7dae251e32470872128eb52f6e1866f'
    'fb7dbd3d9ca610c0b476cf7202e4bd051d85de2de8e92c0c3ac59dc327bc47820eddfa67a8dc01fde21d1a3209f83b6f8533bdc7ecd0634ff503f2fac61fee6d'
    '562f12e723116c705fc9d0fd4a2afd382a93465be7f616d1e20e87daf39c11029fbc57ec46e38d3ff61c482fdc9ac4df9e07600a77515867d9da6f0faf3da7f9'
    'a0baec71e9240fa9a72aa67e0783fe1200afb2ff61c625f5e96e536a8839213ada9908e776ed243a866065084f61a06d286ae2488c158730c1dd2d424cf4b0dc'
    '6afdf16e32bb837faf6333334f86855a746f1f46fee9673a4fddc62eecf41f9856bc34397807203c6f5071f0b1ce74532214084042154585c0d39514450db25c'
    '00e340f4d3635e3850ca24baea1da08467523c17815feb74161e18397b607fef904db2165fd9bf4632a6e8a6e37aeddad4e56965e1c99b5213c98b3f9afc6aad'
    '27d7289a8bf6e15bddcb360287001429205b57ee4d791b0337328879ffd76b8e375e3c1dd0de0ab57dd4bd1e2a2bc1748c44cc05b2528632a3e6af60f626de9d'
    'f00034f8b826b828659a0177f0a6454113c625e69a817dfe32e461767f6643e0288bfc2a22d23358504240df627af6e3b8f5ffa0077e241e590b33d3f252e74c'
    '31fefc739f0f0e568df03dcf9aa02e0265ff4fbf77e7ae62d6a318fcc34e87a0ffd3fc4b84ff8c9cc95511e2e74b7b61e6b5471cd0b3cd47ee0da86b1ea90268'
    'd93509c53a3f80ab266f75a54633bba070a7ef48f629168f074c7c37d36ee9c98d2d30703bed41b1c163d960f2a3ac9f435b335db6e7b8a6e9c97044ede8b76e'
    '97fb10771fad1c59c1168ede6e4a37710937821c0a053e77df7907b0a33137a190731b0130fb1d373c196a04450360a9cd3202617a77b1726613c523613cd194'
    'ccaa2ff82e4203b11e5dec9aeccac2e165721d8067e0094603ecaa7a70b78c9eb9e2287a32687883d26b6ceae6f8d2ad7636ddf949eb658637b3ceaa6999711b')

build() {
    cd "$srcdir"/$pkgname-$pkgver/

    patch -Np1 -i ../gdbsx-glibc-2.17.patch
    patch -Np1 -i ../texi2html.patch
    patch -Np1 -i ../timer-add-lrt-lm.patch

    ./autogen.sh
    ./configure PYTHON=/usr/bin/python2
}

package() {
    cd "$srcdir"/$pkgname-$pkgver/

    make DESTDIR="$pkgdir" LANG=C PYTHON=python2 install-{xen,tools,stubdom}

    cd ../
    for f in ${source[@]}; do
        [[ $f =~ .mount || $f =~ .service ]] && install -Dm644 $f "$pkgdir"/usr/lib/systemd/system/$f
    done
    install -Dm644 tmpfiles.d-$pkgname.conf "$pkgdir"/usr/lib/tmpfiles.d/$pkgname.conf
    install -Dm644 $pkgname.conf "$pkgdir"/etc/modules-load.d/$pkgname.conf
    install -Dm755 09_xen "$pkgdir"/etc/grub.d/09_xen

    cd "$pkgdir"
    sed -i ':XENDOM_CONFIG=/etc/:s:sysconfig/xendomains:conf.d/xendomains:' etc/init.d/xendomains
    sed -i 's:touch /var/lock/subsys/xend:mkdir -p /var/lock/subsys\n       &:' etc/init.d/xend

    if [[ -d usr/lib64 ]]; then
        cd usr/
        cp -r lib64/* lib/
        rm -rf lib64
    fi

    mv etc/{init,rc}.d

    mv usr/local/etc/qemu/ etc/
    rm -rf usr/local/share/
    mv etc/rc.d/xendomains etc/xen/scripts/xendomains

    ##### Kill unwanted stuff #####
    # stubdom: newlib
    rm -rf usr/*-xen-elf

    # hypervisor symlinks
    rm -f boot/xen{,-4,-4.2}.gz

    # silly doc dir fun
    rm -rf usr/share/doc/xen
    rm -rf usr/share/doc/qemu

    # Pointless helper
    rm -f usr/sbin/xen-python-path

    # qemu stuff (unused or available from upstream)
    rm -rf usr/share/xen/man
    rm -rf usr/bin/qemu-*-xen
    for file in bamboo.dtb bios.bin openbios-ppc openbios-sparc32 openbios-sparc64 \
        ppc_rom.bin pxe-e1000.bin pxe-ne2k_pci.bin pxe-pcnet.bin pxe-rtl8139.bin \
        vgabios-cirrus.bin vgabios.bin video.x; do
        rm -f usr/share/xen/qemu/$file
    done

    # adhere to Static Library Packaging Guidelines
    rm -rf usr/lib/*.a

    # Fix errors from deprecated xend
    rm etc/udev/rules.d/xend.rules

    rmdir usr/local/etc etc/xen/auto var/xen/dump var/lock/subsys usr/share/doc var/lib/xen/xenpaging var/run/xend/boot var/log/xen
}