From a6774707bc4e589686ec675669942ace5884d8a0 Mon Sep 17 00:00:00 2001 From: Manuel Friedli Date: Wed, 23 Nov 2016 17:35:25 +0100 Subject: [PATCH] dev-vcs/gitlab-ci-multi-runner: added ebuild for gitlab-ci-multi-runner-1.8.0 Package-Manager: portage-2.3.0 --- dev-vcs/gitlab-ci-multi-runner/ChangeLog | 6 + dev-vcs/gitlab-ci-multi-runner/Manifest | 7 +- .../files/0001-fix-Makefile-1.8.0.patch | 70 +++++++++++ .../gitlab-ci-multi-runner-1.8.0.ebuild | 117 ++++++++++++++++++ 4 files changed, 199 insertions(+), 1 deletion(-) create mode 100644 dev-vcs/gitlab-ci-multi-runner/files/0001-fix-Makefile-1.8.0.patch create mode 100644 dev-vcs/gitlab-ci-multi-runner/gitlab-ci-multi-runner-1.8.0.ebuild diff --git a/dev-vcs/gitlab-ci-multi-runner/ChangeLog b/dev-vcs/gitlab-ci-multi-runner/ChangeLog index 7ba8ed6..2e930a9 100644 --- a/dev-vcs/gitlab-ci-multi-runner/ChangeLog +++ b/dev-vcs/gitlab-ci-multi-runner/ChangeLog @@ -1,3 +1,9 @@ +*gitlab-ci-multi-runner-1.8.0 (23 Nov 2016) + + 23 Nov 2016; Manuel Friedli + +files/0001-fix-Makefile-1.8.0.patch, +gitlab-ci-multi-runner-1.8.0.ebuild: + dev-vcs/gitlab-ci-multi-runner: added ebuild for gitlab-ci-multi-runner-1.8.0 + 25 Oct 2016; Manuel Friedli files/gitlab-ci-multi-runner.init, gitlab-ci-multi-runner-1.7.0.ebuild: dev-vcs/gitlab-ci-multi-runner: install init script, set up required diff --git a/dev-vcs/gitlab-ci-multi-runner/Manifest b/dev-vcs/gitlab-ci-multi-runner/Manifest index 37ffcca..f0098a9 100644 --- a/dev-vcs/gitlab-ci-multi-runner/Manifest +++ b/dev-vcs/gitlab-ci-multi-runner/Manifest @@ -1,9 +1,14 @@ +AUX 0001-fix-Makefile-1.8.0.patch 3281 SHA256 70db95de830679916f1a0c446a5eb42ebdc77446d2a46e31f919107ea452d0a0 SHA512 d73db4e0122741da7bd7be9fd5a2b36c4aaeb0b3b0789604cefe1e98a613c0e5141299d7764b694080ccd8ff9094e8f0b134c950339e2f4ced31d8851f2fe63f WHIRLPOOL 24a3459cf882281b57bfbfb8471fc0f6ce1d0630ecd360d1fd813663f35a500f9f3cc826b89df0069d62d23f6d8cf0d0405254e967fc4c2eba0abf635f5da29b AUX 0001-fix-Makefile.patch 3401 SHA256 d764379ad6b027eaab6e6f8a3874befad9567e5114caa247843d9abad29bf10e SHA512 12a44684aa05df41dea29e66bf42ec6a6b40f06b1a9c8a2682c5ce7a62264b1135df3a69f98cd9bf10bc05da062c61cfa02f803226d022ed9ebaf0bf6469449b WHIRLPOOL cdab4d9382f522ef136e77eeb38c7532172bc538e95254c4e57dfdf9b277d10f469211350994a228529142dc07d04f1df89a81acac01665ca2c9c9961f7da65a AUX gitlab-ci-multi-runner.conf 44 SHA256 0b93ba53d557fbf603b50f6d78eb2c4415b9a79f056142b6edf4a63fc6612d6e SHA512 1f5ff480740b18fc985ae9337b8dc4ddd1bde5253e09042b5542cb9a3db54b9cef1f7b24445c829eb83fcfd8751b693018154f6b97ce0a6e723d5d71d9a27429 WHIRLPOOL fc5218c55917b3303baf649fbafaf1dc50cf52d0ee04852716defe4f21b806f4f313071b1c55920d89da66180405d35da0f7cca73c2617b70bcaa67f725cab2a AUX gitlab-ci-multi-runner.init 662 SHA256 faf47cdc02b78527d98cd044f2d2aed38a44e39fc6aa5ccc6249c6bce7b979b2 SHA512 9a2f6bcac4c1b992aa5f046cc2cf8f379d2b1f5b6d8065793996828be1527fb5e9131b2967131c292003319f2b27c0cb1229a147236279027e11d13f73e9bd76 WHIRLPOOL 7ffb5d25cb5bd66459981fb71a79d4690b1efaff41e5873431b8ec9cae62783c9fb71ea426a0a1d8f0bf9fdd7dbcb569136dc38f7736296565258a0dcfa3536f DIST gitlab-ci-multi-runner-1.7.0-prebuilt-arm.tar.xz 9331496 SHA256 11431f2db5809829fe652c337b05cad9ccba837491c44c6fa0bb3ae0c9be6f49 SHA512 61b3fe3559b18f55be1148ab77232d6b505949ec965622fefa92fff07ffcee74ee2516c065ae4af3074f407c4ee77ba45d3cf4dc37f893c2e6322a911ffaef0b WHIRLPOOL 4d4a7696bf7ff462442f7dcbff4c7e0d49160b87dbfefe7d5c1a60184eba021a83ebfc54859dcc8beedc6e10fbab88bdfb374be06ab7791e2b374a52d05c3563 DIST gitlab-ci-multi-runner-1.7.0-prebuilt-x86_64.tar.xz 8370352 SHA256 e50ba210ccdde7635d1d8621de1f8bad2c4765495d4ce0f6385e776e569d80e1 SHA512 c62060a6f8314f308e12840506ec074c685b9962235ead8a2454b7e628060028274374b11d5da94ebda3ff802e6d3c377dc3e1e9d190d4ea0638722a98661c7c WHIRLPOOL 39727f719fd4394793601b6c521fa97a7c7333ba52aa0efb83348c5c366f180d8e60236349efa0400b346bfa8d1e75770f8c08b124d6107981c2967cca730882 DIST gitlab-ci-multi-runner-1.7.0.tar.gz 3527772 SHA256 ffcc18bfc54d4e2846bbfb21e72798c90ca5af214ac606ea07fbbeec24bb155f SHA512 06289c910f599ce180d62bad2e36cf4ac0f261f740c7ae3d4baf42aa4926b9dd2229b8c25ce8191613957017e1b1af4cdde76512eff2460f4a3db7f085a0e2a1 WHIRLPOOL 17d1259123bd0e8275f72453ba89e59f557e568b6698a0f61a511217b22a28d60350925928275072b1599cf4cf841d3f720eebd7a4e409627ad9257e8e2829f8 +DIST gitlab-ci-multi-runner-1.8.0-prebuilt-arm.tar.xz 9502124 SHA256 78a4cee8b91e7a13568104da7c39d526f08f26d946b59cca7bb94b9dc9f87be7 SHA512 2fab0a4088b67ff3be67734f5abfe67301c3ced9d7cf952b4fb71322395f582604aeb28ad3d6338d4890d7b743f76a6d7a297f7435f83778843d4eda02b90e36 WHIRLPOOL c7025ba1d0181388d92c07c2ed67befec2982fbfa74c112b7dbfacd23a0052fe99e6555a926c1cc99d638c0a00c1385bff9d5637624ca26f62891f213e62d8fb +DIST gitlab-ci-multi-runner-1.8.0-prebuilt-x86_64.tar.xz 8560472 SHA256 9588eb55ade4e323bd5bfeffd3bfc119659d0c2075e18c5bb003a4d79b834839 SHA512 2406ea113cf9d08ccafebc7c79cd42adba5f35a5ccfb282856b7e6c187402d9ef41ceaac973133579afd52933ff7a59bea4e57820f1374f33c748f636701f77e WHIRLPOOL 93d20c9d5660d3c00cc45063cb49d14a2442328d6782e4abe0b1a1fca5d1e612d27e1c88eb834cd12bb745e7d94121e922199fb77dce287f68bcda6c1a8f44c0 +DIST gitlab-ci-multi-runner-1.8.0.tar.gz 3541906 SHA256 0636134f34fd03b1e1407374725ff21f49cb2869f4c5b897bb52e40bdc5aa0ba SHA512 1fb20e359ada1612d6f6120061e62af31410f445d789104f958f3561c8a6479048dedda2338cf01a10197a42da708c31ce3174d1218f94f9f9c88c0dd7d0f29f WHIRLPOOL bb4b22ef4862e0251125e2354342ddeaa0b680662c4c8ec1ce8d223155976ae71a7c6b135774de74294493259a3f2758bb0a78f5f27818569ff7e98ccf8ca966 EBUILD gitlab-ci-multi-runner-1.7.0.ebuild 3250 SHA256 fc9f976619ff9ddedaceee812dd2babcb1fb7d7236868368d23a5b67b60bd08b SHA512 276835a37b5be71c8663f92bb093c568ecdcae69d45a88a9ce3ccf896cefd3d59a7f8bfce43eed7de72744e4a60b110b8ca9ae8c2fed94f62c0da475e5c40a50 WHIRLPOOL cc4796822e8443f81f958c8fa39475fb1b168ca06b7e8c38f148b91b77da033c1113c88dd818aaf14265ea07ade5de367235168cdf6e2ccb276ffd45538e9812 -MISC ChangeLog 714 SHA256 0f25cf56f039852a47fc1a86f09bf43e24295913799be6ee747946c3e5f19b48 SHA512 2f905e4bb1ae863e77e5a5ff95049a276faa1dfe15a2751a7fce583fa5e18a23995df6a38ded969ce444e110bffbfb320027ba2ac5d35d43908e11627b42224e WHIRLPOOL 7e3de88c9e79cd0aa141e6075a5e88ccf79392b5651d51f829efb59be7aecf8c32594ad319bef8e43ca7ff36a5189a197464ac940125d94f6ede25d3fe65b55c +EBUILD gitlab-ci-multi-runner-1.8.0.ebuild 3258 SHA256 d54d70f365868526144decb5671c834bf259d8b8659ec57a8ed9cd55cb6589da SHA512 7023a29d0615b986ef6d0fb0f2ca3ba9f0c0cca095b739cb7da63eb13cb4bee413978807032a674bd5876da9eda198a8fbb11be44c5fe43099e8e98148524b10 WHIRLPOOL c77aaa33c1d24a278cf53d63aa54052c5bddc5c671d2189457b209dcd8a8bf4c911f50be6478c613ba111a709f500f2fb4ba98399fc78a5ece897c852b79d4a4 +MISC ChangeLog 970 SHA256 6b782cc9d2618b14bde5cd1349d0fbb0c5f8cf8d26334940957eddc03bcdf023 SHA512 5e14b351e0027c93dfece9e7c3699041462a88bdf925bfe98c769c85db062788dee1db83fe7f6531bf649e18bf1d32d36bd56a2df6a08e9df2dc2befa57d327f WHIRLPOOL 8ce90d38d3de5e56eb0d00532bcc50fcee32853bda97b57e913a9afd00e1e81dc1f8c4e63ab30e1979da2ff340bbf4990d7c6dca432d2c6d94bb5ec18f33043a MISC metadata.xml 329 SHA256 f0ae08a64aa32a07486e744ce11ac5448770b7320454015bcd065e312fcb5e9c SHA512 11e4eaf25633c5979e5243350bdf2ddc6d9dca06ab54ec38359591f1d002ea2a224e53b3e6c4ac53b5b2e795a87769fdbd97c547b008272e0a1491141f422e5d WHIRLPOOL ab2c1cb3d9aff1f757b49633f94d4b98da4b83dadab12ab8d869f9e1f6763b3125010147472e58e910e7fc42da262dbd69a1bf3939f3720a79ab4329184b4c35 diff --git a/dev-vcs/gitlab-ci-multi-runner/files/0001-fix-Makefile-1.8.0.patch b/dev-vcs/gitlab-ci-multi-runner/files/0001-fix-Makefile-1.8.0.patch new file mode 100644 index 0000000..4ee1459 --- /dev/null +++ b/dev-vcs/gitlab-ci-multi-runner/files/0001-fix-Makefile-1.8.0.patch @@ -0,0 +1,70 @@ +diff --git a/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/Makefile b/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/Makefile +index af9470e..099df3e 100644 +--- a/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/Makefile ++++ b/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/Makefile +@@ -1,30 +1,21 @@ + NAME ?= gitlab-ci-multi-runner + PACKAGE_NAME ?= $(NAME) + PACKAGE_CONFLICT ?= $(PACKAGE_NAME)-beta +-VERSION := $(shell ./ci/version) +-REVISION := $(shell git rev-parse --short HEAD || echo unknown) +-BRANCH := $(shell git show-ref | grep "$(REVISION)" | grep -v HEAD | awk '{print $$2}' | sed 's|refs/remotes/origin/||' | sed 's|refs/heads/||' | sort | head -n 1) ++VERSION := @@VERSION@@ ++REVISION := @@REVISION@@ ++BRANCH := @@BRANCH@@ + BUILT := $(shell date +%Y-%m-%dT%H:%M:%S%:z) + +-LATEST_STABLE_TAG := $(shell git -c versionsort.prereleaseSuffix="-rc" -c versionsort.prereleaseSuffix="-RC" tag -l "v*.*.*" --sort=-v:refname | awk '!/rc/' | head -n 1) +-export IS_LATEST := +-ifeq ($(shell git describe --exact-match --match $(LATEST_STABLE_TAG) >/dev/null 2>&1; echo $$?), 0) + export IS_LATEST := true +-endif + + PACKAGE_CLOUD ?= ayufan/gitlab-ci-multi-runner + PACKAGE_CLOUD_URL ?= https://packagecloud.io/ +-BUILD_PLATFORMS ?= -os '!netbsd' -os '!openbsd' ++BUILD_PLATFORMS ?= -osarch '@@OSARCH@@' + S3_UPLOAD_PATH ?= master +-DEB_PLATFORMS ?= debian/wheezy debian/jessie debian/stretch debian/buster \ +- ubuntu/precise ubuntu/trusty ubuntu/utopic ubuntu/vivid ubuntu/wily ubuntu/xenial \ +- raspbian/wheezy raspbian/jessie raspbian/stretch raspbian/buster \ +- linuxmint/petra linuxmint/qiana linuxmint/rebecca linuxmint/rafaela linuxmint/rosa +-DEB_ARCHS ?= amd64 i386 armel armhf +-RPM_PLATFORMS ?= el/6 el/7 \ +- ol/6 ol/7 \ +- fedora/20 fedora/21 fedora/22 fedora/23 +-RPM_ARCHS ?= x86_64 i686 arm armhf ++DEB_PLATFORMS ?= debian/wheezy ++DEB_ARCHS ?= amd64 ++RPM_PLATFORMS ?= fedora/23 ++RPM_ARCHS ?= x86_64 + COMMON_PACKAGE_NAMESPACE=$(shell go list ./common) + + # Packages in vendor/ are included in ./... +@@ -77,7 +68,7 @@ verify: fmt vet lint complexity test + deps: + # Installing dependencies... + go get -u github.com/golang/lint/golint +- go get github.com/mitchellh/gox ++ go get github.com/fritteli/gox + go get golang.org/x/tools/cmd/cover + go get github.com/fzipp/gocyclo + go get -u github.com/jteeuwen/go-bindata/... +@@ -108,7 +99,7 @@ else + $(warning WARNING: and remove out/docker/prebuilt-x86_64.tar.xz) + $(warning =============================================) + curl -o out/docker/prebuilt-x86_64.tar.xz \ +- https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/master/docker/prebuilt-x86_64.tar.xz ++ https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/$(VERSION)/docker/prebuilt-x86_64.tar.xz + endif + + out/docker/prebuilt-arm.tar.xz: $(GO_FILES) +@@ -136,7 +127,7 @@ else + $(warning WARNING: and remove out/docker/prebuilt-arm.tar.xz) + $(warning =============================================) + curl -o out/docker/prebuilt-arm.tar.xz \ +- https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/master/docker/prebuilt-arm.tar.xz ++ https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/$(VERSION)/docker/prebuilt-arm.tar.xz + endif + + executors/docker/bindata.go: out/docker/prebuilt-x86_64.tar.xz out/docker/prebuilt-arm.tar.xz diff --git a/dev-vcs/gitlab-ci-multi-runner/gitlab-ci-multi-runner-1.8.0.ebuild b/dev-vcs/gitlab-ci-multi-runner/gitlab-ci-multi-runner-1.8.0.ebuild new file mode 100644 index 0000000..3680aaf --- /dev/null +++ b/dev-vcs/gitlab-ci-multi-runner/gitlab-ci-multi-runner-1.8.0.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +inherit eutils golang-build golang-vcs-snapshot user + +EGO_PN="gitlab.com/gitlab-org/gitlab-ci-multi-runner/..." + +MY_PV="v${PV/_/-}" +MY_BRANCH="1-8-stable" +MY_GIT_HASH="734bc5d" + +DESCRIPTION="Official GitLab CI Runner written in Go" +HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-ci-multi-runner" +SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.gz?ref=v${PV} -> ${P}.tar.gz + !docker-build? ( + https://${PN}-downloads.s3.amazonaws.com/${MY_PV}/docker/prebuilt-x86_64.tar.xz -> ${P}-prebuilt-x86_64.tar.xz + https://${PN}-downloads.s3.amazonaws.com/${MY_PV}/docker/prebuilt-arm.tar.xz -> ${P}-prebuilt-arm.tar.xz + )" + +KEYWORDS="~amd64" +LICENSE="MIT" +SLOT="0/${PVR}" +IUSE="docker-build" + +DEPEND=">=dev-go/gox-0.3.1_alpha + >=dev-go/go-bindata-0_pre20151023 + docker-build? ( >=app-emulation/docker-1.5 ) + !dev-vcs/gitlab-ci-multi-runner-bin" + +RESTRICT="test" + +MY_USER="gitlab_ci_multi_runner" +MY_HOME_DIR="/opt/gitlab-ci-multi-runner" + +pkg_setup() { + enewgroup ${MY_USER} + enewuser ${MY_USER} -1 /bin/bash ${MY_HOME_DIR} ${MY_USER} +} + +src_prepare() { + if ! use docker-build; then + mkdir -p src/${EGO_PN%/*}/out/docker || die + cp "${DISTDIR}"/${P}-prebuilt-x86_64.tar.xz src/${EGO_PN%/*}/out/docker/prebuilt-x86_64.tar.xz || die + cp "${DISTDIR}"/${P}-prebuilt-arm.tar.xz src/${EGO_PN%/*}/out/docker/prebuilt-arm.tar.xz || die + else + einfo "You need to have docker running on your system during build time" + einfo "$(docker info)" + fi + + epatch "${FILESDIR}/0001-fix-Makefile-1.8.0.patch" + local arch="$(usev amd64)$(usev x86)$(usev arm)$(usev arm64)" + + sed -i -E \ + -e "s/@@VERSION@@/v${PV/_/-}/" \ + -e "s/@@REVISION@@/${MY_GIT_HASH}/" \ + -e "s/@@BRANCH@@/${MY_BRANCH}/" \ + -e "s|@@OSARCH@@|linux/${arch}|" \ + src/gitlab.com/gitlab-org/${PN}/Makefile + + eapply_user +} + +src_compile() { + emake GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" RELEASE=true -C src/${EGO_PN%/*} build +} + +src_install() { + golang-build_src_install + dobin bin/* + dodoc src/${EGO_PN%/*}/README.md src/${EGO_PN%/*}/CHANGELOG.md + + # set up dirs + # here be the builds + diropts -m755 + dodir ${MY_HOME_DIR} + + # here be my home and my castle + local conf="/etc/gitlab-runner" + diropts -m750 + dodir ${conf} + + dosym ${conf} ${MY_HOME_DIR}/.gitlab-runner + + # fix permissions + fowners -R ${MY_USER}:${MY_USER} ${MY_HOME_DIR} ${conf} + + # rc script + local rcscript="${PN}.init" + + cp "${FILESDIR}/${rcscript}" "${T}" || die + sed -i \ + -e "s|@USER@|${MY_USER}|" \ + -e "s|@HOME@|${MY_HOME_DIR}|" \ + "${T}/${rcscript}" \ + || die "failed to filter ${rcscript}" + + newinitd "${T}/${rcscript}" "${PN}" + newconfd "${FILESDIR}/${PN}.conf" "${PN}" +} + +pkg_postinst() { + elog + elog "If this is a fresh install of GitLab CI Multi Runner, please configure it" + elog "with the following command:" + elog " emerge --config \"=${CATEGORY}/${PF}\"" +} + +pkg_config() { + einfo "You need to register the runner with your GitLab CI instance. Please" + einfo "Follow the instructions at" + einfo + einfo "https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-manually.md" + einfo + einfo "Perhaps I'll improve the ebuild later ... kthxbye." +}