Question

i want to check the rpm i have created is install or update by user(client) like

rpm -ivh abc.rpm

or

rpm -Uvh abc.rpm

is their any %command in spec file to get info regarding this command.

my requirement is if i have a rpm named abc-0.1-2.rpm and now user want to install it prior installing abc.0.1-1.rpm with command rpm -ivh abc.0.1-2.rpm then it allow to install or user directly update rpm with command rpm -Uvh abc.0.1-2 before installing the older version then stop to doing this.

Était-ce utile?

La solution 2

Your %pre[un] and %post[un] scripts are given "a number representing the number of instances of the package currently installed on the system, after the current package has been installed or erased," so that tells you if the RPM is currently installed or not. See this section of Maximum RPM.

Autres conseils

To expand on the above:

In your %post[un] or %pre[un] sections there's a variable you can check to see if this package already exists on the system (is being updated/cleanup from upgrade) or not (first time install/final uninstall).

It looks like this:

%post
if [ $1 -eq 1 ]; then
    echo "First install complete"
else
    echo "Upgrade complete"
fi
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top