asamalik pushed to dist-git (epel7). "selinux subpackage"

notifications at fedoraproject.org notifications at fedoraproject.org
Wed May 6 12:50:39 UTC 2015


>From 16f8a5c755853fc896d84e6d0a8541f156f5183c Mon Sep 17 00:00:00 2001
From: Adam Samalik <asamalik at redhat.com>
Date: Wed, 6 May 2015 14:50:29 +0200
Subject: selinux subpackage


diff --git a/.gitignore b/.gitignore
index 13d0dbf..6ec5802 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 /dist-git-0.10.tar.gz
+/dist-git-0.11.tar.gz
diff --git a/dist-git.spec b/dist-git.spec
index 300fc48..dc95701 100644
--- a/dist-git.spec
+++ b/dist-git.spec
@@ -1,5 +1,10 @@
+%global selinux_variants mls targeted
+%global selinux_policyver %(%{__sed} -e 's,.*selinux-policy-\\([^/]*\\)/.*,\\1,' /usr/share/selinux/devel/policyhelp || echo 0.0.0)
+%global modulename dist_git
+
+
 Name:           dist-git
-Version:        0.10
+Version:        0.11
 Release:        1%{?dist}
 Summary:        Package source version control system
 
@@ -22,7 +27,6 @@ Requires:       gitolite3
 Requires:       perl(Sys::Syslog)
 Requires:       git-daemon
 Requires:       python-requests
-Requires:       /usr/sbin/semanage
 Requires:       mod_ssl
 Requires:       fedmsg
 Requires:       cronie
@@ -33,15 +37,51 @@ Dist Git is a remote Git repository specifically designed to hold RPM
 package sources.
 
 
+%package selinux
+Summary:        SELinux support for dist-git
+
+BuildRequires:  checkpolicy
+BuildRequires:  policycoreutils
+BuildRequires:  selinux-policy-devel
+BuildRequires:  hardlink
+
+Requires:       %name = %version-%release
+%if "%{_selinux_policy_version}" != ""
+Requires:       selinux-policy >= %{selinux_policyver}
+%endif
+Requires(post):   /usr/sbin/semodule, /sbin/restorecon
+Requires(postun): /usr/sbin/semodule, /sbin/restorecon
+
+
+%description selinux
+Dist Git is a remote Git repository specifically designed to hold RPM
+package sources.
+
+This package includes SELinux support.
+
+
 %prep
 %setup -q
 
 
 %build
-
+# ------------------------------------------------------------------------------
+# SELinux
+# ------------------------------------------------------------------------------
+cd selinux
+for selinuxvariant in %{selinux_variants}
+do
+  make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile
+  mv %{modulename}.pp %{modulename}.pp.${selinuxvariant}
+  make NAME=${selinuxvariant} -f /usr/share/selinux/devel/Makefile clean
+done
+cd -
 
 
 %pre
+# ------------------------------------------------------------------------------
+# Users and Groups
+# ------------------------------------------------------------------------------
 getent group packager > /dev/null || \
     groupadd -r packager
 
@@ -53,9 +93,7 @@ getent passwd gen-acls > /dev/null || \
             -d %{_sharedstatedir}/dist-git/git gen-acls
 
 
-
 %install
-
 # ------------------------------------------------------------------------------
 # /usr/share/ .... static files
 # ------------------------------------------------------------------------------
@@ -63,7 +101,6 @@ install -d %{buildroot}%{_datadir}/dist-git
 
 cp -a scripts/dist-git/* %{buildroot}%{_datadir}/dist-git/
 
-
 # ------------------------------------------------------------------------------
 # /etc/ .......... config files
 # ------------------------------------------------------------------------------
@@ -80,7 +117,6 @@ 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
 # ------------------------------------------------------------------------------
@@ -114,11 +150,43 @@ ln -f -s %{_sharedstatedir}/dist-git/gitolite \
 ln -f -s %{_sharedstatedir}/dist-git/git/rpms \
          %{buildroot}%{_sharedstatedir}/dist-git/git/repositories
 
+# ------------------------------------------------------------------------------
+# SELinux
+# ------------------------------------------------------------------------------
+cd selinux
+for selinuxvariant in %{selinux_variants}
+do
+  install -d %{buildroot}%{_datadir}/selinux/${selinuxvariant}
+  install -p -m 644 %{modulename}.pp.${selinuxvariant} \
+    %{buildroot}%{_datadir}/selinux/${selinuxvariant}/%{modulename}.pp
+done
+cd -
 
+/usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux
 
 
-%files
+%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 || :
+
 
+%postun selinux
+if [ $1 -eq 0 ] ; then
+  for selinuxvariant in %{selinux_variants}
+  do
+     /usr/sbin/semodule -s ${selinuxvariant} -r %{modulename} &> /dev/null || :
+  done
+fi
+
+
+%files
+# ------------------------------------------------------------------------------
+# Docs
+# ------------------------------------------------------------------------------
 %license LICENSE
 %doc README.md
 
@@ -128,7 +196,6 @@ ln -f -s %{_sharedstatedir}/dist-git/git/rpms \
 %dir              %{_datadir}/dist-git
 %attr (755, -, -) %{_datadir}/dist-git/*
 
-
 # ------------------------------------------------------------------------------
 # /etc/ .......... config files
 # ------------------------------------------------------------------------------
@@ -145,7 +212,6 @@ ln -f -s %{_sharedstatedir}/dist-git/git/rpms \
 %{_unitdir}/dist-git at .service
 %{_unitdir}/dist-git.socket
 
-
 # ------------------------------------------------------------------------------
 # /var/lib/ ...... dynamic persistent files
 # ------------------------------------------------------------------------------
@@ -186,8 +252,15 @@ ln -f -s %{_sharedstatedir}/dist-git/git/rpms \
 %{_sharedstatedir}/dist-git/git/.gitolite.rc
 
 
+%files selinux
+%defattr(-,root,root,0755)
+%doc selinux/*
+%{_datadir}/selinux/*/%{modulename}.pp
+
 
 %changelog
+* Tue May 05 2015 Adam Samalik <asamalik at redhat.com> 0.11-1
+- SELinux subpackage
 * Mon Apr 27 2015 Adam Samalik <asamalik at redhat.com> 0.10-1
 - perl require and files update (asamalik at redhat.com)
 
diff --git a/sources b/sources
index 7cf4883..f778c0d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-58f5139035bf9ec7ca7814d6a53017dc  dist-git-0.10.tar.gz
+1c82ae7de4beec883efa1b11c5518eac  dist-git-0.11.tar.gz
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/dist-git.git/commit/?h=epel7&id=16f8a5c755853fc896d84e6d0a8541f156f5183c


More information about the scm-commits mailing list