On 14/01/2025 08:25, Maytham Alsudany wrote:
I can't help with uploading, but I have reviewed the packaging.

Both packages are on salsa and mentors:

For future reference, you can send an email directly to the debian-go
mailing list if you need something within the Go Team reviewed and
uploaded without filing an RFS. Since you sent this email to the ML,
you've got our attention :)

Appreciate the review and renaming the repo, thanks.

I'm going to make some updates with your feedback, but I had a couple of questions on these bits:

[...]
ntfy - ITP: #1078571
--------------------
https://salsa.debian.org/go-team/packages/golang-github-binwiederhier-ntfy

                          ===== d/control =====

[...]
- The "nfty" binary package stanza is missing the Static-Built-Using
field. Please add "Static-Built-Using: ${misc:Static-Built-Using}" to
align with proposed changes to the Debian Policy (see [3] and the
proposed wording at [4] for more information).

I struggled to get dh_golang to run with tags - probably fixable because of your comment below about //go:build ignore

- This is not a library that others can depend on. The "heckel-ntfy-v2-
dev" (which isn't named correctly BTW) stanza should be removed
entirely, as well as any related files like its install file.

Isn't the source usually packaged for others to depend on? Nothing needs it right now, but is it considered unnecessary noise?
Just curious, what's the right namespace for `module heckel.io/ntfy/v2`?


                          ===== d/manpages =====

- This is your choice, but maintaining manpages on your own can be a
burden. If you want, you can forward the issue and your manual page
upstream and remove it from the Debian packaging so you don't have to
worry about it.

Of the 50 or so golang packages I checked out, 0 had a manpage :)


                         ===== d/copyright =====

- You should clarify with upstream whether its "Apache-2.0 or GPL-2" or
"Apache-2.0 and GPL-2" since they haven't made it clear, and this is
enough grounds for a rejection from ftp-masters.

- Please license debian/* under the same license as upstream instead of
just "GPL-2" so patches etc. can be forwarded to upstream without issue.

When it's "dual licensed" doesn't that usually mean "or"?
I understand "Apache-2.0 and GPL-2" to mean subject to "both" at the same time.

I'm relying on this paragraph in the README - it says "dual" but "and" too:
The project is dual licensed under the Apache License 2.0 and the GPLv2 License.

Anyway, I'll clarify with upstream.


                           ===== d/rules =====

- Instead of setting DH_GOLANG_INSTALL_ALL = 1 and then specifying
DH_GOLANG_EXCLUDES, use DH_GOLANG_INSTALL_EXTRA to specify only the
additional things required for the build to proceed.

I'll look at this again, but I need the excludes so I can avoid patching the excluded dirs.

- Move the .service files out of d/systemd and directly into debian/ so
dh_installsystemd picks them up. Replace
"execute_after_dh_installsystemd" with the following to prevent starting
or enabling them.

override_dh_installsystemd
   dh_installsystemd --no-start --no-enable

This didn't work - I tried many combinations, but it always ended up starting the service. I'll try it again, but the only thing that worked was hiding the service files from dh completely then installing at a later stage OR installing directly into the debian/ntfy at a late stage, but then no postinst comes out (for upgrade reboots)


See the dh_installsystemd(1) manual page, accessible by web at [7], for
more information.

- You do not need to manually invoke dh_installsysusers. It is run
automatically as part of the debhelper sequence.

And neither did this. Drilling into dh, I found this line in the root sequence:
$include_if_compat_X_or_newer->(14, 'dh_installsysusers')

The package is currently compat=13.


- override_dh_golang contradicts the "--with=golang" argument passed to
dh, and is a big no-no. Static-Built-Using must be generated as I've
already outlined before.

It's useless, but it's there as a call for help :)
Running dh_golang doesn't respect build tags. It runs `go list` without sending tags through or any "-- additional args"
But, this is probably solved by your next comment...

- The "notdebian" tag is misleading, and isn't necessary to patch out
files from the build. Use "//go:build ignore" in your patches instead.

Ohh, I didn't know "ignore" was a static recognised keyword. I thought you still had to pass it to -tags. Well this probably solves the above issue then.


PS, I can't access project settings on go-team, so if someone is on
Done.
Done.

Thanks again!

--
Regards,
Ahmad

Reply via email to