On Wed, May 27, 2009 at 11:05:31AM +0200, Christian wrote:
I tried to define a "var" in %pre, hoping that this "var" is then known in %post.
Example: %pre if [ ${1:-0} -gt 1 ]; then # get version of previuos installed package pre_version=`rpm -q --qf "%{VERSION}" %{name}` fi
%post if [ ${1:-0} -gt 1 ]; then if [ -n $pre_version ]; then if [ "$pre_version" = "%{version}" ]; then do stuff fi fi fi
but "$pre_version" is not known in %post. I also tried "export pre_version=`.....` with no success.
You have to store the information in the filesystem. Do something like echo "${pre_version}" >/var/adm/rpm_updates_are_sometimes_a_source_of_big_pain from inside %pre and source this file later in %post to check your condition. You can't even use mktemp (1) cause there is no way to transport the given name from %pre to %post. Please ensure your knees are bullet proofed! ;) Lars -- Lars Müller [ˈlaː(r)z ˈmʏlɐ] Samba Team SUSE Linux, Maxfeldstraße 5, 90409 Nürnberg, Germany