Bug 1473314 - Review Request: rclone - rsync for cloud storage
Summary: Review Request: rclone - rsync for cloud storage
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Jared Smith
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1474536 1474537 1475741 1475750 1475763 1475791 1475817 1475832 1475841 1475846 1475863 1475872 1475879 1476281
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-07-20 13:05 UTC by Robert-André Mauchin 🐧
Modified: 2017-10-11 14:47 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2017-10-11 14:47:23 UTC
Type: ---
Embargoed:
jsmith.fedora: fedora-review+


Attachments (Terms of Use)

Description Robert-André Mauchin 🐧 2017-07-20 13:05:17 UTC
Spec URL: https://drive.google.com/file/d/0B-2E1dURtQf5eFp0Y0pXenpZT3M/view?usp=sharing
SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/7712/20627712/rclone-1.36-2.fc26.src.rpm
Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20627711

Description: Rclone is a command line program to sync files and directories to and from various cloud services.

Fedora Account System Username: eclipseo
My COPR profile: https://copr.fedorainfracloud.org/coprs/eclipseo/

This is my first package that I try to import in Fedora. It passes rpmlint, mock and Koji. The spec file is based around draft recommendations for Go packaging ( https://fedoraproject.org/wiki/PackagingDrafts/Go )

I'm also looking for a sponsor, so that I can start importing my other builds into Fedora.

Thanks.

Comment 1 Robert-André Mauchin 🐧 2017-07-23 12:14:30 UTC
rclone published a new release yesterday. I'm updating the spec accordingly.

Spec URL: https://drive.google.com/file/d/0B-2E1dURtQf5eFp0Y0pXenpZT3M/view?usp=sharing
SRPM URL: https://kojipkgs.fedoraproject.org//work/tasks/8484/20688484/rclone-1.37-1.fc27.src.rpm
Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20688479

Koji fails on arch ppc64, the log says it can't find golang >= 1.5, which is weird since it was compiling it fine last week with golang 1.8.1. I don't know why.

Comment 2 Till Maas 2017-07-23 12:48:37 UTC
I believe I read somewhere that support for go on ppc64 was discontinued. You should use

ExclusiveArch:  %{golang_arches}

in the spec to make sure that the package is only built for archs in Fedora that contain golang.

Also it is better to use

%{_mandir}/man1/rclone.1*

to match the man page as it also allows to change the compression method for the manpage.

Also it seems to me that the package bundles a lot of other go packages (in the vendor directory of the source tarball). AFAIK Fedora currently requires the packages to be de-bundled unless there is good reason not to do so. Since it is quite a lot of packages, would you be willing to debundle them?

Comment 3 Robert-André Mauchin 🐧 2017-07-24 19:55:36 UTC
I have almost packaged all of the bundle.

Here's a summary of the dependency:

=============================================================================================================================================
bazil.org/fuse (golang-bazil.org-fuse) PkgDB=False

 * Done
 * Tests disabled because it need fuse.ko module to be loaded
 * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/2921/20712921/golang-bazil-fuse-0-0.1.git371fbbd.fc27.src.rpm
 * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20712919

github.com/Unknwon/goconfig (golang-github-Unknwon-goconfig)

 * Done
 * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/1738/20711738/golang-github-Unknwon-goconfig-0-0.1.git87a46d9.fc27.src.rpm
 * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20711737

github.com/VividCortex/ewma (golang-github-VividCortex-ewma) 

 * Almost done: error in test for arch ppc64le and s390x, I don't know why specifically these
 * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/1994/20711994/golang-github-VividCortex-ewma-0-0.1.git4cc8cc5.fc27.src.rpm
 * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20711992

github.com/billziss-gh/cgofuse (golang-github-billziss-gh-cgofuse) PkgDB=False

 * Done
 * Tests disabled because it needs fuse.ko module to be loaded
 * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/2974/20712974/golang-github-billziss-gh-cgofuse-0-0.1.git35bcf03.fc27.src.rpm
 * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20712973

github.com/jlaffaye/ftp (golang-github-jlaffaye-ftp) PkgDB=False

 * Done
 * Tests disabled because it needs a running ftp server
 * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/3117/20713117/golang-github-jlaffaye-ftp-0-0.1.git769512c.fc27.src.rpm
 * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20713116

github.com/ncw/dropbox-sdk-go-unofficial (golang-github-ncw-dropbox-sdk-go-unofficial) PkgDB=False

 * Done
 * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/3743/20713743/golang-github-ncw-dropbox-sdk-go-unofficial-0-0.1.git5d9f46f.fc27.src.rpm
 * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20713742
github.com/ncw/go-acd (golang-github-ncw-go-acd) PkgDB=False

 * Done
cd ... * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/3409/20713409/golang-github-ncw-go-acd-0-0.1.git96a49aa.fc27.src.rpm
 * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20713408

github.com/nsf/termbox-go (golang-github-nsf-termbox-go) PkgDB=False

 * Done
 * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/3806/20713806/golang-github-nsf-termbox-go-0-0.1.git4ed959e.fc27.src.rpm
 * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20713805

github.com/rfjakob/eme (golang-github-rfjakob-eme) PkgDB=False

 * Done
 * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/3974/20713974/golang-github-rfjakob-eme-1.1-1.fc27.src.rpm
 * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20713973

github.com/xanzy/ssh-agent (golang-github-xanzy-ssh-agent) PkgDB=False

 * Done
 * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/4134/20714134/golang-github-xanzy-ssh-agent-0-0.1.gitba9c9e3.fc27.src.rpm
 * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20714132

google.golang.org/api (golang-googlegolangorg-api) PkgDB=False

 * Built locally
 * Depends on:

    * golang.org/x/sync (golang-golangorg-sync) PkgDB=False

        * Done
        * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/4633/20714633/golang-github-golang-sync-0-0.1.gitf52d181.fc27.src.rpm
        * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20714632

    * google.golang.org/appengine (golang-googlegolangorg-appengine) PkgDB=False

        * Done
        * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/4756/20714756/golang-github-golang-appengine-0-0.1.gitad2570c.fc27.src.rpm
        * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20714755

google.golang.org/genproto (golang-googlegolangorg-genproto) PkgDB=False

        * Done
        * A error in a test that I can't explain + another one but bug filed upstream
        * SRPM: https://kojipkgs.fedoraproject.org//work/tasks/5394/20715394/golang-github-google-go-genproto-0-0.1.gitb0a3dcf.fc27.src.rpm
        * Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=20715393

=============================================================================================================================================

Thus, how shall I proceed? Open a Review request for each package? And then try to import them in pkgdb?

Another question, if you may help, if a package depends on another packages not yet included like golang-googlegolangorg-api above, how should one proceed to generate a mock build or a koji scratch build? Wait for the dependency to be imported via pkgdb, and then only afterwards try the mock build or koji build?

Also, it says pkgdb is retiring soon, replaced by pagure.io and fedrepo_req, is there detailed explanation on how to proceed to add a package then? I read https://pagure.io/fedrepo_req but it's still a bit confusing.

Comment 4 Till Maas 2017-07-24 22:28:59 UTC
(In reply to Robert-André Mauchin from comment #3)
> I have almost packaged all of the bundle.

Awesome work, you are great!

> Thus, how shall I proceed? Open a Review request for each package? And then
> try to import them in pkgdb?

In the end there will have to be one review request for each package. Initially I would suggest to update your copr repo to include all the packages including an updated rclone package that used the dependencies. Then it would be good to start with a few review request of the dependencies to see if there are any common errors. You can mark the review requests to block this bug to make it clear that they are dependencies.

> Another question, if you may help, if a package depends on another packages
> not yet included like golang-googlegolangorg-api above, how should one
> proceed to generate a mock build or a koji scratch build? Wait for the
> dependency to be imported via pkgdb, and then only afterwards try the mock
> build or koji build?

Using copr is the easiest way. AFAIK you can first build your dependencies in copr and then use them to build the next packages.

> Also, it says pkgdb is retiring soon, replaced by pagure.io and fedrepo_req,
> is there detailed explanation on how to proceed to add a package then? I
> read https://pagure.io/fedrepo_req but it's still a bit confusing.

This is currently work in progress. Once pkgdb is retired there will be better documentation. Your sponsor or other developers will help you to figure this out.

It would be great if you could show your packaging skills by preliminary reviewing other package reviews as documented here: https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group#Show_Your_Expertise_by_Commenting_on_other_Review_Requests

This helps sponsors to get convinced that you are ready to be sponsored.

Comment 5 Robert-André Mauchin 🐧 2017-07-24 22:49:04 UTC
It turns out that some dependencies that already are in Fedora need to be updated to more recent version too. I file bug 1474537 and bug 1474536 accordingly.

>It would be great if you could show your packaging skills by preliminary reviewing other package reviews

I can review other people's package even if I'm not a member of the package team and a novice?

Comment 6 Till Maas 2017-07-25 16:05:39 UTC
(In reply to Robert-André Mauchin from comment #5)
> It turns out that some dependencies that already are in Fedora need to be
> updated to more recent version too. I file bug 1474537 and bug 1474536
> accordingly.

Great. It seems that the first package is already updated.


> >It would be great if you could show your packaging skills by preliminary reviewing other package reviews
> 
> I can review other people's package even if I'm not a member of the package
> team and a novice?

Yes, the idea is that you add your comments as if you review the package to show what you would do if you could approve the package. This is a good possibility to show your expertise and commitment. After you were sponsored you can then finish the reviews and approve them when they are still open.

Comment 7 Robert-André Mauchin 🐧 2017-09-25 15:30:13 UTC
May someone continue the review? All the dependencies are through.

SPEC URL: https://raw.githubusercontent.com/eclipseo/packaging/4549d76/rclone.spec

SRPM URL: https://copr-be.cloud.fedoraproject.org/results/eclipseo/rclone/fedora-rawhide-x86_64/00603784-rclone/rclone-1.37-2.fc28.src.rpm

Comment 9 Igor Gnatenko 2017-10-01 09:44:52 UTC
I don't think that runtime Requires are needed. I think it is wrong ;)

Comment 10 Robert-André Mauchin 🐧 2017-10-01 10:46:44 UTC
Yeah, you are right, I don't know why gofed added them in the first place.

SPEC URL: https://raw.githubusercontent.com/eclipseo/packaging/0a1fd03/rclone.spec

SRPM URL: https://copr-be.cloud.fedoraproject.org/results/eclipseo/rclone/fedora-rawhide-x86_64/00610187-rclone/rclone-1.38-1.fc28.src.rpm

Comment 11 Jared Smith 2017-10-03 18:01:01 UTC
Since it looks like nobody else has taken on this review, I'll go ahead and do the review.

Comment 12 Jared Smith 2017-10-03 18:14:27 UTC
Package is approved.  I couldn't do a formal review with the fedora-review tool because two of the dependencies are in Koji but not yet in the Rawhide compose, but I have reviewed the package thoroughly and it looks good to me.

Comment 13 Robert-André Mauchin 🐧 2017-10-03 18:40:05 UTC
Thank you for the review!

Comment 14 Gwyn Ciesla 2017-10-03 23:49:23 UTC
(fedrepo-req-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/rclone

Comment 15 Fedora Update System 2017-10-07 13:57:41 UTC
rclone-1.38-1.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-5b5d1e995b

Comment 16 Fedora Update System 2017-10-08 06:24:54 UTC
rclone-1.38-1.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-5b5d1e995b

Comment 17 Fedora Update System 2017-10-11 14:47:23 UTC
rclone-1.38-1.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.


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