1. 18 Nov, 2020 1 commit
    • David Runge's avatar
      Fix evaluation bugs in mkarchiso · 3160db0e
      David Runge authored
      archiso/mkarchiso:
      Guard the call to `_mksignature()` in `_prepare_airootfs_image()` by an if statement.
      Using the `&&` logic leads to `_prepare_airootfs_image()` evaluating to false if `$gpg_key` is not set.
      
      Add `_msg_info()` calls to `_set_override()` which prevent the function from evaluating to false if no override is
      being done. Additionally this is great for debugging purposes.
      
      Add `_msg_info()` calls to `_read_profile()` (which is great for debugging purposes).
      
      Fixes #81
      3160db0e
  2. 14 Nov, 2020 3 commits
  3. 30 Oct, 2020 1 commit
  4. 29 Oct, 2020 1 commit
    • David Runge's avatar
      Remove build.sh support from profiles and mkarchiso · 1bd944ee
      David Runge authored
      configs/{baseline,releng}/build.sh:
      Remove `build.sh` scripts. They were deprecated with v47.
      
      archiso/mkarchiso:
      Remove all `build.sh` related functionality (i.e. `command_pkglist()`, `command_iso()`, `command_prepare()`,
      `command_install()`, `command_init()`, `command_run()`).
      
      Rename `command_build_profile()` to `_build_profile()` to be more in line with the style of the other function naming.
      
      Change `_show_config()` to only print info about the profile and make no more use of parameters.
      
      Remove all help output related to legacy `build.sh` commands.
      
      Fixes #51
      1bd944ee
  5. 24 Oct, 2020 2 commits
    • David Runge's avatar
      Set CacheDir and HookDir for profile more sanely · f3af5692
      David Runge authored
      archiso/mkarchiso:
      Change `_pacman()` to use the *modified* pacman.conf from the work_dir, instead of using the *unmodified* pacman.conf from
      the profile.
      
      Change `_make_pacman_conf()` to compare the system's and the profile's CacheDir setting and use the profile's CacheDir
      setting only if it's not the default and not the same as the system's.
      
      Always set the HookDir to the airootfs' override directory, so that no hooks from the host system are being run.
      
      Remove DBPath, LogFile and RootDir settings from the work_dir pacman.conf as they are otherwise referring to the host
      system, **even if** pacman is being called with the `-r` flag.
      
      Fix a typo in _make_custom_airootfs().
      
      README.profile.rst:
      Add information about the pacman.conf in a profile and how configuration options behave, when used by mkarchiso.
      
      Fixes #73
      Fixes #74
      f3af5692
    • nl6720's avatar
      Move FAT image to a separate partition outside the ISO 9660 file system · 729d16b4
      nl6720 authored
      Support bios.syslinux.eltorito boot mode without bios.syslinux.mbr.
      bios.syslinux.mbr does not work without bios.syslinux.eltorito because -isohybrid-mbr requires the El Torito boot image.
      
      Support uefi-x64.systemd-boot.esp boot mode without uefi-x64.systemd-boot.eltorito and vice versa.
      If uefi-x64.systemd-boot.eltorito is used without uefi-x64.systemd-boot.esp, the El Torito boot image will be placed in the ISO 9660 file system as before.
      Note that an ISO created with only uefi-x64.systemd-boot.eltorito will still be bootable as a "hard disk" on OVMF. OVMF will boot the El Torito image.
      
      This change has the following effect on the partition tables:
      
      - *.eltorito options add El Torito boot catalog entries. MBR and GPT are not affected.
      - uefi-x64.systemd-boot.esp creates a protective MBR partition table and a GPT table that includes a Linux filesystem data partition for the ISO 9660 volume, an EFI system partition and a Microsoft basic data partition that maps the 300 KiB padding added by xorriso.
      - bios.syslinux.mbr (without uefi-x64.systemd-boot.esp): adds a MBR partition table and maps the ISO 9660 volume as a partition of type 0x83. No GPT is produced.
      - bios.syslinux.mbr (with uefi-x64.systemd-boot.esp): adds an second partition in the MBR (after 0xEE) starting from sector 0 to sector 1 with type 0 and marks it as bootable. This violates the GPT specification, but allows some systems to succesfully boot in BIOS mode from GPT.
      
      Fixes archlinux/archiso#49
      729d16b4
  6. 07 Oct, 2020 3 commits
  7. 04 Oct, 2020 1 commit
  8. 03 Oct, 2020 1 commit
    • David Runge's avatar
      Replace bash arithmetic with awk functions · 55cfb8ba
      David Runge authored
      archiso/mkarchiso:
      The bash arithmethics in _make_boot_uefi-x64.systemd-boot.esp() introduced rounding issues, that can lead to
      insufficient FAT image size for the files.
      Conversion functions for awk now replace the bash arithmetics and additionally a ceil() function rounds the calculated
      size up to the next full MiB.
      Add an info message about the size of the created FAT image.
      
      Fixes #70
      55cfb8ba
  9. 29 Sep, 2020 1 commit
    • David Runge's avatar
      Fix info message for legacy command · 2e1ddec0
      David Runge authored
      archiso/mkarchiso:
      Change the way _show_config() displays information about the build environment, as displaying a profile directory as a
      legacy command to mkarchiso is confusing.
      The function now prints a deprecation message if '$command_name' is not a directory (i.e. not a profile).
      Remove 'command_' prefix from help output for legacy commands (the prefix is only in use for internal functions).
      
      Relates to !69
      Fixes #60
      2e1ddec0
  10. 27 Sep, 2020 4 commits
  11. 05 Sep, 2020 1 commit
  12. 02 Sep, 2020 1 commit
  13. 25 Aug, 2020 2 commits
    • David Runge's avatar
      Add missing declaration of override_install_dir · 4b401931
      David Runge authored
      **archiso/mkarchiso**:
      
      In d90184a7 the unbound variable `override_install_dir` was introduced by accident.
      
      It is required to be set to empty string to provide override functionality for `install_dir`.
      
      Fixes #57
      4b401931
    • David Runge's avatar
      Pass profile directory as parameter to mkarchiso · d90184a7
      David Runge authored
      **archiso/mkarchiso**:
      
      Change all override option parameters (i.e. `-A`, `-C`, `-D`, `-L`, `-P` and `-g`) to not directly override the global
      variable they are tied to, but instead using an `override_` prefixed variable.
      
      Add `_set_overrides()` to use `override_` prefixed variables (if set) to override those without a prefix.
      
      Remove `-B` (a profile directory) from the list of parameters. The profile directory is now provided as separate
      non-option parameter.
      
      Add a call to `_read_profile()`, `_set_overrides()` and `command_build_profile()` to the fallthrough option of the
      switch-case checking `command_name` - a non-option parameter to mkarchiso. This effectively provides the possibility to
      set the profile directory using a non-option parameter, while still maintaining compatibility to legacy named arguments
      used in the configs' `build.sh` scripts.
      
      Extend the warning in regards to legacy `build.sh` based commands to mkarchiso by providing an EOL with archiso v49.
      
      Change the help output to reflect the changes and further elaborate on the legacy commands used by `build.sh` scripts.
      
      Change help output to be ordered alphabetically.
      
      Add help output for `-r` and `-g` options.
      
      Call `_set_overrides()` for legacy commands that accept one or more of the overriden options (i.e. `command_init`,
      `command_install`, `command_prepare` and `command_iso`).
      
      Various style fixes.
      
      **configs/{baseline,releng}/build.sh**:
      
      Change call to mkarchiso to use the profile's directory as a named argument instead of an option-argument.
      
      **README.rst**:
      
      Fix documentation on how to call mkarchiso with a profile directory.
      
      Fix wording and ordering of option arguments for run_archiso documentation.
      
      Fixes #52
      d90184a7
  14. 21 Aug, 2020 1 commit
    • nl6720's avatar
      archiso/mkarchiso: reduce duplication and add more info messages · e2c5b452
      nl6720 authored
      Fixes to issues introduced in archlinux/archiso!59 :
      - _make_boot_on_fat(): copy initramfs from "${airootfs_dir}/boot/" not "${isofs_dir}/". Otherwise UEFI-only ISOs cannot be built.
      
      Some general fixes:
      - Replace mkdir with install. Unlike mkdir, install does not complain when the target exists.
      - Reduce excess newlines produced by messages.
      - Ensure FAT image gets unmounted in case the script is interrupted.
      - Create the ext4 image with mkfs.ext4 instead of truncate.
      - Do not rely on user and group names for chown commands. Use numeric UID and GID instead.
      - Minimize the times stderr is redirected to /dev/null.
      - Add missing '?' to getopts.
      - Standardize function definitions by removing spaces between the function name and () .
      e2c5b452
  15. 18 Aug, 2020 3 commits
  16. 17 Aug, 2020 6 commits
  17. 30 Jul, 2020 2 commits
  18. 29 Jul, 2020 1 commit
    • David Runge's avatar
      Add license and basic documentation · e264b446
      David Runge authored
      LICENSE:
      Add GPL-3.0 license.
      
      {{archiso,configs}/*,.editorconfig,.gitlab-ci.yml}:
      Add SPDX license identifier.
      
      Makefile:
      Add SPDX license identifier.
      Install the `run_archiso.sh` script as global executable `run_archiso`.
      Use -D and -t flags to install to install files more generically (without a previous call to install the directory).
      
      README.rst:
      Add README outlining the project's scope, how to build images from the profiles and how to test.
      
      AUTHORS.rst:
      Add list of all direct contributors to the repository.
      
      CONTRIBUTING.rst:
      Add basic contribution guidelines, explaining the linter and the license in use.
      
      Closes #7
      Closes #3
      e264b446
  19. 30 Jun, 2020 1 commit
    • David Runge's avatar
      Fixing issues with variable quoting and arrays · 5e43a63b
      David Runge authored
      archiso/mkarchiso:
      Calls to _pacman() need to be done with multiple parameters (e.g. array) instead of one string, as string splitting is
      not done in that function anymore.
      Turning _iso_efi_boot_args from string into an array to have an easier time of passing it to xorriso.
      Calling xorriso within the if statements instead of providing -quiet via variable.
      Fixing command_install() to provide packages separately to _pacman()
      
      configs/releng/build.sh:
      Replacing all newlines when retrieving the packages from packages.x86_64 with spaces so they will be properly provided
      to "mkarchiso install".
      5e43a63b
  20. 29 Jun, 2020 1 commit
    • David Runge's avatar
      Introducing shellcheck in gitlab CI · 47533fd9
      David Runge authored
      archiso/mkarchiso:
      Quoting all variables.
      Changing pkg_list to be an array instead of a string for easier
      handling. Using read to properly populate pkg_list from OPTARG with
      stripped whitespaces.
      Not exporting iso_label anymore as there seems to be no reason to do so.
      Introducing line breaks.
      
      .editorconfig:
      Setting max_line_length to 120.
      Adding a section for YAML files (e.g. .gitlab-ci.yml).
      
      configs/releng/build.sh
      Quting nearly all variables.
      Introducing line breaks.
      
      configs/baseline/build.sh:
      Quoting all variables.
      Introducing line breaks.
      
      .gitlab-ci.yml:
      Adding gitlab CI for shelleck linting of the config build scripts, mkarchiso and startup scripts in releng.
      
      Closes #19
      47533fd9
  21. 03 Sep, 2019 1 commit
  22. 09 Jan, 2019 1 commit
  23. 26 Jul, 2018 1 commit