====================================
-Setup PVE v2 Development Environment
+Setup PVE Development Environment
====================================
-1. Install Debian 'squeeze'
+1. Install Debian 'jessie'
2. Install prerequisites for development environment:
+# new jessie depends
+apt-get -y install build-essential git-core debhelper autotools-dev \
+doxygen check pkg-config groff quilt dpatch automake autoconf libtool \
+lintian libdevel-cycle-perl libjson-perl libcommon-sense-perl \
+liblinux-inotify2-perl libio-stringy-perl libstring-shellquote-perl \
+dh-systemd rpm2cpio libsqlite3-dev sqlite3 libglib2.0-dev librrd-dev \
+librrds-perl rrdcached libdigest-hmac-perl libxml-parser-perl \
+gdb
+
+# old wheezy depends
apt-get -y install build-essential git-core debhelper autotools-dev \
doxygen check pkg-config libnss3-dev groff quilt dpatch libxml2-dev \
libncurses5-dev libslang2-dev libldap2-dev xsltproc python-pexpect \
libpci-dev texi2html libgnutls-dev libsdl1.2-dev bridge-utils \
libvncserver0 rpm2cpio apache2-mpm-prefork libintl-perl \
libapache2-request-perl libnet-dns-perl vlan libio-socket-ssl-perl \
-libfile-sync-perl ifenslave-2.6 libnet-ldap-perl console-data
+libfile-sync-perl ifenslave-2.6 libnet-ldap-perl console-data \
+libtool dietlibc-dev liblocale-po-perl libstring-shellquote-perl \
+libio-multiplex-perl liblockfile-simple-perl
3. Download and install the following git modules in order from top to bottom:
pve-common.git
pve-cluster.git
redhat-cluster-pve.git
+lvm.git
pve-access-control.git
pve-storage.git
pve-qemu-kvm.git
qemu-server.git
vncterm.git
+vzquota.git
+vzctl.git
+fence-agents-pve.git
+resource-agents-pve.git
pve-manager.git
pve-kernel-2.6.32.git
-fence-agents-pve.git
+libiscsi.git
+gfs2-utils.git
+ksm-control-daemon.git
-Most source can be installed with 'make dinstall' command.
+Most packages can be installed with 'make dinstall' command.
4. Reboot the system.
5. Learn to use the quilt patch scripts.
we can automatically generate the whole API Documentation, and we can
verify all parameters and return values.
-An great side effect was that we are able to use JSON Schema to
+A great side effect was that we are able to use JSON Schema to
produce command line argument parsers automatically. In fact, the REST
API and the command line tools use the same code.