diff --git a/.gitignore b/.gitignore index 9f11b75..1df28f0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ .idea/ +/debian +/build diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e47d1b2..51495ee 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,11 @@ stages: - Coding Standards - Unit-Tests +- Build Packages + +variables: + BASE_VERSION: "2.0.0" + VERSION_SUFFIX: "-b${CI_BUILD_ID}-${CI_BUILD_REF_SLUG}" PSR2 CS Test: stage: Coding Standards @@ -9,7 +14,7 @@ PSR2 CS Test: script: - phpcs -p --standard=PSR2 --extensions=php --encoding=utf-8 -w -s library/Businessprocess/ application/ configuration.php run.php test -Xenial: +Ubuntu Xenial: stage: Unit-Tests tags: - xenial @@ -40,3 +45,37 @@ CentOS 7: - businessprocess script: - phpunit --testdox || phpunit --verbose + +Xenial Packages: + stage: Build Packages + tags: + - xenial + - businessprocess + script: + - cp -a packaging/debian debian + - dch --no-conf -U -M --empty -v "${BASE_VERSION}${VERSION_SUFFIX}-${CI_BUILD_REF:0:7}" "Automated build triggered by ${GITLAB_USER_ID} <${GITLAB_USER_EMAIL}>" + - cp LICENSE debian/copyright + - dpkg-buildpackage -us -uc + - mkdir build + - mv ../icingaweb2-module-businessprocess*.deb build/ + artifacts: + expire_in: 1 week + paths: + - build/* + +Jessie Packages: + stage: Build Packages + tags: + - jessie + - businessprocess + script: + - cp -a packaging/debian debian + - dch --no-conf -U -M --empty -v "${BASE_VERSION}${VERSION_SUFFIX}-${CI_BUILD_REF:0:7}" "Automated build triggered by ${GITLAB_USER_ID} <${GITLAB_USER_EMAIL}>" + - cp LICENSE debian/copyright + - dpkg-buildpackage -us -uc + - mkdir build + - mv ../icingaweb2-module-businessprocess*.deb build/ + artifacts: + expire_in: 1 week + paths: + - build/* diff --git a/packaging/debian/README.1st b/packaging/debian/README.1st new file mode 100644 index 0000000..9e96470 --- /dev/null +++ b/packaging/debian/README.1st @@ -0,0 +1,18 @@ +Building Debian packages +======================== + +This is work in progress, please expect build instructions to change any time +soon. Currently, to build custom Debian or Ubuntu packages, please proceed as +follows: + +```sh +apt-get install --no-install-recommends \ + debhelper devscripts build-essential fakeroot libparse-debcontrol-perl +# Eventually adjust debian/changelog +cp -a packaging/debian debian +dpkg-buildpackage -us -uc +rm -rf debian +``` + +Please move to your parent directory (`cd ..`) to find your new Debian packages. + diff --git a/packaging/debian/changelog b/packaging/debian/changelog new file mode 100644 index 0000000..9051952 --- /dev/null +++ b/packaging/debian/changelog @@ -0,0 +1,6 @@ +icingaweb2-module-businessprocesss (2.0.0-rc1) stable; urgency=low + + * First packaged release + + -- Thomas Gelf Fri, 09 Jan 2016 10:37:31 +0100 + diff --git a/packaging/debian/compat b/packaging/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/packaging/debian/compat @@ -0,0 +1 @@ +9 diff --git a/packaging/debian/control b/packaging/debian/control new file mode 100644 index 0000000..2e3c046 --- /dev/null +++ b/packaging/debian/control @@ -0,0 +1,15 @@ +Source: icingaweb2-module-businessprocesss +Section: admin +Maintainer: Icinga Development Team +Priority: optional +Build-Depends: debhelper (>=9) +Standards-Version: 3.9.4 +Homepage: https://www.icinga.com + +Package: icingaweb2-module-businessprocess +Architecture: all +Depends: icingaweb2-common (>= 2.2.0), php-curl|php5-curl, ${misc:Depends} +Suggests: icingaweb2 +Description: A businessprocess viewer and modeler + Supports legacy BPaddon config files + diff --git a/packaging/debian/docs b/packaging/debian/docs new file mode 100644 index 0000000..3959d9d --- /dev/null +++ b/packaging/debian/docs @@ -0,0 +1 @@ +REAMDE.md diff --git a/packaging/debian/install b/packaging/debian/install new file mode 100644 index 0000000..8f7da70 --- /dev/null +++ b/packaging/debian/install @@ -0,0 +1,10 @@ +application usr/share/icingaweb2/modules/businessprocess +doc usr/share/icingaweb2/modules/businessprocess +library usr/share/icingaweb2/modules/businessprocess +public usr/share/icingaweb2/modules/businessprocess +test usr/share/icingaweb2/modules/businessprocess +run.php usr/share/icingaweb2/modules/businessprocess +configuration.php usr/share/icingaweb2/modules/businessprocess +module.info usr/share/icingaweb2/modules/businessprocess +phpunit.xml usr/share/icingaweb2/modules/businessprocess +README.md usr/share/icingaweb2/modules/businessprocess diff --git a/packaging/debian/rules b/packaging/debian/rules new file mode 100755 index 0000000..615fcf8 --- /dev/null +++ b/packaging/debian/rules @@ -0,0 +1,26 @@ +#!/usr/bin/make -f +#export DH_VERBOSE=1 + +%: + dh $@ + +clean: + dh_testdir + dh_clean + +build: + dh_testdir + +binary: + dh_testroot + dh_prep + dh_installdirs + dh_install + dh_installchangelogs + dh_installinfo + dh_installinit + dh_fixperms + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb diff --git a/packaging/debian/source/format b/packaging/debian/source/format new file mode 100644 index 0000000..af745b3 --- /dev/null +++ b/packaging/debian/source/format @@ -0,0 +1 @@ +3.0 (git)