Compare commits

...

No commits in common. "c8" and "c9" have entirely different histories.
c8 ... c9

2 changed files with 85 additions and 53 deletions

1
SOURCES/munge.sysusers Normal file
View File

@ -0,0 +1 @@
u munge - "Runs Uid 'N' Gid Emporium" /run/munge /sbin/nologin

View File

@ -1,41 +1,40 @@
Name: munge
Version: 0.5.13
Release: 1%{?dist}
Release: 13%{?dist}
Summary: Enables uid & gid authentication across a host cluster
Group: Applications/System
# The libs and devel package is GPLv3+ and LGPLv3+ where as the main package is GPLv3 only.
License: GPLv3+ and LGPLv3+
URL: https://dun.github.io/munge/
Source0: https://github.com/dun/munge/releases/download/munge-%{version}/munge-%{version}.tar.xz
Source1: create-munge-key
Source2: munge.logrotate
Source3: munge.sysusers
BuildRequires: systemd-units
BuildRequires: zlib-devel bzip2-devel libgcrypt-devel
BuildRequires: gcc
BuildRequires: systemd-rpm-macros
BuildRequires: zlib-devel bzip2-devel openssl-devel
Requires: munge-libs = %{version}-%{release}
Requires: logrotate
Requires(pre): shadow-utils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%{?systemd_requires}
%{?sysusers_requires_compat}
%description
MUNGE (MUNGE Uid 'N' Gid Emporium) is an authentication service for creating
and validating credentials. It is designed to be highly scalable for use
in an HPC cluster environment.
It allows a process to authenticate the UID and GID of another local or
remote process within a group of hosts having common users and groups.
These hosts form a security realm that is defined by a shared cryptographic
key. Clients within this security realm can create and validate credentials
without the use of root privileges, reserved ports, or platform-specific
MUNGE (MUNGE Uid 'N' Gid Emporium) is an authentication service for creating
and validating credentials. It is designed to be highly scalable for use
in an HPC cluster environment.
It allows a process to authenticate the UID and GID of another local or
remote process within a group of hosts having common users and groups.
These hosts form a security realm that is defined by a shared cryptographic
key. Clients within this security realm can create and validate credentials
without the use of root privileges, reserved ports, or platform-specific
methods.
%package devel
Summary: Development files for uid * gid authentication across a host cluster
Group: Applications/System
Requires: munge-libs%{?_isa} = %{version}-%{release}
%description devel
@ -43,7 +42,6 @@ Header files for developing using MUNGE.
%package libs
Summary: Runtime libs for uid * gid authentication across a host cluster
Group: Applications/System
%description libs
Runtime libraries for using MUNGE.
@ -55,28 +53,27 @@ cp -p %{SOURCE1} create-munge-key
cp -p %{SOURCE2} munge.logrotate
%build
%configure --disable-static --with-crypto-lib=libgcrypt
%configure --disable-static --with-crypto-lib=openssl
echo "d /run/munge 0755 munge munge -" > src/etc/munge.tmpfiles.conf.in
# Get rid of some rpaths for /usr/sbin
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
%make_build
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
%make_install
# Install extra files.
install -p -m 755 create-munge-key %{buildroot}/%{_sbindir}/create-munge-key
install -p -D -m 644 munge.logrotate %{buildroot}/%{_sysconfdir}/logrotate.d/munge
install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/munge.conf
# rm unneeded files.
rm %{buildroot}/%{_sysconfdir}/sysconfig/munge
#
rm %{buildroot}/%{_initddir}/munge
# Exclude .la files
rm %{buildroot}/%{_sysconfdir}/init.d/munge
# Exclude .la files
rm %{buildroot}/%{_libdir}/libmunge.la
@ -85,32 +82,24 @@ chmod 700 %{buildroot}%{_var}/lib/munge %{buildroot}%{_var}/log/munge
chmod 700 %{buildroot}%{_sysconfdir}/munge
# Create and empty key file and pid file to be marked as a ghost file below.
# i.e it is not actually included in the rpm, only the record
# i.e it is not actually included in the rpm, only the record
# of it is.
touch %{buildroot}%{_var}/run/munge/munged.pid
mv %{buildroot}%{_var}/run %{buildroot}
%clean
rm -rf %{buildroot}
%postun
%systemd_postun_with_restart munge.service
%pre
%sysusers_create_compat %{SOURCE3}
%preun
%systemd_preun munge.service
%pre
getent group munge >/dev/null || groupadd -r munge
getent passwd munge >/dev/null || \
useradd -r -g munge -d %{_var}/run/munge -s /sbin/nologin \
-c "Runs Uid 'N' Gid Emporium" munge
exit 0
%post
%systemd_post munge.service
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%postun
%systemd_postun_with_restart munge.service
%ldconfig_scriptlets libs
%files
%{_bindir}/munge
@ -126,22 +115,23 @@ exit 0
%{_unitdir}/munge.service
%attr(0700,munge,munge) %dir %{_var}/log/munge
%attr(0700,munge,munge) %dir %{_sysconfdir}/munge
%attr(0755,munge,munge) %dir %{_var}/run/munge/
%attr(0644,munge,munge) %ghost %{_var}/run/munge/munged.pid
%attr(0700,munge,munge) %dir %{_var}/lib/munge
%attr(0700,munge,munge) %dir %{_sysconfdir}/munge
%attr(0755,munge,munge) %dir /run/munge/
%attr(0644,munge,munge) %ghost /run/munge/munged.pid
%config(noreplace) %{_tmpfilesdir}/munge.conf
%{_tmpfilesdir}/munge.conf
%{_sysusersdir}/munge.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/munge
%license COPYING COPYING.LESSER
%doc AUTHORS
%doc JARGON META NEWS QUICKSTART README
%doc JARGON META NEWS QUICKSTART README
%doc doc
%files libs
%{_libdir}/libmunge.so.2
%{_libdir}/libmunge.so.2.0.0
%doc COPYING COPYING.LESSER
%files devel
%{_includedir}/munge.h
@ -165,8 +155,49 @@ exit 0
%changelog
* Thu Jul 19 2018 Jarod Wilson <jarod@redhat.com> - 0.5.13-1
- Update to upstream 0.5.13 release
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 0.5.13-13
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.5.13-12
- Rebuilt for RHEL 9 BETA for openssl 3.0
Related: rhbz#1971065
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 0.5.13-11
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Tue Sep 29 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.5.13-10
- Fix spec + build
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.13-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Feb 10 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.5.13-8
- Provide a sysusers.d file to get user() and group() provides
(see https://fedoraproject.org/wiki/Changes/Adopting_sysusers.d_format).
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.13-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Nov 28 2019 Gerd Pokorra <gp@zimt.uni-siegen.de> - 0.5.13-6
- updating line in /usr/lib/tmpfiles.d/munge.conf: /var/run/munge /run/munge
- add license tag
- add requires logrotate
* Wed Nov 27 2019 Gerd Pokorra <gp@zimt.uni-siegen.de> - 0.5.13-5
- built with OpenSSL (not libgcrypt)
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.13-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.13-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu May 17 2018 Steve Traylen <steve.traylen@cern.ch> - 0.5.13-1
- Escape macros in %%changelog
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.5.12-9
- Escape macros in %%changelog
@ -263,7 +294,7 @@ exit 0
- rhbz#530128 Move runtime libs to a new -libs package.
ldconfig moved to new -libs package as a result.
* Sat Sep 26 2009 Steve Traylen <steve.traylen@cern.ch> - 0.5.8-6
- Patch for rhbz #525732 - Loads /etc/sysconfig/munge
- Patch for rhbz #525732 - Loads /etc/sysconfig/munge
correctly.
- Mark pid file as ghost file on oses that support that.
- Permisions on pid directory to 755
@ -289,7 +320,7 @@ exit 0
- chmod /var/lib/munge /var/log/munge and /etc/munge to 700.
- Apply patch to not error when GPL_LICENSED is not set.
- Patch service script to print error on if munge.key not present
on start only and with a better error.
on start only and with a better error.
- Remove dont-exit-form-lib.patch. munge is expecting munge to
do this.
- Remove libgcrypt-devel from BuildRequires, uses openssl by