Permalink
Browse files

fixes bug 927049 - package source and libs needed for JSON stackwalker

  • Loading branch information...
1 parent 1e3eda7 commit 275c4aa741cb70f005597f4cd25ae0ec0b53cad8 @rhelmer rhelmer committed Oct 16, 2013
Showing with 40 additions and 6 deletions.
  1. +1 −0 .gitignore
  2. +9 −2 Makefile
  3. +16 −4 docs/installation.rst
  4. +10 −0 puppet/manifests/socorro.pp
  5. +3 −0 scripts/build-breakpad.sh
  6. +1 −0 scripts/build.sh
View
@@ -33,3 +33,4 @@ build
# exclude filesystem storage directories
primaryCrashStore/
processedCrashStore/
+minidump-stackwalk/*.o
View
@@ -13,7 +13,7 @@ COVERAGE = $(VIRTUALENV)/bin/coverage
PYLINT = $(VIRTUALENV)/bin/pylint
JENKINS_CONF = jenkins.py.dist
-.PHONY: all test test-socorro test-webapp bootstrap install reinstall install-socorro lint clean minidump_stackwalk analysis json_enhancements_pg_extension webapp-django bixie
+.PHONY: all test test-socorro test-webapp bootstrap install reinstall install-socorro lint clean breakpad stackwalker analysis json_enhancements_pg_extension webapp-django bixie
all: test
@@ -86,8 +86,9 @@ clean:
find ./socorro/ -type f -name "*.pyc" -exec rm {} \;
rm -rf ./google-breakpad/ ./builds/ ./breakpad/ ./stackwalk ./pip-cache
rm -rf ./breakpad.tar.gz
+ cd minidump-stackwalk; make clean
-minidump_stackwalk:
+breakpad:
PREFIX=`pwd`/stackwalk/ SKIP_TAR=1 ./scripts/build-breakpad.sh
analysis: bootstrap
@@ -111,3 +112,9 @@ webapp-django: bootstrap
bixie: bootstrap
cd bixie; ./bin/jenkins.sh
+
+stackwalker:
+ # Build JSON stackwalker
+ # Depends on breakpad, run "make breakpad" if you don't have it yet
+ cd minidump-stackwalk; make
+ cp minidump-stackwalk/stackwalker stackwalk/bin
View
@@ -145,11 +145,15 @@ Install [elastic search](http://www.elasticsearch.org/)
::
rpm -ivh 'https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.4.noarch.rpm'
+Install [devtools-1.1 repository](http://people.centos.org/tru/devtools-1.1/readme), needed for stackwalker
+::
+ wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -O /etc/yum.repos.d/devtools-1.1.repo
+
Install dependencies
As the *root* user:
::
- yum install postgresql93-server postgresql93-plperl postgresql93-contrib postgresql93-devel subversion make rsync subversion gcc-c++ python-devel python-pip mercurial git libxml2-devel libxslt-devel java-1.7.0-openjdk python-virtualenv openldap-devel npm
+ yum install postgresql93-server postgresql93-plperl postgresql93-contrib postgresql93-devel subversion make rsync subversion gcc-c++ python-devel python-pip mercurial git libxml2-devel libxslt-devel java-1.7.0-openjdk python-virtualenv openldap-devel npm devtoolset-1.1-gcc-c++
Initialize and enable PostgreSQL on startup
@@ -265,11 +269,19 @@ From inside the Socorro checkout
make test
-Install minidump_stackwalk
+Install stackwalker
````````````
-This is the binary which processes breakpad crash dumps into stack traces:
+This is the binary which processes breakpad crash dumps into stack traces.
+You must build it with GCC 4.6 or above.
+
+If you are using RHEL/CentOS and installed GCC from the devtoolset repo
+(per the installation instructions), make sure to "activate" it:
+::
+ scl enable devtoolset-1.1 bash
+
+Then compile breakpad and the stackwalker binary:
::
- make minidump_stackwalk
+ make breakpad stackwalker
Populate PostgreSQL Database
````````````
@@ -33,6 +33,10 @@
descr => 'EPEL',
enabled => 1,
gpgcheck => 0;
+ 'devtools':
+ baseurl => 'http://people.centos.org/tru/devtools-1.1/$releasever/$basearch/RPMS',
+ enabled => 1,
+ gpgcheck => 0;
}
package {
@@ -83,4 +87,10 @@
require => Package['java-1.7.0-openjdk'],
ensure => 'present';
}
+
+ package {
+ 'devtoolset-1.1-gcc-c++':
+ ensure => latest,
+ require => [ Yumrepo['devtools'], Package['yum-plugin-fastestmirror']];
+ }
}
@@ -13,6 +13,8 @@ set -e
echo "PREFIX: ${PREFIX:=`pwd`/build/breakpad}"
svn co http://google-breakpad.googlecode.com/svn/trunk google-breakpad
cd google-breakpad
+mkdir -p ${PREFIX}
+rsync -a --exclude="*.svn" ./src ${PREFIX}/
./configure --prefix=${PREFIX}
make install
if test -z "${SKIP_CHECK}"; then
@@ -36,6 +38,7 @@ cd ..
# Optionally package everything up
if test -z "${SKIP_TAR}"; then
+ cp google-breakpad/src/third_party/libdisasm/libdisasm.a ${PREFIX}/src/third_party/libdisasm/
echo "Creating breakpad.tar.gz"
tar -C ${PREFIX}/.. --mode 755 --owner 0 --group 0 -zcf breakpad.tar.gz `basename ${PREFIX}`
fi
View
@@ -59,6 +59,7 @@ then
wget 'https://ci.mozilla.org/job/breakpad/lastSuccessfulBuild/artifact/breakpad.tar.gz'
tar -zxf breakpad.tar.gz
mv breakpad stackwalk
+ make stackwalker
fi
# run socorro integration test

0 comments on commit 275c4aa

Please sign in to comment.