Compare commits

..

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

4 changed files with 114 additions and 183 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/pmix-3.2.3.tar.bz2
SOURCES/pmix-2.2.5.tar.bz2

View File

@ -1 +0,0 @@
97978abcd4da1b2a3d2bf2452247c4d47f8cc6a3 SOURCES/pmix-3.2.3.tar.bz2

View File

@ -1,4 +1,4 @@
From 247fe50c796402ccb1734e66dcc1f0ee4c196774 Mon Sep 17 00:00:00 2001
From 085f1d8ec56b3fe81ef3a0994d156ddf83342f49 Mon Sep 17 00:00:00 2001
From: Ralph Castain <rhc@pmix.org>
Date: Thu, 7 Sep 2023 07:59:57 -0600
Subject: [PATCH] Do not follow links when doing "chown"
@ -18,14 +18,13 @@ Signed-off-by: Kamal Heib <kheib@redhat.com>
src/mca/gds/ds12/gds_ds12_lock_fcntl.c | 2 +-
src/mca/gds/ds12/gds_ds12_lock_pthread.c | 2 +-
src/mca/ptl/usock/ptl_usock_component.c | 6 +++---
src/util/pmix_pty.c | 2 +-
6 files changed, 10 insertions(+), 10 deletions(-)
5 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/mca/common/dstore/dstore_base.c b/src/mca/common/dstore/dstore_base.c
index f22461cdeb7a..7ff2e4d6aa2c 100644
index 5568c9434778..68eeabdbc4d7 100644
--- a/src/mca/common/dstore/dstore_base.c
+++ b/src/mca/common/dstore/dstore_base.c
@@ -528,7 +528,7 @@ static int _esh_session_init(pmix_common_dstore_ctx_t *ds_ctx, size_t idx, ns_ma
@@ -525,7 +525,7 @@ static int _esh_session_init(pmix_common_dstore_ctx_t *ds_ctx, size_t idx, ns_ma
}
}
if (s->setjobuid > 0){
@ -34,7 +33,7 @@ index f22461cdeb7a..7ff2e4d6aa2c 100644
rc = PMIX_ERROR;
PMIX_ERROR_LOG(rc);
return rc;
@@ -1682,7 +1682,7 @@ pmix_common_dstore_ctx_t *pmix_common_dstor_init(const char *ds_name, pmix_info_
@@ -1661,7 +1661,7 @@ pmix_common_dstore_ctx_t *pmix_common_dstor_init(const char *ds_name, pmix_info_
}
}
if (ds_ctx->setjobuid > 0) {
@ -44,10 +43,10 @@ index f22461cdeb7a..7ff2e4d6aa2c 100644
PMIX_ERROR_LOG(rc);
goto err_exit;
diff --git a/src/mca/common/dstore/dstore_segment.c b/src/mca/common/dstore/dstore_segment.c
index f0c4f9bb9efc..0e68dbf4fedf 100644
index a219bed9c0bf..4a7c55ea9c8f 100644
--- a/src/mca/common/dstore/dstore_segment.c
+++ b/src/mca/common/dstore/dstore_segment.c
@@ -120,7 +120,7 @@ PMIX_EXPORT pmix_dstore_seg_desc_t *pmix_common_dstor_create_new_lock_seg(const
@@ -109,7 +109,7 @@ PMIX_EXPORT pmix_dstore_seg_desc_t *pmix_common_dstor_create_new_lock_seg(const
if (setuid > 0){
rc = PMIX_ERR_PERM;
@ -56,7 +55,7 @@ index f0c4f9bb9efc..0e68dbf4fedf 100644
PMIX_ERROR_LOG(rc);
goto err_exit;
}
@@ -211,7 +211,7 @@ PMIX_EXPORT pmix_dstore_seg_desc_t *pmix_common_dstor_create_new_segment(pmix_ds
@@ -200,7 +200,7 @@ PMIX_EXPORT pmix_dstore_seg_desc_t *pmix_common_dstor_create_new_segment(pmix_ds
if (setuid > 0){
rc = PMIX_ERR_PERM;
@ -66,7 +65,7 @@ index f0c4f9bb9efc..0e68dbf4fedf 100644
goto err_exit;
}
diff --git a/src/mca/gds/ds12/gds_ds12_lock_fcntl.c b/src/mca/gds/ds12/gds_ds12_lock_fcntl.c
index 445231668c57..82b6d358316e 100644
index 759bf4093747..515b3298136f 100644
--- a/src/mca/gds/ds12/gds_ds12_lock_fcntl.c
+++ b/src/mca/gds/ds12/gds_ds12_lock_fcntl.c
@@ -127,7 +127,7 @@ pmix_status_t pmix_gds_ds12_lock_init(pmix_common_dstor_lock_ctx_t *ctx, const c
@ -79,7 +78,7 @@ index 445231668c57..82b6d358316e 100644
PMIX_ERROR_LOG(rc);
goto error;
diff --git a/src/mca/gds/ds12/gds_ds12_lock_pthread.c b/src/mca/gds/ds12/gds_ds12_lock_pthread.c
index 8192f0532e03..57d855f52049 100644
index 1c9e9b79bb3e..fe7e64be4194 100644
--- a/src/mca/gds/ds12/gds_ds12_lock_pthread.c
+++ b/src/mca/gds/ds12/gds_ds12_lock_pthread.c
@@ -113,7 +113,7 @@ pmix_status_t pmix_gds_ds12_lock_init(pmix_common_dstor_lock_ctx_t *ctx, const c
@ -92,10 +91,10 @@ index 8192f0532e03..57d855f52049 100644
PMIX_ERROR_LOG(rc);
goto error;
diff --git a/src/mca/ptl/usock/ptl_usock_component.c b/src/mca/ptl/usock/ptl_usock_component.c
index 312030250a9d..660b03370ac1 100644
index f65d49ffde79..a6c1fdb496b3 100644
--- a/src/mca/ptl/usock/ptl_usock_component.c
+++ b/src/mca/ptl/usock/ptl_usock_component.c
@@ -265,16 +265,16 @@ static pmix_status_t setup_listener(pmix_info_t info[], size_t ninfo,
@@ -276,16 +276,16 @@ static pmix_status_t setup_listener(pmix_info_t info[], size_t ninfo,
CLOSE_THE_SOCKET(lt->socket);
goto sockerror;
}
@ -115,19 +114,6 @@ index 312030250a9d..660b03370ac1 100644
pmix_output(0, "CANNOT CHOWN socket %s: %s", address->sun_path, strerror (errno));
CLOSE_THE_SOCKET(lt->socket);
goto sockerror;
diff --git a/src/util/pmix_pty.c b/src/util/pmix_pty.c
index 58e8d5143e8a..e01b854d17f0 100644
--- a/src/util/pmix_pty.c
+++ b/src/util/pmix_pty.c
@@ -248,7 +248,7 @@ static int ptys_open(int fdm, char *pts_name)
gid = -1; /* group tty is not in the group file */
}
/* following two functions don't work unless we're root */
- chown(pts_name, getuid(), gid);
+ lchown(pts_name, getuid(), gid); // DO NOT FOLLOW LINKS
chmod(pts_name, S_IRUSR | S_IWUSR | S_IWGRP);
fds = open(pts_name, O_RDWR);
if (fds < 0) {
--
2.41.0

View File

@ -1,6 +1,6 @@
Name: pmix
Version: 3.2.3
Release: 5%{?dist}
Version: 2.2.5
Release: 3%{?dist}
Summary: Process Management Interface Exascale (PMIx)
License: BSD
URL: https://pmix.org/
@ -10,14 +10,18 @@ Patch1: 0001-Do-not-follow-links-when-doing-chown.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: environment(modules)
BuildRequires: flex
BuildRequires: gcc
BuildRequires: hwloc-devel
BuildRequires: libevent-devel
BuildRequires: libtool
BuildRequires: make
BuildRequires: munge-devel
BuildRequires: perl-interpreter
BuildRequires: pkgconf
BuildRequires: pkgconfig(hwloc)
BuildRequires: pkgconfig(munge)
Provides: pmi
Requires: environment(modules)
%description
The Process Management Interface (PMI) has been used for quite some time as
@ -45,39 +49,12 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package pmi
Summary: The %{name} implementation of libpmi and libpmi2
Requires: %{name}%{?_isa} = %{version}-%{release}
Conflicts: slurm-pmi
%description pmi
The %{name}-pmi package contains the %{name} implementation of
the libpmi and libpmi2 backward-compatibility libraries.
%package pmi-devel
Summary: Development files for %{name}-pmi
Requires: %{name}-pmi%{?_isa} = %{version}-%{release}
Conflicts: slurm-pmi-devel
%description pmi-devel
The %{name}-pmi-devel package contains the development files for
the libpmi and libpmi2 backward-compatibility libraries.
%package tools
Summary: Tools for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description tools
The %{name}-tools package contains for use with PMIx-based RMs and language-
based starters (e.g., mpirun).
* pinfo - show MCA params, build info, etc.
* pps - get list of active nspaces, retrieve status of jobs/nodes/procs
* pevent - inject an event into the system
%prep
%setup -q -n %{name}-%{version}
%patch1 -p1
# touch lexer sources to recompile them
echo touching lexer sources to recompile them ...
find src -name \*.l -print -exec touch --no-create {} \;
%build
@ -87,15 +64,16 @@ find src -name \*.l -print -exec touch --no-create {} \;
--sysconfdir=%{_sysconfdir}/%{name} \
--disable-static \
--disable-silent-rules \
--enable-pmix-binaries \
--with-tests-examples \
--enable-shared \
--enable-pmi-backward-compatibility \
--with-munge
%make_build
%make_build V=1
%check
%make_build check
%{__make} check
%install
%make_install
@ -103,6 +81,11 @@ find src -name \*.l -print -exec touch --no-create {} \;
# remove libtool archives
find %{buildroot} -name '*.la' | xargs rm -f
# move libpmi/libpmi2 for environment module usage
install -d -m 0755 %{buildroot}%{_libdir}/%{name}/lib
mv %{buildroot}%{_libdir}/libpmi.so* %{buildroot}%{_libdir}/%{name}/lib
mv %{buildroot}%{_libdir}/libpmi2.so* %{buildroot}%{_libdir}/%{name}/lib
# set up pmix self-test infra for install
install -d -m 0755 %{buildroot}%{_datadir}/%{name}/test
for f in pmix_client pmix_regex
@ -111,6 +94,57 @@ do
done
mv test/.libs/pmix_test %{buildroot}%{_datadir}/%{name}/test/pmix_test
# install pmi/pmix environment module file
install -d -m 0755 %{buildroot}%{_modulesdir}/pmi
cat >%{buildroot}%{_modulesdir}/pmi/%{name}-%{_arch} <<EOF
#%%Module 1.0
#
# pmi/pmix module for use with 'environment-modules' package:
#
conflict pmi
prepend-path LD_LIBRARY_PATH %{_libdir}/%{name}/lib
prepend-path PKG_CONFIG_PATH %{_libdir}/%{name}/lib/pkgconfig
EOF
# install pkgconfig file pmix.pc
install -d -m 0755 %{buildroot}%{_libdir}/pkgconfig
cat >%{buildroot}%{_libdir}/pkgconfig/%{name}.pc <<EOF
includedir=%{_includedir}
libdir=%{_libdir}
Name: %{name}
Version: %{version}
Description: PMI Exascale (PMIx) library
Cflags: -I\${includedir}
Libs: -L\${libdir} -lpmix
EOF
# install pkgconfig file pmi.pc for environment module usage
install -d -m 0755 %{buildroot}%{_libdir}/%{name}/lib/pkgconfig
cat >%{buildroot}%{_libdir}/%{name}/lib/pkgconfig/pmi.pc <<EOF
includedir=%{_includedir}
libdir=%{_libdir}/%{name}/lib
Name: pmi
Version: %{version}
Description: (PMIx) PMI compatibility library
Cflags: -I\${includedir}
Libs: -L\${libdir} -lpmi
EOF
# install pkgconfig file pmi2.pc for environment module usage
install -d -m 0755 %{buildroot}%{_libdir}/%{name}/lib/pkgconfig
cat >%{buildroot}%{_libdir}/%{name}/lib/pkgconfig/pmi2.pc <<EOF
includedir=%{_includedir}
libdir=%{_libdir}/%{name}/lib
Name: pmi2
Version: %{version}
Description: (PMIx) PMI2 compatibility library
Cflags: -I\${includedir}
Libs: -L\${libdir} -lpmi2
EOF
%ldconfig_scriptlets
%ldconfig_scriptlets devel
@ -120,152 +154,64 @@ mv test/.libs/pmix_test %{buildroot}%{_datadir}/%{name}/test/pmix_test
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/test
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/lib
%dir %{_modulesdir}/pmi
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/*.conf
%{_datadir}/%{name}/*.txt
%{_datadir}/%{name}/pmix_*
%{_datadir}/%{name}/test/pmix_test
%{_libdir}/libmca_common_dstore.so.1*
%{_libdir}/libpmix.so.2*
%{_libdir}/libpmix.so.*
%{_libdir}/libmca_common_dstore.so.*
%{_libdir}/%{name}/*.so
%{_libdir}/%{name}/lib/*.so.*
%{_modulesdir}/pmi/*
%files devel
%{_datadir}/%{name}/*.supp
%{_includedir}/pmix*.h
%{_libdir}/libmca_common_dstore.so
%{_includedir}/*.h
%{_libdir}/libpmix.so
%{_libdir}/libmca_common_dstore.so
%{_libdir}/%{name}/lib/*.so
%{_libdir}/%{name}/lib/pkgconfig/*.pc
%{_libdir}/pkgconfig/*.pc
%files pmi
%{_libdir}/libpmi.so.1*
%{_libdir}/libpmi2.so.1*
%files pmi-devel
%{_includedir}/{pmi,pmi2}.h
%{_libdir}/libpmi.so
%{_libdir}/libpmi2.so
%files tools
%{_bindir}/*
%changelog
* Tue Nov 14 2023 Kamal Heib <kheib@redhat.com> - 3.2.3-5
- Add pmix_test
- Resolves: RHEL-3693
* Tue Nov 14 2023 Kamal Heib <kheib@redhat.com> - 2.2.5-3
- Add gating test
- Resolves: RHEL-3692
* Thu Nov 02 2023 Kamal Heib <kheib@redhat.com> - 3.2.3-4
* Thu Nov 02 2023 Kamal Heib <kheib@redhat.com> - 2.2.5-2
- Fix CVE-2023-41915
- Resolves: RHEL-3693
- Resolves: RHEL-3692
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 3.2.3-3
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Mon Oct 11 2021 Honggang Li <honli@redhat.com> - 2.2.5-1
- Update to 2.2.5
- Related: rhbz#2008513
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.2.3-2
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jun 03 2020 Honggang Li <honli@redhat.com> - 2.2.4rc1-1
- Update to 2.2.4rc1
- Related: rhbz#1840596
* Tue Feb 16 2021 Philip Kovacs <pkfed@fedoraproject.org> - 3.2.3-1
* Update to 3.2.3
* Mon Apr 20 2020 Honggang Li <honli@redhat.com> - 2.2.3-1
- Update to 2.2.3
- Add pmix-devel into CRB repository
- Related: rhbz#1816198, rhbz#1822520
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Mar 20 2019 Jarod Wilson <jarod@redhat.com> - 2.1.1-2
- Add the --with-tests-examples flag to be able to better verify functionality
- Related: rhbz#1682374
* Wed Dec 9 2020 Philip Kovacs <pkfed@fedoraproject.org> - 3.2.2-1
* Update to 3.2.2
* Fri Nov 13 2020 Philip Kovacs <pkfed@fedoraproject.org> - 3.2.1-1
* Update to 3.2.1
* Fri Oct 30 2020 Philip Kovacs <pkfed@fedoraproject.org> - 3.2.1.0.1.rc1
* Update to 3.2.1rc1
* Tue Sep 15 2020 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.6.0.2.rc1
* Bump for libevent changes
* Mon Aug 10 2020 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.6.0.1.rc1
* Update to 3.1.6rc1
* Fri Aug 7 2020 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.5-6
- Give post-build checks more time to complete
* Thu Aug 6 2020 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.5-5
- Restore armv7hl without post-build checks
* Tue Aug 4 2020 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.5-4
- Exclude armv7hl
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.5-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Feb 24 2020 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.5-1
- Update to 3.1.5
* Thu Feb 20 2020 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.5-0.4.rc4
- Update to 3.1.5rc4
* Wed Feb 12 2020 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.5-0.3.rc3
- Update to 3.1.5rc3
* Mon Feb 10 2020 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.5-0.2.rc2
- Update to 3.1.5rc2
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sun Aug 25 2019 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.1.4-2
- Rebuilt for hwloc-2.0
* Fri Aug 9 2019 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.4-1
- Update to 3.1.4
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.4-0.4.rc2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sun Jul 21 2019 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.4-0.3.rc2
- Create pmix-pmi and pmix-pmi-devel subpackages for pmi/pmi2 libs
- Remove rpm-generated pkgconfig files until upstream provides them
- Do not pull dependencies with pkgconfig unless package uses it
* Sat Jul 20 2019 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.4-0.2.rc2
- Update to 3.1.4rc2
* Fri Jul 19 2019 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.4-0.1.rc1
- Update to 3.1.4rc1
* Sat Jul 13 2019 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.3-1
- Update to 3.1.3
* Tue Jul 2 2019 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.2-2
- Install libpmi/pmi2 backward-compatible libraries normally,
- not as a pmi environment module
* Wed Jun 19 2019 Philip Kovacs <pkfed@fedoraproject.org> - 3.1.2-1
- Update to 3.1.2
- Replace __make with make
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sun Nov 25 2018 Orion Poplawski <orion@nwra.com> - 3.0.2-1
- Update to 3.0.2
* Mon Oct 1 2018 Philip Kovacs <pkfed@fedoraproject.org> - 2.1.4-1
- Update to 2.1.4
* Fri Mar 16 2018 Philip Kovacs <pkfed@fedoraproject.org> - 2.1.1-1
* Fri Mar 16 2018 Philip Kovacs <pkdevel@yahoo.com> - 2.1.1-1
- Update to 2.1.1
* Sun Feb 18 2018 Philip Kovacs <pkfed@fedoraproject.org> - 2.1.0-3
* Sun Feb 18 2018 Philip Kovacs <pkdevel@yahoo.com> - 2.1.0-3
- Add patch to remove unneeded check for C++
* Thu Feb 15 2018 Philip Kovacs <pkfed@fedoraproject.org> - 2.1.0-2
* Thu Feb 15 2018 Philip Kovacs <pkdevel@yahoo.com> - 2.1.0-2
- Rebuild for libevent soname bump
* Sat Feb 10 2018 Philip Kovacs <pkfed@fedoraproject.org> - 2.1.0-1
* Sat Feb 10 2018 Philip Kovacs <pkdevel@yahoo.com> - 2.1.0-1
- Update to 2.1.0
- Added enviromnent module for pmi/pmix
- Added pkgconfig files for pmix/pmi/pmi2