Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornl6720 <nl6720@gmail.com>2021-04-01 15:06:41 +0300
committernl6720 <nl6720@gmail.com>2021-04-30 20:37:17 +0300
commit98c7b67697d2376ab37813295a5f352436040c59 (patch)
tree62dbcb7d4b33995fba1d7940554bcf27b90952ac
parent0ed1c61f1fc3708722fc8593ca8e31b4bc8946d1 (diff)
mkarchiso: append IMAGE_ID and IMAGE_VERSION to /etc/os-release
This provides the ISO version information in the os-release file. * IMAGE_ID is set to the value of $iso_name. * IMAGE_VERSION is set to the value of $iso_version. Implements #116.
-rwxr-xr-xarchiso/mkarchiso16
1 files changed, 16 insertions, 0 deletions
diff --git a/archiso/mkarchiso b/archiso/mkarchiso
index f08d8f6..e41d67e 100755
--- a/archiso/mkarchiso
+++ b/archiso/mkarchiso
@@ -933,13 +933,29 @@ _export_gpg_publickey() {
}
_make_version() {
+ local osrelease
install -d -m 0755 -- "${isofs_dir}/${install_dir}"
_msg_info "Creating files with iso version..."
+ # Write version file to airootfs
+ rm -f -- "${airootfs_dir}/version"
printf '%s\n' "${iso_version}" > "${airootfs_dir}/version"
+ # Write version file to ISO 9660
printf '%s\n' "${iso_version}" > "${isofs_dir}/${install_dir}/version"
+ # Write grubenv with version information to ISO 9660
printf '%.1024s' "$(printf '# GRUB Environment Block\nNAME=%s\nVERSION=%s\n%s' \
"${iso_name}" "${iso_version}" "$(printf '%0.1s' "#"{1..1024})")" \
> "${isofs_dir}/${install_dir}/grubenv"
+ # Append IMAGE_ID & IMAGE_VERSION to os-release
+ osrelease="$(realpath -- "${airootfs_dir}/etc/os-release")"
+ if [[ ! -e "${airootfs_dir}/etc/os-release" && -e "${airootfs_dir}/usr/lib/os-release" ]]; then
+ osrelease="$(realpath -- "${airootfs_dir}/usr/lib/os-release")"
+ fi
+ if [[ "${osrelease}" != "${airootfs_dir}"* ]]; then
+ _msg_warning "os-release file '${osrelease}' is outside of valid path."
+ else
+ [[ ! -e "${osrelease}" ]] || sed -i '/^IMAGE_ID=/d;/^IMAGE_VERSION=/d' "${osrelease}"
+ printf 'IMAGE_ID=%s\nIMAGE_VERSION=%s\n' "${iso_name}" "${iso_version}" >> "${osrelease}"
+ fi
_msg_info "Done!"
}