[12020] | 1 | %bcond_with check |
---|
| 2 | |
---|
[9437] | 3 | # Only arches that are supported upstream as multilib and that the distro |
---|
| 4 | # has multilib builds for should set build_multilib 1. In practice that |
---|
| 5 | # is only x86_64 and ppc64 (but not in fedora 21 and later, and never |
---|
| 6 | # for ppc64le). |
---|
| 7 | %global build_multilib 0 |
---|
[521] | 8 | |
---|
[9437] | 9 | %ifarch x86_64 ppc64 |
---|
| 10 | %global build_multilib 1 |
---|
| 11 | %endif |
---|
[1995] | 12 | |
---|
[9437] | 13 | # Vine Linux doesn't have openmpi package |
---|
| 14 | #ifarch %{ix86} x86_64 ppc ppc64 ppc64le %{arm} aarch64 |
---|
| 15 | #global build_openmpi 1 |
---|
| 16 | #else |
---|
| 17 | %global build_openmpi 0 |
---|
| 18 | #endif |
---|
[1995] | 19 | |
---|
[12020] | 20 | %global run_full_regtest 0 |
---|
| 21 | %global build_tools_devel 0 |
---|
| 22 | |
---|
[9437] | 23 | # Don't run dwz or generate minisymtab, valgrind doesn't handle compressed |
---|
| 24 | # DWARF very well and it might read its own vgpreload libraries. Generating |
---|
| 25 | # minisymtabs doesn't really work for the staticly linked tools. |
---|
| 26 | %define _find_debuginfo_dwz_opts %{nil} |
---|
| 27 | %undefine _include_minidebuginfo |
---|
| 28 | |
---|
[12020] | 29 | Name: valgrind |
---|
| 30 | Version: 3.14.0 |
---|
| 31 | Release: 1%{?_dist_release} |
---|
| 32 | Summary: Tool for finding memory management bugs in programs |
---|
| 33 | Summary(ja): プログラムのメモリ管理バグを発見するためのツール |
---|
[9437] | 34 | |
---|
[12020] | 35 | Vendor: Project Vine |
---|
| 36 | Distribution: Vine Linux |
---|
[9437] | 37 | |
---|
[12020] | 38 | License: GPLv2+ |
---|
| 39 | Group: Development/Debuggers |
---|
| 40 | URL: http://valgrind.org/ |
---|
[9437] | 41 | |
---|
[12020] | 42 | Source0: http://valgrind.org/downloads/%{name}-%{version}.tar.bz2 |
---|
| 43 | |
---|
[9437] | 44 | # Needs investigation and pushing upstream |
---|
[11299] | 45 | Patch1: valgrind-3.9.0-cachegrind-improvements.patch |
---|
| 46 | |
---|
[9437] | 47 | # KDE#211352 - helgrind races in helgrind's own mythread_wrapper |
---|
[11299] | 48 | Patch2: valgrind-3.9.0-helgrind-race-supp.patch |
---|
| 49 | |
---|
[9437] | 50 | # Make ld.so supressions slightly less specific. |
---|
[11299] | 51 | Patch3: valgrind-3.9.0-ldso-supp.patch |
---|
[9437] | 52 | |
---|
[12020] | 53 | # KDE#400490 s390x: Fix register allocation for VRs vs FPRs |
---|
| 54 | Patch4: valgrind-3.14.0-s390x-fix-reg-alloc-vr-vs-fpr.patch |
---|
[11299] | 55 | |
---|
[12020] | 56 | # KDE#400491 s390x: Sign-extend immediate operand of LOCHI and friends |
---|
| 57 | Patch5: valgrind-3.14.0-s390x-sign-extend-lochi.patch |
---|
[11299] | 58 | |
---|
[12020] | 59 | # KDE#397187 s390x: Add vector register support for vgdb |
---|
| 60 | Patch6: valgrind-3.14.0-s390x-vec-reg-vgdb.patch |
---|
[11299] | 61 | |
---|
[12020] | 62 | # KDE#385411 s390x: z13 vector floating-point instructions not implemented |
---|
| 63 | Patch7: valgrind-3.14.0-s390x-vec-float-point-code.patch |
---|
| 64 | Patch8: valgrind-3.14.0-s390x-vec-float-point-tests.patch |
---|
[11299] | 65 | |
---|
[12020] | 66 | # KDE#401277 More bugs in z13 support |
---|
| 67 | Patch9: valgrind-3.14.0-s390z-more-z13-fixes.patch |
---|
[11299] | 68 | |
---|
[12020] | 69 | # KDE#386945 Bogus memcheck errors on ppc64(le) when using strcmp |
---|
| 70 | Patch10: valgrind-3.14.0-get_otrack_shadow_offset_wrk-ppc.patch |
---|
| 71 | Patch11: valgrind-3.14.0-new-strlen-IROps.patch |
---|
| 72 | Patch12: valgrind-3.14.0-ppc-instr-new-IROps.patch |
---|
| 73 | Patch13: valgrind-3.14.0-memcheck-new-IROps.patch |
---|
| 74 | Patch14: valgrind-3.14.0-ppc-frontend-new-IROps.patch |
---|
| 75 | Patch15: valgrind-3.14.0-transform-popcount64-ctznat64.patch |
---|
| 76 | Patch16: valgrind-3.14.0-enable-ppc-Iop_Sar_Shr8.patch |
---|
[11299] | 77 | |
---|
[12020] | 78 | # KDE#401627 memcheck errors with glibc avx2 optimized wcsncmp |
---|
| 79 | Patch17: valgrind-3.14.0-wcsncmp.patch |
---|
[11299] | 80 | |
---|
[12020] | 81 | # KDE#402006 mark helper regs defined in final_tidyup before freeres_wrapper |
---|
| 82 | # Prereq for KDE#386945 |
---|
| 83 | Patch18: valgrind-3.14.0-final_tidyup.patch |
---|
[11299] | 84 | |
---|
[12020] | 85 | # KDE#386945 Bogus memcheck errors on ppc64(le) when using strcmp |
---|
| 86 | # See also patches 10 to 16 (yes, there are this many...) |
---|
| 87 | Patch19: valgrind-3.14.0-ppc64-ldbrx.patch |
---|
| 88 | Patch20: valgrind-3.14.0-ppc64-unaligned-words.patch |
---|
| 89 | Patch21: valgrind-3.14.0-ppc64-lxvd2x.patch |
---|
| 90 | Patch22: valgrind-3.14.0-ppc64-unaligned-vecs.patch |
---|
| 91 | Patch23: valgrind-3.14.0-ppc64-lxvb16x.patch |
---|
| 92 | Patch24: valgrind-3.14.0-set_AV_CR6.patch |
---|
| 93 | Patch25: valgrind-3.14.0-undef_malloc_args.patch |
---|
[11299] | 94 | |
---|
[12020] | 95 | # KDE#401822 none/tests/ppc64/jm-vmx fails and produces assembler warnings |
---|
| 96 | Patch26: valgrind-3.14.0-jm-vmx-constraints.patch |
---|
[11299] | 97 | |
---|
[12020] | 98 | # commit 0c701ba2a Fix sigkill.stderr.exp for glibc-2.28. |
---|
| 99 | Patch27: valgrind-3.14.0-sigkill.patch |
---|
[11299] | 100 | |
---|
[12020] | 101 | # KDE#402048 Implement minimal ptrace support for ppc64[le]-linux. |
---|
| 102 | Patch28: valgrind-3.14.0-ppc64-ptrace.patch |
---|
[11299] | 103 | |
---|
[12020] | 104 | # commit 43fe4bc23 arm64: Fix PTRACE_TRACEME |
---|
| 105 | Patch29: valgrind-3.14.0-arm64-ptrace-traceme.patch |
---|
[11299] | 106 | |
---|
[12020] | 107 | # KDE#402134 - assert fail mc_translate.c (noteTmpUsesIn) Iex_VECRET on arm64 |
---|
| 108 | Patch30: valgrind-3.14.0-mc_translate-vecret.patch |
---|
[11299] | 109 | |
---|
[12020] | 110 | # KDE#402481 vbit-test fails on x86 for Iop_CmpEQ64 iselInt64Expr Sar64 |
---|
| 111 | Patch31: valgrind-3.14.0-vbit-test-sec.patch |
---|
| 112 | Patch32: valgrind-3.14.0-x86-Iop_Sar64.patch |
---|
[11299] | 113 | |
---|
[12020] | 114 | # KDE#402519 POWER 3.0 addex instruction incorrectly implemented |
---|
| 115 | Patch33: valgrind-3.14.0-power9-addex.patch |
---|
[11299] | 116 | |
---|
[12020] | 117 | # KDE#402480 Do not use %rsp in clobber list |
---|
| 118 | Patch34: valgrind-3.14.0-rsp-clobber.patch |
---|
| 119 | |
---|
| 120 | # commit 3528f8 Accept DW_TAG_subrange_type with DW_AT_count |
---|
| 121 | Patch35: valgrind-3.14.0-subrange_type-count.patch |
---|
| 122 | |
---|
[9437] | 123 | Buildroot: %{_tmppath}/%{name}-%{version}-root |
---|
| 124 | %if %{build_multilib} |
---|
| 125 | # Ensure glibc{,-devel} is installed for both multilib arches |
---|
[11299] | 126 | BuildRequires: compat32-glibc-devel |
---|
[9437] | 127 | %endif |
---|
| 128 | BuildRequires: glibc-devel >= 2.14 |
---|
| 129 | %if %{build_openmpi} |
---|
| 130 | BuildRequires: openmpi-devel >= 1.3.3 |
---|
| 131 | %endif |
---|
| 132 | |
---|
| 133 | # For %%build and %%check. |
---|
| 134 | # In case of a software collection, pick the matching gdb and binutils. |
---|
| 135 | BuildRequires: gdb |
---|
| 136 | BuildRequires: binutils |
---|
| 137 | |
---|
| 138 | # gdbserver_tests/filter_make_empty uses ps in test |
---|
| 139 | BuildRequires: procps |
---|
| 140 | |
---|
| 141 | ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 |
---|
| 142 | %ifarch %{ix86} |
---|
| 143 | %define valarch x86 |
---|
| 144 | %define valsecarch %{nil} |
---|
| 145 | %endif |
---|
| 146 | %ifarch x86_64 |
---|
| 147 | %define valarch amd64 |
---|
| 148 | %define valsecarch x86 |
---|
| 149 | %endif |
---|
| 150 | %ifarch ppc |
---|
| 151 | %define valarch ppc32 |
---|
| 152 | %define valsecarch %{nil} |
---|
| 153 | %endif |
---|
| 154 | %ifarch ppc64 |
---|
| 155 | %define valarch ppc64be |
---|
| 156 | %if %{build_multilib} |
---|
| 157 | %define valsecarch ppc32 |
---|
| 158 | %else |
---|
| 159 | %define valsecarch %{nil} |
---|
| 160 | %endif |
---|
| 161 | %endif |
---|
| 162 | %ifarch ppc64le |
---|
| 163 | %define valarch ppc64le |
---|
| 164 | %define valsecarch %{nil} |
---|
| 165 | %endif |
---|
| 166 | %ifarch s390x |
---|
| 167 | %define valarch s390x |
---|
| 168 | %define valsecarch %{nil} |
---|
| 169 | %endif |
---|
| 170 | %ifarch armv7hl |
---|
| 171 | %define valarch arm |
---|
| 172 | %define valsecarch %{nil} |
---|
| 173 | %endif |
---|
| 174 | %ifarch aarch64 |
---|
| 175 | %define valarch arm64 |
---|
| 176 | %define valsecarch %{nil} |
---|
| 177 | %endif |
---|
| 178 | |
---|
| 179 | # Don't run dwz or generate minisymtab, valgrind doesn't handle compressed |
---|
| 180 | # DWARF very well and it might read its own vgpreload libraries. Generating |
---|
| 181 | # minisymtabs doesn't really work for the staticly linked tools. |
---|
| 182 | %define _find_debuginfo_dwz_opts %{nil} |
---|
| 183 | %undefine _include_minidebuginfo |
---|
| 184 | |
---|
| 185 | |
---|
[521] | 186 | %description |
---|
[1995] | 187 | Valgrind is a tool to help you find memory-management problems in your |
---|
| 188 | programs. When a program is run under Valgrind's supervision, all |
---|
| 189 | reads and writes of memory are checked, and calls to |
---|
| 190 | malloc/new/free/delete are intercepted. As a result, Valgrind can |
---|
| 191 | detect a lot of problems that are otherwise very hard to |
---|
| 192 | find/diagnose. |
---|
[521] | 193 | |
---|
[1995] | 194 | %package devel |
---|
[9437] | 195 | Summary: Development files for valgrind |
---|
| 196 | Summary(ja): Valgrind の開発用ファイル |
---|
| 197 | Group: Development/Libraries |
---|
| 198 | Requires: %{name} = %{version}-%{release} |
---|
| 199 | Provides: %{name}-static = %{version}-%{release} |
---|
[521] | 200 | |
---|
[1995] | 201 | %description devel |
---|
| 202 | Header files and libraries for development of valgrind aware programs |
---|
| 203 | or valgrind plugins. |
---|
[521] | 204 | |
---|
[9437] | 205 | %package openmpi |
---|
| 206 | Summary: OpenMPI support for valgrind |
---|
| 207 | Summary(ja): Valgrind の OpenMPI サポート |
---|
| 208 | Group: Development/Debuggers |
---|
| 209 | Requires: %{name} = %{version}-%{release} |
---|
[1995] | 210 | |
---|
[9437] | 211 | %description openmpi |
---|
| 212 | A wrapper library for debugging OpenMPI parallel programs with valgrind. |
---|
| 213 | See the section on Debugging MPI Parallel Programs with Valgrind in the |
---|
| 214 | Valgrind User Manual for details. |
---|
| 215 | |
---|
| 216 | |
---|
[521] | 217 | %prep |
---|
| 218 | %setup -q -n %{name}-%{version} |
---|
[1995] | 219 | %patch1 -p1 |
---|
| 220 | %patch2 -p1 |
---|
| 221 | %patch3 -p1 |
---|
[6011] | 222 | %patch4 -p1 |
---|
| 223 | %patch5 -p1 |
---|
| 224 | %patch6 -p1 |
---|
| 225 | %patch7 -p1 |
---|
| 226 | %patch8 -p1 |
---|
[1995] | 227 | %patch9 -p1 |
---|
[6011] | 228 | %patch10 -p1 |
---|
[11299] | 229 | %patch11 -p1 |
---|
| 230 | %patch12 -p1 |
---|
| 231 | %patch13 -p1 |
---|
| 232 | %patch14 -p1 |
---|
| 233 | %patch15 -p1 |
---|
| 234 | %patch16 -p1 |
---|
| 235 | %patch17 -p1 |
---|
| 236 | %patch18 -p1 |
---|
| 237 | %patch19 -p1 |
---|
[12020] | 238 | %patch20 -p1 |
---|
| 239 | %patch21 -p1 |
---|
| 240 | %patch22 -p1 |
---|
| 241 | %patch23 -p1 |
---|
| 242 | %patch24 -p1 |
---|
| 243 | %patch25 -p1 |
---|
| 244 | %patch26 -p1 |
---|
| 245 | %patch27 -p1 |
---|
| 246 | %patch28 -p1 |
---|
| 247 | %patch29 -p1 |
---|
| 248 | %patch30 -p1 |
---|
| 249 | %patch31 -p1 |
---|
| 250 | %patch32 -p1 |
---|
| 251 | %patch33 -p1 |
---|
| 252 | %patch34 -p1 |
---|
| 253 | %patch35 -p1 |
---|
[521] | 254 | |
---|
| 255 | %build |
---|
[9437] | 256 | CC=gcc |
---|
| 257 | %if %{build_multilib} |
---|
| 258 | # Ugly hack - libgcc 32-bit package might not be installed |
---|
| 259 | mkdir -p shared/libgcc/32 |
---|
| 260 | ar r shared/libgcc/32/libgcc_s.a |
---|
| 261 | ar r shared/libgcc/libgcc_s_32.a |
---|
| 262 | CC="gcc -B `pwd`/shared/libgcc/" |
---|
| 263 | %endif |
---|
| 264 | |
---|
[12020] | 265 | # Old openmpi-devel has version depended paths for mpicc. |
---|
| 266 | %if %{build_openmpi} |
---|
| 267 | %if 0%{?fedora} >= 13 || 0%{?rhel} >= 6 |
---|
| 268 | %define mpiccpath %{!?scl:%{_libdir}}%{?scl:%{_root_libdir}}/openmpi/bin/mpicc |
---|
| 269 | %else |
---|
| 270 | %define mpiccpath %{!?scl:%{_libdir}}%{?scl:%{_root_libdir}}/openmpi/*/bin/mpicc |
---|
| 271 | %endif |
---|
| 272 | %else |
---|
| 273 | # We explicitly don't want the libmpi wrapper. So make sure that configure |
---|
| 274 | # doesn't pick some random mpi compiler that happens to be installed. |
---|
| 275 | %define mpiccpath /bin/false |
---|
| 276 | %endif |
---|
[9437] | 277 | |
---|
| 278 | # Filter out some flags that cause lots of valgrind test failures. |
---|
| 279 | # Also filter away -O2, valgrind adds it wherever suitable, but |
---|
| 280 | # not for tests which should be -O0, as they aren't meant to be |
---|
| 281 | # compiled with -O2 unless explicitely requested. Same for any -mcpu flag. |
---|
| 282 | # Ideally we will change this to only be done for the non-primary build |
---|
[12020] | 283 | # and the test suite. Also disable strict symbol checks because the |
---|
| 284 | # vg_preload library will use hidden/undefined symbols from glibc |
---|
| 285 | # like __libc_freeres. |
---|
| 286 | %undefine _hardened_build |
---|
| 287 | %undefine _strict_symbol_defs_build |
---|
| 288 | OPTFLAGS="`echo " %{optflags} " | sed 's/ -m\(64\|3[21]\) / /g;s/ -fexceptions / /g;s/ -fstack-protector\([-a-z]*\) / / g;s/ -Wp,-D_FORTIFY_SOURCE=2 / /g;s/ -O2 / /g;s/ -mcpu=\([a-z0-9]\+\) / /g;s/^ //;s/ $//'`" |
---|
[9437] | 289 | %configure CC="$CC" CFLAGS="$OPTFLAGS" CXXFLAGS="$OPTFLAGS" \ |
---|
[12020] | 290 | --with-mpicc=%{mpiccpath} \ |
---|
| 291 | GDB=%{_bindir}/gdb |
---|
[9437] | 292 | |
---|
[521] | 293 | make %{?_smp_mflags} |
---|
| 294 | |
---|
[9437] | 295 | # Ensure there are no unexpected file descriptors open, |
---|
| 296 | # the testsuite otherwise fails. |
---|
| 297 | cat > close_fds.c <<EOF |
---|
| 298 | #include <stdlib.h> |
---|
| 299 | #include <unistd.h> |
---|
| 300 | int main (int argc, char *const argv[]) |
---|
| 301 | { |
---|
| 302 | int i, j = sysconf (_SC_OPEN_MAX); |
---|
| 303 | if (j < 0) |
---|
| 304 | exit (1); |
---|
| 305 | for (i = 3; i < j; ++i) |
---|
| 306 | close (i); |
---|
| 307 | execvp (argv[1], argv + 1); |
---|
| 308 | exit (1); |
---|
| 309 | } |
---|
| 310 | EOF |
---|
| 311 | gcc $RPM_OPT_FLAGS -o close_fds close_fds.c |
---|
[521] | 312 | |
---|
| 313 | %install |
---|
| 314 | rm -rf $RPM_BUILD_ROOT |
---|
[12020] | 315 | make DESTDIR=$RPM_BUILD_ROOT install |
---|
| 316 | mkdir docs/installed |
---|
| 317 | mv $RPM_BUILD_ROOT%{_datadir}/doc/valgrind/* docs/installed/ |
---|
| 318 | rm -f docs/installed/*.ps |
---|
[521] | 319 | |
---|
| 320 | |
---|
[12020] | 321 | # We want the MPI wrapper installed under the openmpi libdir so the script |
---|
| 322 | # generating the MPI library requires picks them up and sets up the right |
---|
| 323 | # openmpi libmpi.so requires. Install symlinks in the original/upstream |
---|
| 324 | # location for backwards compatibility. |
---|
| 325 | %if %{build_openmpi} |
---|
| 326 | pushd $RPM_BUILD_ROOT%{_libdir} |
---|
| 327 | mkdir -p openmpi/valgrind |
---|
| 328 | cd valgrind |
---|
| 329 | mv libmpiwrap-%{valarch}-linux.so ../openmpi/valgrind/ |
---|
| 330 | ln -s ../openmpi/valgrind/libmpiwrap-%{valarch}-linux.so |
---|
| 331 | popd |
---|
| 332 | %endif |
---|
| 333 | |
---|
[9437] | 334 | %if "%{valsecarch}" != "" |
---|
| 335 | pushd $RPM_BUILD_ROOT%{_libdir}/valgrind/ |
---|
| 336 | rm -f *-%{valsecarch}-* || : |
---|
| 337 | for i in *-%{valarch}-*; do |
---|
[12020] | 338 | j=`echo $i | sed 's/-%{valarch}-/-%{valsecarch}-/'` |
---|
| 339 | ln -sf ../../lib/valgrind/$j $j |
---|
[9437] | 340 | done |
---|
| 341 | popd |
---|
| 342 | %endif |
---|
| 343 | |
---|
[1995] | 344 | # remove unuse files |
---|
[9437] | 345 | rm -f $RPM_BUILD_ROOT%{_libdir}/valgrind/*.supp.in |
---|
[521] | 346 | |
---|
[12020] | 347 | %if %{build_tools_devel} |
---|
[9437] | 348 | %ifarch %{ix86} x86_64 |
---|
| 349 | # To avoid multilib clashes in between i?86 and x86_64, |
---|
| 350 | # tweak installed <valgrind/config.h> a little bit. |
---|
[12020] | 351 | for i in HAVE_PTHREAD_CREATE_GLIBC_2_0 HAVE_PTRACE_GETREGS HAVE_AS_AMD64_FXSAVE64 \ |
---|
| 352 | ; do |
---|
[9437] | 353 | sed -i -e 's,^\(#define '$i' 1\|/\* #undef '$i' \*/\)$,#ifdef __x86_64__\n# define '$i' 1\n#endif,' \ |
---|
[12020] | 354 | $RPM_BUILD_ROOT%{_includedir}/valgrind/config.h |
---|
[9437] | 355 | done |
---|
| 356 | %endif |
---|
[12020] | 357 | %else |
---|
| 358 | # Remove files we aren't going to package. |
---|
| 359 | # See tools-devel files. |
---|
| 360 | rm $RPM_BUILD_ROOT%{_includedir}/valgrind/config.h |
---|
| 361 | rm $RPM_BUILD_ROOT%{_includedir}/valgrind/libvex*h |
---|
| 362 | rm $RPM_BUILD_ROOT%{_includedir}/valgrind/pub_tool_*h |
---|
| 363 | rm -rf $RPM_BUILD_ROOT%{_includedir}/valgrind/vki |
---|
| 364 | rm $RPM_BUILD_ROOT%{_libdir}/valgrind/*.a |
---|
| 365 | %endif |
---|
[9437] | 366 | |
---|
[12020] | 367 | # We don't want debuginfo generated for the vgpreload libraries. |
---|
| 368 | # Turn off execute bit so they aren't included in the debuginfo.list. |
---|
| 369 | # We'll turn the execute bit on again in %%files. |
---|
| 370 | chmod 644 $RPM_BUILD_ROOT%{_libdir}/valgrind/vgpreload*-%{valarch}-*so |
---|
[9437] | 371 | |
---|
[12020] | 372 | |
---|
| 373 | %if %{with check} |
---|
[9437] | 374 | %check |
---|
[12020] | 375 | # Make sure a basic binary runs. There should be no errors. |
---|
| 376 | ./vg-in-place --error-exitcode=1 /bin/true |
---|
[9437] | 377 | |
---|
[12020] | 378 | # Build the test files with the software collection compiler if available. |
---|
| 379 | %{?scl:PATH=%{_bindir}${PATH:+:${PATH}}} |
---|
| 380 | # Make sure no extra CFLAGS, CXXFLAGS or LDFLAGS leak through, |
---|
| 381 | # the testsuite sets all flags necessary. See also configure above. |
---|
| 382 | make %{?_smp_mflags} CFLAGS="" CXXFLAGS="" LDFLAGS="" check |
---|
[9437] | 383 | |
---|
[12020] | 384 | # Workaround https://bugzilla.redhat.com/show_bug.cgi?id=1434601 |
---|
| 385 | # for gdbserver tests. |
---|
| 386 | export PYTHONCOERCECLOCALE=0 |
---|
| 387 | |
---|
[9437] | 388 | echo ===============TESTING=================== |
---|
[12020] | 389 | %if 0%{?run_full_regtest} |
---|
| 390 | ./close_fds make regtest || : |
---|
| 391 | %else |
---|
| 392 | ./close_fds make nonexp-regtest || : |
---|
| 393 | %endif |
---|
[9437] | 394 | |
---|
| 395 | # Make sure test failures show up in build.log |
---|
| 396 | # Gather up the diffs (at most the first 20 lines for each one) |
---|
| 397 | MAX_LINES=20 |
---|
[12020] | 398 | diff_files=`find */tests -name '*.diff*' | sort` |
---|
[9437] | 399 | if [ z"$diff_files" = z ] ; then |
---|
| 400 | echo "Congratulations, all tests passed!" >> diffs |
---|
| 401 | else |
---|
| 402 | for i in $diff_files ; do |
---|
| 403 | echo "=================================================" >> diffs |
---|
| 404 | echo $i >> diffs |
---|
| 405 | echo "=================================================" >> diffs |
---|
| 406 | if [ `wc -l < $i` -le $MAX_LINES ] ; then |
---|
| 407 | cat $i >> diffs |
---|
| 408 | else |
---|
| 409 | head -n $MAX_LINES $i >> diffs |
---|
| 410 | echo "<truncated beyond $MAX_LINES lines>" >> diffs |
---|
| 411 | fi |
---|
| 412 | done |
---|
| 413 | fi |
---|
| 414 | cat diffs |
---|
| 415 | echo ===============END TESTING=============== |
---|
| 416 | |
---|
[12020] | 417 | %endif |
---|
[9437] | 418 | |
---|
[12020] | 419 | |
---|
[521] | 420 | %clean |
---|
| 421 | [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf ${RPM_BUILD_ROOT} |
---|
| 422 | |
---|
| 423 | %files |
---|
| 424 | %defattr(-,root,root) |
---|
[12020] | 425 | %license COPYING |
---|
| 426 | %doc NEWS README_* |
---|
| 427 | %doc docs/installed/html docs/installed/*.pdf |
---|
[521] | 428 | %{_bindir}/* |
---|
[1995] | 429 | %dir %{_libdir}/%{name} |
---|
[9437] | 430 | %{_libdir}/%{name}/*[^ao] |
---|
| 431 | %{_libdir}/%{name}/[^l]*o |
---|
[1995] | 432 | %{_mandir}/man1/* |
---|
[521] | 433 | |
---|
[1995] | 434 | %files devel |
---|
[521] | 435 | %defattr(-,root,root) |
---|
[12020] | 436 | %dir %{_includedir}/valgrind |
---|
| 437 | %{_includedir}/valgrind/valgrind.h |
---|
| 438 | %{_includedir}/valgrind/callgrind.h |
---|
| 439 | %{_includedir}/valgrind/drd.h |
---|
| 440 | %{_includedir}/valgrind/helgrind.h |
---|
| 441 | %{_includedir}/valgrind/memcheck.h |
---|
| 442 | %{_libdir}/pkgconfig/valgrind.pc |
---|
[521] | 443 | |
---|
[12020] | 444 | %if %{build_tools_devel} |
---|
| 445 | %files tools-devel |
---|
| 446 | %{_includedir}/valgrind/config.h |
---|
| 447 | %{_includedir}/valgrind/libvex*h |
---|
| 448 | %{_includedir}/valgrind/pub_tool_*h |
---|
| 449 | %{_includedir}/valgrind/vki |
---|
| 450 | %dir %{_libdir}/valgrind |
---|
| 451 | %{_libdir}/valgrind/*.a |
---|
| 452 | %endif |
---|
| 453 | |
---|
[9437] | 454 | %if %{build_openmpi} |
---|
| 455 | %files openmpi |
---|
| 456 | %defattr(-,root,root) |
---|
[12020] | 457 | %dir %{_libdir}/valgrind |
---|
| 458 | %{_libdir}/openmpi/valgrind/libmpiwrap*.so |
---|
| 459 | %{_libdir}/valgrind/libmpiwrap*.so |
---|
[9437] | 460 | %endif |
---|
[1995] | 461 | |
---|
[9437] | 462 | |
---|
[521] | 463 | %changelog |
---|
[12020] | 464 | * Tue Jan 22 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.14.0-1 |
---|
| 465 | - dropped Patch4-19. |
---|
| 466 | - import Patch4-35 from rawhide. |
---|
| 467 | |
---|
[11299] | 468 | * Fri Dec 22 2017 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.13.0-1 |
---|
| 469 | - updated to 3.13.0. |
---|
| 470 | - replaced all Patches (from rawhide). |
---|
| 471 | |
---|
[9437] | 472 | * Mon Mar 16 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.10.1-1 |
---|
| 473 | - updated valgrind to 3.10.1 based on fedora 3.10.1-6 |
---|
| 474 | - replaced all Patches (from fedora) |
---|
| 475 | |
---|
[6011] | 476 | * Wed Apr 18 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.7.0-1 |
---|
| 477 | - updated valgrind to 3.7.0 |
---|
| 478 | - replace all Patches (from fedora) |
---|
| 479 | |
---|
[2201] | 480 | * Thu Nov 11 2010 Shu KONNO <owa@bg.wakwak.com> 3.6.0-1 |
---|
| 481 | - updated valgrind to 3.6.0 |
---|
| 482 | - updated BR: glibc-devel <= 2.12 |
---|
| 483 | - added BR: gcc <= 4.5 |
---|
| 484 | - added RQ: glibc <= 2.12 |
---|
| 485 | |
---|
[1995] | 486 | * Tue Oct 05 2010 Shu KONNO <owa@bg.wakwak.com> 3.5.0-1 |
---|
| 487 | - updated valgrind to 3.5.0 |
---|
| 488 | - added BR: glibc-devel >= 2.11 |
---|
| 489 | - split %{name}-devel |
---|
| 490 | - added patches (from fedora core 12) |
---|
| 491 | - valgrind-3.5.0-cachegrind-improvements.patch |
---|
| 492 | - valgrind-3.5.0-openat.patch |
---|
| 493 | - valgrind-3.5.0-glibc-2.10.1.patch |
---|
| 494 | - valgrind-3.5.0-ifunc.patch |
---|
| 495 | - valgrind-3.5.0-inotify-init1.patch |
---|
| 496 | - valgrind-3.5.0-mmap-mprotect.patch |
---|
| 497 | - valgrind-3.5.0-dwarf3.patch |
---|
| 498 | - valgrind-3.5.0-pr40659.patch |
---|
| 499 | - valgrind-3.5.0-helgrind-race-supp.patch |
---|
| 500 | - valgrind-3.5.0-ppc-tests.patch |
---|
| 501 | - valgrind-3.5.0-amd64-loopnel.patch |
---|
| 502 | - valgrind-3.5.0-ppc-dwarf3.patch |
---|
| 503 | - valgrind-3.5.0-amd64-adcsbb.patch |
---|
| 504 | - valgrind-3.5.0-syscalls.patch |
---|
| 505 | - valgrind-3.5.0-preadv.patch |
---|
| 506 | - valgrind-3.5.0-glibc-2.11.patch |
---|
| 507 | |
---|
[521] | 508 | * Sun Apr 19 2009 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 3.4.1-1vl5 |
---|
| 509 | - new upstream release |
---|
| 510 | - changed Group to Development/Tools |
---|
| 511 | |
---|
| 512 | * Sun Aug 24 2008 Shu KONNO <owa@bg.wakwak.com> 3.3.1-1vl5 |
---|
| 513 | - packaged new |
---|
| 514 | |
---|