Skip to content

documentation of singularity definition file sections should reflect order in which they are processed #460

@mgjf

Description

@mgjf

Version of Singularity
What version of Singularity are you using?
Any version including 3.9.1

Describe the bug
The output of singularity help build and the documentation of definition files differ in the order in which individual sections of the definition file occur. In both instances, the order is confusing to users because it does not fully reflect the order in which the sections are processed.

To Reproduce
Issue singularity help build
Browse https://sylabs.io/guides/3.9/user-guide/definition_files.html#sections
Compare with actions during build

Expected behavior
The documented order of definition file sections should be consolidated, and it should reflect the order in which the sections are processed or which of the following sections they affect. I suggest

%pre
%setup
%files
%post
%environment
%test
%runscript
%startscript
%labels
%help

Rationale: the first four sections are processed sequentially during build.
The remaining sections cause the respective scriptlets to be copied to files in the container.
The variables set in %environment are not available during build and only affect container runtime.
%labels and %help are non-functional and should appear at the end

OS / Linux Distribution
Any recent Linux version.

Installation Method
From https://github.com/sylabs/singularity/releases/download/v3.9.1/singularity-ce-3.9.1.tar.gz

Additional context

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentation

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions