From 9834444d9afcb40f25de182e3edf84d6ff01d688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=B8=D1=80=D0=B5=D1=86=D0=BA=D0=B8=D0=B9=20=D0=9C?= =?UTF-8?q?=D0=B8=D1=85=D0=B0=D0=B8=D0=BB?= Date: Tue, 14 Jan 2020 17:33:17 +0300 Subject: [PATCH] =?UTF-8?q?sys-kernel/dracut:=20=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D0=B0=20=D0=B3=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D1=80=D0=B0=D1=86=D0=B8=D1=8F=20hostonly-initramfs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.calculate_directory | 0 .../0-sys-kernel/dracut/.calculate_directory | 1 + .../dracut/dracut.conf.d/.calculate_directory | 0 .../dracut/dracut.conf.d/50-calculate.conf | 0 .../dracut/zz_create_hostonly} | 71 ++++++++++++++++++- .../sys-kernel/dracut/.calculate_directory | 1 - .../3.6/3_ac_install_live/Depends/dracut | 1 - .../templates/3.6/6_ac_install_configure/boot | 2 +- 8 files changed, 71 insertions(+), 5 deletions(-) rename profiles/templates/3.6/3_ac_install_live/1-merge/{sys-kernel => 0-sys-kernel}/.calculate_directory (100%) create mode 100644 profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/dracut/.calculate_directory rename profiles/templates/3.6/3_ac_install_live/1-merge/{sys-kernel => 0-sys-kernel}/dracut/dracut.conf.d/.calculate_directory (100%) rename profiles/templates/3.6/3_ac_install_live/1-merge/{sys-kernel => 0-sys-kernel}/dracut/dracut.conf.d/50-calculate.conf (100%) rename profiles/templates/3.6/3_ac_install_live/1-merge/{sys-boot/grub/splash/create_hostonly => 0-sys-kernel/dracut/zz_create_hostonly} (55%) delete mode 100644 profiles/templates/3.6/3_ac_install_live/1-merge/sys-kernel/dracut/.calculate_directory delete mode 100644 profiles/templates/3.6/3_ac_install_live/Depends/dracut diff --git a/profiles/templates/3.6/3_ac_install_live/1-merge/sys-kernel/.calculate_directory b/profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/.calculate_directory similarity index 100% rename from profiles/templates/3.6/3_ac_install_live/1-merge/sys-kernel/.calculate_directory rename to profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/.calculate_directory diff --git a/profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/dracut/.calculate_directory b/profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/dracut/.calculate_directory new file mode 100644 index 000000000..92cc5f329 --- /dev/null +++ b/profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/dracut/.calculate_directory @@ -0,0 +1 @@ +# Calculate append=skip mergepkg(sys-kernel/dracut)!= diff --git a/profiles/templates/3.6/3_ac_install_live/1-merge/sys-kernel/dracut/dracut.conf.d/.calculate_directory b/profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/dracut/dracut.conf.d/.calculate_directory similarity index 100% rename from profiles/templates/3.6/3_ac_install_live/1-merge/sys-kernel/dracut/dracut.conf.d/.calculate_directory rename to profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/dracut/dracut.conf.d/.calculate_directory diff --git a/profiles/templates/3.6/3_ac_install_live/1-merge/sys-kernel/dracut/dracut.conf.d/50-calculate.conf b/profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/dracut/dracut.conf.d/50-calculate.conf similarity index 100% rename from profiles/templates/3.6/3_ac_install_live/1-merge/sys-kernel/dracut/dracut.conf.d/50-calculate.conf rename to profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/dracut/dracut.conf.d/50-calculate.conf diff --git a/profiles/templates/3.6/3_ac_install_live/1-merge/sys-boot/grub/splash/create_hostonly b/profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/dracut/zz_create_hostonly similarity index 55% rename from profiles/templates/3.6/3_ac_install_live/1-merge/sys-boot/grub/splash/create_hostonly rename to profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/dracut/zz_create_hostonly index 713c6e4f8..f74e24c30 100644 --- a/profiles/templates/3.6/3_ac_install_live/1-merge/sys-boot/grub/splash/create_hostonly +++ b/profiles/templates/3.6/3_ac_install_live/1-merge/0-sys-kernel/dracut/zz_create_hostonly @@ -1,9 +1,76 @@ -# Calculate exec=/bin/bash ac_install_disk==off&&ac_install_unmerge==off&&pkg(sys-kernel/dracut)!=&&os_install_root_type!=livecd cl_setup!=themes||cl_splash_image_update_set==on +# Calculate exec=/bin/bash ac_install_disk==off&&ac_install_unmerge==off&&os_install_root_type!=livecd cl_setup!=themes||cl_splash_image_update_set==on #!/bin/bash # the recreating of inird is performed for binary kernel only (mark .calculate in kernel sources) -source /usr/share/grub/grub-mkconfig_lib +version_sort () +{ + case $version_sort_sort_has_v in + yes) + LC_ALL=C sort -V;; + no) + LC_ALL=C sort -n;; + *) + if sort -V /dev/null 2>&1; then + version_sort_sort_has_v=yes + LC_ALL=C sort -V + else + version_sort_sort_has_v=no + LC_ALL=C sort -n + fi;; + esac +} + +version_test_numeric () +{ + version_test_numeric_a="$1" + version_test_numeric_cmp="$2" + version_test_numeric_b="$3" + if [ "$version_test_numeric_a" = "$version_test_numeric_b" ] ; then + case "$version_test_numeric_cmp" in + ge|eq|le) return 0 ;; + gt|lt) return 1 ;; + esac + fi + if [ "$version_test_numeric_cmp" = "lt" ] ; then + version_test_numeric_c="$version_test_numeric_a" + version_test_numeric_a="$version_test_numeric_b" + version_test_numeric_b="$version_test_numeric_c" + fi + if (echo "$version_test_numeric_a" ; echo "$version_test_numeric_b") | version_sort | head -n 1 | grep -qx "$version_test_numeric_b" ; then + return 0 + else + return 1 + fi +} + +version_test_gt () +{ + version_test_gt_a="`echo "$1" | sed -e "s/[^-]*-//"`" + version_test_gt_b="`echo "$2" | sed -e "s/[^-]*-//"`" + version_test_gt_cmp=gt + if [ "x$version_test_gt_b" = "x" ] ; then + return 0 + fi + case "$version_test_gt_a:$version_test_gt_b" in + *.old:*.old) ;; + *.old:*) version_test_gt_a="`echo "$version_test_gt_a" | sed -e 's/\.old$//'`" ; version_test_gt_cmp=gt ;; + *:*.old) version_test_gt_b="`echo "$version_test_gt_b" | sed -e 's/\.old$//'`" ; version_test_gt_cmp=ge ;; + esac + version_test_numeric "$version_test_gt_a" "$version_test_gt_cmp" "$version_test_gt_b" + return "$?" +} + +version_find_latest () +{ + version_find_latest_a="" + for i in "$@" ; do + if version_test_gt "$i" "$version_find_latest_a" ; then + version_find_latest_a="$i" + fi + done + echo "$version_find_latest_a" +} get_latest_kernel() { version_find_latest /boot/vmlinuz-* diff --git a/profiles/templates/3.6/3_ac_install_live/1-merge/sys-kernel/dracut/.calculate_directory b/profiles/templates/3.6/3_ac_install_live/1-merge/sys-kernel/dracut/.calculate_directory deleted file mode 100644 index 05cba41bf..000000000 --- a/profiles/templates/3.6/3_ac_install_live/1-merge/sys-kernel/dracut/.calculate_directory +++ /dev/null @@ -1 +0,0 @@ -# Calculate append=skip mergepkg()!= diff --git a/profiles/templates/3.6/3_ac_install_live/Depends/dracut b/profiles/templates/3.6/3_ac_install_live/Depends/dracut deleted file mode 100644 index 53ee3268b..000000000 --- a/profiles/templates/3.6/3_ac_install_live/Depends/dracut +++ /dev/null @@ -1 +0,0 @@ -# Calculate append=skip merge(sys-kernel/dracut)!= merge=sys-boot/grub diff --git a/profiles/templates/3.6/6_ac_install_configure/boot b/profiles/templates/3.6/6_ac_install_configure/boot index 3808f1dd9..05703478b 100644 --- a/profiles/templates/3.6/6_ac_install_configure/boot +++ b/profiles/templates/3.6/6_ac_install_configure/boot @@ -1 +1 @@ -# Calculate merge=sys-boot/grub,sys-apps/preload cl_setup==boot||cl_setup== append=skip +# Calculate merge=sys-kernel/dracut,sys-boot/grub,sys-apps/preload cl_setup==boot||cl_setup== append=skip