Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dequis/purple-facebook.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjgeboski <jgeboski@gmail.com>2015-12-20 05:21:33 +0300
committerjgeboski <jgeboski@gmail.com>2015-12-20 19:53:07 +0300
commit1aae55be6fd0dd24c3944b532a04426954ab171e (patch)
tree218038b65179e4efe5f11503a33d13d5918ea8c9
parenta418f60b7498c4e9d2f92f4048855003d38b5f4f (diff)
travis: handle packaging for OBS and windows
-rw-r--r--.travis.yml49
-rw-r--r--.travis/keybin0 -> 1680 bytes
-rwxr-xr-x.travis/obs.sh49
-rwxr-xr-x.travis/win32-build.sh10
-rwxr-xr-x.travis/win32-deploy.sh11
-rwxr-xr-x.travis/win32-install.sh24
-rwxr-xr-xupdate.sh13
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
new file mode 100644
index 0000000..895439c
--- /dev/null
+++ b/.travis/key
Binary files differ
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
diff --git a/update.sh b/update.sh
index e979f66..f42081e 100755
--- a/update.sh
+++ b/update.sh
@@ -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)