Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

The situation is this - I have a small CentOS 5 "cluster" (currently 7 machines, but potential for more) which run a commercially available software package that's distributed essentially in tarball format (it's actually a zip file with a mixture of Windows/Linux binaries and an installation shell script with no potential for automation).

I'd like to re-package this somehow into an RPM package (ideally that I can throw onto a self-hosted yum repository) in order to keep these "cluster" machines both up to date and consistent. I could do 7 manual installations, but there's scope for error. As I understand it, I'll need to accomplish the following tasks:

  • add a non-privileged user to the target system for running the daemon without unnecessary root privileges
  • package the binary files themselves up from the final installation location on a separate build machine (probably under /opt/package for sanity's sake). No source is available.
  • add a firewall hole in order for the end-users to be able to communicate with the "cluster" nodes
  • add a cron task which can start the daemon on @reboot

I'm coming up with plenty of good packaging resources so far, but all are based on the traditional method (i.e. if I were the vendor packaging up my source files), rather than re-packaging a ton of binary files from an already-installed instance of the application, which is the only option available to me. Anyone have any good resources they can share for achieving this goal? Thanks!

share|improve this question

1 Answer 1

up vote 0 down vote accepted

Just skip the %build stage in your RPM spec file, and copy the vendor's binaries to their correct locations in the buildroot in the %install stage. Add your cron jobs and users in %post and remove them in %preun (if it's not an upgrade; the docs you've already read should cover this case).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.