Date: Sunday, February 24, 2019 @ 10:38:57 Author: svenstaro Revision: 435498
archrelease: copy trunk to community-x86_64 Added: gitlab/repos/community-x86_64/PKGBUILD (from rev 435497, gitlab/trunk/PKGBUILD) gitlab/repos/community-x86_64/gitlab-backup.service (from rev 435497, gitlab/trunk/gitlab-backup.service) gitlab/repos/community-x86_64/gitlab-backup.timer (from rev 435497, gitlab/trunk/gitlab-backup.timer) gitlab/repos/community-x86_64/gitlab-mailroom.service (from rev 435497, gitlab/trunk/gitlab-mailroom.service) gitlab/repos/community-x86_64/gitlab-sidekiq.service (from rev 435497, gitlab/trunk/gitlab-sidekiq.service) gitlab/repos/community-x86_64/gitlab-unicorn.service (from rev 435497, gitlab/trunk/gitlab-unicorn.service) gitlab/repos/community-x86_64/gitlab.install (from rev 435497, gitlab/trunk/gitlab.install) gitlab/repos/community-x86_64/gitlab.logrotate (from rev 435497, gitlab/trunk/gitlab.logrotate) gitlab/repos/community-x86_64/gitlab.target (from rev 435497, gitlab/trunk/gitlab.target) gitlab/repos/community-x86_64/gitlab.tmpfiles.d (from rev 435497, gitlab/trunk/gitlab.tmpfiles.d) Deleted: gitlab/repos/community-x86_64/PKGBUILD gitlab/repos/community-x86_64/gitlab-backup.service gitlab/repos/community-x86_64/gitlab-backup.timer gitlab/repos/community-x86_64/gitlab-mailroom.service gitlab/repos/community-x86_64/gitlab-sidekiq.service gitlab/repos/community-x86_64/gitlab-unicorn.service gitlab/repos/community-x86_64/gitlab.install gitlab/repos/community-x86_64/gitlab.logrotate gitlab/repos/community-x86_64/gitlab.target gitlab/repos/community-x86_64/gitlab.tmpfiles.d -------------------------+ PKGBUILD | 436 +++++++++++++++++++++++----------------------- gitlab-backup.service | 40 ++-- gitlab-backup.timer | 20 +- gitlab-mailroom.service | 44 ++-- gitlab-sidekiq.service | 62 +++--- gitlab-unicorn.service | 68 +++---- gitlab.install | 40 ++-- gitlab.logrotate | 22 +- gitlab.target | 14 - gitlab.tmpfiles.d | 2 10 files changed, 374 insertions(+), 374 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2019-02-24 10:38:39 UTC (rev 435497) +++ PKGBUILD 2019-02-24 10:38:57 UTC (rev 435498) @@ -1,218 +0,0 @@ -# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> -# Contributor: Pavol (Lopo) Hluchy <lopo AT losys DOT eu> -# Contributor: Jonas Heinrich <o...@project-insanity.org> -# Contributor: Massimiliano Torromeo <massimiliano.torro...@gmail.com> -# Contributor: Tobias Hunger <tobias DOT hunger AT gmail DOT com> -# Contributor: Stefan Tatschner <ste...@sevenbyte.org> -# Contributor: Caleb Maclennan <ca...@alerque.com> - -# NOTE: Gitlab isn't always compatible with modern Ruby versions. In that case, check the -# commit log for an old fix on how to tell it to use older versions of Ruby. I'm afraid we'll -# need this again at some point in the future. -pkgname=gitlab -pkgver=11.7.5 -pkgrel=1 -pkgdesc="Project management and code hosting application" -arch=('x86_64') -url="https://gitlab.com/gitlab-org/gitlab-ce" -license=('MIT') -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') -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-ce/repository/archive?sha=v${pkgver}" - gitlab-unicorn.service - gitlab-sidekiq.service - gitlab-backup.service - gitlab-mailroom.service - gitlab-backup.timer - gitlab.target - gitlab.tmpfiles.d - gitlab.logrotate) -install='gitlab.install' -sha512sums=('6a2be50c3b919678ef3f40893ed9ecb5d47da497c548d001ebbdc36b0496a0b902e8ae97d88f0c3d4b982b9fb8826fe4932e4f7769b4c66db94b67ccbeb73c9b' - 'd6d0604a726277f27a7596caf31909ff7d9854fd85f2902fd8a06eb581b38cc0e0fd6c10b3b16c84e0c629230501bc51d2f74c765761b43cdead139a521a327d' - '41ca8890aff1dd99b3c4ef283f70a172af772837ab6b1bda1d26710616a822f5179899ca9b3a96bc0b434f8f6d614b29b39b1596c0f284e5347ae9e06d40c1c4' - '2e49f4c2549c219d5d1c8572a7db7a700847bc8c520b44bdfc1742d3caf57d8336da5c0b74672f820349b8eab0fa1712dcec5588a4fb742ad98c8eb7ec2b5951' - 'fdb698c86057574aecaa1f1503f3d3319e06d5e872c676d58590b48bb7b3483b837bc991136eb2cc4b2cea68b52d294b8c1b382c9659f14027a923ac3c17d6d5' - 'c11d2c59da8325551a465227096e8d39b0e4bcd5b1db21565cf3439e431838c04bc00aa6f07f4d493f3f47fd6b4e25aeb0fe0fc1a05756064706bf5708c960ec' - 'bf33b818e4ea671c16f58563997ba5fe0a09090e5c03577ff974d31324d4e9782b85a9bb4f1749b97257ce93400c692de935f003770d52b5994c9cab9aee57c6' - 'abacbff0d7be918337a17b56481c84e6bf3eddd9551efe78ba9fb74337179e95c9b60f41c49f275e05074a4074a616be36fa208a48fc12d5b940f0554fbd89c3' - '20b93eab504e82cc4401685b59e6311b4d2c0285bc594d47ce4106d3f418a3e2ba92c4f49732748c0ba913aa3e3299126166e37d2a2d5b4d327d66bae4b8abda') - -_datadir="/usr/share/webapps/${pkgname}" -_etcdir="/etc/webapps/${pkgname}" -_homedir="/var/lib/${pkgname}" -_logdir="/var/log/${pkgname}" -_srcdir="gitlab-ce-" - -prepare() { - # Get first 7 characters from sha1 which has 40 characters in total - local revision=$(ls -d ${_srcdir}* | rev | cut -c 34-40 | rev) - - cd "${_srcdir}"* - - # GitLab tries to read its revision information from a file. - echo "${revision}" > REVISION - - export SKIP_STORAGE_VALIDATION='true' - - # Patching config files: - 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/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|" \ - 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" \ - 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 - sed -i -e "s|username: git|username: gitlab|" config/database.yml.postgresql - - echo "Patching redis connection in resque.yml" - sed -e "s|production: unix:/var/run/redis/redis.sock|production: redis://localhost:6379|" \ - config/resque.yml.example > config/resque.yml.patched - - 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}" - done -} - -build() { - cd "${srcdir}/${_srcdir}"* - - echo "Fetching bundled gems..." - - # Gems will be installed into vendor/bundle - bundle-2.5 install --no-cache --deployment --without development test aws kerberos - - # We'll temporarily stick this in here so we can build the assets - cp config/database.yml.postgresql.orig config/database.yml - cp config/resque.yml.example config/resque.yml - 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 - - # After building assets, clean this up again - rm config/database.yml config/database.yml.postgresql.orig - mv config/resque.yml.patched config/resque.yml -} - -package() { - cd "${srcdir}/${_srcdir}"* - depends+=('gitlab-shell') - - install -d "${pkgdir}/usr/share/webapps" - - cp -r "${srcdir}/${_srcdir}"* "${pkgdir}${_datadir}" - # Remove unneeded directories: node_modules is only needed during build - 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}" - done - - 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}" - - 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" - - # 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 -fs /etc/webapps/gitlab-shell/secret "${pkgdir}${_datadir}/.gitlab_shell_secret" - - sed -i "s|require_relative '../lib|require '${_datadir}/lib|" config/application.rb - - # 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" - - # 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/" - done - - # Install database symlink - ln -fs "${_etcdir}/database.yml" "${pkgdir}${_datadir}/config/database.yml" - - # Install secrets symlink - 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" - - # 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 {} \; - - 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}" - done - - 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: Copied: gitlab/repos/community-x86_64/PKGBUILD (from rev 435497, gitlab/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2019-02-24 10:38:57 UTC (rev 435498) @@ -0,0 +1,218 @@ +# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> +# Contributor: Pavol (Lopo) Hluchy <lopo AT losys DOT eu> +# Contributor: Jonas Heinrich <o...@project-insanity.org> +# Contributor: Massimiliano Torromeo <massimiliano.torro...@gmail.com> +# Contributor: Tobias Hunger <tobias DOT hunger AT gmail DOT com> +# Contributor: Stefan Tatschner <ste...@sevenbyte.org> +# Contributor: Caleb Maclennan <ca...@alerque.com> + +# NOTE: Gitlab isn't always compatible with modern Ruby versions. In that case, check the +# commit log for an old fix on how to tell it to use older versions of Ruby. I'm afraid we'll +# need this again at some point in the future. +pkgname=gitlab +pkgver=11.8.0 +pkgrel=1 +pkgdesc="Project management and code hosting application" +arch=('x86_64') +url="https://gitlab.com/gitlab-org/gitlab-ce" +license=('MIT') +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') +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-ce/repository/archive?sha=v${pkgver}" + gitlab-unicorn.service + gitlab-sidekiq.service + gitlab-backup.service + gitlab-mailroom.service + gitlab-backup.timer + gitlab.target + gitlab.tmpfiles.d + gitlab.logrotate) +install='gitlab.install' +sha512sums=('1ca5540ad29fe9aac2795466812b549e5b6cbcd4bf3b52544b3628758ad76421c0a304cace4b5e1cffed19ee4b6b2869a74f759acd147cd368155efb99da7991' + 'd6d0604a726277f27a7596caf31909ff7d9854fd85f2902fd8a06eb581b38cc0e0fd6c10b3b16c84e0c629230501bc51d2f74c765761b43cdead139a521a327d' + '41ca8890aff1dd99b3c4ef283f70a172af772837ab6b1bda1d26710616a822f5179899ca9b3a96bc0b434f8f6d614b29b39b1596c0f284e5347ae9e06d40c1c4' + '2e49f4c2549c219d5d1c8572a7db7a700847bc8c520b44bdfc1742d3caf57d8336da5c0b74672f820349b8eab0fa1712dcec5588a4fb742ad98c8eb7ec2b5951' + 'fdb698c86057574aecaa1f1503f3d3319e06d5e872c676d58590b48bb7b3483b837bc991136eb2cc4b2cea68b52d294b8c1b382c9659f14027a923ac3c17d6d5' + 'c11d2c59da8325551a465227096e8d39b0e4bcd5b1db21565cf3439e431838c04bc00aa6f07f4d493f3f47fd6b4e25aeb0fe0fc1a05756064706bf5708c960ec' + 'bf33b818e4ea671c16f58563997ba5fe0a09090e5c03577ff974d31324d4e9782b85a9bb4f1749b97257ce93400c692de935f003770d52b5994c9cab9aee57c6' + 'abacbff0d7be918337a17b56481c84e6bf3eddd9551efe78ba9fb74337179e95c9b60f41c49f275e05074a4074a616be36fa208a48fc12d5b940f0554fbd89c3' + '20b93eab504e82cc4401685b59e6311b4d2c0285bc594d47ce4106d3f418a3e2ba92c4f49732748c0ba913aa3e3299126166e37d2a2d5b4d327d66bae4b8abda') + +_datadir="/usr/share/webapps/${pkgname}" +_etcdir="/etc/webapps/${pkgname}" +_homedir="/var/lib/${pkgname}" +_logdir="/var/log/${pkgname}" +_srcdir="gitlab-ce-" + +prepare() { + # Get first 7 characters from sha1 which has 40 characters in total + local revision=$(ls -d ${_srcdir}* | rev | cut -c 34-40 | rev) + + cd "${_srcdir}"* + + # GitLab tries to read its revision information from a file. + echo "${revision}" > REVISION + + export SKIP_STORAGE_VALIDATION='true' + + # Patching config files: + 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/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|" \ + 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" \ + 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 + sed -i -e "s|username: git|username: gitlab|" config/database.yml.postgresql + + echo "Patching redis connection in resque.yml" + sed -e "s|production: unix:/var/run/redis/redis.sock|production: redis://localhost:6379|" \ + config/resque.yml.example > config/resque.yml.patched + + 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}" + done +} + +build() { + cd "${srcdir}/${_srcdir}"* + + echo "Fetching bundled gems..." + + # Gems will be installed into vendor/bundle + bundle-2.5 install --no-cache --deployment --without development test aws kerberos + + # We'll temporarily stick this in here so we can build the assets + cp config/database.yml.postgresql.orig config/database.yml + cp config/resque.yml.example config/resque.yml + 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 + + # After building assets, clean this up again + rm config/database.yml config/database.yml.postgresql.orig + mv config/resque.yml.patched config/resque.yml +} + +package() { + cd "${srcdir}/${_srcdir}"* + depends+=('gitlab-shell') + + install -d "${pkgdir}/usr/share/webapps" + + cp -r "${srcdir}/${_srcdir}"* "${pkgdir}${_datadir}" + # Remove unneeded directories: node_modules is only needed during build + 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}" + done + + 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}" + + 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" + + # 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 -fs /etc/webapps/gitlab-shell/secret "${pkgdir}${_datadir}/.gitlab_shell_secret" + + sed -i "s|require_relative '../lib|require '${_datadir}/lib|" config/application.rb + + # 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" + + # 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/" + done + + # Install database symlink + ln -fs "${_etcdir}/database.yml" "${pkgdir}${_datadir}/config/database.yml" + + # Install secrets symlink + 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" + + # 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 {} \; + + 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}" + done + + 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: Deleted: gitlab-backup.service =================================================================== --- gitlab-backup.service 2019-02-24 10:38:39 UTC (rev 435497) +++ gitlab-backup.service 2019-02-24 10:38:57 UTC (rev 435498) @@ -1,20 +0,0 @@ -[Unit] -Description=GitLab Backup process -Requires= -After=network.target - -[Service] -Type=oneshot -User=gitlab -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 -CapabilityBoundingSet= -PrivateTmp=true -PrivateDevices=true -ProtectSystem=full -ProtectHome=true -NoNewPrivileges=true -ExecStart=/usr/bin/bundle-2.5 exec rake gitlab:backup:create Copied: gitlab/repos/community-x86_64/gitlab-backup.service (from rev 435497, gitlab/trunk/gitlab-backup.service) =================================================================== --- gitlab-backup.service (rev 0) +++ gitlab-backup.service 2019-02-24 10:38:57 UTC (rev 435498) @@ -0,0 +1,20 @@ +[Unit] +Description=GitLab Backup process +Requires= +After=network.target + +[Service] +Type=oneshot +User=gitlab +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 +CapabilityBoundingSet= +PrivateTmp=true +PrivateDevices=true +ProtectSystem=full +ProtectHome=true +NoNewPrivileges=true +ExecStart=/usr/bin/bundle-2.5 exec rake gitlab:backup:create Deleted: gitlab-backup.timer =================================================================== --- gitlab-backup.timer 2019-02-24 10:38:39 UTC (rev 435497) +++ gitlab-backup.timer 2019-02-24 10:38:57 UTC (rev 435498) @@ -1,10 +0,0 @@ -[Unit] -Description=Daily gitlab backup - -[Timer] -OnCalendar=daily -AccuracySec=12h -Persistent=true - -[Install] -WantedBy=multi-user.target Copied: gitlab/repos/community-x86_64/gitlab-backup.timer (from rev 435497, gitlab/trunk/gitlab-backup.timer) =================================================================== --- gitlab-backup.timer (rev 0) +++ gitlab-backup.timer 2019-02-24 10:38:57 UTC (rev 435498) @@ -0,0 +1,10 @@ +[Unit] +Description=Daily gitlab backup + +[Timer] +OnCalendar=daily +AccuracySec=12h +Persistent=true + +[Install] +WantedBy=multi-user.target Deleted: gitlab-mailroom.service =================================================================== --- gitlab-mailroom.service 2019-02-24 10:38:39 UTC (rev 435497) +++ gitlab-mailroom.service 2019-02-24 10:38:57 UTC (rev 435498) @@ -1,22 +0,0 @@ -[Unit] -Description=Gitlab Mailroom Worker -Requires=gitlab-unicorn.service -Wants=gitlab-unicorn.service -After=gitlab-unicorn.service -StartLimitIntervalSec=100s - -[Service] -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 -SyslogIdentifier=gitlab-mailroom -PIDFile=/run/gitlab/mailroom.pid -ExecStart=/usr/bin/bundle-2.5 exec mail_room -q -c <DATADIR>/config/mail_room.yml -ExecStop=/usr/bin/kill -QUIT $MAINPID -Restart=on-failure -RestartSec=1 - -[Install] -WantedBy=multi-user.target Copied: gitlab/repos/community-x86_64/gitlab-mailroom.service (from rev 435497, gitlab/trunk/gitlab-mailroom.service) =================================================================== --- gitlab-mailroom.service (rev 0) +++ gitlab-mailroom.service 2019-02-24 10:38:57 UTC (rev 435498) @@ -0,0 +1,22 @@ +[Unit] +Description=Gitlab Mailroom Worker +Requires=gitlab-unicorn.service +Wants=gitlab-unicorn.service +After=gitlab-unicorn.service +StartLimitIntervalSec=100s + +[Service] +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 +SyslogIdentifier=gitlab-mailroom +PIDFile=/run/gitlab/mailroom.pid +ExecStart=/usr/bin/bundle-2.5 exec mail_room -q -c <DATADIR>/config/mail_room.yml +ExecStop=/usr/bin/kill -QUIT $MAINPID +Restart=on-failure +RestartSec=1 + +[Install] +WantedBy=multi-user.target Deleted: gitlab-sidekiq.service =================================================================== --- gitlab-sidekiq.service 2019-02-24 10:38:39 UTC (rev 435497) +++ gitlab-sidekiq.service 2019-02-24 10:38:57 UTC (rev 435498) @@ -1,31 +0,0 @@ -[Unit] -Description=GitLab Sidekiq Worker -Requires=redis.service gitlab-unicorn.service -Wants=mysqld.service postgresql.service -After=redis.service mysqld.service postgresql.service network.target gitlab-unicorn.service -JoinsNamespaceOf=gitlab-unicorn.service -StartLimitIntervalSec=100s - -[Service] -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 -SyslogIdentifier=gitlab-sidekiq -PIDFile=/run/gitlab/sidekiq.pid -PrivateTmp=true -ProtectSystem=full -ProtectHome=true -# These options break Gitlab's email delivery if you -# use postfix' sendmail wrapper. If you use an SMTP server -# 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 -Restart=on-failure -RestartSec=1 - -[Install] -WantedBy=multi-user.target Copied: gitlab/repos/community-x86_64/gitlab-sidekiq.service (from rev 435497, gitlab/trunk/gitlab-sidekiq.service) =================================================================== --- gitlab-sidekiq.service (rev 0) +++ gitlab-sidekiq.service 2019-02-24 10:38:57 UTC (rev 435498) @@ -0,0 +1,31 @@ +[Unit] +Description=GitLab Sidekiq Worker +Requires=redis.service gitlab-unicorn.service +Wants=mysqld.service postgresql.service +After=redis.service mysqld.service postgresql.service network.target gitlab-unicorn.service +JoinsNamespaceOf=gitlab-unicorn.service +StartLimitIntervalSec=100s + +[Service] +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 +SyslogIdentifier=gitlab-sidekiq +PIDFile=/run/gitlab/sidekiq.pid +PrivateTmp=true +ProtectSystem=full +ProtectHome=true +# These options break Gitlab's email delivery if you +# use postfix' sendmail wrapper. If you use an SMTP server +# 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 +Restart=on-failure +RestartSec=1 + +[Install] +WantedBy=multi-user.target Deleted: gitlab-unicorn.service =================================================================== --- gitlab-unicorn.service 2019-02-24 10:38:39 UTC (rev 435497) +++ gitlab-unicorn.service 2019-02-24 10:38:57 UTC (rev 435498) @@ -1,34 +0,0 @@ -[Unit] -Description=GitLab Unicorn Server -Requires=redis.service -Wants=mysqld.service postgresql.service -After=redis.service mysqld.service postgresql.service network.target -StartLimitIntervalSec=100s - -[Service] -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 -SyslogIdentifier=gitlab-unicorn -PIDFile=/run/gitlab/unicorn.pid -RuntimeDirectory=gitlab -RuntimeDirectoryMode=775 -PrivateTmp=true -PrivateDevices=true -ProtectSystem=full -ProtectHome=true -# These options break Gitlab's email delivery if you -# use postfix' sendmail wrapper. If you use an SMTP server -# 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 -ExecStop=/usr/bin/kill -QUIT $MAINPID -ExecReload=/usr/bin/kill -USR2 $MAINPID -Restart=on-failure -RestartSec=1 - -[Install] -WantedBy=multi-user.target Copied: gitlab/repos/community-x86_64/gitlab-unicorn.service (from rev 435497, gitlab/trunk/gitlab-unicorn.service) =================================================================== --- gitlab-unicorn.service (rev 0) +++ gitlab-unicorn.service 2019-02-24 10:38:57 UTC (rev 435498) @@ -0,0 +1,34 @@ +[Unit] +Description=GitLab Unicorn Server +Requires=redis.service +Wants=mysqld.service postgresql.service +After=redis.service mysqld.service postgresql.service network.target +StartLimitIntervalSec=100s + +[Service] +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 +SyslogIdentifier=gitlab-unicorn +PIDFile=/run/gitlab/unicorn.pid +RuntimeDirectory=gitlab +RuntimeDirectoryMode=775 +PrivateTmp=true +PrivateDevices=true +ProtectSystem=full +ProtectHome=true +# These options break Gitlab's email delivery if you +# use postfix' sendmail wrapper. If you use an SMTP server +# 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 +ExecStop=/usr/bin/kill -QUIT $MAINPID +ExecReload=/usr/bin/kill -USR2 $MAINPID +Restart=on-failure +RestartSec=1 + +[Install] +WantedBy=multi-user.target Deleted: gitlab.install =================================================================== --- gitlab.install 2019-02-24 10:38:39 UTC (rev 435497) +++ gitlab.install 2019-02-24 10:38:57 UTC (rev 435498) @@ -1,20 +0,0 @@ -post_install() { - echo "Configure your /etc/webapps/gitlab/gitlab.yml" - echo "Set up your redis to run on /var/run/redis/redis.sock or configure gitlab to use redis TCP" - echo "Put a secret bytestring to /etc/webapps/gitlab/secret" - 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 "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\"" -} - -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 "Afterwards, restart gitlab-related services:" - echo "# systemctl daemon-reload" - echo "# systemctl restart gitlab-sidekiq gitlab-unicorn gitlab-workhorse gitlab-gitaly" -} Copied: gitlab/repos/community-x86_64/gitlab.install (from rev 435497, gitlab/trunk/gitlab.install) =================================================================== --- gitlab.install (rev 0) +++ gitlab.install 2019-02-24 10:38:57 UTC (rev 435498) @@ -0,0 +1,20 @@ +post_install() { + echo "Configure your /etc/webapps/gitlab/gitlab.yml" + echo "Set up your redis to run on /var/run/redis/redis.sock or configure gitlab to use redis TCP" + echo "Put a secret bytestring to /etc/webapps/gitlab/secret" + 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 "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\"" +} + +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 "Afterwards, restart gitlab-related services:" + echo "# systemctl daemon-reload" + echo "# systemctl restart gitlab-sidekiq gitlab-unicorn gitlab-workhorse gitlab-gitaly" +} Deleted: gitlab.logrotate =================================================================== --- gitlab.logrotate 2019-02-24 10:38:39 UTC (rev 435497) +++ gitlab.logrotate 2019-02-24 10:38:57 UTC (rev 435498) @@ -1,11 +0,0 @@ -# GitLab logrotate settings -# based on: http://stackoverflow.com/a/4883967 - -<LOGDIR>/*.log { - daily - missingok - rotate 90 - compress - notifempty - copytruncate -} Copied: gitlab/repos/community-x86_64/gitlab.logrotate (from rev 435497, gitlab/trunk/gitlab.logrotate) =================================================================== --- gitlab.logrotate (rev 0) +++ gitlab.logrotate 2019-02-24 10:38:57 UTC (rev 435498) @@ -0,0 +1,11 @@ +# GitLab logrotate settings +# based on: http://stackoverflow.com/a/4883967 + +<LOGDIR>/*.log { + daily + missingok + rotate 90 + compress + notifempty + copytruncate +} Deleted: gitlab.target =================================================================== --- gitlab.target 2019-02-24 10:38:39 UTC (rev 435497) +++ gitlab.target 2019-02-24 10:38:57 UTC (rev 435498) @@ -1,7 +0,0 @@ -[Unit] -Description=GitLab - Self Hosted Git Management -Requires=gitlab-unicorn.service gitlab-workhorse.service -Wants=gitlab-sidekiq.service gitlab-backup.timer gitlab-gitaly.service gitlab-mailroom.service - -[Install] -WantedBy=multi-user.target Copied: gitlab/repos/community-x86_64/gitlab.target (from rev 435497, gitlab/trunk/gitlab.target) =================================================================== --- gitlab.target (rev 0) +++ gitlab.target 2019-02-24 10:38:57 UTC (rev 435498) @@ -0,0 +1,7 @@ +[Unit] +Description=GitLab - Self Hosted Git Management +Requires=gitlab-unicorn.service gitlab-workhorse.service +Wants=gitlab-sidekiq.service gitlab-backup.timer gitlab-gitaly.service gitlab-mailroom.service + +[Install] +WantedBy=multi-user.target Deleted: gitlab.tmpfiles.d =================================================================== --- gitlab.tmpfiles.d 2019-02-24 10:38:39 UTC (rev 435497) +++ gitlab.tmpfiles.d 2019-02-24 10:38:57 UTC (rev 435498) @@ -1 +0,0 @@ -d /run/gitlab 0775 gitlab gitlab - - Copied: gitlab/repos/community-x86_64/gitlab.tmpfiles.d (from rev 435497, gitlab/trunk/gitlab.tmpfiles.d) =================================================================== --- gitlab.tmpfiles.d (rev 0) +++ gitlab.tmpfiles.d 2019-02-24 10:38:57 UTC (rev 435498) @@ -0,0 +1 @@ +d /run/gitlab 0775 gitlab gitlab - -