Bug 1473314 - Review Request: rclone - rsync for cloud storage
Review Request: rclone - rsync for cloud storage
Status: NEW
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Nobody's working on this, feel free to take it
Fedora Extras Quality Assurance
:
Depends On: 1475741 1475750 1475763 1475791 1475817 1475832 1475841 1475846 1475863 1475872 1476281 1474536 1474537 1475879
Blocks:
  Show dependency treegraph
 
Reported: 2017-07-20 09:05 EDT by Robert-André Mauchin
Modified: 2017-08-11 12:05 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Robert-André Mauchin 2017-07-20 09:05:17 EDT
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 08:14:30 EDT
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 08:48:37 EDT
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 15:55:36 EDT
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 18:28:59 EDT
(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 18:49:04 EDT
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 12:05:39 EDT
(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.

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