Hi Alex, On 03/07/21 03:30 AM, Flu0r1ne wrote: > Hi, > > > I am in the process of packaging Nebula, a popular networking overlay. > The binaries seem to build. Yet, two of the tests fail. I wanted to have > someone double check my methodology since I'm still a novice when it > comes to packaging. If you think it's a problem for the upstream, I'll > submit an issue. > > > I encounter an issue with two failing tests: > TestMarshalingNebulaCertificate and Test_ca. These rely on the > "marshaling" functionality in Google's protobuf library. These tests > pass outside debuild so I'm guessing it's based on the version of some > library. I found out the reason -- this is basically due to incompatible versions. First off, you also need a B-D on golang-goprotobuf-dev - the corresponding import path for the same is also mentioned in nebula's go.mod (github.com/golang/protobuf v1.5.0) as you might notice, the version there mentioned is "1.5.0", and the version in the archive (unstable) is "1.3.4-2". However, the version in experimental is "1.4.3-1~exp1" When I try to build with the package in experimental, build goes just fine! \o/ My past experience working with protobuf based dependencies is that the API changes very frequently, even with minor version bumps or so. All in all, this patch seems working: --- a/debian/control +++ b/debian/control @@ -18,6 +18,7 @@ Build-Depends: debhelper-compat (= 12), golang-github-vishvananda-netlink-dev, golang-github-flynn-noise-dev, golang-github-skip2-go-qrcode-dev, + golang-goprotobuf-dev (>= 1.4~), golang-google-protobuf-dev, golang-gogoprotobuf-dev, golang-github-nbrownus-go-metrics-prometheus-dev > > Note: in order to build Nebula, you have to build dependencies as well. > > > Salsa: > > - nebula: https://salsa.debian.org/flu0r1ne/nebula > > - golang-github-nbrownus-go-metrics-prometheus: > https://salsa.debian.org/flu0r1ne/golang-github-nbrownus-go-metrics-prometheus > > - golang-github-flynn-noise: > https://salsa.debian.org/flu0r1ne/golang-github-flynn-noise Oh, there is one more -- it also Build-Depends on "golang-github-skip2-go-qrcode-dev" that's not in the archive yet, please consider to package this too I have a few reviews on these. First off, there's just one "main" branch. This goes against the way go team packages should be maintained. There's a debian/sid branch, along with an upstream branch. It also seems like you used dh-make for nebula, please consider to use dh-make-golang. I'd really recommend you to quickly go through the official go package team documentation here: https://go-team.pages.debian.net/ if you haven't already it shouldn't take long Once done, I think maybe redo the dependencies to be packaged -- copy the current debian dir, and make minor changes. OR You could also simply rename the branch from main -> debian/sid and then gbp-import to get the upstream branch. Please push to your local fork once done -- once you're familiar with this, I'll simply add you to the team so you simply push your work there :) > > You'll receive a few Lintian errors that won't effect the build process. > Lintian wants to: > > (1) Shorten golang-github-nbrownus-go-metrics-prometheus (I'm following > the naming scheme. Let me know if i should rename it.) I think we can simply ignore this warning as you might see on the corresponding lintian report page here[1], there are several golang packages with that warning The naming scheme is correct, and that's fine. > (2) I'll submit ITPs once I can build Nebula Cool, I'll be happy to sponsor you uploads, if you need :-) BTW, you mentioned on IRC yesterday that you're doing a debuild while that's fine, but you really need to build in a clean chroot before you think the package is ready for upload. This will help you catch missing build dependencies which happened in nebula (as mentioned above for qrcode and golang-protobuf) sbuild will help you do that easily, please set this up if you haven't already. You can find the details here[2] > > Build log: https://gist.github.com/flu0r1ne/1a18ffe4fc2c2a8ba2ea14fa6552bb50 Thank you very much for working on these packages! [1]: https://lintian.debian.org/tags/source-package-component-has-long-file-name [2]: https://wiki.debian.org/sbuild Nilesh
Attachment:
signature.asc
Description: PGP signature