dist-git/dist-git.spec

225 lines
8.7 KiB
RPMSpec
Raw Normal View History

2015-04-22 10:10:31 +02:00
Name: dist-git
Version: 0.10
2015-04-22 10:10:31 +02:00
Release: 1%{?dist}
Summary: Package source version control system
2015-03-30 13:07:29 +02:00
2015-04-22 10:10:31 +02:00
Group: Applications/Productivity
2015-04-16 09:29:32 +02:00
# upload.cgi uses GPLv1 and pkgdb_sync_git_branches.py uses GPLv2+
2015-04-22 10:10:31 +02:00
License: MIT and GPLv1 and GPLv2+
URL: https://github.com/release-engineering/dist-git
# Source is created by
# git clone https://github.com/release-engineering/dist-git.git
# cd dist-git
# tito build --tgz
Source0: %{name}-%{version}.tar.gz
2015-03-30 13:07:29 +02:00
BuildArch: noarch
2015-04-10 11:09:11 +02:00
BuildRequires: systemd
2015-04-22 10:10:31 +02:00
Requires: httpd
Requires: gitolite3
2015-04-27 09:22:37 +02:00
Requires: perl(Sys::Syslog)
2015-04-22 10:10:31 +02:00
Requires: git-daemon
Requires: python-requests
Requires: /usr/sbin/semanage
2015-04-10 15:17:46 +02:00
Requires: mod_ssl
2015-04-15 18:14:51 +02:00
Requires: fedmsg
2015-04-23 11:53:09 +02:00
Requires: cronie
2015-03-31 14:08:34 +02:00
Requires(pre): shadow-utils
2015-03-30 13:07:29 +02:00
%description
2015-04-22 10:10:31 +02:00
Dist Git is a remote Git repository specifically designed to hold RPM
2015-04-22 10:05:08 +02:00
package sources.
2015-03-30 13:07:29 +02:00
%prep
2015-03-30 15:19:30 +02:00
%setup -q
2015-03-30 13:07:29 +02:00
%build
2015-04-10 11:09:11 +02:00
%pre
getent group packager > /dev/null || \
groupadd -r packager
getent group gen-acls > /dev/null || \
groupadd -r gen-acls
2015-04-15 18:37:02 +02:00
getent passwd gen-acls > /dev/null || \
2015-04-10 11:09:11 +02:00
useradd -r -g gen-acls -G packager -s /bin/bash \
2015-04-13 14:38:49 +02:00
-d %{_sharedstatedir}/dist-git/git gen-acls
2015-04-10 11:09:11 +02:00
2015-03-30 13:07:29 +02:00
%install
2015-03-31 14:08:34 +02:00
# ------------------------------------------------------------------------------
# /usr/share/ .... static files
# ------------------------------------------------------------------------------
2015-03-30 13:07:29 +02:00
install -d %{buildroot}%{_datadir}/dist-git
2015-03-31 14:08:34 +02:00
2015-03-30 13:07:29 +02:00
cp -a scripts/dist-git/* %{buildroot}%{_datadir}/dist-git/
2015-03-31 14:08:34 +02:00
# ------------------------------------------------------------------------------
# /etc/ .......... config files
# ------------------------------------------------------------------------------
install -d %{buildroot}%{_sysconfdir}/dist-git
2015-03-30 13:07:29 +02:00
install -d %{buildroot}%{_sysconfdir}/httpd/conf.d/dist-git
2015-03-31 14:08:34 +02:00
install -d %{buildroot}%{_sysconfdir}/cron.d/dist-git
2015-04-10 11:21:37 +02:00
mkdir -p %{buildroot}%{_unitdir}
2015-03-31 14:08:34 +02:00
cp -a configs/dist-git/dist-git.conf %{buildroot}%{_sysconfdir}/dist-git/
cp -a configs/gitolite/gitolite.rc %{buildroot}%{_sysconfdir}/dist-git/
2015-04-10 15:17:46 +02:00
cp -a configs/httpd/dist-git.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/
cp -a configs/httpd/ssl.conf.example %{buildroot}%{_sysconfdir}/httpd/conf.d/
2015-03-30 13:07:29 +02:00
cp -a configs/httpd/dist-git/* %{buildroot}%{_sysconfdir}/httpd/conf.d/dist-git/
2015-03-31 14:08:34 +02:00
cp -a configs/cron/* %{buildroot}%{_sysconfdir}/cron.d/dist-git/
2015-04-10 11:09:11 +02:00
cp -a configs/systemd/* %{buildroot}%{_unitdir}/
2015-03-30 13:07:29 +02:00
2015-03-31 14:08:34 +02:00
# ------------------------------------------------------------------------------
# /var/lib/ ...... dynamic persistent files
# ------------------------------------------------------------------------------
2015-04-23 11:53:09 +02:00
install -d %{buildroot}%{_sharedstatedir}/dist-git
install -d %{buildroot}%{_sharedstatedir}/dist-git/git
2015-03-30 13:07:29 +02:00
install -d %{buildroot}%{_sharedstatedir}/dist-git/git/rpms
2015-04-23 11:53:09 +02:00
install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite
2015-03-31 14:08:34 +02:00
install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite/conf
install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite/logs
2015-04-23 11:53:09 +02:00
install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite/local
2015-03-31 14:08:34 +02:00
install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite/local/VREF
2015-04-23 11:53:09 +02:00
install -d %{buildroot}%{_sharedstatedir}/dist-git/cache
install -d %{buildroot}%{_sharedstatedir}/dist-git/cache/lookaside
2015-03-30 13:07:29 +02:00
install -d %{buildroot}%{_sharedstatedir}/dist-git/cache/lookaside/pkgs
install -d %{buildroot}%{_sharedstatedir}/dist-git/web
2015-04-23 11:53:09 +02:00
install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite
install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite/hooks
2015-04-15 18:14:51 +02:00
install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite/hooks/common
2015-03-31 14:08:34 +02:00
cp -a scripts/httpd/upload.cgi %{buildroot}%{_sharedstatedir}/dist-git/web/
2015-03-30 13:07:29 +02:00
2015-04-15 18:34:49 +02:00
cp -a scripts/git/hooks/update-block-push-origin \
%{buildroot}%{_sharedstatedir}/dist-git/gitolite/local/VREF/update-block-push-origin
2015-04-10 11:21:37 +02:00
ln -f -s %{_sysconfdir}/dist-git/gitolite.rc \
%{buildroot}%{_sharedstatedir}/dist-git/git/.gitolite.rc
2015-04-10 11:09:11 +02:00
2015-04-10 11:21:37 +02:00
ln -f -s %{_sharedstatedir}/dist-git/gitolite \
%{buildroot}%{_sharedstatedir}/dist-git/git/.gitolite
2015-04-10 11:09:11 +02:00
2015-04-10 11:21:37 +02:00
ln -f -s %{_sharedstatedir}/dist-git/git/rpms \
%{buildroot}%{_sharedstatedir}/dist-git/git/repositories
2015-04-10 11:09:11 +02:00
2015-03-30 13:07:29 +02:00
%files
2015-03-31 14:08:34 +02:00
2015-04-23 11:53:09 +02:00
%license LICENSE
%doc README.md
2015-03-31 14:08:34 +02:00
# ------------------------------------------------------------------------------
# /usr/share/ .... static files
# ------------------------------------------------------------------------------
2015-04-23 11:53:09 +02:00
%dir %{_datadir}/dist-git
2015-03-30 13:07:29 +02:00
%attr (755, -, -) %{_datadir}/dist-git/*
2015-03-31 14:08:34 +02:00
# ------------------------------------------------------------------------------
# /etc/ .......... config files
# ------------------------------------------------------------------------------
2015-04-23 11:53:09 +02:00
%dir %{_sysconfdir}/dist-git
2015-04-22 15:56:04 +02:00
%config(noreplace) %{_sysconfdir}/dist-git/dist-git.conf
%config(noreplace) %{_sysconfdir}/dist-git/gitolite.rc
%config(noreplace) %{_sysconfdir}/httpd/conf.d/dist-git.conf
2015-04-23 11:53:09 +02:00
%config %{_sysconfdir}/httpd/conf.d/ssl.conf.example
%dir %{_sysconfdir}/httpd/conf.d/dist-git
2015-04-22 15:56:04 +02:00
%config(noreplace) %{_sysconfdir}/httpd/conf.d/dist-git/*
2015-04-23 11:53:09 +02:00
%dir %{_sysconfdir}/cron.d/dist-git
2015-04-22 15:56:04 +02:00
%config(noreplace) %{_sysconfdir}/cron.d/dist-git/cgit_pkg_list.cron
%config(noreplace) %{_sysconfdir}/cron.d/dist-git/dist_git_sync.cron
2015-04-23 11:53:09 +02:00
%{_unitdir}/dist-git@.service
%{_unitdir}/dist-git.socket
2015-03-31 14:08:34 +02:00
# ------------------------------------------------------------------------------
# /var/lib/ ...... dynamic persistent files
# ------------------------------------------------------------------------------
2015-04-22 10:10:31 +02:00
# non-standard-dir-perm:
# - git repositories and their contents must have w permission for their creators
2015-04-23 11:53:09 +02:00
%dir %{_sharedstatedir}/dist-git
%dir %{_sharedstatedir}/dist-git/git
2015-03-31 14:08:34 +02:00
%attr (2775, -, packager) %{_sharedstatedir}/dist-git/git/rpms
2015-04-23 11:53:09 +02:00
%dir %{_sharedstatedir}/dist-git/gitolite
2015-03-31 14:08:34 +02:00
%attr (755, gen-acls, gen-acls) %{_sharedstatedir}/dist-git/gitolite/conf
2015-04-22 10:10:31 +02:00
# non-standard-dir-perm:
# - write access needed into log directory for gitolite
2015-03-31 14:08:34 +02:00
%attr (775, gen-acls, packager) %{_sharedstatedir}/dist-git/gitolite/logs
2015-04-23 11:53:09 +02:00
%dir %{_sharedstatedir}/dist-git/gitolite/local
2015-04-22 10:10:31 +02:00
# non-standard-dir-perm:
# - write access needed for gitolite admin groups
2015-03-31 14:08:34 +02:00
%attr (775, gen-acls, packager) %{_sharedstatedir}/dist-git/gitolite/local/VREF
2015-04-22 10:10:31 +02:00
# non-standard-executable-perm:
# - write access needed for gitolite admin groups
# - exec permission needed for execution by git (it's a git hook script)
%attr (775, gen-acls, packager) %{_sharedstatedir}/dist-git/gitolite/local/VREF/update-block-push-origin
2015-04-22 16:02:41 +02:00
# non-standard-dir-perm:
# - write access needed for gitolite admin groups
%attr (770, -, packager) %{_sharedstatedir}/dist-git/gitolite/hooks
2015-04-22 10:10:31 +02:00
# script-without-shebang:
# zero-length:
# - initial empty file required by gitolite with the correct perms
2015-04-23 16:11:19 +02:00
%dir %{_sharedstatedir}/dist-git/gitolite/hooks/common
2015-04-27 09:22:37 +02:00
%ghost %attr (775, gen-acls, packager) %{_sharedstatedir}/dist-git/gitolite/hooks/common/update
2015-04-23 11:53:09 +02:00
%dir %{_sharedstatedir}/dist-git/web
2015-03-31 14:08:34 +02:00
%attr (755, apache, apache) %{_sharedstatedir}/dist-git/web/upload.cgi
2015-04-23 11:53:09 +02:00
%dir %{_sharedstatedir}/dist-git/cache
%dir %{_sharedstatedir}/dist-git/cache/lookaside
2015-03-31 14:08:34 +02:00
%attr (755, apache, apache) %{_sharedstatedir}/dist-git/cache/lookaside/pkgs
2015-04-10 11:21:37 +02:00
%{_sharedstatedir}/dist-git/git/repositories
%{_sharedstatedir}/dist-git/git/.gitolite
%{_sharedstatedir}/dist-git/git/.gitolite.rc
2015-03-31 14:08:34 +02:00
2015-03-30 13:07:29 +02:00
%changelog
* Mon Apr 27 2015 Adam Samalik <asamalik@redhat.com> 0.10-1
- perl require and files update (asamalik@redhat.com)
* Thu Apr 23 2015 Adam Samalik <asamalik@redhat.com> 0.9-1
- update hook update (asamalik@redhat.com)
* Thu Apr 23 2015 Adam Samalik <asamalik@redhat.com> 0.8-1
- review update (asamalik@redhat.com)
* Wed Apr 22 2015 Adam Samalik <asamalik@redhat.com> 0.7-1
- git hooks permissions (asamalik@redhat.com)
- noreplace configs (asamalik@redhat.com)
- fixes after rpmlint (asamalik@redhat.com)
* Wed Apr 22 2015 Adam Samalik <asamalik@redhat.com> 0.6-1
- license + description (asamalik@redhat.com)
- cron files fix (asamalik@redhat.com)
* Wed Apr 15 2015 Adam Samalik <asamalik@redhat.com> 0.5-1
- git hook: update-block-push-origin (asamalik@redhat.com)
- lookaside-upload config comments (asamalik@redhat.com)
- gen-acls user fix (asamalik@redhat.com)
- ssl httpd configs as examples (asamalik@redhat.com)
* Fri Apr 10 2015 Adam Samalik <asamalik@redhat.com> 0.4-1
- spec and config fix
- systemd services
* Tue Mar 31 2015 Adam Samalik <asamalik@redhat.com> 0.3-1
- alpha package (asamalik@redhat.com)
* Mon Mar 30 2015 Adam Samalik <asamalik@redhat.com> 0.2-1
- new package built with tito
2015-03-30 13:07:29 +02:00