New paragraph "Reproducibility considerations" moved out of ENVIRONMENT

This commit is contained in:
2025-06-10 12:58:41 +02:00
parent bc0c639ec8
commit 83ec7bf9dc
6 changed files with 385 additions and 212 deletions

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.5.7, Apr 24, 2025"
.TH XORRISO 1 "Version 1.5.7, Jun 10, 2025"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -6582,6 +6582,53 @@ Use text as name of this program in subsequent messages
.TP
\fB\-prog_help\fR text
Use text as name of this program and perform \-help.
.TP
.B Reproducibility considerations:
.PP
Stable versions of xorriso are prepared to produce in repeated runs from
the same input files with the same file metadata and the same xorriso commands
the same ISO 9660 filesystem bytes. The only exception are bytes which depend
on the current time of the xorriso run.
.br
These time dependent values can be set to fixed values by the commands
\-volume_date "uuid", \-boot_image "any" "gpt_disk_guid=",
\-volume_date "all_file_dates", and \-iso_nowtime. Instead of setting each of
them, it is possible to influence them all by the environment variable
SOURCE_DATE_EPOCH.
.br
SOURCE_DATE_EPOCH belongs to the specification of reproducible\-builds.org.
It is supposed to be either undefined or to contain a decimal number
which tells the seconds since january 1st 1970. If it contains a number,
then it is used as time value to set the default of
\-volume date "uuid", sets \-boot_image "any" "gpt_disk_guid=" to
"volume_date_uuid", \-volume_date "all_file_dates" to "set_to_mtime",
and \-iso_nowtime.
.br
Startup files and xorriso commands can override the effect of
SOURCE_DATE_EPOCH.
.PP
Different versions of xorriso may or may not produce the same result from
the same input and commands. Reproducibility may be prevented by bug fixes
or feature enhancements between versions.
.br
xorriso puts its version information into the Preparer Id field of the
ISO 9660 Primary Volume Descriptor by default. This may be desired in order
to clearly define which xorriso version has to be used for reproduction.
But it may also be undesired because a wider range of xorriso versions shall
not be excluded from an attempt of reproduction.
.br
Use command \-preparer_id with a text other than "@xorriso@" if you want to
override the default at first production time. This command may also be used
to explicitly set the preparer id as found in an ISO 9660 filesystem which
shall be reproduced by a different version of xorriso. The preparer id can be
inquired by command \-pvd_info.
.PP
If reproducibility of xorriso results is desired, then the precautions \- like
setting SOURCE_DATE_EPOCH \- should be done already with the original xorriso
run. All input files, the used xorriso commands in exact sequence, the version
of xorriso, and the possibly set SOURCE_DATE_EPOCH value should then be kept
or recorded for later re\-use.
.br
.br
.SH EXAMPLES
.SS
@ -7156,27 +7203,7 @@ The following environment variables influence the program behavior:
HOME is used to find startup files of xorriso and mkisofs.
.br
SOURCE_DATE_EPOCH belongs to the specs of reproducible\-builds.org.
It is supposed to be either undefined or to contain a decimal number
which tells the seconds since january 1st 1970. If it contains a number,
then it is used as time value to set the default of
\-volume date "uuid", sets \-boot_image "any" "gpt_disk_guid=" to
"volume_date_uuid", \-volume_date "all_file_dates" to "set_to_mtime",
and \-iso_nowtime to "=$SOURCE_DATE_EPOCH".
.br
Startup files and program commands can override the effect of
SOURCE_DATE_EPOCH.
.br
Be aware that by default xorriso puts its version information into the
Preparer Id field of the ISO 9660 Primary Volume Descriptor. This may be
desired in order to clearly define which xorriso version has to be used for
reproduction. But it may also be undesired because a wider range of xorriso
versions shall not be excluded from an attempt of reproduction.
.br
Use command \-preparer_id with a text other than "@xorriso@" if you want to
override the default at first production time. This command may also be used
to explicitly set the preparer id as found in an ISO 9660 filesystem which
shall be reproduced by a different version of xorriso. The id can be inquired
by command \-pvd_info.
See above paragraph "Reproducibility considerations".
.br
.SS
.SH SEE ALSO