On Wednesday 04 February 2004 09:06, Avrahami David wrote:
> Actually I need the feature(interactive RPM) for installing our application
> kit on our production machines(Redhat based).
> Right now it's done by regular shell script so I was thinking that RPM may
> be a adequate tool for wrapping those shell scripts.
> I just wanted to get the RPM advantages but as I understand it's not built
> for such usage.

Mechanically wrapping the scripts with RPM (if it was possible), won't
give you the real advantages of RPM (or any equivalent packaging system).

Some important factors about packaging (for production) are:
  - Repeatability (interactive medling interferes with that).
  - Automation (so you don't make the same installation mistake twice).
  - Ability to verify (as mentioned by Tzafrir -- rpm -V is your friend).
  - Prerequisit/conflict prevention.

There are many software packages on normal Linux system that need per-site
or per-machine config -- so your situation is not special. You can look
how other packages handles this and learn from good/bad examples.
Examples: sendmail, mysql, postgresql, openldap etc.

IMO you should:
  - Factor out the constants in your installation into normal RPM (no big
    scripts).
  - Do as little as possible in pre/post install scripts (e.g: ldconfig).
  - If you have a lot of installs sharing *some* config data (e.g: a site
    install of 50-500 machines). Than create a separate RPM just for this
    data (make it dependent on the main RPM of course).
  - If there are still per-install specific data, factor this into small
    scripts run later (by one of the techniques mentioned by others).

-- 
Oron Peled                             Voice/Fax: +972-4-8228492
[EMAIL PROTECTED]                  http://www.actcom.co.il/~oron

We don't do windows...


=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to