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

No package in Fedora repositories #225

Closed
souryogurt opened this issue May 11, 2020 · 18 comments
Closed

No package in Fedora repositories #225

souryogurt opened this issue May 11, 2020 · 18 comments
Labels

Comments

@souryogurt
Copy link
Contributor

It would be great if such an awesome framework will be available from Fedora's repositories! :)

Steps to reproduce

  1. Install Cgreen for development sudo dnf install cgreen-devel cgreen-runner

Actual Result

No match for argument: cgreen-devel
Error: Unable to find a match: cgreen-devel

Expected result

The dnf installs Cgreen library itself, development files and cgreen-runner.

@souryogurt
Copy link
Contributor Author

souryogurt commented May 11, 2020

Hello there! :) My name is Egor, and I just C enthusiast and using Fedora and Cgreen at home for pet projects.
I am going to pack and maintain the Cgreen package for Fedora Linux.
It seems to build and pack Cgreen 1.2.0 on all primary Fedora's architectures these issues should be resolved:

For the first RPM release, I'll use cgreen v1.2.0 as available on the release page of this repository with patches applied for listed issues.

I'll update you on the status of package submission in this issue.

@thoni56
Copy link
Contributor

thoni56 commented May 11, 2020

Hi Egor! And thank you for volouteering! That is much appreciated.

I suggest that we make a new 1.3.0 release that contains the mentioned, and any other fixes that you might find, too make that work easier.

Please go ahead with any further tests so we can discover any outstanding issues. Then I’ll make a new release.

@souryogurt
Copy link
Contributor Author

souryogurt commented May 11, 2020

I guess making a new 1.3.0 release before passing the review process for a package according to maintainer's guidelines will not be anyhow easier anyway because it is the first time submission. You already accept almost all patches for issues mentioned above, so patches shipped with RPM are the same as in the master branch.
There is only one patch left that not merged - #224. It is a patch that fixes a small issue in the test that assumes that the test is always compiled with char type defined as signed, that not the case for ARM architectures.

Since there is a review process in Fedora's community that might take time for the first time RPM submission, it would be great to get feedback earlier and prepare any suggestions or patches by me for you(if there are any) before the 1.3.0 version.

So, probably, for easing the submission of the first version of the RPM package, it would be better:

  1. to submit a current latest stable release with patches
  2. get the feedback and approval from the review process
  3. and then just update the RPM package using a new 1.3.0 version of the source tarball when you deem to release it.

So actually the are no blockers to submit RPM to fedora right now.

But if you want, or feel that 1.2.0 version is not what should go public, I can wait for v1.3.0 release and submit the package only after that. It is no problem. What would you prefer?

@thoni56
Copy link
Contributor

thoni56 commented May 11, 2020

Good point, showing that there are people working on it. Then please, go ahead.

For issue #224 the patch obviously fixes the problem, I'm just pondering if it is the correct solution. It might point to a deeper issue about "bytes"... I'll get back to you on that shortly.

@thoni56
Copy link
Contributor

thoni56 commented Jun 1, 2020

Should we create a repo for Fedora-packaging, as we did for Debian in #208 ? Is there a difference except for procedures?

@souryogurt
Copy link
Contributor Author

@thoni56 RPM's spec files are hosted and maintained on Fedora's https://src.fedoraproject.org/ server after approvement. So it is not required to maintain this repo in cgreen-devs's repo.
But I can upload them to cgreen-devs's repo if you need these files.

Actually I already uploaded them temporarily to this repo to give access for spec file for reviewers during spec review.

@thoni56
Copy link
Contributor

thoni56 commented Jun 2, 2020

Right. Good. As long as there is stable repo where the files are stored so that a future maintainer can easily pick them up and continue maintenance. And I suppose we should make a link in the Readme about that when they are approved. (or maybe we should "announce" the temporary repo for now, it might take a while to approve and somebody might want to try out the RPM-packaging?)

@thoni56
Copy link
Contributor

thoni56 commented Jun 2, 2020

Just noticed that your initial comment mentioned cgreen-runner and cgreen-devel. Would cgreen-runner be the runner and the library? and cgreen-devel the required source files?

@souryogurt
Copy link
Contributor Author

souryogurt commented Jun 2, 2020

@thoni56 There are should be three packages according to Fedora's guidelines (and how it is built in the current spec file):

  • cgreen that contains versioned libcgreen.so.1.2.0 shared library;
  • cgreen-devel that contains development files: headers, cmake configuration files, compiled HTML page with a manual, and symbolic links to an actual library that is used at link time: libcgreen.so and libcgreen.so.1. In other words - the files required for developing applications using Cgreen;
  • cgreen-runner package that contains cgreen-runner and cgreen-debug executables. as well as corresponding manual pages.

The cgreen-devel and cgreen-runner packages will depend on cgreen package as required by fedora's guidelines. So, the cgreen package with the actual library will be installed automatically, when the user will install cgreen-devel or cgreen-runner.

So the end-user will usually install cgreen-devel on his work machine to develop apps with unit-tests that use Cgreen. Additionally, he also can install cgreen-runner if he wants to run tests using cgreen-runner app.

I'm not sure that this should be noticed somehow right now. It is probably better to notice this when the package will be approved, and it will come to the fedora repository. But maybe it worse to add the link to this issue in the readme, as for Debian package, just to allow other developers to track the status or contribute.

But if someone is interested in RPM for Fedora just right now, you might install it from COPR:
just:

dnf copr enable souryogurt/cgreen
dnf install cgreen-devel cgreen-runner

Probably there are already maintainers that are also packaging Cgreen for Fedora right now, then please check what already done here: https://github.com/souryogurt/cgreen-rpm

I'm a bit late with posting a package to review because we have come back to work at the office here in Russia, but I'm working on it. I'll post the link to the review request here when it is ready. But if you are (maintainers), are faster then me, then please go on :)

@souryogurt
Copy link
Contributor Author

Added review request: https://bugzilla.redhat.com/show_bug.cgi?id=1843300

@thoni56
Copy link
Contributor

thoni56 commented Jun 3, 2020

Thanks for the explanation, that sounds good. Added a link to this issue in the README.

Also thanks for the review request. Looking forward to seeing it pass ;-)

@thoni56
Copy link
Contributor

thoni56 commented Jun 3, 2020

BTW, I felt the need to create a 1.3.0 release. In one of my projects I discovered that the CgreenValueType enums clashed with potentially commonly used values, in particular DOUBLE.

I hope that does not interfere with this process. If so, we could retract the release, but I suppose the whole idea for distributions packaging strategies is to isolate development of the source/upstream software with the packages in the distribution.

@souryogurt
Copy link
Contributor Author

souryogurt commented Nov 14, 2020

I have upgraded the package to 1.3.0 in august. The package is approved already, but I am still looking for a sponsor. Fedora community has a sponsorship model for new packagers, so to submit an approved package to the Fedora repository, someone must add me to the packagers group.

Trying to contribute to other Fedora packages to get the sponsorship, and also just asked (15 November) to sponsor me on the developer's list. Hope It will happen soon :)

@souryogurt
Copy link
Contributor Author

souryogurt commented Dec 13, 2020

Finally, I was approved to Fedora's packagers, so now I can submit packages to the central Fedora repository!:) You can not even imagine how happy I am about this:)
I submitted a request to create Cgreen repo in fedora's git for the package. It will be reviewed in 24 hours by admins, and I hope such an excellent framework as Cgreen will be available from the primary Fedora's repos in a few days :)))
It is a final step.

https://pagure.io/releng/fedora-scm-requests/issue/31333

happy

@souryogurt
Copy link
Contributor Author

souryogurt commented Dec 15, 2020

Ok, the repo for spec is created in fedora's repo: https://src.fedoraproject.org/rpms/cgreen

I already build it for Fedora Rawhide, 33 and 32 releases.

Into Fedora Rawhide and all next Fedora releases, it will come tomorrow! :)

However, to submit the Cgreen and make it available for the current active Fedora 33 and Fedora 32 users, the package should pass an additional QA step.

I have created two requests for QA. Below are the URLs to track a status:
https://bodhi.fedoraproject.org/updates/FEDORA-2020-93abc90e56
https://bodhi.fedoraproject.org/updates/FEDORA-2020-7f9fd147ff

In Fedora's update policy, the package should get one 👍 like from testers or just wait 7 days before it will be automatically marked as stable by the system. When it becomes marked as stable, the system will push it to current Fedora users next Tuesday.

So I guess we need to wait around 14 days, and anyone will be able to install Cgreen not only in Rawhide but also in Fedora 33 and Fedora 32! :)

@thoni56
Copy link
Contributor

thoni56 commented Dec 15, 2020

Good news! Thank you for taking a lead on this!

@souryogurt
Copy link
Contributor Author

The Cgreen has reached Fedora 32, 33, and Rawhide repositories! So I guess this issue can be closed.

@thoni56
Copy link
Contributor

thoni56 commented Dec 24, 2020

Yes it can! Thank you, Egor (@souryogurt), for your efforts! And Merry Christmas!

@thoni56 thoni56 closed this as completed Dec 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants