--- rpms/nextcloud/contribs9/nextcloud.spec 2018/12/21 03:49:14 1.7 +++ rpms/nextcloud/contribs9/nextcloud.spec 2019/03/07 04:32:35 1.11 @@ -1,5 +1,5 @@ %define version 15.0.0 -%define release 3 +%define release 6 %define apache_serverroot /usr/share %define apache_confdir /etc/httpd/conf.d @@ -47,6 +47,7 @@ Requires: php71-php-ldap Requires: php71-php-mysqlnd #rh-php71-php-pdo_mysql +# Conflicts: nextcloud < 15 %description Nextcloud files and configuration. @@ -56,6 +57,79 @@ nc_dir: %{nc_dir} nc_data_dir: %{nc_data_dir} nc_config_dir: %{nc_config_dir} +%pre +# true if $1 is greater than or equal $2 +verlte() { + [ "$1" = "`echo -e "$1\n$2" | sort -V | head -n1`" ] +} + +verlt() { + [ "$1" = "$2" ] && return 1 || verlte $1 $2 +} +# if there is already an installed version +if [ -f /usr/share/nextcloud/version.php ] +then + echo "version.php found, already installed" + # get version number + installedver=`php -r 'require("/usr/share/nextcloud/version.php"); print "$OC_VersionString";'`; + majvers=`echo %{version} | cut -d. -f1` + majcurvers=`echo $installedver | cut -d. -f1` + # we should fail with exit 1 if + # installed version > rpm version + if ( verlte %{version} $installedver ) + then + echo "Installed version has $installedver been upgraded and is most recent than this rpm %{version} version" +# echo "backup current install to /usr/share/nextcloud_back" +# mkdir /usr/share/nextcloud_back +# rsync -ar /usr/share/nextcloud/ /usr/share/nextcloud_back + exit 1 + elif [ $(($majvers-1)) -gt $majcurvers ] + then # installed version < rpm version -1 + echo "can not upgrade from $installedver to %{version}, please do a manual or web update with intermediate version" +# echo "backup current install to /usr/share/nextcloud_back" +# mkdir /usr/share/nextcloud_back +# rsync -ar /usr/share/nextcloud/ /usr/share/nextcloud_back + exit 1 + fi +fi + +%postun +# true if $1 is greater than or equal $2 +verlte() { + [ "$1" = "`echo -e "$1\n$2" | sort -V | head -n1`" ] +} + +verlt() { + [ "$1" = "$2" ] && return 1 || verlte $1 $2 +} + +if [ $1 == 1 ]; then +# if there is already an installed version +if [ -f /usr/share/nextcloud/version.php ] +then +# echo "version.php found, already installed" + # get version number + installedver=`php -r 'require("/usr/share/nextcloud/version.php"); print "$OC_VersionString";'`; + majvers=`echo %{version} | cut -d. -f1` + majcurvers=`echo $installedver | cut -d. -f1` +# echo "and the version is $installedver" + # we should fail with exit 1 if + # installed version > rpm version + if ( verlte %{version} $installedver ) + then +# echo "reverting content" +# rsync -ar /usr/share/nextcloud_back/ /usr/share/nextcloud_back +# rm -rf /usr/share/nextcloud_back + exit 0 + elif [ $(($majvers-1)) -gt $majcurvers ] + then # installed version < rpm version -1 +# echo "reverting content" +# rsync -ar /usr/share/nextcloud_back/ /usr/share/nextcloud_back +# rm -rf /usr/share/nextcloud_back + exit 0 + fi +fi +fi %install rm -rf %{buildroot} @@ -105,6 +179,18 @@ cp %{SOURCE1} %{buildroot}/etc/httpd/con %changelog +* Wed Mar 06 2019 Jean-Philipe Pialasse 15.0.0-6.sme +- fix typo in postun script [SME: 10747] + +* Tue Jan 08 2019 Jean-Philipe Pialasse 15.0.0-5.sme +- remove conflicts nextcloud <15 to allow people to use the rpm update if they are + with manual updated version 14 with rpm version 13 [SME: 10696] + +* Mon Jan 07 2019 Jean-Philipe Pialasse 15.0.0-4.sme +- prevent rpm to upgrade if webupdate has been used [SME: 10670] + and rpm version is < to on disk version + or if rppm version is more than one major release greater + * Fri Dec 21 2018 Jean-Philipe Pialasse 15.0.0-3.sme - Update to release 15.0.0 [SME: 10669]