Grokbase
Topics Posts Groups | in
x
[ help ]

Rafael Garcia-Suarez (rgarcias...@gmail.com)

Profile | Posts (942)Page 1 of 48: 1 2 3 > >>
1) Rafael Garcia-Suarez Re: [PATCH] Update Module::Build to 0.31 from CPAN
| +1 vote
2009/1/8 David Golden <dagolden@cpan.org>: I have still a patch backlog, so I need to look at the...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
2009/1/8 David Golden <dagolden@cpan.org>:
> On Thu, Jan 8, 2009 at 9:12 AM, Rafael Garcia-Suarez
> <rgarciasuarez@gmail.com> wrote:
>>
>> That patch steps over the changes below to Build.pm :
>>
>> commit e5c8c22050be81fb2e880f0c7a2fcbe5496ab5d7
>> Author: Rafael Garcia-Suarez <rgarciasuarez@gmail.com>
>> Date:   Mon Jan 5 10:47:45 2009 +0100
>>
>>    Bump two module versions after Haiku port
>>
>>    CPANPLUS and Module::Build
>> (see df00ff3beeb297b9622f8acbed9c80d320c87580)
>>
>> commit df00ff3beeb297b9622f8acbed9c80d320c87580
>> Author: Ingo Weinhold <ingo_weinhold@gmx.de>
>> Date:   Wed Oct 29 03:25:44 2008 +0100
>>
>>    Haiku Port
>> Message-Id: <20081029022544.413.1@knochen-vm.localdomain>
>>
>>    p4raw-id: //depot/perl@34630
>
> These have been addressed in the later patch that I sent, I believe.

I have still a patch backlog, so I need to look at the more recent
patches... sorry for the noise

>> In short I'd really appreciate that the Module::Build team integrates
>> the bleadperl changes before some more forkage happens. Putting
>> module-build@ in CC: for that.
>
> Did the bleadperl team send patches to the module-build when they happened?
> I don't recall. If not, that would have made it much easier to manage
> rather than having to now figure out where everything diverged. If so, then
> I suppose it's our bad for not applying the patches.

I do send patches; I don't whether other committers do, but they should.
Would cc:ing the RT CPAN queue be helpful ?

>> So, let's discuss a bit about that. The patches mentioned above are :
>> * parts of big porting patches
>> * specific to building within the core
>> * or small portability nits
>> That is to say, it makes sense for them to be applied to bleadperl,
>> because either they un-break bleadperl on some platforms, or make it
>> possible to build bleadperl on some new platforms. We can't stall
>> bleadperl development waiting for a new release of Module::Build to
>> hit the CPAN.
>
> I don't think bleadperl should stall for a release, but at the same time,
> it's easier if changes are kept upstream and pulled into blead from the M::B
> trunk or from a maintenance branch. There are now a number of people
> besides Ken with commit bits (Randy, Schwern, Eric, me, others?), so
> incorporating patches should be fairly easy.

Without a mechanism to merge patches between blead and MB, it's better
to always apply patches only to one side, yes.

>> However, since we have git now, it would make absolute sense to have
>> the Module::Build team maintain a branch, either on perl's main repo,
>> or on github, or somewhere else, from which I can merge the changes to
>> M::B, and to which the M::B team can merge the bleadperl changes.
>
> If blead incorporated the entirety of the M::B distribution, I'd be more
> comfortable with the idea of using a git branch and going back and forth,
> but since blead has a different layout ("t/" and "scripts/" under
> "lib/Module/Build") the diffs need to be applied file-by-file, not against
> the entire tree, so it's manual work no matter what.

The layout is a problem. There is some plan for bleadperl to move as
many modules as possible under ext/, so the layout of the CPAN
distribution is completely respected.

> Instead, maybe you should get a commit bit to the M::B repository on
> svn.perl.org and make changes there. The work I've done on add-packages.pl
> makes it fairly easy to bring in an M::B update to the perl git repo:
>
> * Patch M::B on svn.perl.org -- either trunk or branched from some stable
> release point
> * Run "Build distdir" -- to autogenerate some documentation
> * cd into the distdir and run "$perl_repo/Porting/add-packages.pl -r
> $perl_repo"
> * cd into the perl repo, examine the changes made in the new branch and
> commit if it looks good
>
> That would keep the patches flowing from upstream to blead fairly smoothly,
> I think.

I need to look at the recent changes to add-packages. Your proposed
workflow is a definite improvement upon the current situation. And my
user id on svn.perl.org is 'rafael'.

>> Before that happens, I'm reluctant to touch to blead's M::B version at
>> all.
>
> I've already patched M::B's trunk to address a couple of the changes in
> blead. If you can help me with tips on how to grep other differences out of
> the perl git logs, I'll try to sync it up and do yet another integration
> patch. (My spirit is willing, but my git-fu is weak.)

I mostly use "git log --stat <paths>".
2) Rafael Garcia-Suarez Re: [PATCH] Update Module::Build to 0.31 from CPAN
| +1 vote
2009/1/6 David Golden <dagolden@cpan.org>: That patch steps over the changes below to Build.pm :...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
2009/1/6 David Golden <dagolden@cpan.org>:
> For what it's worth, this is my first attempt at patching the perl source,
> much less sending a patch via git. But I'm very motivated to see M::B stay
> current in 5.10.1.
>
> It's also the result of my attempt to fix up add-package.pl -- that patch
> coming separately.
>
> Gentle (or not so gentle) feedback on how to be a better patch contributor
> is greatly appreciated if I've done something wrong.

That patch steps over the changes below to Build.pm :

commit e5c8c22050be81fb2e880f0c7a2fcbe5496ab5d7
Author: Rafael Garcia-Suarez <rgarciasuarez@gmail.com>
Date:   Mon Jan 5 10:47:45 2009 +0100

    Bump two module versions after Haiku port

    CPANPLUS and Module::Build
    (see df00ff3beeb297b9622f8acbed9c80d320c87580)

commit df00ff3beeb297b9622f8acbed9c80d320c87580
Author: Ingo Weinhold <ingo_weinhold@gmx.de>
Date:   Wed Oct 29 03:25:44 2008 +0100

    Haiku Port
    Message-Id: <20081029022544.413.1@knochen-vm.localdomain>

    p4raw-id: //depot/perl@34630

And also some changes in tests :

commit 5f259b1a7bd18cacc0055adc9c077be77eeec24e
Author: Nicholas Clark <nick@ccl4.org>
Date:   Mon Oct 20 14:03:42 2008 +0000

    As well as @INC, also convert $^X to an absolute path in MBTest.

    p4raw-id: //depot/perl@34526

 lib/Module/Build/t/lib/MBTest.pm |    3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

And I also note that the upgrade to 0.30 was not straightforward either :

commit 738349a8c2d75ad4e5c0317bb9f69744bfeef05d
Author: Steve Hay <SteveHay@planit.com>
Date:   Tue Sep 30 11:25:01 2008 +0000

    Upgrade to Module-Build-0.30

    Local changes 32357 in ppm.t and 32351 in test_type.t and xs.t remain,
    but not the tilde.t part of 32351, which looks like it might be
    superseded by changes in 0.30

    p4raw-id: //depot/perl@34446

More logs at http://perl5.git.perl.org/ or with your local git client.

In short I'd really appreciate that the Module::Build team integrates
the bleadperl changes before some more forkage happens. Putting
module-build@ in CC: for that.

So, let's discuss a bit about that. The patches mentioned above are :
* parts of big porting patches
* specific to building within the core
* or small portability nits
That is to say, it makes sense for them to be applied to bleadperl,
because either they un-break bleadperl on some platforms, or make it
possible to build bleadperl on some new platforms. We can't stall
bleadperl development waiting for a new release of Module::Build to
hit the CPAN.

However, since we have git now, it would make absolute sense to have
the Module::Build team maintain a branch, either on perl's main repo,
or on github, or somewhere else, from which I can merge the changes to
M::B, and to which the M::B team can merge the bleadperl changes.

This would be much easier to put in place than to have everyone track
by hand changes done to the other project.

Before that happens, I'm reluctant to touch to blead's M::B version at all.
3) Rafael Garcia-Suarez Re: [perl #61976] Errno ($!) not evaluated to a error message string (5.10.0 in taint mode)
| +1 vote
2009/1/5 via RT Mark Martinec <perlbug-followup@perl.org>: I would conjecturate a bad interaction...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
2009/1/5 via RT Mark Martinec <perlbug-followup@perl.org>:
> With Perl 5.10.0 in taint mode, evaluating a $! variable in
> a string context does not yield a system error message text,
> but gives a numeric errno code.
>
> The problem is reproducible with an EPIPE error, although
> I can not reproduce it with a more trivial I/O error.
>
> The problem is reproducible on all platforms that I tried:
> FreeBSD 6.3 in 32-bit mode, FreeBSD 7.0 in 64-bit mode,
> and on Linux 2.6.27.9-159.fc10.x86_64.
>
> The following example illustrates the problem.
> Standard output is piped into a program which does not read from
> its stdin, such as a 'true', intentionally causing a broken pipe:
>
> $ date | /usr/local/bin/perl5.10.0 -T -e '
>  $|=1; $SIG{PIPE}="IGNORE"; my $s=<STDIN>;
>  print $s or die "error writing: $!\n"' | true
> error writing: 32

I would conjecturate a bad interaction between taint magic and \0-magic.
The question is: why is $! tainted here ?
4) Rafael Garcia-Suarez Re: [perl #59170] Typo: bad regex for #line directive in perlsyn.
| +1 vote
2008/11/7 Steve Peters via RT <perlbug-followup@perl.org>: No, no. Now done as change...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
2008/11/7 Steve Peters via RT <perlbug-followup@perl.org>:
> On Thu Sep 25 04:45:32 2008, rafael wrote:
>> 2008/9/21 via RT Elliot Shank <perlbug-followup@perl.org>:
>> > The documentation for the #line directive in perlsyn gives a regular
>> expression for valid syntax. This regex says that whitespace is
>> required between the line number and the filename. Empirical
>>    evidence says otherwise.  For example:
>> >
>> >    use 5.010;
>> >    #line 25foo
>> >    say __LINE__, q< >, __FILE__;
>> >
>> > does emit "25 foo".  Patch attached.
>>
>> I'm really tempted to fix toke.c:S_incline() instead. I don't think
>> there will be much breakage, right ?
>
> Famous last words?

No, no. Now done as change 26b6dc3ff01d5987ade8e7bb4d8844b01828ff83
5) Rafael Garcia-Suarez Re: [BUG] $branch uninitialized in make_patchnum.pl
| +1 vote
2009/1/5 Jerry D. Hedden <jdhedden@cpan.org>: Any reason why you don't use git reset instead to...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
2009/1/5 Jerry D. Hedden <jdhedden@cpan.org>:
> 'make' is producing the following warning for me:
>
> Use of uninitialized value $branch in concatenation (.)
>        or string at make_patchnum.pl line 153.
>
> $branch is set via 'git branch'.
>
> For my builds, I do the following:
>
> git clone -l --no-hardlinks -s -q /PATH/TO/GIT/REPOSITORY .
>    git checkout COMMIT_ID

Any reason why you don't use git reset instead to move the current
head to that commit id ?

> In this build dir, 'git branch' produces:
>
>    * (no branch)
>      blead
>
> The regex to set $branch /\* ([^(]\S*)/ ends up leaving
> it undefined.

But that should be fixed.

--
Only what happens every three hundred nights is true.
-- Borges
6) Rafael Garcia-Suarez Re: [PATCH] Haiku Port
| +1 vote
2008/10/29 Ingo Weinhold <ingo_weinhold@gmx.de>: Thanks, I applied the POSIX changes as...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
2008/10/29 Ingo Weinhold <ingo_weinhold@gmx.de>:
> Howdy,
>
> attached is a patch introducing support for Haiku, created against
> perl-current @34615. Most changes are pretty straight-forward. Noteworthy
> are the following two:
>
> * ext/Haiku/...: Adds a module Haiku which provides access to a few Haiku
> specific API functions, which I found very helpful while debugging the port.
>
> * ext/POSIX/POSIX.xs: I re-introduced the use of the WMUNGE() macro, which
> was (accidentally?) removed after 5.10.0. The macro is still a hack. As my
> added comment explains the use of the OS's W*() macros in this context is
> simply not correct and should probably better be fixed.

Thanks, I applied the POSIX changes as 17028706774e5010b1ce818ef53664f1491fb2c4
7) Rafael Garcia-Suarez Re: Another regexp failure with utf8-flagged string and byte-flagged pattern (reminder)
| +1 vote
2009/1/4 demerphq <demerphq@gmail.com>: Yes, the new tests were failing for me without it. And the...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
2009/1/4 demerphq <demerphq@gmail.com>:
> 2009/1/4 Rafael Garcia-Suarez <rgarciasuarez@gmail.com>:
>> 2007/11/17 Slaven Rezic <slaven@rezic.de>:
>>>> I'd like to remind that there's still a regression when matching a
>>>> utf8-flagged string with a byte-flagged pattern.
>>>>
>>>> The following script works fine on 5.8.8 but shows a couple of "not
>>>> ok"s on 5.10.0. The "not ok"s seem to have in common that it's only
>>>> for uppercase characters, probably because they have a folded
>>>> lowercase equivalent (the mu is also on the list and has probably also
>>>> some kind of folded equivalent).
>>>>
>>>> #!/usr/bin/perl -w
>>>> use strict;
>>>> for my $chr (160 .. 255) {
>>>>     my $chr_byte = chr($chr);
>>>> my $chr_utf8 = chr($chr); utf8::upgrade($chr_utf8);
>>>>     my $rx = qr{$chr_byte|X}i;
>>>> print $chr . " " . ($chr_utf8 =~ $rx ? "ok" : "not ok") . "\n";
>>>> }
>>>> __END__
>>>>
>>>
>>> I have a patch for this problem, including a new test case for
>>> t/op/pat.t. Please try and comment.
>>
>> Thanks, applied as c012444fd89eef64e1d1687642cdb9f968e96739.
>> (Wow, a more than one year old patch. I'm going through my patch
>> backlog, and this one seemed interesting for 5.10.1).
>
> Was the regexec.c part needed? IOW, did the test fail without it? This
> rings bells for me, ISTR that I rejected it and did something else.

Yes, the new tests were failing for me without it. And the fix looked
sensible to my untrained eyes...
8) Rafael Garcia-Suarez Re: Another regexp failure with utf8-flagged string and byte-flagged pattern (reminder)
| +1 vote
2007/11/17 Slaven Rezic <slaven@rezic.de>: Thanks, applied as...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
2007/11/17 Slaven Rezic <slaven@rezic.de>:
>> I'd like to remind that there's still a regression when matching a
>> utf8-flagged string with a byte-flagged pattern.
>>
>> The following script works fine on 5.8.8 but shows a couple of "not
>> ok"s on 5.10.0. The "not ok"s seem to have in common that it's only
>> for uppercase characters, probably because they have a folded
>> lowercase equivalent (the mu is also on the list and has probably also
>> some kind of folded equivalent).
>>
>> #!/usr/bin/perl -w
>> use strict;
>> for my $chr (160 .. 255) {
>>     my $chr_byte = chr($chr);
>> my $chr_utf8 = chr($chr); utf8::upgrade($chr_utf8);
>>     my $rx = qr{$chr_byte|X}i;
>> print $chr . " " . ($chr_utf8 =~ $rx ? "ok" : "not ok") . "\n";
>> }
>> __END__
>>
>
> I have a patch for this problem, including a new test case for
> t/op/pat.t. Please try and comment.

Thanks, applied as c012444fd89eef64e1d1687642cdb9f968e96739.
(Wow, a more than one year old patch. I'm going through my patch
backlog, and this one seemed interesting for 5.10.1).
9) Rafael Garcia-Suarez y2038 merged into blead
| +1 vote
I reapplied the commits from Schwern's y2038 branch in the historical repository from the...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
I reapplied the commits from Schwern's y2038 branch in the historical
repository from the appropriate point in the history, and merged them
in bleadperl. I'd appreciate a small review, esp. given that I had
conflicts in lib/Time/Local.{t,pm}. However, all tests pass, at least
on Linux without threads. But there were patches for the other OSes
too.

(I had conflicts in reentr.h too, but I just re-generated that file,
on the basis that reentr.pl was correct)

http://perl5.git.perl.org/perl.git/commitdiff/f433f45e728fb8fd90ae712c4daa4fb4cf2cb6c2

On the methodology: actually I didn't reapply the merges, not the
patches to several .gitignore files in the tree, and I also left out
"[PATCH] Apply [email protected: blea...@34469] while waiting for the git master to
catch up.". Because I'm lazy and that made my life easier. (I didn't
succeed in proper grafting, to I used git-format-patch and git-am to
transport the patches from one repository to another.)

A big thanks to Schwern for that work !

Note to self: do not overwrite the perlfaq4.pod changes with the
changes from the perlfaq svn repository. (Which should probably switch
to git now, but that's a topic for another list...)
10) Rafael Garcia-Suarez Re: Need help tracking down a segfault
| +1 vote
2009/1/2 karl williamson <public@khwilliamson.com>: That's not where I got the error. For me...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
2009/1/2 karl williamson <public@khwilliamson.com>:
> The attached .t file generates a segfault on official 5.10 and blead. If I
> reorder the tests in it, If you comment out any test, it doesn't segfault,
> and there are no errors found using valgrind. But the full file causes a
> segfault. It's as if there is some internal limit that is getting exceeded.
>
> The valgrind shows a bad memory reference in one of two places, both in
> regcomp.c. I asked Yves about it, and he said to query on the general list.
>
> This particular file shows the segfault coming from Perl_regnext() which
> tracing I added shows is getting off track. But I think the problem is to
> do with \N{}, which when the test files don't have cases for that, they
> don't fail. This particular file and order don't show a bad memory read for
> that, but others do, and the context is:
>            dSP ;
>
>            ENTER ;
>            SAVETMPS ;
>            PUSHMARK(SP) ;
>
>            XPUSHs(sv_name);
>
>            PUTBACK ;
>
>            count= call_sv(cv, G_SCALAR);
>
> if (count == 1) { /* XXXX is this right? dmq */
>                sv_str = POPs;
>                SvREFCNT_inc_simple_void(sv_str);
>            }
>
>            SPAGAIN ;
>            PUTBACK ;
>            FREETMPS ;
>            LEAVE ;
>
> The bad read, when it happens, comes at the POPs (line 6692 in regcomp.c)
> This is stuff I know nothing about in perl. Is there something obvious?
> My guess is that somehow this is causing things to get changed, even if it
> doesn't always show up in valgrind.

That's not where I got the error. For me valgrind and gdb report this:
(with bleadperl)

=21827== Invalid read of size 1
==21827==    at 0x807FBE0: S_regtail (regcomp.c:9784)
==21827==    by 0x808A8F5: S_reg (regcomp.c:6226)
==21827==    by 0x809E125: Perl_re_compile (regcomp.c:4406)
==21827==    by 0x806DC75: Perl_pmruntime (op.c:3588)
==21827==    by 0x821FD93: Perl_yyparse (perly.y:1224)
==21827==    by 0x80D64FF: S_parse_body (perl.c:2253)
==21827==    by 0x80D9584: perl_parse (perl.c:1672)
==21827==    by 0x806234A: main (perlmain.c:115)
==21827==  Address 0xd6628065 is not stack'd, malloc'd or (recently) free'd
==21827==
==21827== Process terminating with default action of signal 11
(SIGSEGV): dumping core
==21827==  Access not within mapped region at address 0xD6628065
==21827==    at 0x807FBE0: S_regtail (regcomp.c:9784)
==21827==    by 0x808A8F5: S_reg (regcomp.c:6226)
==21827==    by 0x809E125: Perl_re_compile (regcomp.c:4406)
==21827==    by 0x806DC75: Perl_pmruntime (op.c:3588)
==21827==    by 0x821FD93: Perl_yyparse (perly.y:1224)
==21827==    by 0x80D64FF: S_parse_body (perl.c:2253)
==21827==    by 0x80D9584: perl_parse (perl.c:1672)
==21827==    by 0x806234A: main (perlmain.c:115)
11) Rafael Garcia-Suarez Re: whitespace changes should no longer be verbotem in perl
| +1 vote
2009/1/3 demerphq <demerphq@gmail.com>: gitweb just calls C<git blame -p>. Flags can be added,...
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
2009/1/3 demerphq <demerphq@gmail.com>:
> 2009/1/3 Nicholas Clark <nick@ccl4.org>:
>> On Sat, Jan 03, 2009 at 01:43:54PM +0100, demerphq wrote:
>>> Now that we have switched to git there is no need to presist with our
>>> policy of not fixing whitespace problems in our source code.
>>>
>>> The reason is that git blame supports ignoring whitespace changes, so
>>> the old objection, that of whitespace changes making historical
>>> change analysis difficult no longer holds.
>>
>> How is this done on
>>
>> a: the gitweb interface?
>
> Pass. I suspect we will have to contemplate hacking gitweb to support
> this mode.

gitweb just calls C<git blame -p>.
Flags can be added, though:
  -w : ignore whitespace (within the same line)
  -M : detect moved lines in the same file
  -C : detect lines moved or copied from other files
All those flags have a performance impact.

Given the internal architecture of git, it should be easy to build
really nice blame tools. All the info is there on the repository to be
dug out.

(As I might have mentioned already, I've build a repository browser
that lives in vim on top of git-blame :
http://consttype.org/cgi/gitweb.cgi?p=githistorybrowser.git
for which I have improvement plans that await some amount of free time. :)
12) Rafael Garcia-Suarez Re: [PATCH] Re: 5.10.0 regressions that need fixing
| +1 vote
2009/1/3 Ben Morrow <ben@morrow.me.uk>: Thanks, applied....
Perl 5 Porters
[ Profile | Reply to group ] [ Flat  Thread  Threaded ]
2009/1/3 Ben Morrow <ben@morrow.me.uk>:
> Quoth [email protected: rgarcias...@gmail.com] (Rafael Garcia-Suarez):
>> 2008/12/30 Ben Morrow <ben@morrow.me.uk>:
>> > Quoth [email protected: b...@morrow.me.uk] (Ben Morrow):
>> >> Quoth [email protected: d...@iabyn.com] (Dave Mitchell):
>> >> >
>> >> > Subject: [perl #54956] crash on binary-or lvalue operation on qr//
>> >> >
>> >> > -e 'my $re = qr/x/; $re |= "y"'
>> >> > assert failure under 5.10.0, 10-maint, bleed, but not 5.8.8
>> >>
>> >> I *believe* the correct fix for this is
>> >
>> > It turns out that produced double warnings. Patch attached, with tests.
>>
>> Thanks, applied as 8c8eee8276dbc780932b841fe5183943a7117a3d
>
> Sorry, that patch had a stupid thinko in creating a PVBM. Fix attached.

Thanks, applied.