Building rolling APT repo with .deb packages from source

Building the 1.5 rolling ISO image actually doesn’t build everything from sources, but from .deb binary packages downloaded from existing APT repos - some from standard Debian 12, and some VyOS-specific ones from https://rolling-packages.vyos.net/current (pointed to by vyos_mirror in vyos_build/data/defaults.toml).

I’d lke to be able to make my own rolling APT repo with the VyOS-specific .deb packages all built from vyos_build/packages/* sources, which could then be used instead of the default vyos_mirror to build an equivalent unofficial rolling ISO image. I see each packages/* subdirectory has a Jenkinsfile - does this mean Jenkins is still the way rolling builds are automated (like LTS builds)? Or is there an easier way (like a simple shell script or Makefile)?

Note, asking about rolling here, not LTS so please don’t get angry at me - thanks!

1 Like

I would like to help you.

1 Like

I do believe they still use Jenkins for their official builds but it is not necessary to build any of it. You can look in the Jenkins file and see the commands its runs for most of them and just run them manually or in the CI system of your choice. In a few of them you will find them just have the function “buildPackage()”, on these i just use debuild -b -us -uc and it works fine.

@robertoberto I can’t seem to be able to send a PM (though I can reply to PM from someone else) so please email me marekm72 at gmail dot com.

I’d like to be able to automate the process without the complexity of Jenkins, and get my own APT repo that could be used instead of the original one. In light of ⚓ T6450 Use http instead of https for rolling apt repo access so my own repo would support plain http and would be easy to mirror, or even use offline (say, carry it on a laptop and work offline on long travel by train).

Under the GPL, it’s completely legal and ethical to build & host your own repo of stable packages. Even if people get whiny about it, they can’t stop you.

Making such repo public by someone other than VyOS™ project itself might require removing trademarked logo/artwork to be fully compliant until ⚓ T6451 Please consider removing trademarked logo/artwork in public build scripts is implemented. See also ⚓ T6483 Please include corresponding source packages for all .deb packages in APT repo - it’s really a suggestion for the project itself to make a fully GPL compliant APT repo (including the “plus the scripts used to control compilation and installation of the executable” part, currently missing).

Jenkins build system is in process of deprecation.
There are many articles on the internet on how to do APT repos or build packages