diff --git a/win-linux/package/windows/Makefile.mk b/win-linux/package/windows/Makefile.mk index 60649cf5f..0b1db753f 100644 --- a/win-linux/package/windows/Makefile.mk +++ b/win-linux/package/windows/Makefile.mk @@ -27,6 +27,10 @@ VCREDIST += $(VCREDIST13) endif VCREDIST += $(VCREDIST15) +BUILD_TIMESTAMP = $(shell date +%s) +APPCAST := win-linux/package/windows/update/appcast.xml +CHANGES_EN := win-linux/package/windows/update/changes.html +CHANGES_RU := win-linux/package/windows/update/changes_ru.html INDEX_HTML := win-linux/package/windows/index.html ISCC_PARAMS += //Qp @@ -78,9 +82,12 @@ clean-package: $(dir $(DESKTOP_EDITORS_ZIP))*.zip \ $(dir $(DESKTOP_EDITORS_UPDATE))*.exe \ $(VCREDIST) \ + $(APPCAST) \ + $(CHANGES_EN) \ + $(CHANGES_RU) \ $(INDEX_HTML) -deploy: $(PACKAGES) $(INDEX_HTML) +deploy: $(PACKAGES) $(APPCAST) $(CHANGES_EN) $(CHANGES_RU) $(INDEX_HTML) aws s3 cp \ $(DESKTOP_EDITORS_EXE) \ s3://$(S3_BUCKET)/$(WIN_REPO_DIR)/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/ \ @@ -96,17 +103,48 @@ deploy: $(PACKAGES) $(INDEX_HTML) s3://$(S3_BUCKET)/$(WIN_REPO_DIR)/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/ \ --acl public-read + aws s3 cp \ + $(APPCAST) \ + s3://$(S3_BUCKET)/$(WIN_REPO_DIR)/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/update/ \ + --acl public-read + + aws s3 cp \ + $(CHANGES_EN) \ + s3://$(S3_BUCKET)/$(WIN_REPO_DIR)/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/update/changes/ \ + --acl public-read + + aws s3 cp \ + $(CHANGES_RU) \ + s3://$(S3_BUCKET)/$(WIN_REPO_DIR)/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/update/changes/ \ + --acl public-read + # aws s3 sync \ # s3://$(S3_BUCKET)/$(WIN_REPO_DIR)/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/ \ # s3://$(S3_BUCKET)/$(WIN_REPO_DIR)/$(PACKAGE_NAME)/latest/ \ # --acl public-read \ # --delete +M4_PARAMS += -D M4_COMPANY_NAME="$(COMPANY_NAME)" +M4_PARAMS += -D M4_PRODUCT_NAME="$(PRODUCT_NAME)" +M4_PARAMS += -D M4_PACKAGE_VERSION="$(PACKAGE_VERSION)" +M4_PARAMS += -D M4_BUILD_TIMESTAMP="$(shell date +%s)" M4_PARAMS += -D M4_S3_BUCKET=$(S3_BUCKET) M4_PARAMS += -D M4_WIN_ARCH=$(WIN_ARCH) M4_PARAMS += -D M4_EXE_URI="$(WIN_REPO_DIR)/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/$(notdir $(DESKTOP_EDITORS_EXE))" M4_PARAMS += -D M4_EXE_UPDATE_URI="$(WIN_REPO_DIR)/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/$(notdir $(DESKTOP_EDITORS_UPDATE))" M4_PARAMS += -D M4_ZIP_URI="$(WIN_REPO_DIR)/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/$(notdir $(DESKTOP_EDITORS_ZIP))" +M4_PARAMS += -D M4_APPCAST_URI="$(WIN_REPO_DIR)/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/update/appcast.xml" +M4_PARAMS += -D M4_CHANGES_EN_URI="$(WIN_REPO_DIR)/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/update/changes/changes.html" +M4_PARAMS += -D M4_CHANGES_RU_URI="$(WIN_REPO_DIR)/$(PACKAGE_NAME)/$(PACKAGE_VERSION)/update/changes/changes_ru.html" + +$(APPCAST): + m4 $(M4_PARAMS) $(BRANDING_DIR)/win-linux/package/windows/update/appcast.xml.m4 > $@ + +$(CHANGES_EN): L10N=en +$(CHANGES_RU): L10N=ru + +$(CHANGES_EN) $(CHANGES_RU): + m4 $(M4_PARAMS) -D L10N="$(L10N)" $(BRANDING_DIR)/win-linux/package/windows/update/changes.html.m4 > $@ % : %.m4 m4 $(M4_PARAMS) $< > $@ diff --git a/win-linux/package/windows/index.html.m4 b/win-linux/package/windows/index.html.m4 index 393a63888..43c25261c 100644 --- a/win-linux/package/windows/index.html.m4 +++ b/win-linux/package/windows/index.html.m4 @@ -24,5 +24,20 @@ ifdef(`M4_ZIP_XP_URI', `

Win XP M4_WIN_ARCH-bit archive zip

',) + +ifdef(`M4_APPCAST_URI', +`

+ Appcast +

',) + +ifdef(`M4_CHANGES_EN_URI', +`

+ Changes EN +

',) + +ifdef(`M4_CHANGES_RU_URI', +`

+ Changes RU +

',) diff --git a/win-linux/package/windows/update/appcast.xml.m4 b/win-linux/package/windows/update/appcast.xml.m4 new file mode 100644 index 000000000..48ad292ca --- /dev/null +++ b/win-linux/package/windows/update/appcast.xml.m4 @@ -0,0 +1,32 @@ +changequote()changequote(`,`)dnl +define(`APPCAST_TITLE`,format(`%s Changelog`,M4_COMPANY_NAME M4_PRODUCT_NAME))dnl +define(`APPCAST_DESCRIPTION`,`Most recent changes with links to updates.`)dnl +define(`APPCAST_VERSION`,M4_PACKAGE_VERSION)dnl +define(`APPCAST_ITEM_TITLE`,format(`Version %s`,patsubst(M4_PACKAGE_VERSION,`\(\.\w+\)$`)))dnl +define(`APPCAST_PUBDATE`,esyscmd(echo -n $(LANG=en_US date -u -d @M4_BUILD_TIMESTAMP "+%b %e %Y")))dnl +define(`APPCAST_LINK_CHANGES_EN`,`http://download.onlyoffice.com/install/desktop/editors/windows/onlyoffice/changes/changes.html`)dnl +define(`APPCAST_LINK_CHANGES_RU`,`http://download.onlyoffice.com/install/desktop/editors/windows/onlyoffice/changes/changes_ru.html`)dnl +define(`APPCAST_LINK_EXE_64`,`http://download.onlyoffice.com/install/desktop/editors/windows/onlyoffice/updates/editors_update_x64.exe`)dnl +define(`APPCAST_LINK_EXE_32`,`http://download.onlyoffice.com/install/desktop/editors/windows/onlyoffice/updates/editors_update_x86.exe`)dnl + + + + APPCAST_TITLE + APPCAST_DESCRIPTION + en + + APPCAST_ITEM_TITLE + APPCAST_PUBDATE + APPCAST_LINK_CHANGES_EN + APPCAST_LINK_CHANGES_RU + + + + APPCAST_ITEM_TITLE + APPCAST_PUBDATE + APPCAST_LINK_CHANGES_EN + APPCAST_LINK_CHANGES_RU + + + + diff --git a/win-linux/package/windows/update/changes.html.m4 b/win-linux/package/windows/update/changes.html.m4 new file mode 100644 index 000000000..a28ad9204 --- /dev/null +++ b/win-linux/package/windows/update/changes.html.m4 @@ -0,0 +1,55 @@ +changequote()changequote(`,`)dnl +changecom(``)dnl +define(`CHANGES_TITLE[en]`,format(`%s Release Notes`,M4_COMPANY_NAME M4_PRODUCT_NAME))dnl +define(`CHANGES_TITLE[ru]`,format(`История изменений %s`,M4_COMPANY_NAME M4_PRODUCT_NAME))dnl +define(`CHANGES_VERSION`,patsubst(M4_PACKAGE_VERSION,`\(\.\w+\)$`))dnl +define(`CHANGES_HEADING`,M4_COMPANY_NAME M4_PRODUCT_NAME CHANGES_VERSION)dnl +define(`CHANGES_RELEASE_DATE[en]`,esyscmd(echo -n $(LANG=en_US.UTF-8 date -u -d @M4_BUILD_TIMESTAMP "+%b %e, %Y")))dnl +define(`CHANGES_RELEASE_DATE[ru]`,esyscmd(echo -n $(LANG=ru_RU.UTF-8 date -u -d @M4_BUILD_TIMESTAMP "+%e %b %Y")))dnl +define(`CHANGES_BODY_FILE`,esyscmd(echo -n $(dirname "__file__"))/changes/CHANGES_VERSION/L10N.html)dnl +define(`CHANGES_BODY`,patsubst(sinclude(CHANGES_BODY_FILE),`^`,` `))dnl +define(`CHANGES_MORE[en]`,`and a little more...`)dnl +define(`CHANGES_MORE[ru]`,`и многое другое...`)dnl +define(`CHANGES_LINK_CHANGELOG`,format(`https://github.com/ONLYOFFICE/DesktopEditors/blob/master/CHANGELOG.md#%s`,patsubst(CHANGES_VERSION,`\.`)))dnl + + + + + defn(CHANGES_TITLE[L10N]) + + + +
+

CHANGES_HEADING - defn(CHANGES_RELEASE_DATE[L10N])

+CHANGES_BODY +
defn(CHANGES_MORE[L10N])
+
+ + diff --git a/win-linux/package/windows/update/changes/5.6.4/en.html b/win-linux/package/windows/update/changes/5.6.4/en.html new file mode 100644 index 000000000..29a4e1b62 --- /dev/null +++ b/win-linux/package/windows/update/changes/5.6.4/en.html @@ -0,0 +1,7 @@ +

Fixes

+ \ No newline at end of file diff --git a/win-linux/package/windows/update/changes/5.6.4/ru.html b/win-linux/package/windows/update/changes/5.6.4/ru.html new file mode 100644 index 000000000..28476da49 --- /dev/null +++ b/win-linux/package/windows/update/changes/5.6.4/ru.html @@ -0,0 +1,7 @@ +

Исправления

+ \ No newline at end of file diff --git a/win-linux/package/windows/update/changes/6.0.0/en.html b/win-linux/package/windows/update/changes/6.0.0/en.html new file mode 100644 index 000000000..e69de29bb diff --git a/win-linux/package/windows/update/changes/6.0.0/ru.html b/win-linux/package/windows/update/changes/6.0.0/ru.html new file mode 100644 index 000000000..e69de29bb