From ff96c85395557506060838442ed6bfe43848ee88 Mon Sep 17 00:00:00 2001 From: udeved Date: Sun, 21 Aug 2016 18:27:15 +0200 Subject: [PATCH] check-yaml: use generic preset in cal mode --- Makefile | 1 + data/linux.preset | 14 ++++++++++++++ lib/util-iso-calamares.sh | 2 +- lib/util-iso-image.sh | 2 +- lib/util-iso-yaml.sh | 38 ++++++++++++++++++++++++++------------ 5 files changed, 43 insertions(+), 14 deletions(-) create mode 100644 data/linux.preset diff --git a/Makefile b/Makefile index 9e35faa..f3872dc 100644 --- a/Makefile +++ b/Makefile @@ -80,6 +80,7 @@ LIBS_ISO = \ SHARED_ISO = \ data/pacman-mhwd.conf \ data/desktop.map \ + data/linux.preset \ data/profile.conf.example CPIOHOOKS = \ diff --git a/data/linux.preset b/data/linux.preset new file mode 100644 index 0000000..4ab294c --- /dev/null +++ b/data/linux.preset @@ -0,0 +1,14 @@ +# mkinitcpio preset file for the 'linux' package + +ALL_config="/etc/mkinitcpio.conf" +ALL_kver="/boot/vmlinuz-@kvmaj@.@kvmin@-@arch@" + +PRESETS=('default' 'fallback') + +#default_config="/etc/mkinitcpio.conf" +default_image="/boot/initramfs-@kvmaj@.@kvmin@-@arch@.img" +#default_options="" + +#fallback_config="/etc/mkinitcpio.conf" +fallback_image="/boot/initramfs-@kvmaj@.@kvmin@-@arch@-fallback.img" +fallback_options="-S autodetect" diff --git a/lib/util-iso-calamares.sh b/lib/util-iso-calamares.sh index affd80a..2c96faf 100644 --- a/lib/util-iso-calamares.sh +++ b/lib/util-iso-calamares.sh @@ -36,7 +36,7 @@ write_finished_conf(){ write_bootloader_conf(){ local conf="$1/etc/calamares/modules/bootloader.conf" - source "$2.preset" + source "$2" echo '---' > "$conf" echo "efiBootLoader: \"${efi_boot_loader}\"" >> "$conf" echo "kernel: \"$(echo ${ALL_kver} | sed s'|/boot||')\"" >> "$conf" diff --git a/lib/util-iso-image.sh b/lib/util-iso-image.sh index f803566..cdf737a 100644 --- a/lib/util-iso-image.sh +++ b/lib/util-iso-image.sh @@ -257,7 +257,7 @@ configure_live_image(){ configure_mhwd "$1" configure_system "$1" configure_services "$1" - configure_calamares "$1" "$1/etc/mkinitcpio.d/${kernel}" + configure_calamares "$1" "$1/etc/mkinitcpio.d/${kernel}.preset" write_live_session_conf "$1" msg "Done configuring [live-image]" } diff --git a/lib/util-iso-yaml.sh b/lib/util-iso-yaml.sh index 42813c6..381f18d 100644 --- a/lib/util-iso-yaml.sh +++ b/lib/util-iso-yaml.sh @@ -17,6 +17,28 @@ check_yaml(){ [[ $? -ne 0 ]] && error "yaml error: %s [msg: %s]" "$1" } +get_preset(){ + local p=${tmp_dir}/${kernel}.preset kvmaj kvmin + cp ${DATADIR}/linux ${tmp_dir}/$p + digit=${kernel##linux} + kvmaj=${digit:0:1} + kvmin=${digit:1} + + sed -e "s|@kvmaj@|$kvmaj|g" \ + -e "s|@kvmin@|$kvmin|g" \ + -e "s|@arch@|${target_arch}|g"\ + -i $p + + echo $p +} + +write_calamares_yaml(){ + configure_calamares "${yaml_dir}" "$(get_preset)" + for conf in "${yaml_dir}"/etc/calamares/modules/*.conf "${yaml_dir}"/etc/calamares/settings.conf; do + check_yaml "$conf" + done +} + write_netgroup_yaml(){ echo "- name: '$1'" > "$2" echo " description: '$1'" >> "$2" @@ -43,28 +65,20 @@ prepare_check(){ chown "${OWNER}:${OWNER}" "${yaml_dir}" } -write_calamares_yaml(){ - local preset=${work_dir}/root-image/etc/mkinitcpio.d/${kernel} - [[ -f ${preset}.preset ]] || die "The profile needs to be built at least one time!" - configure_calamares "${yaml_dir}" "${preset}" - for conf in "${yaml_dir}"/etc/calamares/modules/*.conf "${yaml_dir}"/etc/calamares/settings.conf; do - check_yaml "$conf" - done +gen_fn(){ + echo ${yaml_dir}/$1-${target_arch}-${initsys}.yaml } make_profile_yaml(){ prepare_check "$1" load_pkgs "${profile_dir}/Packages-Root" - yaml="${yaml_dir}/Packages-Root-${target_arch}-${initsys}.yaml" - write_netgroup_yaml "$1" "${yaml}" + write_netgroup_yaml "$1" "$(gen_fn "Packages-Root")" if [[ -f "${packages_custom}" ]]; then load_pkgs "${packages_custom}" - yaml="${yaml_dir}/${packages_custom##*/}-${target_arch}-${initsys}.yaml" - write_netgroup_yaml "$1" "${yaml}" + write_netgroup_yaml "$1" "$(gen_fn "${packages_custom##*/}")" fi ${calamares} && write_calamares_yaml "$1" user_own "${yaml_dir}" reset_profile - unset yaml unset yaml_dir }