Opened 5 years ago

Closed 5 years ago

Last modified 4 years ago

#52324 closed submission (fixed)

syncthing @0.14.7 new port

Reported by: lbschenkel (Leonardo Brondani Schenkel) Owned by: mkae (Marko Käning)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: mkae (Marko Käning), AlD (Daniel Albers)
Port: syncthing

Description

More information about the project can be found at https://syncthing.net and https://github.com/syncthing/syncthing.

I'm volunteering to be the maintainer of this port. As this is my first port built via Go and I'm not an expert, I'm not sure if I did it in a completely idiomatic way. Please let me know if this can be improved.

I intend to introduce subports that are built from this same source for the discovery server, relay server, etc. but I want get this basic package committed first.

Note that until it reaches 1.0, new versions of Syncthing (0.x) change the protocol in a non-backwards compatible way, which forces all devices to be upgrade at the same. This usually happens every few months (0.14 is from July, 0.13 from May). Because such an upgrade can be really disruptive, I would some feedback about how we handle 0.15 when it comes out:

  1. should syncthing be upgraded to 0.15 which will break synchronization until users upgrade all their other devices?
  2. should syncthing be upgraded to 0.15 and 0.14 becomes syncthing-0.14, so users can downgrade after an upgrade? (probably the port should have a note to warn users in this case)
  3. should this port be named syncthing-0.14 from the start so the user has to explicitly install syncthing-0.15 to upgrade? (note that old versions are abandoned, they won't have security fixes — when a new version comes out we could make a new revision of the old port to tell users of that fact)
  4. some other alternative that I am missing?

As a user, I would probably vote for 3 to minimize any disruption of my workflow. It takes a few days/weeks for all the popular Syncthing apps (especially mobile clients) to get updated.

Attachments (5)

Portfile (2.5 KB) - added by lbschenkel (Leonardo Brondani Schenkel) 5 years ago.
Portfile.2 (2.4 KB) - added by lbschenkel (Leonardo Brondani Schenkel) 5 years ago.
Portfile.3 (2.4 KB) - added by lbschenkel (Leonardo Brondani Schenkel) 5 years ago.
Portfile.4 (2.4 KB) - added by lbschenkel (Leonardo Brondani Schenkel) 5 years ago.
Portfile.5 (2.5 KB) - added by lbschenkel (Leonardo Brondani Schenkel) 5 years ago.
Renamed to syncthing-0.14

Download all attachments as: .zip

Change History (20)

comment:1 Changed 5 years ago by mf2k (Frank Schima)

Duplicate of #48905. Significant progress was made before the submitters stopped responding. Please check the comments in that ticket.

Last edited 5 years ago by mf2k (Frank Schima) (previous) (diff)

Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)

Attachment: Portfile added

comment:2 Changed 5 years ago by mkae (Marko Käning)

Cc: mk@… added

Cc Me!

comment:3 Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)

I have tweaked the Portfile a bit. In case I should submit to #48905 instead, please let me know. I believe this Portfile addresses all the comments made on that ticket.

Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)

Attachment: Portfile.2 added

comment:4 Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)

On a second though, I'm removing README.md for the launchd plist since it contains instructions for copying the syncthing binary that do not apply to this port. The port notes will function as a replacement.

Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)

Attachment: Portfile.3 added

comment:5 Changed 5 years ago by AlD (Daniel Albers)

Cc: daniel@… added

Cc Me!

comment:6 Changed 5 years ago by ryandesign (Ryan Schmidt)

build.cmd should reference ${prefix}/bin/go instead of go, just in case the user has modified their binpath.

comment:7 Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)

Right, an oversight of my part. Submitted new Portfile.

Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)

Attachment: Portfile.4 added

comment:8 Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)

I'm a heavy user of this program and due to their past history in breaking backwards compatibility, I really would like to discuss the possibility of naming this port syncthing-0.14 so the user has to explicitly upgrade to a new "major" version (it's 0.x is because the protocol is not set in stone yet). An automatic upgrade would make the device not able to synchronize until all other devices are upgraded at the same time, rendering the program effectively useless. Speaking as a user of this port, I would find that very disruptive/annoying.

Once a new "major" version is out we could release a new revision for the previous version with a note saying that users should install the new port if they want new updates. I don't think it's necessary to maintain more than the newest and the previous version. Older versions can be just made obsolete.

A similar situation happens with gnupg21 port due to being non-backwards compatible.

Last edited 5 years ago by lbschenkel (Leonardo Brondani Schenkel) (previous) (diff)

comment:9 in reply to:  8 Changed 5 years ago by larryv (Lawrence Velázquez)

This would be fine. We have several series of ports that do the same thing (clang, gcc, python, etc.).

comment:10 Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)

Great. Should I submit a new patch or are you fine with changing the name yourself?

Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)

Attachment: Portfile.5 added

Renamed to syncthing-0.14

comment:11 Changed 5 years ago by lbschenkel (Leonardo Brondani Schenkel)

I have renamed the port to syncthing-0.14. Is there anything else preventing this from getting merged?

comment:12 Changed 5 years ago by mkae (Marko Käning)

Owner: changed from macports-tickets@… to mk@…
Status: newassigned

No, actually, committed in r153618.

(I've added myself for now as co-maintainer.)

comment:13 Changed 5 years ago by mkae (Marko Käning)

Resolution: fixed
Status: assignedclosed

comment:14 Changed 5 years ago by mkae (Marko Käning)

Version: 2.3.4

comment:15 Changed 4 years ago by mkae (Marko Käning)

In e5f70d6b/macports-ports:

syncthing-0.14: give up maintainership

See #52324

Note: See TracTickets for help on using tickets.