%define gitlab_uid 65434 %define gitlab_gid 65434 %define _use_internal_dependency_generator 0 %define homedir %{_localstatedir}/lib/gitlab Name: gitlab-ce Version: 8.1.4 Release: 1mamba Summary: A Web interface to create projects and repositories, manage access and do code reviews Group: Applications/Web Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: https://www.gitlab.com/gitlab-ce/ ## GITSOURCE https://gitlab.com/gitlab-org/gitlab-ce.git v6.9.0 Source: https://gitlab.com/gitlab-org/gitlab-ce.git/v%{version}/gitlab-ce-%{version}.tar.bz2 License: MIT Source1: gitlab.target Source2: gitlab-sidekiq.service Source3: gitlab-unicorn.service Source4: gitlab.logrotate Source5: gitlab.tmpfiles.d Source6: gitlab-apache-conf ## AUTOBUILDREQ-BEGIN ## AUTOBUILDREQ-END BuildRequires: ruby-bundler Requires: ruby-bundler Requires: redis Requires: mysql-server Requires: apache Requires: git Requires(pre): gitlab-shell Provides: gitlab Obsoletes: gitlab BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-root %description GitLab Community Edition (CE) is open source software to collaborate on code. Create projects and repositories, manage access and do code reviews. GitLab CE is on-premises software that you can install and use on your server(s). %prep %setup -q #-D -T #:<< _EOF # Patching config files: sed -e "s|# user: git|user: gitlab|" \ -e "s|/home/git/repositories|%{homedir}/repositories|" \ -e "s|/home/git/gitlab-satellites|%{homedir}/satellites|" \ -e "s|/home/git/gitlab-shell|/usr/share/gitlab-shell|" \ config/gitlab.yml.example > config/gitlab.yml sed -e "s|/home/git/gitlab/tmp/.*/|/run/gitlab/|g" \ -e "s|/home/git/gitlab|%{homedir}|g" \ -e "s|/usr/share/gitlab/log|%{homedir}/log|g" \ -e "s|timeout 30|timeout 300|" \ config/unicorn.rb.example > config/unicorn.rb sed -e "s|username: git|username: gitlab|" \ config/database.yml.mysql > config/database.yml %define _use_internal_dependency_generator 0 %define __find_provides %{_builddir}/gitlab-ce-%{version}/find_provides.sh cat > %{_builddir}/gitlab-ce-%{version}/find_provides.sh <<_EOF #! /bin/sh %{_prefix}/lib/rpm/find-provides %{buildroot} %{_target_cpu} >/dev/null _EOF chmod +x %{_builddir}/gitlab-ce-%{version}/find_provides.sh %define __find_requires %{_builddir}/gitlab-ce-%{version}/find_requires.sh cat > %{_builddir}/gitlab-ce-%{version}/find_requires.sh <<_EOF #! /bin/sh %{_prefix}/lib/rpm/find-requires %{buildroot} %{_target_cpu} 2>/dev/null done _EOF chmod +x %{_builddir}/gitlab-ce-%{version}/find_requires.sh %build # Note: SSL error temporary fixed with 'sudo gem update --system' which updates # /usr/bin/gem #:<< _EOF bundle install %{_smp_mflags} \ --no-cache --no-prune --deployment --without development test aws %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" install -d \ %{buildroot}%{homedir}/www \ %{buildroot}%{homedir}/public/uploads \ %{buildroot}%{_sysconfdir}/gitlab \ %{buildroot}%{_docdir}/gitlab \ %{buildroot}%{homedir}/satellites cp -a . %{buildroot}%{homedir}/ rm -f %{buildroot}%{homedir}/find*.sh # Creating links ln -fs /run/gitlab %{buildroot}%{homedir}/pids ln -fs /run/gitlab %{buildroot}%{homedir}/sockets ln -fs %{_localstatedir}/log/gitlab %{buildroot}%{homedir}/log install -d -m0755 %{_localstatedir}/log/gitlab # Install config files for f in gitlab.yml unicorn.rb database.yml; do install -m0644 config/$f %{buildroot}%{_sysconfdir}/gitlab/$f [[ -f "%{buildroot}%{homedir}/config/$f" ]] && rm %{buildroot}%{homedir}/config/$f ln -fs %{_sysconfdir}/gitlab/$f %{buildroot}%{homedir}/config/ done # Install systemd service files install -D -m0644 %{S:1} %{buildroot}/lib/systemd/system/gitlab.target install -D -m0644 %{S:2} %{buildroot}/lib/systemd/system/gitlab-sidekiq.service install -D -m0644 %{S:3} %{buildroot}/lib/systemd/system/gitlab-unicorn.service install -D -m0644 %{S:4} %{buildroot}%{_sysconfdir}/logrotate.d/gitlab.logrotate install -D -m0644 %{S:5} %{buildroot}%{_prefix}/lib/tmpfiles.d/gitlab.conf install -D -m0644 %{S:6} %{buildroot}%{_sysconfdir}/httpd/httpd.d/gitlab.conf %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %pre if [ $1 -ge 1 ]; then /usr/sbin/groupadd gitlab -g %{gitlab_gid} 2>/dev/null /usr/sbin/useradd -u %{gitlab_uid} -c 'Gitlab user' -d %{homedir} -g gitlab \ -s /bin/bash gitlab 2>/dev/null fi : %post if [ $1 -ge 1 ]; then systemctl -q daemon-reload systemd-tmpfiles --create %{_prefix}/lib/tmpfiles.d/gitlab.conf [ -e %{_localstatedir}/lock/subsys/httpd ] && service httpd reload || : fi if [ $1 -eq 1 ]; then systemctl -q enable gitlab-unicorn systemctl -q enable gitlab-sidekiq systemctl -q enable gitlab.target systemctl -q start gitlab-unicorn systemctl -q start gitlab-sidekiq systemctl -q start gitlab.target sudo -u gitlab -H git config --global user.name "GitLab" sudo -u gitlab -H git config --global user.email "gitlab@localhost" sudo -u gitlab -H git config --global core.autocrlf input echo "Create and configure database in /etc/gitlab/database.yml" echo "Then run 'sudo -u gitlab bundle exec rake gitlab:setup RAILS_ENV=production'" echo else systemctl -q try-restart gitlab-unicorn systemctl -q try-start gitlab-sidekiq fi : %postun if [ $1 -eq 0 ]; then /usr/sbin/userdel gitlab 2>/dev/null /usr/sbin/groupdel gitlab 2>/dev/null fi : %files %defattr(-,root,root) %dir %{_sysconfdir}/gitlab %config(noreplace) %{_sysconfdir}/gitlab/database.yml %config(noreplace) %{_sysconfdir}/gitlab/gitlab.yml %config(noreplace) %{_sysconfdir}/gitlab/unicorn.rb %config(noreplace) %{_sysconfdir}/httpd/httpd.d/gitlab.conf %{_sysconfdir}/logrotate.d/gitlab.logrotate /lib/systemd/system/gitlab-sidekiq.service /lib/systemd/system/gitlab-unicorn.service /lib/systemd/system/gitlab.target %{_prefix}/lib/tmpfiles.d/gitlab.conf %dir %attr(0755,gitlab,gitlab) %{homedir} %dir %attr(0755,gitlab,gitlab) %{homedir}/app %attr(-,gitlab,gitlab) %{homedir}/app/* %dir %attr(0755,gitlab,gitlab) %{homedir}/bin %attr(-,gitlab,gitlab) %{homedir}/bin/* %dir %attr(0755,gitlab,gitlab) %{homedir}/builds %attr(-,gitlab,gitlab) %{homedir}/builds/.gitkeep %dir %attr(0755,gitlab,gitlab) %{homedir}/config %attr(-,gitlab,gitlab) %{homedir}/config/* %dir %attr(0755,gitlab,gitlab) %{homedir}/db %attr(-,gitlab,gitlab) %{homedir}/db/* %dir %attr(0755,gitlab,gitlab) %{homedir}/doc %attr(-,gitlab,gitlab) %{homedir}/doc/* %dir %attr(0755,gitlab,gitlab) %{homedir}/docker %attr(-,gitlab,gitlab) %{homedir}/docker/* %dir %attr(0755,gitlab,gitlab) %{homedir}/features %attr(-,gitlab,gitlab) %{homedir}/features/* %dir %attr(0755,gitlab,gitlab) %{homedir}/lib %attr(-,gitlab,gitlab) %{homedir}/lib/* %dir %attr(0755,gitlab,gitlab) %{homedir}/log %attr(-,gitlab,gitlab) %{homedir}/log/* %attr(-,gitlab,gitlab) %{homedir}/log/.gitkeep %dir %attr(0755,gitlab,gitlab) %{homedir}/pids %dir %attr(0755,gitlab,gitlab) %{homedir}/public %attr(-,gitlab,gitlab) %{homedir}/public/* %dir %attr(0755,gitlab,gitlab) %{homedir}/satellites %dir %attr(0755,gitlab,gitlab) %{homedir}/scripts %attr(-,gitlab,gitlab) %{homedir}/scripts/* %dir %attr(0755,gitlab,gitlab) %{homedir}/sockets %dir %attr(0755,gitlab,gitlab) %{homedir}/spec %attr(-,gitlab,gitlab) %{homedir}/spec/* %dir %attr(0755,gitlab,gitlab) %{homedir}/tmp %attr(-,gitlab,gitlab) %{homedir}/tmp/* %dir %{homedir}/vendor %{homedir}/vendor/* %dir %attr(0755,gitlab,gitlab) %{homedir}/www %dir %attr(0755,gitlab,gitlab) %{homedir}/.bundle %attr(-,gitlab,gitlab) %{homedir}/.bundle/config %attr(-,gitlab,gitlab) %{homedir}/.foreman %attr(-,gitlab,gitlab) %{homedir}/docker-compose.yml %attr(-,gitlab,gitlab) %{homedir}/.gitattributes %attr(-,gitlab,gitlab) %{homedir}/.*.yml %attr(-,gitlab,gitlab) %{homedir}/.rspec %attr(-,gitlab,gitlab) %{homedir}/.ruby-version %attr(-,gitlab,gitlab) %{homedir}/.simplecov %attr(-,gitlab,gitlab) %{homedir}/CHANGELOG %attr(-,gitlab,gitlab) %{homedir}/GITLAB_GIT_HTTP_SERVER_VERSION %attr(-,gitlab,gitlab) %{homedir}/GITLAB_SHELL_VERSION %attr(-,gitlab,gitlab) %{homedir}/Gemfile* %attr(-,gitlab,gitlab) %{homedir}/LICENSE %attr(-,gitlab,gitlab) %{homedir}/*.md %attr(-,gitlab,gitlab) %{homedir}/Procfile %attr(-,gitlab,gitlab) %{homedir}/Rakefile %attr(-,gitlab,gitlab) %{homedir}/VERSION %attr(-,gitlab,gitlab) %{homedir}/config.ru %doc LICENSE %changelog * Sat Nov 21 2015 Silvan Calarco 8.1.4-1mamba - update to 8.1.4 * Tue Jul 08 2014 Silvan Calarco 6.9.2-1mamba - update to 6.9.2 * Sun May 25 2014 Silvan Calarco 6.9.0-1mamba - package created using the webbuild interface