diff options
author | Caleb Maclennan | 2020-02-10 12:51:06 +0300 |
---|---|---|
committer | Caleb Maclennan | 2020-02-10 12:53:28 +0300 |
commit | f2bf35bba31590bb1a2c440e8af3ae5c50db27c4 (patch) | |
tree | 7a0d01d360a5f6b271dd2b6d9089e72909be85fd | |
parent | 6839f6eaa63f6d0de7b0f0f100e682dcdbbdb567 (diff) | |
download | aur-f2bf35bba31590bb1a2c440e8af3ae5c50db27c4.tar.gz |
Update to 12.7.5
-rw-r--r-- | .SRCINFO | 32 | ||||
-rw-r--r-- | PKGBUILD | 202 | ||||
-rw-r--r-- | build_fix.patch | 26 | ||||
-rw-r--r-- | gitlab-backup.service | 4 | ||||
-rw-r--r-- | gitlab-mailroom.service | 4 | ||||
-rw-r--r-- | gitlab-sidekiq.service | 6 | ||||
-rw-r--r-- | gitlab-unicorn.service | 4 | ||||
-rw-r--r-- | gitlab.install | 8 | ||||
-rw-r--r-- | gitlab.logrotate | 5 | ||||
-rw-r--r-- | ruby27-pop-extra-arg.patch | 26 |
10 files changed, 187 insertions, 130 deletions
@@ -1,19 +1,18 @@ pkgbase = gitlab-ee pkgdesc = Project management and code hosting application - pkgver = 11.9.6 + pkgver = 12.7.5 pkgrel = 1 - url = https://gitlab.com/gitlab-org/gitlab-ee + url = https://gitlab.com/gitlab-org/gitlab install = gitlab.install arch = x86_64 license = MIT makedepends = cmake makedepends = postgresql - makedepends = mariadb makedepends = yarn makedepends = go makedepends = nodejs - depends = ruby2.5 - depends = ruby2.5-bundler + depends = ruby + depends = ruby-bundler depends = git depends = gitlab-workhorse depends = gitlab-gitaly @@ -25,7 +24,6 @@ pkgbase = gitlab-ee depends = http-parser depends = nodejs optdepends = postgresql: database backend - optdepends = mysql: database backend optdepends = python2-docutils: reStructuredText markup language support optdepends = smtp-server: mail server in order to receive mail notifications provides = gitlab @@ -36,7 +34,8 @@ pkgbase = gitlab-ee backup = etc/webapps/gitlab/resque.yml backup = etc/webapps/gitlab/unicorn.rb backup = etc/logrotate.d/gitlab - source = gitlab-ee-11.9.6.tar.gz::https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-ee/repository/archive?sha=v11.9.6-ee + source = gitlab-ee-12.7.5.tar.gz::https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab/repository/archive?sha=v12.7.5-ee + source = build_fix.patch source = gitlab-unicorn.service source = gitlab-sidekiq.service source = gitlab-backup.service @@ -45,19 +44,22 @@ pkgbase = gitlab-ee source = gitlab.target source = gitlab.tmpfiles.d source = gitlab.logrotate - sha512sums = c8f0dcfdf08b5d935800383c0b711a6255c80acbaeee01c44930e0c04438ee967bfe241ca1ae3b14dfab164f771d7720934be84b1717130f13eb244f3d888b3d - sha512sums = d6d0604a726277f27a7596caf31909ff7d9854fd85f2902fd8a06eb581b38cc0e0fd6c10b3b16c84e0c629230501bc51d2f74c765761b43cdead139a521a327d - sha512sums = 41ca8890aff1dd99b3c4ef283f70a172af772837ab6b1bda1d26710616a822f5179899ca9b3a96bc0b434f8f6d614b29b39b1596c0f284e5347ae9e06d40c1c4 - sha512sums = 2e49f4c2549c219d5d1c8572a7db7a700847bc8c520b44bdfc1742d3caf57d8336da5c0b74672f820349b8eab0fa1712dcec5588a4fb742ad98c8eb7ec2b5951 - sha512sums = fdb698c86057574aecaa1f1503f3d3319e06d5e872c676d58590b48bb7b3483b837bc991136eb2cc4b2cea68b52d294b8c1b382c9659f14027a923ac3c17d6d5 + source = ruby27-pop-extra-arg.patch + sha512sums = c624549b782fcc8911a95cbe1272fb94f79ab4718847b3d5df8d788f3a911a8d33bdd3e5a3c74b747bd1a27c314593cfd7788c2c908355ec749f846b837e4c63 + sha512sums = baeb28cc87be9f5e36f9bb3c98f8c81caf1f0eadab1726bcd80d89f94dfb9d00c2e086966f4ce80ac91b27dbd6b550868167e29f6b04bee6a22ead41e30c604b + sha512sums = 1ad15b48890ad48e97a6fcea56132582f2b22aa27f4a1a1f4590f3ea72de4726e13ef6f3db2bc0984da1ef140bde092e74e0c9f8f1778f207f3fac4a31a77e4b + sha512sums = 8ca36771f7568b190823ec47afeaf6ff75f61c5b6f31ce5d837a6dcd84a5b3da23fb07a1eceeda0752b2e61c4a8f4d17bf368fa2913e1487567944a8d29eeb58 + sha512sums = 0cbb9a1631b529a83d5c6db95fd3a684c8f06073890b31f6262c339360444e7452275d804fb6a119a3d61a0ef1b76d0e956f260a12f032d54c00308e8d9520b0 + sha512sums = 159530b50ac560c46703ef9ddd788cebc614bc53daa5b545ed8ac55f7ff4f9bb81a5149220a48770e8264e2cd5ca173f0f1f0ef4881f4e2350aaef007ea3e933 sha512sums = c11d2c59da8325551a465227096e8d39b0e4bcd5b1db21565cf3439e431838c04bc00aa6f07f4d493f3f47fd6b4e25aeb0fe0fc1a05756064706bf5708c960ec sha512sums = bf33b818e4ea671c16f58563997ba5fe0a09090e5c03577ff974d31324d4e9782b85a9bb4f1749b97257ce93400c692de935f003770d52b5994c9cab9aee57c6 sha512sums = abacbff0d7be918337a17b56481c84e6bf3eddd9551efe78ba9fb74337179e95c9b60f41c49f275e05074a4074a616be36fa208a48fc12d5b940f0554fbd89c3 - sha512sums = 20b93eab504e82cc4401685b59e6311b4d2c0285bc594d47ce4106d3f418a3e2ba92c4f49732748c0ba913aa3e3299126166e37d2a2d5b4d327d66bae4b8abda + sha512sums = 88e199d2f63e4f235930c35c6dfde80e6010e590907bd4de0af1fbfe6d5491ff56845aefcfe8edefa707712bd84fef96880655747b8bfb949ceeadc0456b0121 + sha512sums = 0cc5c1df3cd18978df9a01bb64680d3a375c1ff4de6a453045dd26355777b4f08e3a05f55f035c8012a9683100de0bc3d11c280debcb343eb7167fc25342d5c0 pkgname = gitlab-ee - depends = ruby2.5 - depends = ruby2.5-bundler + depends = ruby + depends = ruby-bundler depends = git depends = gitlab-workhorse depends = gitlab-gitaly @@ -13,27 +13,27 @@ # need this again at some point in the future. _pkgname=gitlab pkgname=$_pkgname-ee -pkgver=11.9.6 +pkgver=12.7.5 pkgrel=1 pkgdesc="Project management and code hosting application" arch=('x86_64') -url="https://gitlab.com/gitlab-org/gitlab-ee" +url="https://gitlab.com/gitlab-org/gitlab" license=('MIT') conflicts=("$_pkgname") provides=("$_pkgname") options=(!buildflags) -depends=('ruby2.5' 'ruby2.5-bundler' 'git' 'gitlab-workhorse' 'gitlab-gitaly' 'openssh' 'redis' 'libxslt' 'icu' 're2' 'http-parser' 'nodejs') -makedepends=('cmake' 'postgresql' 'mariadb' 'yarn' 'go' 'nodejs') +depends=('ruby' 'ruby-bundler' 'git' 'gitlab-workhorse' 'gitlab-gitaly' 'openssh' 'redis' 'libxslt' 'icu' 're2' 'http-parser' 'nodejs') +makedepends=('cmake' 'postgresql' 'yarn' 'go' 'nodejs') optdepends=('postgresql: database backend' - 'mysql: database backend' 'python2-docutils: reStructuredText markup language support' 'smtp-server: mail server in order to receive mail notifications') -backup=("etc/webapps/$_pkgname/application.rb" - "etc/webapps/$_pkgname/gitlab.yml" - "etc/webapps/$_pkgname/resque.yml" - "etc/webapps/$_pkgname/unicorn.rb" - "etc/logrotate.d/$_pkgname") -source=("$pkgname-$pkgver.tar.gz::https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab-ee/repository/archive?sha=v$pkgver-ee" +backup=("etc/webapps/${_pkgname}/application.rb" + "etc/webapps/${_pkgname}/gitlab.yml" + "etc/webapps/${_pkgname}/resque.yml" + "etc/webapps/${_pkgname}/unicorn.rb" + "etc/logrotate.d/${_pkgname}") +source=("$pkgname-$pkgver.tar.gz::https://gitlab.com/api/v4/projects/gitlab-org%2Fgitlab/repository/archive?sha=v$pkgver-ee" + build_fix.patch gitlab-unicorn.service gitlab-sidekiq.service gitlab-backup.service @@ -41,32 +41,37 @@ source=("$pkgname-$pkgver.tar.gz::https://gitlab.com/api/v4/projects/gitlab-org% gitlab-backup.timer gitlab.target gitlab.tmpfiles.d - gitlab.logrotate) + gitlab.logrotate + ruby27-pop-extra-arg.patch) install='gitlab.install' -sha512sums=('c8f0dcfdf08b5d935800383c0b711a6255c80acbaeee01c44930e0c04438ee967bfe241ca1ae3b14dfab164f771d7720934be84b1717130f13eb244f3d888b3d' - 'd6d0604a726277f27a7596caf31909ff7d9854fd85f2902fd8a06eb581b38cc0e0fd6c10b3b16c84e0c629230501bc51d2f74c765761b43cdead139a521a327d' - '41ca8890aff1dd99b3c4ef283f70a172af772837ab6b1bda1d26710616a822f5179899ca9b3a96bc0b434f8f6d614b29b39b1596c0f284e5347ae9e06d40c1c4' - '2e49f4c2549c219d5d1c8572a7db7a700847bc8c520b44bdfc1742d3caf57d8336da5c0b74672f820349b8eab0fa1712dcec5588a4fb742ad98c8eb7ec2b5951' - 'fdb698c86057574aecaa1f1503f3d3319e06d5e872c676d58590b48bb7b3483b837bc991136eb2cc4b2cea68b52d294b8c1b382c9659f14027a923ac3c17d6d5' +sha512sums=('c624549b782fcc8911a95cbe1272fb94f79ab4718847b3d5df8d788f3a911a8d33bdd3e5a3c74b747bd1a27c314593cfd7788c2c908355ec749f846b837e4c63' + 'baeb28cc87be9f5e36f9bb3c98f8c81caf1f0eadab1726bcd80d89f94dfb9d00c2e086966f4ce80ac91b27dbd6b550868167e29f6b04bee6a22ead41e30c604b' + '1ad15b48890ad48e97a6fcea56132582f2b22aa27f4a1a1f4590f3ea72de4726e13ef6f3db2bc0984da1ef140bde092e74e0c9f8f1778f207f3fac4a31a77e4b' + '8ca36771f7568b190823ec47afeaf6ff75f61c5b6f31ce5d837a6dcd84a5b3da23fb07a1eceeda0752b2e61c4a8f4d17bf368fa2913e1487567944a8d29eeb58' + '0cbb9a1631b529a83d5c6db95fd3a684c8f06073890b31f6262c339360444e7452275d804fb6a119a3d61a0ef1b76d0e956f260a12f032d54c00308e8d9520b0' + '159530b50ac560c46703ef9ddd788cebc614bc53daa5b545ed8ac55f7ff4f9bb81a5149220a48770e8264e2cd5ca173f0f1f0ef4881f4e2350aaef007ea3e933' 'c11d2c59da8325551a465227096e8d39b0e4bcd5b1db21565cf3439e431838c04bc00aa6f07f4d493f3f47fd6b4e25aeb0fe0fc1a05756064706bf5708c960ec' 'bf33b818e4ea671c16f58563997ba5fe0a09090e5c03577ff974d31324d4e9782b85a9bb4f1749b97257ce93400c692de935f003770d52b5994c9cab9aee57c6' 'abacbff0d7be918337a17b56481c84e6bf3eddd9551efe78ba9fb74337179e95c9b60f41c49f275e05074a4074a616be36fa208a48fc12d5b940f0554fbd89c3' - '20b93eab504e82cc4401685b59e6311b4d2c0285bc594d47ce4106d3f418a3e2ba92c4f49732748c0ba913aa3e3299126166e37d2a2d5b4d327d66bae4b8abda') + '88e199d2f63e4f235930c35c6dfde80e6010e590907bd4de0af1fbfe6d5491ff56845aefcfe8edefa707712bd84fef96880655747b8bfb949ceeadc0456b0121' + '0cc5c1df3cd18978df9a01bb64680d3a375c1ff4de6a453045dd26355777b4f08e3a05f55f035c8012a9683100de0bc3d11c280debcb343eb7167fc25342d5c0') -_datadir="/usr/share/webapps/$_pkgname" -_etcdir="/etc/webapps/$_pkgname" -_homedir="/var/lib/$_pkgname" -_logdir="/var/log/$_pkgname" -_srcdir="$pkgname-v$pkgver-ee-" +_datadir="/usr/share/webapps/${_pkgname}" +_etcdir="/etc/webapps/${_pkgname}" +_homedir="/var/lib/${_pkgname}" +_logdir="/var/log/${_pkgname}" +_srcdir="$_pkgname" prepare() { # Get first 7 characters from sha1 which has 40 characters in total - local revision="$(ls -d "$_srcdir"* | rev | cut -c 34-40 | rev)" + local revision=$(ls -d ${_srcdir}* | rev | cut -c 34-40 | rev) - cd "$_srcdir"* + cd "${_srcdir}" + + patch -p1 < ../build_fix.patch # GitLab tries to read its revision information from a file. - echo "$revision" > REVISION + echo "${revision}" > REVISION export SKIP_STORAGE_VALIDATION='true' @@ -74,26 +79,25 @@ prepare() { echo "Patching paths in and username gitlab.yml..." sed -e "s|# user: git|user: gitlab|" \ -e "s|/home/git/gitaly/bin|/usr/bin|" \ - -e "s|/home/git/repositories|$_homedir/repositories|" \ - -e "s|/home/git/gitlab-satellites|$_homedir/satellites|" \ - -e "s|# path: /mnt/gitlab|path: $_homedir/shared|" \ + -e "s|/home/git/repositories|${_homedir}/repositories|" \ + -e "s|/home/git/gitlab-satellites|${_homedir}/satellites|" \ + -e "s|# path: /mnt/gitlab|path: ${_homedir}/shared|" \ -e "s|/home/git/gitlab-shell|/usr/share/webapps/gitlab-shell|" \ - -e "s|tmp/backups|$_homedir/backups|" \ - -e "s|/home/git/gitlab/tmp/sockets/private/gitaly.socket|$_homedir/sockets/gitlab-gitaly.socket|" \ + -e "s|tmp/backups|${_homedir}/backups|" \ + -e "s|/home/git/gitlab/tmp/sockets/private/gitaly.socket|${_homedir}/sockets/gitlab-gitaly.socket|" \ config/gitlab.yml.example > config/gitlab.yml echo "Patching paths and timeout in unicorn.rb..." sed -e "s|/home/git/gitlab/tmp/.*/|/run/gitlab/|g" \ -e "s|/var/run/|/run/|g" \ - -e "s|/home/git/gitlab|$_datadir|g" \ - -e "s|$_datadir/log/|$_logdir/|g" \ + -e "s|/home/git/gitlab|${_datadir}|g" \ + -e "s|${_datadir}/log/|${_logdir}/|g" \ config/unicorn.rb.example > config/unicorn.rb # We need this one untouched because otherwise assets will fail cp config/database.yml.postgresql config/database.yml.postgresql.orig - echo "Patching username in database.yml.{mysql,postgresql}..." - sed -i -e "s|username: git|username: gitlab|" config/database.yml.mysql + echo "Patching username in database.yml.postgresql..." sed -i -e "s|username: git|username: gitlab|" config/database.yml.postgresql echo "Patching redis connection in resque.yml" @@ -102,19 +106,33 @@ prepare() { echo "Setting up systemd service files ..." for service_file in gitlab-sidekiq.service gitlab-unicorn.service gitlab.logrotate gitlab-backup.service gitlab-mailroom.service; do - sed -i "s|<HOMEDIR>|$_homedir|g" "$srcdir/$service_file" - sed -i "s|<DATADIR>|$_datadir|g" "$srcdir/$service_file" - sed -i "s|<LOGDIR>|$_logdir|g" "$srcdir/$service_file" + sed -i "s|<HOMEDIR>|${_homedir}|g" "${srcdir}/${service_file}" + sed -i "s|<DATADIR>|${_datadir}|g" "${srcdir}/${service_file}" + sed -i "s|<LOGDIR>|${_logdir}|g" "${srcdir}/${service_file}" done + + # https://github.com/bundler/bundler/issues/6882 + sed -e '/BUNDLED WITH/,+1d' -i Gemfile.lock + bundle lock --update=bundler-audit + # 'lock' adds 'BUNDLED WITH' back. Remove it again. + sed -e '/BUNDLED WITH/,+1d' -i Gemfile.lock } build() { - cd "$srcdir/$_srcdir"* + cd "${srcdir}/${_srcdir}"* echo "Fetching bundled gems..." - # Gems will be installed into vendor/bundle - bundle-2.5 install --no-cache --deployment --without development test + bundle config build.gpgme --use-system-libraries # See https://bugs.archlinux.org/task/63654 + bundle config force_ruby_platform true # some native gems are not available for newer ruby + bundle install --jobs=$(nproc) --no-cache --deployment --without development test aws kerberos + + # workaround for a ruby2.7 issue + # https://gitlab.com/groups/gitlab-org/-/epics/2380 + # https://github.com/ruby-grape/grape/issues/1967 + pushd vendor/bundle/ruby/2.7.0/gems/grape-1.1.0/ + patch -p1 < $srcdir/ruby27-pop-extra-arg.patch + popd # We'll temporarily stick this in here so we can build the assets cp config/database.yml.postgresql.orig config/database.yml @@ -122,8 +140,8 @@ build() { sed -i 's/url.*/nope.sock/g' config/resque.yml yarn install --production --pure-lockfile - bundle-2.5 exec rake gitlab:assets:compile RAILS_ENV=production NODE_ENV=production NODE_OPTIONS="--max_old_space_size=4096" - bundle-2.5 exec rake gettext:compile RAILS_ENV=production + bundle exec rake gitlab:assets:compile RAILS_ENV=production NODE_ENV=production NODE_OPTIONS="--max_old_space_size=4096" + bundle exec rake gettext:compile RAILS_ENV=production # After building assets, clean this up again rm config/database.yml config/database.yml.postgresql.orig @@ -131,93 +149,83 @@ build() { } package() { - cd "$srcdir/$_srcdir"* + cd "${srcdir}/${_srcdir}"* depends+=('gitlab-shell') - install -d "$pkgdir/usr/share/webapps" + install -d "${pkgdir}/usr/share/webapps" - cp -r "$srcdir/$_srcdir"* "$pkgdir$_datadir" + cp -r "${srcdir}/${_srcdir}"* "${pkgdir}${_datadir}" # Remove unneeded directories: node_modules is only needed during build - rm -r "$pkgdir$_datadir/node_modules" + rm -r "${pkgdir}${_datadir}/node_modules" # https://gitlab.com/gitlab-org/omnibus-gitlab/blob/194cf8f12e51c26980c09de6388bbd08409e1209/config/software/gitlab-rails.rb#L179 for dir in spec qa rubocop app/assets vendor/assets; do - rm -r "$pkgdir$_datadir/$dir" + rm -r "${pkgdir}${_datadir}/${dir}" done - chown -R root:root "$pkgdir$_datadir" - chmod 755 "$pkgdir$_datadir" + chown -R root:root "${pkgdir}${_datadir}" + chmod 755 "${pkgdir}${_datadir}" - install -dm750 -o 105 -g 105 "$pkgdir$_homedir" - install -dm750 -o 105 -g 105 "$pkgdir$_homedir/satellites" - install -dm750 -o 105 -g 105 "$pkgdir$_homedir/shared/"{,artifacts,lfs-objects} - install -dm750 -o 105 -g 105 "$pkgdir$_homedir/builds" - install -dm700 -o 105 -g 105 "$pkgdir$_homedir/uploads" - install -dm750 -o 105 -g 105 "$pkgdir$_homedir/backups" - install -dm750 -o 105 -g 105 "$pkgdir$_etcdir" - install -dm755 "$pkgdir/usr/share/doc/$_pkgname" + install -dm750 -o 105 -g 105 "${pkgdir}${_homedir}" + install -dm750 -o 105 -g 105 "${pkgdir}${_homedir}/satellites" + install -dm750 -o 105 -g 105 "${pkgdir}${_homedir}/shared/"{,artifacts,lfs-objects} + install -dm750 -o 105 -g 105 "${pkgdir}${_homedir}/builds" + install -dm700 -o 105 -g 105 "${pkgdir}${_homedir}/uploads" + install -dm750 -o 105 -g 105 "${pkgdir}${_homedir}/backups" + install -dm750 -o 105 -g 105 "${pkgdir}${_etcdir}" + install -dm755 "${pkgdir}/usr/share/doc/${_pkgname}" - ln -fs /run/gitlab "$pkgdir$_homedir/pids" - ln -fs /run/gitlab "$pkgdir$_homedir/sockets" - ln -fs "$_datadir"/log "$pkgdir$_homedir/log" + ln -fs /run/gitlab "${pkgdir}${_homedir}/pids" + ln -fs /run/gitlab "${pkgdir}${_homedir}/sockets" + ln -fs ${_datadir}/log "${pkgdir}${_homedir}/log" - rm -rf "$pkgdir$_datadir/public/uploads" && ln -fs "$_homedir/uploads" "$pkgdir$_datadir/public/uploads" - rm -rf "$pkgdir$_datadir/builds" && ln -fs "$_homedir/builds" "$pkgdir$_datadir/builds" - rm -rf "$pkgdir$_datadir/tmp" && ln -fs /var/tmp "$pkgdir$_datadir/tmp" - rm -rf "$pkgdir$_datadir/log" && ln -fs "$_logdir" "$pkgdir$_datadir/log" + rm -rf "${pkgdir}${_datadir}/public/uploads" && ln -fs "${_homedir}/uploads" "${pkgdir}${_datadir}/public/uploads" + rm -rf "${pkgdir}${_datadir}/builds" && ln -fs "${_homedir}/builds" "${pkgdir}${_datadir}/builds" + rm -rf "${pkgdir}${_datadir}/tmp" && ln -fs /var/tmp "${pkgdir}${_datadir}/tmp" + rm -rf "${pkgdir}${_datadir}/log" && ln -fs "${_logdir}" "${pkgdir}${_datadir}/log" # Fixes https://bugs.archlinux.org/task/59762 - ln -s "$_datadir/config/boot.rb" "$pkgdir"/"$_etcdir"/boot.rb - - mv "$pkgdir$_datadir/.gitlab_workhorse_secret" "$pkgdir$_etcdir/gitlab_workhorse_secret" - chmod 660 "$pkgdir$_etcdir/gitlab_workhorse_secret" - chown root:105 "$pkgdir$_etcdir/gitlab_workhorse_secret" - ln -fs "$_etcdir/gitlab_workhorse_secret" "$pkgdir$_datadir/.gitlab_workhorse_secret" + ln -s "${_datadir}/config/boot.rb" "${pkgdir}"/${_etcdir}/boot.rb - ln -fs /etc/webapps/gitlab-shell/secret "$pkgdir$_datadir/.gitlab_shell_secret" + mv "${pkgdir}${_datadir}/.gitlab_workhorse_secret" "${pkgdir}${_etcdir}/gitlab_workhorse_secret" + chmod 660 "${pkgdir}${_etcdir}/gitlab_workhorse_secret" + chown root:105 "${pkgdir}${_etcdir}/gitlab_workhorse_secret" + ln -fs "${_etcdir}/gitlab_workhorse_secret" "${pkgdir}${_datadir}/.gitlab_workhorse_secret" - sed -i "s|require_relative '../lib|require '$_datadir/lib|" config/application.rb + ln -fs /etc/webapps/gitlab-shell/secret "${pkgdir}${_datadir}/.gitlab_shell_secret" - # Fix for ruby-2.5 and bundle-2.5 - sed -i "s|bundle|bundle-2.5|g" "$pkgdir$_datadir/lib/tasks/gitlab/check.rake" - grep -rl "bin/env ruby" "$pkgdir$_datadir" | xargs sed -i "s|bin/env ruby$|bin/env ruby-2.5|g" - sed -i \ - -e "s|ruby --version|ruby-2.5 --version|g" \ - -e "s|gem --version|gem-2.5 --version|g" \ - -e "s|bundle --version|bundle-2.5 --version|g" \ - -e "s|rake --version|rake-2.5 --version|g" \ - "$pkgdir$_datadir/lib/tasks/gitlab/info.rake" + sed -i "s|require_relative '../lib|require '${_datadir}/lib|" config/application.rb # Install config files for config_file in application.rb gitlab.yml unicorn.rb resque.yml; do - mv "config/$config_file" "$pkgdir$_etcdir/" - [[ -f "${pkgdir}${_datadir}/config/${config_file}" ]] && rm "$pkgdir$_datadir/config/$config_file" - ln -fs "$_etcdir/$config_file" "$pkgdir$_datadir/config/" + mv "config/${config_file}" "${pkgdir}${_etcdir}/" + [[ -f "${pkgdir}${_datadir}/config/${config_file}" ]] && rm "${pkgdir}${_datadir}/config/${config_file}" + ln -fs "${_etcdir}/${config_file}" "${pkgdir}${_datadir}/config/" done # Install database symlink - ln -fs "$_etcdir/database.yml" "$pkgdir$_datadir/config/database.yml" + ln -fs "${_etcdir}/database.yml" "${pkgdir}${_datadir}/config/database.yml" # Install secrets symlink - ln -fs "$_etcdir/secrets.yml" "$pkgdir$_datadir/config/secrets.yml" + ln -fs "${_etcdir}/secrets.yml" "${pkgdir}${_datadir}/config/secrets.yml" # Install license and help files - mv README.md MAINTENANCE.md CONTRIBUTING.md CHANGELOG.md PROCESS.md VERSION config/*.{example,mysql,postgresql} "$pkgdir/usr/share/doc/$_pkgname" - install -Dm644 "LICENSE" "$pkgdir/usr/share/licenses/$_pkgname/LICENSE" + mv README.md MAINTENANCE.md CONTRIBUTING.md CHANGELOG.md PROCESS.md VERSION config/*.{example,postgresql} "${pkgdir}/usr/share/doc/${pkgname}" + install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${_pkgname}/LICENSE" - # https://gitlab.com/gitlab-org/gitlab-ce/issues/765 - cp -r "$pkgdir$_datadir/doc" "$pkgdir$_datadir/public/help" - find "$pkgdir$_datadir/public/help" -name "*.md" -exec rm {} \; - find "$pkgdir$_datadir/public/help/" -depth -type d -empty -exec rmdir {} \; + # https://gitlab.com/gitlab-org/gitlab-foss/issues/765 + cp -r "${pkgdir}${_datadir}/doc" "${pkgdir}${_datadir}/public/help" + find "${pkgdir}${_datadir}/public/help" -name "*.md" -exec rm {} \; + find "${pkgdir}${_datadir}/public/help/" -depth -type d -empty -exec rmdir {} \; - chown 105:105 "$pkgdir$_datadir/db/schema.rb" + chown 105:105 "${pkgdir}${_datadir}/db/schema.rb" # Install systemd service files for service_file in gitlab-unicorn.service gitlab-sidekiq.service gitlab-backup.service gitlab-backup.timer gitlab.target gitlab-mailroom.service; do - install -Dm644 "$srcdir/$service_file" "$pkgdir/usr/lib/systemd/system/$service_file" + install -Dm644 "${srcdir}/${service_file}" "${pkgdir}/usr/lib/systemd/system/${service_file}" done - install -Dm644 "$srcdir/gitlab.tmpfiles.d" "$pkgdir/usr/lib/tmpfiles.d/gitlab.conf" - install -Dm644 "$srcdir/gitlab.logrotate" "$pkgdir/etc/logrotate.d/gitlab" + install -Dm644 "${srcdir}/gitlab.tmpfiles.d" "${pkgdir}/usr/lib/tmpfiles.d/gitlab.conf" + install -Dm644 "${srcdir}/gitlab.logrotate" "${pkgdir}/etc/logrotate.d/gitlab" } # vim:set ts=2 sw=2 et: diff --git a/build_fix.patch b/build_fix.patch new file mode 100644 index 000000000000..4afefa0e87fe --- /dev/null +++ b/build_fix.patch @@ -0,0 +1,26 @@ +diff --git a/Gemfile b/Gemfile +index 951ae73a318..ce5c0aba42f 100644 +--- a/Gemfile ++++ b/Gemfile +@@ -311,6 +311,12 @@ gem 'gettext_i18n_rails', '~> 1.8.0' + gem 'gettext_i18n_rails_js', '~> 1.3' + gem 'gettext', '~> 3.2.2', require: false, group: :development + ++# Pin the gems that are needed for the old gettext ++# https://github.com/ruby-gettext/gettext/issues/64 the issue been fixed by upstream in gettext 3.3.0 ++gem 'irb', '~> 1.1.0' # use irb version that matches ruby 2.6. Later irb versions heavily modified its API and it breaks gettext ++gem 'e2mmap' # 'irb' 1.1.1 requires it ++ ++ + gem 'batch-loader', '~> 1.4.0' + + # Perf bar +@@ -376,7 +382,7 @@ group :development, :test do + gem 'scss_lint', '~> 0.56.0', require: false + gem 'haml_lint', '~> 0.34.0', require: false + gem 'simplecov', '~> 0.16.1', require: false +- gem 'bundler-audit', '~> 0.5.0', require: false ++ gem 'bundler-audit', '>= 0', require: false # Get the latest gem that is compatible with the new bundler + + gem 'benchmark-ips', '~> 2.3.0', require: false + diff --git a/gitlab-backup.service b/gitlab-backup.service index 6ef4df33a099..3d30612fe4ba 100644 --- a/gitlab-backup.service +++ b/gitlab-backup.service @@ -10,11 +10,11 @@ Group=gitlab SyslogIdentifier=gitlab-backup WorkingDirectory=<DATADIR> # Prevent ExecJS from complaining that Node is not installed in production -Environment=RAILS_ENV=production PATH=/opt/ruby2.5/bin:/usr/bin EXECJS_RUNTIME=Disabled +Environment=RAILS_ENV=production EXECJS_RUNTIME=Disabled CapabilityBoundingSet= PrivateTmp=true PrivateDevices=true ProtectSystem=full ProtectHome=true NoNewPrivileges=true -ExecStart=/usr/bin/bundle-2.5 exec rake gitlab:backup:create +ExecStart=/usr/bin/bundle exec rake gitlab:backup:create diff --git a/gitlab-mailroom.service b/gitlab-mailroom.service index 54f139944425..d7bd62e007be 100644 --- a/gitlab-mailroom.service +++ b/gitlab-mailroom.service @@ -10,10 +10,10 @@ User=gitlab Group=gitlab WorkingDirectory=<DATADIR> # Prevent ExecJS from complaining that Node is not installed in production -Environment=RAILS_ENV=production PATH=/opt/ruby2.5/bin:/usr/bin EXECJS_RUNTIME=Disabled +Environment=RAILS_ENV=production EXECJS_RUNTIME=Disabled SyslogIdentifier=gitlab-mailroom PIDFile=/run/gitlab/mailroom.pid -ExecStart=/usr/bin/bundle-2.5 exec mail_room -q -c <DATADIR>/config/mail_room.yml +ExecStart=/usr/bin/bundle exec mail_room -q -c <DATADIR>/config/mail_room.yml ExecStop=/usr/bin/kill -QUIT $MAINPID Restart=on-failure RestartSec=1 diff --git a/gitlab-sidekiq.service b/gitlab-sidekiq.service index 4c39f0800667..b7898a96e5a9 100644 --- a/gitlab-sidekiq.service +++ b/gitlab-sidekiq.service @@ -11,7 +11,7 @@ User=gitlab Group=gitlab WorkingDirectory=<DATADIR> # Prevent ExecJS from complaining that Node is not installed in production -Environment=RAILS_ENV=production PATH=/opt/ruby2.5/bin:/usr/bin EXECJS_RUNTIME=Disabled +Environment=RAILS_ENV=production EXECJS_RUNTIME=Disabled SyslogIdentifier=gitlab-sidekiq PIDFile=/run/gitlab/sidekiq.pid PrivateTmp=true @@ -22,8 +22,8 @@ ProtectHome=true # instead you can safely enable these security features. #NoNewPrivileges=true #CapabilityBoundingSet= -ExecStart=/usr/bin/bundle-2.5 exec sidekiq -C <DATADIR>/config/sidekiq_queues.yml -e production -ExecStop=/usr/bin/bundle-2.5 exec sidekiqctl stop /run/gitlab/sidekiq.pid +ExecStart=/usr/bin/bundle exec sidekiq -C <DATADIR>/config/sidekiq_queues.yml -e production +ExecStop=/usr/bin/bundle exec sidekiqctl stop /run/gitlab/sidekiq.pid Restart=on-failure RestartSec=1 diff --git a/gitlab-unicorn.service b/gitlab-unicorn.service index 6372015cfc16..19fafe4a09fe 100644 --- a/gitlab-unicorn.service +++ b/gitlab-unicorn.service @@ -10,7 +10,7 @@ User=gitlab Group=gitlab WorkingDirectory=<DATADIR> # Prevent ExecJS from complaining that Node is not installed in production -Environment=RAILS_ENV=production PATH=/opt/ruby2.5/bin:/usr/bin EXECJS_RUNTIME=Disabled +Environment=RAILS_ENV=production EXECJS_RUNTIME=Disabled SyslogIdentifier=gitlab-unicorn PIDFile=/run/gitlab/unicorn.pid RuntimeDirectory=gitlab @@ -24,7 +24,7 @@ ProtectHome=true # instead you can safely enable these security features. #NoNewPrivileges=true #CapabilityBoundingSet= -ExecStart=/usr/bin/bundle-2.5 exec unicorn_rails -c <DATADIR>/config/unicorn.rb -E production +ExecStart=/usr/bin/bundle exec unicorn_rails -c <DATADIR>/config/unicorn.rb -E production ExecStop=/usr/bin/kill -QUIT $MAINPID ExecReload=/usr/bin/kill -USR2 $MAINPID Restart=on-failure diff --git a/gitlab.install b/gitlab.install index b9b3a35e31e6..a2a17f3d6424 100644 --- a/gitlab.install +++ b/gitlab.install @@ -5,15 +5,15 @@ post_install() { echo "Copy /usr/share/doc/gitlab/secrets.yml.example to /etc/webapps/gitlab/secrets.yml and configure it" echo "Copy a database example config from /usr/share/doc/gitlab/ to /etc/webapps/gitlab/database.yml and configure it" echo "Setup the database:" - echo "# su - gitlab -s /bin/sh -c \"cd '/usr/share/webapps/gitlab'; EXECJS_RUNTIME=Disabled bundle-2.5 exec rake gitlab:setup RAILS_ENV=production\"" + echo "# su - gitlab -s /bin/sh -c \"cd '/usr/share/webapps/gitlab'; EXECJS_RUNTIME=Disabled bundle exec rake gitlab:setup RAILS_ENV=production\"" echo "Finally run the following commands to check your installation:" - echo "# su - gitlab -s /bin/sh -c \"cd '/usr/share/webapps/gitlab'; EXECJS_RUNTIME=Disabled bundle-2.5 exec rake gitlab:env:info RAILS_ENV=production\"" - echo "# su - gitlab -s /bin/sh -c \"cd '/usr/share/webapps/gitlab'; EXECJS_RUNTIME=Disabled bundle-2.5 exec rake gitlab:check RAILS_ENV=production\"" + echo "# su - gitlab -s /bin/sh -c \"cd '/usr/share/webapps/gitlab'; EXECJS_RUNTIME=Disabled bundle exec rake gitlab:env:info RAILS_ENV=production\"" + echo "# su - gitlab -s /bin/sh -c \"cd '/usr/share/webapps/gitlab'; EXECJS_RUNTIME=Disabled bundle exec rake gitlab:check RAILS_ENV=production\"" } post_upgrade() { echo "You should upgrade your database:" - echo "# su - gitlab -s /bin/sh -c \"cd '/usr/share/webapps/gitlab'; EXECJS_RUNTIME=Disabled bundle-2.5 exec rake db:migrate RAILS_ENV=production\"" + echo "# su - gitlab -s /bin/sh -c \"cd '/usr/share/webapps/gitlab'; EXECJS_RUNTIME=Disabled bundle exec rake db:migrate RAILS_ENV=production\"" echo "Afterwards, restart gitlab-related services:" echo "# systemctl daemon-reload" echo "# systemctl restart gitlab-sidekiq gitlab-unicorn gitlab-workhorse gitlab-gitaly" diff --git a/gitlab.logrotate b/gitlab.logrotate index 132b8df30a05..990fc3f1a296 100644 --- a/gitlab.logrotate +++ b/gitlab.logrotate @@ -1,10 +1,5 @@ -# GitLab logrotate settings -# based on: http://stackoverflow.com/a/4883967 - <LOGDIR>/*.log { - daily missingok - rotate 90 compress notifempty copytruncate diff --git a/ruby27-pop-extra-arg.patch b/ruby27-pop-extra-arg.patch new file mode 100644 index 000000000000..566ca66112c9 --- /dev/null +++ b/ruby27-pop-extra-arg.patch @@ -0,0 +1,26 @@ +From 9ff085264c5ce3db12290c68bc8373578234e425 Mon Sep 17 00:00:00 2001 +From: dm1try <me@dmitry.it> +Date: Sat, 11 Jan 2020 22:24:15 +0300 +Subject: [PATCH] fix args forwarding in Middleware::Stack#merge_with for ruby + 2.7.0 ref #1967 + +--- + CHANGELOG.md | 1 + + lib/grape/middleware/stack.rb | 3 ++- + spec/grape/middleware/stack_spec.rb | 9 +++++++++ + 3 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/lib/grape/middleware/stack.rb b/lib/grape/middleware/stack.rb +index 8509a4653..488a51498 100644 +--- a/lib/grape/middleware/stack.rb ++++ b/lib/grape/middleware/stack.rb +@@ -78,7 +78,8 @@ def use(*args, &block) + def merge_with(middleware_specs) + middleware_specs.each do |operation, *args| + if args.last.is_a?(Proc) +- public_send(operation, *args, &args.pop) ++ last_proc = args.pop ++ public_send(operation, *args, &last_proc) + else + public_send(operation, *args) + end |