Citrix xenserver-core What it is, how it is built and how to get involved Euan Harris
May 21, 2015
Citrix
xenserver-core What it is, how it is built and how to get involved
Euan Harris
What is xenserver-core?
DOM0
QEMU
Drivers
XAPI
Third party
components
HA
Storage
Manager
xenserver-core
(Xapi and friends)
Virtualization
base packages
(Xen, Qemu, libvirt)
Base Linux distribution
xenserver-core
(Xapi and friends)
“Xen4CentOS”
extra packages
CentOS 6.4
xenserver-core
general model
xenserver-core
on CentOS
How can I get it?
yum install xenserver-core
apt-get install xenserver-core
Why?
How can I build it?
git clone xenserver-core
$ git clone https://github.com/ \
xapi-project/xenserver-core.git
$ cd xenserver-core
$ ./configure.sh
$ ./makemake.py > Makefile
$ make
...
[CURL] SOURCES/libvhd-0.9.1.tar.gz
[RPMBUILD] SRPMS/ocaml-libvhd-0.9.1-1.src.rpm
[MOCK] RPMS/x86_64/ocaml-libvhd-0.9.1-1.x86_64.rpm
[CREATEREPO] RPMS/x86_64/ocaml-libvhd-0.9.1-1.x86_64.rpm
...
foo.spec
foo-1.patch
rpmbuild foo.srpm foo.tgz
foo.rpm foo.rpm
mock foo.rpm foo.srpm
Name: ocaml-qmp
Version: 0.9.1
Release: 1
...
BuildRequires: ocaml ocaml-findlib ocaml-obuild
ocaml-yojson-devel cmdliner-devel ocaml-ounit-devel
./SRPMS/ocaml-qmp-0.9.1-1.src.rpm: ./SPECS/ocaml-qmp.spec
./SOURCES/ocaml-qmp-0.9.1.tar.gz
./SOURCES/ocaml-qmp-0.9.1.tar.gz: ./SPECS/ocaml-qmp.spec
@curl -o $@ https://github.com/xapi-project/ocaml-
qmp/archive/0.9.1/ocaml-qmp-0.9.1.tar.gz
./RPMS/x86_64/ocaml-qmp-0.9.1-1.x86_64.rpm: ./SRPMS/ocaml-
qmp-0.9.1-1.src.rpm
./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm:
./SRPMS/ocaml-qmp-0.9.1-1.src.rpm
./RPMS/x86_64/ocaml-qmp-0.9.1-1.x86_64.rpm:
./RPMS/x86_64/ocaml-obuild-0.0.2-1.x86_64.rpm
./RPMS/x86_64/ocaml-qmp-0.9.1-1.x86_64.rpm:
./RPMS/x86_64/ocaml-yojson-devel-1.1.6-1.x86_64.rpm
./RPMS/x86_64/ocaml-qmp-0.9.1-1.x86_64.rpm:
./RPMS/x86_64/cmdliner-devel-0.9.3-1.x86_64.rpm
./RPMS/x86_64/ocaml-qmp-0.9.1-1.x86_64.rpm:
./RPMS/x86_64/ocaml-ounit-devel-1.1.2-3.el6.x86_64.rpm
./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm:
./RPMS/x86_64/ocaml-obuild-0.0.2-1.x86_64.rpm
./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm:
./RPMS/x86_64/ocaml-yojson-devel-1.1.6-1.x86_64.rpm
./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm:
./RPMS/x86_64/cmdliner-devel-0.9.3-1.x86_64.rpm
./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm:
./RPMS/x86_64/ocaml-ounit-devel-1.1.2-3.el6.x86_64.rpm
ocaml-qmp: ./RPMS/x86_64/ocaml-qmp-0.9.1-1.x86_64.rpm
./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm
./RPMS/x86_64/xenopsd-0.9.27-1.x86_64.rpm:
./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm
./RPMS/x86_64/xenopsd-libvirt-0.9.27-1.x86_64.rpm:
./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm
./RPMS/x86_64/xenopsd-xc-0.9.27-1.x86_64.rpm:
./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm
./RPMS/x86_64/xenopsd-simulator-0.9.27-1.x86_64.rpm:
./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm
./RPMS/x86_64/xenopsd-xenlight-0.9.27-1.x86_64.rpm:
./RPMS/x86_64/ocaml-qmp-devel-0.9.1-1.x86_64.rpm
makemake.py
Debian (experimental!)
Why?
foo.spec
foo-1.patch
makedeb.py foo.tgz foo.dsc
(and some tarballs)
foo.rpm foo.rpm
cowbuilder foo.deb foo.dsc
How can I get involved?
What’s next?