Opened 14 months ago

Last modified 14 months ago

#2317 assigned enhancement

Packaging for CentOS, RHEL, Fedora, etc

Reported by: villain Owned by: villain
Priority: minor Milestone: 0.9.38
Component: package/other Version: 0.9.36
Keywords: rpm Cc:
Parent Tickets: Sensitive: no

Description

For better experience of CentOS/RHEL/Fedora users, we could set up a repository. There are two options right now:

1) Run I2P's own building infrastructure and host packages on our servers. No idea how to do that, but might be a better option in the future.

2) Use free service from the RedHat?'s opensource team, COPR https://copr.fedorainfracloud.org/. COPR seems like an easier option right now, I've just set up a test repository here https://copr.fedorainfracloud.org/coprs/supervillain/I2P/. It needs is to have rpm spec file in the project source directory and to access sources with public git repo, so it works from my temp repo at github https://github.com/l-n-s/i2p.i2p/blob/master/contrib/rpm/i2p.spec.

RPM spec file is attached to the ticket.

Subtickets

Attachments (3)

i2p-0.9.37-fix-tomcat.patch (1.8 KB) - added by villain 14 months ago.
patch for version 0.9.37
i2p.spec (11.3 KB) - added by villain 13 months ago.
rpm spec file for 0.9.37-4
i2p-0.9.37-no-classpath.patch (14.2 KB) - added by villain 13 months ago.

Download all attachments as: .zip

Change History (10)

comment:1 Changed 14 months ago by zzz

You're proposing that we create and maintain an i2p redhat repo, or an RPM in somebody else's repo, as yet another official I2P release product. That would be a large and continuing burden. I can think of only two good reasons to do so: 1) we can't get into the official redhat repos; 2) as a transitional step (required step?) until we do get into the official redhat repos. In general, we rely on "downstream" maintainers for the various distributions and don't try to do it ourselves. Would you please fill us in on the process to find a redhat maintainer (or is it you?), get into official redhat repos, and what role and timeframe you see for us operating our own repo or releasing our own RPMs?

comment:2 Changed 14 months ago by villain

Some updates after our Mattermost discussion

1) The best option is to find someone in the Fedora/RedHat? community to help with the packaging.
2) COPR can be used as the Ubuntu's PPA repo, just a good starting point.
3) I'll need to update spec file for using Fedora's system libraries, if it has all the requirements in the official repo.

General info on Fedora packaging: https://fedoraproject.org/wiki/Category:Package_Maintainers

Extra packages for CentOS (it has Tor): https://fedoraproject.org/wiki/EPEL

comment:3 Changed 14 months ago by zzz

Milestone: undecided0.9.38
Owner: set to villain
Status: newassigned

Fix for with-libtomcat8-java but not with-libjetty9-java in 5ec9ebd6073229428d397259bc2810f155a3f88f to be 0.9.37-2

Changed 14 months ago by villain

Attachment: i2p-0.9.37-fix-tomcat.patch added

patch for version 0.9.37

comment:4 Changed 14 months ago by villain

Current status:

In CentOS 7 and Fedora 27, 28, 29 everything works. All system dependencies are satisfied in Fedora, except Jetty (Fedora has v9.4, but we only support v9.2).

What is left: need to revisit and comply to those guidelines https://fedoraproject.org/wiki/Packaging:Java

Last edited 14 months ago by villain (previous) (diff)

comment:5 Changed 14 months ago by zzz

Some of those guidelines might be difficult, I'll try to help where able.

comment:6 Changed 14 months ago by zzz

Added build option without-manifest-classpath in 9401cd9d535aa82b2599ace8b1caf3195d5fab26 to be 0.9.37-2

comment:7 Changed 14 months ago by zzz

More info and guidelines: https://fedora-java.github.io/howto/latest/

Of course the biggest violation is bundling Jetty 9.2.x, I presume you won't be able to get into official redhat until we support 9.4.x. You're taking the right approach by doing the easy ones first, and getting it to work. Our ticket for 9.4 is #2098. If we're lucky, the changes are minor and we could support it with a redhat-specific patch. We can't migrate everything to 9.4 until Debian has it, and even then the problem is Java 9 minimum which we're not prepared to do anytime soon. So a redhat package patch is more likely.

Changed 13 months ago by villain

Attachment: i2p.spec added

rpm spec file for 0.9.37-4

Changed 13 months ago by villain

Note: See TracTickets for help on using tickets.