LSB:PM:RPM Build Tool
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.
|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.
|Jeff Licquia||Project Owner|
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
|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.|
Tasks that can't be scheduled yet because they are waiting on some other task or external entity
No comments yet.