Repackaging the RES Automation Manager Agent from Red Hat to Ubuntu

March 2012


Table of Contents

Introduction
The RPM Package
First Steps in Repackaging
A better package
Package Creation and Use

This article is a simple yet nontrivial example of (re)packaging binaries for which no source is available. It shows how to work around unmatched library versions[3], a simple start/stop script for a daemon, and the use of debconf. It results in a working package for Ubuntu Precise, with a working daemon.

Building a package from the source code would still be better: no unnecessary libraries, fewer workarounds. But without the source, this is as good as it gets.

What we package is the RES Automation Manager daemon. It is likely to be used for our next default Windows installation. And we want to integrate the management of our Linux installations with those of Windows, as tightly as possible. Unfortunately, the RES client agent is only available for Red Hat and SuSE, and we happen to use Ubuntu.

But on the bright side, the RES AM packages for Red Hat are elegant. Much simpler than e.g. shown in . I have good hopes that this RES daemon does one thing, and does it well.



[3] The library in case is a particularly ironic example: shlibdeps analysis reveals that none of the library's symbols are used in the daemon. Which is to say: the daemon probably shouldn't have been linked against the library in the first place.