Page MenuHomeVyOS Platform

Please include corresponding source packages for all .deb packages in APT repo
Closed, InvalidPublicFEATURE REQUEST

Description

Debian has a great packaging system, not only for binary .deb packages but (less well known) for source packages too.
I'd suggest VyOS to make more use of Debian source packages, just like Debian itself does, handling build dependencies etc.
Currently a few .deb packages in the rolling APT repo have corresponding source packages there - good, but it's only a few packages, not all of them.
Ideally, all of the packages there should be like this, then it will be possible to rebuild any package using standard Debian tools.
Build system would not build the APT repo with .deb packages directly, only build source packages and then build .deb from source using standard Debian tools.
Added bonus is improved GPL compliance, specifically all of Section 3 (dpkg-buidpackage etc. is part of the operating system - Jenkins is not).
I trust Debian to get it right, they are known to be very careful about such issues and have been for over 30 years.

Details

Difficulty level
Unknown (require assessment)
Version
-
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Perfectly compatible
Issue type
Infrastructure issue or change

Event Timeline

syncer triaged this task as Wishlist priority.Jun 13 2024, 12:16 PM
syncer subscribed.

All source code is located in GitHub

source code from Debian is available on Debian repos

This was not about .deb packages in Debian itself, but from the VyOS APT repo used for building the rolling images.
Wishlist priority previously triaged (just 2 weeks ago) was fine, it's not Invalid - or at least have some civil discussion if we disagree on some points.
Quoting the GPL below, of course it's not legally required for other licenses like BSD, but still a good thing for any open source project anyway.

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

Important parts of build infrastructure (Jenkins with its configuration) is not normally distributed with the operating system (Debian). "All source code is located in GitHub" is not sufficient.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

That's what Debian APT repo does right (for any "deb" apt source there is also "deb-src" and Debian includes tools to build binary packages from source packages, possibly modified locally). It would be good to extend this to the VyOS APT repo as well - already partly done, but only for a few packages. It would really help more people to contribute, not all people with some programming skills are masters of Jenkins at the same time.

According to https://forum.vyos.io/t/building-rolling-apt-repo-with-deb-packages-from-source/14651/7 (I can't reply there - that thread is locked, and my account silenced) - "Jenkins build system is in process of deprecation."
This is news to me. Whatever the replacement will be, this feature request is not about deprecating Jenkins, but rather about Debianizing all of the source packages in the VyOS APT repo, in the same way some packages already are.
Search for *.dsc files in the current rolling-packages APT repo finds 21 of them, this is only a small part, it would be nice to see all packages there Debianized like this - this is what this feature request is about.
Then standard Debian tools can be used to rebuild *.deb packages from source packages. No need to search all of GitHub and assemble all parts.
Debian doesn't say "all source is in GitHub". Debian handles source packages as part of the standard packaging system. Debian is good. Please be like Debian. Thank you.

There are no plans to implement this

Would the project accept community contributions to Debianize more of the packages?
It is not clear what "no plans" really means - simply "no time for it right now, but community help is welcome" (understandable) or "we don't want it because ..." (please explain the reasons).