Commit Graph

1188 Commits

Author SHA1 Message Date
nl6720
d2addb25c9
mkarchiso: silence mkfs.fat in quiet mode
mkfs.fat does not have a -q/--quiet option, so redirect its stdout to /dev/null instead.
See https://github.com/dosfstools/dosfstools/issues/103 .

Related to #148.
2021-11-04 07:58:12 +02:00
David Runge
1c42553c35
Merge remote-tracking branch 'nl6720/netboot-no-bootmodes'
* nl6720/netboot-no-bootmodes:
  mkarchiso: do not require setting boot modes when building only netboot artifacts
2021-11-03 09:29:59 +01:00
nl6720
662027ef80
mkarchiso: do not require setting boot modes when building only netboot artifacts
netboot does not need any of the boot loaders or their files.

Fixes #150.
2021-11-02 21:10:07 +02:00
David Runge
2f207fdafc
Merge remote-tracking branch 'nl6720/date'
* nl6720/date:
  mkarchiso: replace external date command with printf
2021-11-02 20:06:40 +01:00
nl6720
f8862c2621
mkarchiso: replace external date command with printf
printf is a bash builtin, so by using it an external command can be avoided.
Due to the differences between date(1) and strftime(3), the time zone output will not contain a colon anymore. Fortunately, that is still a supported format according to https://en.wikipedia.org/wiki/ISO_8601#Time_offsets_from_UTC .
2021-11-02 20:57:47 +02:00
David Runge
a37c320a34
Merge remote-tracking branch 'nl6720/mailmap'
* nl6720/mailmap:
  Add .mailmap file
2021-11-02 19:39:55 +01:00
nl6720
caf64e05ef
Add .mailmap file
Use .mailmap to fix author names and emails in git log / git shortlog -e.

Fixes #103.
2021-08-31 11:56:48 +03:00
David Runge
85596573ed
Merge branch 'changelog/58'
* changelog/58:
  Add changelog for v58
2021-08-25 14:52:01 +02:00
David Runge
fbe48dd7d2
Add changelog for v58
CHANGELOG.rst:
Add changelog entries for v58.
2021-08-25 14:10:06 +02:00
David Runge
087ee83335
Merge remote-tracking branch 'nl6720/fix-unbound-variables-in-_validate_options'
* nl6720/fix-unbound-variables-in-_validate_options:
  mkarchiso: error out of iso and netboot build modes if no boot modes are specified
  mkarchiso: split out build mode specific checks from _validate_options to _validate_requirements_buildmode_*
  mkarchiso: fix unbound variable errors in _validate_options
2021-08-25 12:08:37 +02:00
nl6720
d2315bc98d
mkarchiso: error out of iso and netboot build modes if no boot modes are specified 2021-08-25 00:29:35 +03:00
nl6720
f3959d6ef0
mkarchiso: split out build mode specific checks from _validate_options to _validate_requirements_buildmode_*
The bootstrap build mode does not use packages.${arch}, ${bootmodes[@]} or $airootfs_image_type so there's no need to validate them.
Requirements common to iso and netboot are checked with the _validate_common_requirements_buildmode_iso_netboot function.

Fixes #149.

* Rename _validate_requirements_buildmode_all to _validate_common_requirements_buildmode_all to prevent potential conflicts since we are using _validate_requirements_buildmode_${_buildmode} to run the functions.
* Improve searching in an array. See https://stackoverflow.com/a/15394738.
2021-08-25 00:29:35 +03:00
nl6720
8d18d8f745
mkarchiso: fix unbound variable errors in _validate_options
$pkg_list_from_file and $bootstrap_pkg_list_from_file are arrays, they must be referenced as such. Fixes https://bugs.archlinux.org/task/71852.

Remove quotes from arithmetic expressions.
2021-08-25 00:29:35 +03:00
David Runge
019f5aaeb6
Merge remote-tracking branch 'nl6720/gpg-sender'
* nl6720/gpg-sender:
  .gitlab/ci/build_archiso.sh: use mkarchiso's -G option
  mkarchiso: support setting gpg sender
  mkarchiso: add some sane gpg options to override those set in user's gpg.conf
2021-08-24 23:27:17 +02:00
nl6720
3c6cdb1469
.gitlab/ci/build_archiso.sh: use mkarchiso's -G option
Set gpg's --sender.
2021-08-25 00:26:07 +03:00
nl6720
59dffcf11a
mkarchiso: support setting gpg sender
Add new -G option to set gpg's --sender. This allows to see who signed the rootfs image without needing to import the gpg key from the keyring in initramfs.
2021-08-25 00:26:07 +03:00
nl6720
ea9572b98e
mkarchiso: add some sane gpg options to override those set in user's gpg.conf
* Add --batch, since gpg is run in a script.
* Add --no-armor (this is the default). Armored output provides no benifit here.
* Add --no-include-key-block (this is the default). There is no need to have the gpg key in the signature. The mkinitcpio hook will verify the signature against the included keyring.

Remove the output files before running gpg. Otherwise gpg --batch will fail if they exist.
2021-08-25 00:26:07 +03:00
David Runge
d3caf6f3a1
Merge remote-tracking branch 'nl6720/openssh-8.7p1'
* nl6720/openssh-8.7p1:
  configs/*/airootfs/etc/ssh/sshd_config: update to openssh 8.7p1-1
2021-08-24 23:25:06 +02:00
nl6720
56dc96ee12
configs/*/airootfs/etc/ssh/sshd_config: update to openssh 8.7p1-1
Update /etc/ssh/sshd_config to match upstream changes.
The only modification remains "PermitRootLogin yes".
2021-08-25 00:24:17 +03:00
David Runge
a915e34e27
Merge remote-tracking branch 'nl6720/netboot-version'
* nl6720/netboot-version:
  mkarchiso: put version files in netboot artifacts
2021-08-24 23:22:12 +02:00
nl6720
0a58431dde
mkarchiso: put version files in netboot artifacts
Fixes #147.
2021-08-24 23:47:00 +03:00
David Runge
a560de4fe1
Merge remote-tracking branch 'nl6720/no-mount'
* nl6720/no-mount:
  mkarchiso: ensure there are no existing image files before trying to create them
  mkarchiso: copy files to ext4 image using mkfs.ext4's -d option instead of mounting the file system
2021-08-24 22:40:27 +02:00
nl6720
b040ef1774
mkarchiso: ensure there are no existing image files before trying to create them
This could prevent a few issues when creating an image file when re-running mkarchiso after a failure.

Remove useless test before running rm -f. The command will always succeed.
2021-08-15 16:39:55 +03:00
nl6720
6185448477
mkarchiso: copy files to ext4 image using mkfs.ext4's -d option instead of mounting the file system
mkfs.ext4 with its -d option can "copy the contents of the given directory into the root directory of the filesystem".
This allows to get rid of the last directly used mount and umount commands in mkarchiso.

Additionally try to make the ext4 image somewhat reproducible by setting E2FSPROGS_FAKE_TIME to SOURCE_DATE_EPOCH, clearing the UUID and using a reproducible hash seed.
See https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/commit/?id=e1f7100643a46456be107b33098f6034b0835e6d .

Place mkfs.ext4 options in an array to avoid duplicating the command.

Related to #40.
2021-08-15 16:37:13 +03:00
David Runge
0f3a83abf7
Merge branch 'issues/47'
* issues/47:
  gitlab-ci: Call renamed check target
  Makefile: Remove mkinitcpio-archiso specific targets
  README.rst: Remove initcpio, fix formatting
  Remove mkinitcpio-archiso files
2021-07-31 19:45:23 +02:00
David Runge
e58910165f
gitlab-ci: Call renamed check target
.gitlab-ci.yml:
Change the called make target in the gitlab CI check target to `check` (it has been renamed from `lint`).
2021-07-31 17:38:41 +02:00
David Runge
874166ec7b
Makefile: Remove mkinitcpio-archiso specific targets
Makefile:
Remove all code specific to mkinitcpio-archiso.
Allow overriding PREFIX (defaults to /usr/local).
Gather scripts to check more generically.
Add abstractions for installation directories.
2021-07-31 17:27:17 +02:00
David Runge
571ea81069
README.rst: Remove initcpio, fix formatting
README.rst:
Remove note on installing the initcpio scripts as they now reside in a separate project.
Fix codeblock describing how to boot into the ISO from grub.
2021-07-31 17:25:26 +02:00
David Runge
75d36d2124
Remove mkinitcpio-archiso files
archiso/initcpio/*:
Remove mkinitcpio-archiso scripts as they have been split out into a separate project.

docs/README.{altbootmethods,bootparams}:
Remove mkinitcpio-archiso specific documentation.
2021-07-31 16:58:57 +02:00
David Runge
a4691b8ee4
Merge branch 'changelog/57'
* changelog/57:
  Add changelog for 57
2021-07-30 18:25:06 +02:00
David Runge
12c21b15af
Add changelog for 57
CHANGELOG.rst:
Add an entry for v57.
2021-07-30 17:15:56 +02:00
David Runge
0ccb4f82f1
Merge branch 'issues/143'
* issues/143:
  mkarchiso: Do not run _build_iso_base once
2021-07-30 16:33:12 +02:00
David Runge
0fa1c0e945
mkarchiso: Do not run _build_iso_base once
archiso/mkarchiso:
Do not run `_build_iso_base` with `_run_once`, as it sets variables which are important to functions that are called
after it.
2021-07-30 15:48:09 +02:00
David Runge
9462e4c066
Merge branch 'issues/117'
* issues/117:
  Remove SPDX license identifier from releng configs
  Remove SPDX license identifier from releng configs
2021-07-30 15:46:15 +02:00
David Runge
f4324e2f81
Remove SPDX license identifier from releng configs
configs/baseline/*:
Remove the SPDX license identifier comment from the configuration files in the profile, as they are not eligible for
copyright.
2021-07-29 20:45:08 +02:00
David Runge
00a1e8e7d2
Remove SPDX license identifier from releng configs
configs/releng/*:
Remove the SPDX license identifier comment from the configuration files in the profile, as they are not eligible for
copyright.
2021-07-29 20:42:11 +02:00
David Runge
a07ff5cee5
Merge remote-tracking branch 'nl6720/bootmodes-2'
* nl6720/bootmodes-2:
  mkarchiso: improve functions and comments
2021-07-29 19:06:28 +02:00
nl6720
610ff2ac26
mkarchiso: improve functions and comments
* Merge _make_efi_dir_on_iso9660 into _make_bootmode_uefi-x64.systemd-boot.eltorito since it's specific to that boot mode.
* Split off FAT image creation into _make_efibootimg, so it can be reused by other functions.
* Add/improve comments to better document what the script does.
2021-07-29 17:12:47 +03:00
David Runge
1cec901af2
Merge remote-tracking branch 'nl6720/RouteMetric'
* nl6720/RouteMetric:
  configs/*/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf: document why the drop-in file exists
  configs/releng/airootfs/etc/systemd/network/: move RouteMetric= from [DHCPv6] to [IPv6AcceptRA]
2021-07-29 11:52:35 +02:00
nl6720
8fa110e9d7
configs/*/airootfs/etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf: document why the drop-in file exists
Related to #142.

Add missing `ExecStart=` to baseline's /etc/systemd/system/systemd-networkd-wait-online.service.d/wait-for-only-one-interface.conf.
2021-07-27 13:06:59 +03:00
nl6720
c6a1ccca4f
configs/releng/airootfs/etc/systemd/network/: move RouteMetric= from [DHCPv6] to [IPv6AcceptRA]
systemd moved the option. See 8ebafba9f9 .
Implements #123.

Document in comments why the route metrics need to be set (because of https://github.com/systemd/systemd/issues/17698 ) and use the same metric values as NetworkManager. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/devices/nm-device.c

Additionally remove RouteMetric from configs/baseline/airootfs/etc/systemd/network/20-ethernet.network.
There is only one networkd configuration file in baseline, meaning, there are no other routes.
2021-07-27 13:06:59 +03:00
David Runge
c88fe823b6
Merge branch 'changelog/56.1'
* changelog/56.1:
  Add changelog for 56.1
2021-07-11 23:07:08 +02:00
David Runge
53904baef9
Add changelog for 56.1
CHANGELOG.rst:
Add a changelog entry for 56.1
2021-07-11 21:16:54 +02:00
David Runge
6b3d56193d
Merge remote-tracking branch 'nl6720/LC_ALL'
* nl6720/LC_ALL:
  mkarchiso: set LC_ALL instead of LANG
2021-07-11 21:15:12 +02:00
nl6720
1e5b3a57f5
mkarchiso: set LC_ALL instead of LANG
LC_ALL overrides LANG and all LC_* variables, so use it instead.
See https://www.gnu.org/software/gettext/manual/html_node/Locale-Environment-Variables.html#Locale-Environment-Variables .
2021-07-11 20:02:39 +03:00
David Runge
59b5690ec9
Merge remote-tracking branch 'nl6720/releng-remove-package-termite-terminfo'
* nl6720/releng-remove-package-termite-terminfo:
  configs/releng/packages.x86_64: remove termite-terminfo
2021-07-11 19:00:34 +02:00
nl6720
140a5e6185
configs/releng/packages.x86_64: remove termite-terminfo
termite was removed from the official repos.

Fixes https://bugs.archlinux.org/task/71481 .
2021-07-11 11:24:00 +03:00
David Runge
1b01d22596
Merge remote-tracking branch 'nl6720/env-i-PATH'
* nl6720/env-i-PATH:
  mkarchiso: unset TMPDIR to work around FS#70580
  Revert "archiso/mkarchiso: clear environment variables when chrooting"
2021-07-03 03:26:41 +02:00
nl6720
d65682a765
mkarchiso: unset TMPDIR to work around FS#70580
Alternative to 3d6651abf7 which caused issues.

Fixes https://bugs.archlinux.org/task/70580 .
2021-07-02 15:54:34 +03:00
nl6720
c4d1109e49
Revert "archiso/mkarchiso: clear environment variables when chrooting"
This reverts commit 3d6651abf7.

A missing $PATH breaks scripts that do not hardcode binary paths.
Fixes https://bugs.archlinux.org/task/71416 .
2021-07-02 15:54:33 +03:00