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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bounty: Fix BOINC Linux Packaging #1

Closed
makeasnek opened this issue Apr 10, 2023 · 17 comments · Fixed by BOINC/boinc#5264 or BOINC/boinc#5280
Closed

Bounty: Fix BOINC Linux Packaging #1

makeasnek opened this issue Apr 10, 2023 · 17 comments · Fixed by BOINC/boinc#5264 or BOINC/boinc#5280
Labels
BOINC In Progress Bounties which somebody is working on

Comments

@makeasnek
Copy link
Contributor

makeasnek commented Apr 10, 2023

Edit: Bounty is in progress and currently closed to applicants. You are welcome to comment below as a potential future applicant in case the current developer is unable to complete the work required to claim the bounty.

Context: BOINC's Linux packages have been broken for many months, preventing Linux users from being able to install BOINC on their machines. This applies to both the .deb packages and .rpm packages. The current BOINC developers do not have experience with packaging and it would be best if their efforts continued to be applied to BOINC development itself. Relevant Github issue: BOINC/boinc#5124

Setting up a packaging pipeline should be fairly straightforward for somebody who has experience with this.

Requirements to claim bounty:

  • Have experience setting up DEB or RPM packaging and ability to demonstrate such experience exists (such as a link to a repo you currently maintain)
  • Setup a pipeline to automate production of .deb and .rpm installers from the BOINC github. This should use Github actions or similar to automatically, upon production of a new release:
    • Produce a new .deb package
    • Product a new .rpm package
    • Automatically push the .deb package into a PPA. This PPA should be created in such a way that it can be maintained by BOINC devs in the future.

Contribute to this Bounty
You can contribute to this bounty by donating via BountySource. You can also donate to the SCI's BOINC development fund if you would like a tax deduction for your donation. The higher the bounty, the more likely a developer will come along to claim it!

Bounty amount: $1000 USD + whatever is on BountySource

Payment will be made through PayPal or DAI directly from the SCI upon completion of the work ($990). BountySource at time of writing has $10 on the bounty for a total of $1000. You will also get the satisfaction of knowing you are helping a software and ecosystem which supports the progress of science.

Claiming bounty

If you have the skills necessary to accomplish this, please comment below and a developer will reach out to you. You will work with the dev to develop and implement a packaging pipeline. This issue will be updated to reflect when a candidate developer has been found. The bounty will be paid out once you have completed setting up the pipeline and the dev has signed off on it. BountySource bounty will paid under the BountySource terms (if bounty payers vote that your change fixes the issue). You will also need to provide us with the requisite paperwork normally completed for contractors for US companies (1099-MISC).

About SCI
The SCI is a US 501(c)(3) non-profit organization dedicated to rebuilding the bridge of participation and trust between the public and the scientific process. We support tools and infrastructure that enable people to learn about and engage with science. Follow our work via our free newsletter on substack.

Draft announcement
Subject: BOINC needs help setting up a deb/rpm packaging pipeline. $1000 Bounty available!

Body: BOINC (the Berkeley Open Infrastructure for Network Computing) is a software tool which enables scientific researchers to use the computers of volunteers to process data for them. BOINC's Linux packages have been broken for many months, preventing Linux users from being able to install BOINC on their machines. This applies to both the .deb packages and .rpm packages. The current BOINC developers do not have much experience with packaging and it would be best if their efforts continued to be applied to BOINC development itself.

For this reason, the Science Commons Initiative has announced a bounty currently at $1000 USD and requests assistance from anybody with experience setting up package publishing pipelines from Github to deb and rpm. If you have this experience and would like to help out, please see the bounty at LINK. This bounty is made in cooperation with BOINC developers who will be the final reviewers of your work.

For more information, or to contribute to this bounty, please see the GitHub issue here:
#1

@parvit
Copy link

parvit commented Apr 13, 2023

@makeasnek The text says $1000 bounty available but on the site its only 10, is it a typo?

I would be interested if so.

EDIT: I missed the Bounty amount: $1000 USD + whatever is on BountySource

@makeasnek
Copy link
Contributor Author

@parvit excellent do you have experience setting up deb and rpm packaging? I can have a dev reach out to you what is a good e-mail address?

@parvit
Copy link

parvit commented Apr 13, 2023

@makeasnek i've used CPack in the past to setup tarball distributions and i know deb/rpm packaging is supported (i would not shy away from doing the steps explicitly with a Makefile if needed), on the other hand i'm already proficient with github actions.

@makeasnek
Copy link
Contributor Author

@parvit Excellent a dev will be reaching out to you shortly

@AenBleidd
Copy link

@parvit, thank you for your interest in this.

I have several questions to you:

  1. I have no experience with CPack, but quick search gave me some information that this tool is used exclusively with CMake. Currently BOINC can't be built with CMake (yes, we have some limited support of CMake, but mainly for the libboinc, while in this particular Bounty we would like to package BOINC client and BOINC Manager that could be built on linux with Autotools only).
  2. Building DEB and RPM on GitHub Actions is not enough, these packages should be also published to the PPA for DEB based OSs and whatever it's called for RPM based OSs. And this should be available for support by the BOINC Team afterwards. Do you have experience with that?

Thank you in advance.

@parvit
Copy link

parvit commented Apr 13, 2023

Hi @AenBleidd, to answer you:

  1. It is possible to use CPack without having to build with CMake, but as i've said in my comment we could also create/integrate with Makefiles for the various packaging solutions if you prefer.

  2. I have not been the mantainer of a project with public PPAs or RPM repos, but i'd be happy to delve into it and set it up for the task.

If you are ok with me working on this, i would like to know specifically for which platforms the packaging should be available.

@AenBleidd
Copy link

@parvit,

  1. I don't have any preference in the tool(s) to be used. My main criteria is to make as simple solution as possible and integrate it into current build flow as easy as possible.
  2. Speaking about platforms, I don't know if that's possible but: I'd like to have a generalized PPA for any DEB based OSs (main target of course is Ubuntu itself (all versions that are currently supported by Canonical)) and a generalized PPA for any RPM based OSs (I don't have any particular preference here since I had experience with OpenSUSE only ~ 9 years ago).

The main requirement here is to give ownership over these PPAs (or whatever they called) to BOINC team to be able to support it further and publish software updated when needed.

@parvit
Copy link

parvit commented Apr 17, 2023

@parvit,

  1. I don't have any preference in the tool(s) to be used. My main criteria is to make as simple solution as possible and integrate it into current build flow as easy as possible.
  2. Speaking about platforms, I don't know if that's possible but: I'd like to have a generalized PPA for any DEB based OSs (main target of course is Ubuntu itself (all versions that are currently supported by Canonical)) and a generalized PPA for any RPM based OSs (I don't have any particular preference here since I had experience with OpenSUSE only ~ 9 years ago).

The main requirement here is to give ownership over these PPAs (or whatever they called) to BOINC team to be able to support it further and publish software updated when needed.

Ok, would it be acceptable to build initially the repos for the Fedora and Ubuntu current releases, then expanding as necessary?

Regards,

@makeasnek
Copy link
Contributor Author

@AenBleidd is @parvit set to get started on this or do you want to review additional applicants?

@parvit
Copy link

parvit commented Apr 23, 2023

@makeasnek @AenBleidd can i begin work on this?

@makeasnek
Copy link
Contributor Author

@parvit that is up to @AenBleidd, our job is just to send the funds when the bounty is completed :). As of right now, this bounty is still open to applicants until they decide you are chosen to complete it.

@parvit
Copy link

parvit commented Apr 24, 2023

@makeasnek of course, let me know when the decision is made.

@AenBleidd
Copy link

@parvit, sorry for the late reply.

I'm ok to work with you on this bounty.
I believe, before you start working on it, it would be great to discuss and plan your further steps.
If that's ok to you, please join our Discord server https://discord.gg/6zjPkrYu and write me a DM.

Thank you in advance.
Looking forward to talk to you.

@makeasnek makeasnek added the In Progress Bounties which somebody is working on label Apr 25, 2023
@makeasnek
Copy link
Contributor Author

@parvit is progress being made on this? This is a fairly urgent issue.

@parvit
Copy link

parvit commented May 16, 2023

@makeasnek Yes i'm in contact with @AenBleidd and we're working on the deb package.

@parvit
Copy link

parvit commented Jun 10, 2023

Created PR BOINC/boinc#5264

@makeasnek
Copy link
Contributor Author

Bounty paid out today

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BOINC In Progress Bounties which somebody is working on
Projects
None yet
3 participants