--- rpms/nextcloud/contribs9/nextcloud.spec 2018/12/20 02:56:20 1.4 +++ rpms/nextcloud/contribs9/nextcloud.spec 2019/01/08 03:56:26 1.9 @@ -1,5 +1,5 @@ -%define version 13.0.1 -%define release 5 +%define version 15.0.0 +%define release 4 %define apache_serverroot /usr/share %define apache_confdir /etc/httpd/conf.d @@ -7,8 +7,8 @@ %define nc_config_dir %{nc_dir}/config %define nc_data_dir %{nc_dir}/data -%define nc_user apache -%define nc_group apache +%define nc_user www +%define nc_group www # Turn off the brp-python-bytecompile script %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') @@ -34,6 +34,7 @@ Requires: php71-php-gd Requires: php71-php-pdo Requires: php71-php-mbstring Requires: php71-php-pecl-zip +Requires: php71-php-imagick # Recommended php packages Requires: php71-php-intl @@ -46,6 +47,7 @@ Requires: php71-php-ldap Requires: php71-php-mysqlnd #rh-php71-php-pdo_mysql +Conflicts: nextcloud < 15 %description Nextcloud files and configuration. @@ -55,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} @@ -83,6 +158,7 @@ cp %{SOURCE1} %{buildroot}/etc/httpd/con %attr(0775,%{nc_user},%{nc_group}) %{nc_data_dir} %attr(0775,%{nc_user},%{nc_group}) %{nc_config_dir} %attr(0755,%{nc_user},%{nc_group}) %{nc_dir}/lib +%attr(0755,%{nc_user},%{nc_group}) %{nc_dir}/ocm-provider %attr(0755,%{nc_user},%{nc_group}) %{nc_dir}/core %attr(0755,%{nc_user},%{nc_group}) %{nc_dir}/settings %attr(0755,%{nc_user},%{nc_group}) %{nc_dir}/3rdparty @@ -91,6 +167,7 @@ cp %{SOURCE1} %{buildroot}/etc/httpd/con %attr(0755,%{nc_user},%{nc_group}) %{nc_dir}/ocs* %attr(0755,%{nc_user},%{nc_group}) %{nc_dir}/*.php %attr(0755,%{nc_user},%{nc_group}) %{nc_dir}/AUTHORS +%attr(0755,%{nc_user},%{nc_group}) %{nc_dir}/COPYING %attr(0755,%{nc_user},%{nc_group}) %{nc_dir}/index.html %attr(0755,%{nc_user},%{nc_group}) %{nc_dir}/robots.txt %attr(0644,%{nc_user},%{nc_group}) %{nc_dir}/.htaccess @@ -102,6 +179,14 @@ cp %{SOURCE1} %{buildroot}/etc/httpd/con %changelog +* 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] + * Wed Dec 19 2018 Jean-Philipe Pialasse 13.0.1-5.sme - fix failure to update [SME: 10596] remove assets folder before 13.0.4 update