850e4b0
%bcond_without check
850e4b0
e836f2a
Name:           munge
850e4b0
Version:        0.5.14
850e4b0
Release:        1%{?dist}
e836f2a
Summary:        Enables uid & gid authentication across a host cluster
e836f2a
ff103d6
# The libs and devel package is GPLv3+ and LGPLv3+ where as the main package is GPLv3 only.
ff103d6
License:        GPLv3+ and LGPLv3+
41bc2ed
URL:            https://dun.github.io/munge/
227e27a
Source0:        https://github.com/dun/munge/releases/download/munge-%{version}/munge-%{version}.tar.xz
850e4b0
Source1:        https://github.com/dun/munge/releases/download/%{name}-%{version}/%{name}-%{version}.tar.xz.asc
850e4b0
Source2:        https://github.com/dun.gpg
dd0498e
Source3:        munge.sysusers
850e4b0
Source4:        README.md
e836f2a
1fc75c2
BuildRequires: make
Igor Gnatenko c0fb5e3
BuildRequires:  gcc
850e4b0
BuildRequires:  gnupg2
dd0498e
BuildRequires:  systemd-rpm-macros
Pokorra, Gerd 17c3d0a
BuildRequires:  zlib-devel bzip2-devel openssl-devel
7b0caca
Requires:       munge-libs = %{version}-%{release}
Pokorra, Gerd 28ebbd4
Requires:       logrotate
e836f2a
850e4b0
%if %{with check}
850e4b0
BuildRequires:  procps-ng
850e4b0
BuildRequires:  util-linux
850e4b0
%endif
850e4b0
850e4b0
91b0aa3
Requires(pre):    shadow-utils
e836f2a
ab9ede3
%{?systemd_requires}
dd0498e
%{?sysusers_requires_compat}
e836f2a
e836f2a
%description
cc133c5
MUNGE (MUNGE Uid 'N' Gid Emporium) is an authentication service for creating
cc133c5
and validating credentials. It is designed to be highly scalable for use
cc133c5
in an HPC cluster environment.
cc133c5
It allows a process to authenticate the UID and GID of another local or
cc133c5
remote process within a group of hosts having common users and groups.
cc133c5
These hosts form a security realm that is defined by a shared cryptographic
cc133c5
key. Clients within this security realm can create and validate credentials
cc133c5
without the use of root privileges, reserved ports, or platform-specific
e836f2a
methods.
e836f2a
e836f2a
%package devel
ecacefc
Summary:        Development files for uid * gid authentication across a host cluster
64d8dce
Requires:       munge-libs%{?_isa} = %{version}-%{release}
e836f2a
e836f2a
%description devel
e836f2a
Header files for developing using MUNGE.
e836f2a
a178a82
%package libs
ecacefc
Summary:        Runtime libs for uid * gid authentication across a host cluster
a178a82
a178a82
%description libs
a178a82
Runtime libraries for using MUNGE.
a178a82
a178a82
e836f2a
%prep
850e4b0
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
850e4b0
%autosetup
850e4b0
cp "%{SOURCE4}"  README-Fedora.md
e836f2a
e836f2a
%build
850e4b0
%configure  --disable-static --with-crypto-lib=openssl --runstatedir="%{_rundir}" --with-systemdunitdir="%{_unitdir}"  --with-sysconfigdir="%{_sysconfdir}/sysconfig/" --with-logrotateddir="%{_sysconfdir}/logrotate.d/"
e836f2a
# Get rid of some rpaths for /usr/sbin
e836f2a
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
e836f2a
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
ab9ede3
%make_build
e836f2a
e836f2a
e836f2a
%install
dd0498e
%make_install
e836f2a
36d33fc
# Install extra files.
dd0498e
install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysusersdir}/munge.conf
dd0498e
36d33fc
# rm unneeded files.
cc133c5
# Exclude .la files
7b0caca
rm %{buildroot}/%{_libdir}/libmunge.la
e836f2a
e836f2a
e836f2a
# Fix a few permissions
7b0caca
chmod 700 %{buildroot}%{_var}/lib/munge %{buildroot}%{_var}/log/munge
7b0caca
chmod 700 %{buildroot}%{_sysconfdir}/munge
e836f2a
44108b7
# Create and empty key file and pid file to be marked as a ghost file below.
cc133c5
# i.e it is not actually included in the rpm, only the record
e836f2a
# of it is.
11e658d
mkdir -p %{buildroot}%{_rundir}/munge
850e4b0
touch %{buildroot}%{_rundir}/munge/munged.pid
850e4b0
850e4b0
%check
850e4b0
%if %{with check}
850e4b0
%make_build check \
850e4b0
    LD_LIBRARY_PATH=%{buildroot}%{_libdir} \
850e4b0
    MUNGE_ROOT=/tmp/munge-$$ VERBOSE=t verbose=t
850e4b0
%endif
850e4b0
e836f2a
dd0498e
%pre
dd0498e
%sysusers_create_compat %{SOURCE3}
e836f2a
e836f2a
%preun
7b0caca
%systemd_preun munge.service
e836f2a
e836f2a
%post
7b0caca
%systemd_post munge.service
e836f2a
dd0498e
%postun
dd0498e
%systemd_postun_with_restart munge.service
dd0498e
c556f49
%ldconfig_scriptlets   libs
e836f2a
e836f2a
%files
e836f2a
%{_bindir}/munge
e836f2a
%{_bindir}/remunge
e836f2a
%{_bindir}/unmunge
e836f2a
%{_sbindir}/munged
850e4b0
%{_sbindir}/mungekey
e836f2a
%{_mandir}/man1/munge.1.gz
e836f2a
%{_mandir}/man1/remunge.1.gz
e836f2a
%{_mandir}/man1/unmunge.1.gz
e836f2a
%{_mandir}/man7/munge.7.gz
e836f2a
%{_mandir}/man8/munged.8.gz
850e4b0
%{_mandir}/man8/mungekey.8.gz
7b0caca
%{_unitdir}/munge.service
e836f2a
e836f2a
%attr(0700,munge,munge) %dir  %{_var}/log/munge
e836f2a
%attr(0700,munge,munge) %dir  %{_var}/lib/munge
Pokorra, Gerd 28ebbd4
%attr(0700,munge,munge) %dir %{_sysconfdir}/munge
162fdcc
%attr(0755,munge,munge) %ghost %dir  /run/munge/
Pokorra, Gerd 28ebbd4
%attr(0644,munge,munge) %ghost /run/munge/munged.pid
e836f2a
dd0498e
%{_sysusersdir}/munge.conf
e836f2a
%config(noreplace) %{_sysconfdir}/logrotate.d/munge
850e4b0
%config(noreplace) %{_sysconfdir}/sysconfig/munge
e836f2a
Pokorra, Gerd 6219536
%license COPYING COPYING.LESSER
850e4b0
%doc README-Fedora.md
7b0caca
%doc AUTHORS
850e4b0
%doc JARGON NEWS QUICKSTART README
e836f2a
%doc doc
e836f2a
a178a82
%files libs
a178a82
%{_libdir}/libmunge.so.2
a178a82
%{_libdir}/libmunge.so.2.0.0
e836f2a
e836f2a
%files devel
e836f2a
%{_includedir}/munge.h
e836f2a
%{_libdir}/libmunge.so
7b0caca
%{_libdir}/pkgconfig/munge.pc
e836f2a
%{_mandir}/man3/munge.3.gz
e836f2a
%{_mandir}/man3/munge_ctx.3.gz
e836f2a
%{_mandir}/man3/munge_ctx_copy.3.gz
e836f2a
%{_mandir}/man3/munge_ctx_create.3.gz
e836f2a
%{_mandir}/man3/munge_ctx_destroy.3.gz
e836f2a
%{_mandir}/man3/munge_ctx_get.3.gz
e836f2a
%{_mandir}/man3/munge_ctx_set.3.gz
e836f2a
%{_mandir}/man3/munge_ctx_strerror.3.gz
e836f2a
%{_mandir}/man3/munge_decode.3.gz
e836f2a
%{_mandir}/man3/munge_encode.3.gz
e836f2a
%{_mandir}/man3/munge_enum.3.gz
e836f2a
%{_mandir}/man3/munge_enum_int_to_str.3.gz
e836f2a
%{_mandir}/man3/munge_enum_is_valid.3.gz
e836f2a
%{_mandir}/man3/munge_enum_str_to_int.3.gz
e836f2a
%{_mandir}/man3/munge_strerror.3.gz
e836f2a
e836f2a
e836f2a
%changelog
11e658d
* Wed Nov 18 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.5.14-1
11e658d
- remove tmpfiles.d
11e658d
- make %%_rundir,
11e658d
- improve readme
162fdcc
- Mark /run/munge as ghost also
11e658d
850e4b0
* Tue Nov 17 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.5.14-1
850e4b0
- Update to latest release
850e4b0
- Remove unneeded files
850e4b0
- Update Readme.
850e4b0
- Enable gpgverify
850e4b0
- Enable tests
850e4b0
ab9ede3
* Tue Sep 29 2020 Ankur Sinha <ankursinha AT fedoraproject DOT org> - 0.5.13-10
ab9ede3
- Fix spec + build
ab9ede3
8319637
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.13-9
8319637
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
8319637
dd0498e
* Mon Feb 10 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.5.13-8
dd0498e
- Provide a sysusers.d file to get user() and group() provides
dd0498e
  (see https://fedoraproject.org/wiki/Changes/Adopting_sysusers.d_format).
dd0498e
ac02beb
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.13-7
ac02beb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
ac02beb
Pokorra, Gerd 28ebbd4
* Thu Nov 28 2019 Gerd Pokorra <gp@zimt.uni-siegen.de> - 0.5.13-6
Pokorra, Gerd 28ebbd4
- updating line in /usr/lib/tmpfiles.d/munge.conf: /var/run/munge → /run/munge
Pokorra, Gerd 28ebbd4
- add license tag
Pokorra, Gerd 28ebbd4
- add requires logrotate
Pokorra, Gerd 28ebbd4
Pokorra, Gerd 17c3d0a
* Wed Nov 27 2019 Gerd Pokorra <gp@zimt.uni-siegen.de> - 0.5.13-5
Pokorra, Gerd 17c3d0a
- built with OpenSSL (not libgcrypt)
Pokorra, Gerd 17c3d0a
dcaa0e8
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.13-4
dcaa0e8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
dcaa0e8
5798e25
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.13-3
5798e25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
5798e25
93d8b2e
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.13-2
93d8b2e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
93d8b2e
d1b8f9c
* Thu May 17 2018 Steve Traylen <steve.traylen@cern.ch> - 0.5.13-1
d1b8f9c
- Escape macros in %%changelog
d1b8f9c
68576f3
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.5.12-9
68576f3
- Escape macros in %%changelog
68576f3
04a158a
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.12-8
04a158a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
04a158a
d9377cd
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.12-7
d9377cd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
d9377cd
c15e5c5
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.12-6
c15e5c5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
c15e5c5
158c880
* Mon Jun 19 2017 Steve Traylen <steve.traylen@cern.ch> - 0.5.12-5
158c880
- Use libgcrypt rather than openssl.
158c880
425d0c8
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.12-4
425d0c8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
425d0c8
ff103d6
* Mon Aug 15 2016 Steve Traylen <steve.traylen@cern.ch> - 0.5.12-3
ff103d6
- Correct Licesing strings.
ff103d6
4a945a5
* Mon Aug 15 2016 Steve Traylen <steve.traylen@cern.ch> - 0.5.12-2
4a945a5
- Include COPYING.LESSER also.
41bc2ed
- Correct URL homepage
4a945a5
227e27a
* Mon Aug 15 2016 Steve Traylen <steve.traylen@cern.ch> - 0.5.12-1
227e27a
- Upstream 0.5.12
227e27a
- License now GPLv3+ and also LGPLv3+ for libs.
227e27a
3919c11
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.11-5
3919c11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
3919c11
e4962e2
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.11-4
e4962e2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
e4962e2
d62a601
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.11-3
d62a601
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
d62a601
14ce2fa
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.11-2
14ce2fa
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
14ce2fa
ecacefc
* Mon Jun 02 2014 Nils Philippsen <nils@redhat.com>
ecacefc
- fix typo
ecacefc
7b0caca
* Fri Aug 30 2013 Steve Traylen <steve.traylen@cern.ch> - 0.5.11-1
7b0caca
- Upstream 0.5.11
7b0caca
- Use upstream's systemd files.
7b0caca
- Fix incorrect dates in changelogs.
7b0caca
- Fix systemd scriptlets #850219
7b0caca
- Use buildroot macro everywhere.
59ff1ef
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.10-6
59ff1ef
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
59ff1ef
e0fc93f
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.10-5
e0fc93f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
e0fc93f
aa49384
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.10-4
aa49384
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
aa49384
6ddbeff
* Sun Feb 5 2012 Steve Traylen <steve.traylen@cern.ch> - 0.5.10-3
6ddbeff
- Remove EPEL4 support since EOL.
36d33fc
- Change to systemd.
6ddbeff
4e548e1
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.10-2
4e548e1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
4e548e1
9267c0a
* Sun Feb 27 2011 Steve Traylen <steve.traylen@cern.ch> - 0.5.10-1
9267c0a
- Upstream to 0.5.10
64d8dce
- Add _isa tags to all build requires.
4cff475
- Remove unused patch munge-correct-service-name.patch, upstream fixed.
5bf7d0a
- Update and add check-key-exists.patch back.
b7045f9
- Revert back to default CFLAGS. _GNU_SOURCE not needed any more.
9267c0a
205cd54
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.9-5
205cd54
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
205cd54
afd9c8f
* Tue Dec 7 2010 Steve Traylen <steve.traylen@cern.ch> - 0.5.9-4
afd9c8f
- Upsteam is now hosted on google.
68576f3
- Mark /var/run/munge as a %%ghost file. #656631
afd9c8f
0262046
* Sat Mar 27 2010 Steve Traylen <steve.traylen@cern.ch> - 0.5.9-3
0262046
- Release Bump
62619b2
* Fri Mar 26 2010 Steve Traylen <steve.traylen@cern.ch> - 0.5.9-2
62619b2
- Remove initd-pass-rpmlint.patch, has been applied upstream.
62619b2
- Remove remove-GPL_LICENSED-cpp.patch, has been applied upstream.
e673e8f
* Fri Mar 26 2010 Steve Traylen <steve.traylen@cern.ch> - 0.5.9-1
e673e8f
- New upstream 0.5.9
91b0aa3
* Wed Oct 21 2009 Steve Traylen <steve.traylen@cern.ch> - 0.5.8-8
91b0aa3
- Requirment on munge removed from munge-libs.
91b0aa3
- Explicit exact requirment on munge-libs for munge and munge-devel
91b0aa3
  added.
a178a82
* Wed Oct 21 2009 Steve Traylen <steve.traylen@cern.ch> - 0.5.8-7
a178a82
- rhbz#530128 Move runtime libs to a new -libs package.
a178a82
  ldconfig moved to new -libs package as a result.
44108b7
* Sat Sep 26 2009 Steve Traylen <steve.traylen@cern.ch> - 0.5.8-6
cc133c5
- Patch for rhbz #525732 - Loads /etc/sysconfig/munge
44108b7
  correctly.
44108b7
- Mark pid file as ghost file on oses that support that.
44108b7
- Permisions on pid directory to 755
44108b7
0181466
* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 0.5.8-5
0181466
- rebuilt with new openssl
0181466
7b0caca
* Wed Jul 22 2009 Steve Traylen <steve.traylen@cern.ch> - 0.5.8-4
e836f2a
- Expand defattr with 4th argument for default directory perms.
e836f2a
- Explict attr for non 0644 files and 0755 directories.
e836f2a
7b0caca
* Wed Jul 22 2009 Steve Traylen <steve.traylen@cern.ch> - 0.5.8-3
e836f2a
- Append -DGNU_SOURCE to default CFLAGS.
e836f2a
e836f2a
* Wed Jul 22 2009 Steve Traylen <steve.traylen@cern.ch> - 0.5.8-2
e836f2a
- Correct License to GPLv2+
e836f2a
- Move man3 pages to the devel package.
e836f2a
- Remove +x bit from create-munge-key source.
e836f2a
- Preserve timestamps when installing files.
e836f2a
- ldconfig not needed on -devel package.
e836f2a
- Do a condrestart when upgrading.
e836f2a
- Remove redundant files from docs.
e836f2a
- chmod /var/lib/munge /var/log/munge and /etc/munge to 700.
e836f2a
- Apply patch to not error when GPL_LICENSED is not set.
e836f2a
- Patch service script to print error on if munge.key not present
cc133c5
  on start only and with a better error.
e836f2a
- Remove dont-exit-form-lib.patch. munge is expecting munge to
e836f2a
  do this.
e836f2a
- Remove libgcrypt-devel from BuildRequires, uses openssl by
e836f2a
  default anyway.
e836f2a
- Mark the munge.key as a ghost file.
e836f2a
e836f2a
e836f2a
* Fri Jun 12 2009 Steve Traylen <steve@traylen.net> - 0.5.8-1
e836f2a
- First Build
e836f2a
e836f2a