directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ole Ersoy (JIRA)" <>
Subject [jira] Commented: (DIRSERVER-920) Build RPM as non-root user
Date Fri, 01 Jun 2007 05:41:15 GMT


Ole Ersoy commented on DIRSERVER-920:

Cool - I'll just put in some background here,
and if you see any pieces that you think
might be useful, we can drill in.

The end game I'm targeting for the 
RPM Factory is to be able to produce a 
simple RPM installer just listing dependencies,
which are 1:1 correspondences with the Maven
dependencies of the server.  When yum runs
the install the server RPM installer will just 
install the core server files (README, etc.)
and yum will pull all the dependencies, and install
them in /usr/lib/java (I think that's the FHS directory - been
a while).  The classes that the server needs are then
loaded from /usr/lib/java/ and all java based products
would share this library location.  So if the RPM Factory
were plugged into the ApacheDS build, the only installer
built would be the minimal installer.  The this RPM would 
be deployed / mirrored to yum repositories, also containing
all the dependencies.  Then the user just types "yum install apacheds"
and yum will pull the latest RPM.

This is an Eclipse Documentation
Plugin that can be dropped in to the 
Eclipse Plugins folder.  The RPM Factory Guide
is then viewable in Eclipse Help.

The Spec Template is a JET template
(EMF Project).  I need to add another
one for the server install spec.  The RPM Factory
mojo then creates a list of all the jar artifacts in the 
maven repository, generates a spec for each one
by using the POM as the model instance / spec parameter
source, and then creates the
RPM, and stores it inside a RPM Factory Maven
project created by the Archetype that comes with
the RPM Factory. 

The RPM Factory currently will
produce RPMs out of maven jar artifacts
whose pom is compliant with the maven pom
xsd version 4.0.0.  So if it is run on the entire
maven repository, it will bark eventually when it bumps into
a pom.xml that has missing or invalid elements.  I still need to do the part
code the template that produces the server install RPM.

First I was just planning to build a Maven Mojo
customized for the JPackage Project's needs.
So I studied several of their RPMs, FHS layout
concepts, etc.  Then I discovered the "Version"
policy they had, and dropped the JPackage
approach.  I personally need all my Java Servers
package the same way (ApacheDS, James, Tomcat, etc.).
So I decided to write a "RPM Factory" that takes the 
maven repository and produces RPMs out of it.
This way there is an RPM equivalent of the Maven 
repository, allowing the Maven Dependency graph
to mirror the RPM Installer dependency graph.
When Maven is building the project all the jar
dependencies are in the Maven repository.  
When the RPMs are installed, all the jars are in

> Build RPM as non-root user
> --------------------------
>                 Key: DIRSERVER-920
>                 URL:
>             Project: Directory ApacheDS
>          Issue Type: Improvement
>          Components: installer-plugin
>    Affects Versions: 1.5.0
>            Reporter: Chris Custine
>            Assignee: Chris Custine
>            Priority: Minor
> The current RPM build setup uses default settings and requires root access.  There are
ways around this but they require the user to edit some rc files in their home directory.
 If the user is a non-root user we could display a warning message showing the settings they
need and attempt the rpmbuild command.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message