07b3cadbf4
The %sysusers_requires_compat RPM macro already covers this because it
evaluates to:
Requires(pre): shadow-utils
Fallout from dd0498ebb7
https://src.fedoraproject.org/rpms/munge/pull-request/4
175 lines
4.9 KiB
RPMSpec
175 lines
4.9 KiB
RPMSpec
%bcond_without check
|
|
|
|
Name: munge
|
|
Version: 0.5.15
|
|
Release: %autorelease
|
|
Summary: Enables uid & gid authentication across a host cluster
|
|
|
|
# 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: https://github.com/dun/munge/releases/download/%{name}-%{version}/%{name}-%{version}.tar.xz.asc
|
|
Source2: https://github.com/dun.gpg
|
|
Source3: munge.sysusers
|
|
Source4: README.md
|
|
|
|
BuildRequires: make
|
|
BuildRequires: gcc
|
|
BuildRequires: git-core
|
|
BuildRequires: gnupg2
|
|
BuildRequires: systemd-rpm-macros
|
|
BuildRequires: zlib-devel bzip2-devel openssl-devel
|
|
Requires: munge-libs = %{version}-%{release}
|
|
Requires: logrotate
|
|
|
|
%if %{with check}
|
|
BuildRequires: procps-ng
|
|
BuildRequires: util-linux
|
|
%endif
|
|
|
|
|
|
%{?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
|
|
methods.
|
|
|
|
%package devel
|
|
Summary: Development files for uid * gid authentication across a host cluster
|
|
Requires: munge-libs%{?_isa} = %{version}-%{release}
|
|
|
|
%description devel
|
|
Header files for developing using MUNGE.
|
|
|
|
%package libs
|
|
Summary: Runtime libs for uid * gid authentication across a host cluster
|
|
|
|
%description libs
|
|
Runtime libraries for using MUNGE.
|
|
|
|
|
|
%prep
|
|
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
|
%autosetup -N -S git
|
|
cp "%{SOURCE4}" README-Fedora.md
|
|
|
|
%autopatch
|
|
|
|
%build
|
|
%configure --disable-static --with-crypto-lib=openssl --runstatedir="%{_rundir}" --with-systemdunitdir="%{_unitdir}" --with-sysconfigdir="%{_sysconfdir}/sysconfig/" --with-logrotateddir="%{_sysconfdir}/logrotate.d/"
|
|
# 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_build
|
|
|
|
|
|
%install
|
|
%make_install
|
|
|
|
# Install extra files.
|
|
install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/munge.conf
|
|
|
|
# rm unneeded files.
|
|
# Exclude .la files
|
|
rm %{buildroot}/%{_libdir}/libmunge.la
|
|
|
|
|
|
# Fix a few permissions
|
|
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
|
|
# of it is.
|
|
mkdir -p %{buildroot}%{_rundir}/munge
|
|
touch %{buildroot}%{_rundir}/munge/munged.pid
|
|
|
|
%check
|
|
%if %{with check}
|
|
%make_build check \
|
|
LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
|
|
root=/tmp/munge-$$ VERBOSE=t verbose=t
|
|
%endif
|
|
|
|
|
|
%pre
|
|
%sysusers_create_compat %{SOURCE3}
|
|
|
|
%preun
|
|
%systemd_preun munge.service
|
|
|
|
%post
|
|
%systemd_post munge.service
|
|
|
|
%postun
|
|
%systemd_postun_with_restart munge.service
|
|
|
|
%ldconfig_scriptlets libs
|
|
|
|
%files
|
|
%{_bindir}/munge
|
|
%{_bindir}/remunge
|
|
%{_bindir}/unmunge
|
|
%{_sbindir}/munged
|
|
%{_sbindir}/mungekey
|
|
%{_mandir}/man1/munge.1.gz
|
|
%{_mandir}/man1/remunge.1.gz
|
|
%{_mandir}/man1/unmunge.1.gz
|
|
%{_mandir}/man7/munge.7.gz
|
|
%{_mandir}/man8/munged.8.gz
|
|
%{_mandir}/man8/mungekey.8.gz
|
|
%{_unitdir}/munge.service
|
|
|
|
%attr(0700,munge,munge) %dir %{_var}/log/munge
|
|
%attr(0700,munge,munge) %dir %{_var}/lib/munge
|
|
%attr(0700,munge,munge) %dir %{_sysconfdir}/munge
|
|
%attr(0755,munge,munge) %ghost %dir /run/munge/
|
|
%attr(0644,munge,munge) %ghost /run/munge/munged.pid
|
|
|
|
%{_sysusersdir}/munge.conf
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/munge
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/munge
|
|
|
|
%license COPYING COPYING.LESSER
|
|
%doc README-Fedora.md
|
|
%doc AUTHORS
|
|
%doc JARGON NEWS QUICKSTART README
|
|
%doc doc
|
|
|
|
%files libs
|
|
%{_libdir}/libmunge.so.2
|
|
%{_libdir}/libmunge.so.2.0.0
|
|
|
|
%files devel
|
|
%{_includedir}/munge.h
|
|
%{_libdir}/libmunge.so
|
|
%{_libdir}/pkgconfig/munge.pc
|
|
%{_mandir}/man3/munge.3.gz
|
|
%{_mandir}/man3/munge_ctx.3.gz
|
|
%{_mandir}/man3/munge_ctx_copy.3.gz
|
|
%{_mandir}/man3/munge_ctx_create.3.gz
|
|
%{_mandir}/man3/munge_ctx_destroy.3.gz
|
|
%{_mandir}/man3/munge_ctx_get.3.gz
|
|
%{_mandir}/man3/munge_ctx_set.3.gz
|
|
%{_mandir}/man3/munge_ctx_strerror.3.gz
|
|
%{_mandir}/man3/munge_decode.3.gz
|
|
%{_mandir}/man3/munge_encode.3.gz
|
|
%{_mandir}/man3/munge_enum.3.gz
|
|
%{_mandir}/man3/munge_enum_int_to_str.3.gz
|
|
%{_mandir}/man3/munge_enum_is_valid.3.gz
|
|
%{_mandir}/man3/munge_enum_str_to_int.3.gz
|
|
%{_mandir}/man3/munge_strerror.3.gz
|
|
|
|
|
|
%changelog
|
|
%autochangelog
|