From 5aa03d04eb7c6735d285fb150cc3f65c356cc6e7 Mon Sep 17 00:00:00 2001 From: yuanhui Date: Mon, 10 Apr 2023 17:12:31 +0800 Subject: [PATCH] Optimize the spec file Signed-off-by: yuanhui --- gssproxy.spec | 133 ++++++++++++++++++++++---------------------------- 1 file changed, 59 insertions(+), 74 deletions(-) diff --git a/gssproxy.spec b/gssproxy.spec index 20f4779..ab1eb78 100644 --- a/gssproxy.spec +++ b/gssproxy.spec @@ -1,57 +1,42 @@ -%define anolis_release 1 -Name: gssproxy +%define anolis_release 2 +%global pubconfpath %{_sysconfdir}/gssproxy +%global gpstatedir %{_localstatedir}/lib/gssproxy +%global gpsockpath %{_rundir}/gssproxy.default.sock + +Name: gssproxy Version: 0.9.1 Release: %{anolis_release}%{?dist} -Summary: GSSAPI Proxy - +Summary: Daemon for managing gss-api requests License: MIT URL: https://github.com/gssapi/gssproxy -Source0: https://github.com/gssapi/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.gz +Source0: https://github.com/gssapi/gssproxy/releases/download/v%{version}/%{name}-%{version}.tar.gz Source1: rwtab Source2: gssproxy.sock.compat.conf -%global servicename gssproxy -%global pubconfpath %{_sysconfdir}/gssproxy -%global gpstatedir %{_localstatedir}/lib/gssproxy -%global gpsockpath %{_rundir}/gssproxy.default.sock - -Requires: krb5-libs >= 1.12.0 -Requires: keyutils-libs -Requires: libverto-module-base -Requires: libini_config >= 1.2.0 +Requires: krb5-libs >= 1.12.0 keyutils-libs libverto-module-base libini_config >= 1.2.0 Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units -# We use a Conflicts: here so as not to interfere with users who make -# their own policy. The version is the last time someone has filed a -# bug about gssproxy being broken with selinux. Conflicts: selinux-policy < 3.13.1-283.5 -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: docbook-style-xsl -BuildRequires: doxygen -BuildRequires: findutils -BuildRequires: gettext-devel -BuildRequires: git -BuildRequires: keyutils-libs-devel -BuildRequires: krb5-devel >= 1.12.0 -BuildRequires: libini_config-devel >= 1.2.0 -BuildRequires: libselinux-devel -BuildRequires: libtool -BuildRequires: libverto-devel -BuildRequires: libxml2 -BuildRequires: libxslt -BuildRequires: make -BuildRequires: m4 -BuildRequires: pkgconfig -BuildRequires: popt-devel -BuildRequires: systemd-units +BuildRequires: autoconf automake make m4 systemd-units +BuildRequires: docbook-style-xsl doxygen +BuildRequires: findutils gettext-devel pkgconfig +BuildRequires: keyutils-libs-devel krb5-devel >= 1.12.0 +BuildRequires: libini_config-devel >= 1.2.0 libselinux-devel +BuildRequires: libtool libverto-devel libxml2 libxslt popt-devel %description -A proxy for GSSAPI credential handling +gssproxy allows the complexity of GSS security negotiation +to be centrallized. It is particularly useful to keep this out +of kernel space, so that CIPFS, NFS, AFS etc can use GSS-API without +complexity in the kernel. + +Using it also improves isolation and privilege separation, so that +HTTP servers, for example, can use GSS-API without needing to access +keys directly. %package doc Summary: Documentation files for %{name} @@ -62,7 +47,7 @@ BuildArch: noarch The %{name}-doc package contains documentation files for %{name}. %prep -%autosetup -S git +%autosetup -p1 %build autoreconf -f -i @@ -78,66 +63,66 @@ make %{?_smp_mflags} all make test_proxymech %install -rm -rf %{buildroot} -make install DESTDIR=%{buildroot} -rm -f %{buildroot}%{_libdir}/gssproxy/proxymech.la -install -d -m755 %{buildroot}%{_sysconfdir}/gssproxy -install -m644 examples/gssproxy.conf %{buildroot}%{_sysconfdir}/gssproxy/gssproxy.conf -install -m644 examples/99-network-fs-clients.conf %{buildroot}%{_sysconfdir}/gssproxy/99-network-fs-clients.conf -mkdir -p %{buildroot}%{_sysconfdir}/gss/mech.d -install -m644 examples/proxymech.conf %{buildroot}%{_sysconfdir}/gss/mech.d/proxymech.conf +%make_install +mkdir -p %{buildroot}%{_sysconfdir}/gssproxy +for file in gssproxy.conf 99-network-fs-clients.conf; do + install -m 0644 examples/$file %{buildroot}%{_sysconfdir}/gssproxy/$file +done +mkdir -p %{buildroot}/%{_sysconfdir}/rwtab.d +mkdir -p %{buildroot}%{_tmpfilesdir} +install -m 0644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/rwtab.d/gssproxy +install -m 0644 %{SOURCE2} %{buildroot}/%{_tmpfilesdir}/gssproxy.conf mkdir -p %{buildroot}%{gpstatedir}/rcache -mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/rwtab.d -mkdir -p $RPM_BUILD_ROOT/%{_tmpfilesdir} -install -m644 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/rwtab.d/gssproxy -install -m644 %{SOURCE2} $RPM_BUILD_ROOT/%{_tmpfilesdir}/%{name}.conf -ln -s %{gpsockpath} %{buildroot}%{gpstatedir}/default.sock +ln -s %{_rundir}/gssproxy.default.sock %{buildroot}%{gpstatedir}/default.sock %generate_compatibility_deps +%pre +if [ -S %{gpstatedir}/default.sock ]; then + rm -f %{gpstatedir}/default.sock +fi + +%post +%systemd_post gssproxy.service + +%preun +%systemd_preun gssproxy.service + +%postun +%systemd_postun_with_restart gssproxy.service + %files %dir %{abidir} %license COPYING %{_unitdir}/gssproxy.service %{_sbindir}/gssproxy +%{abidir}/gssproxy-option.list %{_userunitdir}/gssuserproxy.service %{_userunitdir}/gssuserproxy.socket -%{abidir}/gssproxy-option.list %attr(755,root,root) %dir %{pubconfpath} %attr(755,root,root) %dir %{gpstatedir} %attr(700,root,root) %dir %{gpstatedir}/clients %attr(700,root,root) %dir %{gpstatedir}/rcache -%attr(0600,root,root) %config(noreplace) /%{_sysconfdir}/gssproxy/gssproxy.conf -%attr(0600,root,root) %config(noreplace) /%{_sysconfdir}/gssproxy/99-network-fs-clients.conf -%attr(0644,root,root) %config(noreplace) /%{_sysconfdir}/gss/mech.d/proxymech.conf +%{gpstatedir}/default.sock +%config(noreplace) /%{_sysconfdir}/gssproxy/gssproxy.conf +%config(noreplace) /%{_sysconfdir}/gssproxy/99-network-fs-clients.conf +%config(noreplace) /%{_sysconfdir}/gss/mech.d/proxymech.conf +%{_tmpfilesdir}/%{name}.conf %dir %{_libdir}/gssproxy %{_libdir}/gssproxy/proxymech.so %{abidir}/proxymech.dump +%config(noreplace) %{_sysconfdir}/rwtab.d/gssproxy %{_mandir}/man5/gssproxy.conf.5* -%{_mandir}/man8/gssproxy.8* %{_mandir}/man8/gssproxy-mech.8* -%config(noreplace) %{_sysconfdir}/rwtab.d/gssproxy -%{gpstatedir}/default.sock -%{_tmpfilesdir}/%{name}.conf +%{_mandir}/man8/gssproxy.8* %files doc %doc README.md BUILD.txt version.m4 -%pre -if [ -S %{gpstatedir}/default.sock ]; then - rm -f %{gpstatedir}/default.sock -fi - -%post -%systemd_post gssproxy.service - -%preun -%systemd_preun gssproxy.service - -%postun -%systemd_postun_with_restart gssproxy.service - %changelog +* Mon Apr 10 2023 yuanhui - 0.9.1-2 +- Optimize the spec file + * Tue Feb 14 2023 yuanhui - 0.9.1-1 - update to 0.9.1 -- Gitee