diff --git a/dev-vcs/gitlab-ci-multi-runner/ChangeLog b/dev-vcs/gitlab-ci-multi-runner/ChangeLog index b256027..7f2a75f 100644 --- a/dev-vcs/gitlab-ci-multi-runner/ChangeLog +++ b/dev-vcs/gitlab-ci-multi-runner/ChangeLog @@ -1,11 +1,3 @@ -*gitlab-ci-multi-runner-9.0.0_rc2 (19 Mar 2017) - - 19 Mar 2017; Manuel Friedli - +files/0001-fix-Makefile-9.0.0.patch, - +gitlab-ci-multi-runner-9.0.0_rc2.ebuild: - dev-vcs/gitlab-ci-multi-runner: Added preliminary ebuild for gitlab-ci- - multi-runner-9.0.0_rc2. It still needs some love and doesn't even compile yet. - *gitlab-ci-multi-runner-1.11.1 (16 Mar 2017) 16 Mar 2017; Manuel Friedli diff --git a/dev-vcs/gitlab-ci-multi-runner/Manifest b/dev-vcs/gitlab-ci-multi-runner/Manifest index 8545315..4c2245c 100644 --- a/dev-vcs/gitlab-ci-multi-runner/Manifest +++ b/dev-vcs/gitlab-ci-multi-runner/Manifest @@ -1,7 +1,6 @@ AUX 0001-fix-Makefile-1.10.4.patch 3308 SHA256 c87a85a704ee054f85343d01e187933e67a6cca989adcf686a6f16a37406340d SHA512 bcd746a39997287334a77847322f11cbdc55c790540061f3bc9d9ac60ddc19683abf431e558c3e1a033f3ac3b5de0404da8ab82d2a3c254a214c1e0e80bfd76d WHIRLPOOL 71ec341a2e79a431062eb99c96bb2c7286858417e62c10082af48d5cd90de88a0eefd91a2bdda351e0bdbceea7452b79e88f83d566a79432c45ceaea5b7476c9 AUX 0001-fix-Makefile-1.11.1.patch 3376 SHA256 1c8123815ed8df86942b4cfd11b8c91e7a08945664e97df11b6f34cc583a093e SHA512 2bb4dd17cd47f85799932e09294244d899361b152ff47b0883c985b989b1c222a0bec8090e7692d1eea0655969883fad400d0c5a68c07dde0cefe67f6775654d WHIRLPOOL da952b735599208091b028aaf3b32077c63e24c4796226975b22aef7c57bb7d1b2872a96b21ce877bdf46b761295b6e602a5eacdb7e3c4e58c07b34801f650e7 AUX 0001-fix-Makefile-1.8.0.patch 3281 SHA256 70db95de830679916f1a0c446a5eb42ebdc77446d2a46e31f919107ea452d0a0 SHA512 d73db4e0122741da7bd7be9fd5a2b36c4aaeb0b3b0789604cefe1e98a613c0e5141299d7764b694080ccd8ff9094e8f0b134c950339e2f4ced31d8851f2fe63f WHIRLPOOL 24a3459cf882281b57bfbfb8471fc0f6ce1d0630ecd360d1fd813663f35a500f9f3cc826b89df0069d62d23f6d8cf0d0405254e967fc4c2eba0abf635f5da29b -AUX 0001-fix-Makefile-9.0.0.patch 3376 SHA256 1c8123815ed8df86942b4cfd11b8c91e7a08945664e97df11b6f34cc583a093e SHA512 2bb4dd17cd47f85799932e09294244d899361b152ff47b0883c985b989b1c222a0bec8090e7692d1eea0655969883fad400d0c5a68c07dde0cefe67f6775654d WHIRLPOOL da952b735599208091b028aaf3b32077c63e24c4796226975b22aef7c57bb7d1b2872a96b21ce877bdf46b761295b6e602a5eacdb7e3c4e58c07b34801f650e7 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 @@ -29,5 +28,5 @@ EBUILD gitlab-ci-multi-runner-1.7.0.ebuild 3250 SHA256 fc9f976619ff9ddedaceee812 EBUILD gitlab-ci-multi-runner-1.8.0.ebuild 3258 SHA256 d54d70f365868526144decb5671c834bf259d8b8659ec57a8ed9cd55cb6589da SHA512 7023a29d0615b986ef6d0fb0f2ca3ba9f0c0cca095b739cb7da63eb13cb4bee413978807032a674bd5876da9eda198a8fbb11be44c5fe43099e8e98148524b10 WHIRLPOOL c77aaa33c1d24a278cf53d63aa54052c5bddc5c671d2189457b209dcd8a8bf4c911f50be6478c613ba111a709f500f2fb4ba98399fc78a5ece897c852b79d4a4 EBUILD gitlab-ci-multi-runner-1.9.2.ebuild 3258 SHA256 2d753e9effbba47ddce697875a94572ea44a866fd4988924d38c5f3e87030f14 SHA512 7e691285841aad5fd200e83ed039cf24f3185d18d4b55545f2f325b9fbb6affc30e54ec1aa104799d3cdbfbdbfc4ad96c481485e8f5ce40753ad17b4dc5084d9 WHIRLPOOL 6b00e7b8446c6b78502f2fca6dcf752273245a8a71830fb968a286ae6cf1f0029285a547e0c568ae668315006a39cf9880e0db384504f428538c4810e11805f6 EBUILD gitlab-ci-multi-runner-9.0.0_rc3.ebuild 3319 SHA256 f9ec2a196569c2fd1b0cdda595b0e4a819bf9bcbdab2174fa02a25633360ed99 SHA512 170c6a0574f74ecb2106152b8a71eea16b0765cc71634758a7a14e2a6948848e5a07a60fb9e5a3ccb6abe60253eac0cfaa513eee6e33166af7b7749fda6d958c WHIRLPOOL 68f9f369c27fca8fd75d42ca5e59b901c9fbf27f7062e76479654d608e24e3400aeeab4f69b4a1fd817bf6abce0cb9ed450c8d4087a5685fc3ed88d9ec012f48 -MISC ChangeLog 1869 SHA256 0548d0cac95fbaddfed475355f791128f07270c8e6812745ad8a4c1360addd7e SHA512 cf5495ad836bd6b623daee529711e98a900f7756857cc55d83c364d3fdd448d0fa880edb94b20a2f9be29f0d39c85ead90452a81a871af2facd1f956cfd16abc WHIRLPOOL 306973a7d309ff80d6a0d0484ae493baebc97b74db6cc02c0a6a6f55f19d4fa2cdf7a6b6664f41c78e9a888bfeda95c884a916dc799b220305a5fe4cafa89795 +MISC ChangeLog 1527 SHA256 f69fb48fa08aff1dc4e751af5dc0035289aaf39c4fb4511b680a938a30bbc311 SHA512 e94da9dd3a9cadf9461e3536a1ea632b16e5704735f30fa47da08652c7bada1d6d0823dde5cdeffeef0787a8ec6a8fe357b841cb4a59e9c345702c113a4a0f10 WHIRLPOOL 50cbf5c714f6a4dc8203a588095e9540157ef3f8d9e406910b93cdc46402bfbdf76a0e5f23e90d4fb25142a222b4c95004c893657d7e73cb3fedeeb0dcd2fe57 MISC metadata.xml 329 SHA256 f0ae08a64aa32a07486e744ce11ac5448770b7320454015bcd065e312fcb5e9c SHA512 11e4eaf25633c5979e5243350bdf2ddc6d9dca06ab54ec38359591f1d002ea2a224e53b3e6c4ac53b5b2e795a87769fdbd97c547b008272e0a1491141f422e5d WHIRLPOOL ab2c1cb3d9aff1f757b49633f94d4b98da4b83dadab12ab8d869f9e1f6763b3125010147472e58e910e7fc42da262dbd69a1bf3939f3720a79ab4329184b4c35 diff --git a/www-apps/gitlab-ce/ChangeLog b/www-apps/gitlab-ce/ChangeLog index 5e6859e..f03c9a7 100644 --- a/www-apps/gitlab-ce/ChangeLog +++ b/www-apps/gitlab-ce/ChangeLog @@ -1,3 +1,19 @@ + 28 Mar 2017; Manuel Friedli gitlab-ce-9.0.0.ebuild, + gitlab-ce-9999.ebuild: + www-apps/gitlab-ce: Moved warning about MySQL migrations to the postinst + phase, as the config phase might fail when the database is not updated. So the + message must be displayed earlier. + + 28 Mar 2017; Manuel Friedli gitlab-ce-9.0.0.ebuild, + gitlab-ce-9999.ebuild: + www-apps/gitlab-ce: Fixed the latest ebuild to use yarn instead of npm. + +*gitlab-ce-9.0.0 (28 Mar 2017) + + 28 Mar 2017; Manuel Friedli +gitlab-ce-9.0.0.ebuild: + www-apps/gitlab-ce: Added ebuild for Gitlab CE 9.0.0, dropping the ~arm + keyword due to the dependency to yarn, which is not available on unstable arm. + 19 Mar 2017; Manuel Friedli gitlab-ce-9.0.0_rc4.ebuild, gitlab-ce-9999.ebuild: www-apps/gitlab-ce: Updated ebuild for gitlab-ce-9999 and also cleaned diff --git a/www-apps/gitlab-ce/Manifest b/www-apps/gitlab-ce/Manifest index 948aec6..5702502 100644 --- a/www-apps/gitlab-ce/Manifest +++ b/www-apps/gitlab-ce/Manifest @@ -18,11 +18,13 @@ AUX gitlab.conf 27 SHA256 cd9be088bbb67a5400407fc6f63c061eb224f16748b7d0812ff2c1 DIST gitlab-ce-8.15.8.tar.gz 20035995 SHA256 9fafd6478a6d165ab6acd6f89f169fe72d46df547efe1bf3ac8d3a5bc4ffec11 SHA512 db287ea59d94eacd3c1219f458a403239f7aa39bea0d5e82fac80afc7216b96ac394740ab717c3ed26068617e1234105144820e41b0825511e1adc29e8891bfb WHIRLPOOL b03faf4b30b5c82535c0e148edec7fb5ff26405cfa8587b4bd287e834bb5f3eb6ddabd0b5f1472672b4108bdcb6066d63eb1a117e35fedf2c94d63348186afd6 DIST gitlab-ce-8.16.8.tar.gz 20907499 SHA256 b6ca6aebb5facb7b0bf792ac36fa6643098ddcbfd5364bf966311b48a2a0e68e SHA512 a5b77e39133078bc98a5c2d0b463e31c99eaaa44c28c70921546a8dfd45e24ff64bc310f8d067c40b609c3b19d13761afbc6068866e00297cb14b0e343b1a00c WHIRLPOOL 150c5b396703007e3b91f73407f5558045dcf4be74c2a12850e65bb7b5280582a8907312f5c09febb17649f98dbe40dd18968e69ef66d6026d3f69b79e6515c0 DIST gitlab-ce-8.17.4.tar.gz 22825573 SHA256 daa0d5d75295a896f7aa230bd965e12e8525a52c96ec0456ee405d083180e091 SHA512 4d9244c2575e8c4e26515ef55e478b459b24f3d53426a8d2e7cd253a879c9ae2a770e92e0e4a74cc88242b5b3ec81f6081c789426553ee9c8ff161abd138fb45 WHIRLPOOL a3131dc319b4aaa98c81c2c5104672363f16fb393ee0f21e8be670c9df6788c383f5fba8459352a37b49467f42307a1be291eff5b9d550390df04d9004514986 +DIST gitlab-ce-9.0.0.tar.gz 26260333 SHA256 73012a8d31b2d92a49f0957c78525069e11d5d7bf19ca67bcbabd44b37c8c36a SHA512 b8a48bf538691d0bb1b636f4be6b71010583b4784093ec5f5b3196bebeefd9e7fcfc05cfd48523eb2139ff9e0bd458e20e8174d8c8892cb510d55c2fb154ee32 WHIRLPOOL 5d10e6fed7a9de5db7513afaf29940cadf41a37397249a78b2f3dc0aadde25f73e9f4eb3d18f913c8ad13cbdfecec811cf2246c2ef377017dfe3f021b09a2125 DIST gitlab-ce-9.0.0_rc4.tar.gz 26270878 SHA256 f47ddcf6f4f0336228dd1ef03085c9ea6116157887e8216038d23b69cf7a4d89 SHA512 f4694ebf4ffe38e6c5495f3658eb8003d28b3ac5d67f4533ddc1932afca412a40ea786cd8d99e2891fdf9bacd7b198b29493b97d6d02455d4f4139d4e60a0d63 WHIRLPOOL 81f47820043445e9ff69ae0ad3bcd1e094ab1e3527eec279096ae16a767cec5451b2d94af4dd87cd2939eb2e64368a1a0e543ce40e0e9fd5a716eeef04741c54 EBUILD gitlab-ce-8.15.8.ebuild 11982 SHA256 755bfd6fa532a308d3f458db1456f8de4f2c5f599ab76c18653aad9e038d0697 SHA512 9aa439da7dc61687f1cdce5ff693dd1c8c4edc54aaed288ad0368aa1b64d577a7f3752dee149c200c4d98b43a6347c77251cac9f6d3316b5a6d799a17c3ed583 WHIRLPOOL 02393bfd983341632663096e8b293e3611ac5328a58a50a1c7e800e348e866f37aff53ebe447507a84d5966e019265fde94a30716f43b50228437e04abcd932c EBUILD gitlab-ce-8.16.8.ebuild 11982 SHA256 31537d4a6aeb9ff14ab14c9a27dca51a056e94ee75506ad855a1289f32468694 SHA512 01d536fcfb53a7b39943314a34eeeb9c5b5660604a2fb1a1c2dcd1d7e87d19ab0bbc5bc650feaa1db812047c3783a324d7c8a8bce7dd7381033c3d1ca2e64828 WHIRLPOOL 0f3402e30164ee6d5058c51554cc916d91d5975f438074e3193bf3bdb4e323bca4279c19f00cd7bacd01c2eb6cf13e41a0badabd958e9be58d319224f53403b0 EBUILD gitlab-ce-8.17.4.ebuild 12928 SHA256 f748d42058293ba4f593fbb36be34ecde332d896d04c610fd3b7e91288c18fbb SHA512 3c2736f9b7df066bb105faffef6ce2b6276fe60a686a7462c630a1b7c7c0296d94e33c7ea25a9f24aa814628f318e2430a3e5ca149783c86ef3fb1132dd01877 WHIRLPOOL cd629ba993df3eaef9c9ec1bf1649aa4cfea5f3787d2207a7016c092bff67175d79c6782d643d4c80b3b5971a98858feaa279a184abc4fd936c7e5c8b291dd28 +EBUILD gitlab-ce-9.0.0.ebuild 13008 SHA256 3b390e22aa0eda10dafe4c37cc4ccb2ff7e9b4cbbeeba6a64df7255e3440daf6 SHA512 d9f659414d380af24f4fb871f3c50062056b2aebef8f8fae7203b49a9102e55acc6c4be0840575de0953317d3a4fe6b4a4603121072b59cb0459927236cd9434 WHIRLPOOL 667ac5e2ba8ac7406dbd30e84ae13370eb3b55855e0319073d9295b9d8fbaa5f1e4f47b8ed2603394d77744d797512c653894c55a55ae676b87938d122fcdb5a EBUILD gitlab-ce-9.0.0_rc4.ebuild 12910 SHA256 8851160b4454845fb33ce0b9a9dd3e070bed07d3a0e5c5f753c77b0ef301ded0 SHA512 9d109a3ea8fa7a7bb33440b4b21bf988745c4eefb62b834ad88825f3ffa28881eceaf402ec09241b74d91e778258c1a18daae6c86254625af4f54bf6189b32f2 WHIRLPOOL 67aa480b4cf1209a3d7af3bffb1f7f774bf2c6d18bf40960478e13459813ebb9472adc5aec3b84252157b0c3e74f9e7f74cb0d57395983c02ba4c976ffae106f -EBUILD gitlab-ce-9999.ebuild 12869 SHA256 4a1e486e7386aa942bbd22c29457850584dab007b64715fc6f316ce5c98fcaf8 SHA512 ed66b809ca6e04956a9d4f5ef027aa9e174bad5cd80131a30fc34a1011f0221483b6fb52e893394b429d70919fc65496711a9c700c630c2ff31665827912df82 WHIRLPOOL b1b2582dcb1f600f199216c1bb532eac524ff3cce594e052039be29547164557997c65573f943c00240ab0986b0f1c1315602c3a65a0986e9f64a2df1827288e -MISC ChangeLog 15951 SHA256 2285d94a5e109d8db4f83147d5de126d4cb9a0e5d025593c776a03bf2e0de78d SHA512 18137fc5a70a721c2dd617529167a9c0a9ac808ed76819be02325802ef299ef1c5b58a7a3e72d047acbdd1a5304de1e73bd02ebe43b47d46aa1861dffff9ee70 WHIRLPOOL dba276237866fa33e27877169c8989386aa34bc0d4eb7b53758c7e7383f3997d0fd1367a4044142d6e98dd9d2b52619f3d1f96f73dae3d1f2f10620ee2f64b45 +EBUILD gitlab-ce-9999.ebuild 12949 SHA256 29d8125cbb7bd6d80623f54e1de2c18f7fde2301f5b94238853e2d717f920ad8 SHA512 c537716f9288e09c79508db89d21641424e36f491914aef8102734e8edd12a239f0b839d1ecfdaaf28b6bd19dd324479da3478db74611f97d875b6d5156cbac9 WHIRLPOOL 0a8403ad5f4284e5ec742eec5b6b83124f4a218adacee63cd413e3889934d1511f229d42502d50977cb2b9881f86c0e73e57c4a5421b119c5c44f56f9f8f3a92 +MISC ChangeLog 16689 SHA256 2d5d8b27ed34fa65b56108d2376b4bab7bf363831ade050675139e59b3b41652 SHA512 c2e27a088aa56a1a0cd0697449676b265eb43cd6b914c01913bc747384aa7dfa4ef90499333e257282d8c500cd1fc7e9bcfe85aed381dda315db17fe849f52b2 WHIRLPOOL 80c5160dc809f4f71a9c8c09a34ab5e69947889afce6d965969309b1a5e14de935521f4e277dfcc4e5c7a7abf37793d365ba537e9cc699f94152c5801f928dbf MISC metadata.xml 665 SHA256 2a0cd67ad42f0cc6d8b88391cf6e3153a9883dab31aae8227c57c95f3f68890d SHA512 64b8fbae373d0a057f705f64c1d097dbfab893bd585e1db65ccdb06cda9569211c9b63fa168ac8de9f6d512a17759ecd20b54d818d2790a6f4c99d0ca73fddc3 WHIRLPOOL a81b21bb46aad9757a502628033eba546c686b83bbf1d651ecabba273c454cfb64574affc180db8358ced87eb638e8ad13d7c79c4cfb9a31e72c577d21ab433e diff --git a/www-apps/gitlab-ce/gitlab-ce-9.0.0.ebuild b/www-apps/gitlab-ce/gitlab-ce-9.0.0.ebuild new file mode 100644 index 0000000..cab2e3a --- /dev/null +++ b/www-apps/gitlab-ce/gitlab-ce-9.0.0.ebuild @@ -0,0 +1,421 @@ +# 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="cf020e66dff606f6ea2d2dbaeb7bef43d446c536" + +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/" +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 ~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-4.3.0 + >=sys-apps/yarn-0.17.0 + 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} + 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}-9.0.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}-9.0.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 + 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" + ewarn "Failing to follow those instructions may make the config phase fail!" + 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_yarn 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_yarn 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." + 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_yarn() { + local command="yarn $@ --${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 yarn $@" +} diff --git a/www-apps/gitlab-ce/gitlab-ce-9999.ebuild b/www-apps/gitlab-ce/gitlab-ce-9999.ebuild index a150c0c..bd03211 100644 --- a/www-apps/gitlab-ce/gitlab-ce-9999.ebuild +++ b/www-apps/gitlab-ce/gitlab-ce-9999.ebuild @@ -290,6 +290,11 @@ pkg_postinst() { elog " CREATE EXTENSION IF NOT EXISTS pg_trgm;" elog "For details, see the documentation at the GitLab website." fi + 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" + ewarn "Failing to follow those instructions may make the config phase fail!" + fi } pkg_config() { @@ -343,7 +348,7 @@ pkg_config() { exec_rake migrate_iids einfo "Installing npm modules ..." - exec_npm install + exec_yarn install einfo "Cleaning old precompiled assets ..." exec_rake gitlab:assets:clean @@ -364,7 +369,7 @@ pkg_config() { exec_rake gitlab:setup einfo "Installing npm modules ..." - exec_npm install + exec_yarn install fi einfo "Precompiling assests ..." @@ -377,10 +382,6 @@ pkg_config() { 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" @@ -412,13 +413,13 @@ exec_rake() { || die "failed to run rake $@" } -exec_npm() { - local command="npm $@ --${RAILS_ENV}" +exec_yarn() { + local command="yarn $@ --${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 $@" + || die "failed to run yarn $@" }