From 5c2881972120e89613bba73b74e00cec419227d7 Mon Sep 17 00:00:00 2001 From: tigro Date: Fri, 22 Dec 2023 17:05:54 +0300 Subject: [PATCH] - Rename package to lorax-templates-msvsphere - Copy only EULA on live - Added sphere licenses to live media - Update title color - Added translation to bootloader - Added proper image type identification for BaseOS and Minimal variants - Disable geo location - Copy font to live --- .../0001-Remove-RHEL-specific-packages.patch | 32 +++ ...Disable-oscap-anaconda-addon-install.patch | 26 ++ ...allation-image-bootloader-to-Russian.patch | 255 ++++++++++++++++++ ...ate-live-image-bootloader-to-Russian.patch | 216 +++++++++++++++ SOURCES/0005-Disable-geo-location.patch | 73 +++++ SOURCES/0006-Update-title-color.patch | 39 +++ ...07-Add-sphere-licenses-to-live-media.patch | 25 ++ SPECS/lorax-templates-rhel.spec | 29 +- 8 files changed, 689 insertions(+), 6 deletions(-) create mode 100644 SOURCES/0001-Remove-RHEL-specific-packages.patch create mode 100644 SOURCES/0002-Disable-oscap-anaconda-addon-install.patch create mode 100644 SOURCES/0003-Translate-installation-image-bootloader-to-Russian.patch create mode 100644 SOURCES/0004-Translate-live-image-bootloader-to-Russian.patch create mode 100644 SOURCES/0005-Disable-geo-location.patch create mode 100644 SOURCES/0006-Update-title-color.patch create mode 100644 SOURCES/0007-Add-sphere-licenses-to-live-media.patch diff --git a/SOURCES/0001-Remove-RHEL-specific-packages.patch b/SOURCES/0001-Remove-RHEL-specific-packages.patch new file mode 100644 index 0000000..a5e59d9 --- /dev/null +++ b/SOURCES/0001-Remove-RHEL-specific-packages.patch @@ -0,0 +1,32 @@ +From ce4e1d6f1c13d8efb32fb007ae5faa161d3c0c70 Mon Sep 17 00:00:00 2001 +From: tigro +Date: Fri, 22 Dec 2023 16:08:54 +0300 +Subject: [PATCH 1/7] Remove RHEL specific packages + +--- + 80-rhel/runtime-install.tmpl | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/80-rhel/runtime-install.tmpl b/80-rhel/runtime-install.tmpl +index ad9e524..25e7057 100644 +--- a/80-rhel/runtime-install.tmpl ++++ b/80-rhel/runtime-install.tmpl +@@ -4,7 +4,6 @@ + ## anaconda package + installpkg anaconda anaconda-widgets kexec-tools-anaconda-addon anaconda-install-env-deps + installpkg oscap-anaconda-addon +-installpkg redhat-release-eula + + ## Other available payloads + installpkg dnf +@@ -159,7 +158,6 @@ installpkg google-noto-sans-cjk-ttc-fonts + ## debugging/bug reporting tools + installpkg gdb-gdbserver + installpkg libreport-plugin-bugzilla libreport-plugin-reportuploader +-installpkg libreport-rhel-anaconda-bugzilla + installpkg python3-pyatspi + + ## extra tools not required by anaconda +-- +2.43.0 + diff --git a/SOURCES/0002-Disable-oscap-anaconda-addon-install.patch b/SOURCES/0002-Disable-oscap-anaconda-addon-install.patch new file mode 100644 index 0000000..c77a93b --- /dev/null +++ b/SOURCES/0002-Disable-oscap-anaconda-addon-install.patch @@ -0,0 +1,26 @@ +From 81febd96e35d9fbe8416cbde938bec37fdac515e Mon Sep 17 00:00:00 2001 +From: tigro +Date: Fri, 22 Dec 2023 16:09:33 +0300 +Subject: [PATCH 2/7] Disable oscap-anaconda-addon install + +--- + 80-rhel/runtime-install.tmpl | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/80-rhel/runtime-install.tmpl b/80-rhel/runtime-install.tmpl +index 25e7057..369ab9f 100644 +--- a/80-rhel/runtime-install.tmpl ++++ b/80-rhel/runtime-install.tmpl +@@ -3,7 +3,8 @@ + + ## anaconda package + installpkg anaconda anaconda-widgets kexec-tools-anaconda-addon anaconda-install-env-deps +-installpkg oscap-anaconda-addon ++## temporarily disabled on MSVSphere until we have OpenScap integration ++# installpkg oscap-anaconda-addon + + ## Other available payloads + installpkg dnf +-- +2.43.0 + diff --git a/SOURCES/0003-Translate-installation-image-bootloader-to-Russian.patch b/SOURCES/0003-Translate-installation-image-bootloader-to-Russian.patch new file mode 100644 index 0000000..e1fd776 --- /dev/null +++ b/SOURCES/0003-Translate-installation-image-bootloader-to-Russian.patch @@ -0,0 +1,255 @@ +From d6e9b1e138fb12a4c29e381ac6c358a196e7c5d8 Mon Sep 17 00:00:00 2001 +From: tigro +Date: Fri, 22 Dec 2023 16:29:51 +0300 +Subject: [PATCH 3/7] Translate installation image bootloader to Russian + +--- + 80-rhel/config_files/x86/grub2-efi.cfg | 15 ++++++---- + 80-rhel/config_files/x86/isolinux.cfg | 40 +++++++++++++++----------- + 80-rhel/efi.tmpl | 7 +++++ + 80-rhel/x86.tmpl | 23 +++++++++++++-- + 4 files changed, 61 insertions(+), 24 deletions(-) + +diff --git a/80-rhel/config_files/x86/grub2-efi.cfg b/80-rhel/config_files/x86/grub2-efi.cfg +index 8c9adad..5a7b61f 100644 +--- a/80-rhel/config_files/x86/grub2-efi.cfg ++++ b/80-rhel/config_files/x86/grub2-efi.cfg +@@ -9,7 +9,12 @@ function load_video { + } + + load_video ++insmod gfxterm ++set gfxmode=auto + set gfxpayload=keep ++set lang=ru_RU ++terminal_output gfxterm ++loadfont unicode + insmod gzio + insmod part_gpt + insmod ext2 +@@ -20,20 +25,20 @@ set timeout=60 + search --no-floppy --set=root -l '@ISOLABEL@' + + ### BEGIN /etc/grub.d/10_linux ### +-menuentry 'Install @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os { ++menuentry 'Установить @PRODUCT@ @VERSION@@FLAVOR@' --class fedora --class gnu-linux --class gnu --class os { + linuxefi @KERNELPATH@ @ROOT@ quiet + initrdefi @INITRDPATH@ + } +-menuentry 'Test this media & install @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os { ++menuentry 'Проверить носитель и установить @PRODUCT@ @VERSION@@FLAVOR@' --class fedora --class gnu-linux --class gnu --class os { + linuxefi @KERNELPATH@ @ROOT@ rd.live.check quiet + initrdefi @INITRDPATH@ + } +-submenu 'Troubleshooting -->' { +- menuentry 'Install @PRODUCT@ @VERSION@ in basic graphics mode' --class fedora --class gnu-linux --class gnu --class os { ++submenu 'Устранение неполадок -->' { ++ menuentry 'Установить @PRODUCT@ @VERSION@@FLAVOR@ (текстовый установщик)' --class fedora --class gnu-linux --class gnu --class os { + linuxefi @KERNELPATH@ @ROOT@ nomodeset quiet + initrdefi @INITRDPATH@ + } +- menuentry 'Rescue a @PRODUCT@ system' --class fedora --class gnu-linux --class gnu --class os { ++ menuentry 'Восстановление установленной системы @PRODUCT@' --class fedora --class gnu-linux --class gnu --class os { + linuxefi @KERNELPATH@ @ROOT@ inst.rescue quiet + initrdefi @INITRDPATH@ + } +diff --git a/80-rhel/config_files/x86/isolinux.cfg b/80-rhel/config_files/x86/isolinux.cfg +index 1b3fae2..698695a 100644 +--- a/80-rhel/config_files/x86/isolinux.cfg ++++ b/80-rhel/config_files/x86/isolinux.cfg +@@ -1,6 +1,8 @@ + default vesamenu.c32 + timeout 600 + ++font cp866-8x16.psf ++ + display boot.msg + + # Clear the screen when exiting the menu, instead of leaving the menu displayed. +@@ -8,7 +10,7 @@ display boot.msg + # the menu itself for as long as the screen remains in graphics mode. + menu clear + menu background splash.png +-menu title @PRODUCT@ @VERSION@ ++menu title @PRODUCT@ @VERSION@@FLAVOR@ + menu vshift 8 + menu rows 18 + menu margin 8 +@@ -53,18 +55,18 @@ menu color cmdline 0 #ffffffff #00000000 none + + # Do not display the actual menu unless the user presses a key. All that is displayed is a timeout message. + +-menu tabmsg Press Tab for full configuration options on menu items. ++menu tabmsg Нажмите [Tab] для просмотра конфигурации выбранного пункта меню. + + menu separator # insert an empty line + menu separator # insert an empty line + + label linux +- menu label ^Install @PRODUCT@ @VERSION@ ++ menu label ^1. Установить @PRODUCT@ @VERSION@@FLAVOR@ + kernel vmlinuz + append initrd=initrd.img @ROOT@ quiet + + label check +- menu label Test this ^media & install @PRODUCT@ @VERSION@ ++ menu label ^2. Проверить носитель и установить @PRODUCT@ @VERSION@@FLAVOR@ + menu default + kernel vmlinuz + append initrd=initrd.img @ROOT@ rd.live.check quiet +@@ -72,49 +74,53 @@ label check + menu separator # insert an empty line + + # utilities submenu +-menu begin ^Troubleshooting +- menu title Troubleshooting ++menu begin Устранение неполадок ++ menu title Устранение неполадок ++ menu label ^3. Устранение неполадок + + label vesa + menu indent count 5 +- menu label Install @PRODUCT@ @VERSION@ in ^basic graphics mode ++ menu label ^1. Установить @PRODUCT@ @VERSION@@FLAVOR@ (текстовый установщик) + text help + Try this option out if you're having trouble installing +- @PRODUCT@ @VERSION@. ++ Попробуйте этот режим если у вас возникают проблемы с ++ установкой @PRODUCT@ @VERSION@@FLAVOR@. + endtext + kernel vmlinuz + append initrd=initrd.img @ROOT@ nomodeset quiet + + label rescue + menu indent count 5 +- menu label ^Rescue a @PRODUCT@ system ++ menu label ^2. Восстановление установленной системы @PRODUCT@ + text help +- If the system will not boot, this lets you access files +- and edit config files to try to get it booting again. ++ Если система не загружается, данный режим позволит вам ++ получить доступ к файловой системе и отредактировать ++ конфигурационные файлы чтобы восстановить функцию ++ загрузки системы. + endtext + kernel vmlinuz + append initrd=initrd.img @ROOT@ inst.rescue quiet + + label memtest +- menu label Run a ^memory test ++ menu label ^3. Запустить тест оперативной памяти + text help +- If your system is having issues, a problem with your +- system's memory may be the cause. Use this utility to +- see if the memory is working correctly. ++ Проблемы со стабильностью операционной системы могут ++ быть вызваны неисправностью оперативной памяти. Эта ++ утилита позволяет проверить корректность работы ОЗУ. + endtext + kernel memtest + + menu separator # insert an empty line + + label local +- menu label Boot from ^local drive ++ menu label ^4. Загрузка с локального диска + localboot 0xffff + + menu separator # insert an empty line + menu separator # insert an empty line + + label returntomain +- menu label Return to ^main menu ++ menu label ^0. Вернуться в главное меню + menu exit + + menu end +diff --git a/80-rhel/efi.tmpl b/80-rhel/efi.tmpl +index d73d2d7..22bd0ba 100644 +--- a/80-rhel/efi.tmpl ++++ b/80-rhel/efi.tmpl +@@ -7,6 +7,7 @@ APPLE_EFI_DISKNAME=inroot+"/usr/share/pixmaps/bootloader/fedora-media.vol" + + mkdir ${EFIBOOTDIR} + mkdir ${EFIBOOTDIR}/fonts/ ++mkdir ${EFIBOOTDIR}/locale/ + %if efiarch64: + install boot/efi/EFI/*/shim${efiarch64|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI + install boot/efi/EFI/*/mm${efiarch64|lower}.efi ${EFIBOOTDIR}/ +@@ -18,6 +19,7 @@ install boot/efi/EFI/*/mm${efiarch32|lower}.efi ${EFIBOOTDIR}/ + install boot/efi/EFI/*/gcd${efiarch32|lower}.efi ${EFIBOOTDIR}/grub${efiarch32|lower}.efi + %endif + install boot/efi/EFI/*/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/ ++install /usr/share/locale/ru/LC_MESSAGES/grub.mo ${EFIBOOTDIR}/locale/ru.mo + + ## actually make the EFI images + ${make_efiboot("images/efiboot.img")} +@@ -39,7 +41,12 @@ ${make_efiboot("images/efiboot.img")} + copy ${KERNELDIR}/initrd.img ${EFIBOOTDIR} + %endif + install ${configdir}/grub2-efi.cfg ${eficonf} ++ replace @FLAVOR@ '${FLAVOR}' ${eficonf} ++ %if product.name in ("MSVSphere", "MSVSphere Server"): ++ replace @PRODUCT@ 'МСВСфера' ${eficonf} ++ %else: + replace @PRODUCT@ '${product.name}' ${eficonf} ++ %endif + replace @VERSION@ ${product.version} ${eficonf} + replace @KERNELNAME@ vmlinuz ${eficonf} + replace @KERNELPATH@ /${kdir}/vmlinuz ${eficonf} +diff --git a/80-rhel/x86.tmpl b/80-rhel/x86.tmpl +index 1b0a940..d5782c5 100644 +--- a/80-rhel/x86.tmpl ++++ b/80-rhel/x86.tmpl +@@ -25,6 +25,14 @@ from os.path import basename + udfargs = "-allow-limited-size" + else: + udfargs = "" ++ ++ # define an MSVSphere-specific image flavor constant ++ if product.variant in ("Minimal", "Server"): ++ FLAVOR=" Сервер" ++ elif product.variant == "BaseOS": ++ FLAVOR=" ОС" ++ else: ++ FLAVOR="" + %> + + mkdir images +@@ -43,12 +51,23 @@ install ${configdir}/boot.msg ${BOOTDIR} + install ${configdir}/grub.conf ${BOOTDIR} + install usr/share/anaconda/boot/syslinux-splash.png ${BOOTDIR}/splash.png + install boot/memtest* ${BOOTDIR}/memtest ++## add a console font with Russian (cp866) encoding support ++install ${configdir}/cp866-8x16.psf ${BOOTDIR} + + ## configure bootloader + replace @VERSION@ ${product.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg +-replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++%if product.name == 'MSVSphere': ++replace @PRODUCT@ 'МСВСфера' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++%else: ++replace @PRODUCT@ '${product.name}' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++%endif ++replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub.conf ++replace @FLAVOR@ '${FLAVOR}' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg + replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${BOOTDIR}/isolinux.cfg + ++## convert BIOS bootloader configs to cp866 encoding ++iconv 'cp866' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++ + ## install kernels + mkdir ${KERNELDIR} + %for kernel in kernels: +@@ -93,7 +112,7 @@ hardlink ${KERNELDIR}/initrd.img ${BOOTDIR} + treeinfo images-${basearch} ${img|basename} ${img} + %endfor + <% efihybrid = "--uefi --mac" if domacboot else "--uefi" %> +- <%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/> ++ <%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel, FLAVOR=FLAVOR"/> + %endif + + # Create optional product.img and updates.img +-- +2.43.0 + diff --git a/SOURCES/0004-Translate-live-image-bootloader-to-Russian.patch b/SOURCES/0004-Translate-live-image-bootloader-to-Russian.patch new file mode 100644 index 0000000..e446bac --- /dev/null +++ b/SOURCES/0004-Translate-live-image-bootloader-to-Russian.patch @@ -0,0 +1,216 @@ +From 67333eef8ab5dc1f1af01061fdc6a14d2413aa89 Mon Sep 17 00:00:00 2001 +From: tigro +Date: Fri, 22 Dec 2023 16:42:33 +0300 +Subject: [PATCH 4/7] Translate live image bootloader to Russian + +--- + 80-rhel/live/config_files/x86/grub2-efi.cfg | 13 ++++++--- + 80-rhel/live/config_files/x86/isolinux.cfg | 27 ++++++++++--------- + 80-rhel/live/efi.tmpl | 6 +++++ + 80-rhel/live/x86.tmpl | 30 ++++++++++++++++++++- + 80-rhel/x86.tmpl | 2 +- + 5 files changed, 59 insertions(+), 19 deletions(-) + +diff --git a/80-rhel/live/config_files/x86/grub2-efi.cfg b/80-rhel/live/config_files/x86/grub2-efi.cfg +index 2e24b15..4dc2fb2 100644 +--- a/80-rhel/live/config_files/x86/grub2-efi.cfg ++++ b/80-rhel/live/config_files/x86/grub2-efi.cfg +@@ -9,7 +9,12 @@ function load_video { + } + + load_video ++insmod gfxterm ++set gfxmode=auto + set gfxpayload=keep ++set lang=ru_RU ++terminal_output gfxterm ++loadfont unicode + insmod gzio + insmod part_gpt + insmod ext2 +@@ -20,16 +25,16 @@ set timeout=60 + search --no-floppy --set=root -l '@ISOLABEL@' + + ### BEGIN /etc/grub.d/10_linux ### +-menuentry 'Start @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os { ++menuentry 'Запустить @PRODUCT@ @VERSION@@FLAVOR@' --class fedora --class gnu-linux --class gnu --class os { + linuxefi @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image quiet + initrdefi @INITRDPATH@ + } +-menuentry 'Test this media & start @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os { ++menuentry 'Проверить носитель и запустить @PRODUCT@ @VERSION@@FLAVOR@' --class fedora --class gnu-linux --class gnu --class os { + linuxefi @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image rd.live.check quiet + initrdefi @INITRDPATH@ + } +-submenu 'Troubleshooting -->' { +- menuentry 'Start @PRODUCT@ @VERSION@ in basic graphics mode' --class fedora --class gnu-linux --class gnu --class os { ++submenu 'Устранение неполадок -->' { ++ menuentry 'Запустить @PRODUCT@ @VERSION@@FLAVOR@ в базовом графическом режиме' --class fedora --class gnu-linux --class gnu --class os { + linuxefi @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image nomodeset quiet + initrdefi @INITRDPATH@ + } +diff --git a/80-rhel/live/config_files/x86/isolinux.cfg b/80-rhel/live/config_files/x86/isolinux.cfg +index bc36bb9..a2253ca 100644 +--- a/80-rhel/live/config_files/x86/isolinux.cfg ++++ b/80-rhel/live/config_files/x86/isolinux.cfg +@@ -8,7 +8,7 @@ display boot.msg + # the menu itself for as long as the screen remains in graphics mode. + menu clear + menu background splash.png +-menu title @PRODUCT@ @VERSION@ ++menu title @PRODUCT@ @VERSION@@FLAVOR@ + menu vshift 8 + menu rows 18 + menu margin 8 +@@ -53,18 +53,18 @@ menu color cmdline 0 #ffffffff #00000000 none + + # Do not display the actual menu unless the user presses a key. All that is displayed is a timeout message. + +-menu tabmsg Press Tab for full configuration options on menu items. ++menu tabmsg Нажмите [Tab] для просмотра конфигурации выбранного пункта меню. + + menu separator # insert an empty line + menu separator # insert an empty line + + label linux +- menu label ^Start @PRODUCT@ @VERSION@ ++ menu label ^1. Запустить @PRODUCT@ @VERSION@@FLAVOR@ + kernel vmlinuz + append initrd=initrd.img @ROOT@ @EXTRA@ rd.live.image quiet + + label check +- menu label Test this ^media & start @PRODUCT@ @VERSION@ ++ menu label ^2. Проверить носитель и запустить @PRODUCT@ @VERSION@@FLAVOR@ + menu default + kernel vmlinuz + append initrd=initrd.img @ROOT@ @EXTRA@ rd.live.image rd.live.check quiet +@@ -72,12 +72,13 @@ label check + menu separator # insert an empty line + + # utilities submenu +-menu begin ^Troubleshooting +- menu title Troubleshooting ++menu begin Устранение неполадок ++ menu title Устранение неполадок ++ menu label ^3. Устранение неполадок + + label vesa + menu indent count 5 +- menu label Start @PRODUCT@ @VERSION@ in ^basic graphics mode ++ menu label ^3. Запустить @PRODUCT@ @VERSION@FLAVOR@ в базовом графическом режиме + text help + Try this option out if you're having trouble starting + @PRODUCT@ @VERSION@. +@@ -86,25 +87,25 @@ label vesa + append initrd=initrd.img @ROOT@ @EXTRA@ rd.live.image nomodeset quiet + + label memtest +- menu label Run a ^memory test ++ menu label ^4. Запустить тест оперативной памяти + text help +- If your system is having issues, a problem with your +- system's memory may be the cause. Use this utility to +- see if the memory is working correctly. ++ Проблемы со стабильностью операционной системы могут ++ быть вызваны неисправностью оперативной памяти. Эта ++ утилита позволяет проверить корректность работы ОЗУ. + endtext + kernel memtest + + menu separator # insert an empty line + + label local +- menu label Boot from ^local drive ++ menu label ^5. Загрузка с локального диска + localboot 0xffff + + menu separator # insert an empty line + menu separator # insert an empty line + + label returntomain +- menu label Return to ^main menu ++ menu label ^0. Вернуться в главное меню + menu exit + + menu end +diff --git a/80-rhel/live/efi.tmpl b/80-rhel/live/efi.tmpl +index 572e07d..fa18025 100644 +--- a/80-rhel/live/efi.tmpl ++++ b/80-rhel/live/efi.tmpl +@@ -39,7 +39,13 @@ ${make_efiboot("images/efiboot.img")} + copy ${KERNELDIR}/initrd.img ${EFIBOOTDIR} + %endif + install ${configdir}/grub2-efi.cfg ${eficonf} ++ %if product.name == 'MSVSphere ARM': ++ replace @PRODUCT@ 'МСВСфера' ${eficonf} ++ replace @FLAVOR@ ' АРМ' ${eficonf} ++ %else: + replace @PRODUCT@ '${product.name}' ${eficonf} ++ replace @FLAVOR@ '' ${eficonf} ++ %endif + replace @VERSION@ ${product.version} ${eficonf} + replace @KERNELNAME@ vmlinuz ${eficonf} + replace @KERNELPATH@ /${kdir}/vmlinuz ${eficonf} +diff --git a/80-rhel/live/x86.tmpl b/80-rhel/live/x86.tmpl +index 4d46043..6209734 100644 +--- a/80-rhel/live/x86.tmpl ++++ b/80-rhel/live/x86.tmpl +@@ -43,13 +43,41 @@ install ${configdir}/boot.msg ${BOOTDIR} + install ${configdir}/grub.conf ${BOOTDIR} + install usr/share/anaconda/boot/syslinux-splash.png ${BOOTDIR}/splash.png + install boot/memtest* ${BOOTDIR}/memtest ++## add a console font with Russian (cp866) encoding support ++install ${configdir}/cp866-8x16.psf ${BOOTDIR} + + ## configure bootloader + replace @VERSION@ ${product.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg +-replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++%if product.name == 'MSVSphere GNOME': ++replace @PRODUCT@ 'МСВСфера' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++replace @FLAVOR@ ' GNOME' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++%endif ++%if product.name == 'MSVSphere Cinnamon': ++replace @PRODUCT@ 'МСВСфера' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++replace @FLAVOR@ ' Cinnamon' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++%endif ++%if product.name == 'MSVSphere KDE': ++replace @PRODUCT@ 'МСВСфера' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++replace @FLAVOR@ ' KDE' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++%endif ++%if product.name == 'MSVSphere XFCE': ++replace @PRODUCT@ 'МСВСфера' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++replace @FLAVOR@ ' XFCE' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++%endif ++%if product.name == 'MSVSphere ARM': ++replace @PRODUCT@ 'МСВСфера' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++replace @FLAVOR@ ' АРМ' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++%else: ++replace @PRODUCT@ '${product.name}' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++replace @FLAVOR@ '' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++%endif ++replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub.conf + replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${BOOTDIR}/isolinux.cfg + replace @EXTRA@ '${extra_boot_args}' ${BOOTDIR}/isolinux.cfg + ++## convert BIOS bootloader configs to cp866 encoding ++iconv 'cp866' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg ++ + ## install kernels + mkdir ${KERNELDIR} + %for kernel in kernels: +diff --git a/80-rhel/x86.tmpl b/80-rhel/x86.tmpl +index d5782c5..91fd965 100644 +--- a/80-rhel/x86.tmpl ++++ b/80-rhel/x86.tmpl +@@ -56,7 +56,7 @@ install ${configdir}/cp866-8x16.psf ${BOOTDIR} + + ## configure bootloader + replace @VERSION@ ${product.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg +-%if product.name == 'MSVSphere': ++%if product.name in ("MSVSphere", "MSVSphere Server"): + replace @PRODUCT@ 'МСВСфера' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg + %else: + replace @PRODUCT@ '${product.name}' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg +-- +2.43.0 + diff --git a/SOURCES/0005-Disable-geo-location.patch b/SOURCES/0005-Disable-geo-location.patch new file mode 100644 index 0000000..5923965 --- /dev/null +++ b/SOURCES/0005-Disable-geo-location.patch @@ -0,0 +1,73 @@ +From 6c23329a45a1187606cc65db9eb47c92678e06ea Mon Sep 17 00:00:00 2001 +From: tigro +Date: Fri, 22 Dec 2023 16:46:00 +0300 +Subject: [PATCH 5/7] Disable geo location + +--- + 80-rhel/efi.tmpl | 4 ++-- + 80-rhel/live/efi.tmpl | 4 ++-- + 80-rhel/live/x86.tmpl | 2 +- + 80-rhel/x86.tmpl | 2 +- + 4 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/80-rhel/efi.tmpl b/80-rhel/efi.tmpl +index 22bd0ba..c34afd0 100644 +--- a/80-rhel/efi.tmpl ++++ b/80-rhel/efi.tmpl +@@ -53,9 +53,9 @@ ${make_efiboot("images/efiboot.img")} + replace @INITRDPATH@ /${kdir}/initrd.img ${eficonf} + replace @ISOLABEL@ '${isolabel}' ${eficonf} + %if disk: +- replace @ROOT@ inst.stage2=hd:LABEL=ANACONDA ${eficonf} ++ replace @ROOT@ 'inst.stage2=hd:LABEL=ANACONDA inst.geoloc=0' ${eficonf} + %else: +- replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${eficonf} ++ replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev} inst.geoloc=0' ${eficonf} + %endif + %if efiarch32 == 'IA32': + copy ${eficonf} ${EFIBOOTDIR}/BOOT.conf +diff --git a/80-rhel/live/efi.tmpl b/80-rhel/live/efi.tmpl +index fa18025..f39c89a 100644 +--- a/80-rhel/live/efi.tmpl ++++ b/80-rhel/live/efi.tmpl +@@ -53,9 +53,9 @@ ${make_efiboot("images/efiboot.img")} + replace @ISOLABEL@ '${isolabel}' ${eficonf} + replace @EXTRA@ '${extra_boot_args}' ${eficonf} + %if disk: +- replace @ROOT@ root=live:LABEL=ANACONDA ${eficonf} ++ replace @ROOT@ 'root=live:LABEL=ANACONDA inst.geoloc=0' ${eficonf} + %else: +- replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${eficonf} ++ replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev} inst.geoloc=0' ${eficonf} + %endif + %if efiarch32 == 'IA32': + copy ${eficonf} ${EFIBOOTDIR}/BOOT.conf +diff --git a/80-rhel/live/x86.tmpl b/80-rhel/live/x86.tmpl +index 6209734..65ed6a3 100644 +--- a/80-rhel/live/x86.tmpl ++++ b/80-rhel/live/x86.tmpl +@@ -72,7 +72,7 @@ replace @PRODUCT@ '${product.name}' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg + replace @FLAVOR@ '' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg + %endif + replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub.conf +-replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${BOOTDIR}/isolinux.cfg ++replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev} inst.geoloc=0' ${BOOTDIR}/isolinux.cfg + replace @EXTRA@ '${extra_boot_args}' ${BOOTDIR}/isolinux.cfg + + ## convert BIOS bootloader configs to cp866 encoding +diff --git a/80-rhel/x86.tmpl b/80-rhel/x86.tmpl +index 91fd965..b9357b1 100644 +--- a/80-rhel/x86.tmpl ++++ b/80-rhel/x86.tmpl +@@ -63,7 +63,7 @@ replace @PRODUCT@ '${product.name}' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg + %endif + replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub.conf + replace @FLAVOR@ '${FLAVOR}' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg +-replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${BOOTDIR}/isolinux.cfg ++replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev} inst.geoloc=0' ${BOOTDIR}/isolinux.cfg + + ## convert BIOS bootloader configs to cp866 encoding + iconv 'cp866' ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg +-- +2.43.0 + diff --git a/SOURCES/0006-Update-title-color.patch b/SOURCES/0006-Update-title-color.patch new file mode 100644 index 0000000..e8facb7 --- /dev/null +++ b/SOURCES/0006-Update-title-color.patch @@ -0,0 +1,39 @@ +From 2ba3ddfa56185697880bd87d9313c5d6dbab5c66 Mon Sep 17 00:00:00 2001 +From: tigro +Date: Fri, 22 Dec 2023 16:47:31 +0300 +Subject: [PATCH 6/7] Update title color + +--- + 80-rhel/config_files/x86/isolinux.cfg | 2 +- + 80-rhel/live/config_files/x86/isolinux.cfg | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/80-rhel/config_files/x86/isolinux.cfg b/80-rhel/config_files/x86/isolinux.cfg +index 698695a..3025eaa 100644 +--- a/80-rhel/config_files/x86/isolinux.cfg ++++ b/80-rhel/config_files/x86/isolinux.cfg +@@ -25,7 +25,7 @@ menu color border * #00000000 #00000000 none + menu color sel 0 #ffffffff #00000000 none + + # Title bar +-menu color title 0 #ff7ba3d0 #00000000 none ++menu color title 0 #ffcc00cc #00000000 none + + # Press [Tab] message + menu color tabmsg 0 #ff3a6496 #00000000 none +diff --git a/80-rhel/live/config_files/x86/isolinux.cfg b/80-rhel/live/config_files/x86/isolinux.cfg +index a2253ca..ccd2707 100644 +--- a/80-rhel/live/config_files/x86/isolinux.cfg ++++ b/80-rhel/live/config_files/x86/isolinux.cfg +@@ -23,7 +23,7 @@ menu color border * #00000000 #00000000 none + menu color sel 0 #ffffffff #00000000 none + + # Title bar +-menu color title 0 #ff7ba3d0 #00000000 none ++menu color title 0 #ffcc00cc #00000000 none + + # Press [Tab] message + menu color tabmsg 0 #ff3a6496 #00000000 none +-- +2.43.0 + diff --git a/SOURCES/0007-Add-sphere-licenses-to-live-media.patch b/SOURCES/0007-Add-sphere-licenses-to-live-media.patch new file mode 100644 index 0000000..a7fc1b5 --- /dev/null +++ b/SOURCES/0007-Add-sphere-licenses-to-live-media.patch @@ -0,0 +1,25 @@ +From deda2347d8070c033c14e707f238b1bd48c6de96 Mon Sep 17 00:00:00 2001 +From: tigro +Date: Fri, 22 Dec 2023 16:48:22 +0300 +Subject: [PATCH 7/7] Add sphere licenses to live media + +--- + 80-rhel/live/x86.tmpl | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/80-rhel/live/x86.tmpl b/80-rhel/live/x86.tmpl +index 65ed6a3..43cb004 100644 +--- a/80-rhel/live/x86.tmpl ++++ b/80-rhel/live/x86.tmpl +@@ -138,7 +138,7 @@ hardlink ${KERNELDIR}/initrd.img ${BOOTDIR} + %endfor + + # Add the license files +-%for f in glob("/usr/share/licenses/*-release/*"): ++%for f in glob("/usr/share/sphere-release/EULA"): + install ${f} ${f|basename} + <% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %> + %endfor +-- +2.43.0 + diff --git a/SPECS/lorax-templates-rhel.spec b/SPECS/lorax-templates-rhel.spec index 832ab91..dcf742b 100644 --- a/SPECS/lorax-templates-rhel.spec +++ b/SPECS/lorax-templates-rhel.spec @@ -1,25 +1,32 @@ -Name: lorax-templates-rhel +Name: lorax-templates-msvsphere Version: 8.7 Release: 1%{?dist} -Summary: RHEL8 build templates for lorax and livemedia-creator +Summary: MSVSphere build templates for lorax and livemedia-creator License: GPLv2+ URL: https://github.com/weldr/lorax BuildArch: noarch Source0: lorax-templates-rhel-8.7-1.tar.gz +Patch1: 0001-Remove-RHEL-specific-packages.patch +Patch2: 0002-Disable-oscap-anaconda-addon-install.patch +Patch3: 0003-Translate-installation-image-bootloader-to-Russian.patch +Patch4: 0004-Translate-live-image-bootloader-to-Russian.patch +Patch5: 0005-Disable-geo-location.patch +Patch6: 0006-Update-title-color.patch +Patch7: 0007-Add-sphere-licenses-to-live-media.patch # Required for the template branding support -Requires: lorax > 28.14.68 +Requires: lorax >= 28.14.70-1.el8.inferit.1 # Where are these supposed to end up? -%define templatedir %{_datadir}/lorax/templates.d/80-rhel +%define templatedir %{_datadir}/lorax/templates.d/70-msvsphere %description -RHEL-specific Lorax templates for creating the boot.iso and live isos are +MSVSphere 8 Lorax templates for creating the boot.iso and live isos are placed in %{templatedir} %prep -%setup +%autosetup -p1 -n lorax-templates-rhel-%{version} %build # nothing to build @@ -34,6 +41,16 @@ cp -a 80-rhel/* $RPM_BUILD_ROOT/%{templatedir} %{templatedir}/* %changelog +* Fri Dec 22 2023 Arkady L. Shane - 8.7-1 +- Rename package to lorax-templates-msvsphere +- Copy only EULA on live +- Added sphere licenses to live media +- Update title color +- Added translation to bootloader +- Added proper image type identification for BaseOS and Minimal variants +- Disable geo location +- Copy font to live + * Wed Jul 26 2023 MSVSphere Packaging Team - 8.7-1 - Rebuilt for MSVSphere 8.8