]> git.proxmox.com Git - pve-common.git/blobdiff - README.dev
fork_worker: readd the kill safety for _exit again
[pve-common.git] / README.dev
index 627da561da6b8ddd48bf381194df38d24436c801..0b1212308284e548c90ad630e19e87b4a98614fb 100644 (file)
@@ -1,27 +1,54 @@
 = 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
+    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://<host_IP_address>: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 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 \
@@ -39,63 +66,36 @@ 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 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
+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/<PACKAGE.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
-lvm.git
-pve-access-control.git
-pve-storage.git
-pve-guest-common.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-firewall.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 =