Opened 4 months ago

Last modified 3 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:


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 COPR seems like an easier option right now, I've just set up a test repository here 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

RPM spec file is attached to the ticket.

Subtickets (add)

Attachments (3)

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

Download all attachments as: .zip

Change History (10)

comment:1 Changed 4 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 4 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:

Extra packages for CentOS (it has Tor):

comment:3 Changed 4 months ago by zzz

  • Milestone changed from undecided to 0.9.38
  • Owner set to villain
  • Status changed from new to assigned

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

Changed 4 months ago by villain

patch for version 0.9.37

comment:4 Changed 4 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

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

comment:5 Changed 3 months ago by zzz

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

comment:6 Changed 3 months ago by zzz

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

comment:7 Changed 3 months ago by zzz

More info and guidelines:

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 3 months ago by villain

rpm spec file for 0.9.37-4

Changed 3 months ago by villain

Note: See TracTickets for help on using tickets.