Closed
Bug 628282
Opened 15 years ago
Closed 15 years ago
Upgrade valgrind on linux/linux64 machines to 3.6.0
Categories
(Release Engineering :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: catlee, Assigned: catlee)
References
Details
(Whiteboard: [puppet])
Attachments
(2 files, 1 obsolete file)
|
1.46 MB,
patch
|
Details | Diff | Splinter Review | |
|
1.68 KB,
patch
|
bhearsum
:
review+
catlee
:
checked-in+
|
Details | Diff | Splinter Review |
The version that's currently installed on the slaves (3.2.1) is too old to do what we want.
| Assignee | ||
Updated•15 years ago
|
Assignee: nobody → catlee
| Assignee | ||
Comment 1•15 years ago
|
||
Attachment #506777 -
Flags: review?(bhearsum)
| Assignee | ||
Comment 2•15 years ago
|
||
Not sure if this requires a review or not.
This is based on the fedora core 15 source rpm (ftp://195.220.108.108/linux/fedora/development/rawhide/source/SRPMS/valgrind-3.6.0-1.fc15.src.rpm).
I stripped out some openmpi support that I don't think we need, and also removed the glibc version dependencies.
| Assignee | ||
Comment 3•15 years ago
|
||
Comment on attachment 506779 [details] [diff] [review]
RPM spec files and patches for valgrind
fwiw, here's what I changed on the spec file:
diff --git a/valgrind/centos5-i686/valgrind.spec b/valgrind/centos5-i686/valgrind.spec
--- a/valgrind/centos5-i686/valgrind.spec
+++ b/valgrind/centos5-i686/valgrind.spec
@@ -23,24 +23,16 @@ License: GPLv2
URL: http://www.valgrind.org/
Group: Development/Debuggers
BuildRoot: %{_tmppath}/%{name}-root
Obsoletes: valgrind-callgrind
%ifarch x86_64 ppc64
# Ensure glibc{,-devel} is installed for both multilib arches
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
%endif
-%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
-BuildRequires: glibc-devel >= 2.12
-%else
-BuildRequires: glibc-devel >= 2.11
-%endif
-%ifnarch s390x
-BuildRequires: openmpi-devel >= 1.3.3
-%endif
ExclusiveArch: %{ix86} x86_64 ppc ppc64 s390x
%ifarch %{ix86}
%define valarch x86
%define valsecarch %{nil}
%endif
%ifarch x86_64
%define valarch amd64
%define valsecarch x86
@@ -76,26 +68,16 @@ find/diagnose.
Summary: Development files for valgrind
Group: Development/Debuggers
Requires: valgrind = %{epoch}:%{version}-%{release}
%description devel
Header files and libraries for development of valgrind aware programs
or valgrind plugins.
-%package openmpi
-Summary: OpenMPI support for valgrind
-Group: Development/Debuggers
-Requires: valgrind = %{epoch}:%{version}-%{release}
-
-%description openmpi
-A wrapper library for debugging OpenMPI parallel programs with valgrind.
-See file:///usr/share/doc/valgrind-%{version}/html/mc-manual.html#mc-manual.mpiwrap
-for details.
-
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
@@ -118,19 +100,16 @@ CC=gcc
mkdir -p libgcc/32
ar r libgcc/32/libgcc_s.a
ar r libgcc/libgcc_s_32.a
CC="gcc -B `pwd`/libgcc/"
%endif
%configure CC="$CC" \
CFLAGS="`echo " %{optflags} " | sed 's/ -m\(64\|3[21]\) / /g;s/ -fexceptions / /g;s/^ //;s/ $//'`" \
CXXFLAGS="`echo " %{optflags} " | sed 's/ -m\(64\|3[21]\) / /g;s/ -fexceptions / /g;s/^ //;s/ $//'`" \
-%ifnarch s390x
- --with-mpicc=%{_libdir}/openmpi/bin/mpicc
-%endif
GDB=%{_bindir}/gdb \
make %{?_smp_mflags}
# Ensure there are no unexpected file descriptors open,
# the testsuite otherwise fails.
cat > close_fds.c <<EOF
#include <stdlib.h>
@@ -196,23 +175,16 @@ rm -rf $RPM_BUILD_ROOT
%files devel
%defattr(-,root,root)
%{_includedir}/valgrind
%dir %{_libdir}/valgrind
%{_libdir}/valgrind/*.a
%{_libdir}/pkgconfig/*
-%ifnarch s390x
-%files openmpi
-%defattr(-,root,root)
-%dir %{_libdir}/valgrind
-%{_libdir}/valgrind/libmpiwrap*.so
-%endif
-
%changelog
* Fri Nov 12 2010 Jakub Jelinek <jakub@redhat.com> 3.6.0-1
- update to 3.6.0
- add s390x support (#632354)
- provide a replacement for str{,n}casecmp{,_l} (#626470)
* Tue May 18 2010 Jakub Jelinek <jakub@redhat.com> 3.5.0-18
- rebuilt against glibc 2.12
| Assignee | ||
Comment 4•15 years ago
|
||
The i686 rpms were built on staging-master, and the x86_64 rpms were built on moz2-linux64-slave07.
Comment 5•15 years ago
|
||
Comment on attachment 506777 [details] [diff] [review]
Manifests to install valgrind 3.6 on linux/linux64 build slaves
Hmmm, I'm surprised that this works, actually... -- the "check-for-${name}" exec should be detecting that "/usr/bin/valgrind" already exists, and then running "rpm -i --justdb --ignoresize" on it. I do see that linux-ix-slave01 has the right version though....did you by chance uninstall the previous version before running Puppet?
Comment 6•15 years ago
|
||
(In reply to comment #5)
> Comment on attachment 506777 [details] [diff] [review]
> Manifests to install valgrind 3.6 on linux/linux64 build slaves
>
> Hmmm, I'm surprised that this works, actually... -- the "check-for-${name}"
> exec should be detecting that "/usr/bin/valgrind" already exists, and then
> running "rpm -i --justdb --ignoresize" on it. I do see that linux-ix-slave01
> has the right version though....did you by chance uninstall the previous
> version before running Puppet?
Ack. I'm wrong about this -- that only runs if an RPM by the given name isn't installed. What you're doing is exactly right for upgrading an existing package AFAICT.
Updated•15 years ago
|
Attachment #506777 -
Flags: review?(bhearsum) → review+
| Assignee | ||
Comment 7•15 years ago
|
||
Comment on attachment 506777 [details] [diff] [review]
Manifests to install valgrind 3.6 on linux/linux64 build slaves
changeset: 279:82a74bef495d
Attachment #506777 -
Flags: checked-in+
| Assignee | ||
Comment 8•15 years ago
|
||
Comment on attachment 506777 [details] [diff] [review]
Manifests to install valgrind 3.6 on linux/linux64 build slaves
for some reason production slaves couldn't upgrade to this version because of rpm conflicts:
Jan 27 06:33:05 moz2-linux64-slave05 puppetd[4868]: (//Node[moz2-linux64-slave05.build.mozilla.org]/buildslave/moz-rpms/Install_rpm[valgrind]/Package[valgrind]/ensure) change from 3.2.1-6.el5 to 3.6.0-1 failed: Could not update: Execution of '/bin/rpm -U --oldpackage http://production-puppet.build.mozilla.org/production/centos5-x86_64/build/RPMs/valgrind-3.6.0-1.x86_64.rpm' returned 2: file /usr/bin/callgrind_annotate from install of valgrind-3.6.0-1 conflicts with file from package valgrind-3.2.1-6.el5 file /usr/bin/callgrind_control from install of valgrind-3.6.0-1 conflicts with file from package valgrind-3.2.1-6.el5 file /usr/bin/cg_annotate from install of valgrind-3.6.0-1 conflicts with file from package valgrind-3.2.1-6.el5 file /usr/share/man/man1/valgrind.1.gz from install of valgrind-3.6.0-1 conflicts with file from package valgrind-3.2.1-6.el5 at /etc/puppet/manifests/includes/functions.pp:20
Attachment #506777 -
Flags: checked-in+ → checked-in-
| Assignee | ||
Comment 9•15 years ago
|
||
Same as before, except now we check for valgrind 3.2.1 and remove it with rpm -e --allmatches before installing the new version. Future valgrind upgrades shouldn't require this.
Attachment #506777 -
Attachment is obsolete: true
Attachment #507588 -
Flags: review?(bhearsum)
Updated•15 years ago
|
Attachment #507588 -
Flags: review?(bhearsum) → review+
| Assignee | ||
Comment 10•15 years ago
|
||
Comment on attachment 507588 [details] [diff] [review]
Add an exec clause to remove the old valgrind forcibly if required
http://hg.mozilla.org/build/puppet-manifests/rev/6dd8e4168a0d
Attachment #507588 -
Flags: checked-in+
| Assignee | ||
Updated•15 years ago
|
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Updated•12 years ago
|
Product: mozilla.org → Release Engineering
You need to log in
before you can comment on or make changes to this bug.
Description
•