Closed Bug 838259 Opened 13 years ago Closed 12 years ago

Update DXR master to a newer version

Categories

(Release Engineering :: General, defect)

x86_64
Windows 7
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jcranmer, Unassigned)

References

Details

Attachments

(3 files, 11 obsolete files)

434.38 KB, application/gzip
Details
5.81 KB, patch
rail
: review+
Details | Diff | Splinter Review
930 bytes, patch
rail
: review+
Details | Diff | Splinter Review
This requires changing several scripts and uploading tarballs, so I want to have a test version run first.
Attached file New copy of build environment (obsolete) —
Attached patch Patch for testing (obsolete) — Splinter Review
Modulo the fact that the manifest entry for dxr-build-env.tar.gz has to be changed, and the fact that I'm using a separate repository clone for the test, this should be the patch to the buildbot scripts that would go into production.
Attached patch dxr.sh fixes (obsolete) — Splinter Review
I had to change the script to make it work: * removed setup.sh from the manifest (it's not used) * updated dxr-build-env.tar.gz information in the manifest (implying that te attached tarball is suposed to be used) * chmoded dxr.sh 755 (reverted 644 done by the patch) * commands passed to mock --shell should be quoted BTW, can we add "set -x" to the top of the script to make it more verbose? ATM, the script fails with the following errors: https://gist.github.com/rail/4719860
Attached patch Updated test patch (obsolete) — Splinter Review
Okay, I had paths wrong. This new patch adds a set -x and should have correct paths.
Attachment #710297 - Attachment is obsolete: true
Attachment #710481 - Attachment is obsolete: true
With this change: -MOCK_PATH=/usr/local/bin:$PWD/clang/bin:$PATH +MOCK_PATH=/usr/local/bin:$PWD/dxr-build-env/clang/bin:$PATH the script fails: https://gist.github.com/rail/4720392
So the base versions of gcc/g++ on the builder are too old. What if you tried adding CC/CXX for the mock_mozilla to build dxr: mock_mozilla -r mozilla-centos6-x86_64 --cwd=$PWD --shell --unpriv /bin/env PATH=$MOCK_PATH CC=clang CXX=clang++ "make -C dxr"
Attached file New copy of build environment (obsolete) —
Alas, this one requires changes to dxr-build-env.tar.gz.
Attachment #710294 - Attachment is obsolete: true
Attachment #710673 - Attachment is patch: false
Attachment #710673 - Attachment mime type: text/plain → application/octet-stream
Looks like the dxr.config file was busted. Let's try this one.
Attachment #710673 - Attachment is obsolete: true
Attached patch udpated patch (obsolete) — Splinter Review
I ended up by setting LD_LIBRARY_PATH instead of copying files to system-wide directories. The script fails with the following error now: https://gist.github.com/rail/4726910
Attached patch updated patch (obsolete) — Splinter Review
Attachment #711016 - Attachment is obsolete: true
Attached patch Updated test patch (obsolete) — Splinter Review
I've moved the dxr.config out of the manifest tarball, which should make deployment easier in theory.
Attachment #710498 - Attachment is obsolete: true
Attachment #711157 - Attachment is obsolete: true
Attached patch current patch (obsolete) — Splinter Review
... and the output: https://gist.github.com/rail/4736020 Almost there! :)
Attached patch working one (obsolete) — Splinter Review
This one worked fine. All green.
Attachment #711643 - Attachment is obsolete: true
Depends on: 840183
Attached patch Update dxr building (obsolete) — Splinter Review
This should be all the changes that need to go live.
Attachment #711339 - Attachment is obsolete: true
Attachment #711996 - Attachment is obsolete: true
Attachment #712553 - Flags: review?(rail)
Comment on attachment 712553 [details] [diff] [review] Update dxr building Review of attachment 712553 [details] [diff] [review]: ----------------------------------------------------------------- Thanks for the patch. Nothing critical to fix, just some style issues. It'd be better to keep the code more readable so we can easier to change it in the future. I'll be glad to test the final patch in staging again. ::: scripts/dxr/dxr.sh @@ +48,5 @@ > +mock_mozilla -v -r mozilla-centos6-x86_64 --install autoconf213 python zip mozilla-python27-mercurial git ccache glibc-static libstdc++-static perl-Test-Simple perl-Config-General gtk2-devel libnotify-devel alsa-lib-devel libcurl-devel wireless-tools-devel libX11-devel libXt-devel mesa-libGL-devel gnome-vfs2-devel GConf2-devel wget mpfr xorg-x11-font* imake gcc45_0moz3 yasm pulseaudio-libs-devel || exit 2 > +# Old version > +mock_mozilla -r mozilla-centos6-x86_64 --install pyxdg python-devel || exit 2 > +# New things to add: > +mock_mozilla -r mozilla-centos6-x86_64 --install python-jinja2 python-pygments sqlite-devel || exit 2 Can you merge the --install commands above into one and wrap the line with backslash so it's more readable? Keeping -v would be great so it'll be easier to debug errors. @@ +49,5 @@ > +# Old version > +mock_mozilla -r mozilla-centos6-x86_64 --install pyxdg python-devel || exit 2 > +# New things to add: > +mock_mozilla -r mozilla-centos6-x86_64 --install python-jinja2 python-pygments sqlite-devel || exit 2 > +# XXX: still need pysqlite? Not sure what this means. Is the comment still valid? @@ +61,5 @@ > rm -rf dxr-build-env > mkdir -p dxr-build-env > python /tools/tooltool.py -m $(dirname $0)/dxr.manifest -o --url http://runtime-binaries.pvt.build.mozilla.org/tooltool fetch > +tar xf clang.tar.bz2 -C dxr-build-env || exit 2 > +tar xf dxr-build-env.tar.gz -C dxr-build-env || exit 2 Do you really need all these "|| exit 2". They look ... ugly. You already have "set -e", so it should just exit non zero if it fails. @@ +79,5 @@ > +# Unpack trilite > +mv trilite dxr/trilite > + > +# Build DXR binary plugins > +mock_mozilla -r mozilla-centos6-x86_64 --cwd=$PWD --shell --unpriv /bin/env PATH=$MOCK_PATH CC=clang CXX=clang++ "make -C dxr" Could you wrap this line as well? @@ +103,5 @@ > echo "Starting build" > set +e > +# XXX: compile-build hack > +echo "ac_add_options --enable-stdcxx-compat" > src/.mozconfig > +mock_mozilla -r mozilla-centos6-x86_64 --cwd=$PWD --shell --unpriv /bin/env PATH=$MOCK_PATH LD_LIBRARY_PATH=$PWD/dxr/trilite "dxr/dxr-build.py -j6 -f dxr.config -s -t $branch" 2>&1 | grep -v 'Unprocessed kind' And this one.
Attachment #712553 - Flags: review?(rail) → review-
(In reply to Rail Aliiev [:rail] from comment #17) > Do you really need all these "|| exit 2". They look ... ugly. You already > have "set -e", so it should just exit non zero if it fails. I don't pretend to understand releng scripts, but I was thinking that they may have been used to distinguish between different types of failures (Blue versus red, in tbpl color terminology). But I'm not an expert.
Not a big deal, can live. :)
Attachment #712553 - Attachment is obsolete: true
Attachment #712707 - Flags: review?(rail)
Comment on attachment 712707 [details] [diff] [review] Update dxr building lgtm. if you want I can run a staging test tomorrow.
Attachment #712707 - Flags: review?(rail) → review+
that'd be fine.
It failed: + mock_mozilla -r mozilla-centos6-x86_64 --cwd=/builds/slave/dxr-mozilla-central/dxr-build-env --shell --unpriv /bin/env PATH=/usr/local/bin:/builds/slave/dxr-mozilla-central/dxr-build-env/clang/bin:/usr/local/bin:/usr/lib64/ccache:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/cltbld/bin CC=clang CXX=clang++ 'make -C dxr' INFO: mock_mozilla.py version 1.0.3 starting... State Changed: init plugins INFO: selinux disabled State Changed: start State Changed: lock buildroot State Changed: shell make: *** No targets specified and no makefile found. Stop. make: Entering directory `/builds/slave/dxr-mozilla-central/dxr-build-env/dxr' make: Leaving directory `/builds/slave/dxr-mozilla-central/dxr-build-env/dxr' State Changed: unlock buildroot program finished with exit code 2 Sounds like http://hg.mozilla.org/users/Pidgeot18_gmail.com/dxr-test is somehow different from http://hg.mozilla.org/projects/dxr
(In reply to Rail Aliiev [:rail] from comment #23) > Sounds like http://hg.mozilla.org/users/Pidgeot18_gmail.com/dxr-test is > somehow different from http://hg.mozilla.org/projects/dxr Oh, I haven't pushed the changes on dxr master yet.
Attached patch Fix -s -t issueSplinter Review
The scripts is being killed by buildbot after 7200 secs without any output. Can you somehow change the script so it prints something useful so we can debug? Something like: blah blah | tee log.txt # check $? grep -v 'Unprocessed kind' log.txt && (echo "found"; exit 2)
This has long since been checked in.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Product: mozilla.org → Release Engineering
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: