FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > RPM Package Manager

 
 
LinkBack Thread Tools
 
Old 02-12-2008, 12:10 AM
soup nazi
 
Default Making an RPM out of a commercial package

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

_______________________________________________
Rpm-list mailing list
Rpm-list@redhat.com
https://www.redhat.com/mailman/listinfo/rpm-list
 
Old 02-12-2008, 12:40 AM
Robert Heller
 
Default Making an RPM out of a commercial package

At Mon, 11 Feb 2008 17:10:46 -0800 (PST) RPM Package Manager <rpm-list@redhat.com> wrote:

>
> 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?

I'm no RPM expert, but what it sounds like is that you don't want to
actually run the vendor installer in the %install section. Instead, you
want to 'install' the installer itself (along with the other 'static'
stuff like the license file) in some place like ${DESTDIR}/usr/share/<package>
and then actually run the installer from the %post script. Or something
like that. I think there is a place for a script to run when
uninstalling, where you would run the uninstaller (and you'd need to
install the uninstaller someplace special as well and make sure that it
is not removed before the rpm -e script is run).
>
> 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
>
> _______________________________________________
> Rpm-list mailing list
> Rpm-list@redhat.com
> https://www.redhat.com/mailman/listinfo/rpm-list
>
>

--
Robert Heller -- Get the Deepwoods Software FireFox Toolbar!
Deepwoods Software -- Linux Installation and Administration
http://www.deepsoft.com/ -- Web Hosting, with CGI and Database
heller@deepsoft.com -- Contract Programming: C/C++, Tcl/Tk


_______________________________________________
Rpm-list mailing list
Rpm-list@redhat.com
https://www.redhat.com/mailman/listinfo/rpm-list
 
Old 02-13-2008, 09:29 PM
devzero2000
 
Default Making an RPM out of a commercial package

I have made the packaging of products commercial* like WebSphere (init, config and the like) on RHEL4 and Tivoli end-point. For their licences the source rpm it is of type nosrc and I have disabled the binary stripping of the binary - mostly java of course - and the production of rpm debug. If it interests to you I can post the spec of the tivoli end-point. Tell me. I advice you that most of this product have required a bit of work, but non problem: websphere* (26000 files* around)* works also within a selinux* apache* - via the websphere plugin, also an rpm of course.


Cheer


On Feb 12, 2008 2:10 AM, soup nazi <freetoroam7@yahoo.com> wrote:

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


_______________________________________________
Rpm-list mailing list
Rpm-list@redhat.com
https://www.redhat.com/mailman/listinfo/rpm-list



_______________________________________________
Rpm-list mailing list
Rpm-list@redhat.com
https://www.redhat.com/mailman/listinfo/rpm-list
 

Thread Tools




All times are GMT. The time now is 04:18 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org