From 9c05886ee6394caa1ea808f56b309a92f92c64bc Mon Sep 17 00:00:00 2001 From: clime Date: Apr 12 2017 15:23:27 +0000 Subject: Merge branch 'master' into epel7 --- diff --git a/.gitignore b/.gitignore index 6ec5802..b8158fa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /dist-git-0.10.tar.gz /dist-git-0.11.tar.gz +/dist-git-1.0.tar.gz diff --git a/dist-git.spec b/dist-git.spec index dc95701..b4444fc 100644 --- a/dist-git.spec +++ b/dist-git.spec @@ -1,17 +1,15 @@ %global selinux_variants mls targeted -%global selinux_policyver %(%{__sed} -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp || echo 0.0.0) +%{!?_selinux_policy_version: %global _selinux_policy_version %(sed -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp 2>/dev/null)} %global modulename dist_git - +%global installdir /var/lib/dist-git Name: dist-git -Version: 0.11 +Version: 1.0 Release: 1%{?dist} Summary: Package source version control system -Group: Applications/Productivity - -# upload.cgi uses GPLv1 and pkgdb_sync_git_branches.py uses GPLv2+ -License: MIT and GPLv1 and GPLv2+ +# upload.cgi uses GPLv1 +License: MIT and GPLv1 URL: https://github.com/release-engineering/dist-git # Source is created by # git clone https://github.com/release-engineering/dist-git.git @@ -23,13 +21,14 @@ BuildArch: noarch BuildRequires: systemd Requires: httpd -Requires: gitolite3 Requires: perl(Sys::Syslog) +Requires: git Requires: git-daemon Requires: python-requests +Requires: python-configparser Requires: mod_ssl Requires: fedmsg -Requires: cronie +Requires: crudini Requires(pre): shadow-utils %description @@ -41,13 +40,14 @@ package sources. Summary: SELinux support for dist-git BuildRequires: checkpolicy +BuildRequires: /usr/share/selinux/devel/policyhelp BuildRequires: policycoreutils BuildRequires: selinux-policy-devel BuildRequires: hardlink Requires: %name = %version-%release %if "%{_selinux_policy_version}" != "" -Requires: selinux-policy >= %{selinux_policyver} +Requires: selinux-policy >= %{selinux_policy_version} %endif Requires(post): /usr/sbin/semodule, /sbin/restorecon Requires(postun): /usr/sbin/semodule, /sbin/restorecon @@ -84,71 +84,39 @@ cd - # ------------------------------------------------------------------------------ getent group packager > /dev/null || \ groupadd -r packager - -getent group gen-acls > /dev/null || \ - groupadd -r gen-acls - -getent passwd gen-acls > /dev/null || \ - useradd -r -g gen-acls -G packager -s /bin/bash \ - -d %{_sharedstatedir}/dist-git/git gen-acls +exit 0 %install # ------------------------------------------------------------------------------ -# /usr/share/ .... static files +# /usr/share/ ........... scripts # ------------------------------------------------------------------------------ -install -d %{buildroot}%{_datadir}/dist-git - +install -d %{buildroot}%{_datadir}/dist-git/ cp -a scripts/dist-git/* %{buildroot}%{_datadir}/dist-git/ # ------------------------------------------------------------------------------ # /etc/ .......... config files # ------------------------------------------------------------------------------ install -d %{buildroot}%{_sysconfdir}/dist-git +cp -a configs/dist-git/dist-git.conf %{buildroot}%{_sysconfdir}/dist-git/ install -d %{buildroot}%{_sysconfdir}/httpd/conf.d/dist-git -install -d %{buildroot}%{_sysconfdir}/cron.d/dist-git mkdir -p %{buildroot}%{_unitdir} -cp -a configs/dist-git/dist-git.conf %{buildroot}%{_sysconfdir}/dist-git/ -cp -a configs/gitolite/gitolite.rc %{buildroot}%{_sysconfdir}/dist-git/ -cp -a configs/httpd/dist-git.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/ -cp -a configs/httpd/ssl.conf.example %{buildroot}%{_sysconfdir}/httpd/conf.d/ +cp -a configs/httpd/dist-git.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/ cp -a configs/httpd/dist-git/* %{buildroot}%{_sysconfdir}/httpd/conf.d/dist-git/ -cp -a configs/cron/* %{buildroot}%{_sysconfdir}/cron.d/dist-git/ cp -a configs/systemd/* %{buildroot}%{_unitdir}/ # ------------------------------------------------------------------------------ # /var/lib/ ...... dynamic persistent files # ------------------------------------------------------------------------------ -install -d %{buildroot}%{_sharedstatedir}/dist-git -install -d %{buildroot}%{_sharedstatedir}/dist-git/git -install -d %{buildroot}%{_sharedstatedir}/dist-git/git/rpms -install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite -install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite/conf -install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite/logs -install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite/local -install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite/local/VREF -install -d %{buildroot}%{_sharedstatedir}/dist-git/cache -install -d %{buildroot}%{_sharedstatedir}/dist-git/cache/lookaside -install -d %{buildroot}%{_sharedstatedir}/dist-git/cache/lookaside/pkgs -install -d %{buildroot}%{_sharedstatedir}/dist-git/web -install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite -install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite/hooks -install -d %{buildroot}%{_sharedstatedir}/dist-git/gitolite/hooks/common - -cp -a scripts/httpd/upload.cgi %{buildroot}%{_sharedstatedir}/dist-git/web/ - -cp -a scripts/git/hooks/update-block-push-origin \ - %{buildroot}%{_sharedstatedir}/dist-git/gitolite/local/VREF/update-block-push-origin - -ln -f -s %{_sysconfdir}/dist-git/gitolite.rc \ - %{buildroot}%{_sharedstatedir}/dist-git/git/.gitolite.rc - -ln -f -s %{_sharedstatedir}/dist-git/gitolite \ - %{buildroot}%{_sharedstatedir}/dist-git/git/.gitolite - -ln -f -s %{_sharedstatedir}/dist-git/git/rpms \ - %{buildroot}%{_sharedstatedir}/dist-git/git/repositories +install -d %{buildroot}%{installdir} +install -d %{buildroot}%{installdir}/git +install -d %{buildroot}%{installdir}/cache +install -d %{buildroot}%{installdir}/cache/lookaside +install -d %{buildroot}%{installdir}/cache/lookaside/pkgs +install -d %{buildroot}%{installdir}/web + +cp -a scripts/httpd/upload.cgi %{buildroot}%{installdir}/web/ # ------------------------------------------------------------------------------ # SELinux @@ -164,15 +132,22 @@ cd - /usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux - %post selinux for selinuxvariant in %{selinux_variants} do /usr/sbin/semodule -s ${selinuxvariant} -i \ %{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp &> /dev/null || : done -%{_sbindir}/restorecon -Rv %{_sharedstatedir}/dist-git || : +%{_sbindir}/restorecon -v %{installdir}/cache || : +%{_sbindir}/restorecon -v %{installdir}/cache/lookaside || : +%{_sbindir}/restorecon -v %{installdir}/cache/lookaside/pkgs || : +%{_sbindir}/restorecon -v %{installdir}/git || : +%{_sbindir}/restorecon -Rv %{installdir}/web/ || : +%systemd_post dist-git.socket + +%preun +%systemd_preun dist-git.socket %postun selinux if [ $1 -eq 0 ] ; then @@ -182,6 +157,8 @@ if [ $1 -eq 0 ] ; then done fi +%systemd_postun dist-git.socket + %files # ------------------------------------------------------------------------------ @@ -191,24 +168,14 @@ fi %doc README.md # ------------------------------------------------------------------------------ -# /usr/share/ .... static files -# ------------------------------------------------------------------------------ -%dir %{_datadir}/dist-git -%attr (755, -, -) %{_datadir}/dist-git/* - -# ------------------------------------------------------------------------------ # /etc/ .......... config files # ------------------------------------------------------------------------------ %dir %{_sysconfdir}/dist-git %config(noreplace) %{_sysconfdir}/dist-git/dist-git.conf -%config(noreplace) %{_sysconfdir}/dist-git/gitolite.rc -%config(noreplace) %{_sysconfdir}/httpd/conf.d/dist-git.conf -%config %{_sysconfdir}/httpd/conf.d/ssl.conf.example %dir %{_sysconfdir}/httpd/conf.d/dist-git %config(noreplace) %{_sysconfdir}/httpd/conf.d/dist-git/* -%dir %{_sysconfdir}/cron.d/dist-git -%config(noreplace) %{_sysconfdir}/cron.d/dist-git/cgit_pkg_list.cron -%config(noreplace) %{_sysconfdir}/cron.d/dist-git/dist_git_sync.cron +%config(noreplace) %{_sysconfdir}/httpd/conf.d/dist-git.conf + %{_unitdir}/dist-git@.service %{_unitdir}/dist-git.socket @@ -218,38 +185,20 @@ fi # non-standard-dir-perm: # - git repositories and their contents must have w permission for their creators -%dir %{_sharedstatedir}/dist-git -%dir %{_sharedstatedir}/dist-git/git -%attr (2775, -, packager) %{_sharedstatedir}/dist-git/git/rpms -%dir %{_sharedstatedir}/dist-git/gitolite -%attr (755, gen-acls, gen-acls) %{_sharedstatedir}/dist-git/gitolite/conf -# non-standard-dir-perm: -# - write access needed into log directory for gitolite -%attr (775, gen-acls, packager) %{_sharedstatedir}/dist-git/gitolite/logs -%dir %{_sharedstatedir}/dist-git/gitolite/local -# non-standard-dir-perm: -# - write access needed for gitolite admin groups -%attr (775, gen-acls, packager) %{_sharedstatedir}/dist-git/gitolite/local/VREF -# 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 -# non-standard-dir-perm: -# - write access needed for gitolite admin groups -%attr (770, -, packager) %{_sharedstatedir}/dist-git/gitolite/hooks -# script-without-shebang: -# zero-length: -# - initial empty file required by gitolite with the correct perms -%dir %{_sharedstatedir}/dist-git/gitolite/hooks/common -%ghost %attr (775, gen-acls, packager) %{_sharedstatedir}/dist-git/gitolite/hooks/common/update -%dir %{_sharedstatedir}/dist-git/web -%attr (755, apache, apache) %{_sharedstatedir}/dist-git/web/upload.cgi -%dir %{_sharedstatedir}/dist-git/cache -%dir %{_sharedstatedir}/dist-git/cache/lookaside -%attr (755, apache, apache) %{_sharedstatedir}/dist-git/cache/lookaside/pkgs -%{_sharedstatedir}/dist-git/git/repositories -%{_sharedstatedir}/dist-git/git/.gitolite -%{_sharedstatedir}/dist-git/git/.gitolite.rc +%dir %{installdir} +%attr (2775, -, packager) %{installdir}/git +%dir %{installdir}/web +%attr (755, apache, apache) %{installdir}/web/upload.cgi +%dir %{installdir}/cache +%dir %{installdir}/cache/lookaside +%attr (2775, apache, apache) %{installdir}/cache/lookaside/pkgs + +# ------------------------------------------------------------------------------ +# /usr/share ...... executable files +# ------------------------------------------------------------------------------ + +%dir %{_datadir}/dist-git +%attr (775, -, -) %{_datadir}/dist-git/* %files selinux @@ -259,8 +208,29 @@ fi %changelog +* Mon Apr 10 2017 clime 1.0-1 +- big redo of the package +- gitolite dropped from the package (but can be installed additionally) +- pkgdb integration dropped +- upload.cgi updated from FedoraInfra state +- git repos are stored one level higher in fs hiearchy (default: /var/lib/dist-git/git/) +- dist-git.conf completely new +- updated setup_git_package, mkbranch, mkbranch_branching +- updated SELinux policy +- configurable paths to cache dir and git repos +* Wed Aug 05 2015 Adam Samalik 0.13-1 +- optional cgit_pkg_list.sh parameter (asamalik@redhat.com) +- change mv to cp + rm (asamalik@redhat.com) +- update config to not be Fedora specific (asamalik@redhat.com) +- Change: lookaside dir perms + cgit_pkg_list.sh (asamalik@redhat.com) + +* Mon Jul 20 2015 Adam Samalik 0.12-1 +- config update (asamalik@redhat.com) +- Upload files to new and old paths + remove email (asamalik@redhat.com) + * Tue May 05 2015 Adam Samalik 0.11-1 - SELinux subpackage + * Mon Apr 27 2015 Adam Samalik 0.10-1 - perl require and files update (asamalik@redhat.com) @@ -288,6 +258,7 @@ fi * Fri Apr 10 2015 Adam Samalik 0.4-1 - spec and config fix - systemd services + * Tue Mar 31 2015 Adam Samalik 0.3-1 - alpha package (asamalik@redhat.com) diff --git a/sources b/sources index f778c0d..58de20d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1c82ae7de4beec883efa1b11c5518eac dist-git-0.11.tar.gz +SHA512 (dist-git-1.0.tar.gz) = e8d814bf656a924735cd22591d38f0ab6969e46a57905021047bc61999340626363e7848424404630b67def1c4e4a3220f2d7a64f97ec999026c8d115267efd6