As a software developer, you sometimes want to release a new version of your product. For most of my programs, the steps for this process are quite identical:
- Make a copy of the source tree, e.g.
cp -pr /usr/src/prog /tmp/prog-0.1.2 - Cleanup the copy, e.g. remove all
CVS/*and/or.svn/*files if they exist - Make a tarball of that copy and remove the copy
- Place the tarball in the
SOURCES/directory of your build directory - Edit the
.specfile - run rpmbuild or debbuild
pkgmake was written to automate these steps. What it basically does, is:
- It makes the copy (see the
-dcommand line switch) - It cleans up that copy
- It makes the tarball, and…
- ...places it in the
SOURCES/directory - It generates the needed
.specfile out of a given template (see-tswitch) and the information passed on the command line (see general syntax) - It runs rpmbuild or debbuild, depending on your configuration
Looks like a complete automated build process? Well, almost. In most cases you
will still have to fiddle around with the %files section of the .spec file,
unless your source 100% reflects the final location of the files as seen from
the root (/) directory - in which case the __DIR__ placeholder can be used in
the .spec template file (see man pkgmake.tpl after installation.
For more details, please see the project wiki.