LSB:PM:RPM Build Tool

From The Linux Foundation
Jump to: navigation, search

Weekly Executive Summary

This project has not been started yet.


Part of the problem with LSB RPM uptake is the difficulty in building RPMs. Some of this is our fault (see LSB:PM:LSB RPM Uplift), but for some of it, the process of building RPMs is just too hard. There seems to be a niche for a tool that will take a list of files and some simple package metadata, and turn that into a RPM.

It turns out that we need this tool as part of the internal process of building the LSB, and that we currently do it poorly with a set of scripts that produces a hacked-up spec. So, as part of the job of making that build process more robust, we should build this tool, and make it available for others to use.


A rough proposed schedule for this project. When we anticipate that we will reach certain milestones. Also, if the project has an absolutely-must-be-completed-by date, mention it here.

Note: milestones didn't really happen here, as once I freed up time to dig into this I just kept at it until it worked. The various items below all kind of converged when things finally started working.

Milestone Plan Date Outlook Comments
cpio -> rpm utility, with bare minimum header information. 7/24/08 Done Generated rpm passes lsbpkgchk
Utility can set all metadata we're interested in. 7/24/08 Done May identify other tags in broader testing. Should be relatively easy to add them.
Add ability to create the cpio archive from various ways of specifying file lists. 7/24/08 Done Currently requires a "pkgroot" type file/directory structure that is basically an image of what will be installed, or a prebuilt cpio archive. Bundled and LSB build of fakeroot to facilitate creating the directory on disk.


No resources have been dedicated to this project.


No hardware has been dedicated to this project.


List of people who are working on the project and their roles.

Name Role
Jeff Licquia Project Owner
Stew Benedict Engineer


Tasks will map many-to-one to milestones. Tasks are specific actionable work items that need to be completed in order to reach a milestone


Task Owner Status Outlook
Write a utility that will create a valid RPM header standalone. Stew Generated rpm passed pyrpm, rpm -Kvv, rpm -qip, rpm -qlp, and installs. Also passes lsbpkgchk. See BuildRPMHeader Done, sans more testing.
Set metadata in the RPM header. Stew All required tags are implemented (some are just hardcoded atm). Several tags are user configurable.
Tack the RPM header onto a given cpio archive properly. Stew Works with various constructed directory trees with some copied system files (cpio archive created on the fly). Created rpm is valid as far as rpm is concerned and is able to be installed/removed. Also works with an existing cpio file, gzipped or not. Done, needs broader testing
Add the ability to create the cpio archive first, instead of being handed one. Stew Turns out this is actually easier than using a prebuilt cpio archive. In the latter case, you have to unpack the archive and capture all the file information for the header_store. In the former, you already have the files to process. Done, needs broader testing.
Add all the fields we're interested in, so they are being set properly. Stew Believe these are all in. See bug 2218 for a couple tags that pkgchk complains about but are marked optional in the spec. User definable tags can be set by command line options or an xml file. Done, needs broader testing.
Write the various ways to tell the utility which files to add to the cpio archive. Stew Can currently use a standalone cpio file, or a gzipped one, or a directory tree. Done, needs broader testing.


Task Owner Status Outlook


Tasks that can't be scheduled yet because they are waiting on some other task or external entity

Task Owner Status Outlook


No comments yet.

Archived Weekly Status Reports