Hello Nicholas, Hannah,

> Oh, and Alexandre was my first Debian contact.

Aww. This is giving me Debconf nostalgia <3.

> I'm CCing you to ask if you'd appreciate help packaging deps for
> Syncthing 1.18.2,

Help for packaging new dependencies of syncthing is always welcome!

I have the habit of keeping a TODO list in the changelog:
- 
https://salsa.debian.org/go-team/packages/syncthing/-/blob/b356f757a44765ff2bb1e2a53df6d64b08dbdd25/debian/changelog

I am not very territorial with my TODO list. Feel free to steal as
many tasks as you like. If it ever runs out, I am sure we can add even
more things to it ;).

At the time of writing this email, there are three things that need to be done:
- Bump the version of github.com/shirou/gopsutil/v3/disk in Debian
- Package github.com/AudriusButkevicius/recli
- Package github.com/flynn-archive/go-shlex

Cheers,

--
Alexandre Viau
av...@debian.org

On Sun, 26 Sept 2021 at 21:33, Nicholas D Steeves <s...@debian.org> wrote:
>
> Hi Hannah!
>
> Reply follows inline.
>
> Hi Alexandre!
>
> I'm CCing you to ask if you'd appreciate help packaging deps for
> Syncthing 1.18.2, because the working copy of Syncthing Tray that Hannah
> prepared has an embedded copy of this version's libsyncthing that should
> be unbundled.
>
> Hannah Rittich <v...@rittich.net> writes:
>
> > Hey Nicholas,
> >
> > nice to hear that you are still interested.
> >
>
> Yes, definitely!  Long ago Alexandre Viau (Syncthing maintainer in
> Debian) convinced me of the usefulness of Syncthing, and a more friendly
> and convenient UI for our KDE Plasma users is *long overdue*.  Oh, and
> Alexandre was my first Debian contact.  By the way, is this your first
> Debian contribution?  If so, welcome! :-)
>
> > I have read this BTS entry, as well as the related GitHub issue [1].
> > Indeed, libc++utilities and libqtutilities are quite generic names. I
> > think, there are three ways to deal with this.
> >
> > 1.  Rename the libraries. Build a package for each one.
> > 2.  Build a syncthingtray package that includes the libraries and
> >     installs them to `/usr/lib/$ARCH/syncthingtray`. This would make use
> >     of the multiple tarball support.
> > 3.  Acceptance. Keep the names as they are. Build a package for each
> >     one.
> >
> > The three approaches have pros and cons.
> >
> > 1.  + More specific package name.
> >     - More work: requires changing the build process and changes to
> >       upstream might be necessary.
> >     - Increases long term maintenance cost, since higher complexity
> >       increases the chance of errors.
> >     - Can break on updates, if upstream does not want to include the
> >       changes.
> >
> > 2.  + A hypothetical name collision is avoided.
> >     o Probably less work than 1.
> >     - Additional work: requires a more complicated build process.
> >     - Increases long term maintenance cost, since higher complexity
> >       increases the chance of errors.
> >     - Libraries cannot be used by other packages. (The author has other
> >       applications that might be of interest. They use the same
> >       libraries.)
> >
> > 3.  + Much simpler than 1. and 2.
> >     + Debian package is very close to the upstream package.
> >     + Low maintenance cost and more stable build process.
> >     - A hypothetical name collision can occur.
> >
> > I, would suggest option 3. A name collision, at this point, is just
> > hypothetical, while the drawbacks of the other options are real.
> >
> > I have checked the package database and there is currently no name
> > collision with these package names, and the Debian Policy
> > Manual just requires a name to be unique in Debian [2], which they are.
> >
> > Furthermore, the chance of a name collision is rather small. Yes,
> > libc++utilities is a rather generic name. However, for the same reason
> > you are concerned about the name, most people will not consider to use
> > such a generic name for a project; it is actually a bold move to choose
> > such a name. In case a more important package needs this name, however,
> > the packages can still be renamed. Hence, I do not see a reason to
> > significantly increase the effort of packaging when there is no concrete
> > reason to do so at the moment. There is the saying "done is better than
> > perfect."
> >
> > If you insist, one could add a section to the README.Debian file that
> > the package will be renamed in case the name is needed by a more
> > important package.
> >
>
> So option #1 is patching the library, and not using a different package
> name at the dpkg level.  I wonder about namespacing the dependencies'
> names at the dpkg level, without patching the library?  Eg:
> src:marchus-cpp-utilities (which generates
> bin:marchus-libc++utilities5).  What do you think?  I think this would
> be less confusing to users/devs, and I feel like it's likely that there
> will be a cpp-utilities from glibc or LLVM somewhere in the future.
> What I mean by "confusing" is I really don't think that it's appropriate
> for a helper library to grab such an authoritative name, except in
> Flatpaks, and such containerised packages, of course! ;-)  If #3 ever
> becomes a real issue, I hope that our popcon stats will help convince
> upstream to DTRT.
>
> > In any case, I have taken the liberty to create an MVP (minimum viable
> > packaging) for Syncthing Tray and the required libraries [3], which can
> > be improved upon.
> >
> > What are your thoughts?
> >
>
> Wow!  Yes, I will definitely sponsor your work :-)  How do you feel
> about comaintaining these packages in the "debian" group (used to be
> called collab-maint)?
>
> Syncthing for Debian tends to lag behind upstream, and we'll need to
> ignore or remove the embedded copy of libsyncthing in Syncthing Tray.
> In terms of long-term maintenance it looks like Syncthing Tray updates
> will need to block for Syncthing (and its new deps) uploads.  I forget
> if I uploaded the packages or not, but at some point I worked on
> packaging new Golang deps for Syncthing, and it wasn't as difficult as I
> had expected.  I'll wait for Alexandre's ACK before asking you if you're
> also interested in Golang packaging ;-)
>
> Hannah, thank you so much for your work.  Your enthusiasm (and work
> ethic) is inspiring, and I'd like to do whatever I can to make your
> Debian experience rewarding.  Your work looks excellent, and I don't
> expect to find any issues, but I'll need to take time to carefully
> examine everything, do some QA tests, and make sure the paperwork-type
> stuff is all in order.  Also, we don't need to wait to unbundle
> libsyncthing before uploading cpp-utilities and qtutilities (ideally
> prefixed with 'martchus-' at the dpkg level), and those packages will
> need to migrate through the NEW queue before Syncthing Tray can be
> uploaded.
>
>
> Regards,
> Nicholas
>
> P.S. If ever I seem to disappear, please ping me on a weekly basis.  The
> next reliable window of free time that I'll have is in mid-October, and
> until then I'll do my best to reply quickly.

Reply via email to