From ca41aedeb8eef2007f9c90e8922f1c118f85df39 Mon Sep 17 00:00:00 2001 From: Evgeniy Antonyuk Date: Tue, 10 Oct 2023 18:48:27 +0500 Subject: [PATCH] Refactoring build rpm packages (#9) --- install/rpm/SPECS/build.spec | 47 ++++++------ install/rpm/SPECS/install.spec | 129 ++++++++++++++++----------------- install/rpm/SPECS/product.spec | 25 ++++--- 3 files changed, 105 insertions(+), 96 deletions(-) diff --git a/install/rpm/SPECS/build.spec b/install/rpm/SPECS/build.spec index 7a570f4cd6..fbc483855a 100644 --- a/install/rpm/SPECS/build.spec +++ b/install/rpm/SPECS/build.spec @@ -1,36 +1,39 @@ %build -bash buildtools/install/common/systemd/build.sh +cd %{_builddir}/buildtools -bash buildtools/install/common/build-frontend.sh --srcpath %{_builddir}/%{sourcename} -bash buildtools/install/common/build-backend.sh --srcpath %{_builddir}/%{sourcename} -bash buildtools/install/common/publish-backend.sh --srcpath %{_builddir}/%{sourcename} -rename -f -v "s/product([^\/]*)$/%{product}\$1/g" buildtools/install/common/* -sed -i "s/{{product}}/%{product}/g" %{_builddir}/%{sourcename}/buildtools/install/common/logrotate/product-common +bash install/common/systemd/build.sh -rm -f %{_builddir}/%{sourcename}/config/nginx/onlyoffice-login.conf +bash install/common/build-frontend.sh --srcpath %{_builddir}/client +bash install/common/build-backend.sh --srcpath %{_builddir}/server +bash install/common/publish-backend.sh --srcpath %{_builddir}/server + +rename -f -v "s/product([^\/]*)$/%{product}\$1/g" install/common/* +sed -i "s/{{product}}/%{product}/g" install/common/logrotate/product-common + +rm -f config/nginx/onlyoffice-login.conf +find config/ -type f -regex '.*\.\(test\|dev\).*' -delete if ! grep -q 'var/www/%{product}' config/nginx/*.conf; then find config/nginx/ -name "*.conf" -exec sed -i "s@\(var/www/\)@\1%{product}/@" {} +; fi -json -I -f %{_builddir}/%{sourcename}/config/appsettings.services.json -e "this.logPath=\"/var/log/onlyoffice/%{product}\"" -e "this.socket={ 'path': '../ASC.Socket.IO/' }" \ +json -I -f config/appsettings.services.json -e "this.logPath=\"/var/log/onlyoffice/%{product}\"" -e "this.socket={ 'path': '../ASC.Socket.IO/' }" \ -e "this.ssoauth={ 'path': '../ASC.SsoAuth/' }" -e "this.logLevel=\"warning\"" -e "this.core={ 'products': { 'folder': '%{buildpath}/products', 'subfolder': 'server'} }" +json -I -f config/appsettings.json -e "this.core.notify.postman=\"services\"" -e "this['debug-info'].enabled=\"false\"" -e "this.web.samesite=\"None\"" +json -I -f config/apisystem.json -e "this.core.notify.postman=\"services\"" +json -I -f %{_builddir}/publish/web/public/scripts/config.json -e "this.wrongPortalNameUrl=\"\"" -find %{_builddir}/%{sourcename}/config/ -type f -regex '.*\.\(test\|dev\).*' -delete -json -I -f %{_builddir}/%{sourcename}/config/appsettings.json -e "this.core.notify.postman=\"services\"" -e "this.Logging.LogLevel.Default=\"Warning\"" -e "this['debug-info'].enabled=\"false\"" -e "this.web.samesite=\"None\"" -json -I -f %{_builddir}/%{sourcename}/config/apisystem.json -e "this.core.notify.postman=\"services\"" -sed 's_\(minlevel=\)"[^"]*"_\1"Warn"_g' -i %{_builddir}/%{sourcename}/config/nlog.config +sed 's_\(minlevel=\)"[^"]*"_\1"Warn"_g' -i config/nlog.config +sed 's/teamlab.info/onlyoffice.com/g' -i config/autofac.consumers.json -sed 's_etc/nginx_etc/openresty_g' -i %{_builddir}/%{sourcename}/config/nginx/*.conf -sed 's/teamlab.info/onlyoffice.com/g' -i %{_builddir}/%{sourcename}/config/autofac.consumers.json -json -I -f %{_builddir}/%{sourcename}/client/public/scripts/config.json -e "this.wrongPortalNameUrl=\"\"" -sed -e 's/$router_host/127.0.0.1/g' -e 's/the_host/host/g' -e 's/the_scheme/scheme/g' -e 's_includes_/etc/openresty/includes_g' -i %{_builddir}/%{sourcename}/buildtools/install/docker/config/nginx/onlyoffice-proxy*.conf -sed -e '/.pid/d' -e '/temp_path/d' -e 's_etc/nginx_etc/openresty_g' -i %{_builddir}/%{sourcename}/buildtools/install/docker/config/nginx/templates/nginx.conf.template -sed -i "s_\(.*root\).*;_\1 \"/var/www/%{product}\";_g" -i %{_builddir}/%{sourcename}/buildtools/install/docker/config/nginx/letsencrypt.conf +sed 's_etc/nginx_etc/openresty_g' -i config/nginx/*.conf +sed -e 's/$router_host/127.0.0.1/g' -e 's/the_host/host/g' -e 's/the_scheme/scheme/g' -e 's_includes_/etc/openresty/includes_g' -i install/docker/config/nginx/onlyoffice-proxy*.conf +sed -e '/.pid/d' -e '/temp_path/d' -e 's_etc/nginx_etc/openresty_g' -i install/docker/config/nginx/templates/nginx.conf.template +sed -i "s_\(.*root\).*;_\1 \"/var/www/%{product}\";_g" -i install/docker/config/nginx/letsencrypt.conf -find %{_builddir}/%{sourcename}/publish/ \ - %{_builddir}/%{sourcename}/ASC.Migration.Runner \ +find %{_builddir}/server/publish/ \ + %{_builddir}/server/ASC.Migration.Runner \ -depth -type f -regex '.*\(dll\|dylib\|so\)$' -exec chmod 755 {} \; -find %{_builddir}/%{sourcename}/publish/ \ - %{_builddir}/%{sourcename}/ASC.Migration.Runner \ +find %{_builddir}/server/publish/ \ + %{_builddir}/server/ASC.Migration.Runner \ -depth -type f -regex '.*\(so\)$' -exec strip {} \; diff --git a/install/rpm/SPECS/install.spec b/install/rpm/SPECS/install.spec index 129d6b71a4..29304fbcc1 100644 --- a/install/rpm/SPECS/install.spec +++ b/install/rpm/SPECS/install.spec @@ -1,68 +1,67 @@ %install -rm -rf %{buildroot} -mkdir -p "%{buildroot}%{_bindir}/" -mkdir -p "%{buildroot}%{_docdir}/%{name}-%{version}-%{release}/" -mkdir -p "%{buildroot}%{_sysconfdir}/logrotate.d" -mkdir -p "%{buildroot}%{_sysconfdir}/openresty/conf.d/" -mkdir -p "%{buildroot}%{_sysconfdir}/openresty/includes/" -mkdir -p "%{buildroot}%{_sysconfdir}/onlyoffice/%{product}/.private/" -mkdir -p "%{buildroot}%{_sysconfdir}/onlyoffice/%{product}/openresty" -mkdir -p "%{buildroot}%{_var}/log/onlyoffice/%{product}/" -mkdir -p "%{buildroot}%{buildpath}/Tools/radicale/plugins/" -mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/client/" -mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/editor/" -mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/server/DocStore/" -mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/service/" -mkdir -p "%{buildroot}%{buildpath}/products/ASC.People/client/" -mkdir -p "%{buildroot}%{buildpath}/products/ASC.People/server/" -mkdir -p "%{buildroot}%{buildpath}/services/ASC.ApiSystem/" -mkdir -p "%{buildroot}%{buildpath}/services/ASC.ClearEvents/" -mkdir -p "%{buildroot}%{buildpath}/services/ASC.Data.Backup.BackgroundTasks/" -mkdir -p "%{buildroot}%{buildpath}/services/ASC.Data.Backup/" -mkdir -p "%{buildroot}%{buildpath}/services/ASC.Migration.Runner/" -mkdir -p "%{buildroot}%{buildpath}/services/ASC.Notify/" -mkdir -p "%{buildroot}%{buildpath}/services/ASC.Socket.IO/" -mkdir -p "%{buildroot}%{buildpath}/services/ASC.SsoAuth/" -mkdir -p "%{buildroot}%{buildpath}/services/ASC.Studio.Notify/" -mkdir -p "%{buildroot}%{buildpath}/services/ASC.Web.HealthChecks.UI/" -mkdir -p "%{buildroot}%{buildpath}/studio/ASC.Web.Api/" -mkdir -p "%{buildroot}%{buildpath}/studio/ASC.Web.Studio/" -mkdir -p "%{buildroot}%{buildpath}/public/" -mkdir -p "%{buildroot}%{buildpath}/client/" -mkdir -p "%{buildroot}%{buildpath}/products/ASC.Login/login/" +rm -rf %{buildroot} mkdir -p "%{buildroot}/usr/lib/systemd/system/" mkdir -p "%{buildroot}/%{_var}/www/onlyoffice/Data" -cp -rf %{_builddir}/%{sourcename}/LICENSE "%{buildroot}%{_docdir}/%{name}-%{version}-%{release}/" -cp -rf %{_builddir}/%{sourcename}/README.md "%{buildroot}%{_docdir}/%{name}-%{version}-%{release}/" -cp -rf %{_builddir}/%{sourcename}/ASC.Migration.Runner/service/* "%{buildroot}%{buildpath}/services/ASC.Migration.Runner/" -cp -rf %{_builddir}/%{sourcename}/buildtools/deploy/editor/* "%{buildroot}%{buildpath}/products/ASC.Files/editor/" -cp -rf %{_builddir}/%{sourcename}/buildtools/deploy/public/* "%{buildroot}%{buildpath}/public/" -cp -rf %{_builddir}/%{sourcename}/buildtools/deploy/client/* "%{buildroot}%{buildpath}/client/" -cp -rf %{_builddir}/%{sourcename}/buildtools/deploy/login/* "%{buildroot}%{buildpath}/products/ASC.Login/login/" -cp -rf %{_builddir}/%{sourcename}/buildtools/install/RadicalePlugins/* "%{buildroot}%{buildpath}/Tools/radicale/plugins/" -cp -rf %{_builddir}/%{sourcename}/buildtools/install/common/%{product}-configuration "%{buildroot}%{_bindir}/%{product}-configuration" -cp -rf %{_builddir}/%{sourcename}/buildtools/install/common/systemd/modules/* "%{buildroot}/usr/lib/systemd/system/" -cp -rf %{_builddir}/%{sourcename}/buildtools/install/common/logrotate/product-common "%{buildroot}%{_sysconfdir}/logrotate.d/%{product}-common" -cp -rf %{_builddir}/%{sourcename}/config/* "%{buildroot}%{_sysconfdir}/onlyoffice/%{product}/" -cp -rf %{_builddir}/%{sourcename}/config/nginx/includes/onlyoffice*.conf "%{buildroot}%{_sysconfdir}/openresty/includes/" -cp -rf %{_builddir}/%{sourcename}/config/nginx/onlyoffice*.conf "%{buildroot}%{_sysconfdir}/openresty/conf.d/" -cp -rf %{_builddir}/%{sourcename}/products/ASC.Files/Server/DocStore/* "%{buildroot}%{buildpath}/products/ASC.Files/server/DocStore/" -cp -rf %{_builddir}/%{sourcename}/publish/products/ASC.Files/server/* "%{buildroot}%{buildpath}/products/ASC.Files/server/" -cp -rf %{_builddir}/%{sourcename}/publish/products/ASC.People/server/* "%{buildroot}%{buildpath}/products/ASC.People/server/" -cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.ApiSystem/service/* "%{buildroot}%{buildpath}/services/ASC.ApiSystem/" -cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.ClearEvents/service/* "%{buildroot}%{buildpath}/services/ASC.ClearEvents/" -cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Data.Backup.BackgroundTasks/service/* "%{buildroot}%{buildpath}/services/ASC.Data.Backup.BackgroundTasks/" -cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Data.Backup/service/* "%{buildroot}%{buildpath}/services/ASC.Data.Backup/" -cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Files.Service/service/* "%{buildroot}%{buildpath}/products/ASC.Files/service/" -cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Notify/service/* "%{buildroot}%{buildpath}/services/ASC.Notify/" -cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Socket.IO/service/* "%{buildroot}%{buildpath}/services/ASC.Socket.IO/" -cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.SsoAuth/service/* "%{buildroot}%{buildpath}/services/ASC.SsoAuth/" -cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Studio.Notify/service/* "%{buildroot}%{buildpath}/services/ASC.Studio.Notify/" -cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Web.Api/service/* "%{buildroot}%{buildpath}/studio/ASC.Web.Api/" -cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Web.HealthChecks.UI/service/* "%{buildroot}%{buildpath}/services/ASC.Web.HealthChecks.UI/" -cp -rf %{_builddir}/%{sourcename}/publish/services/ASC.Web.Studio/service/* "%{buildroot}%{buildpath}/studio/ASC.Web.Studio/" -cp -rf %{_builddir}/%{sourcename}/buildtools/install/docker/config/nginx/onlyoffice-proxy.conf "%{buildroot}%{_sysconfdir}/openresty/conf.d/onlyoffice-proxy.conf" -cp -rf %{_builddir}/%{sourcename}/buildtools/install/docker/config/nginx/onlyoffice-proxy-ssl.conf "%{buildroot}%{_sysconfdir}/openresty/conf.d/onlyoffice-proxy-ssl.conf.template" -cp -rf %{_builddir}/%{sourcename}/buildtools/install/docker/config/nginx/letsencrypt.conf "%{buildroot}%{_sysconfdir}/openresty/includes/letsencrypt.conf" -cp -rf %{_builddir}/%{sourcename}/buildtools/install/docker/config/nginx/templates/nginx.conf.template "%{buildroot}%{_sysconfdir}/onlyoffice/%{product}/openresty/nginx.conf.template" -cp -rf %{_builddir}/%{sourcename}/buildtools/install/common/%{product}-ssl-setup "%{buildroot}%{_bindir}/%{product}-ssl-setup" +mkdir -p "%{buildroot}%{buildpath}/Tools/radicale/plugins/" +mkdir -p "%{buildroot}%{buildpath}/studio/ASC.Web.Studio/" +mkdir -p "%{buildroot}%{buildpath}/studio/ASC.Web.Api/" +mkdir -p "%{buildroot}%{buildpath}/services/ASC.Web.HealthChecks.UI/" +mkdir -p "%{buildroot}%{buildpath}/services/ASC.Studio.Notify/" +mkdir -p "%{buildroot}%{buildpath}/services/ASC.SsoAuth/" +mkdir -p "%{buildroot}%{buildpath}/services/ASC.Socket.IO/" +mkdir -p "%{buildroot}%{buildpath}/services/ASC.Notify/" +mkdir -p "%{buildroot}%{buildpath}/services/ASC.Migration.Runner/" +mkdir -p "%{buildroot}%{buildpath}/services/ASC.Data.Backup/" +mkdir -p "%{buildroot}%{buildpath}/services/ASC.Data.Backup.BackgroundTasks/" +mkdir -p "%{buildroot}%{buildpath}/services/ASC.ClearEvents/" +mkdir -p "%{buildroot}%{buildpath}/services/ASC.ApiSystem/" +mkdir -p "%{buildroot}%{buildpath}/public/" +mkdir -p "%{buildroot}%{buildpath}/products/ASC.People/server/" +mkdir -p "%{buildroot}%{buildpath}/products/ASC.People/client/" +mkdir -p "%{buildroot}%{buildpath}/products/ASC.Login/login/" +mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/service/" +mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/server/DocStore/" +mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/editor/" +mkdir -p "%{buildroot}%{buildpath}/products/ASC.Files/client/" +mkdir -p "%{buildroot}%{buildpath}/client/" +mkdir -p "%{buildroot}%{_var}/log/onlyoffice/%{product}/" +mkdir -p "%{buildroot}%{_sysconfdir}/openresty/includes/" +mkdir -p "%{buildroot}%{_sysconfdir}/openresty/conf.d/" +mkdir -p "%{buildroot}%{_sysconfdir}/onlyoffice/%{product}/openresty" +mkdir -p "%{buildroot}%{_sysconfdir}/onlyoffice/%{product}/.private/" +mkdir -p "%{buildroot}%{_sysconfdir}/logrotate.d" +mkdir -p "%{buildroot}%{_docdir}/%{name}-%{version}-%{release}/" +mkdir -p "%{buildroot}%{_bindir}/" +cp -rf %{_builddir}/publish/web/public/* "%{buildroot}%{buildpath}/public/" +cp -rf %{_builddir}/publish/web/login/* "%{buildroot}%{buildpath}/products/ASC.Login/login/" +cp -rf %{_builddir}/publish/web/editor/* "%{buildroot}%{buildpath}/products/ASC.Files/editor/" +cp -rf %{_builddir}/publish/web/client/* "%{buildroot}%{buildpath}/client/" +cp -rf %{_builddir}/server/publish/services/ASC.Web.Studio/service/* "%{buildroot}%{buildpath}/studio/ASC.Web.Studio/" +cp -rf %{_builddir}/server/publish/services/ASC.Web.HealthChecks.UI/service/* "%{buildroot}%{buildpath}/services/ASC.Web.HealthChecks.UI/" +cp -rf %{_builddir}/server/publish/services/ASC.Web.Api/service/* "%{buildroot}%{buildpath}/studio/ASC.Web.Api/" +cp -rf %{_builddir}/server/publish/services/ASC.Studio.Notify/service/* "%{buildroot}%{buildpath}/services/ASC.Studio.Notify/" +cp -rf %{_builddir}/server/publish/services/ASC.SsoAuth/service/* "%{buildroot}%{buildpath}/services/ASC.SsoAuth/" +cp -rf %{_builddir}/server/publish/services/ASC.Socket.IO/service/* "%{buildroot}%{buildpath}/services/ASC.Socket.IO/" +cp -rf %{_builddir}/server/publish/services/ASC.Notify/service/* "%{buildroot}%{buildpath}/services/ASC.Notify/" +cp -rf %{_builddir}/server/publish/services/ASC.Files.Service/service/* "%{buildroot}%{buildpath}/products/ASC.Files/service/" +cp -rf %{_builddir}/server/publish/services/ASC.Data.Backup/service/* "%{buildroot}%{buildpath}/services/ASC.Data.Backup/" +cp -rf %{_builddir}/server/publish/services/ASC.Data.Backup.BackgroundTasks/service/* "%{buildroot}%{buildpath}/services/ASC.Data.Backup.BackgroundTasks/" +cp -rf %{_builddir}/server/publish/services/ASC.ClearEvents/service/* "%{buildroot}%{buildpath}/services/ASC.ClearEvents/" +cp -rf %{_builddir}/server/publish/services/ASC.ApiSystem/service/* "%{buildroot}%{buildpath}/services/ASC.ApiSystem/" +cp -rf %{_builddir}/server/publish/products/ASC.People/server/* "%{buildroot}%{buildpath}/products/ASC.People/server/" +cp -rf %{_builddir}/server/publish/products/ASC.Files/server/* "%{buildroot}%{buildpath}/products/ASC.Files/server/" +cp -rf %{_builddir}/server/LICENSE "%{buildroot}%{_docdir}/%{name}-%{version}-%{release}/" +cp -rf %{_builddir}/server/ASC.Migration.Runner/service/* "%{buildroot}%{buildpath}/services/ASC.Migration.Runner/" +cp -rf %{_builddir}/document-templates-main-community-server/* "%{buildroot}%{buildpath}/products/ASC.Files/server/DocStore/" +cp -rf %{_builddir}/buildtools/install/RadicalePlugins/* "%{buildroot}%{buildpath}/Tools/radicale/plugins/" +cp -rf %{_builddir}/buildtools/install/docker/config/nginx/templates/nginx.conf.template "%{buildroot}%{_sysconfdir}/onlyoffice/%{product}/openresty/nginx.conf.template" +cp -rf %{_builddir}/buildtools/install/docker/config/nginx/onlyoffice-proxy.conf "%{buildroot}%{_sysconfdir}/openresty/conf.d/onlyoffice-proxy.conf" +cp -rf %{_builddir}/buildtools/install/docker/config/nginx/onlyoffice-proxy-ssl.conf "%{buildroot}%{_sysconfdir}/openresty/conf.d/onlyoffice-proxy-ssl.conf.template" +cp -rf %{_builddir}/buildtools/install/docker/config/nginx/letsencrypt.conf "%{buildroot}%{_sysconfdir}/openresty/includes/letsencrypt.conf" +cp -rf %{_builddir}/buildtools/install/common/systemd/modules/* "%{buildroot}/usr/lib/systemd/system/" +cp -rf %{_builddir}/buildtools/install/common/logrotate/product-common "%{buildroot}%{_sysconfdir}/logrotate.d/%{product}-common" +cp -rf %{_builddir}/buildtools/install/common/%{product}-ssl-setup "%{buildroot}%{_bindir}/%{product}-ssl-setup" +cp -rf %{_builddir}/buildtools/install/common/%{product}-configuration "%{buildroot}%{_bindir}/%{product}-configuration" +cp -rf %{_builddir}/buildtools/config/nginx/onlyoffice*.conf "%{buildroot}%{_sysconfdir}/openresty/conf.d/" +cp -rf %{_builddir}/buildtools/config/nginx/includes/onlyoffice*.conf "%{buildroot}%{_sysconfdir}/openresty/includes/" +cp -rf %{_builddir}/buildtools/config/* "%{buildroot}%{_sysconfdir}/onlyoffice/%{product}/" diff --git a/install/rpm/SPECS/product.spec b/install/rpm/SPECS/product.spec index d5b695f871..c9c3d28624 100644 --- a/install/rpm/SPECS/product.spec +++ b/install/rpm/SPECS/product.spec @@ -1,9 +1,10 @@ %define _binaries_in_noarch_packages_terminate_build 0 %define _build_id_links none +%define __os_install_post /usr/lib/rpm/brp-compress %{nil} %global product docspace +%global product_name DocSpace %global buildpath %{_var}/www/%{product} -%global sourcename DocSpace-%GIT_BRANCH Name: %{product} Summary: Business productivity tools @@ -19,10 +20,12 @@ Vendor: Ascensio System SIA Packager: %{packager} License: AGPLv3 -Source0: https://github.com/ONLYOFFICE/%{product}/archive/%GIT_BRANCH.tar.gz#/%{sourcename}.tar.gz -Source1: https://github.com/ONLYOFFICE/document-templates/archive/main/community-server.tar.gz#/document-templates-main-community-server.tar.gz -Source2: https://github.com/ONLYOFFICE/dictionaries/archive/master.tar.gz#/dictionaries-master.tar.gz -Source3: %{product}.rpmlintrc +Source0: https://github.com/ONLYOFFICE/%{product}-buildtools/archive/%{BRANCH_BUILDTOOLS}.tar.gz#/%{product_name}-buildtools-%{BRANCH_BUILDTOOLS}.tar.gz +Source1: https://github.com/ONLYOFFICE/%{product}-client/archive/%{BRANCH_CLIENT}.tar.gz#/%{product_name}-client-%{BRANCH_CLIENT}.tar.gz +Source2: https://github.com/ONLYOFFICE/%{product}-server/archive/%{BRANCH_SERVER}.tar.gz#/%{product_name}-server-%{BRANCH_SERVER}.tar.gz +Source3: https://github.com/ONLYOFFICE/document-templates/archive/main/community-server.tar.gz#/document-templates-main-community-server.tar.gz +Source4: https://github.com/ONLYOFFICE/dictionaries/archive/master.tar.gz#/dictionaries-master.tar.gz +Source5: %{product}.rpmlintrc BuildRequires: nodejs >= 18.0 BuildRequires: yarn @@ -58,11 +61,15 @@ predefined permissions. %include package.spec %prep +rm -rf %{_rpmdir}/%{_arch}/%{name}-* %{_builddir}/* -rm -rf %{_rpmdir}/%{_arch}/%{name}-* -%setup -b1 -b2 -n %{sourcename} -q -mv -f %{_builddir}/document-templates-main-community-server/* %{_builddir}/%{sourcename}/products/ASC.Files/Server/DocStore/ -mv -f %{_builddir}/dictionaries-master/* %{_builddir}/%{sourcename}/common/Tests/Frontend.Translations.Tests/dictionaries/ +echo "%{SOURCE0} %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4}" | xargs -n 1 -P 5 tar -xzf +cp %{SOURCE5} . + +mv -f %{product_name}-buildtools-%{BRANCH_BUILDTOOLS} buildtools +mv -f %{product_name}-client-%{BRANCH_CLIENT} client +mv -f %{product_name}-server-%{BRANCH_SERVER} server +mv -f %{_builddir}/dictionaries-master/* %{_builddir}/client/common/Tests/Frontend.Translations.Tests/dictionaries/ %include build.spec