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 /PKGBUILD | |
parent | 6839f6eaa63f6d0de7b0f0f100e682dcdbbdb567 (diff) | |
download | aur-f2bf35bba31590bb1a2c440e8af3ae5c50db27c4.tar.gz |
Update to 12.7.5
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 202 |
1 files changed, 105 insertions, 97 deletions
@@ -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: |