diff --git a/www-apps/gitlab-ce/ChangeLog b/www-apps/gitlab-ce/ChangeLog index ae62426..75bb387 100644 --- a/www-apps/gitlab-ce/ChangeLog +++ b/www-apps/gitlab-ce/ChangeLog @@ -1,3 +1,11 @@ + 09 Jul 2017; Manuel Friedli + -files/02-gitlab-ce-8.11.0-fix-redis-config-path.patch, + -files/03-gitlab-ce-8.14.0-database.yml.patch, + -files/05-gitlab-ce-8.12.7-replace-sys-filesystem.patch, + -files/05-gitlab-ce-8.16.0-replace-sys-filesystem.patch, + -gitlab-ce-8.15.8.ebuild, -gitlab-ce-8.16.9.ebuild, -gitlab-ce-8.17.6.ebuild: + www-apps/gitlab-ce: Purge versions <9.0.0. + 09 Jul 2017; Manuel Friedli gitlab-ce-9.3.5.ebuild: www-apps/gitlab-ce: Fix last bug in the ebuild. diff --git a/www-apps/gitlab-ce/Manifest b/www-apps/gitlab-ce/Manifest index 630343d..44f44c3 100644 --- a/www-apps/gitlab-ce/Manifest +++ b/www-apps/gitlab-ce/Manifest @@ -1,13 +1,9 @@ AUX 01-gitlab-ce-8.7.5-fix-sendmail-config.patch 705 SHA256 cfc4ffd896e03cc763601aca5cdd5ac43f85152705cbf5a4e9144a6156d6f77e SHA512 a92659db8cab022185d87f321b037b1731612bf5f89b9df4552dd49b843bb49b6019f8ddda96a6fd6cb6544664a1c3d52ca5fee2c11be8b33698cc713219510f WHIRLPOOL 81a6504a8583bc46ea4005d9f8a2113802439161c40f11d3da46332b8980fc6b9520d81d9e32a6555bcdc893245448ba9151a271c511ae87f6468f588d4804b0 -AUX 02-gitlab-ce-8.11.0-fix-redis-config-path.patch 423 SHA256 4878d37082c7e5c0aba239d4432ddec23c083230b816cf1ed6792bfd8f6c56fa SHA512 81a543af308bcd11a93a73368aedc89604078f60c0cacf4f614ff18dc5975b2c0d030ad6565fbb134188c8f6fceb74f2767f706d6f5701092252513f5e18de11 WHIRLPOOL 81f6258f03d234c6298b7bfe2982bdfd5f86dea3405ce03d4391b484a4802f7cbe33606ce4561ca67c16a5826dec131a185fa3189c2115b4a9ec8a3b87a2ee16 AUX 02-gitlab-ce-9.0.0-fix-redis-config-path.patch 423 SHA256 9de3711c1f06a0561001166f2a44b4c1dc5fa3fa57a5230eb1dcc2b5d394449c SHA512 ae89fa3c6fde777e844e777862415450787ebf83653435cea329d66810c5805d2126d41cb1ce40b15c42371543bc182a59305b8b1b6a7433121340a625300370 WHIRLPOOL d97962907bb1fc610ebc52665a6ce51f40ee932e7ac715279f3c0554f2880a7b220ecbac2c4c97bd4d3dac22b9a025aa729805221ed5e6d15f04f6cd8e210d22 -AUX 03-gitlab-ce-8.14.0-database.yml.patch 2172 SHA256 8435bf632aab03057342d5d6d75f016b006da00157c0cce2661416b752f8b75d SHA512 048aa5877ef30e702727b917cf7fb6bd534c497a7c24ab55640635598af293b0567bb9f356c4b91d55291341ced50847909f117f46d3fc9962c2f7a0f7b6bfb9 WHIRLPOOL 87b62f5e326211c2ff9001742a04b71bd94b21f4851778a513f7e1981da193dc16718559be42a0ba21aaa0c2f5b65a2571bc20174c063aa13e6436f0b422f057 AUX 03-gitlab-ce-8.17.0-database.yml.patch 2238 SHA256 c5ec9e8a11fb60a7749b9f8cf553949e78aacf9a8233b39c4986980851196c8e SHA512 1668e2c1d00ef485d2bc5af8d343c9be19f291a627d0041d42b268ec1ad8aedecba99336998e6b1b3ac2f4cd617556d17ab5f1f11f95d696205e3d10d6b74e1c WHIRLPOOL c91a6604f050113c9f584d7bf34ebe660263beb88879382873952d6b1b136ad5b576b813bf9f2f66ee49d6656fb1d24437dca395c2574bd7dab07cd1a3a36a99 AUX 03-gitlab-ce-9.2.2-database.yml.patch 2342 SHA256 870cddca799897d249773d0b0e58d30b1290475e3c313faa6bbc307c73f80d4b SHA512 257ff2cf3bd090dd08a8f03baa6c06d130313bf46b21ac61a606aaa0f0cf1eaacd3ad231761989448e4dc28aeda01b03192290314582db002c32c65eed4134aa WHIRLPOOL 94d95a9e6d15d48c6e786521b04eb43b12a003feae0a464122f51cdf2a5215b2c025134373842a6633d0adf73ceea1db9fb32e36236391bdf9e750565f908591 AUX 04-gitlab-ce-8.12.7-fix-check-task.patch 917 SHA256 e1adffbd59a418d5e14cbd51ae14d5c1f0364af759c77b6cb485079e0233e90f SHA512 226c3892768dc526dbc9f109aaecdee1eb27c0acb5060ba6db8222410c500336ebcf7184437228480da04ce5de149a14bbb5c1471aed853a280d7f371f271d88 WHIRLPOOL 3ec22dc4d12b5025bddfccdea27a816aca1f818d5138b3dc9a6362e56ec4cd14e5c38c76b64b468f3797e0d2718d38aad4f910abf3f3328a7983832babb7f231 AUX 04-gitlab-ce-9.3.0-fix-check-task.patch 1090 SHA256 51ade91e5e7ef67e6d3c0e6e1f708156755ad44d42dbc3ccdd4356b259e46846 SHA512 2eacb47df7f9782172ae4f71d8e5fb07f2a830da7733e2ec84b95259a9ee5d454f9c68f93b40251050cedd502761800ec56fe7f502309364e61e9e4431e2b112 WHIRLPOOL 0f7b6a7281eb8dd736b6f329e8511b9145a48450361264465f37aa852bf9d0e4ed265c0292272e75000216ddbd4c285b496aef86a4cfd2944f6819b7a3cc3982 -AUX 05-gitlab-ce-8.12.7-replace-sys-filesystem.patch 2387 SHA256 dd0e9987ed4bb3a9c73c6aee1d89434afc51ff663fef2ee4ac93adf1b73b944a SHA512 afa82fb8c8d57633c99373f31678760fa6ecca5e459a9059f5b460b458d1dbf3230108a6b4f394780c26a697881c9b2319f15804cb8d04ad3139127e7c0f4ff8 WHIRLPOOL 90ce708f8cde0a4bcaef9fc002ca00b97a1211559bcabf5481ec71c608bc5b772ecd518ff07a8d626a27e4b21c0f0f51fa37a65503e79664ececd78d5f19e87b -AUX 05-gitlab-ce-8.16.0-replace-sys-filesystem.patch 2379 SHA256 cf5e0ea55c99996744422312a46914a8e54b6ab68ac5e67abda444e1170bcd4b SHA512 eb5ea3a9f040c3df64bd8ebb20ed873fb6af17322867c0f5714e3d9ad5ac26b79e9ffaaa4720617513123b651ceccedeb992b64c87b9b945338614c9eeec1468 WHIRLPOOL 2591c1d439447f3e08fe413ab8127b9945f8e4813480093af1da796675903bbb2b8a2205bd1480d383402ef861c348cfa0bd45305e7c1fa20458bfd6b6b327a5 AUX 05-gitlab-ce-9.0.0-replace-sys-filesystem.patch 2436 SHA256 53fcd9fc123a0fcb671a8cbcb3b2dc61765e32be6836206ae0edea8cf0ae8203 SHA512 21636f298df7e762f59595f39fb50266f8737311f37aa2b9ba96bc29190b8a67eea01b09e3b589d0885da6b27beaa136fa66c7d98408a8e3ecb3ac6baf20d891 WHIRLPOOL e0c709dfc5f72e33207fd7d62a7db5a85c0ed4b6064d5d6a13bcce7d660d9ba144fe09d0985c16c313f06a4e02911729be132086735eac47ddff981874f31acc AUX 06-gitlab-ce-8.17.0-fix-webpack-config.patch 614 SHA256 0c1cdc25032322eff6c279435ba5f3fc349b30de0d55d86fad2616bd2bb7fef4 SHA512 f5ccb4d1849ab395ba4ec3c80735a1fedd9fa7f790c8b114d8dc8d1fc2c431d7b9e5645247485f0b8c1061a00ed61c21a5e50f49af0d76e232182c68868a163f WHIRLPOOL 6968ddefed74607c36cc66dc133dbf4942979d2ae867f819cf2e7e5c9701fe8dd86b266d923e6343971e6904f0ad1f35200971660df139edabcc9e0790fc107c AUX gitlab-8.13.0-sidekiq.service 990 SHA256 183ccbdb19a3dcc74cf1f1f865bf396466e06f7408ff7d3e92359b2a0e83f24c SHA512 c356baf65337739b08a0a4bfe24d3b68f557e9d6d95f479b39ec954ee6c2077e380f99d1e9e9390f5b038e093c0a46562f651512a6578dfa86977580159470a2 WHIRLPOOL 81d9ea9febf47d5fdb9c49a54bbc499bd796fc56bc1c16404fe4c74d00c4bb9fa9631e4cd4cf88d3c30a44c04b74b35a61cd4da9f2139a4abf61e758b4e5949a @@ -19,22 +15,16 @@ AUX gitlab-mailroom.service 773 SHA256 39cea460db7fc505b136a2106902d0515890180e7 AUX gitlab-unicorn.service 773 SHA256 010c9e223a30400d9155b39499eb0d7efad23b66baab9fcd9e365c689086b9bd SHA512 0bf9630aa91ed8f590a7bfa42d09b7ba33f6342b43b3d191c792c11157f8926c2a2ac2390eebd8179637e29b5bf68233d4699d62463497a0fd45b9bdbdd9167b WHIRLPOOL fbc709a5550dcc548a35c22c812dafe52ee507f5678b57c22c709ee89a399ae9109e2f56b7a13135d4140f1e024ebc4effe4aa4de13e0f36691da2a0737d9792 AUX gitlab-workhorse.service 930 SHA256 09348a52fec333b4b19828752e0484400c1efa9dfb644723fcf8e80537e294b6 SHA512 6332024fe0049287899cf482b6e4439e9dd90da14e489d08aa8e5e79cb7872efcc517d99b69fa23b011b382acb1e5926496a78f08af5d2d64daa515b869a0c6a WHIRLPOOL 3749c6719b2a35c7de29763cd616e1e9cc30a85aa1630ffc46440334459b5922503d52629556c125a6dd6574bdc5f23f1b2a7f2a85e2270a415b22246e0b6bae AUX gitlab.conf 27 SHA256 cd9be088bbb67a5400407fc6f63c061eb224f16748b7d0812ff2c101f43ca263 SHA512 909c49fee6d050c1e94b2559ff2a9d54c5c346492be0e2920b50d56d69eaddbed67e3ac12e012d2a9601b5596640ebf33c8dc68fc588a03ca370d963294be37f WHIRLPOOL fa436e8d7d2643d450259d26b6e7b24dae69df47ed22e5ef2a567f37aa785fbf3b0eb1129ae7c8bf8986c29559fc3b744a34064375e5245dce2b10053cd715d9 -DIST gitlab-ce-8.15.8.tar.gz 20035995 SHA256 9fafd6478a6d165ab6acd6f89f169fe72d46df547efe1bf3ac8d3a5bc4ffec11 SHA512 db287ea59d94eacd3c1219f458a403239f7aa39bea0d5e82fac80afc7216b96ac394740ab717c3ed26068617e1234105144820e41b0825511e1adc29e8891bfb WHIRLPOOL b03faf4b30b5c82535c0e148edec7fb5ff26405cfa8587b4bd287e834bb5f3eb6ddabd0b5f1472672b4108bdcb6066d63eb1a117e35fedf2c94d63348186afd6 -DIST gitlab-ce-8.16.9.tar.gz 20906220 SHA256 63e36f3af71ac3f6e45c09f443f5c4ca606c0f401754d3f846a2f54707b1d3b4 SHA512 c947f813a595904808d75286c097274733d05aa70a2dd2cce9d222057253bdaa1482e271d4c73be1e3ba070480f9b130daef90aa44af90a743218c1207edbb30 WHIRLPOOL 48475ee9f7a3e9f15703487170cf069af887b7e41637e3df1bd594aac78f68de88b6df695842084a25ad4505ab5d1a016de162a6ee31b89d2d629df126ecc080 -DIST gitlab-ce-8.17.6.tar.gz 22828733 SHA256 dd5086431f2d362afa6bb29b5465112276b6ca8d6196f90b614c1c407a3d2131 SHA512 05c33b67d8febdb320e8c5483793d364b62056086749573bb4e92703ca1001d1c1cc236940ae20f1eac9d5a4159d1aaed97192040d40a4d5e0ba036c188a58db WHIRLPOOL c30b1604f616deed930c065e038fddbdf6866339438f46a66c09c342a368c521ad721dfcaf7e2ae37789b82729718370c6718a2d77c74a286923670a6ef7bf90 DIST gitlab-ce-9.0.10.tar.gz 26364880 SHA256 4034125e6be2bd43bfab5e5d16074f6df0f499b081a28cee23da1e77eb9f3b06 SHA512 f5c0c1eea402fe058f301b5c3bbbe6b0f74e76ee1853dc3b4b89cd665a7e8092d147b13ff39e9f8f9155edea22ab1d2ee4c97bc6ba52cca0147117fac2dacde0 WHIRLPOOL 4f2d74b2fc2abc89f294fe0d78bea54512fbc5f95b9aaba97b9c5d3d02a75e5cb3ac8738b9142033f196d1fa6494b0e12b4f0256fe0a7c769449ec772e47d34f DIST gitlab-ce-9.1.7.tar.gz 30517778 SHA256 24506445bb484fe568b357d8d8ac32f54f54f543ae623609bb720381d96e6358 SHA512 454e0afcde9a613d780e2031632d424bb316e68472329303080eecf1876fe7b5bd964ecd623bb5ed2e2be4666ebb90f17e790406a5622f81e8c52e320e4e5c81 WHIRLPOOL e0e5b89754a86bdf7cc472cfbe7ec91a5f752f836f5de34b6db4bb4315ddd2a337768b7af7a3e0b86f1a2bd8b9bd95692fab434b8aa98ca96b962a3bfffe82be DIST gitlab-ce-9.2.7.tar.gz 30988513 SHA256 c9a7beeb63569f9e22e330418772464179f734b201e44114851407e552705527 SHA512 2dc3a09baeff0ef3e9a2103c1eb468ae3936e2858b9c7462b95ced1f705ee8f00e3d4996298df0b14bc51f1c3c002b1da56ea6b636821c4e5916077dd3a9cb0a WHIRLPOOL 3f6ddba36a8b99227df8c3519ef306b8338956bf14adba5c08d06bd1df689966739f4a03eaaaf9d69076a636085ee829e2fd0f0c6b6ee90bc2a6e7e8db5ccb6b DIST gitlab-ce-9.3.0_rc2.tar.gz 31567867 SHA256 fbd93af8281b2460a9600a84b24b007e4557da49f8d118387724c8166236220c SHA512 942e3e1ec856b0ff3dedcfcb7b8cdee51e7d44779024acaa69ce7d415d08bb1ee785bcd265d1f9f08790c8e9508779b7f9cc8a40acf417cbc0e94f3a98f1fb64 WHIRLPOOL 1f210495ac3632f88c663ae9dd936bea5e556012a5b5dfe598425046f845d0467c17b92abd24924dc720c3877f8b6ef65e6b551ad9b2c3486dc27eee430a6a0e DIST gitlab-ce-9.3.5.tar.gz 31759466 SHA256 fbc19d97602ceb819364f72af61ed93524df9d2cafabf5a0b44072c656a51809 SHA512 c2d44f6eabc9d4083ffbdf07380b506a258ae484698637cb448f4ede5a22881b3bef3d91cd13db63fc28f2672edd059e31dca06b67f9077704d6b37b9bb15332 WHIRLPOOL f4f224c3ae26030d3d1f776771a0e78262b9b7e321c696d53b75c4ae93d16de30b296253399dd0ed2a9c58bf397ff7422e9d38b25519458556669d7f18cbe000 -EBUILD gitlab-ce-8.15.8.ebuild 11986 SHA256 6c86e66d4b568b88dd44ec52401e25c33b2d5e61d9a76e77180320d40ef57132 SHA512 91e1dc1cd8b9b77ea039e7e194b06c44900511b9e7787a714faec14746f96da6d00aa66bd16763732c468d8a46815e29fe761349a0a0d712db21bd4a12d31e06 WHIRLPOOL 50923df1fdda85abf7c7984a49d73d6486628439612de18ec3914274f3a053ce98ffbffec0f6ca9f2f9ba1ca9491467de0762d2d4a31ea480f32eb68222c79f9 -EBUILD gitlab-ce-8.16.9.ebuild 11986 SHA256 21a0d7336a0a022db75ded6f29fe12d64012bd20a46e538ce0940a3c7e402a11 SHA512 c8e3ff6de9d97e25300315e967b7bcfc7d4aa5bc3e78aa45564e12bb673fbf79c9ba454174fe4f362d9d58575611debf797b52685b2061ac3053113390401a5c WHIRLPOOL 4644465cfcaf81184c62acf888ced3f16ccffc9de84fac7774a5463a778684c051580dd1f273546b9be8a0ace83243abc06e1e5ba042b18a10f7d352783a995f -EBUILD gitlab-ce-8.17.6.ebuild 12932 SHA256 e5f7cc94653a6c55627264e02116d43febdcc58bd60ccf9f7c5fecf9476d1b0a SHA512 65fc18401842e1c1176d8178acff3ca48f1fe80ee8869b7263cd1819ced46bb8d1c2771226d9f7c9c5507ef120d69d66114605d8ed7b3923e5f9a61e2cc0125d WHIRLPOOL 3c979ba2e30fbb3c628063f71e3a8b12183632413f4342b81298e4fd4847e8a583adab16c202340d89fde010097f140005ae564c0d52fefb0fcb57b67ede398d EBUILD gitlab-ce-9.0.10.ebuild 13094 SHA256 3095dbce78328f513eaf599486af63ae383635b305f24293a4cde3c3fe2ef55e SHA512 f8f500dcb2192c3b80423bf609bd1d0628471f75bdcd9e991489d0560ec34e1c0cc2362cdb6954014ac5e2e3ebed1d7f8df384cb655be73c50c6f54fa5ea62b9 WHIRLPOOL b0107dae53175d047b036fe98ea5b330fa521eb025a86f0dc011654e6aaaa7ee956c789de7a045854df72cddd96d558fadded069cf023111e6dfc7407490d469 EBUILD gitlab-ce-9.1.7.ebuild 13250 SHA256 be342467f79215ec736c6d1f4d9d26bb679116f422585cceeac90bdf15dedfec SHA512 eca7584067d438b1feeeb56d7ef765af1f96f3fce8098d32e70e4f706c9572a52ffd7d4594c949234a1d25e9f52b220892d656afce4b30ca32ebe51665d0326c WHIRLPOOL 27d89d8d86c583da924bdac4f6db7216be151a55d5b14f7a78dd77417cd643c506c1c2ec652e234df7763472a0cad21794645dd85cfb404276179721649d4077 EBUILD gitlab-ce-9.2.7.ebuild 12995 SHA256 93cb032967c0388d706be2dda0cfca2ca4765c0774e283ab0d61769cf43ddea6 SHA512 b8ecb0a4cc893786d4cd2dd94d53a21c6a8fbec5d181843286584914363f1160361dccfe2f61487f6744f7fb4d42a5efc4085e64bca7b29dea7e4672788c49cf WHIRLPOOL 2d8ada573da9e209e7a0bf3f05aef83e2419c18f4406b3abdbb24a90b488acdbdf7d4406b665a92356b457d100dd46c2a39084f87ba90b23da87392f2f98beb4 EBUILD gitlab-ce-9.3.0_rc2.ebuild 12829 SHA256 6951949f8d98f867746a0128e99ce3baabddecdaa45952565f38a913b2868058 SHA512 3337e413db8680d0d177099425a71c2410afdec9130d57f9c910770aeb12dd7a13c410782f41f8a0cd24d243534d513b66ec4d93eb09c7e15896716863682eb0 WHIRLPOOL 6b9d03912224808065b3bc301f9ce7b82925293db2916cdeb3184b28c0d58fc034b06dda6b43109b251c942d3b4bebd0c4e6bde7c644630baaece585c35ae6d3 EBUILD gitlab-ce-9.3.5.ebuild 13625 SHA256 dc6861e35fc5808e65da7c956276c7fd86f705a64c72d97db1feb6a938912497 SHA512 7e2e11e3fe21cadbe490cba14bc1b1dc117239a1293b31befe52d26d98877d22191454f2c36cab150b3adf5f741f7281ce61cdbd26eed44d44c75b1bda703c36 WHIRLPOOL 8851ba2c369a7e36f2b99340f80ff46bba63944fb3e0362ec7161c20a5bbc26ca7c5e7a96660035158758454b558c40faa39ca8490fcf39664a54188bb3f9b08 EBUILD gitlab-ce-9999.ebuild 12789 SHA256 27db871b7d51cae37b6802043c82887bb810c1183682ce6c7efe0dc546d9b29e SHA512 99ca91ab0b8045d8bc2cd9d4208ecd4e8eb96c3d01afe49d119bb5677ee88f5f700042f502ab0c446f7acaaaeb7b9758c6d721a91f256eea335eb744a05a4b27 WHIRLPOOL a1e812d1d9562e7febee89e5c847ea0febec360aee38efc5cf779e45b92bb73eff3f066eb90fb96c292e8cfdc2a322bc9222a786796ac0470a221e44369a3270 -MISC ChangeLog 19690 SHA256 cab99b2e6b0f618fca69380d83039d6c64cb1ed3b4698730eb133e0922a479a8 SHA512 0ce13322fc63c5845a64edf57c7209776b8903ae0354c41c818e0b93f7d70a181a4b5528ed3a6f146ecb1f73e46d7f4b6eee5aa991d47b3d2ecbc318dc95b9b5 WHIRLPOOL 75c1b002a90ef3d1c984fe2201e4376619f95d8ef7896afb2add207bbc7a0e19342da9c7ba586a626f6619cb058bd0d763cfb7203c61f1dfbf2046961040e7b9 +MISC ChangeLog 20093 SHA256 43e885357988a70d91ba1a565c56a7f18092dbad86998f54fbbe25d183ff9df3 SHA512 facdb433fcf354d3f9f7561b00ac18557869681dce75557e4ffde9df21fe1988927685be23029c97298fc81a9ec33aa6d5be66264489a354a1f7df8184522c32 WHIRLPOOL 29ee5017135170ba13b75abbffaf9c1a57d475c4a128409c3cacf2343cd0d635783b5caccdb60cf462903f746984cd4a59b26ad83eb2ea52f72975b4144c708f MISC metadata.xml 801 SHA256 3dc7486a12903f47f65968d524c93500ba30a4a09fa57e5a9dacf356509b44bb SHA512 e132754b72e64246531fa883400a0cf1a473ac5a6a49623db58ccf118a038b7cf37df03d9550f37b4a25f9ddbb1dcc5652ec9a4f2259d8e3ce202692c4025f41 WHIRLPOOL e9d961681fd790008eaf80fa07ce2c55a00a58f2e920d759793783ca8c8f508602a777e94c0cb65fe87c7dbef0cabdf26e4f4082584421097d939cbab20c4ac6 diff --git a/www-apps/gitlab-ce/files/02-gitlab-ce-8.11.0-fix-redis-config-path.patch b/www-apps/gitlab-ce/files/02-gitlab-ce-8.11.0-fix-redis-config-path.patch deleted file mode 100644 index b6a6868..0000000 --- a/www-apps/gitlab-ce/files/02-gitlab-ce-8.11.0-fix-redis-config-path.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/config/mail_room.yml b/config/mail_room.yml -index c639f82..860e78d 100644 ---- a/config/mail_room.yml -+++ b/config/mail_room.yml -@@ -3,7 +3,7 @@ - # - :mailboxes: - <% -- require_relative "lib/gitlab/mail_room" unless defined?(Gitlab::MailRoom) -+ require_relative "/opt/gitlab/lib/gitlab/mail_room" unless defined?(Gitlab::MailRoom) - config = Gitlab::MailRoom.config - - if Gitlab::MailRoom.enabled? diff --git a/www-apps/gitlab-ce/files/03-gitlab-ce-8.14.0-database.yml.patch b/www-apps/gitlab-ce/files/03-gitlab-ce-8.14.0-database.yml.patch deleted file mode 100644 index 023641e..0000000 --- a/www-apps/gitlab-ce/files/03-gitlab-ce-8.14.0-database.yml.patch +++ /dev/null @@ -1,92 +0,0 @@ -diff --git a/config/database.yml.mysql b/config/database.yml.mysql -index d970287..a3b5ecc 100644 ---- a/config/database.yml.mysql -+++ b/config/database.yml.mysql -@@ -6,37 +6,9 @@ production: - encoding: utf8mb4 - collation: utf8mb4_general_ci - reconnect: false -- database: gitlabhq_production -+ database: gitlab - pool: 10 - username: git - password: "secure password" - # host: localhost -- # socket: /tmp/mysql.sock -- --# --# Development specific --# --development: -- adapter: mysql2 -- encoding: utf8mb4 -- collation: utf8mb4_general_ci -- reconnect: false -- database: gitlabhq_development -- pool: 5 -- username: root -- password: "secure password" -- # socket: /tmp/mysql.sock -- --# Warning: The database defined as "test" will be erased and --# re-generated from your development database when you run "rake". --# Do not set this db to the same as development or production. --test: &test -- adapter: mysql2 -- encoding: utf8mb4 -- collation: utf8mb4_general_ci -- reconnect: false -- database: gitlabhq_test -- pool: 5 -- username: root -- password: -- # socket: /tmp/mysql.sock -+ # socket: /run/mysqld/mysqld.sock -diff --git a/config/database.yml.postgresql b/config/database.yml.postgresql -index 7067e0f..74af7df 100644 ---- a/config/database.yml.postgresql -+++ b/config/database.yml.postgresql -@@ -4,42 +4,9 @@ - production: - adapter: postgresql - encoding: unicode -- database: gitlabhq_production -+ database: gitlab - pool: 10 - # username: git - # password: - # host: localhost - # port: 5432 -- --# --# Development specific --# --development: -- adapter: postgresql -- encoding: unicode -- database: gitlabhq_development -- pool: 5 -- username: postgres -- password: -- --# --# Staging specific --# --staging: -- adapter: postgresql -- encoding: unicode -- database: gitlabhq_staging -- pool: 5 -- username: postgres -- password: -- --# Warning: The database defined as "test" will be erased and --# re-generated from your development database when you run "rake". --# Do not set this db to the same as development or production. --test: &test -- adapter: postgresql -- encoding: unicode -- database: gitlabhq_test -- pool: 5 -- username: postgres -- password: diff --git a/www-apps/gitlab-ce/files/05-gitlab-ce-8.12.7-replace-sys-filesystem.patch b/www-apps/gitlab-ce/files/05-gitlab-ce-8.12.7-replace-sys-filesystem.patch deleted file mode 100644 index 84f714f..0000000 --- a/www-apps/gitlab-ce/files/05-gitlab-ce-8.12.7-replace-sys-filesystem.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/Gemfile b/Gemfile -index 4a517b2..ed6fc2e 100644 ---- a/Gemfile -+++ b/Gemfile -@@ -352,4 +352,4 @@ gem 'health_check', '~> 2.1.0' - - # System information - gem 'vmstat', '~> 2.2' --gem 'sys-filesystem', '~> 1.1.6' -+gem 'sys-filesystem', '~> 1.1.6', group: :exclude -diff --git a/app/controllers/admin/system_info_controller.rb b/app/controllers/admin/system_info_controller.rb -index ca04a17..0e36b12 100644 ---- a/app/controllers/admin/system_info_controller.rb -+++ b/app/controllers/admin/system_info_controller.rb -@@ -1,3 +1,5 @@ -+require 'open3' -+ - class Admin::SystemInfoController < Admin::ApplicationController - EXCLUDED_MOUNT_OPTIONS = [ - 'nobrowse', -@@ -28,10 +30,14 @@ class Admin::SystemInfoController < Admin::ApplicationController - 'vfat' - ] - -+ MOUNT_REGEX = /(\S+) on (\S+) type (\S+) \(([^)]+)\)/ -+ -+ Mount = Struct.new('Mount', :name, :mount_point, :mount_type, :options) -+ FsStat = Struct.new('FsStats', :path, :bytes_total, :bytes_used) -+ - def show - @cpus = Vmstat.cpu rescue nil - @memory = Vmstat.memory rescue nil -- mounts = Sys::Filesystem.mounts - - @disks = [] - mounts.each do |mount| -@@ -41,15 +47,38 @@ class Admin::SystemInfoController < Admin::ApplicationController - next if (EXCLUDED_MOUNT_TYPES & [mount.mount_type]).any? - - begin -- disk = Sys::Filesystem.stat(mount.mount_point) -+ disk = fs_stat(mount.mount_point) - @disks.push({ - bytes_total: disk.bytes_total, - bytes_used: disk.bytes_used, - disk_name: mount.name, - mount_path: disk.path - }) -- rescue Sys::Filesystem::Error -+ rescue IOError - end - end - end -+ -+ def mounts -+ stdout, stderr, status = Open3.capture3('mount') -+ fail IOError, stderr unless status.success? -+ -+ stdout.lines -+ .map { |line| MOUNT_REGEX.match(line) } -+ .compact -+ .map { |match| Mount.new(*match.captures) } -+ end -+ -+ def fs_stat(mount_point) -+ stdout, status = Open3.capture2('stat', '-c', '%s %b %a', '-f', mount_point) -+ fail IOError unless status.success? -+ -+ block_size, blocks_total, blocks_free = stdout.split(' ').map(&:to_i) -+ -+ bytes_total = blocks_total * block_size -+ bytes_free = blocks_free * block_size -+ bytes_used = bytes_total - bytes_free -+ -+ FsStat.new(mount_point, bytes_total, bytes_used) -+ end - end diff --git a/www-apps/gitlab-ce/files/05-gitlab-ce-8.16.0-replace-sys-filesystem.patch b/www-apps/gitlab-ce/files/05-gitlab-ce-8.16.0-replace-sys-filesystem.patch deleted file mode 100644 index 3a507b4..0000000 --- a/www-apps/gitlab-ce/files/05-gitlab-ce-8.16.0-replace-sys-filesystem.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/Gemfile b/Gemfile -index 07ff500..1352dd4 100644 ---- a/Gemfile -+++ b/Gemfile -@@ -350,4 +350,4 @@ gem 'health_check', '~> 2.2.0' - - # System information - gem 'vmstat', '~> 2.3.0' --gem 'sys-filesystem', '~> 1.1.6' -+gem 'sys-filesystem', '~> 1.1.6', group: :exclude -diff --git a/app/controllers/admin/system_info_controller.rb b/app/controllers/admin/system_info_controller.rb -index ca04a17..1efb29e 100644 ---- a/app/controllers/admin/system_info_controller.rb -+++ b/app/controllers/admin/system_info_controller.rb -@@ -1,3 +1,5 @@ -+require 'open3' -+ - class Admin::SystemInfoController < Admin::ApplicationController - EXCLUDED_MOUNT_OPTIONS = [ - 'nobrowse', -@@ -28,10 +30,14 @@ class Admin::SystemInfoController < Admin::ApplicationController - 'vfat' - ] - -+ MOUNT_REGEX = /(\S+) on (\S+) type (\S+) \(([^)]+)\)/ -+ -+ Mount = Struct.new('Mount', :name, :mount_point, :mount_type, :options) -+ FsStat = Struct.new('FsStats', :path, :bytes_total, :bytes_used) -+ - def show - @cpus = Vmstat.cpu rescue nil - @memory = Vmstat.memory rescue nil -- mounts = Sys::Filesystem.mounts - - @disks = [] - mounts.each do |mount| -@@ -41,15 +47,38 @@ class Admin::SystemInfoController < Admin::ApplicationController - next if (EXCLUDED_MOUNT_TYPES & [mount.mount_type]).any? - - begin -- disk = Sys::Filesystem.stat(mount.mount_point) -+ disk = fs_stat(mount.mount_point) - @disks.push({ - bytes_total: disk.bytes_total, - bytes_used: disk.bytes_used, - disk_name: mount.name, - mount_path: disk.path - }) -- rescue Sys::Filesystem::Error -+ rescue IOError - end - end - end -+ -+ def mounts -+ stdout, stderr, status = Open3.capture3('mount') -+ fail IOError, stderr unless status.success? -+ -+ stdout.lines -+ .map { |line| MOUNT_REGEX.match(line) } -+ .compact -+ .map { |match| Mount.new(*match.captures) } -+ end -+ -+ def fs_stat(mount_point) -+ stdout, status = Open3.capture2('stat', '-c', '%s %b %a', '-f', mount_point) -+ fail IOError unless status.success? -+ -+ block_size, blocks_total, blocks_free = stdout.split(' ').map(&:to_i) -+ -+ bytes_total = blocks_total * block_size -+ bytes_free = blocks_free * block_size -+ bytes_used = bytes_total - bytes_free -+ -+ FsStat.new(mount_point, bytes_total, bytes_used) -+ end - end diff --git a/www-apps/gitlab-ce/gitlab-ce-8.15.8.ebuild b/www-apps/gitlab-ce/gitlab-ce-8.15.8.ebuild deleted file mode 100644 index 4d78549..0000000 --- a/www-apps/gitlab-ce/gitlab-ce-8.15.8.ebuild +++ /dev/null @@ -1,391 +0,0 @@ -# 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="03782f78e91005a7ce818d6e3225d36143acec62" - -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 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-4.1.1 - >=dev-vcs/git-2.8.4 - ~www-servers/gitlab-workhorse-1.2.1 - kerberos? ( !app-crypt/heimdal ) - rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )" -DEPEND=" - ${CDEPEND} - ${COMMON_DEPEND}" -RDEPEND=" - ${COMMON_DEPEND} - >=dev-db/redis-2.8 - virtual/mta - systemd? ( sys-apps/systemd:0= )" -ruby_add_bdepend " - virtual/rubygems - >=dev-ruby/bundler-1.13.6" - -# -# 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.14.0-database.yml.patch" - "04-${PN}-8.12.7-fix-check-task.patch" - "05-${PN}-8.12.7-replace-sys-filesystem.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 "Cleaning old precompiled assets ..." - exec_rake 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 - fi - - einfo "Precompiling assests ..." - exec_rake assets:precompile - - 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}" - - echo " ${command}" - su -l ${MY_USER} -c " - export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8 - cd ${DEST_DIR} - ${command}" \ - || die "failed to run rake $@" -} diff --git a/www-apps/gitlab-ce/gitlab-ce-8.16.9.ebuild b/www-apps/gitlab-ce/gitlab-ce-8.16.9.ebuild deleted file mode 100644 index b0fa870..0000000 --- a/www-apps/gitlab-ce/gitlab-ce-8.16.9.ebuild +++ /dev/null @@ -1,391 +0,0 @@ -# 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="385dbfb50d691a7a7bb94c4fb3a97dd61a0c6e41" - -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 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-4.1.1 - >=dev-vcs/git-2.8.4 - ~www-servers/gitlab-workhorse-1.3.0 - kerberos? ( !app-crypt/heimdal ) - rugged_use_system_libraries? ( net-libs/http-parser dev-libs/libgit2:0/24 )" -DEPEND=" - ${CDEPEND} - ${COMMON_DEPEND}" -RDEPEND=" - ${COMMON_DEPEND} - >=dev-db/redis-2.8 - virtual/mta - systemd? ( sys-apps/systemd:0= )" -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.14.0-database.yml.patch" - "04-${PN}-8.12.7-fix-check-task.patch" - "05-${PN}-8.16.0-replace-sys-filesystem.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 "Cleaning old precompiled assets ..." - exec_rake 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 - fi - - einfo "Precompiling assests ..." - exec_rake assets:precompile - - 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}" - - echo " ${command}" - su -l ${MY_USER} -c " - export LANG=en_US.UTF-8; export LC_ALL=en_US.UTF-8 - cd ${DEST_DIR} - ${command}" \ - || die "failed to run rake $@" -} diff --git a/www-apps/gitlab-ce/gitlab-ce-8.17.6.ebuild b/www-apps/gitlab-ce/gitlab-ce-8.17.6.ebuild deleted file mode 100644 index 63dc25e..0000000 --- a/www-apps/gitlab-ce/gitlab-ce-8.17.6.ebuild +++ /dev/null @@ -1,420 +0,0 @@ -# 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="7dd5ec18d1b5563061857dc8a332ba42050f3a0e" - -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 - ~www-servers/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 $@" -}