Skip to content

Commit 2e45887

Browse files
authored
Merge pull request #145 from ONLYOFFICE/release/v6.1.0
Merge branch release/v6.1.0 into develop
2 parents 6f8554b + 26de6f8 commit 2e45887

File tree

7 files changed

+198
-35
lines changed

7 files changed

+198
-35
lines changed

Makefile

Lines changed: 127 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,6 @@ SUPPORT_MAIL ?= [email protected]
1818
PRODUCT_VERSION ?= 0.0.0
1919
BUILD_NUMBER ?= 0
2020

21-
S3_BUCKET ?= repo-doc-onlyoffice-com
22-
RELEASE_BRANCH ?= unstable
23-
2421
BRANDING_DIR ?= ./branding
2522

2623
PACKAGE_NAME := $(COMPANY_NAME_LOW)-$(PRODUCT_NAME_LOW)
@@ -32,31 +29,58 @@ DEB_ARCH = amd64
3229
APT_RPM_BUILD_DIR = $(PWD)/apt-rpm/builddir
3330
RPM_BUILD_DIR = $(PWD)/rpm/builddir
3431
DEB_BUILD_DIR = $(PWD)
35-
EXE_BUILD_DIR = exe
32+
EXE_BUILD_DIR = $(PWD)/exe
3633

3734
APT_RPM_PACKAGE_DIR = $(APT_RPM_BUILD_DIR)/RPMS/$(RPM_ARCH)
3835
RPM_PACKAGE_DIR = $(RPM_BUILD_DIR)/RPMS/$(RPM_ARCH)
3936
DEB_PACKAGE_DIR = $(DEB_BUILD_DIR)
4037
TAR_PACKAGE_DIR = $(PWD)
4138

39+
TAR_REPO := repo-tar
40+
TAR_REPO_DATA := $(TAR_REPO)/$(PACKAGE_NAME)-$(PRODUCT_VERSION).$(BUILD_NUMBER).tar.gz
41+
TAR_REPO_DIR = tar
42+
43+
DEB_REPO := $(PWD)/repo
44+
DEB_REPO_DATA := $(DEB_REPO)/Packages.gz
45+
46+
APT_RPM_REPO := $(PWD)/repo-apt-rpm
47+
APT_RPM_REPO_DATA := $(APT_RPM_REPO)/repodata
48+
49+
RPM_REPO := $(PWD)/repo-rpm
50+
RPM_REPO_DATA := $(RPM_REPO)/repodata
51+
52+
EXE_REPO := repo-exe
53+
EXE_REPO_DATA := $(EXE_REPO)/$(PACKAGE_NAME)-$(PRODUCT_VERSION).$(BUILD_NUMBER).exe
54+
55+
APT_RPM_REPO_OS_NAME = ALTLinux
56+
APT_RPM_REPO_OS_VER = p8
57+
APT_RPM_REPO_DIR = $(APT_RPM_REPO_OS_NAME)/$(APT_RPM_REPO_OS_VER)
58+
59+
RPM_REPO_OS_NAME = centos
60+
RPM_REPO_OS_VER = 7
61+
RPM_REPO_DIR = $(RPM_REPO_OS_NAME)/$(RPM_REPO_OS_VER)
62+
63+
DEB_REPO_OS_NAME = ubuntu
64+
DEB_REPO_OS_VER = trusty
65+
DEB_REPO_DIR = $(DEB_REPO_OS_NAME)/$(DEB_REPO_OS_VER)
66+
67+
EXE_REPO_DIR = windows
68+
4269
APT_RPM = $(APT_RPM_PACKAGE_DIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION).$(RPM_ARCH).rpm
4370
RPM = $(RPM_PACKAGE_DIR)/$(PACKAGE_NAME)-$(PACKAGE_VERSION).$(RPM_ARCH).rpm
4471
DEB = $(DEB_PACKAGE_DIR)/$(PACKAGE_NAME)_$(PACKAGE_VERSION)_$(DEB_ARCH).deb
4572
EXE = $(EXE_BUILD_DIR)/$(PACKAGE_NAME)-$(PRODUCT_VERSION).$(BUILD_NUMBER).exe
4673
TAR = $(TAR_PACKAGE_DIR)/$(PACKAGE_NAME)_$(PACKAGE_VERSION).tar.gz
4774

48-
EXE_URI := $(COMPANY_NAME_LOW)/$(RELEASE_BRANCH)/windows/$(notdir $(EXE))
49-
DEB_URI := $(COMPANY_NAME_LOW)/$(RELEASE_BRANCH)/ubuntu/$(notdir $(DEB))
50-
RPM_URI := $(COMPANY_NAME_LOW)/$(RELEASE_BRANCH)/centos/$(notdir $(RPM))
51-
TAR_URI := $(COMPANY_NAME_LOW)/$(RELEASE_BRANCH)/linux/$(notdir $(TAR))
52-
APT_RPM_URI := $(COMPANY_NAME_LOW)/$(RELEASE_BRANCH)/altlinux/$(notdir $(APT_RPM))
53-
5475
DOCUMENTSERVER = common/documentserver/home
5576
DOCUMENTSERVER_BIN = common/documentserver/bin
5677
DOCUMENTSERVER_CONFIG = common/documentserver/config
78+
DOCUMENTSERVER_FILES += $(DOCUMENTSERVER)/core-fonts
79+
DOCUMENTSERVER_FILES += $(DOCUMENTSERVER)/license
5780
DOCUMENTSERVER_FILES += $(DOCUMENTSERVER)/web-apps
5881
DOCUMENTSERVER_FILES += $(DOCUMENTSERVER)/server
5982
DOCUMENTSERVER_FILES += $(DOCUMENTSERVER)/sdkjs
83+
DOCUMENTSERVER_FILES += $(DOCUMENTSERVER)/sdkjs-plugins
6084

6185
3RD_PARTY_LICENSE_FILES += $(DOCUMENTSERVER)/server/LICENSE.txt
6286
3RD_PARTY_LICENSE_FILES += $(DOCUMENTSERVER)/server/3rd-Party.txt
@@ -110,7 +134,7 @@ ifeq ($(OS),Windows_NT)
110134
SHARED_EXT := .dll
111135
ARCH_EXT := .zip
112136
AR := 7z a -y
113-
DEPLOY = deploy-exe
137+
DEPLOY := $(EXE_REPO_DATA)
114138
NGINX_CONF := includes
115139
NGINX_LOG := logs
116140
DS_ROOT := ..
@@ -131,7 +155,7 @@ else
131155
SHELL_EXT := .sh
132156
ARCH_EXT := .zip
133157
AR := 7z a -y
134-
DEPLOY = deploy-deb deploy-rpm deploy-tar deploy-apt-rpm
158+
DEPLOY := $(APT_RPM_REPO_DATA) $(RPM_REPO_DATA) $(DEB_REPO_DATA) $(TAR_REPO_DATA)
135159
DS_PREFIX := $(COMPANY_NAME_LOW)/$(PRODUCT_SHORT_NAME_LOW)
136160
NGINX_CONF := /etc/nginx/includes
137161
NGINX_LOG := /var/log/$(DS_PREFIX)
@@ -168,7 +192,7 @@ DS_BIN_REPO := ./ds-repo
168192
DS_BIN := ./$(TARGET)/ds-bin-$(PRODUCT_VERSION)$(ARCH_EXT)
169193

170194
ifeq ($(PRODUCT_NAME),$(filter $(PRODUCT_NAME),documentserver-ee documentserver-ie))
171-
DEPLOY += deploy-bin
195+
DEPLOY += $(DS_BIN_REPO)
172196
endif
173197

174198
ISCC := iscc
@@ -193,6 +217,7 @@ DEB_DEPS += deb/debian/$(PACKAGE_NAME).links
193217
COMMON_DEPS += common/documentserver/nginx/includes/ds-common.conf
194218
COMMON_DEPS += common/documentserver/nginx/includes/ds-docservice.conf
195219
COMMON_DEPS += common/documentserver/nginx/includes/ds-spellchecker.conf
220+
COMMON_DEPS += common/documentserver/nginx/includes/ds-letsencrypt.conf
196221
COMMON_DEPS += common/documentserver/nginx/includes/http-common.conf
197222
COMMON_DEPS += common/documentserver/nginx/ds-ssl.conf.tmpl
198223
COMMON_DEPS += common/documentserver/nginx/ds.conf.tmpl
@@ -275,14 +300,17 @@ exe: $(EXE)
275300
tar: $(TAR)
276301

277302
clean:
278-
rm -rfv $(DEB_PACKAGE_DIR)/*.deb\
303+
rm -rf $(DEB_PACKAGE_DIR)/*.deb\
279304
$(DEB_PACKAGE_DIR)/*.changes\
280305
$(APT_RPM_BUILD_DIR)\
281306
$(RPM_BUILD_DIR)\
282307
$(EXE_BUILD_DIR)/*.exe\
283308
$(ISXDL)\
284309
$(NGINX)\
285310
$(NSSM)\
311+
$(DEB_REPO)\
312+
$(RPM_REPO)\
313+
$(EXE_REPO)\
286314
$(DS_BIN_REPO)\
287315
$(DOCUMENTSERVER_FILES)\
288316
$(DOCUMENTSERVER_EXAMPLE)\
@@ -452,7 +480,7 @@ $(EXE): $(WIN_DEPS) $(COMMON_DEPS) documentserver documentserver-example $(ISXDL
452480

453481
$(TAR):
454482
cd ../build_tools/out/$(TARGET)/$(COMPANY_NAME_LOW) && \
455-
tar -cvzf $(TAR) $(PRODUCT_SHORT_NAME_LOW)-snap
483+
tar -czf $(TAR) $(PRODUCT_SHORT_NAME_LOW)-snap
456484

457485
$(ISXDL):
458486
$(TOUCH) $(ISXDL) && \
@@ -482,31 +510,97 @@ $(NSSM):
482510
7z x -y -o$(DOCUMENTSERVER)/nssm $(NSSM_ZIP) && \
483511
rm -f $(NSSM_ZIP)
484512

485-
deploy-rpm: $(RPM)
486-
aws s3 cp --no-progress --acl public-read \
487-
$(RPM) s3://$(S3_BUCKET)/$(RPM_URI)
513+
$(RPM_REPO_DATA): $(RPM)
514+
rm -rfv $(RPM_REPO)
515+
mkdir -p $(RPM_REPO)
516+
517+
cp -rv $(RPM) $(RPM_REPO);
518+
createrepo -v $(RPM_REPO);
519+
520+
aws s3 sync \
521+
$(RPM_REPO) \
522+
s3://repo-doc-onlyoffice-com/$(RPM_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/$(PACKAGE_VERSION)/ \
523+
--acl public-read --delete --no-progress
524+
525+
aws s3 sync \
526+
s3://repo-doc-onlyoffice-com/$(RPM_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/$(PACKAGE_VERSION)/ \
527+
s3://repo-doc-onlyoffice-com/$(RPM_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/latest/ \
528+
--acl public-read --delete --no-progress
529+
530+
$(APT_RPM_REPO_DATA): $(APT_RPM)
531+
rm -rfv $(APT_RPM_REPO)
532+
mkdir -p $(APT_RPM_REPO)
533+
534+
cp -rv $(APT_RPM) $(APT_RPM_REPO);
535+
#createrepo -v $(APT_RPM_REPO);
536+
537+
aws s3 sync \
538+
$(APT_RPM_REPO) \
539+
s3://repo-doc-onlyoffice-com/$(APT_RPM_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/$(PACKAGE_VERSION)/ \
540+
--acl public-read --delete --no-progress
541+
542+
aws s3 sync \
543+
s3://repo-doc-onlyoffice-com/$(APT_RPM_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/$(PACKAGE_VERSION)/ \
544+
s3://repo-doc-onlyoffice-com/$(APT_RPM_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/latest/ \
545+
--acl public-read --delete --no-progress
546+
547+
$(DEB_REPO_DATA): $(DEB)
548+
rm -rfv $(DEB_REPO)
549+
mkdir -p $(DEB_REPO)
550+
551+
cp -rv $(DEB) $(DEB_REPO);
552+
dpkg-scanpackages -m repo /dev/null | gzip -9c > $(DEB_REPO_DATA)
553+
554+
aws s3 sync \
555+
$(DEB_REPO) \
556+
s3://repo-doc-onlyoffice-com/$(DEB_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/$(PACKAGE_VERSION)/repo \
557+
--acl public-read --delete --no-progress
558+
559+
aws s3 sync \
560+
s3://repo-doc-onlyoffice-com/$(DEB_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/$(PACKAGE_VERSION)/repo \
561+
s3://repo-doc-onlyoffice-com/$(DEB_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/latest/repo \
562+
--acl public-read --delete --no-progress
563+
564+
$(EXE_REPO_DATA): $(EXE)
565+
rm -rfv $(EXE_REPO)
566+
mkdir -p $(EXE_REPO)
567+
568+
cp -rv $(EXE) $(EXE_REPO);
569+
570+
aws s3 sync \
571+
$(EXE_REPO) \
572+
s3://repo-doc-onlyoffice-com/$(EXE_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/$(PACKAGE_VERSION)/ \
573+
--acl public-read --delete --no-progress
574+
575+
aws s3 sync \
576+
s3://repo-doc-onlyoffice-com/$(EXE_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/$(PACKAGE_VERSION)/ \
577+
s3://repo-doc-onlyoffice-com/$(EXE_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/latest/ \
578+
--acl public-read --delete --no-progress
579+
580+
$(TAR_REPO_DATA): $(TAR)
581+
rm -rfv $(TAR_REPO)
582+
mkdir -p $(TAR_REPO)
488583

489-
deploy-apt-rpm: $(APT_RPM)
490-
aws s3 cp --no-progress --acl public-read \
491-
$(APT_RPM) s3://$(S3_BUCKET)/$(APT_RPM_URI)
584+
cp -rv $(TAR) $(TAR_REPO);
492585

493-
deploy-deb: $(DEB)
494-
aws s3 cp --no-progress --acl public-read \
495-
$(DEB) s3://$(S3_BUCKET)/$(DEB_URI)
586+
aws s3 sync \
587+
$(TAR_REPO) \
588+
s3://repo-doc-onlyoffice-com/$(TAR_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/$(PACKAGE_VERSION)/ \
589+
--acl public-read --delete --no-progress
496590

497-
deploy-exe: $(EXE)
498-
aws s3 cp --no-progress --acl public-read \
499-
$(EXE) s3://$(S3_BUCKET)/$(EXE_URI)
591+
aws s3 sync \
592+
s3://repo-doc-onlyoffice-com/$(TAR_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/$(PACKAGE_VERSION)/ \
593+
s3://repo-doc-onlyoffice-com/$(TAR_REPO_DIR)/$(PACKAGE_NAME)/$(GIT_BRANCH)/latest/ \
594+
--acl public-read --delete --no-progress
500595

501-
deploy-tar: $(TAR)
502-
aws s3 cp --no-progress --acl public-read \
503-
$(TAR) s3://$(S3_BUCKET)/$(TAR_URI)
596+
deploy-bin: $(DS_BIN_REPO)
504597

505-
deploy-bin: $(DS_BIN)
598+
$(DS_BIN_REPO): $(DS_BIN)
506599
mkdir -p $(DS_BIN_REPO)
507600
cp -rv $(dir $(DS_BIN)) $(DS_BIN_REPO)
508-
aws s3 sync --no-progress --acl public-read \
601+
aws s3 sync \
509602
$(DS_BIN_REPO) \
510-
s3://$(S3_BUCKET)/$(PLATFORM)/ds-bin/$(GIT_BRANCH)/$(PRODUCT_VERSION)/
603+
s3://repo-doc-onlyoffice-com/$(PLATFORM)/ds-bin/$(GIT_BRANCH)/$(PRODUCT_VERSION)/ \
604+
--acl public-read --no-progress
511605

512606
deploy: $(DEPLOY)
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/bin/bash
2+
3+
LETSENCRYPT_ROOT_DIR="/etc/letsencrypt/live";
4+
ROOT_DIR="M4_DS_ROOT/letsencrypt";
5+
NGINX_CONF_DIR="/etc/M4_DS_PREFIX/nginx";
6+
7+
if [ "$#" -ge "2" ]; then
8+
LETS_ENCRYPT_MAIL=$1
9+
LETS_ENCRYPT_DOMAIN=$2
10+
11+
SSL_CERT="${LETSENCRYPT_ROOT_DIR}/${LETS_ENCRYPT_DOMAIN}/fullchain.pem";
12+
SSL_KEY="${LETSENCRYPT_ROOT_DIR}/${LETS_ENCRYPT_DOMAIN}/privkey.pem";
13+
14+
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
15+
16+
mkdir -p ${ROOT_DIR}
17+
18+
echo certbot certonly --expand --webroot -w ${ROOT_DIR} --noninteractive --agree-tos --email $LETS_ENCRYPT_MAIL -d $LETS_ENCRYPT_DOMAIN > /var/log/le-start.log
19+
20+
certbot certonly --expand --webroot -w ${ROOT_DIR} --noninteractive --agree-tos --email $LETS_ENCRYPT_MAIL -d $LETS_ENCRYPT_DOMAIN > /var/log/le-new.log
21+
22+
if [ -f ${SSL_CERT} -a -f ${SSL_KEY} ]; then
23+
if [ -f ${NGINX_CONF_DIR}/ds-ssl.conf.tmpl ]; then
24+
cp -f ${NGINX_CONF_DIR}/ds-ssl.conf.tmpl ${NGINX_CONF_DIR}/ds.conf
25+
sed 's,{{SSL_CERTIFICATE_PATH}},'"${SSL_CERT}"',' -i ${NGINX_CONF_DIR}/ds.conf
26+
sed 's,{{SSL_KEY_PATH}},'"${SSL_KEY}"',' -i ${NGINX_CONF_DIR}/ds.conf
27+
fi
28+
fi
29+
30+
service nginx reload
31+
32+
cat > ${DIR}/letsencrypt_cron.sh <<END
33+
certbot renew >> /var/log/le-renew.log
34+
service nginx reload
35+
END
36+
37+
chmod a+x ${DIR}/letsencrypt_cron.sh
38+
39+
cat > /etc/cron.d/letsencrypt <<END
40+
@weekly root ${DIR}/letsencrypt_cron.sh
41+
END
42+
43+
else
44+
echo "This script provided to automatically get Let's Encrypt SSL Certificates for Document Server"
45+
echo "usage:"
46+
echo " documentserver-letsencrypt.sh EMAIL DOMAIN"
47+
echo " EMAIL Email used for registration and recovery contact. Use"
48+
echo " comma to register multiple emails, ex:"
49+
50+
echo " DOMAIN Domain name to apply"
51+
fi

common/documentserver/logrotate/ds.conf.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
sharedscripts
1010
postrotate
1111
if [ -f /var/run/nginx.pid ]; then
12-
service nginx reload > /dev/null
12+
systemctl reload nginx > /dev/null
1313
fi
1414
endscript
1515
}
@@ -27,7 +27,7 @@
2727
sharedscripts
2828
postrotate
2929
if [ -f /var/run/supervisord.pid ]; then
30-
service supervisor restart > /dev/null
30+
systemctl restart supervisord.service > /dev/null
3131
fi
3232
endscript
3333
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
location ~ /.well-known/acme-challenge {
2+
root M4_DS_ROOT/letsencrypt/;
3+
allow all;
4+
}

deb/debian/control.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,5 @@ ifelse(eval(ifelse(M4_PRODUCT_NAME,documentserver-ee,1,0)||ifelse(M4_PRODUCT_NAM
3333
supervisor(>= 3.0b2),
3434
xvfb,
3535
zlib1g
36+
Recommends: ttf-mscorefonts-installer
3637
Description: defn(`DEB[Description]')

deb/debian/package.links.m4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ etc/M4_DS_PREFIX/logrotate/ds.conf etc/logrotate.d/ds.conf
33
etc/M4_DS_PREFIX/nginx/includes/ds-common.conf etc/nginx/includes/ds-common.conf
44
etc/M4_DS_PREFIX/nginx/includes/ds-docservice.conf etc/nginx/includes/ds-docservice.conf
55
etc/M4_DS_PREFIX/nginx/includes/ds-spellchecker.conf etc/nginx/includes/ds-spellchecker.conf
6+
etc/M4_DS_PREFIX/nginx/includes/ds-letsencrypt.conf etc/nginx/includes/ds-letsencrypt.conf
67
etc/M4_DS_PREFIX/nginx/includes/http-common.conf etc/nginx/includes/http-common.conf
78

89
etc/M4_DS_PREFIX/supervisor/ds-converter.conf etc/supervisor/conf.d/ds-converter.conf

rpm/common.spec

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,18 @@ if systemctl is-active --quiet nginx; then
268268
systemctl reload nginx >/dev/null 2>&1
269269
fi
270270

271+
# check msttcore-fonts-installer
272+
rpm -qa | grep msttcore-fonts-installer > msttcore-fonts-out
273+
OUTFILESIZE=$(stat -c%s "msttcore-fonts-out")
274+
MAXOUTSIZE=1
275+
if [ "$OUTFILESIZE" -le "$MAXOUTSIZE" ]
276+
then
277+
echo "The package msttcore-fonts-installer not found"
278+
echo "You can install it with the commands:"
279+
echo " # yum install cabextract xorg-x11-font-utils"
280+
echo " # rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm"
281+
fi
282+
271283
%preun
272284
case "$1" in
273285
0)

0 commit comments

Comments
 (0)