10271027 </ span >
10281028 </ a >
10291029
1030+ </ li >
1031+
1032+ < li class ="md-nav__item ">
1033+ < a href ="#adding-license-information " class ="md-nav__link ">
1034+ < span class ="md-ellipsis ">
1035+ Adding license information
1036+ </ span >
1037+ </ a >
1038+
10301039</ li >
10311040
10321041 < li class ="md-nav__item ">
46264635 </ span >
46274636 </ a >
46284637
4638+ </ li >
4639+
4640+ < li class ="md-nav__item ">
4641+ < a href ="#adding-license-information " class ="md-nav__link ">
4642+ < span class ="md-ellipsis ">
4643+ Adding license information
4644+ </ span >
4645+ </ a >
4646+
46294647</ li >
46304648
46314649 < li class ="md-nav__item ">
@@ -4677,13 +4695,60 @@ <h2 id="long-lists-of-elements-for-preconfigopts-or-options-for-configopts">Long
46774695elegant, makes it very easy to add additional flags or commands, and is less error-prone.
46784696There is also plenty of space left on each line to explain why an option is used or what it
46794697means, to make the job easier for others who may want to update or customise this EasyConfig.</ p >
4698+ < h2 id ="adding-license-information "> Adding license information< a class ="headerlink " href ="#adding-license-information " title ="Permanent link "> ¶</ a > </ h2 >
4699+ < p > EasyBuild has an EasyConfig parameter for that but it is rarely used in the regular EasyBuild repositories:</ p >
4700+ < div class ="highlight "> < pre > < span > </ span > < code > software_license_urls = [
4701+ f'https://bitbucket.org/multicoreware/x265_git/src/{version}/COPYING',
4702+ ]
4703+ </ code > </ pre > </ div >
4704+ < p > One issue is that currently in our module scheme, it does nothing as the information is not being added to
4705+ the module.</ p >
4706+ < p > We recently also started copying license information, etc., found in the sources of a package into
4707+ < code > %(installdir)s/share/licenses/<name_of_package></ code > where for a bundle we use the name of each of the
4708+ packages in the bundle for < code > <name_of_package></ code > . This is often easily done in < code > postinstallcmds</ code > though
4709+ for Bundle components it is easier to do so via < code > installopts</ code > (adding the commands with the < code > &&</ code > trick)
4710+ as there are no separate < code > postinstallcmds</ code > for each Bundle component (at least, last time I tested those
4711+ did not work properly).</ p >
4712+ < p > Some code fragments:</ p >
4713+ < ul >
4714+ < li >
4715+ < p > For software built with the < code > ConfigureMake</ code > EasyBlock: As the build commands run in the sources directly,
4716+ this will often work (but you may need to adapt the name of the files to copy):</ p >
4717+ < div class ="highlight "> < pre > < span > </ span > < code > postinstallcmds = [
4718+ 'mkdir -p %(installdir)s/share/licenses/%(name)s',
4719+ 'cp COPYING %(installdir)s/share/licenses/%(name)s',
4720+ ]
4721+ </ code > </ pre > </ div >
4722+ </ li >
4723+ < li >
4724+ < p > With the < code > CMakeMake</ code > EasyBlock, the build process runs in a separate directory, so you'll have to move
4725+ to sources directory to copy:</ p >
4726+ < div class ="highlight "> < pre > < span > </ span > < code > postinstallcmds = [
4727+ 'mkdir -p %(installdir)s/share/licenses/%(name)s',
4728+ 'cd ../%(namelower)s-%(version)s && cp AUTHORS CHANGELOG.md LICENSE.txt README.md README.SZIP THANKS %(installdir)s/share/licenses/%(name)s',
4729+ ]
4730+ </ code > </ pre > </ div >
4731+ < p > The < code > %(namelower)s-%(version)s</ code > does not work for all software, you may have to check! E.g., you can just start EasyBuild but
4732+ stop after the Prepare step with < code > --stop prepare</ code > to inspect the sources.</ p >
4733+ </ li >
4734+ < li >
4735+ < p > The next one has worked for some < code > MesonNinja</ code > software:</ p >
4736+ < div class ="highlight "> < pre > < span > </ span > < code > postinstallcmds = [
4737+ 'mkdir -p %(installdir)s/share/licenses/%(name)s',
4738+ 'cd %(start_dir)s && cp AUTHORS CHANGELOG.md LICENSE.txt README.md README.SZIP THANKS %(installdir)s/share/licenses/%(name)s',
4739+ ]
4740+ </ code > </ pre > </ div >
4741+ </ li >
4742+ </ ul >
46804743< h2 id ="more-to-follow "> More to follow....< a class ="headerlink " href ="#more-to-follow " title ="Permanent link "> ¶</ a > </ h2 >
46814744< ul >
46824745< li >
46834746< p > Static and shared libraries in CMakeMake packages (and using lib instead of lib64)</ p >
46844747</ li >
46854748< li >
4686- < p > Copying the license information</ p >
4749+ < p > Fix Python shebang lines: EasyConfig parameter < code > fix_python_shebang_for</ code > . See the EasyConfigs for GLib.</ p >
4750+ < p > NOTE: There is currently only python3 on LUMI so this does not work as it should... So the GLib EasyConfigs for 24.03
4751+ are wrong and will need a different trick.</ p >
46874752</ li >
46884753</ ul >
46894754< p > < em > < a href ="../../5_00_additional_reading/ "> [Next: Additional reading]</ a > </ em > </ p >
@@ -4707,7 +4772,7 @@ <h2 id="more-to-follow">More to follow....<a class="headerlink" href="#more-to-f
47074772 < span class ="md-icon " title ="Last update ">
47084773 < svg xmlns ="http://www.w3.org/2000/svg " viewBox ="0 0 24 24 "> < path d ="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z "/> </ svg >
47094774 </ span >
4710- < span class ="git-revision-date-localized-plugin git-revision-date-localized-plugin-date " title ="May 23 , 2025 15:04:36 "> May 23 , 2025</ span >
4775+ < span class ="git-revision-date-localized-plugin git-revision-date-localized-plugin-date " title ="May 26 , 2025 12:10:59 "> May 26 , 2025</ span >
47114776 </ span >
47124777
47134778
0 commit comments