Bug 1862861 - Review Request: golang-github-shulhan-bindata - A small utility which generates Go code from any file
Summary: Review Request: golang-github-shulhan-bindata - A small utility which generat...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Robert-André Mauchin 🐧
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1811183
TreeView+ depends on / blocked
 
Reported: 2020-08-03 04:26 UTC by Brandon Perkins
Modified: 2020-08-04 14:16 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-08-04 14:16:29 UTC
Type: ---
Embargoed:
eclipseo: fedora-review+


Attachments (Terms of Use)

Description Brandon Perkins 2020-08-03 04:26:09 UTC
Spec URL: https://raw.githubusercontent.com/bdperkin/aliyun/master/SPECS/golang-github-shulhan-bindata.spec
SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/2482/48482482/golang-github-shulhan-bindata-3.6.0-1.fc33.src.rpm
Description: A small utility which generates Go code from any file. Useful for embedding
             binary data in a Go program.
Fedora Account System Username: bdperkin
Note 1: This package proposes to obsolete and provide "go-bindata".
Note 2: This package is required to build golang-github-aliyun-cli, which will have runtime errors without it.
Successful Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=48482481

Comment 1 Brandon Perkins 2020-08-03 04:27:54 UTC
More context on why this package is needed can be found in a comment in the SPEC file:

# The upstream repository of the "go-bindata" package
# (github.com/jteeuwen/go-bindata) has been archived
# by the owner and is now read-only.  The upstream
# repository of this "golang-github-shulhan-bindata"
# package (github.com/shuLhan/go-bindata) has become
# the de-facto source for the "go-bindata" command.
Obsoletes:      go-bindata < 3.1.0
Provides:       go-bindata = %{version}

Comment 2 Robert-André Mauchin 🐧 2020-08-03 20:56:15 UTC
To document what I said by mail:

> You did take care of all seven packages that I had.  However, I found
> out yesterday in testing that even though the cli package built, it was
> not functional.  The go-bindata part of prep failed silently and didn't
> build the code needed for the cli to actually function properly.  After
> a bit of research I found out that the go-bindata that we ship in F33
> and earlier has a dead upstream and a fork of the last state became the
> new upstream.  Looking at the old package, it doesn't come close to how
> the other go packages are created, so I decided to create a new review
> request for the new upstream:
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1862861
> 
> I did add the obsoletes and provides as I *think* it should be.  If you
> do approve this approach and the package, I guess I'll need to reach out
> to the four maintainers of the package:
> 
> https://src.fedoraproject.org/rpms/go-bindata

I do not approve. The go-bindata repo is still maintained and active:
https://github.com/go-bindata/go-bindata/commits/master
Last release was in February, which very recent compared to most Go packages.
The Fedora package was not updated, its maintainers are not active anymore with Go stuff for Fedora as far as I know.

This other fork has the same basis, the Jim Teeuwen go-bindata repo. Jim Teeuwen has apparently disappeared and thus the project go-bindata/go-bindata was created. Now both forks have strongly diverged, so one is no more valid or the successor of the other, they are two projects sharing the same name from a common ancestor.

> 
> and ask them to retire it?
> 

No, and you shouldn't Provides/Obsoletes the current go-bindata. Instead I suggest that you prefix or postfix the conflicting binary (with shulhan or any suffix you find appropriate).

Comment 3 Robert-André Mauchin 🐧 2020-08-03 21:03:37 UTC
In practice, I would remove:

# The upstream repository of the "go-bindata" package
# (github.com/jteeuwen/go-bindata) has been archived
# by the owner and is now read-only.  The upstream
# repository of this "golang-github-shulhan-bindata"
# package (github.com/shuLhan/go-bindata) has become
# the de-facto source for the "go-bindata" command.
Obsoletes:      go-bindata < 3.1.0
Provides:       go-bindata = %{version}


and rename with a prefix or suffix the binary and the man page here:

%gobuild -o %{gobuilddir}/bin/go-bindata %{goipath}/cmd/go-bindata
mkdir -p %{gobuilddir}/share/man/man1
help2man --no-discard-stderr -n "%{summary}" -s 1 -o %{gobuilddir}/share/man/man1/go-bindata.1 -N --version-string="%{version}" %{gobuilddir}/bin/go-bindata

[…]

%files
%license LICENSE
%doc AUTHORS CHANGELOG CONTRIBUTING.md README.md
%{_mandir}/man1/go-bindata.1*
%{_bindir}/*

Comment 4 Brandon Perkins 2020-08-03 21:47:31 UTC
Spec URL: https://raw.githubusercontent.com/bdperkin/aliyun/master/SPECS/golang-github-shulhan-bindata.spec
SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/5513/48555513/golang-github-shulhan-bindata-3.6.0-2.fc33.src.rpm

Successful Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=48555464

Requested changes made.  Renamed binary and man page to go-bindata.shulhan so it does not conflict with go-bindata.  I chose a suffix as I think it makes tab-completion easier :)

Comment 5 Robert-André Mauchin 🐧 2020-08-03 22:32:28 UTC
 - License ok
 - Latest version packaged
 - Builds in mock
 - No rpmlint errors
 - Conforms to Packaging Guidelines

Package approved.

Comment 6 Gwyn Ciesla 2020-08-04 13:14:17 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/golang-github-shulhan-bindata

Comment 7 Brandon Perkins 2020-08-04 14:16:29 UTC
CLOSED. In Rawhide (f33).


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