GNU bug report logs -
#74917
[PATCH] gnu: Syncthing: Update to 1.28.1.
Previous Next
Reported by: Leo Famulari <leo <at> famulari.name>
Date: Mon, 16 Dec 2024 21:14:02 UTC
Severity: normal
Tags: patch
Done: Sharlatan Hellseher <sharlatanus <at> gmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 74917 in the body.
You can then email your comments to 74917 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
cox.katherine.e+guix <at> gmail.com, sharlatanus <at> gmail.com, guix-patches <at> gnu.org
:
bug#74917
; Package
guix-patches
.
(Mon, 16 Dec 2024 21:14:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Leo Famulari <leo <at> famulari.name>
:
New bug report received and forwarded. Copy sent to
cox.katherine.e+guix <at> gmail.com, sharlatanus <at> gmail.com, guix-patches <at> gnu.org
.
(Mon, 16 Dec 2024 21:14:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/syncthing.scm (syncthing): Update to 1.28.1.
[arguments]: Adjust the 'build' and 'install' phases to upstream changes.
Change-Id: Icc7342ce13ffa03df51e4e71faf2e19a0636635f
---
gnu/packages/syncthing.scm | 113 ++++++++++++++++++-------------------
1 file changed, 56 insertions(+), 57 deletions(-)
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 71a1eb3326..345017d80d 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Petter <petter <at> mykolab.ch>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari <leo <at> famulari.name>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2024 Leo Famulari <leo <at> famulari.name>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me <at> tobias.gr>
;;; Copyright © 2020-2022 Efraim Flashner <efraim <at> flashner.co.il>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul <at> autistici.org>
@@ -49,7 +49,7 @@ (define-module (gnu packages syncthing)
(define-public syncthing
(package
(name "syncthing")
- (version "1.27.2")
+ (version "1.28.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@@ -57,71 +57,70 @@ (define-public syncthing
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
- "0g418jyqqik8ds8qcrlnmm2bhwwpbrfgd82fg2jyip4zw1aicqia"))))
+ "16j5w6hdr1x2231hw0zsxm53sw34wxcs4ijjjcnzcg1vz9drjrg9"))))
(build-system go-build-system)
;; The primary Syncthing executable goes to "out", while the auxiliary
;; server programs and utility tools go to "utils". This reduces the size
;; of "out" by ~144 MiB.
(outputs '("out" "utils"))
(arguments
- (list #:modules '((srfi srfi-26) ; for cut
- (guix build utils)
- (guix build go-build-system))
- #:import-path "github.com/syncthing/syncthing"
- ;; We don't need to install the source code for end-user applications.
- #:install-source? #f
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'build 'increase-test-timeout
- (lambda _
- (substitute* "src/github.com/syncthing/syncthing/build.go"
- (("120s") "999s"))))
+ (list
+ #:modules '((srfi srfi-26) ; for cut
+ (guix build utils)
+ (guix build go-build-system))
+ #:import-path "github.com/syncthing/syncthing"
+ ;; We don't need to install the source code for end-user applications.
+ #:install-source? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'increase-test-timeout
+ (lambda _
+ (substitute* "src/github.com/syncthing/syncthing/build.go"
+ (("120s") "999s"))))
- (replace 'build
- (lambda _
- (with-directory-excursion "src/github.com/syncthing/syncthing"
- ;; XXX The only way to build Syncthing without its automatic
- ;; updater and to build the utilities is to "build all" and then
- ;; "build syncthing" again with -no-upgrade.
- ;; https://github.com/syncthing/syncthing/issues/6118
- (invoke "go" "run" "build.go")
- (delete-file "bin/syncthing")
- (invoke "go" "run" "build.go" "-no-upgrade" "build" "syncthing"))))
+ (replace 'build
+ (lambda _
+ (with-directory-excursion "src/github.com/syncthing/syncthing"
+ ; Build the primary Syncthing executable
+ (invoke "go" "run" "build.go" "-no-upgrade")
+ ; Build utilities used to run an independent Syncthing network
+ (for-each (cut invoke "go" "run" "build.go" "build" <>)
+ '("stcrashreceiver" "strelaypoolsrv" "stupgrades"
+ "ursrv")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-directory-excursion "src/github.com/syncthing/syncthing"
- (invoke "go" "run" "build.go" "test")))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "src/github.com/syncthing/syncthing"
+ (invoke "go" "run" "build.go" "test")))))
- (replace 'install
- (lambda _
- (with-directory-excursion "src/github.com/syncthing/syncthing/bin"
- (install-file "../syncthing" (string-append #$output "/bin"))
- (for-each (cut install-file <> (string-append #$output:utils "/bin/"))
- '("stcompdirs" "stcrashreceiver"
- "stdisco" "stdiscosrv" "stevents" "stfileinfo"
- "stfinddevice" "stfindignored" "stgenfiles"
- "strelaypoolsrv" "strelaysrv" "stsigtool"
- "stvanity" "stwatchfile" "ursrv")))))
+ (replace 'install
+ (lambda _
+ (with-directory-excursion "src/github.com/syncthing/syncthing/bin"
+ (install-file "syncthing" (string-append #$output "/bin"))
+ (for-each (cut install-file <> (string-append #$output:utils "/bin/"))
+ '("stdiscosrv" "strelaysrv")))
+ (with-directory-excursion "src/github.com/syncthing/syncthing"
+ (for-each (cut install-file <> (string-append #$output:utils "/bin/"))
+ '("ursrv" "stupgrades" "strelaypoolsrv" "stcrashreceiver")))))
- (add-after 'install 'install-docs
- (lambda _
- (let ((man (string-append #$output "/share/man"))
- (man:utils (string-append #$output:utils "/share/man")))
- ;; Install all the man pages to "out".
- (for-each
- (lambda (file)
- (install-file file
- (string-append man "/man" (string-take-right file 1))))
- (find-files "src/github.com/syncthing/syncthing/man" "\\.[1-9]"))
- ;; Copy all the man pages to "utils"
- (copy-recursively man man:utils)
- ;; Delete extraneous man pages from "out" and "utils",
- ;; respectively.
- (delete-file (string-append man "/man1/stdiscosrv.1"))
- (delete-file (string-append man "/man1/strelaysrv.1"))
- (delete-file (string-append man:utils "/man1/syncthing.1"))))))))
+ (add-after 'install 'install-docs
+ (lambda _
+ (let ((man (string-append #$output "/share/man"))
+ (man:utils (string-append #$output:utils "/share/man")))
+ ;; Install all the man pages to "out".
+ (for-each
+ (lambda (file)
+ (install-file file
+ (string-append man "/man" (string-take-right file 1))))
+ (find-files "src/github.com/syncthing/syncthing/man" "\\.[1-9]"))
+ ;; Copy all the man pages to "utils"
+ (copy-recursively man man:utils)
+ ;; Delete extraneous man pages from "out" and "utils",
+ ;; respectively.
+ (delete-file (string-append man "/man1/stdiscosrv.1"))
+ (delete-file (string-append man "/man1/strelaysrv.1"))
+ (delete-file (string-append man:utils "/man1/syncthing.1"))))))))
(synopsis "Decentralized continuous file system synchronization")
(description "Syncthing is a peer-to-peer file synchronization tool that
supports a wide variety of computing platforms. It uses the Block Exchange
base-commit: 93eca69d69355dc37ebcc9193d5af19cbac8071c
--
2.46.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#74917
; Package
guix-patches
.
(Mon, 16 Dec 2024 21:46:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 74917 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Leo,
I've notice syncthing was build from source without vendor that swap
back to the release tarball containing bundled vendor.
Would it be reasonable to built it completely relaying on the packages
available in Guix, WDYT?
I've got on going work to upgrade and pack missing packages for some
Golang projects which had vendor before and droped it in the latest
release leaving us in a position to pack missing dependencies to have a
newer version.
Having them packed with all dependencies would help others to pack their
lovely package ;-)
grep -c define-public import-*
import-afero:199
import-bitmask:0 (import fail)
import-chezmoi:54
import-containerd:335
import-distribution-distribution:236
import-fq:8
import-kubo:386
import-matterbridge:493
import-prometheus:14
import-restic:232
import-sqls:0 (import fail)
import-syncthing:21
--
Thanks,
Oleg
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#74917
; Package
guix-patches
.
(Wed, 18 Dec 2024 18:42:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 74917 <at> debbugs.gnu.org (full text, mbox):
On Mon, Dec 16, 2024 at 09:44:33PM +0000, Sharlatan Hellseher wrote:
> I've notice syncthing was build from source without vendor that swap
> back to the release tarball containing bundled vendor.
Yes, we made that change a while ago.
For me, I decided that I didn't think that "unbundling" the dependencies
was a good use of my time so I stopped doing it.
> Would it be reasonable to built it completely relaying on the packages
> available in Guix, WDYT?
Personally, I don't think it's reasonable.
The GPL says that source code must be available in "the preferred form
of the work for making modifications to it."
https://www.gnu.org/licenses/gpl-3.0.en.html
Syncthing is not GPL, but I think that requirement is a good guideline
for us to follow so that Guix can give the benefits of GNU and the GPL
to our users.
For Go software, the preffered from for editing is a Git tree with
bundled / vendored dependencies at specific Git commits. Not a bunch of
separate trees that the user would have to laboriously re-assemble.
However, if we must unbundle, we could consider creating a new Guix
mechanism to ease the maintenance burden of Go packages: package
variants with parameterized versions.
For example, you have a main package variant of some Go module, call it
go-foo. That looks like a normal Guix package. If a package needs to use
go-foo, it would look like this:
(inputs
(list (go-foo
"1.0.0"
"cabba6edr1x2231hw0zsxm53sw34wxcs4ijjjcnzcg1vz9drjrg9")))
At least that would be easy for package maintenance.
But I think that using the bundled dependencies for Go packages is the
right thing to do from a GNU perspective. Of course we have to make sure
they are all free software.
Reply sent
to
Sharlatan Hellseher <sharlatanus <at> gmail.com>
:
You have taken responsibility.
(Fri, 24 Jan 2025 14:14:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Leo Famulari <leo <at> famulari.name>
:
bug acknowledged by developer.
(Fri, 24 Jan 2025 14:14:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 74917-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi,
Pushed as 317ee994d6beb3cf3f26eab31f3c9916ba28a6e9 to master.
--8<---------------cut here---------------start------------->8---
> $(./pre-inst-env guix build syncthing | head -n1)/bin/syncthing --version
syncthing v1.28.1 "Gold Grasshopper" (go1.21.5 linux-amd64) nixbld <at> localhost 1970-01-01 00:00:01 UTC [noupgrade, purego]
--8<---------------cut here---------------end--------------->8---
--
Thanks,
Oleg
[signature.asc (application/pgp-signature, inline)]
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 22 Feb 2025 12:24:15 GMT)
Full text and
rfc822 format available.
This bug report was last modified 19 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.