[Fedora-packaging] how to check on upgrade rpm
Jon Ciesla
limb at jcomserv.net
Thu Dec 17 13:41:35 UTC 2009
Léon Keijser wrote:
> Hi,
>
> I'm making a package of a webapp that consists mainly of php and image
> files. When installing the package for the first time, an '/install'
> directory is copied. The user accesses the webapp for the first time,
> configures it and has to remove the install directory for the webapp to
> function properly.
>
> But when doing an upgrade of the package it's not supposed to install
> the 'install' directory again, as the webapp will recognize the presence
> of the directory and fails to function afterwards.
>
> There are a number of ways on how to approach this, but what is the best
> method?
>
> I thought about placing these lines in the %install section:
>
> % define my_home /var/www/html/packagename
> if ! [ -d %{my_home} ]; then
> install -m 755 -d $RPM_BUILD_ROOT%{my_home}/install
> %define fresh_install 1
> fi
>
> Then in the %files section:
>
> %if %{fresh_install}
> %dir %{my_home}/install
> %endif
>
>
> But that doesn't seem to work.
>
>
Check this out:
http://docs.fedoraproject.org/drafts/rpm-guide-en/ch09s04.html#id2972291
You can create a script to test if it's an upgrade and if it is, remove
the install. Such as:
%post
if [ "$1" = 2 ]; then
rm -rf /path/to/install/thingy
fi
exit 0
And then maybe in $files
%ghost /path/to/install/thingy
But I'm not sure about the last part. No coffee yet.
-J
--
in your fear, seek only peace
in your fear, seek only love
-d. bowie
More information about the Fedora-packaging
mailing list