forked from hdp/module-build
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Changes
2914 lines (2138 loc) · 118 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Revision history for Perl extension Module::Build.
0.35_03 -
*** API CHANGE ***
- The prepare_metadata() method used to take a YAML::Node object as an
argument for modification. The method now takes no arguments and just
returns a hash reference of metadata. [David Golden]
Bug fixes:
- Updated PPM generation to PPM v4 (RT#49600) [Olivier Mengue]
- When c_source is specified, the directory scan will include additional,
less-common C++ extensions (RT49298) [David Golden]
Other:
- Replaced use of YAML.pm with YAML::Tiny; Module::Build::YAML is now
based on YAML::Tiny as well [David Golden]
- Reduced amount of console output under normal operation (use --verbose
to see all output)
0.35_02 - Mon Sep 7 22:37:42 EDT 2009
Enhancements:
- Added 'needs_compiler' property. Defaults to true if XS or c_source
exist. If true, ExtUtils::CBuilder is also added to build_requires.
[David Golden]
- File::ShareDir automatically added to 'requires' if 'share_dir' is set
[David Golden]
- Added 'Build installdeps' action to install needed dependencies via
a user-configurable command line program. (Defaults to 'cpan'.)
[Eric Wilhelm]
Bug fixes:
- Failure to detect a compiler will now warn during Build.PL and be a
fatal error when trying to compile during Build. (RT#48918) [David
Golden]
- Fixed directory sorting failure in share_dir.t [David Golden]
- Property defaults that are data structures were being assigned as
references to new objects. Changed so that defaults are cloned instead.
(This mostly affects testing, which often creates multiple objects in the
same process) [David Golden]
- Simplified error message on exit under use_tap_harness [suggested by
David Wheeler]
- Fixed typemap search to use a dist-level typemap if a typemap is not
found in the directory with the *.xs file; (was manifesting as warnings
in Perl 5.6 tests) [David Golden]
Other:
- Replaced guts of new_from_context(). Build.PL is now executed in a
separate process before resume() is called. (This is generally only of
interest to Module::Build or toolchain developers) (RT#49350) [David
Golden, Eric Wilhelm, Ken Williams]
- Revised test helper classes to fix potential bugs and add new features
to make writing tests simpler and easier. Changes incorporated into
t/README.pod and t/sample.t as examples for new testing. [David Golden]
0.35_01 - Mon Aug 31 12:11:10 EDT 2009
Enhancements:
- Generates MYMETA.yml during Build.PL (new standard protocol for
communicating configuration results between toolchain components)
[David Golden]
- Added 'share_dir' property to provide File::ShareDir support;
set automatically if a directory called 'share' exists
[David Golden]
Bug fixes:
- Fix the t/destinations.t fix. [David Golden, with thanks to Eric Wilhelm]
- Fix recursive test files in generated Makefile.PL (RT#49254) [Sawyer X]
- Guard against trying :utf8 when :utf8 isn't available
- The "test" action now dies when using the 'use_tap_harness'
option and tests fail, matching the behavior under Test::Harness.
(RT#49080) [initial patch from David Wheeler; revised by David Golden]
Other:
- Added t/README.pod and t/sample.t to guide developers writing new tests
[David Golden, with some code from Eric Wilhelm]
- Module::Build::Compat 'passthrough' style has been deprecated. Using
'passthrough' will issue warnings on Makefile.PL generation. See
Module::Build::Compat documentation for rationale.
0.35 - Thu Aug 27 09:12:02 EDT 2009
Bug fixes:
- Fix t/destinations.t segfault on 5.6.2 [David Golden]
0.34_06 - Sat Aug 22 21:58:26 EDT 2009
Bug fixes:
- Multiple test fixes for OS2 [Ilya Zakharevich]
- Generated.ppd files use :utf8 if possible (RT#48827) [Olivier Mengue]
- Fixed preservation of custom install_paths on resume (RT#41166)
[David Golden]
- Warn instead of crashing when Pod::Man tries to create files with
colons on vfat partitions on unix (RT#45544) [David Golden]
0.34_05 - Sun Aug 9 22:31:37 EDT 2009
Bug fixes:
- When auto_configure_requires is true (the default), Module::Build will
only add last 'major' version of Module:Build (e.g. 0.XX) to
configure_requires to avoid specifying a minor development release not
available on CPAN [David Golden]
0.34_04 - Sat Aug 8 11:02:24 EDT 2009
Other:
- Added documentation warning that 'get_options' should be capitalized
to avoid conflicting with future Module::Build options and changed
the examples accordingly.
0.34_03 - Sat Aug 8 07:39:16 EDT 2009
Bug fixes:
- Fixed failing xs.t if /tmp is mounted noexec (RT#47331) [David Golden]
- Fixed failing debug.t on VMS (RT#48362) [Craig Berry]
- Prevent par.t from dying on error in .zip extraction [David Golden]
- Fixed potential runthrough.t failure on 5.6.2 [David Golden]
Other:
- Archive::Tar changed from 'requires' to 'recommends' so non-authors
without IO::Zlib can still use Module::Build to install modules
[reported by Matt Trout, fix by David Golden]
0.340201 - Sun Aug 9 22:11:04 EDT 2009
Other:
- Version bump for Perl core for 5.10.1 release; no other changes
0.34_02 - Sun Jul 26 22:50:40 EDT 2009
Bug-fixes:
- Bundled Module::Build::Version updated to bring into sync with CPAN
version.pm 0.77 [John Peacock]
0.34_01 - Sat Jul 18 16:32:09 EDT 2009
Enhancements:
- Added --debug flag to trace Build action execution (RT#47933)
[David Golden]
Bug-fixes:
- Bundled Module::Build::Version version code updated to fix unsafe use
of $@ (RT#47980) [John Peacock]
0.34 - Tue Jul 7 16:56:47 EDT 2009
No changes from 0.33_06
0.33_06 - Sun Jul 5 10:11:40 EDT 2009
Bug-fixes:
- Bundled version code will use pure Perl on 5.10.0 to work around
a corner case involving eval and locale [John Peacock]
- Reversed VMS patch from 0.33_03 [Craig Berry]
- PL_files in Build.PL that are in the bin/scripts directory should not be
installed as if they are scripts (fixed for case-tolerant systems).
[David Golden, reported by Craig Berry]
0.33_05 - Sun Jun 28 22:06:49 EDT 2009
Enhancements:
- New 'auto_configure_requires' parameter (default 1) controls
whether Module::Build should add itself to configure_requires
in META.yml if not specified in Build.PL [David Golden]
Bug-fixes:
- The default MANIFEST.SKIP created by the "manifest" action
was out of date. It will now use the installed MANIFEST.SKIP
and add some Module::Build and distribution specific items
to it. [Michael Schwern]
Other:
- configure_requires do not necessarily need to be in requires
or build_requires; warning to that effect has been removed
[David Golden]
0.33_04 - Fri Jun 26 07:09:06 EDT 2009
Bug-fixes:
- Don't try utf8 YAML I/O on Perl 5.6 [David Golden]
Other:
- configure_requires added to prereq report (RT#47254) [Curtis Jewell]
- updated Module::Build::Version to match forthcoming version.pm 0.77
(RT#47256) [John Peacock]
- skips xs.t and ppm.t when perl was not compiled with dynamic loading
since Module::Buld does not support static linking (RT#46178)
[David Golden]
- skip failing test in par.t if Archive::Zip is broken [David Golden]
- Added YAML utf8 patch in 0.33_03 changes list
- Added attribution for patches in 0.33_03 changes list
0.33_03 - Mon Jun 22 17:22:56 EDT 2009
Bug-fixes:
- Removes Module::Build from its own configure/build_requires
[David Golden]
- ConfigData->feature() confirms that modules actually load successfully,
not just that they are present. (RT#43557) [David Golden]
- Module::Build::Compat handling of INSTALL*LIB (RT#43827)
[Tony Payne, David Golden]
- Module::Build::Compat and recursive test files (RT#39171) [Dave Rolsky]
- Fixed bug linking non-standard XS names on Windows (RT#38065) ["snaury"]
- Run PL files that don't generate any file (RT#39365)
[Matisse Enzer, David Golden]
- HTML generation failure no longer fatal (RT#36660) [David Golden]
- realclean might not delete Build.bat on Windows (RT#43863)
[Roy Ivy, David Golden]
- include_dirs parameter now works correctly when given a single
string argument (RT#40177) [David Wheeler]
- Lots of spelling fixes in the POD (RT#45528r) [Lars Dieckow]
- On Unix-like systems, tilde expansion is more liberal in username
characters accepted (RT#33492) [Jon Jensen]
Other
- On MSWin32, bumped File::Spec prereq to 3.30 for a variety of fixes
- Add support for VMS in Unix compatibility mode (RT#42157)
[John E. Malmberg
- Added a can_action($name) method (RT#45172) [brian d foy]
- Documented that subclass methods should not permanently change
current directory (RT#46919) [David Wheeler]
- META.yml encoded in UTF-8 (RT#43765) [Olivier Mengue]
0.33_02 - Mon Jun 15 12:23:55 EDT 2009
Bug-fixes:
- Fixed tests for bleadperl
0.33_01 - Sat Jun 13 20:24:42 EDT 2009
Bug-fixes:
- Fixed RT#42724: consolidated VMS fixes [patch by Craig Berry]
- Fixed RT#46338: passthrough Makefile.PL cleans Makefile during distclean
- Fixed RT#45700: t/compat.t for HP/UX make
Other:
- Adds current Module::Build to configure_requires (and build_requires)
if no configure_requires is specified
- Always normalizes version number tuples in META.yml (e.g. 'v1.2.0')
(Partially addresses RT#46150)
- Normalizes a generated dist_version (e.g. from a .pm file) --
dist_version set manually in Build.PL is not normalized
- Documentation update for create_license
- Minor POD cleanup
0.33 - Sun May 3 20:16:34 PDT 2009
Bug-fixes:
- Fixed RT#45462: Compat.pm needs to reference 'Build.com' on VMS
[patch from John Malmberg]
- Fixed RT#45461: ext.t on VMS [patch from John Malmberg]
- Fixed RT#43861: Module::Build::PPMMaker has broken PPD name
versioning for v5.10+
0.32_01 - Tue Apr 14 17:14:22 PDT 2009
Bug-fixes:
- Module::Build::Compat had stopped adding "PL_FILES => {}" when no
PL_files property was set in Build.PL; restored old behavior and fixed
tests and documentation related to this issue [David Golden]
- Caches ExtUtils::CBuilder object in a temporary stash instead of properties
- Fixed undef resources->license in META.yml (RT #44453).
- Use $^X instead of 'perl' in t/ext.t [David Golden] (RT #43485)
Other:
- Generated META.yml will indicate version 1.4 of the specification
(RT #37478) [patch from Alexandr Ciornii]
- Archive::Tar now the default for generating tarballs on all platforms
(avoids problems with incompatible tar binaries)
- dist_dir() now uses dist_name() and dist_version() accessors rather
than using its properties directly. [brian d foy] (RT #45038)
0.32 - Wed Feb 25 17:40:02 PST 2009
No changes since 0.31_04.
0.31_04 - Fri Feb 20 11:04:59 PST 2009
Other
- Bumped Test::Harness prereq to 3.16 for latest PERL5LIB fixes (solves
test failures when installing Module::Build using CPANPLUS::Dist::Build)
[David Golden]
0.31_03 - Sun Feb 8 14:54:01 PST 2009
Enhancements
- added a "prereq_data" action that prints a Perl data structure of
all prerequisites; can be loaded by external tools using eval()
[David Golden]
Bug-fixes
- 'fakeinstall' action warns and skips without ExtUtils::Install 1.32+
[David Golden, reported by Zefram]
- allows Module::Build version mismatch when installing self; works around
limitations in CPANPLUS::Dist::Build [David Golden]
0.31_02 - Tue Jan 27 09:16:43 PST 2009
Other
- tests now use File::Temp (added to build_requires); appears to fix
Win32 testing heisenbug on directory removal during high system loads
- use_tap_harness.t will skip unless a release version of TAP::Harness
is installed
- improved diagnostics to ensure_blib() tests in t/lib/MBTest.pm
Compat
- passthrough Makefile.PL will now play nice with cpantesters' on
exit(0) (RT#32018) [Eric Wilhelm]
Bug Fixes
- fix for doubling-up of --prefix (RT#19951)
0.31012 - Wed Jan 14 01:36:19 PST 2009
Bug Fixes
- t/tilde.t maybe actually fixed on MSWin32 now.
0.31011 - Mon Jan 12 21:57:04 PST 2009
Bug Fixes
- t/tilde.t had been failing on MSWin32 (RT#42349)
0.3101 - Mon Jan 12 13:52:36 PST 2009
Other
- added 'mirbsd' as a Unix-type OS [BinGOs]
- added 'haiku' as a Unix-type OS (backported from bleadperl)
- skips certain tests on VMS (backported from bleadperl)
- sets $^X to absolute path in tests (backported from bleadperl)
0.31 - Sat Dec 20 15:03:33 2008
Deprecations
- Use of attributes as class methods is deprecated (this was never a
documented feature and appears to only have worked accidentally.)
0.30_02 - Mon Dec 15 12:23:55 PST 2008
Bug Fixes
- make Software::License dependency "softer".
0.30_01 - Thu Dec 11 18:25:53 PST 2008
New Docs
- Added a recipe for writing a new action to the Cookbook
- Added a recipe for bundling Module::Build to the Cookbook.
Doc Fixes
- Clarified dist_abstract search procedure in API.pod (RT#41056) [Mario
Domgoergen]
Bug Fixes
- Workaround HARNESS_TIMER env issue in t/compat.t (RT#39635)
- Fix ~ expansion when $HOME is different from /etc/passwd as
when running sudo. [rt.cpan.org 39662]
- Fixed a small POD error in the Cookbook. [Damyan Ivanov]
- Unset group/other write permission bits when using Archive::Tar to
build the dist tarball. (RT#39804) [David Golden]
Enhancements
- We now support a 'create_license' parameter to new() that will
create a LICENSE file during the 'dist' phase with the full text of
the license. This requires Software::License on the author's
machine.
- Added lgpl2/lgpl3 entries to the supported licenses (RT#40532).
- Support for validating properties with a check subref. [David
Wheeler]
Test Fixes
- Defend against more stray environment variables interfering
with the tests.
Other
- Updated our embedded version.pm to 0.76, enhanced documentation on
dist_version_from. [John Peacock]
0.30 - Thu Sep 25 20:57:36 2008
- First non-beta release since April 2007. In the meantime, Sarkozy
became president of France, the 35W bridge fell in Minneapolis,
Phelps won a lot of gold, a new tribe of indigenous people was
discovered in the Amazon, and Bob Barker stopped doing The Price Is
Right. As of this moment though, the U.S. economy still hasn't
collapsed completely.
0.2808_05 - Thu Sep 18 23:30:39 PDT 2008
- Skip test in t/ext.t which tickles shellwords() in Text::ParseWords
below 3.23 [David Wheeler, Ken]
- Fixed some shell-quoting issues in do_system() on Windows [Ken,
Schwern, reported by Curtis Jewell]
- Fixed t/xs.t failure for missing 'const char *' typemap in 5.6
[Schwern]
- Added build_requires for Test::More 0.49 and Test::Harness 2.03.
Removed bundled Test::More (was not working for 5.005x anyway).
[Schwern]
- Minimum required perl version is now 5.6.1. [Schwern]
0.2808_04 - Thu Sep 11 22:51:27 PDT 2008
- Backed-out incompatible Module::Build::ModuleInfo change (first in
0.2808_02.)
0.2808_03 - Mon Sep 1 14:43:27 PDT 2008
- Made adjustments for the format changes of recent Test::Harness
output. [Nicholas Clark]
- Fixed the documentation for script_files to indicate that we search
bin/ for scripts by default. It has been this way for several
years. [Spotted by Ron Savage]
0.2808_02 - Wed Jul 9 16:45:08 PDT 2008
- Experimental support for TAP::Harness with --use-tap-harness option
and the tap_harness_args property. [David Wheeler & Eric Wilhelm]
- Added test_file_exts property for main-run tests other than '*.t'.
[David Wheeler]
- Fixed getcwd()/rmtree() failure case on 5.10+mac where something is
unhappy about all of the tests deleting their distgen directory
before leaving it. [Eric Wilhelm & David Wheeler]
- Improved support for parsing qv() in modules' $VERSION
declarations, and made $VERSION-parsing errors more verbose. [Jos
Boumans]
- Integrated an omnibus patch for various VMS fixes. [Craig Berry &
John E. Malmberg]
- Some versions of Test::Harness (or something) seem to not be
stripping the ".t" suffix when outputting test reports, which was
causing one of our tests in t/compat.t to fail. Fixed. [Spotted by
a smoke tester]
- Most Unix platforms seem to allow hyphens in usernames, so we honor
this in our de-tilde-fying methods now. [Spotted by s-murata]
- If there are multiple assignments to the $VERSION variable in
someone's module and this generates warnings, tell the user what
line number the problem is at.
- Added 'gnu' and 'gnukfreebsd' as Unix variants. [Niko Tyni]
- Fixed a couple bugs in how we quote arguments to external processes
when they have to pass through the shell. Also much more
thoroughly tested our quoting now.
- Edited the Module::Build::API docs prose about the 'license' field
in response to some comments on the module-authors mailing list.
- Fixed a typo in some example code in the Cookbook. [Jeremy Leader]
- Custom typemaps were being looked for in places that don't quite
exist; fixed. [Michael G Schwern]
- QNX/Neutrino is now considered to be Unix. [rt.cpan.org 32214]
- Added 'gpl2' and 'gpl3' to the list of valid licenses. [Allen
Engelhardt]
- Fixed our Data::Dumper wrapper's sensitivity to users who might set
$Data::Dumper::Terse. [Spotted by Dominique Dumont]
- Documented the fix_shebang_line() method. [Elliot Shank]
- Applied the 'const' modifier to version() and xs_version() XS
functions we use during testing. [Robin Barker]
- Fixed processing of INC=, POLLUTE=, INSTALLDIRS=, and LIB= for
passthrough/small Makefile.PLs.
- perl Build.PL --sign=1 now signs. [Michael G Schwern]
- Fixed processing of INSTALLDIRS=whatever for compatibility
Makefiles. [Spotted by John Peacock]
- Zillions of special-cases have been added in Compat.pm for dealing
with the special Makefile system on VMS. [John E. Malmberg]
- Fixed some stuff in how VMS command-args get quoted. [John E. Malmberg]
- VMS now overrides localize_file_path() and localize_dir_path() so
we don't need to do special stuff in the general case. [John
E. Malmberg]
- Added a few more VMS-specific entries to the default MANIFEST.SKIP
file that (sometimes) gets created during the 'manifest'
action. [John E. Malmberg]
- Fixed a catdir() that should have been a catfile() when creating a
ppmdist. [John E. Malmberg]
- Removed some assumptions about what makefiles are called (not
necessarily "Makefile") and how they take their arguments, to get
VMS tests working better. [John E. Malmberg]
- Fixed our check for Archive::Tar in the t/runthrough.t test, which
fixes a common failure on Win32. [Spotted by Chris Williams]
- Fixed a File::Spec mal-ism in t/destinations.t [Craig A. Berry]
- Exposed the internal ExtUtils::CBuilder object as part of our API,
via the cbuilder() method. [Zefram]
- Upgraded to version.pm 0.74 (fixes bug #30004.)
- Overwrite core (post-5.9.4) Module::Build installs (bug #20528.)
- Pass quiet() option to ExtUtils::CBuilder object.
0.2808_01 - Wed Oct 24 11:51:25 2007
- All .pm files in the Module-Build distribution (except for
M::B::Version.pm, which is kind of tied to version.pm) now have the
same $VERSION number explicitly specified.
- When checking prerequisites, the required version of perl is now
checked before we start finding the $VERSION declaration of the
distribution, which results in much more intuitive error messages
e.g. if the author is using 5.6-isms in their declaration but the
user doesn't have 5.6. [Slaven Rezic]
- Added 'artistic_2' license, corrected 'lgpl' license url (bug #29783)
[David Thomas]
- VMS find_perl_interpreter() is just $^X (bug #29810) [Craig A. Berry]
- Some large VMS fixes, mostly having to do with the non-case-
preserving nature of most VMS filesystems, but also correcting for
illegal characters in VMS file specs. [John E. Malmberg and Craig
A. Berry]
- Fixed the _detildefy() method on VMS. [John E. Malmberg and Craig
A. Berry]
- We now use a much more reliable method when Data::Dumper-ing saved
state data. [Yves]
- When a module had 0.000 as its version, a few places in the code
thought the module had no version at all. This is now
fixed. [Andrew "Zefram" Main]
- When finding the default set of script_files, we now compute them
as relative paths, not absolute. [Spotted by Curtis "Ovid" Poe]
- Got rid of a call to eliminate_macros, which isn't needed in
Module::Build since there is no external make utility involved.
Override expand_test_dir to make up for the fact that the
home-grown glob() returns absolute, not relative, paths. [Craig
A. Berry]
- Fixed a catdir() that needed to be catfile() in the .packlist
creation code. [John E. Malmberg]
- If a *.PL file ended abnormally during the build, processing should
have stopped, but it didn't. Fixed. [Matthew Cast and David
Golden]
- Module::Build::Compat adds "require 5.XXXXX" to Makefile.PL when
'perl' is specified as a 'requires' prerequisite [David Golden]
- Refactored t/compat.t for modularity and transparency; added
labels for all tests; supressed subprocess output to
STDOUT and STDERR [David Golden]
- Fixed bug in perl_version_to_float when version is already a float
[David Golden]
- Removed a mention of $build->{config} from the documentation, the
official interface to Config.pm settings is now via the
$build->config() and has been for some time. [Suggested by Michael
Schwern]
- Tweaked some text in the Cookbook to bring it into the modern age,
and added a recipe for accessing Config.pm settings. [Ibid]
- Lots of POD link/readability improvements to the Module::Build::API
documentation [Salve J. Nilsen]
- Added configure_requires as a new type of prereq. [Suggested by Adam
Kennedy]
- Patch 31156 from bleadperl: some filename dot and extension help
for Module::Build on VMS. [Craig Berry]
- Reworked the _detildefy() method so it doesn't depend on glob()
anymore. This gets rid of a problem with spaces or other special
shell characters in things like 'prefix' or 'install_path'
entries. [Prodding by Eric Wilhelm]
- Added midnightbsd to the list of Unix-like OSes we know about
[Rafael Garcia-Suarez]
0.2808 - Sat Apr 28 12:59:43 2007
- Added is_vmsish(), is_windowsish(), and is_unixish() boolean
convenience functions. Fixes some test failures on platforms where
$^O is set to a value we don't know about (like 'gnu').
- Upgraded to version.pm 0.7203. [John Peacock]
- Support get_action_docs() =head2 style. [ewilhelm]
- Workaround Test::Pod::Coverage @INC bug. [Eric Wilhelm]
- Fixed the command-line args --extra_compiler_flags and
--extra_linker_flags so they properly shell-split their arguments.
0.2807 - Sat Mar 24 22:19:02 2007
- Upgraded to version.pm 0.71. [John Peacock]
- Removed a couple small constructs in the tests ("use warnings;" and
"qw$foo bar$[1]") that caused test failures under perl 5.005.
- Added support for an explicit default value of undef in prompt().
[Eric Wilhelm]
- Improved our prompt() method, which could sometimes hang before the
user got a chance to see a prompt. [Andreas Koenig]
- Added a note about --allow_mb_mismatch to the error message that
happens right before someone might want to use that parameter.
- Added DragonflyBSD to the list of known Unix OSes.
- get_action_docs() dies on error rather than twiddling $@
- Made ModuleInfo's _evaluate_version_line() compatible with 'use
version ...$VERSION' lines. [Eric Wilhelm]
- Added some verbiage in Module::Build::API that officially blesses
the _build/prereqs file for external consumption. [Suggested by Andreas Koenig]
- Added test profiles support via the test_types property and "testall"
target. [Eric Wilhelm, Jeff Lavallee]
- Use syscopy() on OS/2 in copy_if_modified() so we make sure to
overwrite any existing target file. [Ilya Zakharevich]
- Removed seemingly silly '~~' test in t/tilde.t.
- In our test-time utility library t/lib/MBTest.pm, we need to know
about a few .exe-like extensions on OS/2. [Ilya Zakharevich]
- In t/ppm.t, use DynaLoader::mod2fname() (if available) to determine
the correct translation of our test module's name into a DLL
name. [Ilya Zakharevich]
- Avoid an unlink() error on OS/2 when fixing shebang lines. [Ilya
Zakharevich]
- When we're protecting the world from the evils of long RedHat
$ENV{PERL5LIB} variables, don't assume $ENV{PERL5LIB} is already
defined. This gets rid of a huge number of warnings for some
people. [Dave Rolsky]
0.2806 - Fri Dec 15 22:20:14 2006
- On some systems (haven't identified the actual problem yet)
$ENV{PERL5LIB} can grow to enormous enough sizes that we can't
launch any more subprocesses because the environment table is full.
This is the now-infamous "Couldn't run Build.PL: Argument list too
long" error. Now we detect such situations and trim the directory
list to only include directories that actually exist, listed only
once each. Not the ideal solution, but it should work.
- Silence a warning in M::B::ModuleInfo that happens when the author
is using the "$VERSION = eval $VERSION" idiom.
- When running the 'testcover' action, do "cover --delete" if any of
the test files have changed (we already did so if any of the code
under test has changed). [Suggested by Chris Dolan, RT #23584]
- Fixed a broken link in the documentation about PREFIX. [Spotted by
David Steinbrunner]
- Changes to do_system() & friends on VMS to get system calls working
much better there. [Craig Berry]
- Added the "pardist" target which creates a PAR binary distribution
akin to a PPM distribution. [Steffen Mueller]
- Added the Interix platform as a Unix variant. [Stephen Hartland]
- Improved the error message we emit when a distribution contains XS
files but the user has no C compiler. [Suggested by Andreas Koenig]
0.2805_01 Thu Sep 7 21:57:29 CDT 2006
- Because of a weird behavior of YAML::Node, any distribution that
used version.pm objects to define their versions was generating the
wrong syntax for the versions in their META.yml file. They will
now appear as strings like v3.42.1 or similar, including the
leading v.
- Upgraded to version 0.67 of version.pm. [John Peacock]
- Added a contrib/ directory with a bash completion function for M::B
actions and switches. [Julian Mehnle]
- When we eval() the embedded version.pm code we will now die() if
the eval() was unsuccessful, rather than continuing blindly on and
dying mysteriously later.
- Added a 'retest' action that lets users run the current regression
tests on a previously-installed version of a distribution.
* Instead of storing an entire dump of the Config.pm hash in the
_build/ directory upon startup, we now just store any overrides the
user or author has specified. Note that if you were doing anything
you weren't supposed to be doing, like poking around in the
internals of $buld->{config}, your code might break, so I've put
the asterisk of incompatibility on this one just to cover my
tuchus. [Idea originally by Randy Sims]
- Made copying files via copy_if_modified() a little less chatty.
0.2805 Sat Jul 29 22:01:24 CDT 2006
- We now embed a copy of version.pm right in the
Module::Build::Version source code, with John Peacock's blessing,
in case the user has a rough time installing version.pm. This
helps alleviate troubles people were still having with working out
a seemingly circular dependency (even though version.pm now ships
with a standard Makefile.PL too). A version.pm >= 0.661 installed
on the system will take precedence over our bundled one. [John
Peacock]
- Fix some test warnings (or failures?) related to version.pm
numification. [John Peacock]
- The top-level 'version' entry in META.yml files we'd generated was
in the wrong format (it was being treated as a version.pm object
rather than a serialized copy) due to a weird YAML::Node issue.
Fixed.
- Don't 'use base qw(version)' anymore in our M::B::Version wrapper,
just set @ISA directly, because some people have reported that the
'use base' line is croaking.
- Added an 'allow_mb_mismatch' parameter to suppress the startup
check that ensures the version of M::B currently running is the
same as the one initially used to run the Build.PL. Use with
caution.
- Module::Build::ModuleInfo will no longer detect things that look
like $VERSION assignments after an __END__ or __DATA__ token.
- Updated documentation to mention the new mailing list on perl.org
rather than the old one on sourceforge.
0.2804 Sun Jul 16 16:41:25 CDT 2006
- Added 'use version;' in Module::Build::Version, because some
versions of base.pm won't automatically load version.pm when we do
'use base qw/version/;'. [Spotted by Erik Tank]
0.2803 Sat Jul 15 08:26:34 CDT 2006
- The META.yml file in the last release was all screwed up, so the
distribution wasn't indexed properly. Fixed in this release.
0.2802 Fri Jul 14 22:40:34 CDT 2006
- Added reliance on version.pm, which means we should deal much
better with the wide range of version specifications one finds on
CPAN. This is made possible by recent releases of version.pm that
give the user a pure-perl option, so installing version.pm
shouldn't be too onerous for most users. [John Peacock]
- We should be accepting the default when we're in unattended mode,
not acting dumb and ignoring both the default and the [empty]
answer from the user. Fixed. [Spotted by Nik Clayton]
0.2801 Sun May 21 00:07:40 CDT 2006
- Module::Build::Compat's emulation of INC is incorrectly prepending
a -I to the value of INC. This is incorrect because there should
already be a -I on the value. I.E. it's "perl Makefile.PL INC=-Ifoo"
not "perl Makefile.PL INC=foo" so Compat should not prefix a -I.
[Michael Schwern]
- Native batch scripts under Windows should not be converted by
pl2bat. [Spotted by Ron Savage]
- Tweaked the way we determine whether a file is executable on Unix.
We use this determination to decide whether to make it executable
during installation. [Julian Mehnle]
- Replaced a vestigial 'next' with 'return' now that the code is in a
subroutine (htmlify_pods()), not a loop. [Ron Savage]
- Fixed a guaranteed failure in t/signature.t when TEST_SIGNATURE was
set. [Eric R. Meyers]
- Fixed a test failure that occurred when testing or installing in
unattended mode - the code to test whether unattended mode and
attended mode are working properly was assuming that we started out
in attended mode. [Steve Peters]
- Improved our stand-in YAML generator that we use to generate
META.yaml when authors don't have a copy of YAML.pm installed on
their machine. It was unable to handle things like embedded
newlines in the data, now it has a much more extensive escaping
mechanism. [Stephen Adkins]
- Revised the docs for --prefix and PREFIX. [Michael Schwern]
0.28 Thu Apr 27 22:25:00 CDT 2006
- When y_n() or prompt() are called without a default value and the
build seems to be unattended (e.g. in automatic CPAN testing), we
now die() with an error message rather than silently returning
undef for prompt(), or looping indefinitely for y_n().
- When searching for '.modulebuildrc', return the first HOME-like
directory that actually contains the file instead of the first
existing directory. Document the search locations and the order
searched. [Spotted by David Golden]
- Split the API documentation out of Module::Build::Authoring into
its own document: Module::Build::API.
- We should not emit a warning if a Module::Build subclass is
required in a Makefile.PL that is not bundled in the current
distribution; it may be installed on the user's system. [Spotted by
Tyler MacDonald]
- copy_if_modified() now preserves the executable bit of the source
file. [Spotted by Julian Mehnle]
- Fixed compatibility of our screen-scraping the Test::Harness output
so we can recognize the most recent Test::Harness version. [Steve
Hay]
- Backing out a requirement added in 0.27_06 on the method y_n()
to always include a default. This behavior would cause existing
build scripts to start failing. We now fail with a missing default
only when $ENV{PERL_MM_USE_DEFAULT} is set because there is no
reasonable default.
- Make install_types() method smarter with respect to custom install
types.
- Add documentation for the install_base_relpaths() and
prefix_relpaths() methods. Improved their usage for a public API,
and added tests.
0.27_10 Tue Mar 28 22:50:50 CST 2006
- Added the create_packlist property, default true, which controls
whether packlist files will be written during installation. This
was already part of Module::Build 0.2609, but for some reason we've
forgotten it in the 0.27_xx series. [Spotted by Steve Kirkup]
- Document the versions of Module::Build where each feature, action,
constructor argument, and method was first publicly documented.
- More fixes for find_perl_interpreter() to work with BSD flavored
UNIX: Ensure we always return absolute paths; throw an exception
upon failure to find correct interperter; document everything.
- We now include our own YAML.pm work-alike that we can use when the
real YAML isn't installed. We might soon even start using it when
YAML is installed, because the YAML API and dependency chain have
been changing in unfavorable ways lately. [Stephen Adkins]
- Fixed some shell-argument-quoting issues on VMS. In the process,
we have added some support for avoiding tripping over
shell-argument-quoting issues on other platforms too. [Initial
patch by Craig A. Berry]
0.27_09 Sat Mar 11 22:48:54 EST 2006
- Fixed find_perl_interpreter() so we can find the perl executable
when running from uninstalled perl even when $^X contains a
relative path. [Yitzchak Scott-Thoennes]
- Fixed warning message where we were printing the wrong field names.
[Chris Dolan]
- Added a 'testpodcoverage' action that runs a POD coverage check for
all modules in the distribution. [Yanick Champoux]
- Added a Cookbook example of subclassing to modify an action. [Dylan
Martin and David Golden]
- When building HTML documentation, we were opening the POD file and
not checking whether the open succeeded, which of course caused
problems down the line if it failed. Now we do "or die(...)" like
everywhere else. [Spotted by Joerg Braun]
0.27_08 Fri Mar 3 21:22:41 CST 2006
- Due to shell quoting issues and differences in syntax between
various flavors of Windows, the code for the 'pl2bat' utility
distributed with Perl has been incorporated into M::B::P::Windows.
[Thanks to Dr Bean and Ron Savage for help testing and isolating
the problem.]
- Modify add_build_element() so that it only adds elements if they
don't already exist. [David Wheeler]
- Fixed a bug in the 'pass-through' Makefile.PL in which we would die
if CPAN::Shell->install returned false, but apparently this return
value is unreliable. Now we only die if the module is actually
unavailable after installation.
- Fixed testing problems on VMS related to non-case-preserving
filesystems. We now bundle Tie::CPHash in the distribution (just
for testing purposes, it doesn't get installed) to help with
this. [Craig Berry and Yitzchak Scott-Thoennes]
- We incorrectly documented the 'dynamic_config' flag in the META.yml
file as having a default value of false, but according to the
META.yml spec (which, for heaven's sake, we wrote) its default
value is true. Fixed. [Spotted by Adam Kennedy]
- The have_c_compiler() method was dying if the ExtUtils::CBuilder
module wasn't around, which is obviously an unhelpful thing to do.
Now it just returns false. [Spotted by John Peacock]
- Fix detection of $VERSION expressions that are not
assignments. [Spotted by Chris Dolan]
- Obfuscate one of our constructs that uses a $VERSION variable,
because it was getting picked up by ExtUtils::MakeMaker's
version-finder. [Spotted by Randal Schwartz]
- The config_data script for querying and/or setting a module's
config data was forgetting to call write() after setting config
values (though setting feature values was working fine).
Fixed. [Brian Duggan]
- On Windows, remove the pl2bat generated 'Build.bat' script without
the annoying "The batch file cannot be found." error. [Solution
provided by RazTK and foxidrive on newsgroup alt.msdos.batch]
- Our version comparisons should now work correctly with modules that
use version.pm to delcare their versions (e.g. "our $VERSION =
version->new('1.0.0')"). [John Peacock and Ron Savage]
- We now create a Build.bat script on versions of Windows where it
makes sense. [Yves]
- Fixed the verbiage around choosing the correct make-alike on
different platforms to suggest using 'perl -V:make'. [Suggested by
anonymous user]
0.27_07 Wed Feb 1 20:07:45 CST 2006
- The notes() method now returns the new value when called with two
arguments, just like when it's called with one argument. [Tyler
MacDonald]
- The notes() method now distinguishes among the values undef, 0, and
the empty string, where previously it didn't. [Tyler MacDonald]
- We now unshift(@INC) rather than push(@INC) for the directory where
a build subclass lives, so that we're sure to pick up the right
version and not some already-installed version. [perlmonkey]
- The SIGNATURE file for version 0.27_06 (and I'm sure for lots of
versions before that too!) was messed up, since we were modifying
some files after signing. This has been band-aided for the time
being by signing twice. [Reported by Chris Dolan]
0.27_06 Mon Jan 23 21:44:54 CST 2006
- Fixed an undefined-variable warning when building the META.yml file
and the author hasn't used the 'module_name' mechanism. [Chris Dolan]
- We should now work with recent (> 0.49) versions of YAML.pm when
creating the META.yml file. [Yitzchak Scott-Thoennes]
- The y_n() method now requires the default parameter, and the
prompt() and y_n() methods have been improved with respect to
how they behave/detect when there is no user to ask. We're now
more consistent with MakeMaker, including respecting the
PERL_MM_USE_DEFAULT environment variable. [Tyler MacDonald and
Yitzchak Scott-Thoennes]
- When building a README file using Pod::Text, work around a bug in
Pod::Text 3.01, which expects Pod::Simple::parse_file to take input
and output filehandles when it actually only takes an input
filehandle. [Yitzchak Scott-Thoennes]
0.27_05 Thu Jan 12 17:39:21 CST 2006
- In t/common.pl, we were attempting to let the user's installed
Test::More take precedence over ours, but getting thwarted by all
the test scripts' loading Test::More beforehand. Fixed. [Spotted