I’ve been working through updating a fair number of Perl Modules on an older RedHat based distribution. As I’m trying to do various things, I’ve run into a number of weird issues. Enough so, I though, I should write down the things I’ve found in a blog so I can easily find it later.

Then, I looked around, and found hundreds of blogs by folks who wrote down the bare basics of what it takes to write an RPM spec file, or only the things that THAT PERSON needed for THAT PROJECT. None of those things deal very well with real-life packaging needs.

So, here is my contribution to the countless blogs that won’t help you for your own special issue, but I found useful for mine.

Moving files into a -devel package

If a package creates files that are useful for developers, but not needed to run things, rpmbuild can be told to create both at the same time.

Name: Test
Version: 0.0.1
Requires: libgd
Summary: Test package

%description
Test package

%package devel
Summary: Dev files for Test
Requires: libgd-devel

%description devel
Dev files for Test

# Normal %prep, %build and %install

%files
/usr/local/lib/test.so

%files devel
/usr/local/include/test.h

I don’t want this in the package

Under %files one can have a line like this:

  • %exclude /path...

There can be many of these, and they can also be wildcarded.