Hello, 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.[snip] 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: ``` [snip] 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 [snip] ``` 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? Regards, Nicholas
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 :) Cheers, -- Aloïs Micard <firstname.lastname@example.org> GPG: DA4A A436 9BFA E299 67CD E85B F733 E871 0859 FCD2
Description: OpenPGP digital signature