X-Git-Url: https://git.arvados.org/arvados-dev.git/blobdiff_plain/0e301da832ce612d42488c2ad69addf1f44ee85f..d30c7f8b3210ae1e825033e852c369d16b7e48f1:/jenkins/run-build-packages.sh?ds=sidebyside diff --git a/jenkins/run-build-packages.sh b/jenkins/run-build-packages.sh index df0a852..42b42da 100755 --- a/jenkins/run-build-packages.sh +++ b/jenkins/run-build-packages.sh @@ -105,8 +105,24 @@ case "$TARGET" in oauth2client pyasn1==0.1.7 pyasn1-modules==0.0.5 \ rsa uritemplate httplib2 ws4py \ virtualenv pykka apache-libcloud requests six pyexecjs jsonschema \ - ciso8601 pycrypto backports.ssl_match_hostname pycurl) - PYTHON3_BACKPORTS=(docker-py six requests) + ciso8601 pycrypto backports.ssl_match_hostname pycurl llfuse) + PYTHON3_BACKPORTS=(docker-py six requests websocket-client) + ;; + debian8) + FORMAT=deb + FPM_OUTDIR=tmp + REPO_UPDATE_CMD='freight add *deb apt/jessie && freight cache && rm -f *deb' + + PYTHON2_PACKAGE=python$PYTHON2_VERSION + PYTHON2_PKG_PREFIX=python + PYTHON3_PACKAGE=python$PYTHON3_VERSION + PYTHON3_PKG_PREFIX=python3 + PYTHON_BACKPORTS=(python-gflags pyvcf google-api-python-client \ + oauth2client pyasn1==0.1.7 pyasn1-modules==0.0.5 \ + rsa uritemplate httplib2 ws4py \ + virtualenv pykka apache-libcloud requests six pyexecjs jsonschema \ + ciso8601 pycrypto backports.ssl_match_hostname pycurl llfuse) + PYTHON3_BACKPORTS=(docker-py six requests websocket-client) ;; ubuntu1204) FORMAT=deb @@ -121,8 +137,8 @@ case "$TARGET" in oauth2client pyasn1==0.1.7 pyasn1-modules==0.0.5 \ rsa uritemplate httplib2 ws4py \ virtualenv pykka apache-libcloud requests six pyexecjs jsonschema \ - ciso8601 pycrypto backports.ssl_match_hostname pycurl) - PYTHON3_BACKPORTS=(docker-py six requests) + ciso8601 pycrypto backports.ssl_match_hostname pycurl llfuse) + PYTHON3_BACKPORTS=(docker-py six requests websocket-client) ;; centos6) FORMAT=rpm @@ -204,7 +220,7 @@ version_from_git() { # Generates a version number from the git log for the current working # directory, and writes it to stdout. local git_ts git_hash - declare $(TZ=UTC git log -n1 --first-parent --max-count=1 \ + declare $(TZ=UTC git log -n1 --first-parent \ --format=format:"git_ts=%ct git_hash=%h" .) echo "0.1.$(date -ud "@$git_ts" +%Y%m%d%H%M%S).$git_hash" } @@ -213,7 +229,7 @@ timestamp_from_git() { # Generates a version number from the git log for the current working # directory, and writes it to stdout. local git_ts git_hash - declare $(TZ=UTC git log -n1 --first-parent --max-count=1 \ + declare $(TZ=UTC git log -n1 --first-parent \ --format=format:"git_ts=%ct git_hash=%h" .) echo "$git_ts" } @@ -506,15 +522,15 @@ if [[ "$DEBUG" != 0 ]]; then git checkout master git pull # go into detached-head state - git checkout `git log --format=format:%h -n1 .` + git checkout `git log --format=format:%h -n1 --first-parent .` else git checkout -q master git pull -q # go into detached-head state - git checkout -q `git log --format=format:%h -n1 .` + git checkout -q `git log --format=format:%h -n1 --first-parent .` fi -git log --format=format:%H -n1 . > git-commit.version +git log --format=format:%H -n1 --first-parent . > git-commit.version # Build arvados src deb package cd "$WORKSPACE" @@ -607,7 +623,7 @@ fpm_build_and_scp $GOPATH/bin/crunchstat=/usr/bin/crunchstat crunchstat 'Curover # whip up a patch and send it upstream, but that will be for another day. Ward, # 2014-05-15 cd $WORKSPACE/packages/$TARGET -fpm_build_and_scp $WORKSPACE/sdk/python "${PYTHON2_PKG_PREFIX}-arvados-python-client" 'Curoverse, Inc.' 'python' "$(awk '($1 == "Version:"){print $2}' $WORKSPACE/sdk/python/arvados_python_client.egg-info/PKG-INFO)" "--url=https://arvados.org" "--description=The Arvados Python SDK" +fpm_build_and_scp $WORKSPACE/sdk/python "${PYTHON2_PKG_PREFIX}-arvados-python-client" 'Curoverse, Inc.' 'python' "$(awk '($1 == "Version:"){print $2}' $WORKSPACE/sdk/python/arvados_python_client.egg-info/PKG-INFO)" "--url=https://arvados.org" "--description=The Arvados Python SDK" --deb-recommends=git # The FUSE driver # Please see comment about --no-python-fix-name above; we stay consistent and do @@ -636,6 +652,18 @@ for deppkg in "${PYTHON3_BACKPORTS[@]}"; do fpm_build_and_scp "$deppkg" "$outname" "" python3 done +# libpam-arvados +cd $WORKSPACE/sdk/pam +PKG_VERSION=$(version_from_git) +cd $WORKSPACE/packages/$TARGET + +if [[ "$FORMAT" == "deb" ]]; then + fpm_build_and_scp $WORKSPACE/sdk/pam/debian/shellinabox=/etc/pam.d/shellinabox libpam-arvados 'Curoverse, Inc.' 'dir' "$PKG_VERSION" "--url=https://arvados.org" "--license=Apache License, Version 2.0" "--description=PAM module for Arvados" "--config-files=/etc/default" "-d libpam-python" $WORKSPACE/sdk/pam/arvados_pam.py=/usr/bin/arvados_pam.py $WORKSPACE/sdk/pam/debian/arvados_pam=/etc/default/arvados_pam +#else + # FIXME enable and test once we have the centos pam.d file + #fpm_build_and_scp $WORKSPACE/sdk/pam/centos/shellinabox=/etc/pam.d/shellinabox libpam-arvados 'Curoverse, Inc.' 'dir' "$PKG_VERSION" "--url=https://arvados.org" "--license=Apache License, Version 2.0" "--description=PAM module for Arvados" "--config-files=/etc/default" "-d libpam-python" $WORKSPACE/sdk/pam/arvados_pam.py=/usr/bin/arvados_pam.py $WORKSPACE/sdk/pam/centos/arvados_pam=/etc/default/arvados_pam +fi + # Build the API server package cd "$WORKSPACE/services/api" @@ -718,8 +746,9 @@ fi # from the package - empty it instead. rm -rf $WORKSPACE/apps/workbench/tmp/* -# Set up application.yml so that asset precompilation works +# Set up application.yml and production.rb so that asset precompilation works \cp config/application.yml.example config/application.yml -f +\cp config/environments/production.rb.example config/environments/production.rb -f sed -i 's/secret_token: ~/secret_token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/' config/application.yml RAILS_ENV=production RAILS_GROUPS=assets bundle exec rake assets:precompile >/dev/null