forked from easybuilders/easybuild-framework
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE_NOTES
1611 lines (1460 loc) · 102 KB
/
RELEASE_NOTES
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
This file contains a description of the major changes to the easybuild-framework EasyBuild package.
For more detailed information, please see the git log.
These release notes can also be consulted at https://easybuild.readthedocs.io/en/latest/Release_notes.html.
v3.6.2 (July 11th 2018)
-----------------------
bugfix release
- various enhancements, including:
- add support for including environment variable that is resolved at "module load time" in user module path (#2395)
- {RUNTIME_ENV::EXAMPLE} is replaced by value of $EXAMPLE when module is loaded
- also support generating Docker container recipes & image via --containerize (still experimental) (#2479)
- add support for specifying source URLs directly in 'sources' (#2520)
- perform early 'raw' parse of provided easyconfig file to check for syntax error or faulty inputs (#2523)
- add 'bitbucket_account' easyconfig parameter and template, and let BITBUCKET* templates use it (#2525)
- various bug fixes, including:
- take into account --filter-deps when re-loading build dependencies in extensions_step (#2516)
- fix for offline use of bootstrap script: ignore errors when determining source URLs if source tarballs are provided (#2517)
- fix error message that is raised for incorrect type of value in sanity_check_paths (#2524)
- other changes:
- move flake8 config into setup.cfg + fix style issues in easybuild/tools/options.py (#2511)
- make test that verifies that BuildOptions does not support updating a bit more flexible (#2518)
v3.6.1 (May 28th 2018)
----------------------
bugfix release
- various enhancements, including:
- add support for enabling fallback in sanity check to consider lib64 equivalent for seemingly missing libraries (#2477)
- add GITHUB_LOWER_SOURCE constant (#2491)
- add 'exts_download_dep_fail' as known easyconfig parameter (#2493)
- add support for passing custom messages on failing sanity check for extensions (#2494)
- add definition for fosscuda toolchain (#2507)
- various bug fixes, including:
- make --inject-checksums always re-order source_urls/sources/patches/checksums (#2487)
- fix git remote url in CONTRIBUTING.md (#2490)
- make flake8 happy in easyblock.py (#2492)
- handle missing permissions for adding labels in --new-pr (#2497)
- restore tweaked $TMPDIR value after loading module (for sanity check) (#2498)
- enhance get_module_path function to auto-detect generic vs software-specific easyblock class names (#2502)
- don't blindly overwrite an existing easyconfig in tweak_one (#2504)
- take account that PlaintextKeyring may be provided via keyrings.alt (#2505)
- prepend location for temporary module file to $MODULEPATH with high priority + mark it as default in load_fake_module method (#2506)
v3.6.0 (April 26th 2018)
------------------------
feature release
- (experimental) support for generating Singularity container recipes & (optionally) images via 'sudo singularity' (#2332, #2480, #2481, #2482, #2483)
- see documentation at http://easybuild.readthedocs.io/en/latest/Containers.html
- include -ftree-vectorize and -fno-math-errno in default compiler optimisation flags for GCC (#2388)
- this significantly improves performance of generated binaries when building with a GCC-based toolchain
- can be disabled if needed via the 'vectorize' toolchain option
- several enhancements/fixes to GitHub integration support:
- loosen commit message requirements for --new-pr w.r.t. to patches as long as all easyconfigs are new (#2438)
- automatically add 'new' and/or 'update' labels in --new-pr (#2384)
- add force_in_dry_run=True to copy_file in copy_patch_files (#2442)
- test for custom commit message when deleting a file instead of when adding a patch (#2443)
- make diff_stat pattern also match output of older git versions in tests for --new/update-pr (#2444)
- remove duplicates from --new-pr title (#2478)
- add support for "eb --fetch" to only download sources (even without having a modules tool installed) (#2457)
- add definitions for a bunch of new toolchains:
- golf (#2458), gmkl (#2460), gomkl (#2455), pmkl (#2460)
- toolchains including CUDA: gmklc, gomklc, iimklc, iompic, iomklc (#2461)
- various minor enhancements, including:
- avoid that '--inject-checksums' adds lines longer than 120 characters (#2434)
- enable caching of $HOME/.cache/pip in Travis config (#2435)
- replace raw strings with bytes literal as iterator sentinels in checksum calculation (#2446)
- new command-line option '--job-max-jobs' to cap nr of submitted build jobs with GC3Pie (#2378)
- add configuration for houndci + flake8 (#2451)
- add Accept header when downloading file (#2437)
- include running of 'eb --check-github' in Travis config (#2449, #2454)
- flesh out common code blocks in test/framework/options.py (#2452)
- support 'depends_on' load statements in generated modules via --module-depends-on and module_depends_on easyconfig parameter (#2391)
- fix compatibility with Modules v4.1.x (#2470)
- add support to run_cmd to enable streaming output (#2476)
- various bug fixes, including:
- determine whether included easyblocks are generic or not based on class they define (#2432)
- make sure GitHub token is used in test for --preview-pr (#2436)
- take into account that toolchain components may be hidden when determining toolchain composition (#2440)
- stick to autopep8 1.3.4 when testing with Python 2.6 (#2462)
- strip off .lua extension when backing up modules to ensure Lmod 6.x doesn't pick up on them (#2463)
- check for modulecmd.tcl before modulecmd in bootstrap script to discriminate between Modules 4.1.x vs 3.2.10 (#2468)
- fix derive_alt_pypi_url after PyPI switching to sha256 in package URLs + fix broken test for pypi_source_urls + fix bootstrap script (#2471)
- make sure that both 'get_git_revision' and 'this_is_easybuild' return regular strings rather than Unicode strings (#2472)
v3.5.3 (March 7th 2018)
-----------------------
bugfix release
- various enhancements, including:
- re-enable testing against environment modules, bump Lmod to 7.7.16 (#2425)
- print which hook is being executed in the command line output (#2427)
- various bug fixes, including:
- fix order in result of gen_list_easyblocks and gen_easyblocks_overview_rst (#2421)
- fix target account for branch pushed when using --new-pr (#2426)
v3.5.2 (March 2nd 2018)
-----------------------
bugfix release
- various enhancements, including:
- add functionality to skip devel module with naming scheme (#2374)
- add pagination support in clean_gists.py (#2379)
- allow basic compiler modulenames to be specified as keys in optarch (#2387)
- initial set of OHPC module meta data for EasyBuild (#2392)
- allow different target account in post_comment_in_issue (#2399)
- declare support for RPATH linking stable (#2409)
- various bug fixes, including:
- update bootstrap script to be compatible with Modules v4 (#2390)
- avoid fatal error when determining glibc version on non-glibc Linux system (e.g. Alphine Linux) (#2398)
- exclude location of RPATH wrappers from $PATH to avoid fork bomb (#2410)
- fix target account for --update-pr in case it's different from GitHub account being used to push branch (#2419)
v3.5.1 (January 16th 2018)
--------------------------
bugfix release
- various enhancements, including:
- add definition of giolfc toolchain (#2359)
- add support for Environment Modules 4 (#2365)
- various bug fixes, including:
- install SQLAlchemy < 1.2.0 with Python 2.6 in Travis config (#2367)
- make code in easybuild/tools/job/gc3pie.py forward-compatible with GC3Pie 2.5 (#2373)
v3.5.0 (December 15th 2017)
---------------------------
feature release
- add support for implementing pre- and post-step hooks (#2343)
- documentation available at http://easybuild.readthedocs.io/en/latest/Hooks.html
- various enhancements, including:
- add support for foss-like toolchain with Spectrum MPI: gsolf (#2329)
- add support for --preview-pr (#2331, #2337, #2348)
- see also http://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html#previewing-easyconfig-pull-requests-preview-pr
- flesh out find_extension function, hoist dict with extract commands into a constant (#2336)
- add support for using self.start_dir rather than using self.cfg['start_dir'] (#2339)
- add support for 'exts_default_options' easyconfig parameter (#2345, #2346)
- allow use of 'start_dir' easyconfig parameter in extensions (#2353)
- various bug fixes, including:
- fix typo in 'giolf' toolchain definition (#2327)
- fix minor issues with --inject-checksums (#2333)
- fix error message when 'gv' Python package is not available (#2340)
- install paramiko version < 2.4.0 for Python 2.6 in Travis config (#2344)
- disable broken log rotation, avoid duplicate logging of output of executed commands under '--debug' (#2347)
- also include $ORIGIN and absolute paths to 'lib' and 'lib64' subdirectories in RPATH locations (#2358)
- fix repo references in install-EasyBuild-develop.sh script (#2360)
v3.4.1 (October 17th 2017)
--------------------------
bugfix release
- various enhancements, including:
- improve trace output for executed commands + drop requirement for --experimental for --trace (#2306)
- add giolf toolchain definition: GCC, IntelMPI, OpenBLAS, (Sca)LAPACK and FFTW (#2310)
- add support for --force-download and --ignore-checksums (#2313, #2314)
- flesh out pypi_source_urls from derive_alt_pypi_url (#2319)
- various bug fixes, including:
- also check for use of --rebuild next to --force to skip sanity check with --module-only (#2307)
- ensure $TMPDIR is set to a short path for OpenMPI v2.x (#2311)
- guard 'module load' commands in generated modules under --recursive-unload to avoid load storms (#2316)
- correctly deal with use of special characters in description & co (#2320)
- fix incorrect FFT_INC_DIR for Intel MKL (#2323)
v3.4.0 (September 10th 2017)
----------------------------
feature release
- various enhancements, including:
- add support for backing up modules via --backup-modules (#2134)
- enabled automatically with --module-only and --skip
- see also http://easybuild.readthedocs.io/en/latest/Backup_modules.html
- add support for --search-paths to extend list of locations considered by --search/-S (#2255)
- include userInGroup check in Lua modules when installation is group-restricted (#2274)
- add experimental support for 'eb --trace' (#2285)
- see also http://easybuild.readthedocs.io/en/latest/Tracing_progress.html
- add support for 'eb --inject-checksums' (#2286, #2292, #2293)
- see also http://easybuild.readthedocs.io/en/latest/Writing_easyconfig_files.html#adding-or-replacing-checksums-using-inject-checksums
- add support for append_paths in module generator (#2294)
- various bug fixes, including:
- strip provided GitHub token of spaces in --install-github-token (#2270)
- remove 'provides' line from setup.py (#2275)
- pass down stdin in 'import' check for extensions during sanity check (#2276)
- make sure location to 'eb' installed during stage 1 is included in $PATH during stage 2 of bootstrap procedure (#2281)
- make resolve_path robust against None path being provided (#2282)
- ensure clean error message on easyconfig file parse failure (#2290)
- fix regex to avoid sucking up additional lines prior to module file path in modulefile_path (#2291)
- fix error message when --use-ccache is used but ccache is not available in $PATH (#2295)
v3.3.1 (July 12th 2017)
-----------------------
bugfix release
- various enhancements, including:
- add support for 'allow_prepend_abs_path' easyconfig parameter (#2254)
- support for --merge-pr (#2266)
- various bug fixes, including:
- resolve symlinks to location of 'eb' in get_paths_for (#2248)
- fall back to checking location relative to 'eb' location in find_eb_script (#2249)
- respect --suffix-modules-path value for user-specific module path extensions (#2250)
- update EasyBuild bootstrap script to download distribute tarball from http://easybuilders.github.io/easybuild/files (#2256)
- fix default target GitHub account/organisation for --new-pr & co + fix tests that got broken by migration to github.com/easybuilders (#2258)
- fix checking for new easyconfigs in copy_easyconfigs, pick up specified commit message as PR title if none was provided (#2259)
- get rid of references to hpcugent after move to github.com/easybuilders (#2261)
- automatically enable --ignore-osdeps under --new-pr and --update-pr (#2262)
v3.3.0 (June 26th 2017)
-----------------------
feature release
- various enhancements, including:
- clean up easyconfigs that are copied for inclusion in pull request (#2197, #2227)
- use devel logging where relevant in easybuild.tools.toolchain (#2198)
- check exit code for executed module commands (#2200)
- also copy patches to installation directory & easyconfigs archive along with easyconfig file (#2202, #2241)
- add support for SHA256 checksums (#2215)
- also auto-detect whether provided checksum is MD5 or SHA256 based on length (if not checksum type is specified)
- add support for --enforce-checksums, to require availability of checksums for sources/patches
- see https://easybuild.readthedocs.io/en/latest/Writing_easyconfig_files.html#source-files-patches-and-checksums
- add support for renaming sources on download (#2223)
- also involves deprecating use of 2-tuple elements in list of sources, see https://easybuild.readthedocs.io/en/latest/Deprecated-functionality.html#depr-sources-2-element-tuple
- add support for --detect-loaded-modules (#2228)
- give extensions access to module_generator of parent (#2229)
- pass down additional arguments to copy_dir down to shutil.copytree (#2230)
- avoid reloading already loaded modules that extend $MODULEPATH (#2232)
- various bug fixes, including:
- make sure test account & accompanying token is used in tests for github.py (#2220, #2224)
- only use MPD for old versions of Intel MPI (<4.1) in mpi_cmd_for (#2221)
- escape dots in package filename to ensure correct match in derive_alt_pypi_url (#2225)
- fix GNU_SOURCE template by adding missing /gnu/ (#2235)
- catch exception shutil.Error in copy_file (#2239)
- report full error and traceback on unhandled exception in test report (#2240)
- fix --set-default-module flag (#2243)
v3.2.1 (May 12th 2017)
----------------------
bugfix release
- various enhancements, including:
- make hardcoded max ratio for failures in adjust_permissions configurable (#2213)
- allow https on direct download in sources (#2214)
- various bug fixes, including:
- bump version bootstrap script to sync with latest update (#2208)
- fix crash during module generation when '%' character is used in description (#2209)
v3.2.0 (May 5th 2017)
---------------------
feature release
- various enhancements, including:
- add support for marking installed module file as new default version using --set-default-module (#2110)
- additional easyconfig parameters for documentation: docpaths, examples, site_contacts, upstream_contacts, usage (#2113)
- add support for --allow-use-as-root-and-accept-consequences (#2123)
- enable extraction of patches from compressed files before applying them (#2128)
- alphabetically sort functions and methods in module_generator module (#2132)
- introduce function ensure_iterable_license_specs (#2157)
- bump Travis config to use Lmod 7.4 (#2176)
- implement copy_dir function in filetools (#2177)
- clarify error message when no software-specific easyblock was found (#2178)
- make log.deprecated more verbose by also printing deprecation warnings to stderr (#2179)
- add copy function to filetools for easy copying of lists of files/directories (#2180)
- add support for --verify-easyconfig-filenames (#2185)
- add support for --package-tool-options (#2187)
- take into account inline trailing comments in fetch_parameters_from_easyconfig (#2192)
- add support for customising easyconfig parameters on a per-extension basis (#2194)
- perform sanity check after stage 2 of EasyBuild bootstrap script, module file should be in place (#2199)
- change order in which module commands are checked, consider Lmod first (#2201)
- various bug fixes, including:
- fix use of compiler-specific --optarch value in combination with --job (#2183)
- call run_all_steps in regtest mode rather than running steps individually (#2203)
v3.1.2 (March 20th 2017)
------------------------
bugfix release
- fix broken packaging support by fixing ``run_cmd`` bug with ``shell=False`` (#2153)
- minor enhancements, including:
- implement change_dir function in filetools module (#2155)
- use checker_state in trailing whitespace style check + add dedicated test (#2160, #2169)
- consider both pycodestyle and pep8 Python modules in style checks (#2161)
- make bootstrap script aware various modules-related $EASYBUILD_* environment variables (#2170)
- various bug fixes, including:
- interpret statements that extend $MODULEPATH in modpath_extensions_for method (#2104)
- also fixes inclusion of superfluous load statements in modules installed in user HMNS module tree (cfr. #2172)
- take into account that $PATH or $PYTHONPATH may be empty when running tests (#2149)
- handle duplicates in --include-* (#2151)
- exclude dependencies of dependencies that extend $MODULEPATH (#2152)
- add ld.bfd to RPATH wrappers (#2156)
- fix test_vsc_location, vsc.__file__ may not be available when vsc is installed as a namespace package (#2159)
- fix reported problems with scripts & docs tests (#2164)
- fix --try-software-version using non-greedy matching + lookahead assertion, add test for tweak_one (#2166)
- avoid creating empty modulefile directories when using modaltsoftname (#2168)
- fix fftw_libs for MKL without interface libraries (#2171)
v3.1.1 (March 7th 2017)
-----------------------
bugfix release
- minor enhancements, including:
- print more useful error message when no compiler-specific optarch flag is defined (#1950)
- add ec parameter to expand_toolchain_load() (#2103)
- clarify unstable/closed PR warning message (#2129)
- various bug fixes, including:
- ensure that $EBEXTSLIST* is also included in generated module under --module-only (#2112)
- fix formatting issues in generated documentation for --list-software and --avail-easyconfig-licenses (#2121)
- fix problem with backticks in description breaking 'fpm' packaging command (#2124)
- replace --enable-new-dtags with --disable-new-dtags instead of removing it in RPATH wrapper script (#2131)
- only perform is_short_modname_for sanity check in det_short_module_name if modaltsoftname is available (#2138)
- fix logic in make_module_dep w.r.t. excluding loads for toolchain & toolchain components (#2140)
- skip test_check_style if pep8 is not available (#2142)
v3.1.0 (February 3rd 2017)
--------------------------
feature release
- various enhancements, including:
- ARM: GCC optimal/generic architecture compiler flags (#1974)
- add support for --check-style to check style in easyconfig files (#1618, #2038)
- add HOME and USER from envto available cfg file constants (#2063)
- --optarch can now be specified on a toolchain basis (#2071)
- implement get_cpu_features function in systemtools (#2074, #2078)
- support use of linalg without MPI, add iimkl toolchain definition (#2082)
- spoof HTTP request header with empty agent (#2083)
- exclude dependencies of dependencies that extend $MODULEPATH in make_module_dep (#2091)
- various bug fixes, including:
- make fetch_github_token more robust against RuntimeError from keyring (#2070)
- POWER: Fix `--optarch=GENERIC` for GCC (#2073)
- fix docstring in toolchain class (#2075)
- skip test cases involving .yeb if PyYAML is not installed, silence test in options subsuite (#2081)
- fix traceback with 'eb --check-github' if GitPython is not installed (#2085)
- fix regex for determining list of patched files in GitHub diff (#2088)
- modify robot so that it only appends dependencies of tweaked easyconfigs (#2090)
- escape metacharacters in paths passed to re.compile in dry_run_set_dirs (#2098)
- fix broken error message in get_toolchain_hierarchy + dedicated test case (#2099)
v3.0.2 (December 22nd 2016)
---------------------------
bugfix release
- various bug fixes, including:
- also skip dependencies of dependencies marked as external module in get_toolchain_hierarchy (#2042)
- disable verbose setvar in modules.py (#2044)
- force copying of easyconfigs in --new-pr/--update-pr, even when combined with -x (#2045)
- fix verification of filename for easyconfigs used to resolve deps (#2051)
- skip RPATH sanity check when toolchain did not use RPATH wrappers (#2052)
- check whether file-like paths are readable before reading them in systemtools module (#2065)
- various small enhancements, including:
- add 'rpath' toolchain option to selectively disable use of RPATH wrappers (#2047)
v3.0.1 (November 30th 2016)
---------------------------
bugfix release
- important changes
- always use Intel-specific MPI compiler wrappers (mpiicc, mpiicpc, mpiifort) for toolchains using
both Intel compilers and Intel MPI (#2005)
- various small enhancements, including:
- use setvar in modules.py to define environment variables (#2011)
- include output of sanity_check_commands in the build log (#2020)
- various bug fixes, including:
- fix testing of bootstrap script in Travis config (#2003)
- use correct module syntax in bootstrap script if Lmod is not used (i.e. Tcl) (#2007)
- fix packaging issue with non-Python scripts in easybuild/scripts (#2015)
- fixes issue where RPATH wrapper template script (rpath_wrapper_template.sh.in) was not included in v3.0.0 release
- make tests more robust against running headless (#2016)
- avoid rewrapping already wrapped compiler/linker command with RPATH wrapper script (#2022)
- fix log.error traceback due to 'raise EasyBuildError' involving a '%s' in error message (#2024)
- make sure 'modules_tool' attribute is also defined for extensions (#2026)
- only dump easyconfig with modified deps due to --minimal-toolchains to 'reprod' subdir of install dir (#2028)
- avoid appending '-h' to sanity check commands specified as a string (#2030)
- fix bug in list_software_rst: always include versionsuffix regardless of value (#2032)
v3.0.0 (November 16th 2016)
---------------------------
feature release
- backward-incompatible changes:
- make robot always consider subtoolchains, even without --minimal-toolchains (but in reverse order) (#1973)
- clean up behaviour that was deprecated for EasyBuild v3.0 (#1978)
- change default config to use Lmod/Lua for modules tool/syntax, GC3Pie as job backend (#1985)
- the minimal required version of Lmod was bumped to 5.8 (#1985)
- major new features:
- (experimental) support for RPATH linking via --rpath (#1942)
- see https://easybuild.readthedocs.io/en/latest/RPATH-support.html
- add support for --consider-archived-easyconfigs (#1972)
- see https://easybuild.readthedocs.io/en/latest/Archived-easyconfigs.html
- stabilize --new-pr and --update-pr (#1979)
- see https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html
- various other small enhancements, including:
- add support for 'devel' log level (#1815)
- make remove_file aware of --extended-dry-run + add dedicated unit test (#1932)
- add support for filtering out setting/updating particular environment variables from generated modules (#1943)
- see --filter-env-vars
- clean up output of EasyBuild bootstrap script & add version (#1944)
- improved ARM platform/CPU detection (#1953)
- use '0' as letter dir for funky software names that don't start with a letter, e.g., 3to2 (#1954)
- make bootstrap script aware of vsc-install for offline installation (#1955)
- add support for blas_family() and lapack_family() methods in Toolchain instances (#1961)
- make copy_file dry-run aware (#1963)
- reorganise test easyconfigs to match structure in easyconfigs repo (#1970)
- add a toolchain compiler option for enforcing IEEE-754 conformance (#1975)
- support for intelcuda compiler toolchain (#1976)
- check that each glob pattern matches at least one file expand_glob_paths (important for --include-*) (#1980)
- enhance bootstrap to auto-skip stage 0 in case a suitable setuptools is already available (#1946, #1984)
- simplify GC3Pie version check (#1987)
- include suggestion on how to change configuration w.r.t. modules tool/syntax (#1989)
- various bug fixes, including:
- fix test for find_easybuild_easyconfig (#1931)
- remove existing module file under --force/--rebuild (#1933)
- fix combining --search and --try-* (#1937)
- fix appending to existing buildstats in FileRepository.add_easyconfig (#1948)
- fix handling of iterate easyconfig parameters, restore them during cleanup (#1949)
- fix filtering loads for (hidden) build deps from generated module (#1959)
- handle multi-flag compiler options on all types of options (#1966)
- fix --list-software by making letter_dir_for function aware of '*' wildcard name (#1969)
- skip dependencies of toolchain marked as external modules when determining module hierarchy (#1977)
- bump page limit in fetch_latest_commit_sha, spit out more meaningful error if too many branches were encountered (#1981)
- fix CUDA-related issues in HierarchicalMNS (#1986)
v2.9.0 (September 23rd 2016)
----------------------------
feature release
- note: vsc-base 2.5.4 or more recent is now required
- various small enhancements, including:
- change option `--color` choices to auto/always/never (#1701, #1898, #1911)
- add support for 'hidden' easyconfig parameter (#1837)
- add support for using ccache and f90cache compiler caching tools (#1844, #1912)
- see --use-ccache and --use-f90cache
- update Cray metadata for 16.06 CrayPE release (#1851)
- also include patch files in --new-pr and --update-pr (#1852)
- handle deleted files in --new-pr (#1853)
- add support for --install-latest-eb-release (#1861)
- add support for hiding toolchains, see --hide-toolchains and 'hidden' key in 'toolchain' spec (#1871)
- add template for GitHub source URL (#1872)
- add support for combining --new-pr/--update-pr and --robot (#1881)
- add support for --list-software and --list-installed-software (#1883, #1910, #1917)
- print message on which extension is being installed, incl. progress counter (#1886, #1914)
- add support for --github-org to specify GitHub organisation rather than GitHub user (#1894)
- add support for running Lmod in debug mode (#1895)
- avoid needless use of deepcopy, speed up support for templating in easyconfigs (#1897)
- convert all_dependencies to a property in EasyConfig class (#1909)
- add support for --mpi-cmd-template (#1918)
- add support for --disable-mpi-tests (#1920)
- various bug fixes, including:
- merge with develop when using --from-pr (#1838, #1867)
- ensure --new-pr doesn't open empty pull requests (#1846)
- better error handling for outdated GitPython module in --check-github (#1847)
- fix formatting for generated easyblocks documentation (#1860)
- make sure the robot ignores filtered dependencies (#1862)
- honor --filter-deps under --minimal-toolchains (#1863)
- correct format for 'param' and 'author' tags in docstrings (#1866)
- ignore failing bootstrap test in Travis config file (#1870)
- make sure all output of executed command is included in generated temporary log file (#1873, #1874)
- ensure --show_hidden is used in the correct location for 'avail' with Lmod (#1875)
- make sure self.path is passed down in copy method of EasyConfig object (#1884)
- take into account possible multi-line modloadmsg in ModuleGeneratorLua (#1885)
- fix extracting .bz2 source files (#1889)
- don't resolve path to Lmod command (#1892)
- fix skipping of stage 0 in bootstrap script (#1893)
- fix function signature of log.deprecated compared to fancylogger.deprecated (#1896, #1899)
- apply patch to Tcl/C environment modules tool for Tcl 8.6 support in Travis config (#1901)
- fix combining --extended-dry-run with --from-pr (#1902)
- also template dict keys (#1904)
- don't pass '--try-*' command-line options to EB instance running within job script (#1908)
- add workaround for incorrectly passing command line arguments with --job (#1915)
- fix issues with --module-only (#1919, #1924, #1925)
- correctly deal with specified start_dir
- do not remove installation directory when build-in-installdir is enabled
- make sure 'which' function returns path to a file (#1921)
- fix :param:, :return: tags in docstrings & add test for it (#1923)
v2.8.2 (July 13th 2016)
-----------------------
bugfix release
- various small enhancements, including:
- add support for rst output for --list-* and --avail-* (#1339)
- add support for 'eb --check-conflicts' (#1747, #1807, #1833)
- ensure nice error message when non-existing path is passed to apply_regex_substitutions (#1788)
- add check for module output, empty stdout is a sign of trouble with Lmod (#1793)
- add multi-threaded FFT to toolchain (#1802)
- avoid special characters like '[', ']' in path to temporary directory (#1808)
- add support for --zip-logs (#1820)
- add support for --extra-modules (#1821)
- add type conversion for 'checksums' and 'patches' parameter in .yeb easyconfigs (#1826, #1840)
- add support for filtering tests by name (#1828)
- add support for --avail-toolchain-opts (#1830, #1839)
- use absolute path for robot and easyconfig files (#1834)
- add backup URL for tarballs hosted on SourceForge in install_eb_deps.sh script (#1843)
- various bug fixes, including:
- fix installation of Lua in install_eb_dep.sh script (#1789)
- fix OpenMP flag for Cray compiler wrappers (#1794)
- only reset $MODULEPATH before loading a module if environment was reset (#1795)
- include vsc-install as dependency in setup.py (#1805)
- cache $PATH & $PYTHONPATH in test setUp, restore them in tests where 'eb' is used (#1806)
- don't reset $MODULEPATH in stage 2 of bootstrap script, support forced installation during stage 2 (#1810)
- fix issue with templates defined by deps being required while still parsing deps (#1812)
- skip unneeded unuse/use commands on tail of $MODULEPATH in check_module_path (#1813)
- fix auto-convert for all *dependencies params in .yeb easyconfigs, ensure version is a string (#1818)
- fix keyring version in Travis config (#1819)
- fix dumping of .yeb easyconfig files in easyconfigs archive (#1822)
- fix format of supported easyconfig templates in help output (#1825)
- stick to pydot 1.1.0 for Python 2.6 in Travis config (#1827)
v2.8.1 (May 30th 2016)
----------------------
bugfix release
- various bug fixes, including:
- fix error message on missing module command in bootstrap script (#1772)
- expand ~ in paths specified to --include-* (#1774)
- break after deleting cache entry to avoid attempt to delete cache entry again (#1776)
- avoid changing $MODULEPATH when prepending with symlink of path already at head of $MODULEPATH (#1777)
- filter out duplicates in find_flexlm_license (#1779)
- stick with GitPython < 2.0 with Py2.6 in Travis configuration (#1781)
- don't use LooseVersion to define version_major/version_minor (#1783)
v2.8.0 (May 18th 2016)
----------------------
feature + bugfix release
- significant speedup improvements of EasyBuild itself, thanks to:
- stop creating ModulesTool instances over and over again (#1735)
- cache result of 'module avail' calls (#1742)
- add support for using PGI as toolchain compiler (#1342, #1664, #1759, #1761, #1764)
- incl. new toolchain definitions pompi and pomkl (#1724)
- add test configuration for Travis (#1733, #1737, #1743, #1767)
- various other enhancements, including:
- add get_total_memory() function in systemtools module (#1623)
- ignore __init__.py files in --include-* (#1704)
- use -fopenmp rather than -openmp for Intel compilers, since -openmp is deprecated (#1718)
- add modules to metadata for Cray modules (#1721)
- make sure user write permissions are set after failed removal attempt of installation directory (#1722)
- escape special characters in software name in find_related_easyconfigs (#1726)
- add support for CrayPGI compiler toolchain (#1729)
- ensure read permission to all installed files for everybody (unless other options specify otherwise) (#1731)
- also consider $LMOD_CMD in bootstrap script (#1736)
- translate PyPI download URL to alternate URL with a hash (#1749)
- make get_software_libdir compatible with -x (#1750)
- set $LMOD_REDIRECT to 'no' when initialising Lmod (#1755)
- add test for broken modules tool setup affecting 'module use' (#1758)
- various bug fixes, including:
- isolate 'options' tests from easyblocks other than the ones included in the tests (#1699)
- don't run 'module purge' in tests, since EasyBuild may be made available through a module (#1702)
- avoid rehandling --include-* options over and over again during --show-config (#1705)
- remove useless test_cwd (#1706)
- fix bootstrap script: make sure setuptools installed in stage0 is still available at end of stage1 (#1727)
- forcibly create target branch in --update-pr (#1728)
- remove check whether 'easybuild' is being imported from dir that contains easybuild/__init__.py (#1730)
- (re)install vsc-base during stage1 using --always-copy in bootstrap script, if needed (#1732)
- use os.path.realpath in test_wrong_modulepath to avoid symlinked path breaking the test (#1740)
- unset $PYTHONPATH in before tested bootstrapped EasyBuild module (#1743)
- take into account that paths in modulepath may be symlinks in test_module_caches (#1745)
- change to install dir rather than buildpath in sanity check of extension, latter may not exist (#1746, #1748)
- only load modules using short module names (#1754)
- (re)load modules for build deps in extensions_step (#1762)
- fix modpath_extensions_for method: take into account modules in Lua syntax (#1766)
- fix broken link to VSC website in license headers (#1768)
v2.7.0 (March 20th 2016)
------------------------
feature + bugfix release
- stabilize Cray support
- enable 'dynamic' toolchain option by default for Cray* toolchains (#1581)
- remove FFTW from the Cray toolchains definition (#1585)
- add external modules metadata for Cray systems (#1638)
- fix independency of Cray toolchains w.r.t. toolchain build environment (#1641, #1647)
- remove requirement to use --experimental for Cray toolchains (#1663)
- enable Python optimization mode in 'eb' (#1357)
- improved GitHub integration
- improve error handling on git commands + better logging for --new-pr/--update-pr (#1590)
- use git rather than https in --new-pr/--update-pr (#1602)
- add -u as shorthand for --upload-test-report (#1605)
- fix --from-pr for PRs that include renamed/deleted files (#1615)
- add support for --install-github-token and --check-github (#1616)
- fix fetch_easyconfigs_from_pr w.r.t. duplicate files in PRs (#1628)
- various other enhancements, including:
- add support for --search-filename and --terse (#1577)
- support complete bash completion (#1580)
- add support for %(*ver)s and %(*shortver)s templates (#1595, #1604)
- incl. %(javaver)s, %(javashortver)s, %(perlver)s, %(perlshortver)s, %(pyver)s, %(pyshortver)s, %(rver)s, %(rshortver)s
- define HOME constant that can be used in easyconfig files (#1607)
- implement support for generating 'swap' statements in module files (#1609)
- add support for --show-config (#1611, #1620)
- simplified support for --minimal-toolchains (#1614, #1619, #1622, #1625, #1646)
- add support for --dump-env-script (#1624)
- enhance ModulesTool.exist to also recognize partial module names (#1630)
- improve error message for toolchain definition errors (#1631)
- make default is_short_modname_for check less strict to support versionless external modules as deps (#1632)
- mention hostname in comment made by --upload-test-report (#1635)
- support providing additional relative path for prefix in external module metadata (#1637)
- add ThematicModuleNamingScheme (#1645)
- enhance logging format: remove logger name, mention location instead (#1649, #1654)
- update kernel versions for SLES12 (#1659)
- raise EasyBuildError rather than ImportError in only_if_module_is_available decorator (#1662)
- various bug fixes, including:
- fix Lmod spider output in generated modules (#1583)
- correctly define 'easybuild' namespaces (#1593, #1666, #1680)
- this change requires that the setuptools Python package is available (at runtime)
- using custom easyblocks by adding them in the Python search path ($PYTHONPATH) may require adjustments,
i.e. also using pkg_resources.declare_namespace in the __init__.py files;
we highly recommend to use --include-easyblocks instead,
see https://easybuild.readthedocs.io/en/latest/Including_additional_Python_modules.html
- note: this has the side-effect of not being able anymore to reliably use 'eb' in the parent directory of
the easybuild-framework repository (#1667)
- fix template for savannah.gnu.org source URL (#1601)
- stop running 'module purge', only restore environment (#1608)
- fix license headers: Hercules foundation is now FWO (#1629)
- avoid that fancylogger tries to import mpi4py to determine MPI rank (#1648)
- fix error in tests when 'file' backend is not available in Python keyring (#1650)
- update develop install script (#1651)
- handle allowed system deps during prepare_step rather than during parsing of easyconfig (#1652)
- add function to find FlexLM licenses: find_flexlm_license (#1633, #1653)
- fix availability check for external modules with partial module name (#1634, #1643)
- fix bootstrap script to ensure setuptools is also installed (#1655)
- fix issue in bootstrap script with vsc-base being picked up from the OS (#1656)
- fix bootstrap script for environment where 'python' is Python 3.x (#1660)
- remove --experimental for tests related to --package (#1665)
- ensure path to setuptools is included in $PYTHONPATH being used to test scripts (#1671)
- sanitize environment before initializing easyblocks (#1676)
- remove reload statements in include.py, since they are not required and break --include-toolchains (#1679)
v2.6.0 (January 26th 2016)
--------------------------
feature + bugfix release
- add (experimental) support for opening/updating (easyconfigs) pull requests (--new-pr, --update-pr) (#1528)
- sanitize environment before each installation by undefining $PYTHON* (#1569, #1572)
- various other enhancements, including:
- allow user-local modules with hierarchical naming schemes (--subdir-user-modules) (#1472)
- enhance --extended-dry-run output to include paths for requirements in make_module_req (#1520)
- rewrite read_file to use 'with' (#1534)
- add support for eb --last-log (#1541)
- support using fixed install dir scheme (--fixed-installdir-naming-scheme) (#1546)
- add edge attributes for build dependencies in --dep-graph output (#1548)
- check whether dependencies marked as external module are hidden (#1552)
- implement support for --modules-header (#1558)
- add support to specify 'else' body for conditional statements in modules (#1559)
- add extra test for --include-easyblocks for generic easyblocks (#1562)
- allow user to define the default compiler optimization level (--default-opt-level) (#1565)
- make toolchain.get_variable more robust w.r.t. dummy toolchain (#1566)
- various bug fixes, including:
- fix missing 'yaml' module check in tests (#1525)
- fix 'develop' install script (#1529)
- correctly quote FPM option values in packagin support (#1530)
- correctly handle '.' in software name w.r.t. $EB* environment variables (#1538)
- exclude logs and test reports from packages (#1544)
- also pass down --job-cores for pbs_python job backend (#1547)
- skip dependencies marked as external modules when packaging (#1550)
- fix syntax for set_alias statement in Lua syntax (#1554)
- handle the case of all 'offline' nodes correctly for --job (#1560)
- fix test_modules_tool_stateless unit test for stateless ModulesTool with Lmod as modules tool (#1570)
v2.5.0 (December 17th 2015)
---------------------------
feature + bugfix release
- add support for IBM XL compilers on Power7 and PowerPC (BlueGene) (#1470)
- add support fo generic compilation using --optarch=GENERIC (#1471)
- see also https://easybuild.readthedocs.io/en/latest/Controlling_compiler_optimization_flags.html
- update experimental support for .yeb easyconfigs (#1515)
- support clean way to specify toolchain + dependencies in .yeb easyconfigs
- various other enhancements, including:
- add support for 'whatis' easyconfig parameter (#1271)
- add support for SLES 12 and kernel 3.12.x (#1412)
- add GCCcore toolchain definition (#1451)
- use 'diff --git' lines to determine patched files in pull request with --from-pr (#1460)
- add proper option parser to bootstrap script (#1468)
- add get_gcc_version() function in systemtools module (#1496)
- don't load fake module in sanity_check_step during a dry run (#1499)
- allow string values to be passed in make_module_req by hoisting them into a list (#1502)
- add support for listing build dependencies as hidden dependencies (#1503)
- also consider lib32/pkgconfig and lib64/pkgconfig for $PKG_CONFIG_PATH (#1505)
- add support to make_module_dep to specify module to unload before loading a dependency module (#1506)
- add support to make_module_extra to specify alternative root/version for $EBROOT/$EBVERSION (#1508)
- packaging support is no longer considered experimental (#1510)
- various bug fixes, including:
- also consider lib64 in sanity check performed during EasyBuild bootstrap (#1464)
- also add description/homepage to packages created with FPM (#1469)
- fix develop setup script to install EasyBuild-develop module in subdirectory (#1480)
- don't create a whole set of temporary 'minimal-easyconfigs' subdirs with --minimal-toolchains (#1484)
- only keep polling if exit code is None in run_cmd_qa, to correctly deal with negative exit codes (#1486)
- fix bootstrap script for missing sys_platform by using newer distribute 0.6.49 in stage 0 (#1490)
- make sure that extra custom easyconfig parameters are known for extensions (#1498)
- add missing import for EasyBuildError in easybuild/toolchains/linalg/libsci.py (#1512)
- isolate tests from possible system-wide configuration files (#1513)
- only use glob in make_module_req on non-empty strings (#1519)
- this fixes the problem where $CUDA_HOME and $CUDA_PATH are not defined in module files for CUDA
v2.4.0 (November 10th 2015)
---------------------------
feature + bugfix release
- add support for --extended-dry-run/-x (#1388, #1450, #1453, #1455)
- fix checking of sanity check paths w.r.t. discriminating between files and directories (#1436)
- this impacts several easyconfig files where sanity_check_paths was not 100% correct
- make 'eb' script aware of Python v3.x, fall back to using python2 if required (#1411)
- add experimental support for parsing .yeb easyconfig files in YAML syntax (#1447, #1448, #1449)
- see also https://easybuild.readthedocs.io/en/latest/Writing_yeb_easyconfig_files.html
- add experimental support for resolving dependencies with minimal toolchains (#1306)
- see also https://easybuild.readthedocs.io/en/latest/Manipulating_dependencies.html#using-minimal-toolchains-for-dependencies
- various other enhancements, including:
- refactor extract_cmd function to get rid of if/elif/else spaghetti blob (#1382)
- add support for --review-pr (#1383)
- add apply_regex_substitutions functions to perform runtime patching from easyblocks (#1388, #1458)
- add support for specifying alternate name to be part of generated module name (#1389)
- via 'modaltsoftname' easyconfig parameter
- support overriding # used cores via --parallel (#1393)
- also define $FC and $FCFLAGS in build environment (#1394)
- add support extracting for .tar.Z files (#1396)
- include easybuild/scripts in instalation (#1397)
- ignore hidden directories in find_base_dir (#1413, #1415)
- add only_if_module_is_available decorator function to guard functionality that uses optional dependencies (#1416)
- give easyblocks the possibility to choose maxhits for run_cmd_qa (#1417)
- use class name (string) rather than License instances as values for software license constants (#1418)
- support controlling recursive unloading of dependencies via 'recursive_module_unload' easyconfig parameter (#1425)
- implement basic support for type checking of easyconfig parameters (#1427)
- support auto-converting to expected value type for easyconfig parameters (enabled by default) (#1428, #1437)
- add support for --rebuild command line option, alternative for --force which doesn't imply --ignore-osdeps (#1435)
- add support for Mercurial easyconfig repository (#979, #1446)
- add dedicated class for psmpi toolchain MPI component, and use it in gpsmpi and ipsmpi toolchains (#1454)
- various bug fixes, including:
- fix extracting of comments from an easyconfig file that includes 'tail' comments (#1381)
- fix dev version to follow PEP-440, as required by recent setuptools versions (#1403)
- required to avoid that setuptools transforms the version itself
- see also https://www.python.org/dev/peps/pep-0440/#developmental-releases
- allow get_cpu_speed to return None if CPU freq could not be determined (#1421)
- relax sanity_check_paths in EasyBuild bootstrap script to deal with possible zipped .egg (#1422)
- use empty list as default value for src/patches in Extension class (#1434)
- skip symlinked files in adjust_permissions function (#1439)
- Fix HierarchicalMNS to always use full version number (#1440)
v2.3.0 (September 2nd 2015)
---------------------------
feature + bugfix release
- requires vsc-base v2.2.4 or more recent (#1343)
- required for mk_rst_table function in vsc.utils.docs
- various other enhancements, including:
- add support for generating documentation for (generic) easyblocks in .rst format (#1317)
- preserve comments in easyconfig file in EasyConfig.dump() method (#1327)
- add --cleanup-tmpdir option (#1365)
- enables to preserve the used temporary directory via --disable-cleanup-tmpdir
- enhance EasyConfig.dump() to reformat dumped easyconfig according to style guidelines (#1345)
- add support for extracting .iso files using 7z (p7zip) (#1375)
- various bug fixes, including:
- correctly deal with special characters in template strings in EasyConfig.dump() method (#1323)
- rework easybuild.tools.module_generator module to avoid keeping state w.r.t. fake modules (#1348)
- fix dumping of hidden deps (#1354)
- fix use of --job with hidden dependencies: include --hidden in submitted job script when needed (#1356)
- fix ActiveMNS.det_full_module_name() for external modules (#1360)
- fix EasyConfig.all_dependencies definition, fix tracking of job dependencies (#1359, #1361)
- fix 'ModulesTool.exist' for hidden Lua module files (#1364)
- only call EasyBlock.sanity_check_step for non-extensions (#1366)
- this results in significant speedup when installing easyconfigs with lots of extensions, but also
results in checking the default sanity check paths if none were defined for extensions installed as a module
- fix using module naming schemes that were included via --include-module-naming-schemes (#1370)
v2.2.0 (July 15th 2015)
-----------------------
feature + bugfix release
- add support for using GC3Pie as a backend for --job (#1008)
- see also https://easybuild.readthedocs.io/en/latest/Submitting_jobs.html
- add support for --include-* configuration options to include additional easyblocks, toolchains, etc. (#1301)
- see https://easybuild.readthedocs.io/en/latest/Including_additional_Python_modules.html
- add (experimental) support for packaging installed software using FPM (#1224)
- see https://easybuild.readthedocs.io/en/latest/Packaging_support.html
- various other enhancements, including:
- use https for PyPI URL templates (#1286)
- add GNU toolchain definition (#1287)
- make bootstrap script more robust (#1289, #1325):
- exclude 'easyblocks' pkg from sys.path to avoid that setup.py for easybuild-easyblocks picks up wrong version
- undefine $EASYBUILD_BOOTSTRAP* environment variables, since they do not correspond with known config options
- improve error reporting/robustness in fix_broken_easyconfigs.py script (#1290)
- reset keep toolchain component class 'constants' every time (#1294)
- make --strict also a build option (#1295)
- fix purging of loaded modules in unit tests' setup method (#1297)
- promote MigrateFromEBToHMNS to a 'production' MNS (#1302)
- add support for --read-only-installdir and --group-writable-installdir configuration options (#1304)
- add support for *not* expanding relative paths in prepend_paths (#1310)
- enhance EasyConfig.dump() method to use easyconfig templates where possible (#1314, #1319, #1320, #1321)
- various bug fixes, including:
- fix issue with cleaning up (no) logfile if --logtostdout/-l is used (#1298)
- stop making ModulesTool class a singleton since it causes problems when multilple toolchains are in play (#1299)
- don't modify values of 'paths' list passed as argument to prepend_paths in ModuleGenerator (#1300)
- fix issue with EasyConfig.dump + cleanup (#1308, #1311)
- reenable (and fix) accidentally disabled test (#1316)
v2.1.1 (May 18th 2015)
----------------------
bugfix release
- fix issue with missing load statements when --module-only is used, don't skip ready/prepare steps (#1276)
- enhance --search: only consider actual filename (not entire path), use regex syntax (#1281)
- various other bug fixes, including:
- fix generate_software_list.py script w.r.t. dependencies marked as external modules (#1273)
- only use $LMOD_CMD value if lmod binary can't be found in $PATH (#1275)
- fix location of module_only build option w.r.t. default value (#1277)
- fix combined use of --hide-deps and hiddendependencies (#1280)
- remove log handlers that were added during tests, to ensure effective cleanup of log files (#1282)
- this makes the unit test suite run ~3x faster!
- define $CRAYPE_LINK_TYPE if 'dynamic' toolchain option is enabled for Cray compiler wrappers (#1283)
v2.1.0 (April 30th 2015)
------------------------
feature + bugfix release
- requires vsc-base v2.2.0 or more recent
- added support for LoggedException
- added support for add_flex action in GeneralOption
- added support to GeneralOption to act on unknown configuration environment variables
- add support for only (re)generating module files: --module-only (#1018)
- module naming scheme API is enhanced to include det_install_subdir method
- see https://easybuild.readthedocs.io/en/latest/Partial_installations.html#module-only
- add support for generating module files in Lua syntax (note: requires Lmod as modules tool) (#1060, #1255, #1256, #1270)
- see --module-syntax configuration option and https://easybuild.readthedocs.io/en/latest/Configuration.html#module-syntax
- deprecate log.error method in favor of raising EasyBuildError exception (#1218)
- see https://easybuild.readthedocs.io/en/latest/Deprecated-functionality.html#depr-error-reporting
- add support for using external modules as dependencies, and to provide metadata for external modules (#1230, #1265, #1267)
- see https://easybuild.readthedocs.io/en/latest/Using_external_modules.html
- add experimental support for Cray toolchains on top of PrgEnv modules: CrayGNU, CrayIntel, CrayCCE (#1234, #1268)
- see https://easybuild.readthedocs.io/en/latest/Cray-support.html for more information
- various other enhancements, including:
- clear list of checksums when using --try-software-version (#1169)
- sort the results of searching for files (e.g., --search output) (#1214)
- enhance test w.r.t. use of templates in cfgfile (#1217)
- define %(DEFAULT_REPOSITORYPATH)s template for cfgfiles (see eb --avail-cfgfile-constants) (#1220)
- also reset $LD_PRELOAD when running module commands, in case module defined $LD_PRELOAD (#1222)
- move location of 'module use' statements in generated module file (*after* 'module load' statements) (#1232)
- add support for --show-default-configfiles (#1240)
- see https://easybuild.readthedocs.io/en/latest/Configuration.html#default-configuration-files
- report error on missing configuration files, rather than ignoring them (#1240)
- see https://easybuild.readthedocs.io/en/latest/Configuration.html#configuration-env-vars
- clean up commit message used in easyconfig git repository (#1248)
- add --hide-deps configuration option to specify names of software that must be installed as hidden modules (#1250)
- see https://easybuild.readthedocs.io/en/latest/Manipulating_dependencies.html#hide-deps
- add support for appending/prepending to --robot-paths to avoid overwriting default robot search path (#1252)
- see also https://easybuild.readthedocs.io/en/latest/Using_the_EasyBuild_command_line.html#robot-search-path-prepend-append
- enable detection of use of unknown $EASYBUILD-prefixed environment variables (#1253)
- add --installpath-modules and --installpath-software configuration options (#1258)
- see https://easybuild.readthedocs.io/en/latest/Configuration.html#installpath
- use dedicated subdirectory in temporary directory for each test to ensure better cleanup (#1260)
- get rid of $PROFILEREAD hack when running commands, not needed anymore (#1264)
- various bug fixes, including:
- make bootstrap script robust against having vsc-base already available in Python search path (#1212, #1215)
- set default value for unpack_options easyconfig parameter to '', so self.cfg.update works on it (#1229)
- also copy rotated log files (#1238)
- fix parsing of --download-timeout value (#1242)
- make test_XDG_CONFIG_env_vars unit test robust against existing user config file in default location (#1259)
- fix minor robustness issues w.r.t. $XDG_CONFIG* and $PYTHONPATH in unit tests (#1262)
- fix issue with handling empty toolchain variables (#1263)
v2.0.0 (March 6th 2015)
-----------------------
feature + bugfix release
- requires vsc-base v2.0.3 or more recent
- avoid deprecation warnings w.r.t. use of 'message' attribute (hpcugent/vsc-base#155)
- fix typo in log message rendering --ignoreconfigfiles unusable (hpcugent/vsc-base#158)
- removed functionality that was deprecated for EasyBuild version 2.0 (#1143)
- see https://easybuild.readthedocs.io/en/latest/Removed-functionality.html
- the fix_broken_easyconfigs.py script can be used to update easyconfig files suffering from this (#1151, #1206, #1207)
- for more information about this script, see https://easybuild.readthedocs.io/en/latest/Useful-scripts.html#fix-broken-easyconfigs-py
- stop including a crippled copy of vsc-base, include vsc-base as a proper dependency instead (#1160, #1194)
- vsc-base is automatically installed as a dependency for easybuild-framework, if a Python installation tool is used
- see https://easybuild.readthedocs.io/en/latest/Installation.html#required-python-packages
- various other enhancements, including:
- add support for Linux/POWER systems (#1044)
- major cleanup in tools/systemtools.py + significantly enhanced tests (#1044)
- add support for 'eb -a rst', list available easyconfig parameters in ReST format (#1131)
- add support for specifying one or more easyconfigs in combination with --from-pr (#1132)
- see https://easybuild.readthedocs.io/en/latest/Integration_with_GitHub.html#using-easyconfigs-from-pull-requests-via-from-pr
- define __contains__ in EasyConfig class (#1155)
- restore support for downloading over a proxy (#1158)
- i.e., use urllib2 rather than urllib
- this involved sacrificing the download progress report (which was only visible in the log file)
- let mpi_family return None if MPI is not supported by a toolchain (#1164)
- include support for specifying system-level configuration files for EasyBuild via $XDG_CONFIG_DIRS (#1166)
- see https://easybuild.readthedocs.io/en/latest/Configuration.html#default-configuration-files
- make unit tests more robust (#1167, #1196)
- see https://easybuild.readthedocs.io/en/latest/Unit-tests.html
- add hierarchical module naming scheme categorizing modules by 'moduleclass' (#1176)
- enhance bootstrap script to allow bootstrapping using supplied tarballs (#1184)
- see https://easybuild.readthedocs.io/en/latest/Installation.html#advanced-bootstrapping-options
- disable updating of Lmod user cache by default, add configuration option --update-modules-tool-cache (#1185)
- for now, only the Lmod user cache can be updated using --update-modules-tool-cache
- use available which() function, rather than running 'which' via run_cmd (#1192)
- fix install-EasyBuild-develop.sh script w.r.t. vsc-base dependency (#1193)
- also consider robot search path when looking for specified easyconfigs (#1201)
- see https://easybuild.readthedocs.io/en/latest/Using_the_EasyBuild_command_line.html#specifying-easyconfigs
- various bug fixes, including:
- stop triggering deprecated/no longer support functionality in unit tests (#1126)
- fix from_pr test by including dummy easyblocks for HPL and ScaLAPACK (#1133)
- escape use of '%' in string with command line options with --job (#1135)
- fix handling specified patch level 0 (+ enhance tests for fetch_patches method) (#1139)
- fix formatting issues in generated easyconfig file obtained via --try-X (#1144)
- use log.error in tools/toolchain/toolchain.py where applicable (#1145)
- stop hardcoding /tmp in mpi_cmd_for function (#1146, #1200)
- correctly determine variable name for $EBEXTLIST when generating module file (#1156)
- do not ignore exit code of failing postinstall commands (#1157)
- fix rare case in which used easyconfig and copied easyconfig are the same (#1159)
- always filter hidden deps from list of dependencies (#1161)
- fix implementation of path_matches function in tools/filetools.py (#1163)
- make sure plain text keyring is used by unit tests (#1165)
- suppress creation of module symlinks for HierarchicalMNS (#1173)
- sort all lists obtained via glob.glob, since they are in arbitrary order (#1187)
- stop modifying $MODULEPATH directly in setUp/tearDown of toolchain tests (#1191)
v1.16.2 (March 6th 2015)
------------------------
(no changes compared to v1.16.1, simple version bump to stay in sync with easybuild-easyblocks)
v1.16.1 (December 19th 2014)
----------------------------
bugfix release
- fix functionality that is broken with --deprecated=2.0 or with $EASYBUILD_DEPRECATED=2.0
- don't include easyconfig parameters for ConfigureMake in eb -a, since fallback is deprecated (#1123)
- correctly check software_license value type (#1124)
- fix generate_software_list.py script w.r.t. deprecated fallback to ConfigureMake (#1127)
- other bug fixes
- fix logging issues in tests, sync with vsc-base v2.0.0 (#1120)
v1.16.0 (December 18th 2014)
----------------------------
feature + bugfix release
- deprecate automagic fallback to ConfigureMake easyblock (#1113)
- easyconfigs should specify easyblock = 'ConfigureMake' instead of relying on the fallback mechanism
- note: automagic fallback to ConfigureMake easyblock will be dropped in EasyBuild v2.0
- see also https://easybuild.readthedocs.io/en/latest/Deprecated-functionality.html#configuremake-fallback
- stop triggering deprecated functionality, to enable use of --deprecated=2.0 (#1107, #1115, #1119)
- see https://easybuild.readthedocs.io/en/latest/Deprecated-functionality.html#configuremake-fallback for more information
- various other enhancements, including:
- add script to clean up gists created via --upload-test-report (#958)
- also use -xHost when using Intel compilers on AMD systems (as opposed to -msse3) (#960)
- add Python version check in eb command (#1046)
- take versionprefix into account in HierarchicalMNS module naming scheme (#1058)
- clean up and refactor main.py, move functionality to other modules (#1059, #1064, #1075, #1087)
- add check in download_file function for HTTP return code + show download progress report (#1066, #1090)
- include info log message with name and location of used easyblock (#1069)
- add toolchains definitions for gpsmpi, gpsolf, impich, intel-para, ipsmpi toolchains (#1072, #1073)
- support for Parastation MPI based toolchains
- enforce that hiddendependencies is a subset of dependencies (#1078)
- this is done to avoid that site-specific policies w.r.t. hidden modules slip into contributed easyconfigs
- enable use of --show_hidden for avail subcommand with recent Lmod versions (#1081)
- add --robot-paths configure option (#1080, #1093, #1095, #1114)
- support use of %(DEFAULT_ROBOT_PATHS)s template in EasyBuild configuration files (#1100)
- see also https://easybuild.readthedocs.io/en/latest/Using_the_EasyBuild_command_line.html#controlling-the-robot-search-path
- use -xHost rather than -xHOST, to match Intel documentation (#1084)
- update and cleanup README file (#1085)
- deprecate self.moduleGenerator in favor of self.module_generator in EasyBlock (#1088)
- also support MPICH MPI family in mpi_cmd_for function (#1098)
- update documentation references to point to https://easybuild.readthedocs.io (#1102)
- check for OS dependencies with both rpm and dpkg (if available) (#1111)
- various bug fixes, including:
- fix picking required software version specified by --software-version and clean up tweak.py (#1062, #1063)
- escape $ characters in module load message specified via modloadmsg easyconfig parameter) (#1068)
- take available hidden modules into account in dependency resolution (#1065)
- fix hard crash when using patch files with an empty list of sources (#1070)
- fix Intel MKL BLACS library being used for MPICH/MPICH2-based toolchains (#1072)
- fix regular expression in fetch_parameter_from_easyconfig_file function (#1096)
- don’t hardcode queue names when submitting a job (#1106)
- fix affiliation/mail address for Fotis in headers (#1105)
- filter out /dev/null entries in patch file in det_patched_files function (#1108)
- fix gmpolf toolchain definition, to have gmpich as MPI components (instead of gmpich2) (#1101)
- ‘MPICH’ refers to MPICH v3.x, while MPICH2 refers to MPICH(2) v2.x (MPICH v1.x is ancient/obsolete)
- note: this requires to reinstall the gmpolf module, using the updated easyconfig from easybuild-easyconfigs#1217
v1.15.2 (October 7th 2014)
--------------------------