diff options
Diffstat (limited to 'docs/contributing/upstream-packages.rst')
-rw-r--r-- | docs/contributing/upstream-packages.rst | 99 |
1 files changed, 66 insertions, 33 deletions
diff --git a/docs/contributing/upstream-packages.rst b/docs/contributing/upstream-packages.rst index 4e602866..161cc627 100644 --- a/docs/contributing/upstream-packages.rst +++ b/docs/contributing/upstream-packages.rst @@ -3,27 +3,30 @@ Upstream packages ================= -Many base system packages are pulled straight from Debian's main and contrib repositories, but there are exceptions. +Many base system packages are pulled straight from Debian's main and contrib +repositories, but there are exceptions. vyos-netplug ------------ -Due to issues in the upstream version that sometimes set interfaces down, a modified version is used. +Due to issues in the upstream version that sometimes set interfaces down, a +modified version is used. -The source is at https://github.com/vyos/vyos-netplug +The source is located at https://github.com/vyos/vyos-netplug -In the future, we may switch to using systemd infrastructure instead. - -Building it doesn't require a special procedure. +In the future, we may switch to using systemd infrastructure instead. Building +it doesn't require a special procedure. keepalived ---------- -Keepalived normally isn't updated to newer feature releases between Debian versions, so we are building it from source. +Keepalived normally isn't updated to newer feature releases between Debian +versions, so we are building it from source. -Debian does keep their package in git, but it's upstream tarball imported into git without its original commit history. -To be able to merge new tags in, we keep a fork of the upstream repository with packaging files imported from Debian -at http://github.com/vyos/keepalived-upstream +Debian does keep their package in git, but it's upstream tarball imported into +git without its original commit history. To be able to merge new tags in, we +keep a fork of the upstream repository with packaging files imported from +Debian at http://github.com/vyos/keepalived-upstream strongswan ---------- @@ -35,11 +38,12 @@ Our StrongSWAN build differs from the upstream: The source is at https://github.com/vyos/vyos-strongswan -DMVPN patches are added by this commit: https://github.com/vyos/vyos-strongswan/commit/1cf12b0f2f921bfc51affa3b81226d4a3e9138e7 +DMVPN patches are added by this commit: +https://github.com/vyos/vyos-strongswan/commit/1cf12b0f2f921bfc51affa3b81226 -Our op mode scripts use the python-vici module, which is not included in Debian's build, -and isn't quite easy to integrate in that build. For this reason we debianize that module by hand now, -using this procedure: +Our op mode scripts use the python-vici module, which is not included in +Debian's build, and isn't quite easy to integrate in that build. For this +reason we debianize that module by hand now, using this procedure: 0. Install https://pypi.org/project/stdeb/ 1. `cd vyos-strongswan` @@ -53,58 +57,86 @@ The package ends up in deb_dist dir. ppp --- -Properly renaming PPTP and L2TP interfaces to pptpX and l2tpX from generic and non-informative pppX requires a patch -that is neither in the upstream nor in Debian. +Properly renaming PPTP and L2TP interfaces to pptpX and l2tpX from generic and +non-informative pppX requires a patch that is neither in the upstream nor in +Debian. We keep a fork of Debian's repo at https://github.com/vyos/ppp-debian The patches for pre-up renaming are: -* https://github.com/vyos/ppp-debian/commit/e728180026a051d2a96396276e7e4ae022899e2d -* https://github.com/vyos/ppp-debian/commit/f29ba8d9ebb043335a096d70bcd07e9635bba2e3 +* https://github.com/vyos/ppp-debian/commit/e728180026a051d2a96396276e7e4ae +* https://github.com/vyos/ppp-debian/commit/f29ba8d9ebb043335a096d70bcd07e9 -Additionally, there's a patch for reopening the log file to better support logging to files, even though it's less essential: -https://github.com/vyos/ppp-debian/commit/dd2ebd5cdcddb40230dc4cc43d374055ff374711 +Additionally, there's a patch for reopening the log file to better support +logging to files, even though it's less essential: +https://github.com/vyos/ppp-debian/commit/dd2ebd5cdcddb40230dc4cc43d374055f The patches were written by Stephen Hemminger back in the Vyatta times. mdns-repeater ------------- -This package doesn't exist in Debian. A debianized fork is kept at https://github.com/vyos/mdns-repeater +This package doesn't exist in Debian. A debianized fork is kept at +https://github.com/vyos/mdns-repeater No special build procedure is required. udp-broadcast-relay ------------------- -This package doesn't exist in Debian. A debianized fork is kept at https://github.com/vyos/udp-broadcast-relay +This package doesn't exist in Debian. A debianized fork is kept at +https://github.com/vyos/udp-broadcast-relay No special build procedure is required. Linux kernel ------------ -TBD +In the past a fork of the Kernel source code was kept at the well-known +location of https://github.com/vyos/vyos-kernel - where it is kept for history. + +Nowadays the Kernel we use is the upstream source code which is patched +with two additional patches from the good old Vyatta times which never made it +into the mainstream Kernel. The patches can be found here: +https://github.com/vyos/vyos-build-kernel/tree/current/patches/kernel and are +automatically applied to the Kernel by the Jenkins Pipeline which is used to +generate the Kernel binaries. + +The Pipeline script not only builds the Kernel with the configuration named +``x86_64_vyos_defconfig`` which is located in the vyos-build-kernel repository, +too - but in addition also builds some Intel out-of-tree drivers, WireGuard +(as long it is not upstreamed) and Accel-PPP. + +The ``Jenkinsfile`` tries to be as verbose as possible on each individual build +step. Linux firmware -------------- -TBD +More and more hardware cards require an additional firmware which is not open +source. The Kernel community hosts a special linux-firmware Git repository +with all available binary files which can be loaded by the Kernel. + +The ``vyos-build`` repository fetches a specific commit of the linux-firmware +repository and embeds those binaries into the resulting ISO image. This step is +done in the ``data/live-build-config/hooks/live/40-linux-firmware.chroot`` file. + +If the firmware needs to be updated it is sufficient to just exchange the Git +commit id we reference in our build. Intel drivers ------------- -TBD +Are build as part of the Kernel Pipeline - read above. -accel-ppp +Accel-PPP --------- -accel-ppp has been packaged for the use with vyos, due to the kernel dependencies for its modules. - -* https://github.com/vyos/vyos-accel-ppp +Accel-PPP used to be an upstream fork for quiet some time but now has been +converted to make use of the upstream source code and build system. -Build instructions are being kept up to date on the repos Readme. +It is build as part of the Kernel Pipeline - read above. hvinfo ------ @@ -113,10 +145,11 @@ A fork with packaging changes for VyOS is kept at https://github.com/vyos/hvinfo The original repo is at https://github.com/dmbaturin/hvinfo -It's an Ada program and requires GNAT and gprbuild for building, dependencies are properly specified -so just follow debuild's suggestions. +It's an Ada program and requires GNAT and gprbuild for building, dependencies +are properly specified so just follow debuild's suggestions. Per-file modifications ------------------------ -vyos-replace package replaces the upstream dhclient-script with a modified version that is aware of the VyOS config. +vyos-replace package replaces the upstream dhclient-script with a modified +version that is aware of the VyOS config. |