This repository has been archived by the owner on Sep 2, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
simul.spec
139 lines (116 loc) · 3.08 KB
/
simul.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
%global with_mpich 1
%if (0%{?rhel} >= 8)
%global with_openmpi 1
%global with_openmpi3 0
%else
%global with_openmpi 0
%global with_openmpi3 1
%endif
%if %{with_mpich}
%global mpi_list mpich
%endif
%if %{with_openmpi}
%global mpi_list %{?mpi_list} openmpi
%endif
%if %{with_openmpi3}
%global mpi_list %{?mpi_list} openmpi3
%endif
%if (0%{?suse_version} >= 1500)
%global module_load() if [ "%{1}" == "openmpi3" ]; then MODULEPATH=/usr/share/modules module load gnu-openmpi; else MODULEPATH=/usr/share/modules module load gnu-%{1}; fi
%global mpi_libdir %{_libdir}/mpi/gcc
%else
%global module_load() module load mpi/%{1}-%{_arch}
%global mpi_libdir %{_libdir}
%global source_vars() :;
%endif
Name: simul
Version: 1.16
Release: 2%{?commit:.git%{shortcommit}}%{?dist}
Summary: MPI coordinated test of parallel filesystem system calls and library functions
License: GPL-2.0-only
URL: https://github.com/LLNL/simul/
Source0: https://github.com/LLNL/%{name}/archive/refs/tags/%{version}.tar.gz
Patch1: 0001-find-inline.patch
%description
"simul" is an MPI coordinated test of parallel filesystem system calls and
library functions. It was designed to perform filesystem operations
simultaneously from many nodes and processes to test the correctness
and coherence of parallel filesystems.
%if %{with_mpich}
%package mpich
Summary: Simul for MPICH
BuildRequires: mpich-devel%{?_isa}
%if (0%{?suse_version} >= 1500)
BuildRequires: lua-lmod libfabric-devel
%endif
Requires: %{name}%{?_isa} = %{version}-%{release}
%description mpich
Simul for MPICH
%endif
%if %{with_openmpi}
%package openmpi
Summary: Simul for OpenMPI
BuildRequires: openmpi-devel%{?_isa}
%if (0%{?suse_version} >= 1500)
BuildRequires: lua-lmod libfabric-devel
%endif
Requires: %{name}%{?_isa} = %{version}-%{release}
%description openmpi
Simul for openmpi
%endif
%if %{with_openmpi3}
%package openmpi3
Summary: Simul for OpenMPI 3
BuildRequires: openmpi3-devel%{?_isa}
%if (0%{?suse_version} >= 1500)
BuildRequires: lua-lmod
%endif
Requires: %{name}%{?_isa} = %{version}-%{release}
%description openmpi3
Simul for OpenMPI 3
%endif
%prep
%autosetup -p1
# use $CFLAGS in build
sed -i -e 's/-O1/$(CFLAGS)/g' Makefile
cat Makefile
%build
for mpi in %{?mpi_list}; do
mkdir $mpi
%module_load $mpi
%{set_build_flags}
%make_build simul
mv simul $mpi/simul
module purge
done
%install
for mpi in %{?mpi_list}; do
pushd $mpi
install -d %{buildroot}/%{mpi_libdir}/$mpi/bin/
install -m 755 simul %{buildroot}/%{mpi_libdir}/$mpi/bin
popd
done
%files
%license COPYING
%doc README
%if %{with_mpich}
%files mpich
%{mpi_libdir}/mpich/bin/*
%endif
%if %{with_openmpi}
%files openmpi
%{mpi_libdir}/openmpi/bin/*
%endif
%if %{with_openmpi3}
%files openmpi3
%{mpi_libdir}/openmpi3/bin/*
%endif
%changelog
* Tue Jul 04 2023 Brian J. Murrell <[email protected]> - 1.16-2
- Use $CFLAGS in build
- Add documentation to main package
- Fix permissions of installed executable
- Add %%{set_build_flags} and use %%{make_build}
- Shorten Summary: and fix License:
* Fri Jul 02 2021 Omar Ocampo <[email protected]> - 1.16-1
- Initial version