Creation Review

Type
Creation
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Proposal

Eclipse Packager

Wednesday, July 4, 2018 - 08:20 by Jens Reimann
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

From the Eclipse NeoSCADA and Eclipse Package Drone projects came a bunch of helper functionality in Java to work with RPM and APT files. Core functionality to parse and write RPM files, write DEB files, create a YUM and APT repository. This functionality ended up in Package Drone as this project is all about software artifacts.

Unfortunately I don't have the time anymore to maintain the Package Drone project. However maintaining a simpler project with a focus on the RPM and Deb functionality would work. Also it has been problematic to get new contributors on board as they are overwhelmed with the project structure (of Package Drone) which is way different than a simple Maven project.

This leads me to the idea of creating a dedicated Eclipse project with the sole scope of working with RPM and DEB files. Offering the core functionality and tooling (Maven plugin) and offering a simple project structure and release process aside from Package Drone and NeoSCADA.

Scope

The scope of the project is:

  • Reading and writing of software package formats for Linux-ish distributions (RPM, DEB)
  • Providing tools around that core functionality (Maven plugin, Gradle plugin, …)
Description

The project offers a set of core functionality to work with RPM and Debian package files in plain Java. This functionality is offered in simple JAR variant to create your own solutions, or in ready-to-run tools like an Apache Maven plugin.

Why Here?

The core functionality was born from Eclipse projects and so it makes sense to me to give this functionality a dedicated project at Eclipse. As a growing number of contributors start proposing PRs, reporting issues and making suggestions I would like to continue using the governance of the Eclipse Foundation in order to provide a neutral place for all contributors.

Future Work

The main reason to put this functionality in a dedicated project is to give new contributors an easy entry. There is currently interest to add a Gradle plugin in addition the the Maven plugin. Add more features from RPM (like additional payload codes, header flags, …).

Project Scheduling

As this is a working set of features and little effort is required to perform a new build. It is expected that an initial release at the Eclipse Foundation can be made as soon as the project is created and the IP review has been done of the initial contribution. My expectection would be that there is something ready around September.

Project Leads
Committers
Mentors
Initial Contribution

The initial contribution partly comes from an existing Eclipse project (the core functionality) and part from an existing, personal GitHub repository (Maven plugin). The Maven plugin has a small community of contributors.

The Maven Plugin has dependencies on core Maven libraries. Other than that there are dependencies on:

  • Apache Commons Compress
  • Tukani XZ
  • Guava
  • Bouncycastle
  • Apache Commons Codec
Source Repository Type