develooper Front page | perl.perl5.porters | Postings from July 2012

NWCLARK TPF grant report #44

From:
Nicholas Clark
Date:
July 25, 2012 05:55
Subject:
NWCLARK TPF grant report #44
Message ID:
20120725125527.GJ9834@plum.flirble.org
[Hours]		[Activity]
2012/07/02	Monday
 5.75		reading/responding to list mail
=====
 5.75

2012/07/03	Tuesday
 0.25		OS X non-UTF-8 filenames
 1.00		Old RT tickets
 0.50		RT #113786
 2.00		RT #113856
 0.75		cross compilation
=====
 4.50

2012/07/04	Wednesday
 0.50		Moose & MOP
 2.00		Old RT tickets
 1.75		bisect.pl
 0.25		bisect.pl (Debian multiarch)
 2.25		code review
 0.50		cross compilation
=====
 7.25

2012/07/05	Thursday
 0.50		bisect.pl
 0.50		process, scalability, mentoring
=====
 1.00

2012/07/06	Friday
 0.75		Old RT tickets
 0.50		RT #22375
 4.50		bisect.pl
 0.25		pp_require
 1.00		reading/responding to list mail
=====
 7.00

Which I calculate is 25.50 hours

The only notable activity this week was fixing problems with the git bisect
wrapper which were preventing me from bisecting to find the cause of other
problems. :-/

The bisect wrapper is designed to sensibly default as much as possible, and
its approach for defaulting the revision for the start of the bisect run is
to try stable (.0) releases old to new until it finds one which can run the
test code correctly. It had been using a hardcoded list, which still had
5.14.0 as the most recent stable release. It now uses `git tag -l` to get
the list of stable releases. The default for the end of the bisect used to
be 'blead'. Now if there is no 'blead' branch, bisect.pl now uses a suitable
alternative - if HEAD is more recent than the last stable release, use HEAD,
else use the last stable tag. Also, when it wanted to check out a known good
recent version of a file (such as makedepend.SH) it would check out the
revision from blead. It now uses the most recent tagged stable release for
this.

We've had quite a bit of fun with Debian and Ubuntu's switch to a multiarch
setup. This results in important libraries (such as libm.so) moving from
the well known /usr/lib to an architecture specific directory. Without
knowing where they are, perl won't build. As of 5.14.0 (and 5.12.4), the
hints for Configure have been updated to get the correct library paths from
gcc, and I thought that I'd correctly put the analogous changes into the
bisect wrapper. However, it turned out that it was only correct on x86_64.
On other Linux architectures it failed to pass the multiarch locations to
Configure. That is now fixed.

Nicholas Clark



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About