X-Git-Url: https://git.proxmox.com/?p=pve-common.git;a=blobdiff_plain;f=README.dev;h=09631c09016c3b5954a8b23c6a262e29d85ebfd5;hp=bbd84f38f5a3551af3bbd3157d5f8ff13dd23e74;hb=HEAD;hpb=bb9d386588339f40fb89ce198b98f93433aad251 diff --git a/README.dev b/README.dev index bbd84f3..c5468f8 100644 --- a/README.dev +++ b/README.dev @@ -1,7 +1,8 @@ = Setup PVE Development Environment = 0. Read https://pve.proxmox.com/wiki/Developer_Documentation -1. Install Debian 9 'stretch' +1. Install Debian 12 Bookworm (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 @@ -18,11 +19,11 @@ 6. Configure 'pvetest' repository in /etc/apt/sources.list.d/: - run: echo "deb http://download.proxmox.com/debian stretch pvetest" > /etc/apt/sources.list.d/pve-development.list + run: echo "deb http://download.proxmox.com/debian bookworm pvetest" > /etc/apt/sources.list.d/pve-development.list -7. Add the repository key: +7. Add the repository key, run: - run: wget -O- "http://download.proxmox.com/debian/proxmox-ve-release-5.x.gpg" | apt-key add - + wget -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg "https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg" 8. run: apt-get update && apt-get dist-upgrade 9. run: apt-get install proxmox-ve @@ -34,10 +35,27 @@ = Install build prerequisites for development environment = -12. run: +NOTE: this is a huge and probably outdated 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. +Instead 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. -apt-get install build-essential git git-email debhelper \ -autotools-dev autogen dh-autoreconf dkms doxygen check pkg-config \ +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: + +WARNING: this list is almost for sure outdated! Use the build-deps definitions +defined in each package! You could install `devscripts` (huge package, but nice +helpers) and use: +# mk-build-deps --install +in the top-level directory of a git repository. + +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 \ @@ -56,13 +74,13 @@ 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 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 libiscsi-dev libiscsi7 \ -librsvg2-bin +lzop dtach hdparm gdisk parted ttf-dejavu-core \ +liblzma-dev dosfstools mtools libxen-dev libfuse-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 libiscsi-dev \ +libiscsi7 librsvg2-bin libarchive-dev libgpgme-dev libcurl4-gnutls-dev \ +libtest-mockmodule-perl libjemalloc-dev libjpeg-dev = Compile PVE packages from Source =