module-build-general Mailing List for Module::Build (Page 25)
Status: Beta
Brought to you by:
kwilliams
You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(24) |
Sep
(2) |
Oct
(18) |
Nov
(36) |
Dec
(17) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(3) |
Feb
(96) |
Mar
(82) |
Apr
(63) |
May
(90) |
Jun
(52) |
Jul
(94) |
Aug
(89) |
Sep
(75) |
Oct
(118) |
Nov
(101) |
Dec
(111) |
| 2004 |
Jan
(159) |
Feb
(155) |
Mar
(65) |
Apr
(121) |
May
(62) |
Jun
(68) |
Jul
(54) |
Aug
(45) |
Sep
(78) |
Oct
(80) |
Nov
(271) |
Dec
(205) |
| 2005 |
Jan
(128) |
Feb
(96) |
Mar
(83) |
Apr
(113) |
May
(46) |
Jun
(120) |
Jul
(146) |
Aug
(47) |
Sep
(93) |
Oct
(118) |
Nov
(116) |
Dec
(60) |
| 2006 |
Jan
(130) |
Feb
(330) |
Mar
(228) |
Apr
(203) |
May
(97) |
Jun
(15) |
Jul
(6) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Dr B. <gr...@mo...> - 2006-02-24 14:45:38
|
On Wed, 22 Feb 2006, Randy W. Sims wrote: > >Build test hangs at the same point with the command.com shell as > >in my last message. > Is this a pre-existing problem? Could you please try one of the earlier > 0.27x developer snapshots: > <http://search.cpan.org/~kwilliams/Module-Build-0.27_07/> On a computer with ActiveState 5.8.7.815: Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t\install.t 2 512 34 2 5.88% 23 25 4 tests and 27 subtests skipped. Failed 1/20 test scripts, 95.00% okay. 2/566 subtests failed, 99.65% okay. In the failing subtests, Module/Build.pm cannot be found, and Simple.pm was expected to exist, but doesn't exist. compat.t was skipped. -- Dr Bean Teaching: leaving fingerprints over the tabula rasa. --Dr Bean |
|
From: Randy W. S. <ml...@th...> - 2006-02-24 11:50:17
|
Ken Williams wrote: > > On Feb 16, 2006, at 2:05 PM, Chris Dolan wrote: > >> Attached below is a regexp-based solution that matches "simple" >> Build.PL files. I submit this just for thought, not necessarily for >> inclusion in M::B. > > > Cool. I wonder if Randy Sims (when he gets back from vacation) could > run this against his mini-cpan area to get some statistics on the > broader CPAN. Or anyone else, if they're so inclined, certainly. I've extended the script a bit at: <http://thepierianspring.org/perl/meta/> I'm not at all sure about the results of the simple/complex scan, or my integration of that code... I've converted to html. Nothing pretty; I'm not a web guy. But there are now links, so you can drill down in to see what distribution is doing what, including links back to the original source file (META.yml, etc) on CPAN. Some of the "Installers" (as determined by the generated_by field in META.yml) need to be grouped under misc, to clean up things. Also, there a some links that don't work because of some decisions I made back when this was just a ~60-80 one-off script to find out how META.yml was being used. Randy. |
|
From: demerphq <dem...@gm...> - 2006-02-23 10:45:20
|
On 2/22/06, Randy W. Sims <ml...@th...> wrote: > Joshua ben Jore wrote: > > On 2/22/06, Nick Ing-Simmons <ni...@in...> wrote: > >> Randy W. Sims <Ra...@Th...> writes: > > > >> Build.bat cannot delete itself on Windows. > >> You can't delete executing things. This is why Windows needs to > >> reboot after installing upgrades. > >> A running thing can ask for a delete on next reboot, but cannot delete > >> an open file. > > > > You can have it delete itself if you can manage to call the CreateFile > > Win32 API function with the FILE_FLAG_DELETE_ON_CLOSE flag. At least > > that's what demerphq told p5p about something similar when trying to > > get M::B to be able to install Cwd. > > That's true of binary executable images, batch scripts turn out to be > different... > > We start with a perl script 'Build', run it through the 'pl2bat' utility > which prefaces it with a batch script that invokes the perl interpreter > with itself, skipping the batch header. This produces the 'Build.bat' > file that we execute. Perl reads the entire file in, closing the handle. > > Initially, we tried deleting the 'Build.bat' from the perl side of the > script. It worked: the file was unlinked. But when execution returned > the shell, the batch script was no longer there, producing the "not > found" error. This seems to imply that batch files are opened, read & > executed one line at a time. This is important. > > The final solution, the one being tweaked now because of slight syntax > differences between commands on 9x vs NT, involves appending DOS > commands to the end of the batch script during the execution of the > 'realclean' action. The general solution was suggested by some people in > the alt.msdos.batch newsgroup. Basically, it's executing the following > commands from a batch file: And actually if you go back to the early mails on this, i suggested something along these lines at that time. (One nice use of this trick is that you can write a perl script that is then run through pl2bat which is capable of altering its parents enviornment.) Cheers, yves -- perl -Mre=3Ddebug -e "/just|another|perl|hacker/" |
|
From: demerphq <dem...@gm...> - 2006-02-23 10:40:48
|
On 2/22/06, Nick Ing-Simmons <ni...@in...> wrote: > Randy W. Sims <Ra...@Th...> writes: > >> C:\cpanplus\5.8.2\build\Module-Build>Build realclean > >> Deleting pod2htmd.tmp > >> Deleting pod2htmi.tmp > >> Deleting blib > >> Deleting _build > >> Deleting Build > >> > >> Then there is an NLS message about the right way to call START. > >> And Build.bat is still there. > > > >Ok, this looks like the source of at least some of the problem. I've > >uploaded a new tarball to the same location: > > > > <http://thepierianspring.org/perl/Module-Build.tar.gz> > > > >Could you try it again with the commands > > > > perl Build.PL > > Build realclean > > > >Does it still outputs an error? Is the 'Build.bat' file still there? If > >so, I'll have to find the docs for the start command and for > >command.com. Could you post them? > > Build.bat cannot delete itself on Windows. > You can't delete executing things. This is why Windows needs to > reboot after installing upgrades. > A running thing can ask for a delete on next reboot, but cannot delete > an open file. This is wrong. Batch files most certainly can delete themselves on NT/W2k and etc. I believe that the command processor opens the file, reads a line, does a tell, closes the file then executes the line then when control returns reopens and seeks then reads again. Suffice it to say that i tested whether a batchfile along the lines of del self.bat echo foo could succesffully self delete. Yves -- perl -Mre=3Ddebug -e "/just|another|perl|hacker/" |
|
From: Randy W. S. <ml...@th...> - 2006-02-23 04:32:25
|
Randy W. Sims wrote: > Dr Bean wrote: >> So it looks like it's OK on Win98. > > Great. This should get me to a final solution with a little reworking. I > also just realized that my initial attempts depend on $0 which wont work > for our API clients; I'll get this cleaned up. This is hopefully fixed now in CVS, and a new snapshot is up also[1] if I can beg one more test. We now differentiate syntax of the command to delete ourself depending on Win9x or WinNT variant. Also, appending the command to delete ourself to the 'Build.bat' means that the old 'perl Build realclean' quit working. It was necessary to differentiate between the two ways of invoking Build. The best option I could think of was to use pl2bat to change the way it calls perl by appending an extra option (--build_bat). If this option is present, the Build.bat file was executed, so we can append the self-deletion command to that file. Otherwise, 'perl Build' was called, so it's safe to delete the file from within M::B. This also takes care of the issue of other programs calling realclean from the API. Randy. 1. <http://thepierianspring.org/perl/Module-Build.tar.gz> |
|
From: Yitzchak Scott-T. <sth...@ef...> - 2006-02-23 02:46:08
|
On Wed, Feb 22, 2006 at 09:11:39PM +0000, Nick Ing-Simmons wrote: > Build.bat cannot delete itself on Windows. > You can't delete executing things. This is why Windows needs to > reboot after installing upgrades. AFAIK all versions of cmd & command execute .bat files doing an open/seek/close for each line, so it should be possible. |
|
From: Ron S. <ro...@sa...> - 2006-02-23 02:24:20
|
On Wed, 22 Feb 2006 17:59:31 -0500, Randy W. Sims wrote: Hi Randy > the "not found" error. This seems to imply that batch files are > opened, read & executed one line at a time. This is important. That's correct. You can easily test it by starting a batch file and editing /and saving/ it while it is running, and the edits can be used to create syntax errors or execute extra commands, when the command line processor goes back and reads the 'next' line of the file. The exact effect depends on the location of the edits relative to the last line read in by the command line processor. All theoretical, now, I hope. -- Ron Savage ro...@sa... http://savage.net.au/index.html |
|
From: David E. W. <da...@ki...> - 2006-02-23 00:12:37
|
On Feb 22, 2006, at 13:37, David E. Wheeler wrote:
> I think that this is the way that it will have to go before long.
> What with Damian encouraging everyone to use version.pm for their
> version objects, we're already seeing distributions such as "Class-
> Std-v0.0.8" (what's with the "v"?). After the next release of
> Module::Build, if a new version of Class::Std is released, it will
> be "Class-Std-000009". Some might find that annoying. And why very
> few modules use version.pm now, I would expect that to start to
> change in the next year.
In the meantime, I'm just getting sneaky in my subclass of
Module::Build:
sub dist_version {
local *version::numify = sub { shift };
return shift->SUPER::dist_version(@_)
}
Muah-ha-ha! :-)
It works for me as a workaround for now, 'till version.pm support is
integrated into Module::Build.
Best,
David
|
|
From: Randy W. S. <ml...@th...> - 2006-02-22 23:54:29
|
Dr Bean wrote: > On Tue, 21 Feb 2006, Randy W. Sims wrote: > >> Could you try it again with the commands > >> perl Build.PL > > $ perl Build.PL > Checking whether your kit is complete... > WARNING: the following files are missing in your kit: > t/bundled/Test/Builder.pm > t/bundled/Test/More.pm > t/bundled/Test/Simple.pm > Please inform the author. > > Checking prerequisites... > * Optional prerequisite Pod::Readme is not installed > > ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions > of the modules indicated above before proceeding with this installation > > Checking features: > manpage_support....enabled > YAML_support.......enabled > C_support..........disabled > - ExtUtils::CBuilder is not installed > * Optional prerequisite ExtUtils::ParseXS is not installed > HTML_support.......enabled > > Creating new 'Build' script for 'Module-Build' version '0.27_07' > $ > >> Build realclean > > $ Build realclean > Deleting _build > Deleting Build > $ ls > Build.PL Changes MANIFEST.SKIP README doc_check.pl patches website > Build.bat INSTALL META.yml TODO inc scripts > CVS MANIFEST Makefile.PL configs lib t > $ > > That was with a cygwin bash shell. Maybe the directory was dirty? When I try on Cygwin under WinXP, the 'Build.bat' is not created. Everything works. All tests pass. Everything gets cleaned up. > From a command.com shell, perl Build.PL > has teh same messages. Build realclean outputs: > > C:\cpanplus\5.8.2\build\Module-Build>Build realclean > Deleting _build > Deleting Build > !!!!!DELETING SELF!!!!! > C:\cpanplus\5.8.2\build\Module-Build> > C:\cpanplus\5.8.2\build\Module-Build>ls > Build.PL INSTALL META.yml TODO inc scripts > CVS MANIFEST Makefile.PL configs lib t > Changes MANIFEST.SKIP README doc_check.pl patches website > > So it looks like it's OK on Win98. Great. This should get me to a final solution with a little reworking. I also just realized that my initial attempts depend on $0 which wont work for our API clients; I'll get this cleaned up. > Build test hangs at the same point with the command.com shell as > in my last message. Is this a pre-existing problem? Could you please try one of the earlier 0.27x developer snapshots: <http://search.cpan.org/~kwilliams/Module-Build-0.27_07/> Thanks for helping with this, Randy. |
|
From: Randy W. S. <ml...@th...> - 2006-02-22 23:31:02
|
David E. Wheeler wrote: > On Feb 22, 2006, at 12:54, John Peacock wrote: > >> That would be $v->normal, but that isn't the problem. The problem is >> that M::B doesn't want to carry around the version object as an >> object, and so has to convert into something non-magical. > > Right. > >> If Ken and/or Randy want to tell me whether they want to hold 0.28 for >> the fully debugged and thought out version object support, I will do >> what I can to get that working. > > I think that this is the way that it will have to go before long. What > with Damian encouraging everyone to use version.pm for their version > objects, we're already seeing distributions such as "Class-Std-v0.0.8" > (what's with the "v"?). After the next release of Module::Build, if a > new version of Class::Std is released, it will be "Class-Std-000009". > Some might find that annoying. And why very few modules use version.pm > now, I would expect that to start to change in the next year. I'm no expert in regards to versions, and I don't know as much as I should or need to to make an intelligent decision. My most general opinion on the issue: 1) especially with the recent hoopla, Module::Build must produce results equivalent to MakeMaker unless there is a very good reason to be different; 2) it must produce usable results (eg META.yml) that can be used by CPAN.pm, CPANPLUS, etc.; and 3) it must work with perl versions back to 5.005x. I don't know if this means operating in different modes under different circumstances, eg different behavior on perl 5.10 vs 5.6, or different behavior in the presence of version.pm, or different behavior depending on whether the distribution in question 'use version;', etc. This is just an opinion. Any resemblance to an actual requirement or solution are unintentional. Please consult Ken for approval or validation. =) Randy. |
|
From: Randy W. S. <ml...@th...> - 2006-02-22 22:59:34
|
Joshua ben Jore wrote: > On 2/22/06, Nick Ing-Simmons <ni...@in...> wrote: >> Randy W. Sims <Ra...@Th...> writes: > >> Build.bat cannot delete itself on Windows. >> You can't delete executing things. This is why Windows needs to >> reboot after installing upgrades. >> A running thing can ask for a delete on next reboot, but cannot delete >> an open file. > > You can have it delete itself if you can manage to call the CreateFile > Win32 API function with the FILE_FLAG_DELETE_ON_CLOSE flag. At least > that's what demerphq told p5p about something similar when trying to > get M::B to be able to install Cwd. That's true of binary executable images, batch scripts turn out to be different... We start with a perl script 'Build', run it through the 'pl2bat' utility which prefaces it with a batch script that invokes the perl interpreter with itself, skipping the batch header. This produces the 'Build.bat' file that we execute. Perl reads the entire file in, closing the handle. Initially, we tried deleting the 'Build.bat' from the perl side of the script. It worked: the file was unlinked. But when execution returned the shell, the batch script was no longer there, producing the "not found" error. This seems to imply that batch files are opened, read & executed one line at a time. This is important. The final solution, the one being tweaked now because of slight syntax differences between commands on 9x vs NT, involves appending DOS commands to the end of the batch script during the execution of the 'realclean' action. The general solution was suggested by some people in the alt.msdos.batch newsgroup. Basically, it's executing the following commands from a batch file: > It will need more quotes for NT, but works here. > > @echo off > start "" /min "%comspec%" /c del "%~f0" > > > For Win9x this should work > > @echo off > start /min "%comspec%" /c del "%~f0" Note the %~f0 syntax is specific to NT, but is not a problem because we fill in the literal path before appending the command to the batch script. The main syntax difference that caused the failure on 9x was from the "" as the first argument; I still don't understand that requirement. When 'Build realclean' is executed, it does it's thing deleting everything but the 'Build.bat'. It opens the 'Build.bat' for appending, adding the command above. When the perl side exits, control returns to the shell which continues execution of the now extended batch script. This works perfectly as far as I can tell; though it's a very odd way to go about it. There is a couple of other issues. Cygwin is running pl2bat; I don't know if it should, and if it is decided it should, the solution will be different under the bash shell. The other is the test failures that Dr Bean noticed; I'm not convinced yet that they are related to any of this, i.e. I wonder if they are pre-existing issues. Randy. PS: Still trying to get caught up on stuff that transpired while I was away on a very nice little vacation. Unfortunately, I also brought back a nasty little cold with me. Catching up as fast as I can, but I came back to over a thousand mails/mailing-list msgs/etc... |
|
From: Ron S. <ro...@sa...> - 2006-02-22 22:16:09
|
On Wed, 22 Feb 2006 15:54:52 -0500, John Peacock wrote: Hi John > crawl into bed after reading to the kids (5 and 10). I don't know > how long it will take me to produce a working patch that everyone > will be happy with... Don't stress yourself (any more than usual :-) over this. I for one can wait= until a real solution is found before a so-called solution is shipped. The current situation is just a mess. -- Cheers Ron Savage, ro...@sa... on 23/02/2006 http://savage.net.au/index.html Let the record show: Microsoft is not an Australian company |
|
From: Joshua b. J. <tw...@gm...> - 2006-02-22 21:38:43
|
On 2/22/06, Nick Ing-Simmons <ni...@in...> wrote: > Randy W. Sims <Ra...@Th...> writes: > Build.bat cannot delete itself on Windows. > You can't delete executing things. This is why Windows needs to > reboot after installing upgrades. > A running thing can ask for a delete on next reboot, but cannot delete > an open file. You can have it delete itself if you can manage to call the CreateFile Win32 API function with the FILE_FLAG_DELETE_ON_CLOSE flag. At least that's what demerphq told p5p about something similar when trying to get M::B to be able to install Cwd. http://msdn.microsoft.com/library/default.asp?url=3D/library/en-us/fileio/f= s/createfile.asp Josh |
|
From: David E. W. <da...@ki...> - 2006-02-22 21:37:34
|
On Feb 22, 2006, at 12:54, John Peacock wrote: > That would be $v->normal, but that isn't the problem. The problem > is that M::B doesn't want to carry around the version object as an > object, and so has to convert into something non-magical. Right. > If Ken and/or Randy want to tell me whether they want to hold 0.28 > for the fully debugged and thought out version object support, I > will do what I can to get that working. I think that this is the way that it will have to go before long. What with Damian encouraging everyone to use version.pm for their version objects, we're already seeing distributions such as "Class- Std-v0.0.8" (what's with the "v"?). After the next release of Module::Build, if a new version of Class::Std is released, it will be "Class-Std-000009". Some might find that annoying. And why very few modules use version.pm now, I would expect that to start to change in the next year. Best, David |
|
From: Nick Ing-S. <ni...@in...> - 2006-02-22 21:11:46
|
Randy W. Sims <Ra...@Th...> writes: >> C:\cpanplus\5.8.2\build\Module-Build>Build realclean >> Deleting pod2htmd.tmp >> Deleting pod2htmi.tmp >> Deleting blib >> Deleting _build >> Deleting Build >>=20 >> Then there is an NLS message about the right way to call START. >> And Build.bat is still there. > >Ok, this looks like the source of at least some of the problem. I've=20 >uploaded a new tarball to the same location: > > <http://thepierianspring.org/perl/Module-Build.tar.gz> > >Could you try it again with the commands > > perl Build.PL > Build realclean > >Does it still outputs an error? Is the 'Build.bat' file still there? If=20 >so, I'll have to find the docs for the start command and for=20 >command.com. Could you post them? Build.bat cannot delete itself on Windows. You can't delete executing things. This is why Windows needs to=20 reboot after installing upgrades.=20 A running thing can ask for a delete on next reboot, but cannot delete=20 an open file. > > start /? > help.txt > command /? >> help.txt > >Also, the last line of Build.bat should say something like: > > start /min "%comspec%" /c del "Build.bat" > >This is the command we're trying to execute. It seems to have different=20 >syntax on different versions of Windows. > >If it does work, can you run the test suite again? > >Thanks for the help. > >Randy. > > >------------------------------------------------------- >This SF.net email is sponsored by: Splunk Inc. Do you grep through log fil= es >for problems? Stop! Download the new AJAX search engine that makes >searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! >http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D103432&bid=3D230486&dat=3D= 121642 >_______________________________________________ >Module-build-general mailing list >Mod...@li... >https://lists.sourceforge.net/lists/listinfo/module-build-general |
|
From: John P. <jpe...@ro...> - 2006-02-22 20:54:34
|
David E. Wheeler wrote: > I see. So there's no way for '0.000001' to be converted back to '0.0.1'? > > What about a method on version.pm that will give the three-part version > string no matter what the original version number was? That would be $v->normal, but that isn't the problem. The problem is that M::B doesn't want to carry around the version object as an object, and so has to convert into something non-magical. If Ken and/or Randy want to tell me whether they want to hold 0.28 for the fully debugged and thought out version object support, I will do what I can to get that working. *FULL DISCLOSURE* - My wife is out of town on a medical emergency and I have kid duty by myself for now, so it is all I can do to crawl into bed after reading to the kids (5 and 10). I don't know how long it will take me to produce a working patch that everyone will be happy with... John -- John Peacock Director of Information Research and Technology Rowman & Littlefield Publishing Group 4501 Forbes Boulevard Suite H Lanham, MD 20706 301-459-3366 x.5010 fax 301-429-5748 |
|
From: David E. W. <da...@ki...> - 2006-02-22 20:46:50
|
On Feb 22, 2006, at 12:40, John Peacock wrote: > Nope. is() performs an implicit stringification of each term and > then performs a string comparison (i.e. no overload magic > possible). Replace that last line with: > > cmp_ok( $nv,'==', $v); > > and it will work as you expected. No, I don't like it, but I don't > have any choice... I see. So there's no way for '0.000001' to be converted back to '0.0.1'? What about a method on version.pm that will give the three-part version string no matter what the original version number was? Best, David |
|
From: John P. <jpe...@ro...> - 2006-02-22 20:40:36
|
David E. Wheeler wrote:
> Okay, but there does seem to be a conversion problem. Witness this test:
>
> use strict;
> use version;
> use Test::More tests => 1;
>
> my $v = version->new('0.0.1');
> my $nv = version->new($v->numify);
> is $nv, $v;
>
> The output:
>
> 1..1
> not ok 1
> # Failed test in /Users/david/bin/try at line 8.
> # got: '0.000001'
> # expected: 'v0.0.1'
> # Looks like you failed 1 test of 1.
>
> Shouldn't they be the same?
Nope. is() performs an implicit stringification of each term and then
performs a string comparison (i.e. no overload magic possible). Replace
that last line with:
cmp_ok( $nv,'==', $v);
and it will work as you expected. No, I don't like it, but I don't have
any choice...
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5748
|
|
From: David E. W. <da...@ki...> - 2006-02-22 20:27:39
|
On Feb 22, 2006, at 12:21, John Peacock wrote:
> Until M::B includes version object support internally, I don't see
> any better way around it. Currently M::B immediately changes any
> version object into a simple scalar (via numify now). Unless and
> until M::B has a way to keep the version object around for later
> usage, it is going to have to be either numify() *or* stringify()
> (and the latter has significant problems).
Okay, but there does seem to be a conversion problem. Witness this test:
use strict;
use version;
use Test::More tests => 1;
my $v = version->new('0.0.1');
my $nv = version->new($v->numify);
is $nv, $v;
The output:
1..1
not ok 1
# Failed test in /Users/david/bin/try at line 8.
# got: '0.000001'
# expected: 'v0.0.1'
# Looks like you failed 1 test of 1.
Shouldn't they be the same?
Best,
David
|
|
From: John P. <jpe...@ro...> - 2006-02-22 20:20:55
|
David E. Wheeler wrote:
> Actually, I'm running into an issue with the numify() support: it's
> misnaming my distributions! I have a module that uses version internally:
>
> our $VERSION = version->new('0.0.1');
>
> However, when I build a distribution with it, the tarball isn't named
> Foo-Bar-0.0.1.tar.gz. It's named Foo-Bar-0.000001.tar.gz!
That's what you asked it to do ('v0.0.1' => 0.000001). That's also what
PAUSE will use internally as the version for indexing purposes.
> Is there a way 'round this? Maybe dist_version could store the version
> object instead of the numified representation, so that the string format
> (v0.0.1) can be used where appropriate, and the numified representation
> (0.000001) can be used where appropriate?
Until M::B includes version object support internally, I don't see any
better way around it. Currently M::B immediately changes any version
object into a simple scalar (via numify now). Unless and until M::B has
a way to keep the version object around for later usage, it is going to
have to be either numify() *or* stringify() (and the latter has
significant problems).
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5748
|
|
From: David E. W. <da...@ki...> - 2006-02-22 20:13:53
|
On Feb 19, 2006, at 07:37, John Peacock wrote:
> Please withdraw from consideration my patch to include version.pm
> support in
> Module::Build 0.28. Now that we have made the obj->numify()
> change, M::B will
> correctly handle the case where the module author uses version.pm, and
> everything else will still work correctly.
Actually, I'm running into an issue with the numify() support: it's
misnaming my distributions! I have a module that uses version
internally:
our $VERSION = version->new('0.0.1');
However, when I build a distribution with it, the tarball isn't named
Foo-Bar-0.0.1.tar.gz. It's named Foo-Bar-0.000001.tar.gz!
Is there a way 'round this? Maybe dist_version could store the
version object instead of the numified representation, so that the
string format (v0.0.1) can be used where appropriate, and the
numified representation (0.000001) can be used where appropriate?
Thanks,
David
|
|
From: David E. W. <da...@ki...> - 2006-02-22 01:29:18
|
Module::Builders, Somehow, I've been finding in my tests that the same element keeps getting added to my build objets over and over again. I don't know why, but the fix is easy. The attached patch modifies add_build_element() so that it only adds the element if it doesn't already exist. Any reason *not* to do this? Thanks, David |
|
From: Dr B. <la...@ms...> - 2006-02-22 00:22:18
|
On Tue, 21 Feb 2006, Randy W. Sims wrote:
> Could you try it again with the commands
> perl Build.PL
$ perl Build.PL
Checking whether your kit is complete...
WARNING: the following files are missing in your kit:
t/bundled/Test/Builder.pm
t/bundled/Test/More.pm
t/bundled/Test/Simple.pm
Please inform the author.
Checking prerequisites...
* Optional prerequisite Pod::Readme is not installed
ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions
of the modules indicated above before proceeding with this installation
Checking features:
manpage_support....enabled
YAML_support.......enabled
C_support..........disabled
- ExtUtils::CBuilder is not installed
* Optional prerequisite ExtUtils::ParseXS is not installed
HTML_support.......enabled
Creating new 'Build' script for 'Module-Build' version '0.27_07'
$
> Build realclean
$ Build realclean
Deleting _build
Deleting Build
$ ls
Build.PL Changes MANIFEST.SKIP README doc_check.pl patches website
Build.bat INSTALL META.yml TODO inc scripts
CVS MANIFEST Makefile.PL configs lib t
$
That was with a cygwin bash shell. From a command.com shell, perl Build.PL
has teh same messages. Build realclean outputs:
C:\cpanplus\5.8.2\build\Module-Build>Build realclean
Deleting _build
Deleting Build
!!!!!DELETING SELF!!!!!
C:\cpanplus\5.8.2\build\Module-Build>
C:\cpanplus\5.8.2\build\Module-Build>ls
Build.PL INSTALL META.yml TODO inc scripts
CVS MANIFEST Makefile.PL configs lib t
Changes MANIFEST.SKIP README doc_check.pl patches website
So it looks like it's OK on Win98.
Build test hangs at the same point with the command.com shell as
in my last message.
In the bash one, it hangs in t/install.t. Here is the tail of output:
t\compat..........ok 20/60 * ERROR: Configuration was initially created with Mod
ule::Build version '0.2611',
but we are now using version '0.2707'. Please re-run the Build.PL or Makefil
e.PL script.
DMAKE.EXE: Error code 9, while making 'realclean'
# Failed test (t\compat.t at line 185)
t\compat..........ok 47/60 * ERROR: Configuration was initially created with Mod
ule::Build version '0.2611',
but we are now using version '0.2707'. Please re-run the Build.PL or Makefil
e.PL script.
# Looks like you planned 60 tests but only ran 47.
t\compat..........dubious
Test returned status 23 (wstat 5888, 0x1700)
DIED. FAILED tests 5-8, 11, 15-18, 21, 48-60
Failed 23/60 tests, 61.67% okay
t\destinations....Warning: Removing existing directory 'C:\cpanplus\5.8.2\build\
Module-Build\t\_tmp\Simple'
Could not find 'pl2bat.bat' utility needed to make scripts executable.
Unable to convert scripts ( Build ) to executables.
t\destinations....ok
8/92 skipped: various reasons
t\ext.............ok
t\extend..........ok
t\files...........ok
t\install.........ok 21/34
> start /? > help.txt
> command /? >> help.txt
The messages are NLS ones.
> Also, the last line of Build.bat should say something like:
> start /min "%comspec%" /c del "Build.bat"
I can't see anything like that in Build.bat.
It's just wrapping Build apparently, at the start:
@rem = '--*-Perl-*--
@echo off
if "%OS%" == "Windows_NT" goto WinNT
perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
goto endofperl
:WinNT
perl -x -S %0 %*
if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl
if %errorlevel% == 9009 echo You do not have Perl in your PATH.
if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul
goto endofperl
@rem ';
#!perl
#line 15
use strict;
and at the end:
# This should have just enough arguments to be able to bootstrap the rest.
my $build = ModuleBuildBuilder->resume (
properties => {
config_dir => '_build',
orig_dir => $orig_dir,
},
);
$build->dispatch;
__END__
:endofperl
Nonetheless, Build realcean is deleting it.
> This is the command we're trying to execute. It seems to have different
> syntax on different versions of Windows.
I can see the NT sytax in Build.bat, but not the Win98.
--
Dr Bean The best jokes are
those you play on
yourself.
|
|
From: Tyler M. <ty...@yi...> - 2006-02-21 17:35:44
|
Randy W. Sims <ml...@th...> wrote: > >It turned out I had to write "uninst=1" (lower case). I think we should > >either support the uppercase method, or somehow change the warning message > >that is displayed. In fact, doing both might be preferable. :) The first > >option is trivial ... I think the second one falls into this domain: > > The first option would set bad precedent. We'd then have people wanting > direct translations of all MakeMakeresqe options. verbose, prefix, etc. Yeah, that's another thing I was going to mention. This subclassing thing is great and all, but I really miss being able to just write a "sub MY::postamble" to paste makefile snippets for me... can we get that put into Module::Build as well? ... Kidding! Seriously though, there's been quite the debate about PREFIX and it sounds like people are working to get that into Module::Build... I can understand Module::Build behaving differently where it provides a technological advantage, but when there's a feature that's supported by both MM and MB and the difference is just a matter of commandline syntax or terminology, shouldn't we be making MB's syntax as close as possible to MM's (or at least support MM's) to smooth the transition? Cheers, Tyler |
|
From: Randy W. S. <ml...@th...> - 2006-02-21 15:26:58
|
Dr Bean wrote: > On Tue, 21 Feb 2006, Randy W. Sims wrote: > > >>I don't see anything that stands out as related to changes I made. From >>the distro directory, can you run > > >> perl Build.PL > > >> Build realclean > > > C:\cpanplus\5.8.2\build\Module-Build>Build realclean > Deleting pod2htmd.tmp > Deleting pod2htmi.tmp > Deleting blib > Deleting _build > Deleting Build > > Then there is an NLS message about the right way to call START. > And Build.bat is still there. Ok, this looks like the source of at least some of the problem. I've uploaded a new tarball to the same location: <http://thepierianspring.org/perl/Module-Build.tar.gz> Could you try it again with the commands perl Build.PL Build realclean Does it still outputs an error? Is the 'Build.bat' file still there? If so, I'll have to find the docs for the start command and for command.com. Could you post them? start /? > help.txt command /? >> help.txt Also, the last line of Build.bat should say something like: start /min "%comspec%" /c del "Build.bat" This is the command we're trying to execute. It seems to have different syntax on different versions of Windows. If it does work, can you run the test suite again? Thanks for the help. Randy. |