Bug 2213321 - Review Request: hebcal - CLI perpetual Jewish Calendar
Summary: Review Request: hebcal - CLI perpetual Jewish Calendar
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Link Dupont
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 2213307 2213308 2213309 2213310 2213311
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-06-07 19:58 UTC by Mark E. Fuller
Modified: 2023-07-14 16:49 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
link: fedora-review?


Attachments (Terms of Use)

Comment 1 Link Dupont 2023-07-14 15:57:34 UTC
> BuildRequires: golang-github-hebcal-devel

Does this not get included automatically when using the %go_generate_buildrequires macro?

Comment 2 Link Dupont 2023-07-14 16:13:13 UTC
Since this is a binary-only package, you should probably remove the %gopkgfiles line. That line creates an additional golang-github-hebcal-devel package that will overwrite the other golang-github-hebcal-devel package. There is no point to shipping the source code to hebcal (the binary) in a Fedora-style gocode package. The SRPM covers the requirement to ship source code.

Comment 3 Mark E. Fuller 2023-07-14 16:23:47 UTC
(In reply to Link Dupont from comment #1)
> > BuildRequires: golang-github-hebcal-devel
> 
> Does this not get included automatically when using the
> %go_generate_buildrequires macro?

It is not automatically included - see https://download.copr.fedorainfracloud.org/results/fuller/hebcal/fedora-rawhide-x86_64/06172977-hebcal/builder-live.log.gz where the "BuildRequires" is commented out

Comment 4 Link Dupont 2023-07-14 16:49:57 UTC
It looks like the fact that github.com/hebcal/hebcal-go and github.com/hebcal/hebcal are separate Go packages is confusing golist. When I run golist without --skip-self, it includes the github.com/hebcal/hebcal-go package requirements:

link@thelio:~/.../hebcal/hebcal$ golist --imported --package-path $goipath
github.com/hebcal/greg
github.com/hebcal/hdate
github.com/hebcal/hebcal-go/event
github.com/hebcal/hebcal-go/hebcal
github.com/hebcal/hebcal-go/locales
github.com/hebcal/hebcal-go/yerushalmi
github.com/hebcal/hebcal-go/zmanim
github.com/pborman/getopt/v2

However, when run with --skip-self (as golist is run by the %go_generate_buildrequires macro), it incorrectly assumes those packages are local:

link@thelio:~/.../hebcal/hebcal$ golist --imported --package-path $goipath --skip-self
github.com/hebcal/greg
github.com/hebcal/hdate
github.com/pborman/getopt/v2

Ideally, the right solution here is for upstream to move github.com/hebcal/hebcal into a package within github.com/hebcal/hebcal-go (using the cmd/hebcal convention). Then one RPM would provide both the github.com/hebcal/hebcal-go source files, and then resulting github.com/hebcal/hebcal-go/cmd/hebcal binary.

Maybe make a note by the manual BuildRequires: line that notes why that requirement is present. Alternatively, you could forgo using %go_generate_buildrequires and use a manual list. See https://docs.fedoraproject.org/en-US/packaging-guidelines/Golang/#_automatic_dependency_generation for an example of using golist manually.


Note You need to log in before you can comment on or make changes to this bug.