Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds fpm-recipe for package #716

Closed
wants to merge 1 commit into from

Conversation

@petems
Copy link

commented Sep 11, 2016

  • Allows users to build their own packages if required
  • Updates docs with instructions on installation of rclone with packages

So, I've made a basic proof-of-concept automated package building pipeline using fpm-cookery and werker:

https://github.com/petems/rclone-build

Example of created RPM build:
https://app.wercker.com/petems/rclone-build/runs/build/57c9ac9cde98cd0100976bb7?step=57c9acad72790a0001243976

This uses a docker image for CentOS, creates a package and would be able to push it up to https://PackageCloud.io using an API token

The ideal end use-case would be proper addition to upstream repositories, and I'm looking into the Debian process to do this, but it's a lot more difficult than this minimum viable packaging 馃拑

@ncw I'd like to get your view on this 馃槃

Some basic questions:

  • Would a package added to the artifact download be ok in your eyes, similar to the current tarballs, then the user would manage the repistory management steps required (eg. upload to Satelite channel, creation of Ubuntu launchpad instance)
  • How about an account in PackageCloud.io, allowing users to easily install the package including repo setup and GPG signing? I don't mind chipping in to pay on this if it got popular enough, would help me a lot
  • How do you feel about fpm abstraction vs raw dsc/specfile?

Relates to #354, #136 and tangentally #245

* Allows users to build their own packages if required
* Updates docs with instructions on installation of rclone with packages
@ncw

This comment has been minimized.

Copy link
Collaborator

commented Oct 27, 2016

Sorry I haven't commented on this - it had somehow escaped my attention!

I am interested in building OS packages - it is one of those things I've never quite found the time for.

To be part of a major distro, I need to make rclone build repeatably from source #816. Once I do that I could upload rclone to launchpad and that would make .deb builds for ubuntu (and debian based distributions). I don't know very much about centos/rpm based distros though - is there something similar to a ppa for Centos?

I see your solution repackages the released zip files which is a great idea, but won't fly with the distro vendors.

Would a package added to the artifact download be ok in your eyes, similar to the current tarballs, then the user would manage the repository management steps required (eg. upload to Satelite channel, creation of Ubuntu launchpad instance)

Not quite sure I understand what you mean. Do you mean adding the .deb/.rpm files to the download page - that sounds good to me.

In an ideal world as part of the build process I'd build .deb/.rpm packages too.

How about an account in PackageCloud.io, allowing users to easily install the package including repo setup and GPG signing? I don't mind chipping in to pay on this if it got popular enough, would help me a lot

I see they do open source projects - maybe they would do it for free? I'm not keen on the rclone project incurring fees if I can avoid it. I've asked them

How do you feel about fpm abstraction vs raw dsc/specfile?

Ultimately if the upstream distros package rclone then they will do their own specfiles, so fpm seems like a reasonable solution in the mean time.

I think your pull request is missing some bits to actually do the build isn't it? Can you add those and then I'll give it all a try!

@ncw

This comment has been minimized.

Copy link
Collaborator

commented Oct 27, 2016

packagecloud.io have agreed to give rclone a free account under these conditions, which seem reasonable to me

In exchange, we ask folks on our open source accounts to link back to us on their project webpage / project README. You can find our logo here: https://packagecloud.io/brand-guidelines

So we are all go!

@ncw

This comment has been minimized.

Copy link
Collaborator

commented Apr 22, 2017

Sorry, I've dropped the ball on this pull request!

Do you still want to merge it?

rclone has gained a couple of extra packaging options since you submitted this - a snap and a packager.io build (which I'm not totally happy with).

If so can you rebase it please? There are quite a few conflicts in the docs...

At minimum if you could send me a pull request with details of the brew formula for OS X that would be great!

@ncw

This comment has been minimized.

Copy link
Collaborator

commented Dec 10, 2017

I'm going to close this now since I haven't heard from you. I also think rclone is quite well packaged externally now by the linux distros so the need for this is past.

Thanks for your contribution though.

@ncw ncw closed this Dec 10, 2017
@CorbanR

This comment has been minimized.

Copy link

commented Feb 14, 2018

@ncw I was thinking of submitting an FPM pull request with automated building / pushing to packagecloud. Would you still find this at all useful? I still think it would be nice to just add a repo and have rclone updated when I run apt update && apt upgrade etc.. but I won't submit a patch if you don't think it's useful.

@ncw

This comment has been minimized.

Copy link
Collaborator

commented Feb 25, 2018

@CorbanR - apologies for the delay in replying!

Can you explain in a bit more depth what your plan involves? Which bits need to go in the rclone repo and which don't?

As I understand it FPM would build rclone into .deb and .rpm files for me. I've been investigating nfpm for this purpose too - it would be very easy to fit in the build process.

packagecloud then makes an apt and yum repository.

I'm reluctant to take too much packaging stuff into the rclone repo as I'm not an expert and it distracts me from my primary purpose of making rclone! We did have snap packaging in the rclone repo, but I had to take it out as I couldn't get it to work properly and the originally submitter couldn't help either.

@CorbanR

This comment has been minimized.

Copy link

commented Feb 26, 2018

@ncw no worries!. I was planning on just using rake or make to pull down the binary's from the release page, package with fpm, and push to packagecloud.

ill push up a POC of what I was thinking to a separate repo and link once complete. It may make sense to keep all of this in a separate repo.

Anyway, ill post a link once i have a POC and you can decide where it should live if you think it's useful.

@petems petems deleted the petems:add_fpm_recipe branch Feb 26, 2018
@CorbanR

This comment has been minimized.

Copy link

commented Mar 20, 2018

@ncw I see you went with nfpm (which def seems to make the most sense). FWIW I added a little WIP https://github.com/CorbanR/rclone-fpm if you ended up curious.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can鈥檛 perform that action at this time.