diff options
author | István Váradi <ivaradi@users.noreply.github.com> | 2017-10-05 20:36:38 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-05 20:36:38 +0300 |
commit | c07494b5940d0d93c7829cbd39b3e5ccedc9d5be (patch) | |
tree | a32e6a514221e7a0f01d7d34fcbbe8cd36c1f262 | |
parent | eb3bba6c642723e06ecb4c2bc8138c6c60fc1668 (diff) | |
parent | 1c26e925c9959a54d4bc786229d5e14c211fa184 (diff) |
Merge pull request #206 from tsmith512/2.3.3
Update client to release v2.3.3
-rw-r--r-- | .travis.yml | 1 | ||||
-rw-r--r-- | README.md | 10 | ||||
m--------- | client | 0 | ||||
-rw-r--r-- | linux/debian/nextcloud-client/debian/patches/fix-application-icon-name.patch | 17 | ||||
-rw-r--r-- | linux/debian/scripts/git2changelog.cfg | 3 | ||||
-rwxr-xr-x | linux/debian/scripts/git2changelog.py | 43 | ||||
-rwxr-xr-x | linux/travis-build.sh | 2 | ||||
-rw-r--r-- | win/opensuse-mingw-repo-location.patch | 24 | ||||
-rwxr-xr-x | win/travis-build.sh | 28 |
9 files changed, 120 insertions, 8 deletions
diff --git a/.travis.yml b/.travis.yml index 17fa7a7..79b3132 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,6 +19,7 @@ env: - BUILD_TYPE=snap - BUILD_TYPE=snap ARCH=i386 - BUILD_TYPE=debian + - BUILD_TYPE=win before_install: - linux/travis-build.sh before_install @@ -181,6 +181,14 @@ Build it: docker build -t nextcloud-client-win32:<version> client/admin/win/docker/ ``` +_Note: if you encounter an error at this step that the MinGW repository was not found, apply the patch at_ `win/opensuse-mingw-repo-location.patch` _and try again:_ + +```bash +cd client +patch -p1 < ../win/opensuse-mingw-repo-location.patch +cd .. +``` + ### Building the binary ```bash @@ -194,4 +202,4 @@ When we build releases there are two additional cmake parameters to consider: * `-DMIRALL_VERSION_SUFFIX=<STRING>`: for a generic suffix name such as `beta` or `rc1` * `-DMIRALL_VERSION_BUILD=<INT>`: an internal build number. Should be strictly increasing. This allows update detection from `rc` to `final` -Note that this had mostly usage on Windows and OS X. On linux the package manager will take care of all this. +Note that this had mostly usage on Windows and OS X. On Linux the package manager will take care of all this. diff --git a/client b/client -Subproject 820899d07102b990b19e8b02121221e41f7fbf0 +Subproject 57bc7918d7b0650c116f3512787f7677d4e5ab1 diff --git a/linux/debian/nextcloud-client/debian/patches/fix-application-icon-name.patch b/linux/debian/nextcloud-client/debian/patches/fix-application-icon-name.patch index c5f3363..1c645e2 100644 --- a/linux/debian/nextcloud-client/debian/patches/fix-application-icon-name.patch +++ b/linux/debian/nextcloud-client/debian/patches/fix-application-icon-name.patch @@ -23,8 +23,8 @@ Forwarded: <no|not-needed|url proving that it has been forwarded> Reviewed-By: <name and email of someone who approved the patch> Last-Update: 2016-12-20 ---- nextcloud-client-2.3.1.orig/client/mirall.desktop.in -+++ nextcloud-client-2.3.1/client/mirall.desktop.in +--- nextcloud-client-2.3.3.orig/client/mirall.desktop.in ++++ nextcloud-client-2.3.3/client/mirall.desktop.in @@ -5,7 +5,7 @@ Name=@APPLICATION_NAME@ desktop sync client Comment=@APPLICATION_NAME@ desktop synchronization client @@ -34,7 +34,7 @@ Last-Update: 2016-12-20 Keywords=@APPLICATION_NAME@;syncing;file;sharing; X-GNOME-Autostart-Delay=3 -@@ -962,168 +962,168 @@ +@@ -184,177 +184,177 @@ Comment[oc]=@APPLICATION_NAME@ sincronizacion del client GenericName[oc]=Dorsièr de Sincronizacion Name[oc]=@APPLICATION_NAME@ sincronizacion del client @@ -104,6 +104,11 @@ Last-Update: 2016-12-20 Name[fr]=Client de synchronisation @APPLICATION_NAME@ -Icon[fr]=@APPLICATION_EXECUTABLE@ +Icon[fr]=@APPLICATION_SHORTNAME@ + Comment[gl]=@APPLICATION_NAME@ cliente de sincronización para escritorio + GenericName[gl]=Sincronizar Cartafol + Name[gl]=@APPLICATION_NAME@ cliente de sincronización para escritorio +-Icon[gl]=@APPLICATION_EXECUTABLE@ ++Icon[gl]=@APPLICATION_SHORTNAME@ Comment[he]=@APPLICATION_NAME@ לקוח סנכון שולחן עבודה GenericName[he]=סנכון תיקייה Name[he]=@APPLICATION_NAME@ לקוח סנכרון שולחן עבודה @@ -207,7 +212,13 @@ Last-Update: 2016-12-20 Name[zh_CN]=@APPLICATION_NAME@ 桌面同步客户端 -Icon[zh_CN]=@APPLICATION_EXECUTABLE@ +Icon[zh_CN]=@APPLICATION_SHORTNAME@ + Comment[zh_HK]=桌面版同步客户端 GenericName[zh_TW]=資料夾同步 + Comment[es_AR]=Cliente de sincronización para escritorio @APPLICATION_NAME@ + GenericName[es_AR]=Sincronización de directorio + Name[es_AR]=Cliente de sincronización para escritorio @APPLICATION_NAME@ +-Icon[es_AR]=@APPLICATION_EXECUTABLE@ ++Icon[es_AR]=@APPLICATION_SHORTNAME@ Comment[lt_LT]=@APPLICATION_NAME@ darbalaukio sinchronizavimo programa GenericName[lt_LT]=Katalogo sinchnorizacija Name[lt_LT]=@APPLICATION_NAME@ darbalaukio programa diff --git a/linux/debian/scripts/git2changelog.cfg b/linux/debian/scripts/git2changelog.cfg new file mode 100644 index 0000000..d314b38 --- /dev/null +++ b/linux/debian/scripts/git2changelog.cfg @@ -0,0 +1,3 @@ +[versionhack] +commit = 30986d6 +tag = v2.3.3-beta diff --git a/linux/debian/scripts/git2changelog.py b/linux/debian/scripts/git2changelog.py index 7075652..52adffb 100755 --- a/linux/debian/scripts/git2changelog.py +++ b/linux/debian/scripts/git2changelog.py @@ -4,12 +4,37 @@ import subprocess import re import sys import datetime +import os +import ConfigParser distribution="yakkety" versionTagRE = re.compile("^v([0-9]+((\.[0-9]+)+))(-(.+))?$") +def processVersionTag(tag): + m = versionTagRE.match(tag) + if m: + return (m.group(1), "release" if m.group(4) is None else "beta") + else: + return None + def collectEntries(baseCommit, baseVersion, kind): + scriptdir = os.path.dirname(__file__) + configPath = os.path.join(scriptdir, "git2changelog.cfg") + + newVersionCommit = None + newVersionTag = None + newVersionOrigTag = None + + if os.path.exists(configPath): + config = ConfigParser.SafeConfigParser() + config.read(configPath) + if config.has_section("versionhack"): + if config.has_option("versionhack", "commit") and \ + config.has_option("versionhack", "tag"): + newVersionCommit = config.get("versionhack", "commit") + newVersionTag = config.get("versionhack", "tag") + entries = [] args = ["git", "log", @@ -20,17 +45,26 @@ def collectEntries(baseCommit, baseVersion, kind): except: output = subprocess.check_output(args) + + lastVersionTag = None for line in output.splitlines(): (commit, name, email, date, revdate, subject) = line.split("\t") revdate = datetime.datetime.utcfromtimestamp(long(revdate)).strftime("%Y%m%d.%H%M%S") + if commit==newVersionCommit: + result = processVersionTag(newVersionTag) + if result: + newVersionOrigTag = lastVersionTag + (baseVersion, kind) = result + for tag in subprocess.check_output(["git", "tag", "--points-at", commit]).splitlines(): - m = versionTagRE.match(tag) - if m: - baseVersion = m.group(1) - kind = "release" if m.group(4) is None else "beta" + if tag!=newVersionOrigTag: + result = processVersionTag(tag) + if result: + lastVersionTag = tag + (baseVersion, kind) = result entries.append((commit, name, email, date, revdate, subject, baseVersion, kind)) @@ -60,6 +94,7 @@ def genChangeLogEntries(f, entries, distribution): return (latestBaseVersion, latestKind) if __name__ == "__main__": + distribution = sys.argv[2] #entries = collectEntries("8aade24147b5313f8241a8b42331442b7f40eef9", "2.2.4", "release") diff --git a/linux/travis-build.sh b/linux/travis-build.sh index 9da9f70..8049151 100755 --- a/linux/travis-build.sh +++ b/linux/travis-build.sh @@ -83,6 +83,8 @@ elif [ "$BUILD_TYPE" == "snap" ]; then fi elif [ "$BUILD_TYPE" == "debian" ]; then linux/debian/travis-build.sh "$@" +elif [ "$BUILD_TYPE" == "win" ]; then + win/travis-build.sh "$@" else echo 'No $BUILD_TYPE defined' exit 1 diff --git a/win/opensuse-mingw-repo-location.patch b/win/opensuse-mingw-repo-location.patch new file mode 100644 index 0000000..da57941 --- /dev/null +++ b/win/opensuse-mingw-repo-location.patch @@ -0,0 +1,24 @@ +Description: Update the repository location for MinGW. + + Windows builds failed because this dependency was not at the specified + location. This patch can be applied to the client submodule to update the + Dockerfile with a path to MinGW for openSUSE Leap instead. This change has + been applied upstream in owncloud/client at 6be122e (PR owncloud/client#5900) + but is not included in the 2.3.3 release. + +Last-Update: 2017-10-04 +Author: Taylor Smith <tsmith@tsmithcreative.com> + +diff --git a/admin/win/docker/Dockerfile b/admin/win/docker/Dockerfile +index 8e40a49..1629b97 100644 +--- a/admin/win/docker/Dockerfile ++++ b/admin/win/docker/Dockerfile +@@ -8,7 +8,7 @@ ENV HOME /root + ENV REFRESHED_AT 20160421 + + RUN zypper --non-interactive --gpg-auto-import-keys refresh +-RUN zypper --non-interactive --gpg-auto-import-keys ar http://download.opensuse.org/repositories/windows:/mingw/openSUSE_42.1/windows:mingw.repo ++RUN zypper --non-interactive --gpg-auto-import-keys ar http://download.opensuse.org/repositories/windows:/mingw/openSUSE_Leap_42.1/windows:mingw.repo + RUN zypper --non-interactive --gpg-auto-import-keys ar http://download.opensuse.org/repositories/isv:ownCloud:toolchains:mingw:win32:2.3/openSUSE_Leap_42.1/isv:ownCloud:toolchains:mingw:win32:2.3.repo + RUN zypper --non-interactive --gpg-auto-import-keys install cmake make mingw32-cross-binutils mingw32-cross-cpp mingw32-cross-gcc \ + mingw32-cross-gcc-c++ mingw32-cross-pkg-config mingw32-filesystem \ diff --git a/win/travis-build.sh b/win/travis-build.sh new file mode 100755 index 0000000..200558d --- /dev/null +++ b/win/travis-build.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Adapted from the Debian travis-build.sh to test building a Windows binary +# according to the build instructions in README.md + +set -xe +shopt -s extglob + +TRAVIS_BUILD_STEP="$1" + +if [ "$TRAVIS_BUILD_STEP" == "install" ]; then + # @TODO: This patch updates the repo location of mingw _in the origin repo_ + # because repositories/windows:/mingw/openSUSE_42.1/windows:mingw.repo has + # been moved to openSUSE Leap 42.1. This has been applied upstream but is + # not included in their 2.3.3 tag. This should be removed and the patch + # deleted when it is no longer needed to build, presumably in the next + # release. See owncloud/client at 6be122e (PR owncloud/client#5900). + cd client + patch -p1 < ../win/opensuse-mingw-repo-location.patch + cd .. + # /end patch + +elif [ "$TRAVIS_BUILD_STEP" == "script" ]; then + read basever kind <<<$(linux/debian/scripts/git2changelog.py /tmp/tmpchangelog stable) + + docker build -t nextcloud-client-win32:${basever} client/admin/win/docker/ + docker run -v "$PWD:/home/user/" nextcloud-client-win32:${basever} /home/user/win/build.sh $(id -u) +fi |