Table of Contents
What is pkgmake?
pkgmake creates RPM .spec files and builds *.rpm/*.deb packages
What? Could you explain a bit more?
Sure: 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 .spec file
- run rpmbuild or debbuild
pkgmake was written to automate these steps. What it basically does, is:
- It makes the copy (see the -d command line switch)
- It cleans up that copy
- It makes the tarball, and…
- …places it in the SOURCES/ directory
- It generates the needed .spec file out of a given template (see -t switch) 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.
Is there more information available?
Yes, it is: