Bug 1807682 (golang-goftp-server)

Summary: Review Request: golang-goftp-server - FTP server framework written in Go
Product: [Fedora] Fedora Reporter: Robert-André Mauchin 🐧 <eclipseo>
Component: Package ReviewAssignee: Olivier Lemasle <o.lemasle>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: o.lemasle, package-review
Target Milestone: ---Flags: o.lemasle: fedora-review+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-07-09 01:05:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Robert-André Mauchin 🐧 2020-02-26 22:48:23 UTC
Spec URL: https://eclipseo.fedorapeople.org/for-review/golang-goftp-server.spec
SRPM URL: https://eclipseo.fedorapeople.org/for-review/golang-goftp-server-0.3.2-1.fc33.src.rpm

Description:
 A FTP server framework written in Go.

Fedora Account System Username: eclipseo

Comment 1 Robert-André Mauchin 🐧 2020-02-26 22:48:47 UTC
Koji scratch build:

Comment 2 Robert-André Mauchin 🐧 2020-02-26 22:54:47 UTC
Koji scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=41949707

Comment 3 Olivier Lemasle 2020-03-08 11:15:05 UTC
I'll review this package. Would you mind review in exchange https://bugzilla.redhat.com/show_bug.cgi?id=1811080 ?

Comment 4 Olivier Lemasle 2020-03-08 12:06:16 UTC
"archivename" should be v%{version}, not %{repo}-%{version}, because the archive is named v0.3.2.tar.gz, not server-0.3.2.tar.gz.

Except from this issue (which makes fedora-review fail), everything seems right.

Comment 5 Robert-André Mauchin 🐧 2020-03-16 17:05:37 UTC
Thanks for taking a look.

How are you downloading the archive? Spectool correctly uses %{repo}-%{version} for the archive name:

$ spectool -g *.spec
Getting https://gitea.com/goftp/server/archive/v0.3.2.tar.gz#/server-0.3.2.tar.gz to ./server-0.3.2.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 19375  100 19375    0     0   2187      0  0:00:08  0:00:08 --:--:--  4204

Comment 6 Olivier Lemasle 2020-03-16 19:07:35 UTC
Right, spectool gets "server-0.3.2.tar.gz".

However, both fedora-review and fedpkg fail to use the right archive name. Do you know why?

Fedora review:

$ fedora-review -b 1807682
INFO: Processing bugzilla bug: 1807682
INFO: Getting .spec and .srpm Urls from : 1807682
INFO:   --> SRPM url: https://eclipseo.fedorapeople.org/for-review/golang-goftp-server-0.3.2-1.fc33.src.rpm
INFO:   --> Spec url: https://eclipseo.fedorapeople.org/for-review/golang-goftp-server.spec
INFO: Using review directory: /tmp/golang-goftp-server/1807682-golang-goftp-server
INFO: Downloading .spec and .srpm files
INFO: Downloading (Source0): https://gitea.com/goftp/server/archive/v0.3.2.tar.gz#/server-0.3.2.tar.gz
WARNING: Cannot download url: https://gitea.com/goftp/server/archive/v0.3.2.tar.gz#/server-0.3.2.tar.gz
INFO: No upstream for (Source0): v0.3.2.tar.gz
INFO: Running checks and generating report
INFO: Results and/or logs in: /tmp/golang-goftp-server/1807682-golang-goftp-server/results
INFO: Reading configuration from /etc/mock/site-defaults.cfg
INFO: Reading configuration from /etc/mock/fedora-rawhide-x86_64.cfg
INFO: Build completed
WARNING: Package golang-goftp-server-debuginfo-0.3.2-1.fc33 not built
WARNING: Package golang-goftp-server-debugsource-0.3.2-1.fc33 not built
INFO: Installing built package(s)
Failed to set locale, defaulting to C.UTF-8
ERROR: 'Source0 file /tmp/golang-goftp-server/1807682-golang-goftp-server/srpm-unpacked/v0.3.2.tar.gz is missing in src.rpm. Conditional source inclusion?' (logs in /home/olivier/.cache/fedora-review.log)

fedora-review logs:

$ tail -50 /home/olivier/.cache/fedora-review.log
warning: user bob does not exist - using root
warning: group bob does not exist - using root
warning: user bob does not exist - using root
warning: group bob does not exist - using root
setting SOURCE_DATE_EPOCH=1582756824
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.g3pvBx
+ umask 022
+ cd /builddir/build/BUILD
+ %goprep
RPM build errors:
/var/tmp/rpm-tmp.g3pvBx: line 31: fg: no job control
error: Bad exit status from /var/tmp/rpm-tmp.g3pvBx (%prep)
    Bad exit status from /var/tmp/rpm-tmp.g3pvBx (%prep)
chmod: cannot access '/builddir/build/BUILD/*': No such file or directory
Finish: chroot ['rpm -i golang-goftp-server-0.3.2-1.fc33.src.rpm; rpmbuild --nodeps -bp $(rpm --eval %_specdir)/golang-goftp-server.spec;chmod -R  go+r  $(rpm --eval %_builddir)/* || :']
 None
NoneType: None
03-16 19:57 root         DEBUG    ReviewError: 'Source0 file /tmp/golang-goftp-server/1807682-golang-goftp-server/srpm-unpacked/v0.3.2.tar.gz is missing in src.rpm. Conditional source inclusion?'
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/FedoraReview/review_helper.py", line 236, in run
    self._do_run(outfile)
  File "/usr/lib/python3.7/site-packages/FedoraReview/review_helper.py", line 226, in _do_run
    self._do_report(outfile)
  File "/usr/lib/python3.7/site-packages/FedoraReview/review_helper.py", line 99, in _do_report
    self._run_checks(self.bug.spec_file, self.bug.srpm_file, outfile)
  File "/usr/lib/python3.7/site-packages/FedoraReview/review_helper.py", line 117, in _run_checks
    self.checks.run_checks(output=output, writedown=not Settings.no_report)
  File "/usr/lib/python3.7/site-packages/FedoraReview/checks.py", line 382, in run_checks
    run_check(name)
  File "/usr/lib/python3.7/site-packages/FedoraReview/checks.py", line 357, in run_check
    check.run()
  File "/usr/lib/python3.7/site-packages/FedoraReview/plugins/generic_build.py", line 430, in run
    self.log.info("Active plugins: %s", ", ".join(self.checks.get_plugins(True)))
  File "/usr/lib/python3.7/site-packages/FedoraReview/checks.py", line 253, in get_plugins
    elif not bool(r.is_applicable()) == state:
  File "/usr/lib/python3.7/site-packages/FedoraReview/plugins/ccpp.py", line 30, in is_applicable
    or src.find("*.c")
  File "/usr/lib/python3.7/site-packages/FedoraReview/datasrc.py", line 92, in find
    for f in self.get_filelist(s):
  File "/usr/lib/python3.7/site-packages/FedoraReview/datasrc.py", line 275, in get_filelist
    self._load_files(container)
  File "/usr/lib/python3.7/site-packages/FedoraReview/datasrc.py", line 262, in _load_files
    source.extract()
  File "/usr/lib/python3.7/site-packages/FedoraReview/source.py", line 132, in extract
    " Conditional source inclusion?" % (self.tag, self.filename)
FedoraReview.review_error.ReviewError: 'Source0 file /tmp/golang-goftp-server/1807682-golang-goftp-server/srpm-unpacked/v0.3.2.tar.gz is missing in src.rpm. Conditional source inclusion?'
03-16 19:57 root         ERROR    ERROR: 'Source0 file /tmp/golang-goftp-server/1807682-golang-goftp-server/srpm-unpacked/v0.3.2.tar.gz is missing in src.rpm. Conditional source inclusion?' (logs in /home/olivier/.cache/fedora-review.log)
03-16 19:57 root         DEBUG    Report completed:  95.989 seconds

fedpkg:

$ ls
golang-goftp-server.spec  server-0.3.2.tar.gz
$ fedpkg --release f33 srpm
sources file doesn't exist. Source files download skipped.
Failed to get repository name from Git url or pushurl


setting SOURCE_DATE_EPOCH=1582756824
Wrote: /home/olivier/packaging/golang-goftp-server/golang-goftp-server-0.3.2-1.fc33.src.rpm

Comment 7 Robert-André Mauchin 🐧 2020-03-16 20:02:47 UTC
fedpkg works fine for me:

$ spectool -g *.spec && fedpkg --release f33 srpm
Getting https://gitea.com/goftp/server/archive/v0.3.2.tar.gz#/server-0.3.2.tar.gz to ./server-0.3.2.tar.gz
./server-0.3.2.tar.gz already exists, skipping download
sources file doesn't exist. Source files download skipped.
Failed to get repository name from Git url or pushurl


setting SOURCE_DATE_EPOCH=1582756824
Wrote: /home/bob/packaging/golang2/golang-goftp-server/golang-goftp-server-0.3.2-1.fc33.src.rpm

I don't know why fedora-review is failing. It is li'ely a bug in fedora-review handling of package name.

Comment 8 Olivier Lemasle 2020-03-16 20:20:44 UTC
Yes, fedpkg successfully generates the srpm, however, it prints these two lines:

sources file doesn't exist. Source files download skipped.
Failed to get repository name from Git url or pushurl

I don't have these two lines for other packages (including Go ones)

Comment 9 Robert-André Mauchin 🐧 2020-03-16 20:40:53 UTC
Opened a Merge Request upstream to fix fedora-review: https://pagure.io/FedoraReview/pull-request/387#

Feed free to monkey-patch your f-r to make it work with this review.

Comment 10 Robert-André Mauchin 🐧 2020-03-16 20:42:22 UTC
(In reply to Olivier Lemasle from comment #8)
> Yes, fedpkg successfully generates the srpm, however, it prints these two
> lines:
> 
> sources file doesn't exist. Source files download skipped.
> Failed to get repository name from Git url or pushurl
> 
> I don't have these two lines for other packages (including Go ones)

These lines are perfectly normal when you're not in a GIT repo cloned from dist-git: there is no sources file as this is not a valid dist-git repo.

Comment 11 Olivier Lemasle 2020-03-16 21:48:22 UTC
Thank you for your fedora-review fix, and for your explanation of fedpkg message!

- MIT license ok
- Spec + changelog format ok
- Naming guidelines + packaging guidelines ok
- Builds in mock ok

The latest released version SHOULD be packagedn and tag v0.3.3 has been pushed upstream, but not as a stable release (cf. https://gitea.com/goftp/server/releases).

Package approved.


Rpmlint
-------
Checking: golang-goftp-server-devel-0.3.2-1.fc33.noarch.rpm
          compat-golang-github-goftp-server-devel-0.3.2-1.fc33.noarch.rpm
          golang-goftp-server-0.3.2-1.fc33.src.rpm
golang-goftp-server-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/goftp.io/server/.goipath
compat-golang-github-goftp-server-devel.noarch: W: obsolete-not-provided golang-github-goftp-server-devel
compat-golang-github-goftp-server-devel.noarch: W: no-documentation
compat-golang-github-goftp-server-devel.noarch: W: dangling-relative-symlink /usr/share/gocode/src/github.com/goftp/server ../../goftp.io/server
golang-goftp-server.src: W: no-%build-section
3 packages and 0 specfiles checked; 0 errors, 5 warnings.



Rpmlint (installed packages)
----------------------------
golang-goftp-server-devel.noarch: W: invalid-url URL: https://gitea.com/goftp/server <urlopen error [Errno -2] Name or service not known>
golang-goftp-server-devel.noarch: W: hidden-file-or-dir /usr/share/gocode/src/goftp.io/server/.goipath
compat-golang-github-goftp-server-devel.noarch: W: invalid-url URL: https://gitea.com/goftp/server <urlopen error [Errno -2] Name or service not known>
compat-golang-github-goftp-server-devel.noarch: W: obsolete-not-provided golang-github-goftp-server-devel
compat-golang-github-goftp-server-devel.noarch: W: no-documentation
compat-golang-github-goftp-server-devel.noarch: W: dangling-relative-symlink /usr/share/gocode/src/github.com/goftp/server ../../goftp.io/server
2 packages and 0 specfiles checked; 0 errors, 6 warnings.

Comment 12 Gwyn Ciesla 2020-04-13 13:18:24 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/golang-goftp-server

Comment 13 Fedora Update System 2020-06-30 15:23:07 UTC
FEDORA-2020-285d0167de has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-285d0167de

Comment 14 Fedora Update System 2020-06-30 15:36:14 UTC
FEDORA-2020-577b399fad has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-577b399fad

Comment 15 Fedora Update System 2020-07-01 02:10:02 UTC
FEDORA-2020-577b399fad has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2020-577b399fad \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-577b399fad

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 16 Fedora Update System 2020-07-01 02:19:19 UTC
FEDORA-2020-285d0167de has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2020-285d0167de \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-285d0167de

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 17 Fedora Update System 2020-07-09 01:05:24 UTC
FEDORA-2020-285d0167de has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 18 Fedora Update System 2020-07-09 01:06:34 UTC
FEDORA-2020-577b399fad has been pushed to the Fedora 31 stable repository.
If problem still persists, please make note of it in this bug report.