[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [RFC] shirou/gopsutils v2 to v3 migration


On 11/24/21 02:51, Nicholas D Steeves wrote:
In this case, could you try putting v2 and v3 in same package, which is
golang-github-shirou-gopsutil-dev, just like upstream that put v2 and v3 in
same repository.

And try to rebuild the reverse dependencies.  I think it would just be fine,
and no package will be broken.


I've confirmed that Syncthing, which requires v3, builds with a v3
gopsutil-dev that has a XS-Go-Import-Path that points to v2.  My
hypothesis was that this would fail.  Why does this work?  Understanding
is more valuable than success, because success cannot reliably be
replicated without understanding ;-)

The XS-Go-Import-Path actually points to the repository root:

Standards-Version: 4.6.0
Homepage: https://github.com/shirou/gopsutil
Vcs-Browser: https://salsa.debian.org/go-team/packages/golang-github-shirou-gopsutil
Vcs-Git: https://salsa.debian.org/go-team/packages/golang-github-shirou-gopsutil.git
XS-Go-Import-Path: github.com/shirou/gopsutil
Rules-Requires-Root: no
Testsuite: autopkgtest-pkg-go

Syncthing depends on golang-github-shirou-gopsutil-dev, when this binary package is installed,
all the files will reside in /usr/share/gocode/src/github.com/shirou/gopsutil.

The latest version v3 has a v3 folder in the source code. Which means that any import like:

github.com/shirou/gopsutil/v3 will resolve to /usr/share/gocode/src/github.com/shirou/gopsutil/v3.

Basically like Shengjing has said, the upstream version both embed v2 and v3 (with v3 being in a
dedicated folder).

Given what upstream documentation says, yes, I agree that packages
depending on v2 should continue to function properly.

Aloïs, Can you confirm packages using v2 are still good?  Also, I took
the liberty to revert "use-shirou-disk-v2.patch", because it seems clear
that this we're not taking that direction.  Also, I made various other
minor fixups that I hope are also appreciated :-)  Thank you once again
for you work!

Thanks for the patch revert and the quickfixes!

I'm on it. The dependencies needed for shirou/gopsutils v3 are in NEW, I'm
still working on building the package and will check all rdeps with ratt once
everything else is fine.

Alexandre, it looks like Syncthing is on track for a near-future update!
Two things that stood out to me where the old debhelper version and the
lintian warning against parsing /etc/passwd.  Is there any reason for
the former, and can you think of any reason against using "id syncthing"
rather than grepping passwd?


I have a call planned with Alexandre this week-end, I will talk about all these
minor issues with him so hopefully we can upload new Syncthing version soonish :)


Aloïs Micard <creekorful@debian.org>

GPG: DA4A A436 9BFA E299 67CD E85B F733 E871 0859 FCD2

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply to: