3690adc
%global name_version %{name}-%{version}rc2
6b7dd8b
Orion Poplawski 00373c2
Name:           pmix
6b7dd8b
Version:        3.1.4
fe98829
Release:        0.4.rc2%{?dist}
1309b7b
Summary:        Process Management Interface Exascale (PMIx)
Orion Poplawski 00373c2
License:        BSD
1309b7b
URL:            https://pmix.github.io/pmix/
6b7dd8b
Source0:        https://github.com/pmix/%{name}/releases/download/v%{version}/%{name_version}.tar.bz2
c1bd791
1309b7b
BuildRequires:  autoconf
1309b7b
BuildRequires:  automake
1309b7b
BuildRequires:  flex
1309b7b
BuildRequires:  gcc
1299db2
BuildRequires:  hwloc-devel
Orion Poplawski 00373c2
BuildRequires:  libevent-devel
1309b7b
BuildRequires:  libtool
1299db2
BuildRequires:  munge-devel
1309b7b
BuildRequires:  perl-interpreter
1309b7b
Orion Poplawski 00373c2
%description
Orion Poplawski 00373c2
The Process Management Interface (PMI) has been used for quite some time as
Orion Poplawski 00373c2
a means of exchanging wireup information needed for interprocess
Orion Poplawski 00373c2
communication. Two versions (PMI-1 and PMI-2) have been released as part of
Orion Poplawski 00373c2
the MPICH effort. While PMI-2 demonstrates better scaling properties than its
Orion Poplawski 00373c2
PMI-1 predecessor, attaining rapid launch and wireup of the roughly 1M
Orion Poplawski 00373c2
processes executing across 100k nodes expected for exascale operations remains
Orion Poplawski 00373c2
challenging.
Orion Poplawski 00373c2
Orion Poplawski 00373c2
PMI Exascale (PMIx) represents an attempt to resolve these questions by
Orion Poplawski 00373c2
providing an extended version of the PMI standard specifically designed to
Orion Poplawski 00373c2
support clusters up to and including exascale sizes. The overall objective of
Orion Poplawski 00373c2
the project is not to branch the existing pseudo-standard definitions - in
Orion Poplawski 00373c2
fact, PMIx fully supports both of the existing PMI-1 and PMI-2 APIs - but
Orion Poplawski 00373c2
rather to (a) augment and extend those APIs to eliminate some current
Orion Poplawski 00373c2
restrictions that impact scalability, and (b) provide a reference
Orion Poplawski 00373c2
implementation of the PMI-server that demonstrates the desired level of
Orion Poplawski 00373c2
scalability.
Orion Poplawski 00373c2
Orion Poplawski 00373c2
%package        devel
Orion Poplawski 00373c2
Summary:        Development files for %{name}
Orion Poplawski 00373c2
Requires:       %{name}%{?_isa} = %{version}-%{release}
Orion Poplawski 00373c2
%description    devel
Orion Poplawski 00373c2
The %{name}-devel package contains libraries and header files for
Orion Poplawski 00373c2
developing applications that use %{name}.
Orion Poplawski 00373c2
1299db2
%package        pmi
1299db2
Summary:        The %{name} implementation of libpmi and libpmi2
1299db2
Requires:       %{name}%{?_isa} = %{version}-%{release}
1299db2
Conflicts:      slurm-pmi
1299db2
%description    pmi
1299db2
The %{name}-pmi package contains the %{name} implementation of
1299db2
the libpmi and libpmi2 backward-compatibility libraries.
1299db2
1299db2
%package        pmi-devel
1299db2
Summary:        Development files for %{name}-pmi
1299db2
Requires:       %{name}-pmi%{?_isa} = %{version}-%{release}
1299db2
Conflicts:      slurm-pmi-devel
1299db2
%description    pmi-devel
1299db2
The %{name}-pmi-devel package contains the development files for
1299db2
the libpmi and libpmi2 backward-compatibility libraries.
1299db2
Orion Poplawski 2e2c1db
%package        tools
Orion Poplawski 2e2c1db
Summary:        Tools for %{name}
1299db2
Requires:       %{name}%{?_isa} = %{version}-%{release}
Orion Poplawski 2e2c1db
%description    tools
Orion Poplawski 2e2c1db
The %{name}-tools package contains for use with PMIx-based RMs and language-
Orion Poplawski 2e2c1db
based starters (e.g., mpirun).
Orion Poplawski 2e2c1db
Orion Poplawski 2e2c1db
* pinfo - show MCA params, build info, etc.
Orion Poplawski 2e2c1db
* pps - get list of active nspaces, retrieve status of jobs/nodes/procs
Orion Poplawski 2e2c1db
* pevent - inject an event into the system
Orion Poplawski 2e2c1db
Orion Poplawski 00373c2
%prep
6b7dd8b
%setup -q -n %{name_version}
Orion Poplawski 00373c2
1309b7b
echo touching lexer sources to recompile them ...
1309b7b
find src -name \*.l -print -exec touch --no-create {} \;
Orion Poplawski 00373c2
Orion Poplawski 00373c2
%build
6b7dd8b
%{_builddir}/%{name_version}/autogen.pl
1309b7b
%configure \
1309b7b
    --prefix=%{_prefix} \
1309b7b
    --sysconfdir=%{_sysconfdir}/%{name} \
1309b7b
    --disable-static \
1309b7b
    --disable-silent-rules \
1309b7b
    --enable-shared \
1309b7b
    --enable-pmi-backward-compatibility \
1309b7b
    --with-munge
Orion Poplawski 00373c2
18632f1
%make_build
1309b7b
1309b7b
%check
e08494c
%make_build check
Orion Poplawski 00373c2
Orion Poplawski 00373c2
%install
Orion Poplawski 00373c2
%make_install
Orion Poplawski 00373c2
1309b7b
# remove libtool archives
1309b7b
find %{buildroot} -name '*.la' | xargs rm -f
1309b7b
1309b7b
%ldconfig_scriptlets
18b3762
%ldconfig_scriptlets devel
Orion Poplawski 00373c2
Orion Poplawski 00373c2
%files
Orion Poplawski 00373c2
%license LICENSE
Orion Poplawski 00373c2
%doc README
1309b7b
%dir %{_datadir}/%{name}
1309b7b
%dir %{_libdir}/%{name}
1309b7b
%dir %{_sysconfdir}/%{name}
1309b7b
%config(noreplace) %{_sysconfdir}/%{name}/*.conf
1309b7b
%{_datadir}/%{name}/*.txt
a1de3aa
%{_libdir}/libmca_common_dstore.so.1*
Orion Poplawski 2e2c1db
%{_libdir}/libpmix.so.2*
1309b7b
%{_libdir}/%{name}/*.so
Orion Poplawski 00373c2
Orion Poplawski 00373c2
%files devel
1309b7b
%{_datadir}/%{name}/*.supp
1299db2
%{_includedir}/pmix*.h
a1de3aa
%{_libdir}/libmca_common_dstore.so
1309b7b
%{_libdir}/libpmix.so
1299db2
1299db2
%files pmi
1299db2
%{_libdir}/libpmi.so.1*
1299db2
%{_libdir}/libpmi2.so.1*
1299db2
1299db2
%files pmi-devel
1299db2
%{_includedir}/{pmi,pmi2}.h
18632f1
%{_libdir}/libpmi.so
18632f1
%{_libdir}/libpmi2.so
Orion Poplawski 00373c2
Orion Poplawski 2e2c1db
%files tools
Orion Poplawski 2e2c1db
%{_bindir}/*
Orion Poplawski 2e2c1db
Orion Poplawski 00373c2
%changelog
fe98829
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.4-0.4.rc2
fe98829
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
fe98829
1299db2
* Sun Jul 21 2019 Philip Kovacs <pkdevel@yahoo.com> - 3.1.4-0.3.rc2
1299db2
- Create pmix-pmi and pmix-pmi-devel subpackages for pmi/pmi2 libs
1299db2
- Remove rpm-generated pkgconfig files until upstream provides them
1299db2
- Do not pull dependencies with pkgconfig unless package uses it
1299db2
3690adc
* Sat Jul 20 2019 Philip Kovacs <pkdevel@yahoo.com> - 3.1.4-0.2.rc2
3690adc
- Update to 3.1.4rc2
3690adc
6b7dd8b
* Fri Jul 19 2019 Philip Kovacs <pkdevel@yahoo.com> - 3.1.4-0.1.rc1
6b7dd8b
- Update to 3.1.4rc1
6b7dd8b
4a4de9d
* Sat Jul 13 2019 Philip Kovacs <pkdevel@yahoo.com> - 3.1.3-1
7fc5450
- Update to 3.1.3
7fc5450
18632f1
* Tue Jul 2 2019 Philip Kovacs <pkdevel@yahoo.com> - 3.1.2-2
18632f1
- Install libpmi/pmi2 backward-compatible libraries normally,
18632f1
- not as a pmi environment module
18632f1
a1de3aa
* Wed Jun 19 2019 Philip Kovacs <pkdevel@yahoo.com> - 3.1.2-1
a1de3aa
- Update to 3.1.2
a1de3aa
- Replace __make with make
a1de3aa
1f23844
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-2
1f23844
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
1f23844
Orion Poplawski 2e2c1db
* Sun Nov 25 2018 Orion Poplawski <orion@nwra.com> - 3.0.2-1
Orion Poplawski 2e2c1db
- Update to 3.0.2
Orion Poplawski 2e2c1db
7ee6762
* Mon Oct 1 2018 Philip Kovacs <pkdevel@yahoo.com> - 2.1.4-1
7ee6762
- Update to 2.1.4
7fcb840
18b3762
* Fri Mar 16 2018 Philip Kovacs <pkdevel@yahoo.com> - 2.1.1-1
18b3762
- Update to 2.1.1
18b3762
c1bd791
* Sun Feb 18 2018 Philip Kovacs <pkdevel@yahoo.com> - 2.1.0-3
c1bd791
- Add patch to remove unneeded check for C++
c1bd791
aba8286
* Thu Feb 15 2018 Philip Kovacs <pkdevel@yahoo.com> - 2.1.0-2
aba8286
- Rebuild for libevent soname bump
aba8286
1309b7b
* Sat Feb 10 2018 Philip Kovacs <pkdevel@yahoo.com> - 2.1.0-1
aba8286
- Update to 2.1.0
aba8286
- Added enviromnent module for pmi/pmix
aba8286
- Added pkgconfig files for pmix/pmi/pmi2
aba8286
- Ensure lexer sources are rebuilt
aba8286
- Removed obsolete sasl support
aba8286
- Use new ldconfig_scriplets macro
1309b7b
24a25ba
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.2-4
24a25ba
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
24a25ba
a03de5e
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.2-3
a03de5e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
a03de5e
45abe96
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.2-2
45abe96
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
45abe96
Orion Poplawski e09df63
* Tue Mar 21 2017 Orion Poplawski <orion@cora.nwra.com> - 1.2.2-1
Orion Poplawski e09df63
- Update to 1.2.2
Orion Poplawski e09df63
41c80d3
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.5-2
41c80d3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
41c80d3
Orion Poplawski fb0400e
* Wed Sep 7 2016 Orion Poplawski <orion@cora.nwra.com> - 1.1.5-1
Orion Poplawski fb0400e
- Update to 1.1.5
Orion Poplawski fb0400e
Orion Poplawski ddfd428
* Fri Jun 10 2016 Orion Poplawski <orion@cora.nwra.com> - 1.1.4-1
Orion Poplawski ddfd428
- Update to 1.1.4
Orion Poplawski ddfd428
Orion Poplawski 00373c2
* Tue Mar 8 2016 Orion Poplawski <orion@cora.nwra.com> - 1.1.3-1
Orion Poplawski 00373c2
- Update to 1.1.3
Orion Poplawski 00373c2
Orion Poplawski 00373c2
* Mon Nov 16 2015 Orion Poplawski <orion@cora.nwra.com> - 1.1.1-1
Orion Poplawski 00373c2
- Update to 1.1.1
Orion Poplawski 00373c2
Orion Poplawski 00373c2
* Sat Nov 14 2015 Orion Poplawski <orion@cora.nwra.com> - 1.1.0-1
Orion Poplawski 00373c2
- Update to 1.1.0
Orion Poplawski 00373c2
Orion Poplawski 00373c2
* Tue Sep  1 2015 Orion Poplawski <orion@cora.nwra.com> - 1.0.0-1
Orion Poplawski 00373c2
- Initial version