Appcast & Changes generating (#190)

* Add make appcast.xml

* Add 5.6.4 changes

* Add deploy appcast & changes

* Fix typo

* Fix deploy targets

* Fix clean

* Add 6.0 changes templates

* Fix line endings

* Fix 6.0.0 path

* Move files to update

* Add changes html template

* Fix changes include path

* Refactor templates

* Add links to report

* Fix changes target

* Fix appcast branding
This commit is contained in:
Semyon Bezrukov
2020-10-01 11:28:21 +03:00
committed by GitHub
parent 3a53c9f151
commit 4930157d5a
8 changed files with 155 additions and 1 deletions

View File

@ -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) $< > $@

View File

@ -24,5 +24,20 @@ ifdef(`M4_ZIP_XP_URI',
` <p>Win XP M4_WIN_ARCH-bit archive
<a href="https://M4_S3_BUCKET.s3-eu-west-1.amazonaws.com/M4_ZIP_XP_URI">zip</a>
</p>',)
ifdef(`M4_APPCAST_URI',
` <p>
<a href="https://M4_S3_BUCKET.s3-eu-west-1.amazonaws.com/M4_APPCAST_URI">Appcast</a>
</p>',)
ifdef(`M4_CHANGES_EN_URI',
` <p>
<a href="https://M4_S3_BUCKET.s3-eu-west-1.amazonaws.com/M4_CHANGES_EN_URI">Changes EN</a>
</p>',)
ifdef(`M4_CHANGES_RU_URI',
` <p>
<a href="https://M4_S3_BUCKET.s3-eu-west-1.amazonaws.com/M4_CHANGES_RU_URI">Changes RU</a>
</p>',)
</body>
</html>

View File

@ -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
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>APPCAST_TITLE</title>
<description>APPCAST_DESCRIPTION</description>
<language>en</language>
<item>
<title>APPCAST_ITEM_TITLE</title>
<pubDate>APPCAST_PUBDATE</pubDate>
<sparkle:releaseNotesLink>APPCAST_LINK_CHANGES_EN</sparkle:releaseNotesLink>
<sparkle:releaseNotesLink xml:lang="ru-RU">APPCAST_LINK_CHANGES_RU</sparkle:releaseNotesLink>
<enclosure sparkle:os="windows-x64" sparkle:version="APPCAST_VERSION" sparkle:shortVersionString="APPCAST_VERSION" url="APPCAST_LINK_EXE_64" length="0" type="application/octet-stream" sparkle:installerArguments="/silent /update"/>
</item>
<item>
<title>APPCAST_ITEM_TITLE</title>
<pubDate>APPCAST_PUBDATE</pubDate>
<sparkle:releaseNotesLink>APPCAST_LINK_CHANGES_EN</sparkle:releaseNotesLink>
<sparkle:releaseNotesLink xml:lang="ru-RU">APPCAST_LINK_CHANGES_RU</sparkle:releaseNotesLink>
<enclosure sparkle:os="windows-x86" sparkle:version="APPCAST_VERSION" sparkle:shortVersionString="APPCAST_VERSION" url="APPCAST_LINK_EXE_32" length="0" type="application/octet-stream" sparkle:installerArguments="/silent /update"/>
</item>
</channel>
</rss>

View File

@ -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&comma; %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
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>defn(CHANGES_TITLE[L10N])</title>
<style type="text/css">
body {
background:white;
font: 12px "Lucida Grande", "Lucida Sans Unicode", Verdana, Lucida, Helvetica, sans-serif;
}
h1, h2, h3 {
color: #000000;
font-family: "Helvetica";
font-weight: normal;
font-style: normal;
}
h1 {
font-size: 18px;
}
h2 {
font-size: 16px;
}
h3 {
font-size: 14px;
}
.releasedate {
color: #888;
font-size: medium;
}
.version {
border-bottom: 1px solid #cfcfcf;
}
</style>
</head>
<body>
<div class="version">
<h1>CHANGES_HEADING<span class="releasedate"> - defn(CHANGES_RELEASE_DATE[L10N])</span></h1>
CHANGES_BODY
<div style="margin:0 0 20px 0;"><a href="CHANGES_LINK_CHANGELOG" target="_blank">defn(CHANGES_MORE[L10N])</a></div>
</div>
</body>
</html>

View File

@ -0,0 +1,7 @@
<h2>Fixes</h2>
<ul>
<li>Fix several vulnerabilities in convertion app (bugs #46348, #46352, 46353, #46384, #46434, #46436)</li>
<li>Fix vulnerability in TXT converter (Bug #46437)</li>
<li>Fix Path Traversal vulnerability via image upload params (Bug #46113)</li>
<li>Fix Path Traversal vulnerability via `savefile` param (Bug #46037)</li>
</ul>

View File

@ -0,0 +1,7 @@
<h2>Исправления</h2>
<ul>
<li>Исправлено несколько уязвимостей в приложении конвертации (Bugs #46348, #46352, 46353, #46384, #46434, #46436)</li>
<li>Исправлена уязвимость в конверторе TXT формата (Bug #46437)</li>
<li>Исправлена уязвимость "Path Traversal" в параметрах при загрузке изображений (Bug #46113)</li>
<li>Исправлена уязвимость "Path Traversal" в параметре `savefile` (Bug #46037)</li>
</ul>