Merge branch '82-gitlab-ce-8-17-3' into 'master'
Resolve "gitlab-ce-8.17.3" Closes #82 See merge request !149
This commit is contained in:
		
						commit
						daa080daf4
					
				
					 8 changed files with 527 additions and 8 deletions
				
			
		|  | @ -1,3 +1,10 @@ | |||
| *gitlab-ce-8.17.3 (13 Mar 2017) | ||||
| 
 | ||||
|   13 Mar 2017; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-8.17.3.ebuild, | ||||
|   gitlab-ce-9999.ebuild, metadata.xml: | ||||
|   www-apps/gitlab-ce:   added ebuild for gitlab-ce-8.17.3, which is the initial | ||||
|   ebuild to contain a USE flag for gitlab-pages | ||||
| 
 | ||||
| *gitlab-ce-8.17.2 (07 Mar 2017) | ||||
| 
 | ||||
|   07 Mar 2017; Manuel Friedli <manuel@fritteli.ch> +gitlab-ce-8.17.2.ebuild: | ||||
|  |  | |||
|  | @ -21,6 +21,7 @@ DIST gitlab-ce-8.16.6.tar.gz 20901900 SHA256 5b88dd855afc44da2b8f059056321fc0dd4 | |||
| DIST gitlab-ce-8.17.0.tar.gz 22991847 SHA256 3883c2e505e511f83072f950b9d211783148b97e29f34144e57c8b180d7f4518 SHA512 e0ee1b1ab21a6ad262cccbb2abf544ccb18dafcaf61e83aa02bac0182bdd35a47a725741382876f3bb79f6f42764c59b7a992c16a916a1673a716417b34d8a87 WHIRLPOOL fe3c36e41d0fe3c3420a3e52dc61fc30f424d2832cd82587a6e50b6c6450ee9e99bb2897f87cc949b4663055a35e159cf7b6f471b6aa9046c6bb8b1fae526ab7 | ||||
| DIST gitlab-ce-8.17.0_rc3.tar.gz 23031572 SHA256 13ac75ce0737e9e9f46fea59828a0a71f3ad9fc4436859bc68938d4719190ba9 SHA512 c5998f7aeefd65ea46ee6357f15bc6e60253742f6007252bf9a1543f29f8973951f8d0f8d60dba87b08dbf5256427e9bf28198274a9dadb92b30b7f5adc76cd1 WHIRLPOOL 86380fedcacbd18f13b12f4792b506421726c4226512471eeeda8d085abc89e6b43f54b0301e0cbdb1f3afe6dade84452690576435220c0afc559bcd5f341df3 | ||||
| DIST gitlab-ce-8.17.2.tar.gz 22995277 SHA256 6819b8e289b7c23ee1880d935f443bb63896e45f62e2d203dfd87f9b8f90d3ae SHA512 b66b3ee0233641aee27d6cd1748069df8b7a705414f7e5b41875d861f425382f4a7f31639219660db1811fdd0e0655526f7760fb49b4847efb486b37ced11205 WHIRLPOOL ab8c986a08c5cf86b5d4a3a56059827b6c1e561c7c76e72ba3433c589bd3514177019db587eee68aadc1ac0ed8b748e813ccdc2fea3fae9b773979e7829562d0 | ||||
| DIST gitlab-ce-8.17.3.tar.gz 22821238 SHA256 85299a2e10e57ae988483d1a10503e17703d767f6b757f8b07093f0011c58fe5 SHA512 3d73d2b7d48237777871c0c062e8568e083389fae9ba75a0b648bb96ae638e6f4d1f9f0bddc6ab15c5ba21b5d92da792b0fdb83b94cb89b95824a0c937a32de8 WHIRLPOOL 8532172fd004d9b7831299ebcaa165eabbc732af21ace334f903a894ffd673b078be423f13de1734b1170f5e5c4b104847ae27a11d12802048dab1ba77b755b2 | ||||
| EBUILD gitlab-ce-8.15.4.ebuild 11982 SHA256 db794f18bc0d023a8b6adf49b82c2e37fd38b7206b064a7700289c0cfa16961c SHA512 ca30780d28ffc0242ac5f6ccad178cc44464a81f2d44cb13e53ddf06700d0f39b9fee9b77e356735435079b34090049d50d9019af71e92d6d8faaf3767a39dc5 WHIRLPOOL 42ee8b8e5a2c6fba69ecdbf6e306a87f369fa193f721c73481edc744953bfd210cb4495bc603ba01566efb2b0869ec71284a1f1b1c34d1a124bd08546829ca37 | ||||
| EBUILD gitlab-ce-8.15.7.ebuild 11982 SHA256 fab225a8a8a9373898b5c604ce41ed65c4648c46131798315df833326b006fb7 SHA512 ea17dc9927336aed09ba21e0e1c9c4df2998f941a05ff30e9ef9951b5318bcdfb1d332fa8d285a27f26356a9fa9a5f72da45882ab8edbfa6046ec96764dae47f WHIRLPOOL d51629d3c67f8be2636a2e5cb4bb4d4a7b0402394f47aaa01fc182c29f1d3ee916a2d5bb8086bbe871f41294e348ec024d81a775ba9c30028d8b97d93d637620 | ||||
| EBUILD gitlab-ce-8.16.4.ebuild 11982 SHA256 91875777d0953bffddd31318d9c5d4666ba59bd3446804d063c1199c603bd5a6 SHA512 7112bf185f25d90a11ee2a6e9d197c1ce781b49c486cc1afaff002ad66dcec7c9b43c3b9b6c26c62d23bb7e8c0fdd4c527e53a99f9674bb4af1e404454960227 WHIRLPOOL 76bd66e8b7d4ff04f02354cb6cdf3fa0b92ccf2cdcad26cf117f12330b3f3588713fd0d0465da2515750348975eb81daa6e02f984025804b7db50da99f4e8e5e | ||||
|  | @ -29,6 +30,7 @@ EBUILD gitlab-ce-8.16.6.ebuild 11982 SHA256 2cc7b8f06153f28ebcc34a5ff8e24be79168 | |||
| EBUILD gitlab-ce-8.17.0.ebuild 12831 SHA256 9556fe5712044ebe473b7ff8b847a4daa5ca1818a0ac714f22afc5725199da72 SHA512 4aaa00f4eac87a4bbe598cde792997e25b137eea9fdaf7e7c8394ec5e2abc54302ed5432efe1c7055dc195ca2599f9027463480c943f108bb399daa2eee833f5 WHIRLPOOL aec29db1dc7236f60d2723ec97444fa437a4f8b3092cbf53305f3cddbb6851a40b1a77a306daf4c9780ffe9a8eed760c580371bf95da66b18d884a32c3e48cd5 | ||||
| EBUILD gitlab-ce-8.17.0_rc3.ebuild 12258 SHA256 179da162a7ff3ab1fc9f3173aff30c59a73005622ccb0fe8ada57f950c9d0dd7 SHA512 b5f244a7a7ac980b1e1c1595b88613cf6f3649591a9430dac0db3a174432648b05707b0e3e79450f5882fb7044aca6bb3778a19566ad6c83c5fd30ee8c09893e WHIRLPOOL 49cfbbfedfcafecfa8a775bf0e3a8a9daa2fcce3a819ce92ab07ccaaa4b3881221cce5ebf4ec9333b9ed7a884717d037336dc644d359137e06fe5df3f51e9aaa | ||||
| EBUILD gitlab-ce-8.17.2.ebuild 12831 SHA256 b57a4f683a5eafaa5d0149b0256833e329a757ad470e24bba163c57ba841eeeb SHA512 ed84da9ab62d0893b36a2ade744248b663634c5b05b8e8b608d064068c31a3d19a0e4917f932a0a2caee48a8f509359e50cc982c43bd5d1d958343ea5c5637d9 WHIRLPOOL dfb96d29b45adf5d03313fd9dd6cbc39c70a1736272867737f0bf8d429510add4e3fcd77b329690b9393cc506c9387f4342bed001c2bda50901ba9480fe241d5 | ||||
| EBUILD gitlab-ce-9999.ebuild 12766 SHA256 d6b55d9812c53897bcf8cf37ee53796e82eea3436521a3b49fa9de5b5d65997b SHA512 3291fe592b3c77b9b475e96fae36a32e17a74b883be7c7a46cb07981556c9a914201426d4a5f2602d35acdf375a9400be0af1d4b99ae3da30423f8b85054e9ab WHIRLPOOL 2329daae3eaa008a7e58e780e677647319e6945f0199c32655f0d86958bbb3cae5f32b09238afd784087a187e69f7b13c8d9e07edc127b8ea62e202946de6371 | ||||
| MISC ChangeLog 14384 SHA256 0808e6c73143f5c48273b21f09172c4a80e39d21ff8b39f4f4fcd6634e2b3069 SHA512 6276f6515aac9f8d060b842a2100cbe50138045a31d66d7118f8ba003c6c056b09cad7ef5643299ca0fcaf2cb3d654ae39aa3b3fe91e841032417e519d4fe9e1 WHIRLPOOL c47d579e1b0f7c0a478f7f05d3387c8c954684f2789501511fbfad06e6e3a0e35187934c7ba6ee092d8a73bbc90cce6c5d212e161cbad666b0920d07596efcdf | ||||
| MISC metadata.xml 559 SHA256 6c3f48d3ef57c97bf27790f33ee04bd8de8b01597caa8a2a7a473d6d0a3c5759 SHA512 5aa340b5429795d84cd106ee673fd55a42fd4b0d3299d6b95c6a3e3d50812a9620820a4de5c57d5048af0c3ecec7f575d5856d2f7fadc210aadcbdd4dd040fe1 WHIRLPOOL f3d7b8c0522e09f5156e6bb446bb74e4c75f5da4495ca2ece1eb78afce59307abe01bf3c5dd5344278fcac9e334300d912031c806f51b981591c01bc3588c6f3 | ||||
| EBUILD gitlab-ce-8.17.3.ebuild 12928 SHA256 8e79b5c6724ef50b00f1c6eb607af6c4dc44a8ea5a7b2735c016726247043c3e SHA512 7d32ef8db701c1d4570b4071a55e61611f3bbff3f308adee84594c43f4089befc1a8ade8d66f7f36a4f9f6fd0f1f3c8fe6172eda663a5e2bd277646d4e1fdfa7 WHIRLPOOL 36a8c32bddeb51e89da1e314375bec1765e238d4fc1f658a492601b2a46d838993dde921570956e6c43086d9d3e09727b83f99e99168cfe95ef2e4fba6b69e6b | ||||
| EBUILD gitlab-ce-9999.ebuild 12864 SHA256 ae1c00758e08c97414d3fea2ad636be6f01a6d61bac25dad441834316e48152e SHA512 7ee796c04f450733603569cbb7eb351ae145313dec19fbf333563eaad9721af4b03bedd5415471f40bcf42367cdc3eb0cfd6940da6e42284d6e7dae4baebb451 WHIRLPOOL fd1504cf829fdfefc341627f63d3c583304a0b9b7bcfa39b53452f02b13ce859ec3250f0d439711035ef46c7e8adf41c7414fa2a0bb5479fb71c17be8f1340eb | ||||
| MISC ChangeLog 14662 SHA256 943f84ad5c20e417960eabc5d9ff3013d1e89f289afcfa7c81c12c979257946c SHA512 f3e60d56c5e0166e5ee2990313dc8541bd7570fbb332cfddfb588f24506f0360812e5e45eea820000438fdbaed027e07ca9dc5feb0438568a57c52ecd816e319 WHIRLPOOL 2096d793258acea414ed84f8d892d315f3fd7bf6f1fe6d25d7f75364ddffd964e8ff27bb6a8467051cac9d26ebee70162f3f043143317fd90e7d1fa63faa1fde | ||||
| MISC metadata.xml 665 SHA256 2a0cd67ad42f0cc6d8b88391cf6e3153a9883dab31aae8227c57c95f3f68890d SHA512 64b8fbae373d0a057f705f64c1d097dbfab893bd585e1db65ccdb06cda9569211c9b63fa168ac8de9f6d512a17759ecd20b54d818d2790a6f4c99d0ca73fddc3 WHIRLPOOL a81b21bb46aad9757a502628033eba546c686b83bbf1d651ecabba273c454cfb64574affc180db8358ced87eb638e8ad13d7c79c4cfb9a31e72c577d21ab433e | ||||
|  |  | |||
							
								
								
									
										420
									
								
								www-apps/gitlab-ce/gitlab-ce-8.17.3.ebuild
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										420
									
								
								www-apps/gitlab-ce/gitlab-ce-8.17.3.ebuild
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,420 @@ | |||
| # Copyright 1999-2017 Gentoo Foundation | ||||
| # Distributed under the terms of the GNU General Public License v2 | ||||
| # $Id$ | ||||
| 
 | ||||
| EAPI="5" | ||||
| 
 | ||||
| # Maintainer notes: | ||||
| # - This ebuild uses Bundler to download and install all gems in deployment mode | ||||
| #   (i.e. into isolated directory inside application). That's not Gentoo way how | ||||
| #   it should be done, but GitLab has too many dependencies that it will be too | ||||
| #   difficult to maintain them via ebuilds. | ||||
| # | ||||
| 
 | ||||
| USE_RUBY="ruby21 ruby23" | ||||
| 
 | ||||
| inherit eutils ruby-ng user systemd | ||||
| 
 | ||||
| MY_PV="v${PV/_/-}" | ||||
| MY_GIT_COMMIT="f0c970ec5f660fa768ee2b21e378ed3bda770239" | ||||
| 
 | ||||
| GITLAB_PAGES_VERSION="0.3.2" | ||||
| GITLAB_SHELL_VERSION="4.1.1" | ||||
| GITLAB_WORKHORSE_VERSION="1.3.0" | ||||
| 
 | ||||
| DESCRIPTION="GitLab is a free project and repository management application" | ||||
| HOMEPAGE="https://about.gitlab.com/" | ||||
| SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.gz?ref=${MY_PV} -> ${P}.tar.gz" | ||||
| RUBY_S="${PN}-${MY_PV}-${MY_GIT_COMMIT}" | ||||
| 
 | ||||
| RESTRICT="mirror" | ||||
| 
 | ||||
| LICENSE="MIT" | ||||
| SLOT="0" | ||||
| KEYWORDS="~amd64 ~x86 ~arm ~arm64" | ||||
| IUSE="kerberos mysql +postgres +unicorn systemd pages rugged_use_system_libraries" | ||||
| 
 | ||||
| ## Gems dependencies: | ||||
| #   charlock_holmes     dev-libs/icu | ||||
| #   grape, capybara     dev-libs/libxml2, dev-libs/libxslt | ||||
| #   rugged              dev-util/cmake, virtual/pkgconfig | ||||
| #   json                dev-util/ragel | ||||
| #   pygments.rb         python 2.7+ | ||||
| #   execjs              net-libs/nodejs, or any other JS runtime | ||||
| #   pg                  dev-db/postgresql | ||||
| #   mysql               virtual/mysql | ||||
| # | ||||
| GEMS_DEPEND=" | ||||
| 	dev-libs/icu | ||||
| 	dev-libs/libxml2 | ||||
| 	dev-libs/libxslt | ||||
| 	dev-util/ragel | ||||
| 	net-libs/nodejs | ||||
| 	postgres? ( >=dev-db/postgresql-9.1:* ) | ||||
| 	mysql? ( virtual/mysql ) | ||||
| 	kerberos? ( virtual/krb5 )" | ||||
| CDEPEND=" | ||||
| 	dev-util/cmake | ||||
| 	virtual/pkgconfig" | ||||
| COMMON_DEPEND=" | ||||
| 	${GEMS_DEPEND} | ||||
| 	~dev-vcs/gitlab-shell-${GITLAB_SHELL_VERSION} | ||||
| 	>=dev-vcs/git-2.8.4 | ||||
| 	~dev-vcs/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION} | ||||
| 	>=net-libs/nodejs-4.3.0 | ||||
| 	kerberos? ( !app-crypt/heimdal ) | ||||
| 	rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 ) | ||||
| 	pages? ( ~www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} )" | ||||
| DEPEND=" | ||||
| 	${CDEPEND} | ||||
| 	${COMMON_DEPEND}" | ||||
| RDEPEND=" | ||||
| 	${COMMON_DEPEND} | ||||
| 	>=dev-db/redis-2.8 | ||||
| 	virtual/mta | ||||
| 	systemd? ( sys-apps/systemd:0= )" | ||||
| # required bundler >= 1.14.2 | ||||
| ruby_add_bdepend " | ||||
| 	virtual/rubygems | ||||
| 	>=dev-ruby/bundler-1.13.7" | ||||
| 
 | ||||
| # | ||||
| # fix-sendmail-config: | ||||
| #     Fix default settings to work with ssmtp that doesn't know '-t' argument. | ||||
| # fix-redis-config-path: | ||||
| #     Point to the absolute location of redis_config.rb | ||||
| # | ||||
| RUBY_PATCHES=( | ||||
| 	"01-${PN}-8.7.5-fix-sendmail-config.patch" | ||||
| 	"02-${PN}-8.11.0-fix-redis-config-path.patch" | ||||
| 	"03-${PN}-8.17.0-database.yml.patch" | ||||
| 	"04-${PN}-8.12.7-fix-check-task.patch" | ||||
| 	"05-${PN}-8.16.0-replace-sys-filesystem.patch" | ||||
| 	"06-${PN}-8.17.0-fix-webpack-config.patch" | ||||
| ) | ||||
| 
 | ||||
| MY_NAME="gitlab" | ||||
| MY_USER="git"    # should be same as in gitlab-shell | ||||
| 
 | ||||
| DEST_DIR="/opt/${MY_NAME}" | ||||
| CONF_DIR="/etc/${MY_NAME}" | ||||
| LOGS_DIR="/var/log/${MY_NAME}" | ||||
| TEMP_DIR="/var/tmp/${MY_NAME}" | ||||
| 
 | ||||
| all_ruby_prepare() { | ||||
| 	# fix paths | ||||
| 	local satellites_path="${TEMP_DIR}/repo_satellites" | ||||
| 	local repos_path=/var/lib/git/repositories | ||||
| 	local shell_path=/usr/share/gitlab-shell | ||||
| 	sed -i -E \ | ||||
| 		-e "/satellites:$/,/\w:$/   s|(\s*path:\s).*|\1${satellites_path}/|" \ | ||||
| 		-e "/gitlab_shell:$/,/\w:$/ s|(\s*path:\s).*|\1${shell_path}/|" \ | ||||
| 		-e "/gitlab_shell:$/,/\w:$/ s|(\s*repos_path:\s).*|\1${repos_path}/|" \ | ||||
| 		-e "/gitlab_shell:$/,/\w:$/ s|(\s*hooks_path:\s).*|\1${shell_path}/hooks/|" \ | ||||
| 		config/gitlab.yml.example || die "failed to filter gitlab.yml.example" | ||||
| 
 | ||||
| 	local run_path=/run/${MY_NAME} | ||||
| 	sed -i -E \ | ||||
| 		-e "s|/home/git/gitlab/tmp/(pids\|sockets)|${run_path}|" \ | ||||
| 		-e "s|/home/git/gitlab/log|${LOGS_DIR}|" \ | ||||
| 		-e "s|/home/git/gitlab|${DEST_DIR}|" \ | ||||
| 		config/unicorn.rb.example || die "failed to filter unicorn.rb.example" | ||||
| 
 | ||||
| 	sed -i \ | ||||
| 		-e "s|/home/git/gitlab/tmp/sockets|${run_path}|" \ | ||||
| 		lib/support/nginx/gitlab || die "failed to filter nginx/gitlab" | ||||
| 
 | ||||
| 	# modify default database settings for PostgreSQL | ||||
| 	sed -i -E \ | ||||
| 		-e 's|(username:).*|\1 gitlab|' \ | ||||
| 		-e 's|(password:).*|\1 gitlab|' \ | ||||
| 		-e 's|(socket:).*|\1 /run/postgresql/.s.PGSQL.5432|' \ | ||||
| 		config/database.yml.postgresql \ | ||||
| 		|| die "failed to filter database.yml.postgresql" | ||||
| 
 | ||||
| 	# rename config files | ||||
| 	mv config/gitlab.yml.example config/gitlab.yml | ||||
| 	mv config/unicorn.rb.example config/unicorn.rb | ||||
| 
 | ||||
| 	local dbconf=config/database.yml | ||||
| 	if use postgres && ! use mysql; then | ||||
| 		mv ${dbconf}.postgresql ${dbconf} | ||||
| 		rm ${dbconf}.mysql | ||||
| 	elif use mysql && ! use postgres; then | ||||
| 		mv ${dbconf}.mysql ${dbconf} | ||||
| 		rm ${dbconf}.postgresql | ||||
| 	fi | ||||
| 
 | ||||
| 	# remove useless files | ||||
| 	rm -r lib/support/{deploy,init.d} | ||||
| 	use unicorn || rm config/unicorn.rb | ||||
| } | ||||
| 
 | ||||
| all_ruby_install() { | ||||
| 	local dest=${DEST_DIR} | ||||
| 	local conf=${CONF_DIR} | ||||
| 	local logs=${LOGS_DIR} | ||||
| 	local temp=${TEMP_DIR} | ||||
| 
 | ||||
| 	# prepare directories | ||||
| 	diropts -m750 | ||||
| 	dodir ${logs} ${temp} | ||||
| 
 | ||||
| 	diropts -m755 | ||||
| 	dodir ${conf} ${dest}/public/uploads | ||||
| 
 | ||||
| 	dosym ${temp} ${dest}/tmp | ||||
| 	dosym ${logs} ${dest}/log | ||||
| 
 | ||||
| 	# install configs | ||||
| 	insinto ${conf} | ||||
| 	doins -r config/* | ||||
| 	dosym ${conf} ${dest}/config | ||||
| 
 | ||||
| 	echo 'export RAILS_ENV=production' > "${D}/${dest}/.profile" | ||||
| 
 | ||||
| 	# remove needless dirs | ||||
| 	rm -Rf config tmp log | ||||
| 
 | ||||
| 	# install the rest files | ||||
| 	# using cp 'cause doins is slow | ||||
| 	cp -Rl * "${D}/${dest}"/ | ||||
| 
 | ||||
| 	# install logrotate config | ||||
| 	dodir /etc/logrotate.d | ||||
| 	cat > "${D}/etc/logrotate.d/${MY_NAME}" <<-EOF | ||||
| 		${logs}/*.log { | ||||
| 		    missingok | ||||
| 		    delaycompress | ||||
| 		    compress | ||||
| 		    copytruncate | ||||
| 		} | ||||
| 	EOF | ||||
| 
 | ||||
| 	## Install gems via bundler ## | ||||
| 
 | ||||
| 	cd "${D}/${dest}" | ||||
| 
 | ||||
| 	local without="development test aws" | ||||
| 	local flag; for flag in mysql postgres unicorn kerberos; do | ||||
| 		without+="$(use $flag || echo ' '$flag)" | ||||
| 	done | ||||
| 	local bundle_args="--deployment ${without:+--without ${without}}" | ||||
| 
 | ||||
| 	use "rugged_use_system_libraries" && export RUGGED_USE_SYSTEM_LIBRARIES="YES" | ||||
| 
 | ||||
| 	einfo "Running bundle install ${bundle_args} ..." | ||||
| 	${RUBY} /usr/bin/bundle install ${bundle_args} || die "bundler failed" | ||||
| 
 | ||||
| 	einfo "Cleaning old gems ..." | ||||
| 	${RUBY} /usr/bin/bundle clean | ||||
| 
 | ||||
| 	# clean gems cache | ||||
| 	rm -Rf vendor/bundle/ruby/*/cache | ||||
| 	rm -Rf vendor/bundle/ruby/*/bundler/gems/charlock_holmes-dde194609b35/.git | ||||
| 
 | ||||
| 	## RC script ## | ||||
| 
 | ||||
| 	if use systemd ; then | ||||
| 		ewarn "Beware: systemd support has not been tested, use at your own risk!" | ||||
| 		systemd_newunit "${FILESDIR}/gitlab-8.13.0-sidekiq.service" "gitlab-sidekiq.service" | ||||
| 		systemd_dounit "${FILESDIR}/gitlab-unicorn.service" | ||||
| 		systemd_dounit "${FILESDIR}/gitlab-workhorse.service" | ||||
| 		systemd_dounit "${FILESDIR}/gitlab-mailroom.service" | ||||
| 		systemd_dotmpfilesd "${FILESDIR}/gitlab.conf" | ||||
| 	else | ||||
| 		local rcscript=gitlab-8.13.3-sidekiq.init | ||||
| 		use unicorn && rcscript=gitlab-8.13.3-unicorn.init | ||||
| 
 | ||||
| 		cp "${FILESDIR}/${rcscript}" "${T}" || die | ||||
| 		sed -i \ | ||||
| 			-e "s|@USER@|${MY_USER}|" \ | ||||
| 			-e "s|@GITLAB_BASE@|${dest}|" \ | ||||
| 			-e "s|@LOGS_DIR@|${logs}|" \ | ||||
| 			"${T}/${rcscript}" \ | ||||
| 			|| die "failed to filter ${rcscript}" | ||||
| 
 | ||||
| 		newinitd "${T}/${rcscript}" "${MY_NAME}" | ||||
| 	fi | ||||
| 
 | ||||
| 	# fix permissions | ||||
| 	fowners -R ${MY_USER}:${MY_USER} ${dest} ${temp} ${logs} | ||||
| } | ||||
| 
 | ||||
| pkg_postinst() { | ||||
| 	elog "If this is an update from a previous version, stop your GitLab" | ||||
| 	elog "instance and issue the following command to perform all required" | ||||
| 	elog "migrations:" | ||||
| 	elog "       emerge --config \"=${CATEGORY}/${PF}\"" | ||||
| 	elog "PLEASE NOTE: It's HIGHLY recommended to backup your database" | ||||
| 	elog "before running the config phase. Run these commands (as root):" | ||||
| 	elog | ||||
| 	elog "    cd /opt/gitlab" | ||||
| 	elog "    sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production" | ||||
| 	elog | ||||
| 	elog "If this was a fresh install, follow these steps:" | ||||
| 	elog | ||||
| 	elog "1. Configure your GitLab's settings in ${CONF_DIR}/gitlab.yml." | ||||
| 	elog | ||||
| 	elog "2. Configure your database settings in ${CONF_DIR}/database.yml" | ||||
| 	elog "   for \"production\" environment." | ||||
| 	elog | ||||
| 	elog "3. Then you should create a database for your GitLab instance, if you" | ||||
| 	elog "   haven't done so already." | ||||
| 	elog | ||||
| 	if use postgres; then | ||||
| 		elog "If you have local PostgreSQL running, just copy&run:" | ||||
| 		elog "      su postgres" | ||||
| 		elog "      psql -c \"CREATE ROLE gitlab PASSWORD 'gitlab' \\" | ||||
| 		elog "          NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;\"" | ||||
| 		elog "      createdb -E UTF-8 -O gitlab gitlabhq_production" | ||||
| 		elog "  Note: You should change your password to something more random..." | ||||
| 		elog | ||||
| 	fi | ||||
| 	elog "4. Finally execute the following command to initialize the environment:" | ||||
| 	elog "       emerge --config \"=${CATEGORY}/${PF}\"" | ||||
| 	elog "   Note: Do not forget to start Redis server first!" | ||||
| 	elog | ||||
| 	elog "If you're running GitLab behind an SSL proxy such as nginx or Apache and" | ||||
| 	elog "you can't login after the upgrade, be sure to read the section about the" | ||||
| 	elog "verification of the CSRF token in GitLab's trouble-shooting guide at" | ||||
| 	elog "http://goo.gl/5XGRGv." | ||||
| 	if use postgres; then | ||||
| 		elog "Please note: As of GitLab 8.6, users of PostgreSQL need to enable the" | ||||
| 		elog "`pg_trgm` extension by running the following command as a PostgreSQL" | ||||
| 		elog "super user for *every* GitLab database:" | ||||
| 		elog "      CREATE EXTENSION IF NOT EXISTS pg_trgm;" | ||||
| 		elog "For details, see the documentation at the GitLab website." | ||||
| 	fi | ||||
| } | ||||
| 
 | ||||
| pkg_config() { | ||||
| 	einfo "Checking configuration files" | ||||
| 
 | ||||
| 	if [ ! -r "${CONF_DIR}/database.yml" ]; then | ||||
| 		eerror "Copy ${CONF_DIR}/database.yml.* to" | ||||
| 		eerror "${CONF_DIR}/database.yml and edit this file in order to configure your" | ||||
| 		eerror "database settings for \"production\" environment."; die | ||||
| 	fi | ||||
| 
 | ||||
| 	local email_from="$(ryaml ${CONF_DIR}/gitlab.yml production gitlab email_from)" | ||||
| 	local git_home="$(egethome ${MY_USER})" | ||||
| 
 | ||||
| 	# configure Git global settings | ||||
| 	if [ ! -e "${git_home}/.gitconfig" ]; then | ||||
| 		einfo "Setting git user" | ||||
| 		su -l ${MY_USER} -c " | ||||
| 			git config --global user.email '${email_from}'; | ||||
| 			git config --global user.name 'GitLab'" \ | ||||
| 			|| die "failed to setup git name and email" | ||||
| 	fi | ||||
| 
 | ||||
| 	su -l ${MY_USER} -c "git config --global repack.writeBitmaps true" | ||||
| 
 | ||||
| 	# determine whether this is an update or a fresh install. we do this by | ||||
| 	# checking whether the ${DEST_DIR}/.git directory exists or not | ||||
| 	#  | ||||
| 	if [ -d "${DEST_DIR}/.git" ]; then | ||||
| 		local update=true | ||||
| 	else | ||||
| 		local update=false | ||||
| 	fi | ||||
| 
 | ||||
| 	## Initialize app ## | ||||
| 
 | ||||
| 	local RAILS_ENV="production" | ||||
| 	local RUBY=${RUBY:-/usr/bin/ruby} | ||||
| 	local BUNDLE="${RUBY} /usr/bin/bundle" | ||||
| 
 | ||||
| 	# FIXME: this line existed in older ebuilds, but the variable is | ||||
| 	# never used. what was it for!? | ||||
| 	# local dbname="$(ryaml ${CONF_DIR}/database.yml production database)" | ||||
| 
 | ||||
| 	if [ "${update}" = 'true' ]; then | ||||
| 		einfo "Migrating database ..." | ||||
| 		exec_rake db:migrate | ||||
| 
 | ||||
| 		# https://github.com/gitlabhq/gitlabhq/issues/5311#issuecomment-31656496 | ||||
| 		einfo "Migrating iids ..." | ||||
| 		exec_rake migrate_iids | ||||
| 
 | ||||
| 		einfo "Installing npm modules ..." | ||||
| 		exec_npm install | ||||
| 
 | ||||
| 		einfo "Cleaning old precompiled assets ..." | ||||
| 		exec_rake gitlab:assets:clean | ||||
| 
 | ||||
| 		einfo "Cleaning cache ..." | ||||
| 		exec_rake cache:clear | ||||
| 	else | ||||
| 		# create dummy git repo as workaround for | ||||
| 		# https://github.com/bundler/bundler/issues/2039 | ||||
| 		einfo "Initializing dummy git repository to avoid false errors from bundler" | ||||
| 		su -l ${MY_USER} -c " | ||||
| 			cd ${DEST_DIR} | ||||
| 			git init | ||||
| 			git add README.md | ||||
| 			git commit -m 'Dummy repository'" >/dev/null | ||||
| 
 | ||||
| 		einfo "Initializing database ..." | ||||
| 		exec_rake gitlab:setup | ||||
| 
 | ||||
| 		einfo "Installing npm modules ..." | ||||
| 		exec_npm install | ||||
| 	fi | ||||
| 
 | ||||
| 	einfo "Precompiling assests ..." | ||||
| 	exec_rake gitlab:assets:compile | ||||
| 
 | ||||
| 	if [ "${update}" = 'true' ]; then | ||||
| 		ewarn | ||||
| 		ewarn "This configuration script runs only common migration tasks." | ||||
| 		ewarn "Please read guides on" | ||||
| 		ewarn "    https://github.com/gitlabhq/gitlabhq/blob/master/doc/update/" | ||||
| 		ewarn "for any additional migration tasks specific to your previous GitLab" | ||||
| 		ewarn "version." | ||||
| 		if use mysql ; then | ||||
| 			ewarn "PLEASE also read this document about needed migrations on MySQL:" | ||||
| 			ewarn "https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/database_mysql.md" | ||||
| 		fi | ||||
| 	fi | ||||
| 	elog | ||||
| 	elog "If you want to make sure that the install/upgrade was successful, start" | ||||
| 	elog "Gitlab now and then run these commands (as root):" | ||||
| 	elog | ||||
| 	elog "    cd /opt/gitlab" | ||||
| 	elog "    sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production" | ||||
| 	elog "    sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production" | ||||
| 	elog | ||||
| 	if ! use systemd ; then | ||||
| 		elog "You may also run" | ||||
| 		elog "    /etc/init.d/gitlab check" | ||||
| 		elog " for convenience." | ||||
| 	fi | ||||
| } | ||||
| 
 | ||||
| ryaml() { | ||||
| 	ruby -ryaml -e 'puts ARGV[1..-1].inject(YAML.load(File.read(ARGV[0]))) {|acc, key| acc[key] }' "$@" | ||||
| } | ||||
| 
 | ||||
| exec_rake() { | ||||
| 	local command="${BUNDLE} exec rake $@ RAILS_ENV=${RAILS_ENV} NODE_ENV=${RAILS_ENV}" | ||||
| 
 | ||||
| 	echo "   ${command}" | ||||
| 	su -l ${MY_USER} -c " | ||||
| 		export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8; export NODE_PATH=${DEST_DIR}/node_modules | ||||
| 		cd ${DEST_DIR} | ||||
| 		${command}" \ | ||||
| 		|| die "failed to run rake $@" | ||||
| } | ||||
| 
 | ||||
| exec_npm() { | ||||
| 	local command="npm $@ --${RAILS_ENV}" | ||||
| 
 | ||||
| 	echo "   ${command}" | ||||
| 	su -l ${MY_USER} -c " | ||||
| 		export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8; export NODE_PATH=${DEST_DIR}/node_modules | ||||
| 		cd ${DEST_DIR} | ||||
| 		${command}" \ | ||||
| 		|| die "failed to run npm $@" | ||||
| } | ||||
|  | @ -19,8 +19,9 @@ EGIT_REPO_URI="https://gitlab.com/gitlab-org/${PN}.git" | |||
| EGIT_BRANCH="master" | ||||
| EGIT_CHECKOUT_DIR="${WORKDIR}/all" | ||||
| 
 | ||||
| GITLAB_SHELL_VERSION="4.1.1" | ||||
| GITLAB_WORKHORSE_VERSION="1.3.0" | ||||
| GITLAB_PAGES_VERSION="0.4.0" | ||||
| GITLAB_SHELL_VERSION="5.0.0" | ||||
| GITLAB_WORKHORSE_VERSION="1.4.1" | ||||
| 
 | ||||
| DESCRIPTION="GitLab is a free project and repository management application" | ||||
| HOMEPAGE="https://about.gitlab.com/" | ||||
|  | @ -30,7 +31,7 @@ RESTRICT="mirror" | |||
| LICENSE="MIT" | ||||
| SLOT="0" | ||||
| KEYWORDS="" | ||||
| IUSE="kerberos mysql +postgres +unicorn systemd rugged_use_system_libraries" | ||||
| IUSE="kerberos mysql +postgres +unicorn systemd pages rugged_use_system_libraries" | ||||
| 
 | ||||
| ## Gems dependencies: | ||||
| #   charlock_holmes     dev-libs/icu | ||||
|  | @ -61,7 +62,8 @@ COMMON_DEPEND=" | |||
| 	>=dev-vcs/gitlab-workhorse-${GITLAB_WORKHORSE_VERSION} | ||||
| 	>=net-libs/nodejs-4.3.0 | ||||
| 	kerberos? ( !app-crypt/heimdal ) | ||||
| 	rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )" | ||||
| 	rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 ) | ||||
| 	pages? ( >=www-servers/gitlab-pages-${GITLAB_PAGES_VERSION} )" | ||||
| DEPEND=" | ||||
| 	${CDEPEND} | ||||
| 	${COMMON_DEPEND}" | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ | |||
| 	</maintainer> | ||||
| 	<use> | ||||
| 		<flag name="unicorn">Use the Unicorn web server. Never tested the package without it, so disable at your own risk.</flag> | ||||
| 		<flag name="pages">Use the GitLab Pages feature. See https://gitlab.com/gitlab-org/gitlab-pages/</flag> | ||||
| 		<flag name="rugged_use_system_libraries">Use dev-libs/libgit2 from the system instead of the bundled libgit. The bundled library sometimes causes build breakages.</flag> | ||||
| 	</use> | ||||
| </pkgmetadata> | ||||
|  |  | |||
|  | @ -1,3 +1,10 @@ | |||
| *gitlab-pages-0.3.2-r1 (13 Mar 2017) | ||||
| 
 | ||||
|   13 Mar 2017; Manuel Friedli <manuel@fritteli.ch> | ||||
|   +gitlab-pages-0.3.2-r1.ebuild: | ||||
|   www-servers/gitlab-pages:   added arches ~x86, ~arm, ~arm64; otherwise repoman | ||||
|   would complain about the most recent gitlab-ce ebuilds. | ||||
| 
 | ||||
|   07 Mar 2017; Manuel Friedli <manuel@fritteli.ch> | ||||
|   files/gitlab-pages-0.3.2.conf, files/gitlab-pages-0.3.2.init: | ||||
|   www-servers/gitlab-pages:   Fixed buggy configuration: - Logfile was not | ||||
|  |  | |||
|  | @ -2,6 +2,7 @@ AUX 0001-fix-Makefile-0.3.2.patch 744 SHA256 7efe9ee3cdf0e7e324155d05651f535b39f | |||
| AUX gitlab-pages-0.3.2.conf 148 SHA256 2b1d40d38d729a4e705455a2fbe745618c573cdc7159683ebf42f3a28d41a473 SHA512 57ff7ef4f3c5f221e39f8cfd29ab58ccb126d672260ee983d6f1221bfe2cfe5553b4f0187ce384f05fc6694ad31c2f7ae02155d0c21247eccd1d7dbf1632ffba WHIRLPOOL 1cb70bb5a9e6876a58e7cf78a68e9a08a0ae947237a537f7cf93b727cdb69482114cd2c1ccd17e27b80590be11e9904bae81e06afab83066c0d10926d22dd301 | ||||
| AUX gitlab-pages-0.3.2.init 698 SHA256 6751226148f5c8b53bdf3422053115ed6bb6ac3d7795b605617a7733a2b84437 SHA512 10e299febee0a66f03e8debe3f20ad635b52b5238a2ad23f585d30f14d5c0f591825bd892119f564f427e93a539184e39424c8cdc78200b2dbb5d0f588738176 WHIRLPOOL 7142b6a056a0d0a90bb18d1fdc5995c07156e05216b9e5779548427ad6f7aed4cf8eb090acfcbd0a7cc07826c0b6dfc5276ca176a80783d40405d2011a253fe0 | ||||
| DIST gitlab-pages-0.3.2.tar.bz2 205531 SHA256 392b0620871ab36a362f8b8b9008c266eda465e6f32611ccbdbe640cd77ae7b5 SHA512 e452af8a9d2032ccba827a7a165abf324008c585369f74d14a47524eaaa3255a92c38f102e8cf63a86012650da6265aa1a28f0ade5131ebb1df51e6202be0edc WHIRLPOOL d47459d214d1ed9818de534885ea806f092fe2fb02b2aa08b00b95fb9c3f2693b7c9b8d3e5723be55535888e1276ba4dbc24ead2f659677a43d326dcff9f3925 | ||||
| EBUILD gitlab-pages-0.3.2-r1.ebuild 1968 SHA256 947c1a842bf512d712a73c723adc9db7651041e740a575050ea636b43948d294 SHA512 c7330aaee4252d6c0bde0440d4dace061e59802459efb3da71148c100e71fe6231bb694a5aaf57e8372d5c8fca2ca84a3d359ce86dcb8c918e12fca92ca22757 WHIRLPOOL 68762bc267f336c0ac866c8e782f878d1ad5dd7066fd85bb0d5ed506b8ea9b57f28a801d6e2535869912b93fa2143f13b0155771b3ee0a31cedd3b64a01169bd | ||||
| EBUILD gitlab-pages-0.3.2.ebuild 1951 SHA256 c3617997d32d94ac44131e048a71f9e99db0243223f3158089154317cb4a3fc6 SHA512 123890a3c2c24d45be2a0e5d5042d8b3fe95fc6a7a51d447056fc08363a4414e47624b9c0744cba922f642fec3cc35952efdfc43bc4c5cbaac24deeb8554b3e1 WHIRLPOOL 7e09a647a1748c41da4120fdf8fd66bdd0a0adbc09a7462ffc7e3c9e5fdadf9036fa27c48272baef45d23977bf004df712aa3b4f11ecee113c4ffc306acbcc18 | ||||
| MISC ChangeLog 715 SHA256 1cdc53deb505288e62b3b1fd7f26259ebd5462e6fdc6fc0bff46a41b91d028e7 SHA512 786edeb0f99dfe9a1e604970961ff3bc8f55ddab5621d9c9d3decc8397af5c30d207ea3f432e3b944776913b30fe25fcb986d77df58ea346fd4a86d5684e5977 WHIRLPOOL 7f9bcd41be0149d7f3858c0978dc5ca3d9dc264ec9f6d799351e8bd982e7d7e4f6a2d175d3469f2551fdcaee424a3e1e19a615b4f31b04466e2a3c25e4e3c095 | ||||
| MISC ChangeLog 977 SHA256 78595c7a79bea94352d2a0682caa80db4e94a6a46da0ce9fc5f40642785046b7 SHA512 edc7b2840e3f787a5470dcf9c03789281ebecd3f82a0b90abd8902c51f93610964385687a8c7471c6806f8cbd1e25c6eb6cf5d51987ceac7172e12fbf70b092b WHIRLPOOL e2ff633b28b3439d3a136942b6548f25928ce59a1eedaf06fbce16f7dace5490ec1db61bcff301712f6ec506ebaf0020fbc7cc27ea215dbc45bb5299366f37df | ||||
| MISC metadata.xml 248 SHA256 7b43be15755627edf5c12cf1b50c607d781558640bf8375d685d51d7ade99a32 SHA512 29f9b96b0a77546cce6a8bffd82fae2fd0939d32a7a05ffd0d91f9250a019a3ddaa599b93988c82daabb9c4c4b284dd947e2c47f6ca7727b8539cffa91bcb8c2 WHIRLPOOL 993013c9878ead35469db13d3072f694a341ee654182e0c31d0678f5dd6de4bdc8d59a0b7bb6d685dc41ea6b55dac518cd8034131baea8002170c680e50304d1 | ||||
|  |  | |||
							
								
								
									
										79
									
								
								www-servers/gitlab-pages/gitlab-pages-0.3.2-r1.ebuild
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								www-servers/gitlab-pages/gitlab-pages-0.3.2-r1.ebuild
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,79 @@ | |||
| # Copyright 1999-2017 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-pages/..." | ||||
| 
 | ||||
| MY_PV="v${PV/_/-}" | ||||
| MY_BRANCH="1-10-stable" | ||||
| MY_GIT_HASH="7285dc6" | ||||
| 
 | ||||
| DESCRIPTION="Simple HTTP server written in Go made to serve GitLab Pages with CNAMEs and SNI" | ||||
| HOMEPAGE="https://gitlab.com/gitlab-org/gitlab-pages" | ||||
| SRC_URI="https://gitlab.com/gitlab-org/${PN}/repository/archive.tar.bz2?ref=v${PV} -> ${P}.tar.bz2" | ||||
| 
 | ||||
| KEYWORDS="~amd64 ~x86 ~arm ~arm64" | ||||
| LICENSE="MIT" | ||||
| SLOT="0/${PVR}" | ||||
| 
 | ||||
| DEPEND=">=dev-lang/go-1.5" | ||||
| 
 | ||||
| RESTRICT="test mirror" | ||||
| 
 | ||||
| MY_USER="gitlab_pages" | ||||
| 
 | ||||
| pkg_setup() { | ||||
| 	enewgroup ${MY_USER} | ||||
| 	enewuser ${MY_USER} -1 -1 -1 ${MY_USER} | ||||
| } | ||||
| 
 | ||||
| src_prepare() { | ||||
| 	epatch "${FILESDIR}/0001-fix-Makefile-${PV}.patch" | ||||
| 
 | ||||
| 	sed -i -E \ | ||||
| 		-e "s/@@REVISION@@/${MY_GIT_HASH}/" \ | ||||
| 		src/gitlab.com/gitlab-org/${PN}/Makefile | ||||
| 
 | ||||
| 	eapply_user | ||||
| } | ||||
| 
 | ||||
| src_compile() { | ||||
| 	emake GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" RELEASE=true -C src/${EGO_PN%/*} all | ||||
| } | ||||
| 
 | ||||
| src_install() { | ||||
| 	golang-build_src_install | ||||
| 	dobin bin/* | ||||
| 	dodoc src/${EGO_PN%/*}/README.md src/${EGO_PN%/*}/CHANGELOG | ||||
| 
 | ||||
| 	# rc script | ||||
| 	local rcscript="${PN}-0.3.2.init" | ||||
| 
 | ||||
| 	cp "${FILESDIR}/${rcscript}" "${T}" || die | ||||
| 	sed -i \ | ||||
| 		-e "s|@USER@|${MY_USER}|g" \ | ||||
| 		"${T}/${rcscript}" \ | ||||
| 		|| die "failed to filter ${rcscript}" | ||||
| 
 | ||||
| 	newinitd "${T}/${rcscript}" "${PN}" | ||||
| 	newconfd "${FILESDIR}/${PN}-0.3.2.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." | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue