Commit Graph

638 Commits

Author SHA1 Message Date
Roland Clobus 30d39f812e
lb config: --distribution defaults to testing 2024-11-06 11:30:41 +01:00
Roland Clobus 5b7e7f5432
Typo: fixed layout for some commandline options 2024-10-25 11:39:41 +02:00
Roland Clobus 567e03034b
Add support for dracut
Mini case:
`lb config --distribution sid --debian-installer none --cache-packages false --archive-areas "main" --initramfs dracut-live`

Support includes debian-installer and Calamares

Closes: #1031903
2024-10-25 11:39:28 +02:00
Roland Clobus 2ceebabfa4
Change default for zsync to false
* zsync was orphaned 2021-09-19 #994648
* zsync FTBFS with GCC-14 #1075710
* zsync was only available for iso and iso-hybrid
* zsync output is ignored by the live-setup package which generates the
  official live images
2024-08-14 10:35:04 +02:00
Roland Clobus fa8ebd2469
Introduce '--debian-installer-distribution git'.
With this 'distribution', the installer is built from its git
repository, matching the date in SOURCE_DATE_EPOCH.
Additionally the kernel version is matched to the kernel version in the
chroot (to ensure that the installer can be run).
Rationale: The 'daily' installers are not archived, and therefore cannot
be used for a reproducible build.
2022-05-17 08:48:44 +02:00
Roland Clobus cb912308c7
Bugfix: The values for '--cache-stages' were not matching the implementation. 2022-01-22 17:56:29 +01:00
Roland Clobus 06ee64b16a
Reactivate '--chroot-filesystem plain'.
This previously undocumented value for '--chroot-filesystem' creates the
uncompressed folder 'live/filesystem.dir'.
This will speed up the generation of live images a lot, because the
squashfs compression is skipped.

Example command line:
  lb config -b hdd --chroot-filesystem plain --binary-filesystem ext4
2022-01-22 17:53:38 +01:00
Roland Clobus 63399dab6e
Use the release date from the changelog as the date for the last modification of each manpage 2022-01-07 10:13:52 +01:00
Roland Clobus d7316bcec9
Remove generated translation files
These files are regenerated by 'make rebuild'
2022-01-07 10:13:52 +01:00
Roland Clobus dbb5e6143d
Add file with translatable text (lb_installer.1.pot) 2022-01-07 10:13:24 +01:00
Roland Clobus a7ce0710d4
Mark the phony targets in the Makefile 2022-01-07 10:12:28 +01:00
Roland Clobus d6a5a1f3cf
Simpler handling of http proxies
There are two main scenarios:
1) The host with live-build is configured to use a proxy
   This proxy will automatically be used by live-build
2) The user of live-build explicitly specifies a proxy
2A) With the environment variable 'http_proxy' (preferred)
2B) With the command line option --apt-http-proxy

Any inconsistency in the setting of a proxy results in an error message of 'lb config'
All internal tools (apt/apt-get/aptitude, wget and debootstrap) use the environment variables 'http_proxy' and 'no_proxy', which are passed along to the chroot where needed.

Test scenario:
- A virtual machine with all out-going traffic blocked, except for the proxy.
2021-09-23 13:53:49 +02:00
Roland Clobus 7264a752bb
The support for FTP proxies has ended 2021-09-08 13:40:53 +02:00
Thore Sommer 1cd901cfa2 Enable dm-verity support also for ext filesystems
Those need a block size of 4k to work.
2021-07-19 11:52:09 +02:00
Thore Sommer e02e2df4b9 docs: documentation for dm-verity feature 2021-07-11 10:33:56 +02:00
Ryan Finnie a0400b2499
Use --apt-http-proxy/--apt-ftp-proxy for debootstrap 2021-02-17 22:02:47 -08:00
Roland Clobus 95cd662f4e Ensure that SOURCE_DATE_EPOCH is always set in all sub scripts.
When SOURCE_DATE_EPOCH was already set before 'lb config', also enable
UTC timestamps.
2021-01-15 09:22:29 +00:00
Roland Clobus 576b4a70ae Add new manpage to the list of translatable files 2021-01-13 10:48:51 +00:00
Thore Sommer 9a26533a06 Add option to change compression algorithm and level for squashfs. 2020-10-12 13:35:16 +00:00
Lyndon Brown a065e60043 manpages: clarify UTC timestamps wrt. build log
Gbp-Dch: Ignore
2020-05-05 19:04:35 +01:00
Lyndon Brown a542d52141 rename binary_loopback_cfg to binary_grub_cfg
when loopback support was introduced, it initially duplicated the code
for generating a grub2 config, before the duplicated code was removed from
the grub-pc script, effectively thus moving grub config generation to the
loopback feature script.

grub-efi support was added after this.

this results in a misleading filename, since the `binary_loopback_cfg`
script is essential for use of grub-pc|grub-efi, and actually only has a
single line of code on top that's needed for adding actual loopback
support on top. (when grub-pc and grub-efi are not used, the entire script
is still needed for loopback support to work).

so here we rename it to make better sense, and correct/clarify bits of
documentation.

Gbp-Dch: Short
2020-05-04 22:15:09 +01:00
Lyndon Brown 6cf3321d84 config: provide UTC timestamp control
`DATE_UTC_OPTION` is set in `Prepare_config()` for use by scripts, even
though only a few scripts will actually use it, since it allows those
scripts to be cleaner. we may want to possibly extend this as a
`DATE_OPTIONS` variable perhaps as part of enabling proper reproduciblity.

Gbp-Dch: Short
2020-05-03 22:19:43 +01:00
Lyndon Brown 82700d010b manpages: formatting fix
Gbp-Dch: Ignore
2020-05-03 01:31:47 +01:00
Lyndon Brown 61aa3239c5 config: remove junk config loading code
support for this has not existed since v2.0~a24-1 !!

until 4d22ca948a (v2.0~a24-1), `PROGRAM` was
defined as `PROGRAM="$(basename ${0})"`. then this commit simply got rid
of the definition.

it then flipped back and forth a bit in a few ways, but always sticking
to a simple fixed "live-build" type string after that commit, as it has
been ever since.

the code removed here has thus been junk since then, and the documentation
corrected here out of date since then.

the checking of `LB_CONFIG` is also possibly junk, but i know too little
about it. it was introduced in v1.0~a43-1 in commit
705a4178e7 with a changelog entry of
"Centraly evaluate LH_CONFIG for custom configuration file."

Gbp-Dch: Short
2020-05-01 08:57:44 +00:00
Lyndon Brown 931f42fa39 manpages: more formatting fixes
make variables and options in descriptions bold

Gbp-Dch: Ignore
2020-04-29 10:34:54 +01:00
Lyndon Brown 4f765f3fc0 manpages: fix outdated --distribution description
it does not depend upon --mode, it simply defaults to 'buster'.

Gbp-Dch: Ignore
2020-04-29 10:34:54 +01:00
Lyndon Brown 7149307e07 manpages: clarify --breakpoints
Gbp-Dch: Ignore
2020-04-29 10:34:54 +01:00
Lyndon Brown a0c7db9759 manpages: clarify and correct --binary-images description
including correction of default for all architectures being fat32 not fat16
and the sparc difference no longer being relevant.

Gbp-Dch: Ignore
2020-04-29 10:34:54 +01:00
Lyndon Brown 4f82210d11 manpages: tiny clarifications and tweaks
not worth listing the specifics

mostly the following though:
 - "(comma or space separated)" -> "(a comma or space separated list)"
 - quoting values

Gbp-Dch: Ignore
2020-04-29 10:34:42 +01:00
Lyndon Brown 9c7e8dec72 manpages: fix formatting mistakes
shortoptions also emboldened

Gbp-Dch: Ignore
2020-04-29 10:31:40 +01:00
Lyndon Brown e9a88e5201 manpages: tiny correction
"all (applicable)" -> "all"

this needed adjusting after 38a5aed0dc

don't want to confuse users

Gbp-Dch: Ignore
2020-04-29 10:31:40 +01:00
Lyndon Brown 20c43a0eb8 manpages: fix typos
"whould" -> "would"
"build" -> "built"

Gbp-Dch: Ignore
2020-04-29 10:31:40 +01:00
Lyndon Brown d2f9344b66 manpages: fix typo
"bugreport" -> "bug report"

i won't bother changing the dates just for this one.

Gbp-Dch: Ignore
2020-04-29 10:31:25 +01:00
Lyndon Brown 70c0aa4075 manpages: fix typo
"Sor" -> "So"

Gbp-Dch: Ignore
2020-04-25 12:03:49 +02:00
Lyndon Brown c441c39efe config: revert partial format conversion
back in v4.0~a6-1 a transition process was started to move the live-build
config to a new format. the new format was INI style, and required
parsing functions to read/write values, compared to the existing format
which was just shell script code setting variables.

this partial transition is the explanation for the existence of the
`New_configuration()` function, and understanding this is important to
understanding the purpose of it - it is not in fact intended for creating
a new configuration, it is just related to the new config format
transition.

the positives of the new format were that it was somewhat cleaner looking,
while the negative was the terrible relative efficiency.

the file `config/build` was created to hold options in this new format.

the transition was only ever completed for a handful of config options:
 - architecture
 - archive areas and parent archive areas
 - live image name
 - live image type

a 'configuration version' attribute was also saved, which is not used by
anything.

the bootstrap-mirror and parent-bootstrap-mirror attributes are pointlessly
stored in it seemingly resulting from work done in v4.0~a17-1. (they are
also stored in another config file from which the value is actually used).

it in fact seems to have been a source of confusion for Raphaël in
authoring 44b9b0a650, since the new
`[parent]-distribution-{chroot|binary}` options it introduced were stored
both in `config/bootstrap` and in `config/build`, while only used from the
former. i expect, understandably, that he thought that `config/build` was
just an information file.

Gbp-Dch: Short
2020-04-23 16:54:31 +00:00
Lyndon Brown 9a91ca9fde config: obsolete old --tasksel option
note that the bit of code removed from source_debian relies upon a
variable LB_TASKS which itself is an old leftover artefact from before
v4.0.

Gbp-Dch: Short
2020-04-23 15:46:06 +02:00
Lyndon Brown c1dd191a53 manpage: fix typo and simplify --net-tarball option description 2020-04-23 15:45:00 +02:00
Raphaël Hertzog d414b8fcdb config: obsolete --net-root-path 2020-04-23 15:44:17 +02:00
Lyndon Brown 1ca53bff52 config: obsolete --net-root-* options (except one)
--net-root-path probably needs to go too, but it is being used for
something i don't fully understand currently.

Gbp-Dch: Short
2020-04-23 15:30:41 +02:00
Lyndon Brown 1eee15e852 config: obsolete unused --net-cow-* options 2020-04-23 15:24:50 +02:00
Lyndon Brown 87b995597c config: obsolete unused --isohybrid-options option 2020-04-23 15:24:10 +02:00
Lyndon Brown c3f0d39675 config: apt-get should probably be an allowed and documented --apt value
since everywhere where 'apt' is a permitted value, 'apt-get' is also, it
just wasn't listed in the option's documentation and thus was also not
listed in the new validation check.

Gbp-Dch: Short
2020-04-23 15:23:30 +02:00
Lyndon Brown f8a401f068 config: add --validate option
running `lb config --validate` causes the script to stop after running
the validation check on the config compiled at that point, prior to
writing the config to disk.

this gives users the ability to check the validity of a config without
modifying or rewriting the saved config.

note that if users provide new config options alongside --validate, these
are taken into account in the check performed.

the 'check complete' message will not be seen if an error is reported by
the check function, while it will be seen if only warnings are given, but
it would require a redesign of the validation check function to make any
improvement in that area, and it's perhaps not worth it.

Gbp-Dch: Short
2020-04-23 14:53:06 +02:00
Lyndon Brown 39e4d3e3cb --binary-images can support only a single type
whilst some parts of the codebase were set up to work with multiple types
specified, others did not work with it and would not necessarily be easy
to adjust. this thus makes some tweaks to adjust things accordingly.

 - option renamed to singular form (maintaining backwards compatibility)
 - a validation check has been added
 - unnecessary glob style type references fixed
 - checks with In_list changed to a direct singular comparison
 - typo of type "netboot" written as just "net" fixed (though unreachable
   so of no consequence; really the code could be removed but it's trivial)

Gbp-Dch: Short
2020-04-23 14:51:09 +02:00
Lyndon Brown cede584a5c manpages: fix typo
Closes: #926238
2020-04-23 11:52:13 +01:00
Lyndon Brown 920ec1605b manpages: fix typo
bad escape, '-\' should have been '\-'

resulted in test showing "--mirror-tstrap" instead of "--mirror-bootstrap"

Gbp-Dch: Ignore
2020-04-23 11:52:13 +01:00
Lyndon Brown 4dc91c4007 manpages: remove unhelpful and largely obsolete fixme notices 2020-04-23 11:52:13 +01:00
Lyndon Brown 6b734df9f3 fix incorrect handling of -c|--conffile
this option actually only has an impact when used for `lb config`; it thus
was incorrectly accepted and captured by Arguments() and the documentation
was wrong.

going back through git history, this has been incorrect since the v0.99 days.

also, reorganised the list alphabetically (no-color was inserted in the
wrong place).

Gbp-Dch: Short
2020-04-23 11:52:13 +01:00
Lyndon Brown e4134e1583 manpages: fixup synopsis
live-build page: list of individual commands outdated (color options not
added); incorrect (conffile is `lb config` specific as to be addressed
otherwise separately); is unnecessary here; and the synopsis suggests
usage without a command (e.g. `lb --help` is wrong when it is not).

lb: consistensy fix in formatting.

all: placeholders should be in capitals for consistency; "OPTIONS" is
better the "live-build options" as a placeholder.

config: unlike the others where "live-build options" is replaced with
"OPTIONS", it makes more sense to specifically list the info (help; usage;
version} options, since below the full list of other options including
other generic options are given.

Gbp-Dch: Short
2020-04-23 11:52:13 +01:00
Lyndon Brown 3547c66669 manpages: fix mistake
Gbp-Dch: Ignore
2020-04-23 11:52:13 +01:00