diff --git a/kde-kf5-artifact/Gemfile b/kde-kf5-artifact/Gemfile index fdea8d4..de80a0e 100644 --- a/kde-kf5-artifact/Gemfile +++ b/kde-kf5-artifact/Gemfile @@ -1,11 +1,10 @@ source 'http://rubygems.org' gem 'bundler' gem 'docker-api', git: 'https://github.com/swipely/docker-api' gem 'fileutils' gem 'logger' gem 'logger-colors' gem 'rspec' -gem 'rugged', git: 'https://github.com/libgit2/rugged.git', submodules: true gem 'test-unit' gem 'tty-command' gem 'zlib' diff --git a/kontact-appimage/Gemfile b/kontact-appimage/Gemfile index fdea8d4..de80a0e 100644 --- a/kontact-appimage/Gemfile +++ b/kontact-appimage/Gemfile @@ -1,11 +1,10 @@ source 'http://rubygems.org' gem 'bundler' gem 'docker-api', git: 'https://github.com/swipely/docker-api' gem 'fileutils' gem 'logger' gem 'logger-colors' gem 'rspec' -gem 'rugged', git: 'https://github.com/libgit2/rugged.git', submodules: true gem 'test-unit' gem 'tty-command' gem 'zlib' diff --git a/kontact-appimage/Jenkinsfile b/kontact-appimage/Jenkinsfile index 8540646..8893871 100644 --- a/kontact-appimage/Jenkinsfile +++ b/kontact-appimage/Jenkinsfile @@ -1,95 +1,108 @@ #!groovy /* The MIT License Copyright (c) 2015-, CloudBees, Inc., and a number of other of contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ pipeline { agent { node { label 'linux' } } environment { WORKSPACE=pwd() HOME="/var/jenkins_home" PATH="/opt/usr/bin:$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH" - JOB_NAME="kontact-appimage" + JOB_NAME="kde-appimage-kontact" + RBENV_VERSION="2.5.0" } options { disableConcurrentBuilds() timestamps() + buildDiscarder(logRotator(numToKeepStr: '3', artifactNumToKeepStr: '3')) } - triggers { pollSCM('H */4 * * 1-5') - upstream(upstreamProjects: 'qt5-artifact,kde-common-deps-artifact,kde-kf5-artifact', threshold: hudson.model.Result.SUCCESS) - } stages { stage( 'Checkout' ) { steps { checkout changelog: true, poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, \ extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: '.']], submoduleCfg: [], userRemoteConfigs: [[url: 'https://anongit.kde.org/appimage-packaging']]] checkout changelog: true, poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, \ - extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: "$JOB_NAME/appimage-template"]], submoduleCfg: [], userRemoteConfigs: [[url: 'https://anongit.kde.org/sysadmin/appimage-tooling']]] + extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: "$JOB_NAME/appimage-template"]], submoduleCfg: [], userRemoteConfigs: [[url: 'https://gitlab.com/sgclarkkde/appimage-tooling.git']]] copyArtifacts projectName: "kde-kf5-artifact", selector: lastCompleted(), target: "${env.WORKSPACE}/${env.JOB_NAME}", flatten: true - sh "pwd && ls -l" } } stage( 'Setup' ) { steps { sh 'echo "gem: --no-rdoc --no-ri" >> $HOME/.gemrc' + sh ''' + echo "BUNDLE_PATH: ~/vendor/bundle" >> $HOME/.bundle/config + echo 'BUNDLE_DISABLE_SHARED_GEMS: "1"' >> $HOME/.bundle/config + ''' sh '''#!/usr/bin/env bash set -e - export PATH=$PATH:$HOME/.rbenv/bin + echo $PATH if [[ ! -d ~/.rbenv ]] ; then - git clone https://github.com/sstephenson/rbenv.git ~/.rbenv - git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build - if [[ ! -d $HOME/.rbenv/versions/2.4.1 ]] ; then - rbenv install 2.4.1 - fi - eval "$(rbenv init -)" - rbenv local 2.4.1 && gem install bundler && ls -l && bundle install --binstubs && bundle show rspec + git clone https://github.com/sstephenson/rbenv.git ~/.rbenv + git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build + git clone git://github.com/carsomyr/rbenv-bundler.git ~/.rbenv/plugins/bundler + rbenv init - + rbenv install 2.5.0 + rbenv rehash else - echo "Rbenv exists, moving on" - if [[ ! -d $HOME/.rbenv/versions/2.4.1 ]] ; then - rbenv install 2.4.1 - fi - eval "$(rbenv init -)" - rbenv local 2.4.1 && gem install bundler && ls -l && bundle install --binstubs && bundle show rspec - cd $JOB_NAME && bundle install + echo "Rbenv exists, moving on" + if [[ ! -d $HOME/.rbenv/versions/2.5.0 ]] ; then + rbenv install 2.5.0 + rbenv rehash + fi + fi + echo 'eval "$(rbenv init -)"' >> $HOME/.bashrc && rbenv init - + ''' + sh '''#!/usr/bin/env bash + set -e + if [[ ! -d $HOME/.gem ]] ; then + rm -rfv $HOME/.gem fi - + which ruby + ruby -v + gem install --no-ri --no-rdoc bundler && rbenv rehash ''' } } stage( 'Build' ) { steps { - sh "cd $JOB_NAME" - sh '''#!/usr/bin/env bash + sh 'rbenv init -' + sh 'which ruby && ruby -v' + sh '''#!/usr/bin/env bash set -e - cd $JOB_NAME - export PATH=$PATH:$HOME/.rbenv/bin - eval "$(rbenv init -)" - rbenv local 2.4.1 - bundle exec deploy.rb + echo $PATH + cd $JOB_NAME && chmod +x setup.sh + bundle lock --update + bundle install + bundle show rspec + rbenv rehash + bundle list --paths + bundle env + bundle exec ruby deploy.rb ''' } } stage('Tests') { steps { step([$class: 'LogParserPublisher', failBuildOnError: true, projectRulePath: "$JOB_NAME/appimage-template/parser.rules", showGraphs: true, unstableOnWarning: true, useProjectRule: true]) } } } } diff --git a/kontact-appimage/README.md b/kontact-appimage/README.md index 0592f05..d86338a 100644 --- a/kontact-appimage/README.md +++ b/kontact-appimage/README.md @@ -1,13 +1 @@ -# kmail -Master branch: -[![Build Status](http://aci.pangea.pub/job/kmail-master-appimage/badge/icon)](http://aci.pangea.pub/job/kmail-master-appimage/) - -AppImage for KDE kmail - -KMail is the email component of Kontact, the integrated personal information manager from KDE. - -https://www.kde.org/applications/utilities/kmail/ - -S3 Download: -master: -https://s3-eu-central-1.amazonaws.com/ds9-apps/index.html#!/kmail-master-appimage%2F +KDE Kontact appimage WIP diff --git a/kontact-appimage/Recipe.erb b/kontact-appimage/Recipe.erb index 0cf5e9e..e3fd705 100644 --- a/kontact-appimage/Recipe.erb +++ b/kontact-appimage/Recipe.erb @@ -1,194 +1,192 @@ #!/bin/bash # # Copyright (C) 2016 Scarlett Clark # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) version 3, or any # later version accepted by the membership of KDE e.V. (or its # successor approved by the membership of KDE e.V.), which shall # act as a proxy defined in Section 6 of version 3 of the license. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library. If not, see . cd / # Get helper functions wget -q https://github.com/probonopd/AppImages/raw/master/functions.sh -O ./functions.sh . ./functions.sh rm -f functions.sh mkdir /<%= name %>.AppDir/ cd / -wget https://github.com/probonopd/linuxdeployqt/releases/download/1/linuxdeployqt-1-x86_64.AppImage -chmod a+x linuxdeployqt-1-x86_64.AppImage +wget https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage +chmod a+x linuxdeployqt-continuous-x86_64.AppImage cd /<%= name %>.AppDir #Move binary/desktop/icon into AppDir mv /opt/usr/bin/<%= binary %> . mv /opt/usr/share/applications/org.kde.<%= binary %>.desktop <%= binary %>.desktop cp /opt/usr/share/icons/hicolor/48x48/apps/*<%= name %>* . #All the plugins do not seem to be getting in. Manual copy. mkdir -p ./plugins; cp -rfv /opt/usr/lib/qt5/plugins/phonon4qt5_backend $_ #mkdir -p ./usr/lib/qml/ mkdir -p ./usr/{share,bin,sbin,lib} mkdir ./etc #mv /opt/usr/plugins/akonadi/* ./plugins/ #mv /opt/usr/plugins/kf5/kio/* ./plugins/ cp -rfv /opt/usr/lib/grantlee ./plugins/ cp /opt/usr/lib/x86_64-linux-gnu/grantlee/5.1/* ./plugins/grantlee/5.1/ rsync -aruxv --progress /opt/usr/plugins/ ./plugins/ rsync -aruxv --progress /opt/usr/share/ ./usr/share/ rsync -aruxv --progress /opt/etc/ ./etc/ rsync -aruxv --progress /opt/usr/qml/ ./qml/ rsync -aruxv --progress /opt/usr/resources/ ./usr/bin/ rsync -aruxv --progress /opt/usr/translations/ ./usr/bin/ cp /usr/lib/x86_64-linux-gnu/pulseaudio/*.so* ./usr/lib/ cp /opt/usr/bin/gst* ./usr/bin/ mv /opt/usr/bin/*akonadi* ./usr/bin/ mv /opt/usr/bin/gidmigrator ./usr/bin/ mv /opt/usr/bin/msg* ./usr/bin/ cp /opt/usr/bin/k* ./usr/bin/ mv /opt/usr/bin/asapcat ./usr/bin/ mv /opt/usr/bin/accountwizard ./usr/bin/ mv /opt/usr/bin/ispdb ./usr/bin/ mv /usr/sbin/mysql* ./usr/sbin/ cp -rfv /usr/share/mysql ./usr/share/ mv /in/mysqld-akonadi ./usr/sbin/ chmod +x ./usr/sbin/mysqld-akonadi mv /in/mysql-global.conf ./etc/xdg/akonadi/ mkdir ./lib rm -rfv /opt/usr/lib/gstreamer-1.0/include cp /opt/usr/lib/gstreamer-1.0/* ./lib/ mv /opt/usr/lib/x86_64-linux-gnu/libfolderarchivesettings.so* ./lib/ mv /opt/usr/lib/x86_64-linux-gnu/libkmindexreader.so* ./lib/ mv /opt/usr/lib/x86_64-linux-gnu/libakonadi-singlefileresource.so* ./lib/ mv /opt/usr/lib/x86_64-linux-gnu/libmaildir.so* ./lib/ mv /opt/usr/lib/x86_64-linux-gnu/libKPimKDAV.so* ./lib/ mv /opt/usr/lib/x86_64-linux-gnu/libkwalletbackend5.so* ./lib/ cp /opt/usr/lib/x86_64-linux-gnu/libKPimGAPICore.so* ./lib/ cp /usr/lib/x86_64-linux-gnu/pulseaudio/*.so* ./lib/ cp /lib/x86_64-linux-gnu/libaio* ./lib/ cp /usr/lib/x86_64-linux-gnu/libhcrypto* ./lib/ cp /usr/lib/x86_64-linux-gnu/liblz4* ./lib/ cp -rfv /usr/share/mime ./usr/share/ cp /etc/mime.types ./etc/ update-mime-database ./usr/share/mime mv /opt/usr/libexec/Qt* ./usr/bin/ || true mv /opt/usr/lib/x86_64-linux-gnu/libexec/kf5/* ./usr/bin/ || true mv /opt/usr/libexec/gstreamer-1.0/* ./usr/bin || true cp -rfv /opt/usr/lib/x86_64-linux-gnu/* /opt/usr/lib/ unset LD_LIBRARY_PATH ../linuxdeployqt-1-x86_64.AppImage <%= name %> -verbose=3 -bundle-non-qt-libs -qmldir=/opt/usr/qml patch_usr glibc_needed delete_blacklisted #Cleanup # We don't bundle the developer stuff rm -rf ./usr/include || true rm -rf ./usr/lib/cmake || true rm -rf ./lib/cmake || true rm -rf ./usr/lib/pkgconfig || true rm -rf ./usr/share/ECM/ || true rm -rf ./usr/share/gettext || true rm -rf ./usr/share/pkgconfig || true rm -rf ./usr/mkspecs/ || true rm -rf ./usr/gettext-* || true rm -rf ./usr/autoconf-* || true rm -rf ./usr/automake-* || true rm -rf ./usr/libtool-* || true rm -rf ./libexec || true rm -rf ./usr/share/cmake-3.8 || true rm -rf ./usr/share/man || true rm -rf ./usr/share/doc/ECM || true rm -rf ./usr/share/doc/libdbusmenu-qt5-doc || true rm -rf ./usr/share/gtk-doc || true rm -rf ./usr/share/wallpapers || true rm -rf ./usr/share/aclocal || true rm -rf ./usr/share/bash-completion || true rm -rf ./usr/share/common-lisp || true rm -rf ./usr/share/cups || true rm -rf ./usr/share/doc/{cups,gettext,gnupg,libasprintf,pcre} || true rm -rf ./usr/share/gir-1.0 || true rm -rf ./usr/share/gnupg || true rm -rf ./usr/share/gobject-introspection-1.0 || true rm -rf ./usr/share/util-macros || true find . -name '*.a' -exec rm {} \; strip -g $(find . -type f -exec) || true #Add back libkrb5 cp /usr/lib/x86_64-linux-gnu/libkrb5* ./lib/ get_desktopintegration <%= name %> cd /app/src git clone git://anongit.kde.org/scratch/brauch/appimage-exec-wrapper cd /app/src/appimage-exec-wrapper/ make clean make cp -v exec.so /<%= name %>.AppDir/exec_wrapper.so rm -rfv /app/src/appimage-exec-wrapper cd /<%= name %>.AppDir rm AppRun #Create AppRun cat > AppRun << EOF #!/bin/bash DIR="\`dirname \"\$0\"\`" HERE="\`( cd \"\$DIR\" && pwd )\`" export LD_PRELOAD=\$HERE/exec_wrapper.so export QML2_IMPORT_PATH=\$HERE/qml export QT_PLUGIN_PATH=\$HERE/plugins export GRANTLEE_PLUGIN_PATH=\$HERE/plugins export PATH=\$HERE/usr/bin/:\$HERE/usr/sbin/:\$HERE/usr/games/:\$HERE/bin/:\$HERE/sbin/:\$PATH export LD_LIBRARY_PATH=\$HERE/usr/lib/:\$HERE/usr/lib/x86_64-linux-gnu/:\$HERE/usr/lib64/:\$HERE/lib/:\$HERE/lib/x86_64-linux-gnu/:\$HERE/lib64/:\$LD_LIBRARY_PATH export XDG_DATA_DIRS=\$HERE/usr/share:\$HOME/.local/share:\$HERE/share:/usr/local/share/:/usr/share:\$XDG_DATA_DIRS export XDG_DATA_HOME=\$HOME/.local/share export XDG_CONFIG_DIRS=\$HERE/.config:\$HERE/etc/xdg:\$XDG_CONFIG_DIRS export KDE_FORK_SLAVES=1 export KF5_LIBEXEC_DIR=\$HERE/usr/bin export GST_PLUGIN_PATH=\$HERE/lib export GST_PLUGIN_SCANNER=\$HERE/bin \$HERE/usr/bin/kwalletd export AKONADI_DISABLE_AGENT_AUTOSTART \$HERE/usr/bin/akonadictl --instance kmail_appimage start export AKONADI_INSTANCE=kmail_appimage \$HERE/usr/sbin/mysql --protocol=SOCKET --socket=~/.local/share/akonadi/instance/kmail_appimage/socket-$(hostname)/mysql.socket <%= binary %> $@ \$HERE/usr/bin/akonadictl --instance kmail_appimage stop \$HERE/usr/sbin/mysqladmin --no-defaults --default-character-set=utf8 --socket=~/.local/share/akonadi/instance/kmail_appimage/socket-$(hostname)/mysql.socket shutdown PGID=$(ps -o pid,pgid,comm | grep AppRun) trap "trap - SIGTERM && kill -- -$PGID" SIGINT SIGTERM EXIT EOF chmod +x AppRun mv <%= binary %> ./usr/bin/ cp <%= binary %>.desktop ./usr/share/applications/ cd / -wget "https://github.com/probonopd/AppImageKit/releases/download/knowngood/appimagetool-x86_64.AppImage" +wget "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" chmod a+x appimagetool-x86_64.AppImage ARCH=$(arch) DATE=$(date +"%Y%m%d") APPIMAGEFILENAME="<%= name %>-git$DATE-$ARCH.AppImage" #Re set LD_LIBRARY_PATH export LD_LIBRARY_PATH=/opt/usr/lib:/opt/usr/lib/x86_64-linux-gnu:/usr/lib:/usr/lib64 -gpg2 --import /root/.gnupg/appimage.key -./appimagetool-x86_64.AppImage -v -s -u "zsync|https://s3-eu-central-1.amazonaws.com/ds9-apps/<%= name %>-master-appimage/kmail_latestversion.zsync" /<%= name %>.AppDir /appimage/$APPIMAGEFILENAME -zsyncmake -u "https://s3-eu-central-1.amazonaws.com/ds9-apps/<%= name %>-master-appimage/$APPIMAGEFILENAME" -o /appimage/<%= name %>_latestversion.zsync /appimage/$APPIMAGEFILENAME +./appimagetool-x86_64.AppImage -v -s /<%= name %>.AppDir /appimage/$APPIMAGEFILENAME diff --git a/kontact-appimage/data/metadata.yml b/kontact-appimage/data/metadata.yml index eb37c8d..7afc3fd 100644 --- a/kontact-appimage/data/metadata.yml +++ b/kontact-appimage/data/metadata.yml @@ -1,91 +1,77 @@ name: kontact binary: kontact packages: - #app specifc - - xsltproc - - libsasl2-dev - - libldap2-dev - - fonts-noto - - unzip - - libical-dev - - libxapian-dev - - xsdcxx - - libxerces-c-dev +build_kf5: true frameworks: - build_kf5: true - frameworks: - - gpgmepp - - phonon - - phonon-gstreamer - - kmime - - akonadi - - akonadi-mime - - akonadi-notes - - kcontacts - - akonadi-contacts - - grantleetheme - - kpimtextedit - - libkleo - - kimap - - kldap - - kcalcore - - akonadi-search - - libkdepim - - pimcommon - - kdepim-apps-libs - - libgravatar - - kidentitymanagement - - ksmtp - - libkgapi - - kmailtransport - - kmbox - - messagelib - - kcalutils - - kontactinterface - - libksieve - - mailimporter - - mailcommon - - ktnef - - kdav - - kholidays - - kalarmcal - - akonadi-calendar - - kdiagram - - calendarsupport - - eventviews - - incidenceeditor - - kdepim-addons - - kmail-account-wizard + - gpgmepp + - kmime + - akonadi + - akonadi-mime + - akonadi-notes + - kcontacts + - akonadi-contacts + - grantleetheme + - kpimtextedit + - libkleo + - kimap + - kldap + - kcalcore + - akonadi-search + - libkdepim + - pimcommon + - kdepim-apps-libs + - libgravatar + - kidentitymanagement + - ksmtp + - libkgapi + - kmailtransport + - kmbox + - messagelib + - kcalutils + - kontactinterface + - libksieve + - mailimporter + - mailcommon + - ktnef + - kdav + - kalarmcal + - akonadi-calendar + - kdiagram + - calendarsupport + - eventviews + - incidenceeditor + - kdepim-addons + - kmail-account-wizard type: git url: http://anongit.kde.org/kontact buildsystem: cmake buildoptions: "-DCMAKE_INSTALL_PREFIX=/opt/usr -DKDE_INSTALL_SYSCONFDIR=/opt/etc -DBUILD_TESTING=OFF" dependencies: - grantlee5: build: buildsystem: cmake buildoptions: '-DCMAKE_INSTALL_PREFIX:PATH=/opt/usr CMAKE_BUILD_TYPE=RELWITHDEBINFO' depname: grantlee source: type: git url: 'https://github.com/steveire/grantlee' branch: 'v5.1.0' - libical: build: buildsystem: cmake buildoptions: '-DCMAKE_INSTALL_PREFIX:PATH=/opt/usr CMAKE_BUILD_TYPE=RELWITHDEBINFO' depname: libical source: type: git url: 'https://github.com/libical/libical.git' branch: 'v2.0.0' kf5_deps: - kdepim-runtime: build: buildsystem: cmake buildoptions: '-DCMAKE_INSTALL_PREFIX=/opt/usr -DKDE_INSTALL_SYSCONFDIR=/opt/etc -DBUILD_TESTING=OFF' depname: kdepim-runtime source: type: git url: 'https://anongit.kde.org/kdepim-runtime' branch: 'master' diff --git a/kontact-appimage/deploy.rb b/kontact-appimage/deploy.rb index 8b7656b..7b2ca47 100755 --- a/kontact-appimage/deploy.rb +++ b/kontact-appimage/deploy.rb @@ -1,56 +1,38 @@ #!/usr/bin/env ruby # frozen_string_literal: true # # Copyright (C) 2016 Scarlett Clark # Copyright (C) 2015-2016 Harald Sitter # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) version 3, or any # later version accepted by the membership of KDE e.V. (or its # successor approved by the membership of KDE e.V.), which shall # act as a proxy defined in Section 6 of version 3 of the license. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License fo-r more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library. If not, see . require_relative 'appimage-template/libs/builddocker.rb' require 'fileutils' require 'pty' if RUBY_VERSION =~ /1.9/ # assuming you're running Ruby ~1.9 Encoding.default_external = Encoding::UTF_8 Encoding.default_internal = Encoding::UTF_8 end -setup_path = `pwd` -p setup_path -project = 'kontact' + +FileUtils.rm_rf("appimage", secure: true) +Dir.mkdir('appimage') +project = ENV["JOB_NAME"] builder = CI.new -unless Dir.exist?('app') - Dir.mkdir('app') -end -unless Dir.exist?('appimage') - Dir.mkdir('appimage') -end builder.run = [CI::Build.new(project)] builder.cmd = %w[bash -c /in/setup.sh] builder.create_container(project) -# begin -# PTY.spawn( cmd ) do |stdout, stdin, pid| -# begin -# # Do stuff with the output here. Just printing to show it works -# stdout.each { |line| print line } -# rescue Errno::EIO -# puts "Errno:EIO error, but this probably just means " + -# "that the process has finished giving output" -# end -# end -# rescue PTY::ChildExited -# puts "The child process exited!" -# end diff --git a/kontact-appimage/setup.sh b/kontact-appimage/setup.sh index 60300ce..4bf3526 100755 --- a/kontact-appimage/setup.sh +++ b/kontact-appimage/setup.sh @@ -1,26 +1,37 @@ #!/bin/bash # # Copyright (C) 2016 Scarlett Clark # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) version 3, or any # later version accepted by the membership of KDE e.V. (or its # successor approved by the membership of KDE e.V.), which shall # act as a proxy defined in Section 6 of version 3 of the license. # # This library is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License fo-r more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library. If not, see . export PATH=/opt/usr/bin:/var/jenkins_home/.rbenv/bin:/var/jenkins_home/.rbenv/shims:$PATH export WORKSPACE=`pwd` echo $WORKSPACE -ls -l /in/ + + tar -xvf /in/artifact.tar.gz --strip-components=1 -C /opt ls -l /opt/ -cd /in && rspec appimage-template/spec/recipe_rspec.rb --fail-fast +rm /in/artifact.tar.gz +cd /in +rbenv init - +gem update bundler +bundle install +bundle binstubs rspec-core +bundle show rspec +rbenv rehash +bundle list --paths +bundle env +bundle exec rspec appimage-template/spec/artifact_recipe_rspec.rb --fail-fast