From ddda63ba09dda08003b8268364794254142661da Mon Sep 17 00:00:00 2001 From: David Runge Date: Mon, 21 Aug 2023 15:55:06 +0200 Subject: Remove qemu-headless from list of dependencies in GitLab CI Remove qemu-headless since it is no longer needed to build the project and is also no longer provided by qemu-base. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to '.gitlab-ci.yml') diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 17ac5ff..d2f601d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,7 +25,7 @@ check: metrics: output/metrics.txt before_script: - pacman -Sy --needed --noconfirm archlinux-keyring - - pacman -Syu --needed --noconfirm arch-install-scripts bash dosfstools e2fsprogs erofs-utils gnupg grub jq libarchive libisoburn mtools openssl qemu-headless squashfs-tools zsync + - pacman -Syu --needed --noconfirm arch-install-scripts bash dosfstools e2fsprogs erofs-utils gnupg grub jq libarchive libisoburn mtools openssl squashfs-tools zsync script: - ./.gitlab/ci/build_archiso.sh ${BUILD_SCRIPT_ARGS} stage: build -- cgit v1.2.3-54-g00ecf From 2932a9def38fbe03c3727c6f5ca4f8e888826c78 Mon Sep 17 00:00:00 2001 From: nl6720 Date: Mon, 12 Jun 2023 20:55:08 +0300 Subject: Makefile: build and install the mkarchiso(1) man page rst2man from python-docutils is required to convert the man page from reStructuredText. --- .gitignore | 1 + .gitlab-ci.yml | 2 +- CHANGELOG.rst | 2 ++ Makefile | 11 ++++++++-- README.rst | 4 ++++ man/mkarchiso.1.rst | 60 +++++++++++++++++++++++++---------------------------- man/variables.rst | 5 +++-- 7 files changed, 48 insertions(+), 37 deletions(-) (limited to '.gitlab-ci.yml') diff --git a/.gitignore b/.gitignore index 74a0a52..05ae886 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ out/ *.pem user-data meta-data +man/version.rst diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d2f601d..0e7f709 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,7 +25,7 @@ check: metrics: output/metrics.txt before_script: - pacman -Sy --needed --noconfirm archlinux-keyring - - pacman -Syu --needed --noconfirm arch-install-scripts bash dosfstools e2fsprogs erofs-utils gnupg grub jq libarchive libisoburn mtools openssl squashfs-tools zsync + - pacman -Syu --needed --noconfirm arch-install-scripts bash dosfstools e2fsprogs erofs-utils gnupg grub jq libarchive libisoburn mtools openssl python-docutils squashfs-tools zsync script: - ./.gitlab/ci/build_archiso.sh ${BUILD_SCRIPT_ARGS} stage: build diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d524190..148a9df 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -8,6 +8,8 @@ Changelog Added ----- +- Add a man page for ``mkarchiso``. + Changed ------- diff --git a/Makefile b/Makefile index c4ceb2f..1a6bf6f 100644 --- a/Makefile +++ b/Makefile @@ -4,11 +4,13 @@ PREFIX ?= /usr/local BIN_DIR=$(DESTDIR)$(PREFIX)/bin DOC_DIR=$(DESTDIR)$(PREFIX)/share/doc/archiso +MAN_DIR?=$(DESTDIR)$(PREFIX)/share/man PROFILE_DIR=$(DESTDIR)$(PREFIX)/share/archiso DOC_FILES=$(wildcard docs/*) $(wildcard *.rst) SCRIPT_FILES=$(wildcard archiso/*) $(wildcard scripts/*.sh) $(wildcard .gitlab/ci/*.sh) \ $(wildcard configs/*/profiledef.sh) $(wildcard configs/*/airootfs/usr/local/bin/*) +VERSION?=$(shell git describe --long --abbrev=7 | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g;s/\.r0\.g.*//') all: @@ -17,7 +19,7 @@ check: shellcheck shellcheck: shellcheck -s bash $(SCRIPT_FILES) -install: install-scripts install-profiles install-doc +install: install-scripts install-profiles install-doc install-man install-scripts: install -vDm 755 archiso/mkarchiso -t "$(BIN_DIR)/" @@ -30,4 +32,9 @@ install-profiles: install-doc: install -vDm 644 $(DOC_FILES) -t $(DOC_DIR) -.PHONY: check install install-doc install-profiles install-scripts shellcheck +install-man: + @printf '.. |version| replace:: %s\n' '$(VERSION)' > man/version.rst + install -d -m 755 $(MAN_DIR)/man1 + rst2man man/mkarchiso.1.rst $(MAN_DIR)/man1/mkarchiso.1 + +.PHONY: check install install-doc install-man install-profiles install-scripts shellcheck diff --git a/README.rst b/README.rst index 5a544c5..fff961d 100644 --- a/README.rst +++ b/README.rst @@ -36,6 +36,10 @@ For linting the shell scripts the following package is required: * shellcheck +For generating the man pages: + +* python-docutils + Profiles ======== diff --git a/man/mkarchiso.1.rst b/man/mkarchiso.1.rst index 22d4c1b..c54d2bb 100644 --- a/man/mkarchiso.1.rst +++ b/man/mkarchiso.1.rst @@ -12,46 +12,42 @@ Arch Linux ISO generator Synopsis ======== -mkarchiso *[options]* *profile_directory* +**mkarchiso** [options] *profile_directory* Description =========== -mkarchiso create an ISO, netboot artifacts and a bootstrap tarball and optionally signs them. +**mkarchiso** creates an ISO, netboot artifacts and a bootstrap tarball and optionally signs them. Options ======= --A application Set an application name for the ISO. - Default: |iso_application|. --C file pacman configuration file. - Default: |pacman_conf|. --D install_dir Set an install_dir. All files will be located here. - Default: |install_dir|. - NOTE: Max 8 characters, use only *a-z0-9*. --L label Set the ISO volume label. - Default: |iso_label|. --P publisher Set the ISO publisher. - Default: |iso_publisher|. --c cert_and_key Provide certificates for codesigning of netboot artifacts as well as the rootfs artifact. - Multiple files are provided as quoted, space delimited list. - The first file is considered as the signing certificate, - the second as the key and the third as the optional certificate authority. --g gpg_key Set the PGP key ID to be used for signing the rootfs image. - Passed to gpg as the value for **--default-key**. --G mbox Set the PGP signer (must include an email address). - Passed to gpg as the value for **--sender**. --h Help message. --m mode Build mode(s) to use (valid modes are: *bootstrap*, *iso* and *netboot*). - Multiple build modes are provided as quoted, space delimited list. --o out_dir Set the output directory. - Default: |out_dir|. --p packages Package(s) to install. - Multiple packages are provided as quoted, space delimited list. --r Delete the working directory at the end. --v Enable verbose output. --w work_dir Set the working directory. - Default: |work_dir|. +-A application | Set an application name for the ISO. + | Default: |iso_application|. +-C file | pacman configuration file. + | Default: |pacman_conf|. +-D install_dir | Set an install_dir. All files will be located here. + | Default: |install_dir|. + | NOTE: Max 8 characters, use only *a-z0-9*. +-L label | Set the ISO volume label. + | Default: |iso_label|. +-P publisher | Set the ISO publisher. + | Default: |iso_publisher|. +-c cert_and_key | Provide certificates for codesigning of netboot artifacts as well as the rootfs artifact. + | Multiple files are provided as quoted, space delimited list. + | The first file is considered as the signing certificate, the second as the key and the third as the optional certificate authority. +-g gpg_key | Set the PGP key ID to be used for signing the rootfs image. Passed to gpg as the value for **--default-key**. +-G mbox | Set the PGP signer (must include an email address). Passed to gpg as the value for **--sender**. +-h | Help message. +-m mode | Build mode(s) to use (valid modes are: *bootstrap*, *iso* and *netboot*). Multiple build modes are provided as quoted, space delimited list. +-o out_dir | Set the output directory. + | Default: |out_dir|. +-p packages | Package(s) to install. + | Multiple packages are provided as quoted, space delimited list. +-r | Delete the working directory at the end. +-v | Enable verbose output. +-w work_dir | Set the working directory. + | Default: |work_dir|. Examples ======== diff --git a/man/variables.rst b/man/variables.rst index 084c94d..152f154 100644 --- a/man/variables.rst +++ b/man/variables.rst @@ -1,9 +1,10 @@ -.. |iso_application| replace:: *mkarchiso iso* +.. |iso_application| replace:: '*mkarchiso iso*' .. |pacman_conf| replace:: */etc/pacman.conf* .. |install_dir| replace:: *arch* .. |iso_label| replace:: *MKARCHISO* .. |iso_publisher| replace:: *mkarchiso* .. |out_dir| replace:: *./out* .. |work_dir| replace:: *./work* -.. |version| replace:: insert.version.here .. |profile_dir| replace:: /usr/share/archiso + +.. include:: version.rst -- cgit v1.2.3-54-g00ecf