diff options
author | jgeboski <jgeboski@gmail.com> | 2015-12-20 05:21:33 +0300 |
---|---|---|
committer | jgeboski <jgeboski@gmail.com> | 2015-12-20 19:53:07 +0300 |
commit | 1aae55be6fd0dd24c3944b532a04426954ab171e (patch) | |
tree | 218038b65179e4efe5f11503a33d13d5918ea8c9 | |
parent | a418f60b7498c4e9d2f92f4048855003d38b5f4f (diff) |
travis: handle packaging for OBS and windows
-rw-r--r-- | .travis.yml | 49 | ||||
-rw-r--r-- | .travis/key | bin | 0 -> 1680 bytes | |||
-rwxr-xr-x | .travis/obs.sh | 49 | ||||
-rwxr-xr-x | .travis/win32-build.sh | 10 | ||||
-rwxr-xr-x | .travis/win32-deploy.sh | 11 | ||||
-rwxr-xr-x | .travis/win32-install.sh | 24 | ||||
-rwxr-xr-x | update.sh | 13 |
7 files changed, 143 insertions, 13 deletions
diff --git a/.travis.yml b/.travis.yml index 6ed6cb4..0b1f948 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,17 +10,52 @@ compiler: - gcc env: - - ANALYZER="" - - ANALYZER="scan-build -k --status-bugs" + global: + - secure: "de18DuRkeapGDbP+1u4+5lgUTeZeVdZVKZdeULv2PbArf+XjAGp1XIRPCLQ0tmrmGZuOb4Py8Hm+mrFgmli+maoUV8dxqN0oLMFgcRyAzwHfHohMNNLn+0VTmxc2S36EHx0iYzPcLU8xADv2fWgG008Ql093UlPivTHB26uC22hdX8HBkF2mtLtlSPrWtJk2Ojr53hCZZCiw0b5SpgFtvcPHkDbmp54XlK4fSGyX0rcLaQHcJZxe7A0hFE4tEB+exxp4UgBckeP7gEQLwmw6XXwt/vQcNXy75qtw0RvrLvnJDMZZM2cBbBcHug+9ORNS5WrSTcJ16Onjq+qZBC++hniJHPtLFqLymmvVt3+qLhSlOyFIxPCPCUMenOiXI1rHyMgAiZFJDwFeInm97rBnS0CKUuZ7/x+8kK/T8pSqjGLXczJ5SDhBZvaBrkyrqB9lGmDFPTK9+v/XwZl6FZncAT1CqlU070ZsfRQJlx8K41OJ534nUaxutPG32BY+2AODmmusYygVVXI0yF6ry5nuWsV6RqBa5wrg8ZQx64yYxk7BPsIpKvCiiBeHfkHZt7C4CDdrQD6+kQVuB13TXI74Uv2olzp3RSRmii8eCU9RtCZeF7GmYFbEG5PPYX5kFKBn4u90ctVBc7Sb5jWOqIMaYjCtmT5+B6lRPrUeemh4P2o=" + - secure: "lgKD/7KlClD77CLnQzvIuIsdDhTwACtRzL0vuqIGBlyclTO+UVC7vIQ6RyOt1Jab9Vg77xItsyRgZqbjDnE/4Vml614rrSfPAaHCBCvf3Z9j7/oqv0maYmX7bhN3/nbkru2LeQMQENZO5CyhYpHcoqPfqEwdryOx4TUj3Tt75QjCfzWr5IM4g8327M+In8NhoovwI+5FMGZUTJZxyAAD8KgdCxnRk8U2c2M096eDObilwEQoD69gM/ZJ8aAyGZkKmGbAkLP8bSx9u6DYAiT3vhRJwopX99u1Y4V8zEik9tqFZYyWlJLrd0wz4EkAN6jdG4rbhyZ33jVr2zMsAnqMeVnB0tLdw7ajWTSOHMwqyK+S8GMDZ87iwQknmE8Zn9wghtJdHTOTJGScFUkS35vOjBXPg2zB6FKP2RAioRBYQfnSV5PWWfADj2j7X6hEsCqO+rdOGq/GPQcRBiveAalq4vcciAaVr01xjU1d7dBSGiMMLWtnWWJfcCwDsJ8lhcNbDXSrfDXRDmO7OsTXzP9Dzc6moJdmOmJVCcdXPjYJGuDHPsDd9qRlx0wXMKzKrHIf/fgwx304EA68OA4j5WkEKcqYYlhzjTG83CKAwLP/8gQ8gsgOeeDeCEyKHN/bmr8Jb7kDYHat34NElEwYpW558rE1U7cNxQtyzaDN7nY/9dg=" + - secure: "WF5OAKWYgKdPO7H6UuLoDupfJyjzJlVxXd3IQR/Dq6eytDF5k5tzsRkqE8BwbpmX51bgbWAhxU+9yeyb7GDNp6koIDltgMYCqt7KZsstKjz7fHSqkjqxmzzXA3reKO/iOz7eddPPrhsliNpsx7iEC8/HWE3hXuyL68SlPzLpFK1h4o2rJMPF9VNmS1hruY21qiuEltxEmqYMR9skMKfddebNChp23pza8i6MWkBIMDsAiZ0ek5WVerWHM8+5/NZx/kKPG0wDThvKsB5lLF8OqlsbBO2AyQMxvQVxHgx6rK3y9GOPiAdVyJHPQHk66hFDkWCkak5xTcbbOJ0P8Qou5A+c/BM9Cyy2W6m4M3BboOD9oso49veAF7p6bcL/QZwEUr/MlJFGfWez9UQaRfESn3kipF/Jhct6OOk+M50DBrVsHgL5ph8y8GJiU7xpKOHeUjM5iB4GJimjotR9u3YYxszbQxjpQ0MG2vnTUNQ1YEnTJ384Y+OQI9KXCjhmxfgymZ3/UyZd9EPnfc8gi2SCr8+xtogA4Bxkz12EEM9vdS195I0dot0OQYlYpZL0HsBMEirsKr049mX6A+Ca8WKUVPqZnqNfbpg80G/F/+hToGTkFoUmOCkpIhwvJb1zMbMLHQhDv1k5YqIcIMg8dY1sxO2IvVsueDBSEqhtZUPNxgQ=" + - secure: "QOIE9TZzTYgFfMPVhwvOEo8buxU0s6/a2+vBsOprAw94juhafpPyiBEUzqyzVLJX+ZY3aVt+s6ch4y4ehEwmyWnqJzxKg6CIy3dGLaBEW+GvZDVtTj1rC3Q/bkPB/MrHkChv08o1Ysb8yQ0gF0GWS+wUQ3m58qgKYMH/ve0Tt76AMBxVU548j1CdKKF1SO6bedCDhX8txiB4MeYWV6pfripYIMcjL5w3fHN8LIw/ctc8APPr2owIJ6rxv8scQXfWWpgCJVxHCZaP7TP5HwLnjFPX+UNpxlH7ZDm+opA9clep5Q1SDmDgUcXT3aMXjRulbzJxcKXXiVNfByEm+Gu85W+c0ka0rXvcKtRZmpwprbiBnMQ+bP/1MqicNkjCLDT/EFMzX0Bo2Kzwu/9Wc/VdAohnIWq03NUsErTL8CGmkI5QhCBJ4nBY1u87wpkOghq95woqxhiC7VI+qV26u0JNBf3miUD5nUfSTS1Ym7BoeEgKFUViDeX7P7LMzKoGfM0+Clutpemq0FuLRP+Ez+4a//UhY42TxUAfdPUCPmGrcm0DlHAa1cZYa2jPcTHOB7trvk31AUgNFCTa36SbLeEym8Z68Z8/8XOLw7Hej8wYSewmc/xwXAq3jNOXh9DAKc4ktOv7EC8fmdCM8qzUDkOzkEcG+tOB7DNPHQi/ZqoNdMk=" + - MY_DEPLOY_BRANCH=master + - pidgindir=/tmp/pidgin before_install: + - echo "deb http://download.opensuse.org/repositories/openSUSE:/Tools/xUbuntu_$(lsb_release -rs) ./" + | sudo tee /etc/apt/sources.list.d/suse.list + - curl -s "http://download.opensuse.org/repositories/openSUSE:/Tools/xUbuntu_$(lsb_release -rs)/Release.key" + | sudo apt-key add - - sudo apt-get update -qq - sudo apt-get install -qq - --no-install-recommends - clang - libjson-glib-dev - libpurple-dev + --no-install-recommends + binutils-mingw-w64-i686 + clang + gcc-mingw-w64-i686 + libjson-glib-dev + libpurple-dev + osc + - mkdir -p ~/.ssh + - openssl aes-256-cbc + -K $encrypted_1a8668021c4a_key + -iv $encrypted_1a8668021c4a_iv + -in .travis/key -out ~/.ssh/id_rsa -d + - chmod 600 ~/.ssh/id_rsa + +install: + - .travis/win32-install.sh + +before_script: + - ./update.sh script: - CFLAGS="-Werror" ./autogen.sh --enable-warnings - - ${ANALYZER} make + - make + - make clean + - scan-build -k --status-bugs make + - .travis/win32-build.sh + +after_success: + - .travis/win32-deploy.sh + - .travis/obs.sh + +after_script: + - shred ~/.ssh/id_rsa + - rm -f ~/.ssh/id_rsa diff --git a/.travis/key b/.travis/key Binary files differnew file mode 100644 index 0000000..895439c --- /dev/null +++ b/.travis/key diff --git a/.travis/obs.sh b/.travis/obs.sh new file mode 100755 index 0000000..0ffbe11 --- /dev/null +++ b/.travis/obs.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +[ "${TRAVIS_PULL_REQUEST}" == "false" -a \ + "${TRAVIS_BRANCH}" == "${MY_DEPLOY_BRANCH}" \ +] || exit +set -e + +FULLVERS="$(date +%Y%m%d)~$(git rev-parse --short=7 HEAD)~${TRAVIS_BUILD_NUMBER}" +FULLDATE=$(date -R) +REPONAME=$(basename "${TRAVIS_REPO_SLUG}") + +git reset -q --hard +git clean -dfqx +./update.sh + +sed -ri \ + -e "20 s/^(\s+).*(,)\$/\1\[${FULLVERS}\]\2/" \ + configure.ac +sed -ri \ + -e "s/(^Build-Depends:.*)/\1, libzephyr4/" \ + debian/control + +cat <<EOF > debian/changelog +${REPONAME} (${FULLVERS}) UNRELEASED; urgency=medium + + * Updated to ${FULLVERS}. + + -- Travis CI <travis@travis-ci.org> ${FULLDATE} +EOF + +cat <<EOF > ~/.oscrc +[general] +apiurl = https://api.opensuse.org +[https://api.opensuse.org] +user = ${OBSUSER} +pass = ${OBSPASS} +EOF + +mkdir -p m4 +osc checkout "home:${OBSUSER}" "${REPONAME}" -o /tmp/obs + +( + cd /tmp/obs + rm -f *.{dsc,tar.gz} + dpkg-source -I -b "${TRAVIS_BUILD_DIR}" + + osc addremove -r + osc commit -m "Updated to ${FULLVERS}" +) diff --git a/.travis/win32-build.sh b/.travis/win32-build.sh new file mode 100755 index 0000000..db27077 --- /dev/null +++ b/.travis/win32-build.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -e + +CC="i686-w64-mingw32-gcc" \ +DLL_LD_FLAGS="-static-libgcc" \ +make -f Makefile.mingw \ + install \ + GLIB_GENMARSHAL="glib-genmarshal" \ + PLUGIN_VERSION="${VERSION}" \ + WIN32_TREE_TOP="win32-dev/pidgin-2.10.11" diff --git a/.travis/win32-deploy.sh b/.travis/win32-deploy.sh new file mode 100755 index 0000000..85800ac --- /dev/null +++ b/.travis/win32-deploy.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +[ "${TRAVIS_PULL_REQUEST}" == "false" -a \ + "${TRAVIS_BRANCH}" == "${MY_DEPLOY_BRANCH}" \ +] || exit +set -e + +sftp -qo StrictHostKeyChecking=no -P ${SSHPORT} ${SSHUSER} -b <<EOF +cd pidgin +put win32-install-dir/plugins/libfacebook.dll +EOF diff --git a/.travis/win32-install.sh b/.travis/win32-install.sh new file mode 100755 index 0000000..579b612 --- /dev/null +++ b/.travis/win32-install.sh @@ -0,0 +1,24 @@ +#!/bin/bash +set -e + +wget -nv -nc -P downloads/mingw-4.7.2 \ + http://downloads.sourceforge.net/mingw/MinGW/Base/gcc/Version4/gcc-4.7.2-1/libssp-4.7.2-1-mingw32-dll-0.tar.lzma + +wget -nv -nc -P downloads/glib-2.28.8 \ + http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev_0.18.1.1-2_win32.zip \ + http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev_1.2.5-2_win32.zip \ + http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.28/glib-dev_2.28.8-1_win32.zip + +wget -nv -nc -P downloads \ + https://github.com/jgeboski/purple-facebook/releases/download/downloads/json-glib-0.14.tar.gz \ + https://github.com/jgeboski/purple-facebook/releases/download/downloads/pidgin-2.10.11.tar.gz + +for DIR in glib-2.28.8 mingw-4.7.2 .; do + mkdir -p "win32-dev/${DIR}" + find "downloads/${DIR}" -maxdepth 1 -iname '*.tar.*' \ + -exec tar xf "{}" -C "win32-dev/${DIR}" \; + find "downloads/${DIR}" -maxdepth 1 -iname '*.zip' \ + -exec unzip -qq "{}" -d "win32-dev/${DIR}" \; +done + +ln -sf ../../mingw-4.7.2/bin/libssp-0.dll win32-dev/glib-2.28.8/lib/libssp.dll @@ -10,22 +10,23 @@ fi test -z "$srcdir" && srcdir=$(dirname "$0") test -z "$srcdir" && srcdir=. +test -z "$pidgindir" && pidgindir=.pidgin cd "$srcdir" REVISION=$(cat VERSION) -if ! test -d .pidgin/.hg; then - rm -rf .pidgin - hg clone "$URL" .pidgin +if ! test -d "$pidgindir/.hg"; then + rm -rf "$pidgindir" + hg clone "$URL" "$pidgindir" fi -hg -R .pidgin -v pull -hg -R .pidgin -v update -C "$REVISION" +hg -R "$pidgindir" -v pull +hg -R "$pidgindir" -v update -C "$REVISION" rm -rf pidgin for FILE in $(cat MANIFEST_PIDGIN); do mkdir -p $(dirname "pidgin/$FILE") - cp ".pidgin/$FILE" "pidgin/$FILE" + cp "$pidgindir/$FILE" "pidgin/$FILE" done touch $(cat MANIFEST_VOIDS) |