X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=blobdiff_plain;f=README.dev;h=0b1212308284e548c90ad630e19e87b4a98614fb;hp=f38bc1a2de638e552e1d826598744407894904f9;hb=6eb61ecd4ad9bfa6b1765965a05d7a5ff0d38aff;hpb=597320d7618e2348a543c8fcb17aa151d3ed66e3 diff --git a/README.dev b/README.dev index f38bc1a..0b12123 100644 --- a/README.dev +++ b/README.dev @@ -1,27 +1,54 @@ = Setup PVE Development Environment = -1. Install Debian 'stretch' -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 stretch 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 + 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 install build-essential git-core git-email debhelper \ -autotools-dev autogen dh-autoreconf dkms doxygen check pkg-config \ +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 \ @@ -45,57 +72,30 @@ 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 asciidoc-dblatex source-highlight inkscape \ -libiscsi-dev libiscsi7 +libudev-dev asciidoc-dblatex source-highlight libiscsi-dev libiscsi7 \ +librsvg2-bin + = Compile PVE packages from Source = -Download and install the following git modules in order from top to bottom: - -# git clone git://git.proxmox.com/git/ - -You currently need the following packages: - -pve-common.git -libpve-http-server-perl.git -libpve-apiclient-perl.git -pve-docs.git -pve-cluster.git -pve-access-control.git -pve-storage.git -pve-guest-common.git -pve-firewall.git -pve-qemu-kvm.git -qemu-server.git -vncterm.git -spiceterm.git -#vzquota.git -#vzctl.git -#fence-agents-pve.git -#resource-agents-pve.git -extjs.git -pve-manager.git -#pve-kernel-3.10.0.git -#libiscsi.git -#gfs2-utils.git -ksm-control-daemon.git -pve-container.git -pve-kernel.git - -Most packages can be installed with 'make dinstall' command. - -4. Reboot the system. -5. Learn to use the quilt patch scripts. -6. Happy coding. - -There is an experimental package containing the API documentation -as ExtJS application: - -pve2-api-doc.git - -You can view the source code at: - -https://git.proxmox.com +13: Download and install git repositories as Proxmox modules: + + run: mkdir /root/proxmox && cd /root/proxmox + + run: git clone git://git.proxmox.com/git/pve-common.git + + '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. + + See https://git.proxmox.com/ for all available repositories. + +14: Most packages can be installed with 'make dinstall' command. + run: cd pve-common && make dinstall + +15: Reboot the system. +16. Learn to use the quilt patch scripts. +17. Happy coding! = REST vs. SOAP =