soup nazi
2008-02-12 01:10:46 UTC
I have a commercial software package that I have to
make into an RPM. What I have to package up basically
consists of a license file, a response file, a couple
of maintenance updates, and a binary installer that
takes a number of command line flags.
What I would like is for the RPM to unpack all these
files and run an installation script that kicks off
the binary installer with all of its command line
flags. (There is also an uninstaller that I'd like to
invoke using rpm -e.)
Instead what happens is when I run the rpmbuild
spec-file command, the software package gets installed
locally (via the vendor setup). The newly-built RPM
then contains all of the files that were installed,
and installing that RPM on another system does not
invoke the vendor installer.
The problem is that the software needs to get
installed via the installer, and not just have the
package exploded onto the system tarball-style, which
is what I have now. There are client-specific keys
that are generated at install time that need to be
unique, for one.
How can I do this with an RPM?
My spec file looks roughly like this:
Summary: ESM
Name: esm
Version: 65
Release: 0
Group: ABC
Copyright: Yes
Packager: Me
Source: rh-as40-ESM-65-24.tar.gz
%description
This is ESM version 6.5
%prep
%setup
%install
#setup a bunch of vars - snipped for brevity
./esmsetup -a -p 1,2,3,4,5,6,7,8,9,10,11,12,13,14 -d
/opt/esm -t /usr/src/redhat/BUILD/esm-65/esm.tgz -M
$ES
MSRVR -O 5600 -U $ACCESSNAME -W $PASSWORD -N $FQDN >>
$LOG_FILE 2>&1
./esm_lnx-x86.tpk >> $LOG_FILE 2>&1 <$ABTTMP/esm.stdin
./esmsetup >>$LOG_FILE 2>&1 <$ABTTMP/esm.stdin.update
%post
%files
/opt/esm
/etc/rc.d/rc3.d/S69esmrc
/etc/rc.d/init.d/esmrc
/etc/rc.d/rc5.d/S69esmrc
____________________________________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping
make into an RPM. What I have to package up basically
consists of a license file, a response file, a couple
of maintenance updates, and a binary installer that
takes a number of command line flags.
What I would like is for the RPM to unpack all these
files and run an installation script that kicks off
the binary installer with all of its command line
flags. (There is also an uninstaller that I'd like to
invoke using rpm -e.)
Instead what happens is when I run the rpmbuild
spec-file command, the software package gets installed
locally (via the vendor setup). The newly-built RPM
then contains all of the files that were installed,
and installing that RPM on another system does not
invoke the vendor installer.
The problem is that the software needs to get
installed via the installer, and not just have the
package exploded onto the system tarball-style, which
is what I have now. There are client-specific keys
that are generated at install time that need to be
unique, for one.
How can I do this with an RPM?
My spec file looks roughly like this:
Summary: ESM
Name: esm
Version: 65
Release: 0
Group: ABC
Copyright: Yes
Packager: Me
Source: rh-as40-ESM-65-24.tar.gz
%description
This is ESM version 6.5
%prep
%setup
%install
#setup a bunch of vars - snipped for brevity
./esmsetup -a -p 1,2,3,4,5,6,7,8,9,10,11,12,13,14 -d
/opt/esm -t /usr/src/redhat/BUILD/esm-65/esm.tgz -M
$ES
MSRVR -O 5600 -U $ACCESSNAME -W $PASSWORD -N $FQDN >>
$LOG_FILE 2>&1
./esm_lnx-x86.tpk >> $LOG_FILE 2>&1 <$ABTTMP/esm.stdin
./esmsetup >>$LOG_FILE 2>&1 <$ABTTMP/esm.stdin.update
%post
%files
/opt/esm
/etc/rc.d/rc3.d/S69esmrc
/etc/rc.d/init.d/esmrc
/etc/rc.d/rc5.d/S69esmrc
____________________________________________________________________________________
Looking for last minute shopping deals?
Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping