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

[Info] Packaging for Fedora (rpm) #49

Open
dreua opened this issue Jul 21, 2018 · 6 comments
Open

[Info] Packaging for Fedora (rpm) #49

dreua opened this issue Jul 21, 2018 · 6 comments

Comments

@dreua
Copy link
Member

dreua commented Jul 21, 2018

I built a cnping package for Fedora, check it out here:
https://copr.fedorainfracloud.org/coprs/dreua/cnping/
In case someone is interested, here is the specfile:
https://copr-be.cloud.fedoraproject.org/results/dreua/cnping/fedora-28-x86_64/00789810-cnping/cnping.spec

@cnlohr
Copy link
Member

cnlohr commented Jul 22, 2018

Does that mean it may become part of the distro? I.e. available by yum install?

@dreua
Copy link
Member Author

dreua commented Jul 23, 2018

Yes, it may become part of the main repository eventually, that depends on whether I find a sponsor and manage to get this reviewed. But I have to learn more about the packaging process and fix some minor issues first.
Copr for Fedora is like AUR on Arch or PPA on Ubuntu/Debian, you can already easily install the package by: dnf copr enable dreua/cnping to enable the copr as a package source and dnf install cnping. (dnf is the new yum.) It will also update like a real package.
When enabling the copr you will of course get a warning that this "is not part of the main distribution, and quality may vary."

@cnlohr
Copy link
Member

cnlohr commented Jul 23, 2018

Understood. Hmm, I would love to see what it would take to make this part of an actual distro. Who knows, maybe someday even Debian!

@dreua
Copy link
Member Author

dreua commented Jul 24, 2018

You mean you'd like to see a todo list? Here you go:

Todos for anyone via pull request:

  • Include the whole license text(s) in the license file

Todos for someone with write access to this repo (I think thats only @cnlohr ):

  • Make releases. (Simple git tags would be fine. The versioning scheme is important for the package manager to figure out which of two packages is older/newer. Using the date and git hashes is possible but somewhat messy imo.)
  • Release source bundles without binaries. Github already creates source bundles for each commit and tag for us but it should not include binaries, i.e. cnping.exe. The exe might find it's new home on the release page. It could be automatically built and uploaded there by Travis-CI, see Building .exe with Travis CI #32

Todos especially for the packager (me):

  • Rebuild latest version with latest spec.
  • Check that the build system's compiler flags are respected.
  • Find out if we need a .desktop file.
  • Build and test builds with rpmlint and fedora-review
  • Introduce in the Fedora-Dev mailinglist.
  • Create and monitor review request bug
  • Help reviewing other requests
  • Get sponsored
  • To be continued...

For Bonus Points:

  • Write and include a man page

@cnlohr
Copy link
Member

cnlohr commented Jul 25, 2018

I take it that means you want me to go for all of the first 4. Also, heck, if we're going for it, might as well spend the extra couple hours adding IPv6 support...

@dreua
Copy link
Member Author

dreua commented Jul 25, 2018

No, actually I just wrote down the todos to get them out of my head and did't think about assigning them to anyone. I edited the list to what seems reasonable to me. Maybe I can do PRs for the first two in the next days but you can also do it yourself of course ;)
About IPv6: We can always update the package later when it's ready, so there is no real need to do this now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants