X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=blobdiff_plain;f=README.dev;h=0b1212308284e548c90ad630e19e87b4a98614fb;hp=60b8df4f7be98dc015fe86a550c4402c252a4452;hb=6eb61ecd4ad9bfa6b1765965a05d7a5ff0d38aff;hpb=fe949d0e2f2002d6a0bd87a5d6be4ade19f2d53e diff --git a/README.dev b/README.dev index 60b8df4..0b12123 100644 --- a/README.dev +++ b/README.dev @@ -1,29 +1,56 @@ = Setup PVE Development Environment = -1. Install Debian 'jessie' -2. Configure pvetest repository in apt sources.list +0. Read https://pve.proxmox.com/wiki/Developer_Documentation +1. Install Debian 9 'stretch' (you can also start from a PVE installation and + skip step 2 - 5, 7 - 11) +2. Configure the network interface(s) +3. Change the IP address of your hostname for proper name resolution + in /etc/hosts + Using 127.0.1.1 will not work, so change it to an IP address from your + local network! - deb http://download.proxmox.com/debian jessie pvetest +4: Check that the Debian repositories are set properly. + See https://wiki.debian.org/SourcesList for more information. -3. Add our repository key with apt-key: +5. Optional: Install openssh-server and connect via ssh to the host. - wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add - + run: apt-get update && apt-get install openssh-server + Connect via ssh to host and switch user to root -4. make sure you have a read IP address for your hostname in /etc/hosts - (using 127.0.1.1 will not work) +6. Configure 'pvetest' repository in /etc/apt/sources.list.d/: -5. run: apt-get update -6. run: apt-get dist-upgrade -7. run: apt-get install proxmox-ve-3.10.0 + run: echo "deb http://download.proxmox.com/debian stretch pvetest" > /etc/apt/sources.list.d/pve-development.list + +7. Add the repository key: + + run: wget -O- "http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg" | apt-key add - + +8. run: apt-get update && apt-get dist-upgrade +9. run: apt-get install proxmox-ve +10. run: mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak + +11. You should now have a working Proxmox VE installation. + Open a browser: https://:8006 e.g. https://10.0.0.90:8006 -You should now have a working Proxmox VE installation. = Install build prerequisites for development environment = -apt-get -y install build-essential git-core debhelper autotools-dev \ -autogen dh-autoreconf dkms 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 \ +NOTE: this is a huge list intended to be able to build (almost) all packages, +from the UI/API components to backend components to our Linux Kernel. +If you only want to hack on specific topics you won't need most of those. +We try to have a complete list of build dependencies in each source +repositories 'debian/control' file. If you run `make deb` dpkg-buildpackage will +stop and tell you if you miss some required packages. + +12. For installing the most important, always needed, ones run: + +apt-get install build-essential git git-email debhelper pve-doc-generator + +Additionally, for quickly installing (almost) all build dependencies run: + +apt-get install autotools-dev autogen dh-autoreconf dkms 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 libcrypt-openssl-random-perl \ @@ -35,63 +62,40 @@ pve-libspice-server-dev libusbredirparser-dev glusterfs-common \ libusb-1.0-0-dev librbd-dev libpopt-dev iproute bridge-utils numactl \ glusterfs-common ceph-common python-ceph libgoogle-perftools4 \ libfile-chdir-perl lvm2 glusterfs-client liblockfile-simple-perl \ -libsystemd-daemon-dev libreadline-gplv2-dev libio-multiplex-perl \ +libsystemd-dev libreadline-gplv2-dev libio-multiplex-perl \ libnetfilter-log-dev libipset3 ipset socat libsasl2-dev libogg-dev \ python-pyparsing libfilesys-df-perl libcrypt-ssleay-perl \ libfile-readbackwards-perl libanyevent-perl libanyevent-http-perl \ -unzip liblocale-po-perl vlan ifenslave-2.6 libfile-sync-perl cstream \ +unzip liblocale-po-perl libfile-sync-perl cstream \ lzop dtach apt-transport-https hdparm gdisk parted ttf-dejavu-core \ -liblzma-dev dosfstools mtools libxen-dev libfuse-dev libcorosync-pve-dev \ -libqb-dev libapparmor-dev docbook2x libcap-dev dh-apparmor libcgmanager-dev \ +liblzma-dev dosfstools mtools libxen-dev libfuse-dev corosync-dev \ +libcpg-dev libquorum-dev libcmap-dev libuuid-perl \ +libqb-dev libapparmor-dev docbook2x libcap-dev dh-apparmor \ graphviz libseccomp-dev libglib-perl libgtk3-perl libnss3-dev libdlm-dev \ -libudev-dev - -= Compile PVE packages from Source = - -Download and install the following git modules in order from top to bottom: +libudev-dev asciidoc-dblatex source-highlight libiscsi-dev libiscsi7 \ +librsvg2-bin -# git clone git://git.proxmox.com/git/ -You currently need the following packages: += Compile PVE packages from Source = -libqb.git -corosync-pve.git -pve-common.git -pve-cluster.git -lvm.git -pve-access-control.git -pve-storage.git -pve-qemu-kvm.git -qemu-server.git -vncterm.git -spiceterm.git -#vzquota.git -#vzctl.git -#fence-agents-pve.git -#resource-agents-pve.git -pve-manager.git -#pve-kernel-3.10.0.git -libiscsi.git -#gfs2-utils.git -ksm-control-daemon.git -pve-container.git -pve-firewall.git -pve-kernel.git +13: Download and install git repositories as Proxmox modules: -Most packages can be installed with 'make dinstall' command. + run: mkdir /root/proxmox && cd /root/proxmox -4. Reboot the system. -5. Learn to use the quilt patch scripts. -6. Happy coding. + run: git clone git://git.proxmox.com/git/pve-common.git -There is an experimental package containing the API documentation -as ExtJS application: + 'pve-common.git' is some kind of starting repository and needed for some + other repositories as dependency. + Install this to get an idea of how the installation process is working. -pve2-api-doc.git + See https://git.proxmox.com/ for all available repositories. -You can view the source code at: +14: Most packages can be installed with 'make dinstall' command. + run: cd pve-common && make dinstall -https://git.proxmox.com +15: Reboot the system. +16. Learn to use the quilt patch scripts. +17. Happy coding! = REST vs. SOAP = @@ -165,7 +169,7 @@ __PACKAGE__->register_method ({ type => 'string', }, code => sub { - my ($conn, $resp, $param) = @_; + my ($param) = @_; return $param->{text}; }