diff options
author | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2016-12-13 22:56:13 +0100 |
---|---|---|
committer | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2016-12-13 22:56:23 +0100 |
commit | 87163311e2e86e28f49661ef12cab55b210ae182 (patch) | |
tree | 7d522a033756c1dc553d72ab133a92876467958c | |
parent | 25c2312e39c64e381997bd15c6f03164f3d78168 (diff) | |
download | blogc-87163311e2e86e28f49661ef12cab55b210ae182.tar.gz blogc-87163311e2e86e28f49661ef12cab55b210ae182.tar.bz2 blogc-87163311e2e86e28f49661ef12cab55b210ae182.zip |
lambda: add more dependencies
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | Makefile.am | 23 | ||||
-rwxr-xr-x | build-aux/travis-build-github-lambda.sh | 41 | ||||
-rwxr-xr-x | build-aux/travis-build.sh | 13 | ||||
-rw-r--r-- | src/blogc-github-lambda/lambda_function.py | 8 |
5 files changed, 56 insertions, 31 deletions
@@ -34,6 +34,7 @@ Makefile.in /build-aux/* !/build-aux/git-version-gen !/build-aux/travis-build.sh +!/build-aux/travis-build-github-lambda.sh !/build-aux/travis-deploy.sh !/build-aux/valgrind.sh @@ -94,3 +95,4 @@ blogc-*.rpm /src/blogc-github-lambda/*.pyo /build/ +/root/ diff --git a/Makefile.am b/Makefile.am index 104ec83..ba3f12a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -703,25 +703,4 @@ valgrind: all endif -## Helpers: blogc-github-lambda - -blogc-github-lambda-$(VERSION).zip: blogc $(top_srcdir)/LICENSE $(top_srcdir)/src/blogc-github-lambda/lambda_function.py - -rm -f blogc-github-lambda-$(VERSION).zip - $(MKDIR_P) src/blogc-github-lambda - $(INSTALL) -m 644 \ - $(top_srcdir)/LICENSE \ - src/blogc-github-lambda/ - $(INSTALL) -m 644 -C \ - $(top_srcdir)/src/blogc-github-lambda/lambda_function.py \ - src/blogc-github-lambda/ - $(INSTALL) -m 755 \ - blogc \ - src/blogc-github-lambda/blogc - $(STRIP) src/blogc-github-lambda/blogc - cd src/blogc-github-lambda && \ - zip -rq $(abs_top_builddir)/blogc-github-lambda-$(VERSION).zip LICENSE blogc lambda_function.py - -blogc-github-lambda: blogc-github-lambda-$(VERSION).zip - - -.PHONY: dist-srpm valgrind blogc-github-lambda +.PHONY: dist-srpm valgrind diff --git a/build-aux/travis-build-github-lambda.sh b/build-aux/travis-build-github-lambda.sh new file mode 100755 index 0000000..1a41077 --- /dev/null +++ b/build-aux/travis-build-github-lambda.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +set -ex + +PV_DEPS=2 + +PN_DEPS="blogc-lambda-deps" +P_DEPS="${PN_DEPS}-${PV_DEPS}" +A_DEPS="${P_DEPS}.tar.xz" +SRC_DEPS="https://travis-distfiles.rgm.io/${PN_DEPS}/${P_DEPS}/${P_DEPS}.tar.xz" + +rm -rf root build +mkdir -p root build + +wget -c "${SRC_DEPS}" "${SRC_DEPS}.sha512" +sha512sum -c "${A_DEPS}.sha512" +tar -xvf "${A_DEPS}" -C root/ + +pushd build > /dev/null +../configure \ + CFLAGS="-Wall -g -O0" \ + --enable-ronn \ + --disable-silent-rules \ + --enable-tests \ + --enable-valgrind \ + --enable-git-receiver \ + --enable-runserver +popd > /dev/null + +make -C build LDFLAGS="-all-static" blogc + +PV="$(grep PACKAGE_VERSION build/config.h | cut -d\" -f2)" + +install -m 755 build/blogc root/bin/blogc +install -m 644 src/blogc-github-lambda/lambda_function.py root/lambda_function.py +install -m 644 LICENSE root/licenses/blogc +strip root/bin/blogc + +pushd root/ > /dev/null +zip -rq "../blogc-github-lambda-${PV}.zip" * +popd > /dev/null diff --git a/build-aux/travis-build.sh b/build-aux/travis-build.sh index 9d72839..429622a 100755 --- a/build-aux/travis-build.sh +++ b/build-aux/travis-build.sh @@ -2,6 +2,11 @@ set -ex +if [[ "x${TARGET}" = "xblogc-github-lambda" ]]; then + build-aux/travis-build-github-lambda.sh + exit $? +fi + rm -rf build mkdir -p build @@ -16,10 +21,4 @@ pushd build > /dev/null --enable-git-receiver \ --enable-runserver -popd > /dev/null - -if [[ "x${TARGET}" = "xblogc-github-lambda" ]]; then - make -C build LDFLAGS="-all-static" "${TARGET}" -else - make -C build "${TARGET}" -fi +make -C build "${TARGET}" diff --git a/src/blogc-github-lambda/lambda_function.py b/src/blogc-github-lambda/lambda_function.py index 69ad395..9320544 100644 --- a/src/blogc-github-lambda/lambda_function.py +++ b/src/blogc-github-lambda/lambda_function.py @@ -23,6 +23,9 @@ import shutil cwd = os.path.dirname(os.path.abspath(__file__)) +os.environ['PATH'] = '%s:%s' % (os.path.join(cwd, 'bin'), + os.environ.get('PATH', '')) + GITHUB_AUTH = os.environ.get('GITHUB_AUTH') if GITHUB_AUTH is not None and ':' not in GITHUB_AUTH: GITHUB_AUTH = boto3.client('kms').decrypt( @@ -141,8 +144,9 @@ def lambda_handler(event, context): repo_name = payload['repository']['name'] repo_full_name = payload['repository']['full_name'] rootdir = get_tarball(repo_full_name) - rv = subprocess.call(['make', '-C', rootdir, 'OUTPUT_DIR=_build', - 'BLOGC=%s' % os.path.join(cwd, 'blogc')], + rv = subprocess.call([os.path.join(cwd, 'bin', 'make'), '-C', rootdir, + 'OUTPUT_DIR=_build', + 'BLOGC=%s' % os.path.join(cwd, 'bin', 'blogc')], stdout=None if debug else subprocess.PIPE, stderr=None if debug else subprocess.PIPE) if rv != 0: |