diff --git a/0001-add-BOOTLOONGARCH64.EFI-for-anaconda-to-support-new-firmware.patch b/0001-add-BOOTLOONGARCH64.EFI-for-anaconda-to-support-new-firmware.patch new file mode 100644 index 0000000000000000000000000000000000000000..db6d0134aae844484e73d8e1cd89a038dbf2d4a3 --- /dev/null +++ b/0001-add-BOOTLOONGARCH64.EFI-for-anaconda-to-support-new-firmware.patch @@ -0,0 +1,28 @@ +From 32ce8b0208a1685a8780d0c8a87b42c15708178a Mon Sep 17 00:00:00 2001 +From: Wenlong Zhang +Date: Wed, 3 Aug 2022 10:46:13 +0800 +Subject: [PATCH] add BOOTLOONGARCH64.EFI for anaconda to support new firmware + +--- + pyanaconda/modules/storage/bootloader/efi.py | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/pyanaconda/modules/storage/bootloader/efi.py b/pyanaconda/modules/storage/bootloader/efi.py +index d83ed2e..6a12e5e 100644 +--- a/pyanaconda/modules/storage/bootloader/efi.py ++++ b/pyanaconda/modules/storage/bootloader/efi.py +@@ -188,6 +188,11 @@ class LOONGARCHEFIGRUB(EFIGRUB): + raise BootLoaderError("Failed to set new efi boot target. This is most " + "likely a kernel or firmware bug.") + ++ rc = util.execInSysroot("cp", ["-a", "/boot/efi/EFI/anolis/" + self._efi_binary, "/boot/efi/EFI/BOOT/" + "BOOTLOONGARCH64.EFI"]) ++ if rc: ++ raise BootLoaderError("Failed to set new efi boot target for new BIOS. This is most " ++ "likely a kernel or firmware bug.") ++ + def add_efi_boot_target(self): + if self.stage1_device.type == "partition": # pylint: disable=no-member + self._add_single_efi_boot_target(self.stage1_device) # pylint: disable=no-member +-- +2.27.0 + diff --git a/0001-install-rebrand-to-anolis.patch b/0001-install-rebrand-to-anolis.patch new file mode 100644 index 0000000000000000000000000000000000000000..f995788dd66af89a1717718c39300bbd2bd8cdc7 --- /dev/null +++ b/0001-install-rebrand-to-anolis.patch @@ -0,0 +1,14109 @@ +diff --git a/data/liveinst/gnome/rhel-welcome.desktop b/data/liveinst/gnome/rhel-welcome.desktop +index 8f81a1b..03dbce2 100644 +--- a/data/liveinst/gnome/rhel-welcome.desktop ++++ b/data/liveinst/gnome/rhel-welcome.desktop +@@ -1,5 +1,5 @@ + [Desktop Entry] +-Name=Welcome to Red Hat Enterprise Linux ++Name=Welcome to Anolis OS + Exec=/usr/share/anaconda/gnome/rhel-welcome + Terminal=false + Type=Application +diff --git a/data/liveinst/gnome/rhel-welcome.js b/data/liveinst/gnome/rhel-welcome.js +index 7b6df63..e8209cf 100755 +--- a/data/liveinst/gnome/rhel-welcome.js ++++ b/data/liveinst/gnome/rhel-welcome.js +@@ -59,7 +59,7 @@ const WelcomeWindow = new Lang.Class({ + default_width: 600, + default_height: 550, + skip_taskbar_hint: true, +- title: _("Welcome to Red Hat Enterprise Linux"), ++ title: _("Welcome to Anolis OS"), + window_position: Gtk.WindowPosition.CENTER }); + this.window.connect('key-press-event', Lang.bind(this, + function(w, event) { +@@ -104,7 +104,7 @@ const WelcomeWindow = new Lang.Class({ + let installButton = new Gtk.Button({ child: installContent }); + buttonBox.add(installButton); + +- this._label = makeLabel(_("You are currently running Red Hat Enterprise Linux from live media.\nYou can install Red Hat Enterprise Linux now, or choose \"Install to Hard Drive\" in the Activities Overview at any later time."), false); ++ this._label = makeLabel(_("You are currently running Anolis OS from live media.\nYou can install Anolis OS now, or choose \"Install to Hard Drive\" in the Activities Overview at any later time."), false); + mainGrid.add(this._label); + + installButton.connect('clicked', Lang.bind(this, +diff --git a/docs/intro.rst b/docs/intro.rst +index bbaf74f..6c1024e 100644 +--- a/docs/intro.rst ++++ b/docs/intro.rst +@@ -2,7 +2,7 @@ Introduction to Anaconda + ======================== + + Anaconda is the installation program used by Fedora, Red Hat Enterprise Linux +-and some other distributions. ++Anolis OS and some other distributions. + + During installation, a target computer's hardware is identified and configured + and the appropriate file systems for the system's architecture are created. +diff --git a/docs/iscsi.rst b/docs/iscsi.rst +index 847078d..ff73f06 100644 +--- a/docs/iscsi.rst ++++ b/docs/iscsi.rst +@@ -139,7 +139,7 @@ If for some reason the DeviceTree fails at recognizing iscsi devices as such, + The booting problems are either due to incorrectly generated dracut boot + arguments or they are simply dracut bugs. + +-Note that many of the iscsi adapters are installed in different Red Hat machines ++Note that many of the iscsi adapters are installed in different Anolis machines + and so the issues can often be reproduced and debugged. + + +diff --git a/po/af.po b/po/af.po +index bd95d9b..f7665f9 100644 +--- a/po/af.po ++++ b/po/af.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -392,7 +392,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -638,7 +638,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1587,7 +1587,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1651,11 +1651,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1675,7 +1675,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1830,7 +1830,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3808,7 +3808,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3954,9 +3954,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4966,7 +4966,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5454,7 +5454,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5511,16 +5511,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6789,7 +6789,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6798,8 +6798,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/am.po b/po/am.po +index 756e2d2..4c221d0 100644 +--- a/po/am.po ++++ b/po/am.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -392,7 +392,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -638,7 +638,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1587,7 +1587,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1651,11 +1651,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1675,7 +1675,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1830,7 +1830,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3808,7 +3808,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3954,9 +3954,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4966,7 +4966,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5454,7 +5454,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5511,16 +5511,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6789,7 +6789,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6798,8 +6798,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/ar.po b/po/ar.po +index 7c14111..01891a1 100644 +--- a/po/ar.po ++++ b/po/ar.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -445,7 +445,7 @@ msgid "Running pre-installation scripts" + msgstr "يجري تنفيذ مخطوطات قبل التثبيت" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "تجري تهيئة اشتراك ريد هات" + + #: pyanaconda/installation.py:94 +@@ -718,7 +718,7 @@ msgstr "غير قادر علر تشفير كلمة المرور: خوارزمي + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1690,7 +1690,7 @@ msgstr "تم تعيين كلمة المرور بواسطة kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "ا_تصل بريدهات" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1754,11 +1754,11 @@ msgid "Usage: {}" + msgstr "الاستخدام: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "متصل بريدهات إنسايتس" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "غير متصل بريدهات إنسايتس" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1778,7 +1778,7 @@ msgid "{} subscriptions attached to the system" + msgstr "هناك {} اشتراك/اشتراكات مرتبطة بالنظام" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "رجاءً فعّل الوصول للشبكة قبل الاتصال بريدهات." + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1949,7 +1949,7 @@ msgid "Error checking software dependencies" + msgstr "خطأ في فحص اعتماديات البرمجيات" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4036,7 +4036,7 @@ msgid "Local media" + msgstr "وسيط محلّي" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4194,12 +4194,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + "هذا العتاد ( أو مجموعة منه ) غير مدعوم بواسطة ريدهات. لمزيد من المعلومات عن " +-"العتاد المدعوم ، ادخل إلى http://www.redhat.com/hardware." ++"العتاد المدعوم ، ادخل إلى http://eco.openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5251,7 +5251,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5741,7 +5741,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5798,16 +5798,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7108,7 +7108,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7117,8 +7117,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/as.po b/po/as.po +index 464e812..c3bc1ab 100644 +--- a/po/as.po ++++ b/po/as.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -438,7 +438,7 @@ msgid "Running pre-installation scripts" + msgstr "ইনস্টলৰ প্ৰাক্কালৰ স্ক্ৰিপ্ট সঞ্চালিত হৈছে" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -728,7 +728,7 @@ msgstr "পাছৱৰ্ড ইনক্ৰিপ্ট কৰিবলে অ + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "বুট ল'ডাৰ ইনস্টল কৰোতে নিম্নলিখিত ত্ৰুটি হল। চিস্টেম বুটৰ অযোগ্য হব। আপুনি ইয়াক " +@@ -1709,7 +1709,7 @@ msgstr "পাছৱৰ্ড kickstart দ্বাৰা সংহতি ক + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1773,11 +1773,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1797,7 +1797,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1971,7 +1971,7 @@ msgid "Error checking software dependencies" + msgstr "চফ্টৱেৰ নিৰ্ভৰতাসমূহ নিৰীক্ষণ কৰোতে ত্ৰুটি" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4171,7 +4171,7 @@ msgid "Local media" + msgstr "স্থানীয় মাধ্যম" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4329,9 +4329,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5379,7 +5379,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5880,7 +5880,7 @@ msgid "_Reset All" + msgstr "সকলো পুনৰ সংহতি কৰক (_R)" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5937,16 +5937,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7260,7 +7260,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7269,8 +7269,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/ast.po b/po/ast.po +index b32197e..28aef7c 100644 +--- a/po/ast.po ++++ b/po/ast.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -409,7 +409,7 @@ msgid "Running pre-installation scripts" + msgstr "Executando los scripts de pre-instalación" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -655,7 +655,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1604,7 +1604,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1668,11 +1668,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1692,7 +1692,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1847,7 +1847,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3830,7 +3830,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3976,9 +3976,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4988,7 +4988,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5476,7 +5476,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5533,16 +5533,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6811,7 +6811,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6820,8 +6820,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/be.po b/po/be.po +index a0cd694..c9c0496 100644 +--- a/po/be.po ++++ b/po/be.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -7,7 +7,7 @@ + # dcantrel , 2011 + # Dimitris Glezos , 2011 + # Belarusian translations for anaconda. +-# Copyright (C) 2018 Red Hat, Inc. ++# Copyright (C) 2018 Anolis, Inc. + # This file is distributed under the same license as the anaconda package. + # Viktar Siarheichyk , 2018. #zanata + # Viktar Siarheichyk , 2019. #zanata +@@ -482,7 +482,7 @@ msgid "Running pre-installation scripts" + msgstr "Запуск скрыптаў перад інсталяцыяй" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -821,7 +821,7 @@ msgstr "Не атрымалася зашыфраваць пароль: не па + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "Падчас інсталяцыі пачатковай праграмы адбылася наступная памылка. Сістэма не " +@@ -1840,7 +1840,7 @@ msgstr "Гэты пароль усталяваны праз kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1906,11 +1906,11 @@ msgid "Usage: {}" + msgstr "Карыстанне" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1930,7 +1930,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -2128,7 +2128,7 @@ msgid "Error checking software dependencies" + msgstr "Памылка падчас праверкі залежнасцяў праграмаў" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4455,8 +4455,8 @@ msgid "Local media" + msgstr "Лакальны носьбіт" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4624,12 +4624,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Гэтае абсталяванне (ці яго камбінацыя) не падтрымваецца Red Hat. " +-"Падрабязнасці наконт падтрыманага абсталявання на http://www.redhat.com/" ++"Гэтае абсталяванне (ці яго камбінацыя) не падтрымваецца Anolis. " ++"Падрабязнасці наконт падтрыманага абсталявання на http://eco.com/" + "hardware." + + #: pyanaconda/core/constants.py:170 +@@ -5705,7 +5705,7 @@ msgstr "Носьбіт інсталяцыі праз SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -6208,7 +6208,7 @@ msgid "_Reset All" + msgstr "Усё а_нуляваць" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -6265,16 +6265,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7604,8 +7604,8 @@ msgstr "Наладка інсталяцыі Live" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Вітаем у сістэме Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Вітаем у сістэме Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7613,12 +7613,12 @@ msgstr "Паспрабуй RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Цяпер вы запусцілі Red Hat Enterprise Linux з live носьбіта. Можна зараз " +-"інсталяваць Red Hat Enterprise Linux альбо у любы пазнейшы час пазначце " ++"Цяпер вы запусцілі Anolis OS з live носьбіта. Можна зараз " ++"інсталяваць Anolis OS альбо у любы пазнейшы час пазначце " + "\"Інсталяваць на цвёрды дыск\" у аглядзе дзеянняў." + + #: data/liveinst/gnome/rhel-welcome.js:127 +diff --git a/po/bg.po b/po/bg.po +index 6139dc8..8c38c2d 100644 +--- a/po/bg.po ++++ b/po/bg.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -470,8 +470,8 @@ msgid "Running pre-installation scripts" + msgstr "Изпълнение скриптове предхождащи инсталирането" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Конфигуриране на Red Hat subscription" ++msgid "Configuring Anolis subscription" ++msgstr "Конфигуриране на Anolis subscription" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -781,7 +781,7 @@ msgstr "Не мога да криптирам паролата: неподдър + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "Следната грешка възникна при инсталирането на зареждащата програма. " +@@ -1773,7 +1773,7 @@ msgstr "Паролата беше зададена от kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1837,11 +1837,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1861,7 +1861,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -2053,7 +2053,7 @@ msgid "Error checking software dependencies" + msgstr "Грешка при проверката на софтуерните зависимости" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4318,7 +4318,7 @@ msgid "Local media" + msgstr "Локална медия" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4476,9 +4476,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5530,7 +5530,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -6031,7 +6031,7 @@ msgid "_Reset All" + msgstr "Анули_рай всичко" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -6088,16 +6088,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7413,7 +7413,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7422,8 +7422,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/bn.po b/po/bn.po +index 46fdd85..ab90bfa 100644 +--- a/po/bn.po ++++ b/po/bn.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -435,7 +435,7 @@ msgid "Running pre-installation scripts" + msgstr "ইনস্টলেশনের প্রাক্কালের স্ক্রিপ্ট সঞ্চালিত হচ্ছে" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -701,7 +701,7 @@ msgstr "" + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "বুট লোডার ইনস্টল করার সময় নিম্নলিখিত ত্রুটি ঘটেছে। সিস্টেমটি বুটেবল হবে না। আপনি কি " +@@ -1652,7 +1652,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1716,11 +1716,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1740,7 +1740,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1895,7 +1895,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3984,7 +3984,7 @@ msgid "Local media" + msgstr "স্থানীয় মিডিয়া" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "রেড হ্যাট সিডিএন" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4130,9 +4130,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5142,7 +5142,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5630,7 +5630,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5687,16 +5687,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6965,7 +6965,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6974,8 +6974,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/bn_IN.po b/po/bn_IN.po +index 8cfc592..864855e 100644 +--- a/po/bn_IN.po ++++ b/po/bn_IN.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -451,7 +451,7 @@ msgid "Running pre-installation scripts" + msgstr "ইনস্টলেশনের প্রাক্কালের স্ক্রিপ্ট সঞ্চালিত হচ্ছে" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -740,7 +740,7 @@ msgstr "পাসওয়ার্ড এনক্রিপ্ট করা গে + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "বুট লোডার ইনস্টলের সময়ে নিম্নলিখিত ত্রুটি দেখা দিয়েছে। সিস্টেম বুটযোগ্য হবে না। " +@@ -1724,7 +1724,7 @@ msgstr "kickstart দ্বারা পাসওয়ার্ড সেট + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1788,11 +1788,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1812,7 +1812,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1990,7 +1990,7 @@ msgid "Error checking software dependencies" + msgstr "সফ্টওয়্যারের পারস্পরিক নির্ভরশীলতা যাচাই করতে ত্রুটি" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4206,7 +4206,7 @@ msgid "Local media" + msgstr "স্থানীয় মিডিয়া" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4364,9 +4364,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5423,7 +5423,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5924,7 +5924,7 @@ msgid "_Reset All" + msgstr "সমস্ত পুনঃসেট করুন (_R)" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5981,16 +5981,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7308,7 +7308,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7317,8 +7317,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/bo.po b/po/bo.po +index c7b7d34..daf29f2 100644 +--- a/po/bo.po ++++ b/po/bo.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -390,7 +390,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -636,7 +636,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1584,7 +1584,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1648,11 +1648,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1672,7 +1672,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1827,7 +1827,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3803,7 +3803,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3949,9 +3949,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4959,7 +4959,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5447,7 +5447,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5504,16 +5504,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6782,7 +6782,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6791,8 +6791,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/bs.po b/po/bs.po +index 630462c..33cd0f0 100644 +--- a/po/bs.po ++++ b/po/bs.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -399,7 +399,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -645,7 +645,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1595,7 +1595,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1659,11 +1659,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1683,7 +1683,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1838,7 +1838,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3818,7 +3818,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3964,9 +3964,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4976,7 +4976,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5464,7 +5464,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5521,16 +5521,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6799,7 +6799,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6808,8 +6808,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/ca.po b/po/ca.po +index a70bd33..f24db8e 100644 +--- a/po/ca.po ++++ b/po/ca.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -483,7 +483,7 @@ msgid "Running pre-installation scripts" + msgstr "S'estan executant els scripts de pre-instal·lació" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -814,7 +814,7 @@ msgstr "No es pot xifrar la contrasenya: l'algorisme %s no està suportat" + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "S'ha produït el següent error mentre s'instal·lava el gestor d'arrencada. No " +@@ -1835,7 +1835,7 @@ msgstr "La contrasenya va ser establerta per kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1899,11 +1899,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1923,7 +1923,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -2126,7 +2126,7 @@ msgid "Error checking software dependencies" + msgstr "S'ha produït un error en la revisió de les dependències del programari" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4473,7 +4473,7 @@ msgid "Local media" + msgstr "Mitjà local" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4634,9 +4634,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5706,7 +5706,7 @@ msgstr "Mitjà d'instal·lació a través de SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -6208,7 +6208,7 @@ msgid "_Reset All" + msgstr "_Restableix-ho tot" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -6265,16 +6265,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7610,7 +7610,7 @@ msgstr "Ajust de la instal·lació autònoma" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7619,8 +7619,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/cs.po b/po/cs.po +index a83525b..b028f76 100644 +--- a/po/cs.po ++++ b/po/cs.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -499,8 +499,8 @@ msgid "Running pre-installation scripts" + msgstr "Spouštění předinstalačních skriptů" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Nastavování předplatného u Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "Nastavování předplatného u Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -810,10 +810,10 @@ msgstr "Nelze zašifrovat heslo: nepodporovaný algoritmus %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Během nastavování pro službu Red Hat Insights došlo k chybě. Chcete toto " ++"Během nastavování pro službu Anolis došlo k chybě. Chcete toto " + "ignorovat a pokračovat v instalaci?" + + #: pyanaconda/errors.py:275 +@@ -1810,8 +1810,8 @@ msgstr "Heslo bylo nastaveno přes kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Připojit ke službám společnosti Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Připojit ke službám společnosti Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1874,12 +1874,12 @@ msgid "Usage: {}" + msgstr "Použití: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Připojeno ke službě Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Připojeno ke službě Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Nepřipojeno ke službě Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Nepřipojeno ke službě Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1898,9 +1898,9 @@ msgid "{} subscriptions attached to the system" + msgstr "K systému jsou připojena {} předplatná" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" +-"Před připojováním ke službám společnosti Red Hat prosíme povolte přístup k " ++"Před připojováním ke službám společnosti Anolis prosíme povolte přístup k " + "síti." + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -2091,8 +2091,8 @@ msgid "Error checking software dependencies" + msgstr "Chyba při kontrole závislostí" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat služba CDN vyžaduje registraci." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis služba CDN vyžaduje registraci." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4307,8 +4307,8 @@ msgid "Local media" + msgstr "Místní média" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4470,12 +4470,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Tento hardware (nebo jeho kombinace) není firmou Red Hat podporován. Další " +-"informace o podporovaném hardware naleznete na stránce http://www.redhat.com/" ++"Tento hardware (nebo jeho kombinace) není firmou Anolis podporován. Další " ++"informace o podporovaném hardware naleznete na stránce http://eco.com/" + "hardware." + + #: pyanaconda/core/constants.py:170 +@@ -5537,8 +5537,8 @@ msgstr "Instalační médium prostřednictvím SE/HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6033,8 +6033,8 @@ msgid "_Reset All" + msgstr "_Resetovat vše" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "PŘIPOJIT K RED HAT SLUŽBÁM" ++msgid "CONNECT TO Anolis" ++msgstr "PŘIPOJIT K Anolis SLUŽBÁM" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6090,16 +6090,16 @@ msgid "Insights" + msgstr "Insights (vhledy)" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Připojit ke službě Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Připojit ke službě Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7430,8 +7430,8 @@ msgstr "Instalátor Liveinst" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Vítejte v Red Hat Enterprise Linuxu" ++msgid "Welcome to Anolis OS" ++msgstr "Vítejte v Anolis OSu" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7439,12 +7439,12 @@ msgstr "Zkuste RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Máte Red Hat Enterprise Linux spuštěný z LIVE média.\n" +-"Můžete instalovat Red Hat Enterprise Linux hned, nebo vybrat \"Instalovat na " ++"Máte Anolis OS spuštěný z LIVE média.\n" ++"Můžete instalovat Anolis OS hned, nebo vybrat \"Instalovat na " + "pevný disk\" v Přehledu Aktivit kdykoli později." + + #: data/liveinst/gnome/rhel-welcome.js:127 +diff --git a/po/cy.po b/po/cy.po +index 2576f3a..3a23f6f 100644 +--- a/po/cy.po ++++ b/po/cy.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -394,7 +394,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -640,7 +640,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1591,7 +1591,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1655,11 +1655,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1679,7 +1679,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1834,7 +1834,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3816,7 +3816,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3962,9 +3962,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4974,7 +4974,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5462,7 +5462,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5519,16 +5519,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6797,7 +6797,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6806,8 +6806,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/da.po b/po/da.po +index 90360da..d2cd311 100644 +--- a/po/da.po ++++ b/po/da.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -471,7 +471,7 @@ msgid "Running pre-installation scripts" + msgstr "Kører før-installationsskripter" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -791,10 +791,10 @@ msgstr "Kunne ikke kryptere adgangskode: ikke-understøttet algoritme %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Der opstod en fejl under konfiguration af Red Hat Insights. Vil du ignorere " ++"Der opstod en fejl under konfiguration af Anolis. Vil du ignorere " + "det og fortsætte med installationen?" + + #: pyanaconda/errors.py:275 +@@ -1796,8 +1796,8 @@ msgstr "Adgangskoden blev angivet af kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Opret forbindelse til Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Opret forbindelse til Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1860,12 +1860,12 @@ msgid "Usage: {}" + msgstr "Anvendelse: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Forbundet til Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Forbundet til Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Ikke forbundet til Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Ikke forbundet til Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1884,9 +1884,9 @@ msgid "{} subscriptions attached to the system" + msgstr "{} abonneringer vedhæftet systemet" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" +-"Aktivér venligst netværksadgang inden der oprettes forbindelse til Red Hat." ++"Aktivér venligst netværksadgang inden der oprettes forbindelse til Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2082,8 +2082,8 @@ msgid "Error checking software dependencies" + msgstr "Fejl under kontrol af softwareafhængigheder" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN kræver registrering." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN kræver registrering." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4373,8 +4373,8 @@ msgid "Local media" + msgstr "Lokalt medie" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4533,9 +4533,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5591,8 +5591,8 @@ msgstr "Installationsmedie via SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6092,8 +6092,8 @@ msgid "_Reset All" + msgstr "_Nulstil alt" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "FORBUNDET TIL RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "FORBUNDET TIL Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6149,16 +6149,16 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Forbundet til Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Forbundet til Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7480,7 +7480,7 @@ msgstr "Liveinst-opsætning" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7489,8 +7489,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/de.po b/po/de.po +index e53bf69..6bcfab9 100644 +--- a/po/de.po ++++ b/po/de.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -523,8 +523,8 @@ msgid "Running pre-installation scripts" + msgstr "Prä-Installationsskripte werden ausgeführt" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Red Hat Abonnement konfigurieren" ++msgid "Configuring Anolis subscription" ++msgstr "Anolis Abonnement konfigurieren" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -850,10 +850,10 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Bei der Konfiguration von Red Hat Insights ist ein Fehler aufgetreten. " ++"Bei der Konfiguration von Anolis ist ein Fehler aufgetreten. " + "Möchten Sie dies ignorieren und mit der Installation fortfahren?" + + #: pyanaconda/errors.py:275 +@@ -1854,8 +1854,8 @@ msgstr "Das Passwort wurde durch Kickstart festgelegt." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Verbindung zu Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Verbindung zu Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1918,12 +1918,12 @@ msgid "Usage: {}" + msgstr "Zweck: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Verbunden mit Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Verbunden mit Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Nicht mit Red Hat Insights verbunden" ++msgid "Not connected to Anolis" ++msgstr "Nicht mit Anolis verbunden" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1942,9 +1942,9 @@ msgid "{} subscriptions attached to the system" + msgstr "Es sind {} Abonnements mit diesem System verbunden" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" +-"Bitte aktivieren Sie die Netzwerkverbindung bevor Sie versuchen zu Red Hat " ++"Bitte aktivieren Sie die Netzwerkverbindung bevor Sie versuchen zu Anolis " + "zu verbinden." + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -2141,8 +2141,8 @@ msgid "Error checking software dependencies" + msgstr "Fehler beim Überprüfen der Software-Abhängigkeiten" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN erfordert Registrierung." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN erfordert Registrierung." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4391,8 +4391,8 @@ msgid "Local media" + msgstr "Lokales Medium" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4554,13 +4554,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Diese Hardware (oder eine Kombination davon) wird von Red Hat nicht " ++"Diese Hardware (oder eine Kombination davon) wird von Anolis nicht " + "unterstützt. Weitere Informationen zu unterstützter Hardware finden Sie " +-"unter http://www.redhat.com/hardware." ++"unter http://eco.openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5633,8 +5633,8 @@ msgstr "Installationsmedien über SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6129,8 +6129,8 @@ msgid "_Reset All" + msgstr "_Alles zurücksetzen" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "VERBINDEN MIT RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "VERBINDEN MIT Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6186,16 +6186,16 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Mit Red Hat _Insights verbinden" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Mit Anolis verbinden" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7549,8 +7549,8 @@ msgstr "Einstellungen Liveinst" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Willkommen bei Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Willkommen bei Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7558,11 +7558,11 @@ msgstr "Probieren Sie RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Sie können Red Hat Enterprise Linux jetzt installieren oder zu einem " ++"Sie können Anolis OS jetzt installieren oder zu einem " + "späteren Zeitpunkt in der Aktivitätenübersicht \"Auf Festplatte installieren" + "\" wählen." + +diff --git a/po/de_CH.po b/po/de_CH.po +index a3904c5..ee7d938 100644 +--- a/po/de_CH.po ++++ b/po/de_CH.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -419,7 +419,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -665,7 +665,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1614,7 +1614,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1678,11 +1678,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1702,7 +1702,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1857,7 +1857,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3835,7 +3835,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3981,9 +3981,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4994,7 +4994,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5482,7 +5482,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5539,16 +5539,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6817,7 +6817,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6826,8 +6826,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/el.po b/po/el.po +index 2e9ef98..7a1597e 100644 +--- a/po/el.po ++++ b/po/el.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -425,8 +425,8 @@ msgid "Running pre-installation scripts" + msgstr "Εκτέλεση scripts πριν την εγκατάσταση" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Ρύθμιση συνδρομής Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "Ρύθμιση συνδρομής Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -671,7 +671,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1622,8 +1622,8 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Σύνδεση στην Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Σύνδεση στην Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1686,11 +1686,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1710,7 +1710,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1865,7 +1865,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3848,8 +3848,8 @@ msgid "Local media" + msgstr "Τοπικά μέσα" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -3994,9 +3994,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5007,7 +5007,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5495,7 +5495,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5552,16 +5552,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6830,7 +6830,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6839,8 +6839,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/en_GB.po b/po/en_GB.po +index 77cbf46..0cf0b05 100644 +--- a/po/en_GB.po ++++ b/po/en_GB.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -419,7 +419,7 @@ msgid "Running pre-installation scripts" + msgstr "Running pre-installation scripts" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -665,7 +665,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1614,7 +1614,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1678,11 +1678,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1702,7 +1702,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1857,7 +1857,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3849,7 +3849,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3995,9 +3995,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5007,7 +5007,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5495,7 +5495,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5552,16 +5552,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6830,7 +6830,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6839,8 +6839,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/es.po b/po/es.po +index 81a1dd0..d61117c 100644 +--- a/po/es.po ++++ b/po/es.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -529,8 +529,8 @@ msgid "Running pre-installation scripts" + msgstr "Ejecutando secuencias de preinstalación" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Configurando suscripción a Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "Configurando suscripción a Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -845,10 +845,10 @@ msgstr "Imposible encriptar la contraseña: Algoritmo %s no soportado" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Ha ocurrido un error durante la configuración de Red Hat Insights. ¿Desearía " ++"Ha ocurrido un error durante la configuración de Anolis. ¿Desearía " + "ignorar esto y continuar con la instalación?" + + #: pyanaconda/errors.py:275 +@@ -1847,8 +1847,8 @@ msgstr "kickstart estableció la contraseña." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Conectar a Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Conectar a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1911,12 +1911,12 @@ msgid "Usage: {}" + msgstr "Utilización: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Conectado a Red Hat -Insights" ++msgid "Connected to Anolis" ++msgstr "Conectado a Anolis -Insights" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "No conectado a Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "No conectado a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1935,8 +1935,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} suscripciones asociadas al sistema" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Por favor habilite el acceso a red antes de conectar con Red Hat." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Por favor habilite el acceso a red antes de conectar con Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2132,8 +2132,8 @@ msgid "Error checking software dependencies" + msgstr "Error al verificar las dependencias del software" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "CDN de Red Hat requiere registro." ++msgid "Anolis CDN requires registration." ++msgstr "CDN de Anolis requiere registro." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4371,8 +4371,8 @@ msgid "Local media" + msgstr "Soportes locales" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "CDN de Red Hat" ++msgid "Anolis CDN" ++msgstr "CDN de Anolis" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4533,13 +4533,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Este hardware (o una combinación de ellos) no está soportada por Red Hat. " ++"Este hardware (o una combinación de ellos) no está soportada por Anolis. " + "Para obtener más información sobre el hardware admitido, por favor visite " +-"http://www.redhat.com/hardware." ++"http://eco.openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5600,8 +5600,8 @@ msgstr "Medios de instalación por SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "_CDN de Red Hat" ++msgid "Anolis" ++msgstr "_CDN de Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6096,8 +6096,8 @@ msgid "_Reset All" + msgstr "_Restablecer todo" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "CONECTAR A RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "CONECTAR A Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6153,16 +6153,16 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Conectar a Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Conectar a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7493,8 +7493,8 @@ msgstr "Ajustes para instalar desde LiveCD" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Bienvenido a Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Bienvenido a Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7502,12 +7502,12 @@ msgstr "Probar RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Actualmente está ejecutando Red Hat Enterprise Linux desde un medio vivo.\n" +-"Puede instalar Red Hat Enterprise Linux ahora, o elegir «Instalar en el " ++"Actualmente está ejecutando Anolis OS desde un medio vivo.\n" ++"Puede instalar Anolis OS ahora, o elegir «Instalar en el " + "disco duro» en el resumen de actividades en cualquier momento." + + #: data/liveinst/gnome/rhel-welcome.js:127 +@@ -7623,16 +7623,16 @@ msgstr "Iniciando instalación en el disco duro" + #~ "El instalador se cerrará." + + #~ msgid "" +-#~ "The insights-client utility needed to connect the system to Red Hat " ++#~ "The insights-client utility needed to connect the system to Anolis " + #~ "Insights is not installed on the target system. If you want to connect " +-#~ "the system to Red Hat Insights please make sure the insights-client " ++#~ "the system to Anolis please make sure the insights-client " + #~ "package gets installed.\n" + #~ "\n" + #~ "Would you like to ignore this and continue with installation?" + #~ msgstr "" + #~ "El cliente que la utilidad insights necesita para conectar el sistema a " +-#~ "Red Hat Insights no está instalado en el sistema objetivo. Si desea " +-#~ "conectar el sistema a Red Hat Insights asegúrese que el paquete cliente " ++#~ "Anolis no está instalado en el sistema objetivo. Si desea " ++#~ "conectar el sistema a Anolis asegúrese que el paquete cliente " + #~ "insights está instalado.\n" + #~ "\n" + #~ "¿Desea ignorar esto y continuar con la instalación?" +diff --git a/po/et.po b/po/et.po +index 5cadaac..8396576 100644 +--- a/po/et.po ++++ b/po/et.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -414,7 +414,7 @@ msgid "Running pre-installation scripts" + msgstr "Eelpaigalduse skriptide käivitamine" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -660,7 +660,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1610,7 +1610,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1674,11 +1674,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1698,7 +1698,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1855,7 +1855,7 @@ msgid "Error checking software dependencies" + msgstr "Viga tarkvaraliste sõltuvuste kontrollimisel" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3867,7 +3867,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4013,9 +4013,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5028,7 +5028,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5516,7 +5516,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5573,16 +5573,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6853,7 +6853,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6862,8 +6862,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/eu.po b/po/eu.po +index effe258..da29da4 100644 +--- a/po/eu.po ++++ b/po/eu.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -408,7 +408,7 @@ msgid "Running pre-installation scripts" + msgstr "Instalazio aurreko scriptak exekutatzen" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -654,7 +654,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1605,7 +1605,7 @@ msgstr "Pasahitza kickstart-ek ezarri du" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1669,11 +1669,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1693,7 +1693,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1851,7 +1851,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3841,8 +3841,8 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat-en CDNa" ++msgid "Anolis CDN" ++msgstr "Anolis-en CDNa" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -3987,9 +3987,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5001,7 +5001,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5489,7 +5489,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5546,16 +5546,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6826,7 +6826,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6835,8 +6835,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/fa.po b/po/fa.po +index 52233d5..51fbc56 100644 +--- a/po/fa.po ++++ b/po/fa.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -438,7 +438,7 @@ msgid "Running pre-installation scripts" + msgstr "اجرای اسکریپ های پیش-نصب" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -684,7 +684,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1632,7 +1632,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1696,11 +1696,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1720,7 +1720,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1875,7 +1875,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3865,7 +3865,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4017,9 +4017,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5035,7 +5035,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5523,7 +5523,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5580,16 +5580,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6858,7 +6858,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6867,8 +6867,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/fi.po b/po/fi.po +index f5ceb01..3dcaa8f 100644 +--- a/po/fi.po ++++ b/po/fi.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -479,8 +479,8 @@ msgid "Running pre-installation scripts" + msgstr "Suoritetaan asennusta edeltäviä skriptejä" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Red Hat -tilauksen määrittäminen" ++msgid "Configuring Anolis subscription" ++msgstr "Anolis -tilauksen määrittäminen" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -791,10 +791,10 @@ msgstr "Salasanaa ei voida salata: algoritmia %s ei tueta" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Red Hat Insights:ia määriteltäessä tapahtui virhe. Ohitetaanko virhe ja " ++"Anolis:ia määriteltäessä tapahtui virhe. Ohitetaanko virhe ja " + "jatketaan asennusta?" + + #: pyanaconda/errors.py:275 +@@ -1786,8 +1786,8 @@ msgstr "Kickstart asetti salasanan." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_ Yhdistä Red Hatiin" ++msgid "_Connect to Anolis" ++msgstr "_ Yhdistä Anolisiin" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1850,12 +1850,12 @@ msgid "Usage: {}" + msgstr "Käyttö: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Yhdistetty Red Hat Insights:een" ++msgid "Connected to Anolis" ++msgstr "Yhdistetty Anolis:een" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Ei yhdistetty Red Hat Insights:een" ++msgid "Not connected to Anolis" ++msgstr "Ei yhdistetty Anolis:een" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1874,8 +1874,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} järjestelmään liitettyjä tilauksia" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Ota verkkoyhteys käyttöön ennen yhteyden muodostamista Red Hatiin." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Ota verkkoyhteys käyttöön ennen yhteyden muodostamista Anolisiin." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2063,8 +2063,8 @@ msgid "Error checking software dependencies" + msgstr "Virhe tarkistettaessa ohjelmien riippuvuuksia" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN vaatii rekisteröitymisen." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN vaatii rekisteröitymisen." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4272,8 +4272,8 @@ msgid "Local media" + msgstr "Paikallinen media" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4432,12 +4432,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Red Hat ei tue tätä laitteistoa (tai laitteiden yhdistelmää). Lisätietoja " +-"tuetuista laitteistoista on osoitteessa https://www.redhat.com/hardware." ++"Anolis ei tue tätä laitteistoa (tai laitteiden yhdistelmää). Lisätietoja " ++"tuetuista laitteistoista on osoitteessa https://www.openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5497,8 +5497,8 @@ msgstr "Asennusmedia SE/_HMC:n kautta" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5991,8 +5991,8 @@ msgid "_Reset All" + msgstr "_Nollaa kaikki" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "YHDISTÄ RED HATiin" ++msgid "CONNECT TO Anolis" ++msgstr "YHDISTÄ Anolisiin" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6048,21 +6048,21 @@ msgid "Insights" + msgstr "Oivalluksia" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Yhdistä Red Hat Insights:een" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Yhdistä Anolis:een" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"Red Hat Insights pyrkii lisäämään IT-tehokkuuttasi ja nopeuttasi " ++"Anolis pyrkii lisäämään IT-tehokkuuttasi ja nopeuttasi " + "hybridiinfrastruktuurien välillä tunnistamalla ja priorisoimalla riskit, " + "hallitsemalla haavoittuvuuksia ja vaatimustenmukaisuutta sekä analysoimalla " +-"kustannuksia. Lisätietoja on Red Hat Insights -tietosivulla." ++"kustannuksia. Lisätietoja on Anolis -tietosivulla." + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 + msgid "Custom base URL" +@@ -7389,8 +7389,8 @@ msgstr "Liveinst:n asettaminen" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Tervetuloa Red Hat Enterprise Linuxiin" ++msgid "Welcome to Anolis OS" ++msgstr "Tervetuloa Anolis OSiin" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7398,12 +7398,12 @@ msgstr "Kokeile RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Käytät tällä hetkellä Red Hat Enterprise Linuxia Live-mediasta.\n" +-"Voit asentaa Red Hat Enterprise Linuxin nyt tai valita \"Asenna kiintolevylle" ++"Käytät tällä hetkellä Anolis OSia Live-mediasta.\n" ++"Voit asentaa Anolis OSin nyt tai valita \"Asenna kiintolevylle" + "\" Toiminnot:n yleiskatsauksesta milloin tahansa myöhemmin." + + #: data/liveinst/gnome/rhel-welcome.js:127 +diff --git a/po/fil.po b/po/fil.po +index 56f6b9b..8d87b2f 100644 +--- a/po/fil.po ++++ b/po/fil.po +@@ -386,7 +386,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -632,7 +632,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1581,7 +1581,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1645,11 +1645,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1669,7 +1669,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1826,7 +1826,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3900,7 +3900,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4046,9 +4046,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5064,7 +5064,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5552,7 +5552,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5609,16 +5609,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6887,7 +6887,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6896,8 +6896,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/fr.po b/po/fr.po +index 469b48d..2f43939 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -528,8 +528,8 @@ msgid "Running pre-installation scripts" + msgstr "Exécution des scripts de pré-installation" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Configuration de l’abonnement Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "Configuration de l’abonnement Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -851,10 +851,10 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Une erreur s'est produite pendant la configuration de Red Hat Insights. " ++"Une erreur s'est produite pendant la configuration de Anolis. " + "Voulez-vous ignorer cela et poursuivre l'installation ?" + + #: pyanaconda/errors.py:275 +@@ -1863,8 +1863,8 @@ msgstr "Le mot de passe a été défini par kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Connectez-vous à Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Connectez-vous à Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1927,12 +1927,12 @@ msgid "Usage: {}" + msgstr "Utilisation : {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Connecté à Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Connecté à Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Non Connecté à Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Non Connecté à Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1951,8 +1951,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} abonnements sont attachés au système" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Veuillez activer l’accès au réseau avant de vous connecter à Red Hat." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Veuillez activer l’accès au réseau avant de vous connecter à Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2148,8 +2148,8 @@ msgid "Error checking software dependencies" + msgstr "Erreur lors de la vérification des dépendances du logiciel" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Le CDN de Red Hat nécessite une inscription." ++msgid "Anolis CDN requires registration." ++msgstr "Le CDN de Anolis nécessite une inscription." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4406,8 +4406,8 @@ msgid "Local media" + msgstr "Média local" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "CDN Red Hat" ++msgid "Anolis CDN" ++msgstr "CDN Anolis" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4570,13 +4570,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + "Ce matériel (ou une combinaison de matériel) n’est pas pris en charge par " +-"Red Hat. Pour plus d'informations sur le matériel pris en charge, reportez-" +-"vous à http://www.redhat.com/hardware." ++"Anolis. Pour plus d'informations sur le matériel pris en charge, reportez-" ++"vous à http://eco.openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5648,8 +5648,8 @@ msgstr "Média d’installation via SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "_CDN Red Hat" ++msgid "Anolis" ++msgstr "_CDN Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6145,8 +6145,8 @@ msgid "_Reset All" + msgstr "Tout _réinitialiser" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "CONNECTEZ-VOUS À RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "CONNECTEZ-VOUS À Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6202,16 +6202,16 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Connecté à Red Hat Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Connecté à Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7559,8 +7559,8 @@ msgstr "Configuration de l'installation live" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Bienvenue sur Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Bienvenue sur Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7568,13 +7568,13 @@ msgstr "Essayez RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Vous êtes en train d’utiliser Red Hat Enterprise Linux depuis un média " ++"Vous êtes en train d’utiliser Anolis OS depuis un média " + "live.\n" +-"Vous pouvez installer Red Hat Enterprise Linux maintenant, ou choisir " ++"Vous pouvez installer Anolis OS maintenant, ou choisir " + "« Installer sur le disque dur » dans la vue d’ensemble des activités plus " + "tard." + +@@ -7697,16 +7697,16 @@ msgstr "Démarrage de l’installation sur le disque dur" + #~ "Le programme d'installation va maintenant s'arrêter." + + #~ msgid "" +-#~ "The insights-client utility needed to connect the system to Red Hat " ++#~ "The insights-client utility needed to connect the system to Anolis " + #~ "Insights is not installed on the target system. If you want to connect " +-#~ "the system to Red Hat Insights please make sure the insights-client " ++#~ "the system to Anolis please make sure the insights-client " + #~ "package gets installed.\n" + #~ "\n" + #~ "Would you like to ignore this and continue with installation?" + #~ msgstr "" + #~ "L'utilitaire insights-client nécessaire pour connecter le système à Red " + #~ "Hat Insights n'est pas installé sur le système cible. Si vous voulez " +-#~ "connecter le système à Red Hat Insights, veuillez vous assurer que le " ++#~ "connecter le système à Anolis, veuillez vous assurer que le " + #~ "paquet insights-client est installé.\n" + #~ "\n" + #~ "Voulez-vous ignorer cela et continuer l'installation ?" +diff --git a/po/fur.po b/po/fur.po +index 3a60def..5fe3fae 100644 +--- a/po/fur.po ++++ b/po/fur.po +@@ -449,8 +449,8 @@ msgid "Running pre-installation scripts" + msgstr "Esecuzion dai script di pre-instalazion" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Configurazion de sotscrizion di Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "Configurazion de sotscrizion di Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -755,7 +755,7 @@ msgstr "Impussibil cifrâ la password: algoritmi %s no supuartât" + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "L'erôr chi sot al è vignûr fûr dilunc la instalazion dal bootloader. Il " +@@ -1748,8 +1748,8 @@ msgstr "La password e je stade stabilide di kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Conet a Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Conet a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1812,12 +1812,12 @@ msgid "Usage: {}" + msgstr "Ûs: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Conetût a Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Conetût a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "No conetût a Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "No conetût a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1836,8 +1836,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} sotscrizions zontadis al sisteme" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Par plasê abilite l'acès de rêt prime di conetiti a Red Hat." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Par plasê abilite l'acès de rêt prime di conetiti a Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2027,8 +2027,8 @@ msgid "Error checking software dependencies" + msgstr "Erôr tal verificâ lis dipendencis dal software" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN al à bisugne de regjistrazion." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN al à bisugne de regjistrazion." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4269,8 +4269,8 @@ msgid "Local media" + msgstr "Supuart locâl" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4427,9 +4427,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5482,8 +5482,8 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5983,8 +5983,8 @@ msgid "_Reset All" + msgstr "_Ristabilìs dut" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "CONET A RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "CONET A Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6040,16 +6040,16 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Conet a Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Conet a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7367,7 +7367,7 @@ msgstr "Liveinst Setup" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7376,8 +7376,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/ga.po b/po/ga.po +index 25c5adb..3c96786 100644 +--- a/po/ga.po ++++ b/po/ga.po +@@ -390,7 +390,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -636,7 +636,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1588,7 +1588,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1652,11 +1652,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1676,7 +1676,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1831,7 +1831,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3842,7 +3842,7 @@ msgid "Local media" + msgstr "Meáin logánta" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3988,9 +3988,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5012,7 +5012,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5500,7 +5500,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5557,16 +5557,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6837,7 +6837,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6846,8 +6846,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/gl.po b/po/gl.po +index fc18cc8..0be6bc8 100644 +--- a/po/gl.po ++++ b/po/gl.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -411,7 +411,7 @@ msgid "Running pre-installation scripts" + msgstr "A executar os scripts previos á instalación" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -659,7 +659,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1615,7 +1615,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1679,11 +1679,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1703,7 +1703,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1860,7 +1860,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4021,7 +4021,7 @@ msgid "Local media" + msgstr "Medio local" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4167,9 +4167,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5191,7 +5191,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5679,7 +5679,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5736,16 +5736,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7016,7 +7016,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7025,8 +7025,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/gu.po b/po/gu.po +index 20e2970..cd9bfa5 100644 +--- a/po/gu.po ++++ b/po/gu.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -431,7 +431,7 @@ msgid "Running pre-installation scripts" + msgstr "પૂર્વ-સ્થાપન સ્ક્રિપ્ટો ચાલી રહી છે" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -684,7 +684,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1658,7 +1658,7 @@ msgstr "કિકસ્ટાર્ટ દ્દારા પાસવર્ડ + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1722,11 +1722,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1746,7 +1746,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1914,7 +1914,7 @@ msgid "Error checking software dependencies" + msgstr "સોફ્ટવેર નિર્ભરતાને ચકાસી રહ્યા હોય ત્યારે ભૂલ" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4022,7 +4022,7 @@ msgid "Local media" + msgstr "સ્થાનિક મીડિયા" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4172,9 +4172,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5215,7 +5215,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5707,7 +5707,7 @@ msgid "_Reset All" + msgstr "બધુ પુન:સુયોજિત કરો (_R)" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5764,16 +5764,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7078,7 +7078,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7087,8 +7087,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/he.po b/po/he.po +index 2dc7787..68fdc65 100644 +--- a/po/he.po ++++ b/po/he.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -466,8 +466,8 @@ msgid "Running pre-installation scripts" + msgstr "כעת בהרצת תסריטי טרום־התקנה" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "המינוי של Red Hat מוגדר" ++msgid "Configuring Anolis subscription" ++msgstr "המינוי של Anolis מוגדר" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -772,7 +772,7 @@ msgstr "אין אפשרות להצפין את הסיסמה: אלגוריתם ל + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "אירעה שגיאה במהלך התקנת מנהל האתחול. המערכת תהיה בלתי ניתנת לאתחול. להתעלם " +@@ -1754,8 +1754,8 @@ msgstr "הסיסמה נקבעה ע״י kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "הת_חברות ל־Red Hat" ++msgid "_Connect to Anolis" ++msgstr "הת_חברות ל־Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1818,12 +1818,12 @@ msgid "Usage: {}" + msgstr "שימוש: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "יש חיבור לתובנות של Red Hat" ++msgid "Connected to Anolis" ++msgstr "יש חיבור לתובנות של Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "אין חיבור לתובנות של Red Hat" ++msgid "Not connected to Anolis" ++msgstr "אין חיבור לתובנות של Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1842,8 +1842,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} מינויים מחוברים למערכת" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "נא להפעיל את הגישה לרשת בטרם ההתחברות ל־Red Hat." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "נא להפעיל את הגישה לרשת בטרם ההתחברות ל־Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2022,8 +2022,8 @@ msgid "Error checking software dependencies" + msgstr "שגיאה בבדיקת תלויות תכנה" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "ה־CDN של Red Hat דורש הרשמה." ++msgid "Anolis CDN requires registration." ++msgstr "ה־CDN של Anolis דורש הרשמה." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4151,8 +4151,8 @@ msgid "Local media" + msgstr "מדיה מקומית" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "CDN של Red Hat" ++msgid "Anolis CDN" ++msgstr "CDN של Anolis" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4309,9 +4309,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5360,8 +5360,8 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "_CDN של Red Hat" ++msgid "Anolis" ++msgstr "_CDN של Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5860,8 +5860,8 @@ msgid "_Reset All" + msgstr "_איפוס הכל" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "התחברות ל־RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "התחברות ל־Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -5917,16 +5917,16 @@ msgid "Insights" + msgstr "תובנות" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "התחברות ל_תובנות של Red Hat" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "התחברות ל_תובנות של Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7238,8 +7238,8 @@ msgstr "הכנת Liveinst" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "ברוך בואך ל־Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "ברוך בואך ל־Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7247,8 +7247,8 @@ msgstr "התנסות ב־RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/hi.po b/po/hi.po +index 632fa27..c32640b 100644 +--- a/po/hi.po ++++ b/po/hi.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -432,7 +432,7 @@ msgid "Running pre-installation scripts" + msgstr "संस्थापन पूर्व स्क्रिप्ट चला रहा है" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -685,7 +685,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1646,7 +1646,7 @@ msgstr "कूटशब्द किकस्टार्ट के द्वा + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1710,11 +1710,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1734,7 +1734,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1903,7 +1903,7 @@ msgid "Error checking software dependencies" + msgstr "सॉफ्टवेयर निर्भरता जाँचने में त्रुटि" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3962,7 +3962,7 @@ msgid "Local media" + msgstr "स्थानीय मीडिया" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4118,9 +4118,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5149,7 +5149,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5641,7 +5641,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5698,16 +5698,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7010,7 +7010,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7019,8 +7019,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/hr.po b/po/hr.po +index 10c0007..c3b7a26 100644 +--- a/po/hr.po ++++ b/po/hr.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -469,8 +469,8 @@ msgid "Running pre-installation scripts" + msgstr "Pokretanje predinstalacijskih skripti" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Podešavanje Red Hat pretplate" ++msgid "Configuring Anolis subscription" ++msgstr "Podešavanje Anolis pretplate" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -782,10 +782,10 @@ msgstr "Nemoguće enkriptirati lozinku: nepodržan algoritam %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Došlo je do greške pri Red Hat Insights podešavanju. Želite li zanemariti " ++"Došlo je do greške pri Anolis podešavanju. Želite li zanemariti " + "ovu poruku i nastaviti s instalacijom?" + + #: pyanaconda/errors.py:275 +@@ -1781,8 +1781,8 @@ msgstr "Kickstart je postavio lozinku." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Povezivanje s Red Hatom" ++msgid "_Connect to Anolis" ++msgstr "_Povezivanje s Anolisom" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1845,12 +1845,12 @@ msgid "Usage: {}" + msgstr "Upotreba: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Povezano s Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Povezano s Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Nije povezano s Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Nije povezano s Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1869,8 +1869,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} pretplata priloženo sustavu" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Omogućite mrežni pristup prije povezivanja s Red Hatom." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Omogućite mrežni pristup prije povezivanja s Anolisom." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2060,8 +2060,8 @@ msgid "Error checking software dependencies" + msgstr "Greška prilikom provjere ovisnosti softvera" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN zahtijeva registraciju." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN zahtijeva registraciju." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4259,8 +4259,8 @@ msgid "Local media" + msgstr "Lokalni medij" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4420,12 +4420,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Ovaj hardver (ili njegova kombinacija) nije podržana od strane Red Hata. Za " +-"više informacija o podržanome hardveru, posjetite http://www.redhat.com/" ++"Ovaj hardver (ili njegova kombinacija) nije podržana od strane Anolisa. Za " ++"više informacija o podržanome hardveru, posjetite http://eco.com/" + "hardware." + + #: pyanaconda/core/constants.py:170 +@@ -5482,8 +5482,8 @@ msgstr "Instalacijski medij putem SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5976,8 +5976,8 @@ msgid "_Reset All" + msgstr "_Resetiraj sve" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "POVEZIVANJE S RED HATOM" ++msgid "CONNECT TO Anolis" ++msgstr "POVEZIVANJE S AnolisOM" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6033,16 +6033,16 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Povezivanje sa Red Hat Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Povezivanje sa Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7372,8 +7372,8 @@ msgstr "Postavljanje live instalacije" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Dobrodošli u Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Dobrodošli u Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7381,12 +7381,12 @@ msgstr "Isprobajte RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Trenutno koristite Red Hat Enterprise Linux sa live medija.\n" +-"Možete instalirati Red Hat Enterprise Linux odmah, ili kasnije odabrati" ++"Trenutno koristite Anolis OS sa live medija.\n" ++"Možete instalirati Anolis OS odmah, ili kasnije odabrati" + "\"Instaliraj na čvrsti disk\" u Aktivnosti pregledu." + + #: data/liveinst/gnome/rhel-welcome.js:127 +diff --git a/po/hu.po b/po/hu.po +index 5c2528a..cef7998 100644 +--- a/po/hu.po ++++ b/po/hu.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -487,8 +487,8 @@ msgid "Running pre-installation scripts" + msgstr "Telepítés előkészítési parancsfájlok futtatása" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Red Hat előfizetés beállítása" ++msgid "Configuring Anolis subscription" ++msgstr "Anolis előfizetés beállítása" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -801,10 +801,10 @@ msgstr "Nem lehet titkosítani a jelszót: nem támogatott algoritmus: %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Hiba történt a Red Hat Insights beállítása során. Figyelmen kívül hagyja, és " ++"Hiba történt a Anolis beállítása során. Figyelmen kívül hagyja, és " + "folytata a telepítést?" + + #: pyanaconda/errors.py:275 +@@ -1798,8 +1798,8 @@ msgstr "A jelszó a kickstart fájl alapján került beállításra." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Kapcsolódás a Red Hathez" ++msgid "_Connect to Anolis" ++msgstr "_Kapcsolódás a Anolishez" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1862,12 +1862,12 @@ msgid "Usage: {}" + msgstr "Használat: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Kapcsolódva a Red Hat Insightshoz" ++msgid "Connected to Anolis" ++msgstr "Kapcsolódva a Anolishoz" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Nem kapcsolódott a Red Hat Insightshoz" ++msgid "Not connected to Anolis" ++msgstr "Nem kapcsolódott a Anolishoz" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1886,8 +1886,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} előfizetés van a rendszerhez rendelve" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Engedélyezze a hálózati elérést, mielőtt kapcsolódna a Red Hathez." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Engedélyezze a hálózati elérést, mielőtt kapcsolódna a Anolishez." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2074,8 +2074,8 @@ msgid "Error checking software dependencies" + msgstr "Hiba történt a függőségek ellenőrzésekor" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "A Red Hat CDN-hez regisztráció szükséges." ++msgid "Anolis CDN requires registration." ++msgstr "A Anolis CDN-hez regisztráció szükséges." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4291,8 +4291,8 @@ msgid "Local media" + msgstr "Helyi média" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4453,12 +4453,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Ezt a hardvert (vagy azok kombinációját) nem támogatja a Red Hat. További " +-"információkért a támogatott hardverekről, olvassa el a http://www.redhat.com/" ++"Ezt a hardvert (vagy azok kombinációját) nem támogatja a Anolis. További " ++"információkért a támogatott hardverekről, olvassa el a http://eco.com/" + "hardware oldalt." + + #: pyanaconda/core/constants.py:170 +@@ -5523,8 +5523,8 @@ msgstr "Telepítési média SE/_HMC-n keresztül" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6019,8 +6019,8 @@ msgid "_Reset All" + msgstr "Összes _visszaállítása" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "KAPCSOLÓDÁS A RED HATHEZ" ++msgid "CONNECT TO Anolis" ++msgstr "KAPCSOLÓDÁS A AnolisHEZ" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6076,21 +6076,21 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Kapcsolódás a Red Hat _Insightshoz" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Kapcsolódás a Anolishoz" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"A Red Hat Insights célja, hogy növelje az IT hatékonyságát és sebességét a " ++"A Anolis célja, hogy növelje az IT hatékonyságát és sebességét a " + "hibrid infrastruktúrák között, azáltal hogy azonosítja és priorizálja a " + "kockázatokat, kezeli a sérülékenységeket, ellenőrzi a megfelelőséget és " +-"elemzi a költségeket. További információkért keresse fel a Red Hat Insights " ++"elemzi a költségeket. További információkért keresse fel a Anolis " + "információs oldalát." + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7424,8 +7424,8 @@ msgstr "Liveinst telepítő" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Üdvözli a Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Üdvözli a Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7433,12 +7433,12 @@ msgstr "A RHEL kipróbálása" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Jelenlegi live médiáról futtatja a Red Hat Enterprise Linuxot.\n" +-"Telepítheti a Red Hat Enterprise Linuxot most, vagy válassza bármikor a " ++"Jelenlegi live médiáról futtatja a Anolis OSot.\n" ++"Telepítheti a Anolis OSot most, vagy válassza bármikor a " + "„Telepítés merevlemezre” lehetőséget a Tevékenységek áttekintőben." + + #: data/liveinst/gnome/rhel-welcome.js:127 +diff --git a/po/ia.po b/po/ia.po +index f5117a6..bd31ea6 100644 +--- a/po/ia.po ++++ b/po/ia.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -430,7 +430,7 @@ msgid "Running pre-installation scripts" + msgstr "Execution del scripts de pre-installation" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -683,7 +683,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1653,7 +1653,7 @@ msgstr "Le contrasigno era configurate per kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1717,11 +1717,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1741,7 +1741,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1915,7 +1915,7 @@ msgid "Error checking software dependencies" + msgstr "Error al controlo de dependentias de software" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4021,7 +4021,7 @@ msgid "Local media" + msgstr "Medio local" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4177,9 +4177,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5229,7 +5229,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5721,7 +5721,7 @@ msgid "_Reset All" + msgstr "_Reinitialisar toto" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5778,16 +5778,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7095,7 +7095,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7104,8 +7104,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/id.po b/po/id.po +index 317e73e..bd94871 100644 +--- a/po/id.po ++++ b/po/id.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -481,8 +481,8 @@ msgid "Running pre-installation scripts" + msgstr "Menjalankan skrip pra-instalasi" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Mengonfigurasi langganan Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "Mengonfigurasi langganan Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -796,10 +796,10 @@ msgstr "Tidak bisa mengenkripsi sandi: algoritme %s tidak didukung" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Terjadi kesalahan selama konfigurasi Red Hat Insights. Apakah Anda ingin " ++"Terjadi kesalahan selama konfigurasi Anolis. Apakah Anda ingin " + "mengabaikan ini dan melanjutkan instalasi?" + + #: pyanaconda/errors.py:275 +@@ -1785,8 +1785,8 @@ msgstr "Sandi ditata oleh kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "Menyam_bung ke Red Hat" ++msgid "_Connect to Anolis" ++msgstr "Menyam_bung ke Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1849,12 +1849,12 @@ msgid "Usage: {}" + msgstr "Penggunaan: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Tersambung ke Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Tersambung ke Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Tidak tersambung ke Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Tidak tersambung ke Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1873,8 +1873,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} langganan dicantolkan ke sistem" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Harap fungsikan akses jaringan sebelum menyambung ke Red Hat." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Harap fungsikan akses jaringan sebelum menyambung ke Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2065,8 +2065,8 @@ msgid "Error checking software dependencies" + msgstr "Kesalahan memeriksa kebergantungan perangkat lunak" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "CDN Red Hat memerlukan registrasi." ++msgid "Anolis CDN requires registration." ++msgstr "CDN Anolis memerlukan registrasi." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4270,8 +4270,8 @@ msgid "Local media" + msgstr "Media lokal" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "CDN Red Hat" ++msgid "Anolis CDN" ++msgstr "CDN Anolis" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4432,13 +4432,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Perangkat keras ini (atau kombinasinya) tidak didukung oleh Red Hat. Untuk " ++"Perangkat keras ini (atau kombinasinya) tidak didukung oleh Anolis. Untuk " + "informasi lebih lanjut tentang dukungan perangkat keras, silahkan mengacu " +-"pada http://www.redhat.com/hardware." ++"pada http://eco.openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5503,8 +5503,8 @@ msgstr "Media instalasi melalui SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "_CDN Red Hat" ++msgid "Anolis" ++msgstr "_CDN Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5998,8 +5998,8 @@ msgid "_Reset All" + msgstr "_Reset Semua" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "MENYAMBUNG KE RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "MENYAMBUNG KE Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6055,21 +6055,21 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Menyambung ke Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Menyambung ke Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"Red Hat Insights bertujuan meningkatkan efisiensi dan kecepatan IT Anda pada " ++"Anolis bertujuan meningkatkan efisiensi dan kecepatan IT Anda pada " + "infrastruktur hibrida dengan mengidentifikasi dan memprioritaskan risiko, " + "mengelola kerentanan, dan kepatuhan, serta menganalisis biaya. Untuk lebih " +-"banyak informasi, kunjungi halaman informasi Red Hat Insights." ++"banyak informasi, kunjungi halaman informasi Anolis." + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 + msgid "Custom base URL" +@@ -7399,8 +7399,8 @@ msgstr "Penyiapan Liveinst" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Selamat Datang ke Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Selamat Datang ke Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7408,12 +7408,12 @@ msgstr "Coba RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Anda kini menjalankan Red Hat Enterprise Linux dari media live.\n" +-"Anda dapat memasang Red Hat Enterprise Linux sekarang, atau pilih \"Pasang " ++"Anda kini menjalankan Anolis OS dari media live.\n" ++"Anda dapat memasang Anolis OS sekarang, atau pilih \"Pasang " + "ke Hard Disk\" dalam Ringkasan Aktivitas kapan pun nanti." + + #: data/liveinst/gnome/rhel-welcome.js:127 +@@ -7533,16 +7533,16 @@ msgstr "Memulai Instalasi ke Hard Disk" + #~ "Pemasang sekarang akan diakhiri." + + #~ msgid "" +-#~ "The insights-client utility needed to connect the system to Red Hat " ++#~ "The insights-client utility needed to connect the system to Anolis " + #~ "Insights is not installed on the target system. If you want to connect " +-#~ "the system to Red Hat Insights please make sure the insights-client " ++#~ "the system to Anolis please make sure the insights-client " + #~ "package gets installed.\n" + #~ "\n" + #~ "Would you like to ignore this and continue with installation?" + #~ msgstr "" + #~ "Utilitas insights-client yang diperlukan untuk menyambungkan sistem ke " +-#~ "Red Hat Insights tidak terpasang pada sistem target. Bila Anda ingin " +-#~ "menyambungkan sistem ke Red Hat Insights harap pastikan paket insights-" ++#~ "Anolis tidak terpasang pada sistem target. Bila Anda ingin " ++#~ "menyambungkan sistem ke Anolis harap pastikan paket insights-" + #~ "client terpasang.\n" + #~ "\n" + #~ "Apakah Anda hendak mengabaikan ini dan melanjutkan dengan instalasi?" +diff --git a/po/ilo.po b/po/ilo.po +index 2d3534e..38ef17f 100644 +--- a/po/ilo.po ++++ b/po/ilo.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -393,7 +393,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -639,7 +639,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1589,7 +1589,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1653,11 +1653,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1677,7 +1677,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1832,7 +1832,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3810,7 +3810,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3956,9 +3956,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4968,7 +4968,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5456,7 +5456,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5513,16 +5513,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6791,7 +6791,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6800,8 +6800,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/is.po b/po/is.po +index 5fa0fdd..75edb29 100644 +--- a/po/is.po ++++ b/po/is.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -393,7 +393,7 @@ msgid "Running pre-installation scripts" + msgstr "Keyri skeljaforrit fyrir uppsetningu" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -639,7 +639,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1588,7 +1588,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1652,11 +1652,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1676,7 +1676,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1831,7 +1831,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3814,7 +3814,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3960,9 +3960,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4974,7 +4974,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5462,7 +5462,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5519,16 +5519,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6799,7 +6799,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6808,8 +6808,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/it.po b/po/it.po +index 250a943..339d4fb 100644 +--- a/po/it.po ++++ b/po/it.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -501,8 +501,8 @@ msgid "Running pre-installation scripts" + msgstr "Esecuzione degli script pre-installazione" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Configurazione dell'iscrizione Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "Configurazione dell'iscrizione Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -651,7 +651,7 @@ msgid "" + "not fix it you will have to exit the installer." + msgstr "" + "Si è verificato un errore con la configurazione esistente dello storage o " +-"con le impostazioni iniziali, ad esempio un file di installazione Red Hat " ++"con le impostazioni iniziali, ad esempio un file di installazione Anolis " + "(Kickstart). Risolvi questo problema prima di proseguire con " + "l'installazione. A tale scopo è possibile utilizzare una shell tramite ctrl-" + "alt-f1 e successivamente ctrl-b 2.\n" +@@ -822,10 +822,10 @@ msgstr "Impossibile cifrare la password: algoritmo %s non supportato" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Si è verificato un errore durante la configurazione di Red Hat Insights. " ++"Si è verificato un errore durante la configurazione di Anolis. " + "Ignorare questo problema e continuare con l'installazione?" + + #: pyanaconda/errors.py:275 +@@ -1836,8 +1836,8 @@ msgstr "La password è stata impostata da kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "Connetti a Red Hat" ++msgid "_Connect to Anolis" ++msgstr "Connetti a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1900,12 +1900,12 @@ msgid "Usage: {}" + msgstr "Utilizzo: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Connesso a Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Connesso a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Non connesso a Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Non connesso a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1924,8 +1924,8 @@ msgid "{} subscriptions attached to the system" + msgstr "[] iscrizioni allegate al sistema" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Per favore collegati alla rete per connetterti a Red Hat." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Per favore collegati alla rete per connetterti a Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2120,8 +2120,8 @@ msgstr "" + "Si è verificato un errore durante il controllo delle dipendenze del software" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN richiede la registrazione." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN richiede la registrazione." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4410,8 +4410,8 @@ msgid "Local media" + msgstr "Media locale" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4577,13 +4577,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Questo hardware (o una sua combinazione) non è supportato da Red Hat. Per " ++"Questo hardware (o una sua combinazione) non è supportato da Anolis. Per " + "ulteriori informazioni sull'hardware supportato, fare riferimento a http://" +-"www.redhat.com/hardware." ++"www.openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5664,8 +5664,8 @@ msgstr "Supporto di installazione tramite SE / _HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat_CDN" ++msgid "Anolis" ++msgstr "Anolis_CDN" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6165,8 +6165,8 @@ msgid "_Reset All" + msgstr "_Reimposta tutto" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "CONNETTITI A RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "CONNETTITI A Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6222,16 +6222,16 @@ msgid "Insights" + msgstr "Approfondimenti" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Connettiti a Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Connettiti a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7577,8 +7577,8 @@ msgstr "Installazione di LiveInst" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Benvenuti su Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Benvenuti su Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7586,11 +7586,11 @@ msgstr "Prova RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"È possibile installare Red Hat Enterprise Linux ora, oppure scegliere " ++"È possibile installare Anolis OS ora, oppure scegliere " + "\"Installa su disco rigido\" nella panoramica delle attività in qualsiasi " + "momento successivo." + +diff --git a/po/ja.po b/po/ja.po +index 8a90d52..9cdc1d6 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -518,8 +518,8 @@ msgid "Running pre-installation scripts" + msgstr "インストール前スクリプトを実行中" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Red Hat サブスクリプションの設定中" ++msgid "Configuring Anolis subscription" ++msgstr "Anolis サブスクリプションの設定中" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -828,10 +828,10 @@ msgstr "パスワードを暗号化できません: サポートされていな + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Red Hat Insightsの構成中にエラーが発生しました。このエラーを無視してインス" ++"Anolisの構成中にエラーが発生しました。このエラーを無視してインス" + "トールを続行しますか?" + + #: pyanaconda/errors.py:275 +@@ -1823,8 +1823,8 @@ msgstr "Kickstart ファイルからパスワードが設定されました。" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "Red Hat に接続 (_C)" ++msgid "_Connect to Anolis" ++msgstr "Anolis に接続 (_C)" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1887,12 +1887,12 @@ msgid "Usage: {}" + msgstr "用途: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Red Hat Insights に接続しています" ++msgid "Connected to Anolis" ++msgstr "Anolis に接続しています" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Red Hat Insights に接続していません" ++msgid "Not connected to Anolis" ++msgstr "Anolis に接続していません" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1911,8 +1911,8 @@ msgid "{} subscriptions attached to the system" + msgstr "システムにサブスクリプションが {} 割り当てられています" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Red Hat に接続する前に、ネットワークアクセスを有効にしてください。" ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Anolis に接続する前に、ネットワークアクセスを有効にしてください。" + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2100,8 +2100,8 @@ msgid "Error checking software dependencies" + msgstr "ソフトウェアの依存関係をチェック中にエラー" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN には登録が必要です。" ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN には登録が必要です。" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4307,8 +4307,8 @@ msgid "Local media" + msgstr "ローカルメディア" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4469,12 +4469,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"このハードウェア (またはその組み合わせ) は、Red Hat ではサポートしていませ" +-"ん。サポート対象のハードウェアの詳細については、http://www.redhat.com/" ++"このハードウェア (またはその組み合わせ) は、Anolis ではサポートしていませ" ++"ん。サポート対象のハードウェアの詳細については、http://eco.com/" + "hardware を参照してください。" + + #: pyanaconda/core/constants.py:170 +@@ -5528,8 +5528,8 @@ msgstr "SE/_HMC を用いたインストールメディア" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6024,8 +6024,8 @@ msgid "_Reset All" + msgstr "すべてリセット(_R)" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "RED HAT に接続" ++msgid "CONNECT TO Anolis" ++msgstr "Anolis に接続" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6081,18 +6081,18 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Red Hat Insights に接続します" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Anolis に接続します" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"Red Hat Insights は、リスクを特定して優先順位を付け、脆弱性とコンプライアンス" ++"Anolis は、リスクを特定して優先順位を付け、脆弱性とコンプライアンス" + "を管理し、コストを分析することにより、ハイブリッドインフラストラクチャー全体" + "で IT の効率と速度を向上させることを目的としています。詳細については、Red " + "Hat Insights の情報ページにアクセスしてください。" +@@ -7423,8 +7423,8 @@ msgstr "Liveinst のセットアップ" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Red Hat Enterprise Linux へようこそ" ++msgid "Welcome to Anolis OS" ++msgstr "Anolis OS へようこそ" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7432,12 +7432,12 @@ msgstr "RHEL を使ってみる" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"現在、ライブメディアから Red Hat Enterprise Linux を実行しています。\n" +-"今すぐ Red Hat Enterprise Linux をインストールするか、後で「アクティビティー" ++"現在、ライブメディアから Anolis OS を実行しています。\n" ++"今すぐ Anolis OS をインストールするか、後で「アクティビティー" + "オーバービュー」内から「ハードドライブへインストール」を選択することもできま" + "す。" + +@@ -7558,16 +7558,16 @@ msgstr "ハードドライブへのインストールを開始します" + #~ "インストーラーを終了します。" + + #~ msgid "" +-#~ "The insights-client utility needed to connect the system to Red Hat " ++#~ "The insights-client utility needed to connect the system to Anolis " + #~ "Insights is not installed on the target system. If you want to connect " +-#~ "the system to Red Hat Insights please make sure the insights-client " ++#~ "the system to Anolis please make sure the insights-client " + #~ "package gets installed.\n" + #~ "\n" + #~ "Would you like to ignore this and continue with installation?" + #~ msgstr "" +-#~ "システムを Red Hat Insights に接続するために必要な insights-client ユー" ++#~ "システムを Anolis に接続するために必要な insights-client ユー" + #~ "ティリティーがターゲットシステムにインストールされていません。システムを " +-#~ "Red Hat Insights に接続する必要がある場合は、insights-client パッケージが" ++#~ "Anolis に接続する必要がある場合は、insights-client パッケージが" + #~ "インストールされていることを確認してください。\n" + #~ "\n" + #~ "これを無視してインストールを続行しますか?" +diff --git a/po/ka.po b/po/ka.po +index 95fa8e3..82636bd 100644 +--- a/po/ka.po ++++ b/po/ka.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -407,7 +407,7 @@ msgid "Running pre-installation scripts" + msgstr "დაყენებისწინა სცენარების გაშვება" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "დამატებების დაკონფიგურირება" + + #: pyanaconda/installation.py:94 +@@ -653,7 +653,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1603,7 +1603,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "დაკავშირებული" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1667,11 +1667,11 @@ msgid "Usage: {}" + msgstr "გამოყენება: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Red Hat Insights-თან მიერთება" ++msgid "Connected to Anolis" ++msgstr "Anolis-თან მიერთება" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "დაკავშირებული" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1691,7 +1691,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1846,7 +1846,7 @@ msgid "Error checking software dependencies" + msgstr "შეცდომა პროგრამული უზრუნველყოფის ურთიერთდამოკიდებულების შემოწმებისას" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3834,8 +3834,8 @@ msgid "Local media" + msgstr "ლოკალური მედია" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -3980,9 +3980,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4997,8 +4997,8 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5485,8 +5485,8 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "Red Hat -თან მიერთება" ++msgid "CONNECT TO Anolis" ++msgstr "Anolis -თან მიერთება" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -5542,16 +5542,16 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Red Hat Insights-თან მიერთება" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Anolis-თან მიერთება" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6822,7 +6822,7 @@ msgstr "Liveinst-ის დაყენება" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6831,8 +6831,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/kk.po b/po/kk.po +index a3f8067..9a5ccb0 100644 +--- a/po/kk.po ++++ b/po/kk.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -464,8 +464,8 @@ msgid "Running pre-installation scripts" + msgstr "Орнату алдындағы скриптерді орындау" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Red Hat жазылуын баптау" ++msgid "Configuring Anolis subscription" ++msgstr "Anolis жазылуын баптау" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -786,7 +786,7 @@ msgstr "Парольді шифрлеу мүмкін емес: %s алгорит + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "Жүктеушіні орнату кезінде келесі қате орын алды. Жүйе жүктелмейді. Бұны " +@@ -1778,8 +1778,8 @@ msgstr "Пароль kickstart арқылы орнатылды." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "Red Hat-қа байланы_су" ++msgid "_Connect to Anolis" ++msgstr "Anolis-қа байланы_су" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1842,12 +1842,12 @@ msgid "Usage: {}" + msgstr "Қолданылуы: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Red Hat Insights-қа байланысқан" ++msgid "Connected to Anolis" ++msgstr "Anolis-қа байланысқан" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Red Hat Insights-қа байланыспаған" ++msgid "Not connected to Anolis" ++msgstr "Anolis-қа байланыспаған" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1866,8 +1866,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} жазылу жүйеге байланысқан" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Red Hat-қа байланысу алдында желілік байланысты іске қосыңыз." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Anolis-қа байланысу алдында желілік байланысты іске қосыңыз." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2054,8 +2054,8 @@ msgid "Error checking software dependencies" + msgstr "Бағд. қамтама тәуелділіктерін тексеру сәтсіз" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN тіркелуді талап етеді." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN тіркелуді талап етеді." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4235,8 +4235,8 @@ msgid "Local media" + msgstr "Жергілікті тасушы" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4396,13 +4396,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Бұл құрылғылық қамтаманы (немесе олардың комбинациясын) Red Hat қолдамайды. " +-"Қолдауы бар құрылғылық қамтама туралы көбірек білу үшін, http://www.redhat." +-"com/hardware қараңыз." ++"Бұл құрылғылық қамтаманы (немесе олардың комбинациясын) Anolis қолдамайды. " ++"Қолдауы бар құрылғылық қамтама туралы көбірек білу үшін, http://eco." ++"openanolis.cn/#/compat/hardware қараңыз." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5478,8 +5478,8 @@ msgstr "SE/HMC арқылы ор_нату тасушысы" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5973,8 +5973,8 @@ msgid "_Reset All" + msgstr "Ба_рлығын тастау" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "RED HAT-ҚА БАЙЛАНЫСУ" ++msgid "CONNECT TO Anolis" ++msgstr "Anolis-ҚА БАЙЛАНЫСУ" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6030,16 +6030,16 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Red Hat Insights-қа қос_ылу" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Anolis-қа қос_ылу" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7365,8 +7365,8 @@ msgstr "Liveinst орнатуы" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Red Hat Enterprise Linux ішіне қош келдіңіз" ++msgid "Welcome to Anolis OS" ++msgstr "Anolis OS ішіне қош келдіңіз" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7374,12 +7374,12 @@ msgstr "RHEL қолданып көріңіз" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Сіз қазір Red Hat Enterprise Linux жүйесін тірі тасушыдан орында жатырсыз.\n" +-"Red Hat Enterprise Linux-ті қазір орнатуға болады немесе кез-келген уақытта " ++"Сіз қазір Anolis OS жүйесін тірі тасушыдан орында жатырсыз.\n" ++"Anolis OS-ті қазір орнатуға болады немесе кез-келген уақытта " + "Әрекеттерге шолу бөлімінде «Қатты дискіге орнату» командасын таңдауға болады." + + #: data/liveinst/gnome/rhel-welcome.js:127 +diff --git a/po/km.po b/po/km.po +index 13ca757..4a7ce6f 100644 +--- a/po/km.po ++++ b/po/km.po +@@ -420,7 +420,7 @@ msgid "Running pre-installation scripts" + msgstr "តំណើរការ pre-installation scripts" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -731,7 +731,7 @@ msgstr "អសមត្ថភាពencrypt ពាក្យសម្ងាត់: + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "កំហុសដែលមាននេះកើតឡើងកំឡុងពេលតំឡើង boot loader។ ប្រព័ន្ធមិនអាច boot។ " +@@ -1705,7 +1705,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1769,11 +1769,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1793,7 +1793,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1948,7 +1948,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4049,7 +4049,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4207,9 +4207,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5227,7 +5227,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5715,7 +5715,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5772,16 +5772,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7050,7 +7050,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7059,8 +7059,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/kn.po b/po/kn.po +index 63396a7..bc0324a 100644 +--- a/po/kn.po ++++ b/po/kn.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -443,7 +443,7 @@ msgid "Running pre-installation scripts" + msgstr "ಅನುಸ್ಥಾಪನಾ-ಪೂರ್ವ ಸ್ಕ್ರಿಪ್ಟ್‍ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತಿದೆ" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -734,7 +734,7 @@ msgstr "" + #| "does not exist. Would you like to ignore this group and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "'%s' ಗುಂಪನ್ನು ಅನುಸ್ಥಾಪಿಸಬೇಕು ಎಂದು ನೀವು ಸೂಚಿಸಿದ್ದೀರಿ. ಈ ಗುಂಪು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ. ನೀವು " +@@ -1706,7 +1706,7 @@ msgstr "ಗುಪ್ತಪದವನ್ನು ಕಿಕ್‌ಸ್ಟಾರ್ + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1770,11 +1770,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1794,7 +1794,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1966,7 +1966,7 @@ msgid "Error checking software dependencies" + msgstr "ತಂತ್ರಾಂಶ ಅವಲಂಬನೆಗಾಗಿ ಪರಿಶೀಲಿಸುವಲ್ಲಿ ದೋಷ" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4135,7 +4135,7 @@ msgid "Local media" + msgstr "ಸ್ಥಳೀಯ ಮಾಧ್ಯಮ" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4291,9 +4291,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5344,7 +5344,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5843,7 +5843,7 @@ msgid "_Reset All" + msgstr "ಎಲ್ಲವನ್ನೂ ಮರುಹೊಂದಿಸು (_R)" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5900,16 +5900,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7224,7 +7224,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7233,8 +7233,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/ko.po b/po/ko.po +index 736d033..57890b2 100644 +--- a/po/ko.po ++++ b/po/ko.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -482,8 +482,8 @@ msgid "Running pre-installation scripts" + msgstr "사전-설치 스크립트 실행 중" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Red Hat 서브스크립션 설정 중" ++msgid "Configuring Anolis subscription" ++msgstr "Anolis 서브스크립션 설정 중" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -789,10 +789,10 @@ msgstr "암호를 암호화 실패: 지원되지 않는 알고리즘 %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Red Hat Insights 구성 중에 오류가 발생하였습니다. 이를 무시하고 설치를 계속 " ++"Anolis 구성 중에 오류가 발생하였습니다. 이를 무시하고 설치를 계속 " + "진행하시겠습니까?" + + #: pyanaconda/errors.py:275 +@@ -1775,8 +1775,8 @@ msgstr "비밀번호가 킥스타트로 설정되었습니다." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "Red Hat에 연결(_C)" ++msgid "_Connect to Anolis" ++msgstr "Anolis에 연결(_C)" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1839,12 +1839,12 @@ msgid "Usage: {}" + msgstr "사용법: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Red Hat Insights에 연결됨" ++msgid "Connected to Anolis" ++msgstr "Anolis에 연결됨" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Red Hat Insights에 연결 안됨" ++msgid "Not connected to Anolis" ++msgstr "Anolis에 연결 안됨" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1863,8 +1863,8 @@ msgid "{} subscriptions attached to the system" + msgstr "시스템에 {} 서브스크립션이 연결 되었습니다" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Red Hat에 연결하기 전에 인터넷 연결을 활성화해주세요." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Anolis에 연결하기 전에 인터넷 연결을 활성화해주세요." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2048,8 +2048,8 @@ msgid "Error checking software dependencies" + msgstr "소프트웨어 종속성 확인 중 오류 발생" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN은 등록이 필요합니다." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN은 등록이 필요합니다." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4204,8 +4204,8 @@ msgid "Local media" + msgstr "로컬 미디어" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4365,12 +4365,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"이 하드웨어 (또는 그 조합)는 Red Hat에서 지원하지 않습니다. 지원되는 하드웨어" +-"에 대한 자세한 내용은 http://www.redhat.com/hardware를 참조하십시오." ++"이 하드웨어 (또는 그 조합)는 Anolis에서 지원하지 않습니다. 지원되는 하드웨어" ++"에 대한 자세한 내용은 http://eco.openanolis.cn/#/compat/hardware를 참조하십시오." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5419,8 +5419,8 @@ msgstr "SE/HMC를 통한 설치 미디어(_H)" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN(_C)" ++msgid "Anolis" ++msgstr "Anolis(_C)" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5912,8 +5912,8 @@ msgid "_Reset All" + msgstr "모두 재설정 (_R)" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "Red Hat에 연결" ++msgid "CONNECT TO Anolis" ++msgstr "Anolis에 연결" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -5969,20 +5969,20 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Red Hat _Insights 연결" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Anolis 연결" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"Red Hat Insights는 위험 식별과 우선 순위 지정, 취약성 관리, 규정 준수 및 비" ++"Anolis는 위험 식별과 우선 순위 지정, 취약성 관리, 규정 준수 및 비" + "용 분석에 의한 하이브리드 인프라를 통해서 당신의 IT 효율성과 속도를 높이는 것" +-"을 목표로 합니다. 더 자세한 내용은, Red Hat Insights 정보 부분을 방문하세요." ++"을 목표로 합니다. 더 자세한 내용은, Anolis 정보 부분을 방문하세요." + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 + msgid "Custom base URL" +@@ -7302,8 +7302,8 @@ msgstr "라이브설치 설정" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Red Hat Enterprise Linux에 오신 것을 환영합니다" ++msgid "Welcome to Anolis OS" ++msgstr "Anolis OS에 오신 것을 환영합니다" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7311,12 +7311,12 @@ msgstr "RHEL 사용해보기" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"현재 라이브 미디어에서 Red Hat Enterprise Linux를 실행하고 있습니다. \n" +-"지금 Red Hat Enterprise Linux를 설치하거나 나중에 '작업 개요 (Activities " ++"현재 라이브 미디어에서 Anolis OS를 실행하고 있습니다. \n" ++"지금 Anolis OS를 설치하거나 나중에 '작업 개요 (Activities " + "Overview)'에서 \"하드 드라이브에 설치\"를 통해 설치할 수 있습니다." + + #: data/liveinst/gnome/rhel-welcome.js:127 +@@ -7435,15 +7435,15 @@ msgstr "하드 드라이브에 설치를 시작합니다" + #~ "설치 프로그램을 종료합니다. " + + #~ msgid "" +-#~ "The insights-client utility needed to connect the system to Red Hat " ++#~ "The insights-client utility needed to connect the system to Anolis " + #~ "Insights is not installed on the target system. If you want to connect " +-#~ "the system to Red Hat Insights please make sure the insights-client " ++#~ "the system to Anolis please make sure the insights-client " + #~ "package gets installed.\n" + #~ "\n" + #~ "Would you like to ignore this and continue with installation?" + #~ msgstr "" +-#~ "시스템을 Red Hat Insights에 연결하는 데 필요한 insights-client 유틸리티가 " +-#~ "대상 시스템에 설치되어 있지 않습니다. 시스템을 Red Hat Insights에 연결하려" ++#~ "시스템을 Anolis에 연결하는 데 필요한 insights-client 유틸리티가 " ++#~ "대상 시스템에 설치되어 있지 않습니다. 시스템을 Anolis에 연결하려" + #~ "면 insights-client 패키지가 설치되어 있어야 합니다. \n" + #~ "\n" + #~ "이를 무시하고 설치를 계속 진행하시겠습니까?" +diff --git a/po/lt.po b/po/lt.po +index 2480240..1f11875 100644 +--- a/po/lt.po ++++ b/po/lt.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -470,8 +470,8 @@ msgid "Running pre-installation scripts" + msgstr "Vykdomi prieš-diegimo scenarijai" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Konfigūruojama Red Hat registracija" ++msgid "Configuring Anolis subscription" ++msgstr "Konfigūruojama Anolis registracija" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -779,7 +779,7 @@ msgstr "Nepavyko užšifruoti slaptažodžio: nepalaikomas algoritmas %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "RedHat Insights konfigūracijos metu įvyko klaida. Ar norite nepaisyti šio " +@@ -1773,8 +1773,8 @@ msgstr "Šį slaptažodį nustatė kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Prisijungti prie Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Prisijungti prie Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1837,12 +1837,12 @@ msgid "Usage: {}" + msgstr "Naudojimas: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Prisijungta prie Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Prisijungta prie Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Neprisijungta prie Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Neprisijungta prie Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1861,8 +1861,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} registracijos prikabintos prie sistemos" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Įjunkite tinklą prieš prisijungdami prie Red Hat." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Įjunkite tinklą prieš prisijungdami prie Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2050,8 +2050,8 @@ msgid "Error checking software dependencies" + msgstr "Klaida tikrinant programinės įrangos priklausomybes" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN reikalauja registracijos." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN reikalauja registracijos." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4240,8 +4240,8 @@ msgid "Local media" + msgstr "Vietinė laikmena" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4402,13 +4402,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Aparatinė įranga (ar jos kombinacija) nepalaikoma Red Hat. Daugiau " +-"informacijos apie palaikomą aparatinę įrangą rasite adresu http://www.redhat." +-"com/hardware." ++"Aparatinė įranga (ar jos kombinacija) nepalaikoma Anolis. Daugiau " ++"informacijos apie palaikomą aparatinę įrangą rasite adresu http://eco." ++"openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5461,8 +5461,8 @@ msgstr "Diegimas naudojant SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Had _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5955,8 +5955,8 @@ msgid "_Reset All" + msgstr "Atstatyti _viską" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "PRISIJUNGTI PRIE RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "PRISIJUNGTI PRIE Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6012,16 +6012,16 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Prisijungti prie Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Prisijungti prie Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7343,7 +7343,7 @@ msgstr "Internetinio diegimo nustatymas" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7352,8 +7352,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/lv.po b/po/lv.po +index a9bfa03..6e7af4d 100644 +--- a/po/lv.po ++++ b/po/lv.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -418,7 +418,7 @@ msgid "Running pre-installation scripts" + msgstr "Palaiž pirmsinstalēšanas skriptus" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -666,7 +666,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1616,7 +1616,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1680,11 +1680,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1704,7 +1704,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1859,7 +1859,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3848,7 +3848,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3994,9 +3994,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5006,7 +5006,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5494,7 +5494,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5551,16 +5551,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6829,7 +6829,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6838,8 +6838,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/mai.po b/po/mai.po +index ba55ffb..2d6877a 100644 +--- a/po/mai.po ++++ b/po/mai.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -408,7 +408,7 @@ msgid "Running pre-installation scripts" + msgstr "पूर्व संस्थापित स्क्रिप्ट चलाए रहल अछि" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -654,7 +654,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1603,7 +1603,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1667,11 +1667,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1691,7 +1691,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1846,7 +1846,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3826,7 +3826,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3972,9 +3972,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4984,7 +4984,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5472,7 +5472,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5529,16 +5529,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6807,7 +6807,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6816,8 +6816,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/mk.po b/po/mk.po +index bf02b8c..34a1841 100644 +--- a/po/mk.po ++++ b/po/mk.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -398,7 +398,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -644,7 +644,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1593,7 +1593,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1657,11 +1657,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1681,7 +1681,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1836,7 +1836,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3814,7 +3814,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3960,9 +3960,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4972,7 +4972,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5460,7 +5460,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5517,16 +5517,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6795,7 +6795,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6804,8 +6804,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/ml.po b/po/ml.po +index 3094b35..89aa10a 100644 +--- a/po/ml.po ++++ b/po/ml.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -429,7 +429,7 @@ msgid "Running pre-installation scripts" + msgstr "പ്രീ-ഇന്‍സ്റ്റലേഷന്‍ സ്ക്രി്‍സ്ക്ക്രിപ്റ്റുകള്‍ പ്രവര്‍ത്തിക്കുന്നു" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -677,7 +677,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1643,7 +1643,7 @@ msgstr "കിക്ക്സ്റ്റാര്‍ട്ട് രഹസ് + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1707,11 +1707,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1731,7 +1731,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1900,7 +1900,7 @@ msgid "Error checking software dependencies" + msgstr "സോഫ്റ്റ്‌വെയര്‍ ഡിപന്‍ഡന്‍സികള്‍ പരിശോധിയ്ക്കുന്നതില്‍ പിശക്" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3971,7 +3971,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4127,9 +4127,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5161,7 +5161,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5653,7 +5653,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5710,16 +5710,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7026,7 +7026,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7035,8 +7035,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/mr.po b/po/mr.po +index 7187d95..7ac1ee3 100644 +--- a/po/mr.po ++++ b/po/mr.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -435,7 +435,7 @@ msgid "Running pre-installation scripts" + msgstr "पूर्व-प्रतिष्ठापन स्क्रिप्टस् चालवत आहे" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -729,7 +729,7 @@ msgstr "पासवर्ड एंक्रिप्ट करताना अ + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "boot loader प्रतिष्ठापन वेळी खालिलप्रमाणे त्रुटी आढळली. सिस्टम boot नाही होणार. " +@@ -1694,7 +1694,7 @@ msgstr "पासवर्ड किकस्टार्टतर्फे स + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1758,11 +1758,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1782,7 +1782,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1946,7 +1946,7 @@ msgid "Error checking software dependencies" + msgstr "सॉफ्टवेअर अवलंबन तपासतेवेळी त्रुटी" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4016,7 +4016,7 @@ msgid "Local media" + msgstr "स्थानीय मिडीया" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4172,9 +4172,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5211,7 +5211,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5703,7 +5703,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5760,16 +5760,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7072,7 +7072,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7081,8 +7081,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/ms.po b/po/ms.po +index f0f5004..d61cca1 100644 +--- a/po/ms.po ++++ b/po/ms.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -393,7 +393,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -639,7 +639,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1587,7 +1587,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1651,11 +1651,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1675,7 +1675,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1830,7 +1830,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3806,7 +3806,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3952,9 +3952,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4964,7 +4964,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5452,7 +5452,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5509,16 +5509,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6787,7 +6787,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6796,8 +6796,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/my.po b/po/my.po +index 16a191b..dcac5a6 100644 +--- a/po/my.po ++++ b/po/my.po +@@ -386,7 +386,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -652,7 +652,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1600,7 +1600,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1664,11 +1664,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1688,7 +1688,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1843,7 +1843,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3833,7 +3833,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3979,9 +3979,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4989,7 +4989,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5478,7 +5478,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5535,16 +5535,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6813,7 +6813,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6822,8 +6822,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/nb.po b/po/nb.po +index 1b7e2af..0c23827 100644 +--- a/po/nb.po ++++ b/po/nb.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -417,7 +417,7 @@ msgid "Running pre-installation scripts" + msgstr "Kjører skript før installasjon" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -728,7 +728,7 @@ msgstr "Kan ikke kryptere passord: ikke støttet algoritme %s" + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "Følgende feil oppsto under installasjon av oppstartslasteren. Systemet vil " +@@ -1691,7 +1691,7 @@ msgstr "Passordet ble satt av kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1755,11 +1755,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1779,7 +1779,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1944,7 +1944,7 @@ msgid "Error checking software dependencies" + msgstr "Feil under sjekk av avhengigheter for programvare" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4094,7 +4094,7 @@ msgid "Local media" + msgstr "Lokal media" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4248,9 +4248,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5292,7 +5292,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5791,7 +5791,7 @@ msgid "_Reset All" + msgstr "_Nullstill alt" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5848,16 +5848,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7139,7 +7139,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7148,8 +7148,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/nds.po b/po/nds.po +index 82a16e9..3a574de 100644 +--- a/po/nds.po ++++ b/po/nds.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -392,7 +392,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -638,7 +638,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1587,7 +1587,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1651,11 +1651,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1675,7 +1675,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1830,7 +1830,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3808,7 +3808,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3954,9 +3954,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4964,7 +4964,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5452,7 +5452,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5509,16 +5509,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6787,7 +6787,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6796,8 +6796,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/ne.po b/po/ne.po +index 1884691..8d70c31 100644 +--- a/po/ne.po ++++ b/po/ne.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -395,7 +395,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -641,7 +641,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1590,7 +1590,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1654,11 +1654,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1678,7 +1678,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1833,7 +1833,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3811,7 +3811,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3957,9 +3957,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4969,7 +4969,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5457,7 +5457,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5514,16 +5514,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6792,7 +6792,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6801,8 +6801,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/nl.po b/po/nl.po +index a50d898..4b5a281 100644 +--- a/po/nl.po ++++ b/po/nl.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -484,8 +484,8 @@ msgid "Running pre-installation scripts" + msgstr "Uitvoeren van pre-installatiescripts" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Red Hat abonnement configureren" ++msgid "Configuring Anolis subscription" ++msgstr "Anolis abonnement configureren" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -801,10 +801,10 @@ msgstr "Versleutelen wachtwoord lukt niet: niet-ondersteund algorithme %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Tijdens de Red Hat Insights configuratie trad een fout op. Wil je dit " ++"Tijdens de Anolis configuratie trad een fout op. Wil je dit " + "negeren en doorgaan met de installatie?" + + #: pyanaconda/errors.py:275 +@@ -1805,8 +1805,8 @@ msgstr "Het wachtwoord werd ingesteld door kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Verbind met Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Verbind met Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1869,12 +1869,12 @@ msgid "Usage: {}" + msgstr "Gebruik: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Verbonden met Red Hat _Insights" ++msgid "Connected to Anolis" ++msgstr "Verbonden met Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Niet verbonden met Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Niet verbonden met Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1893,8 +1893,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} abonnementen aangesloten op het systeem" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Schakel netwerktoegang in voordat je verbinding maakt met Red Hat." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Schakel netwerktoegang in voordat je verbinding maakt met Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2085,8 +2085,8 @@ msgid "Error checking software dependencies" + msgstr "Fout bij controleren van softwareafhankelijkheden" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN vereist registratie." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN vereist registratie." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4311,8 +4311,8 @@ msgid "Local media" + msgstr "Lokale media" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4473,13 +4473,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + "Deze hardware (of een combinatie hiervan) wordt niet ondersteund door Red " +-"Hat. Voor meer informatie over ondersteunde hardware, zie http://www.redhat." +-"com/hardware." ++"Hat. Voor meer informatie over ondersteunde hardware, zie http://eco." ++"openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5547,8 +5547,8 @@ msgstr "Installatiemedia via SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6043,8 +6043,8 @@ msgid "_Reset All" + msgstr "_Reset alles" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "VERBIND MET RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "VERBIND MET Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6100,21 +6100,21 @@ msgid "Insights" + msgstr "Inzichten" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Verbind met Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Verbind met Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"Red Hat Insights heeft als doel je IT-efficiëntie en -snelheid in hybride " ++"Anolis heeft als doel je IT-efficiëntie en -snelheid in hybride " + "infrastructuren te verhogen door risico's te identificeren en te " + "prioriteren, kwetsbaarheden en compliance te beheren en kosten te " +-"analyseren. Ga voor meer informatie naar de informatiepagina van Red Hat " ++"analyseren. Ga voor meer informatie naar de informatiepagina van Anolis " + "Insights." + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7455,8 +7455,8 @@ msgstr "Liveinst instelling" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Welkom bij Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Welkom bij Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7464,12 +7464,12 @@ msgstr "Probeer RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Je draait Red Hat Enterprise Linux op dit moment vanaf live-media.\n" +-"Je kunt Red Hat Enterprise Linux nu installeren, of je kiest \"Naar harde " ++"Je draait Anolis OS op dit moment vanaf live-media.\n" ++"Je kunt Anolis OS nu installeren, of je kiest \"Naar harde " + "schijf installeren\" in het 'Activiteiten'-overzicht op een later moment." + + #: data/liveinst/gnome/rhel-welcome.js:127 +diff --git a/po/nn.po b/po/nn.po +index 44b4f19..c13e81b 100644 +--- a/po/nn.po ++++ b/po/nn.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -393,7 +393,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -639,7 +639,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1590,7 +1590,7 @@ msgstr "Passordet vart satt av kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1654,11 +1654,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1678,7 +1678,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1833,7 +1833,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3836,7 +3836,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3982,9 +3982,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4992,7 +4992,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5480,7 +5480,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5537,16 +5537,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6815,7 +6815,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6824,8 +6824,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/nso.po b/po/nso.po +index b2876e2..9cb454a 100644 +--- a/po/nso.po ++++ b/po/nso.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -392,7 +392,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -638,7 +638,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1589,7 +1589,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1653,11 +1653,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1677,7 +1677,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1832,7 +1832,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3810,7 +3810,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3956,9 +3956,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4970,7 +4970,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5458,7 +5458,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5515,16 +5515,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6793,7 +6793,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6802,8 +6802,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/or.po b/po/or.po +index 4c15f40..9fd8a84 100644 +--- a/po/or.po ++++ b/po/or.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -425,7 +425,7 @@ msgid "Running pre-installation scripts" + msgstr "ପ୍ରାକ-ସ୍ଥାପନ ସ୍କ୍ରିପ୍ଟଗୁଡ଼ିକୁ ଚଳାଉଛି" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -678,7 +678,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1646,7 +1646,7 @@ msgstr "ପ୍ରବେଶ ସଂକେତ କିକଷ୍ଟାର୍ଟ ସହ + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1710,11 +1710,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1734,7 +1734,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1903,7 +1903,7 @@ msgid "Error checking software dependencies" + msgstr "ସଫ୍ଟୱେର ନିର୍ଭୋରୋକମାନଙ୍କୁ ଯାଞ୍ଚ କରିବାରେ ତ୍ରୁଟି" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3980,7 +3980,7 @@ msgid "Local media" + msgstr "ସ୍ଥାନୀୟ ମେଡିଆ" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4136,9 +4136,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5170,7 +5170,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5662,7 +5662,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5719,16 +5719,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7033,7 +7033,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7042,8 +7042,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/pa.po b/po/pa.po +index dfb6b9b..13e5cbe 100644 +--- a/po/pa.po ++++ b/po/pa.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -443,7 +443,7 @@ msgid "Running pre-installation scripts" + msgstr "ਪੋਸਟ-ਇੰਸਟਾਲੇਸ਼ਨ ਸਕਰਿਪਟਾਂ ਚੱਲ ਰਹੀਆਂ ਹਨ" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -693,7 +693,7 @@ msgstr "ਪਾਸਵਰਡ ਇੰਕ੍ਰਿਪਟ ਕਰਨ ਲਈ ਅਸਮ + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1659,8 +1659,8 @@ msgstr "ਪਾਸਵਰਡ ਕਿੱਕਸਟਾਰਟ ਰਾਹੀਂ ਤਹਿ + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "Red Hat ਨਾਲ ਕਨੈਕਟ ਕਰੋ(_C)" ++msgid "_Connect to Anolis" ++msgstr "Anolis ਨਾਲ ਕਨੈਕਟ ਕਰੋ(_C)" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1723,11 +1723,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1747,7 +1747,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1923,7 +1923,7 @@ msgid "Error checking software dependencies" + msgstr "ਸਾਫਟਵੇਅਰ ਨਿਰਭਰਤਾ ਜਾਂਚਣ ਦੌਰਾਨ ਗਲਤੀ" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3961,7 +3961,7 @@ msgid "Local media" + msgstr "ਲੋਕਲ ਮੀਡਿਆ" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4117,9 +4117,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5140,7 +5140,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5636,7 +5636,7 @@ msgid "_Reset All" + msgstr "ਸਭ ਮੁੜ-ਸੈੱਟ ਕਰੋ(_R)" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5693,16 +5693,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7013,7 +7013,7 @@ msgstr "Liveinst ਸਥਾਪਨ" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7022,8 +7022,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/pl.po b/po/pl.po +index 8f28263..562ddaa 100644 +--- a/po/pl.po ++++ b/po/pl.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -493,8 +493,8 @@ msgid "Running pre-installation scripts" + msgstr "Wykonywanie skryptów przedinstalacyjnych" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Konfigurowanie subskrypcji Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "Konfigurowanie subskrypcji Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -809,10 +809,10 @@ msgstr "Nie można zaszyfrować hasła: nieobsługiwany algorytm %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Wystąpił następujący błąd podczas konfiguracji Red Hat Insights. Zignorować " ++"Wystąpił następujący błąd podczas konfiguracji Anolis. Zignorować " + "to i kontynuować instalację?" + + #: pyanaconda/errors.py:275 +@@ -1813,8 +1813,8 @@ msgstr "Hasło zostało ustawione przez kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Połącz z firmą Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Połącz z firmą Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1877,12 +1877,12 @@ msgid "Usage: {}" + msgstr "Użycie: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Połączono z Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Połączono z Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Nie połączono z Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Nie połączono z Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1901,8 +1901,8 @@ msgid "{} subscriptions attached to the system" + msgstr "Subskrypcje załączone do systemu: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Proszę włączyć dostęp do sieci przed połączeniem z firmą Red Hat." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Proszę włączyć dostęp do sieci przed połączeniem z firmą Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2092,8 +2092,8 @@ msgid "Error checking software dependencies" + msgstr "Błąd podczas sprawdzania zależności oprogramowania" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN wymaga rejestracji." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN wymaga rejestracji." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4321,8 +4321,8 @@ msgid "Local media" + msgstr "Lokalny nośnik" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "CDN firmy Red Hat" ++msgid "Anolis CDN" ++msgstr "CDN firmy Anolis" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4484,13 +4484,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Ten sprzęt (lub jego kombinacja) nie jest obsługiwany przez firmę Red Hat. " ++"Ten sprzęt (lub jego kombinacja) nie jest obsługiwany przez firmę Anolis. " + "Aby dowiedzieć się więcej o obsługiwanym sprzęcie, należy zobaczyć stronę " +-"http://www.redhat.com/hardware." ++"http://eco.openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5546,8 +5546,8 @@ msgstr "Nośnik instalacji przez SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "_CDN firmy Red Hat" ++msgid "Anolis" ++msgstr "_CDN firmy Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6043,8 +6043,8 @@ msgid "_Reset All" + msgstr "_Przywróć wszystko" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "POŁĄCZ Z FIRMĄ RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "POŁĄCZ Z FIRMĄ Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6100,21 +6100,21 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Połącz z Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Połącz z Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"Red Hat Insights ma na celu zwiększenie sprawności i wydajności rozwiązań IT " ++"Anolis ma na celu zwiększenie sprawności i wydajności rozwiązań IT " + "w infrastrukturach hybrydowych dzięki identyfikowaniu i ustalaniu " + "priorytetów ryzyka, zarządzaniu problemami z zabezpieczeniami i zgodności " +-"oraz analizie kosztów. Strona Red Hat Insights zawiera więcej informacji." ++"oraz analizie kosztów. Strona Anolis zawiera więcej informacji." + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 + msgid "Custom base URL" +@@ -7456,8 +7456,8 @@ msgstr "Ustawienia instalacji Live" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Witaj w systemie Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Witaj w systemie Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7465,11 +7465,11 @@ msgstr "Wypróbuj RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Obecnie system Red Hat Enterprise Linux jest uruchomiony z nośnika Live.\n" ++"Obecnie system Anolis OS jest uruchomiony z nośnika Live.\n" + "Można zainstalować go teraz lub wybrać „Instalacja na dysku twardym” na " + "ekranie podglądu w dowolnym czasie." + +@@ -7590,16 +7590,16 @@ msgstr "Rozpoczynanie instalacji na dysku twardym" + #~ "Instalator zostanie teraz zakończony." + + #~ msgid "" +-#~ "The insights-client utility needed to connect the system to Red Hat " ++#~ "The insights-client utility needed to connect the system to Anolis " + #~ "Insights is not installed on the target system. If you want to connect " +-#~ "the system to Red Hat Insights please make sure the insights-client " ++#~ "the system to Anolis please make sure the insights-client " + #~ "package gets installed.\n" + #~ "\n" + #~ "Would you like to ignore this and continue with installation?" + #~ msgstr "" +-#~ "Narzędzie insights-client wymagane do połączenia systemu z Red Hat " ++#~ "Narzędzie insights-client wymagane do połączenia systemu z Anolis " + #~ "Insights nie jest zainstalowane w systemie docelowym. Jeśli ma nastąpić " +-#~ "połączenie systemu z Red Hat Insights, to proszę upewnić się, że pakiet " ++#~ "połączenie systemu z Anolis, to proszę upewnić się, że pakiet " + #~ "insights-client zostanie zainstalowany.\n" + #~ "\n" + #~ "Zignorować to i kontynuować instalację?" +diff --git a/po/pt.po b/po/pt.po +index ea90dad..b009c23 100644 +--- a/po/pt.po ++++ b/po/pt.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -483,8 +483,8 @@ msgid "Running pre-installation scripts" + msgstr "A correr os scripts pré-instalação" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "A configurar a subscrição da Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "A configurar a subscrição da Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -792,7 +792,7 @@ msgstr "Não é possível encriptar a palavra-passe: algoritmo %s não suportado + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "Houve um erro ao instalar o gestor de arranque. O sistema não poderá " +@@ -1784,8 +1784,8 @@ msgstr "A palavra-passe foi definida pelo kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Ligar à Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Ligar à Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1848,12 +1848,12 @@ msgid "Usage: {}" + msgstr "Utilização: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Ligado à Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Ligado à Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Desligado de Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Desligado de Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1872,8 +1872,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} subscrições anexadas ao sistema" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Por favor, ativar acesso à rede antes de ligar à Red Hat." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Por favor, ativar acesso à rede antes de ligar à Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2066,8 +2066,8 @@ msgid "Error checking software dependencies" + msgstr "Ocorreu um erro ao verificar as dependências do programa" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "O CDN da Red Hat requer registo." ++msgid "Anolis CDN requires registration." ++msgstr "O CDN da Anolis requer registo." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4265,8 +4265,8 @@ msgid "Local media" + msgstr "Instalação local" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4428,12 +4428,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Este hardware (ou a combinação dele) não é suportado pela Red Hat. Para " +-"informação acerca do hardware suportado, consulte http://www.redhat.com/" ++"Este hardware (ou a combinação dele) não é suportado pela Anolis. Para " ++"informação acerca do hardware suportado, consulte http://eco.com/" + "hardware." + + #: pyanaconda/core/constants.py:170 +@@ -5488,8 +5488,8 @@ msgstr "Instalação de disco via SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5984,8 +5984,8 @@ msgid "_Reset All" + msgstr "_Reiniciar Tudo" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "LIGAR a RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "LIGAR a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6041,16 +6041,16 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Ligar a Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Ligar a Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7374,7 +7374,7 @@ msgstr "Configuração para instalar do LiveCD" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7383,8 +7383,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/pt_BR.po b/po/pt_BR.po +index 88f3a06..0c31077 100644 +--- a/po/pt_BR.po ++++ b/po/pt_BR.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -529,8 +529,8 @@ msgid "Running pre-installation scripts" + msgstr "Executando scripts de pré-instalação" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Configurando assinatura Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "Configurando assinatura Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -843,10 +843,10 @@ msgstr "Não é possível criptografar a senha: algoritmo não suportado %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Ocorreu um erro durante a configuração do Red Hat Insights. Você gostaria de " ++"Ocorreu um erro durante a configuração do Anolis. Você gostaria de " + "ignorar isso e continuar com a instalação?" + + #: pyanaconda/errors.py:275 +@@ -1838,8 +1838,8 @@ msgstr "A senha foi definida pelo kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Conectar à Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Conectar à Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1902,12 +1902,12 @@ msgid "Usage: {}" + msgstr "Uso: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Conectado ao Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Conectado ao Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Não conectado ao Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Não conectado ao Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1926,8 +1926,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} assinaturas atribuídas ao sistema" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Por favor, habilite o acesso à rede antes de conectar à Red Hat." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Por favor, habilite o acesso à rede antes de conectar à Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2119,8 +2119,8 @@ msgid "Error checking software dependencies" + msgstr "Erro ao verificar dependências de programas" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "O Red Hat CDN requer registro." ++msgid "Anolis CDN requires registration." ++msgstr "O Anolis CDN requer registro." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4341,8 +4341,8 @@ msgid "Local media" + msgstr "Mídia local" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "CDN do Red Hat" ++msgid "Anolis CDN" ++msgstr "CDN do Anolis" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4504,12 +4504,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Este hardware (ou a combinação disso) não é suportado pela Red Hat. Para " +-"mais informações sobre hardware suportado, consulte http://www.redhat.com/" ++"Este hardware (ou a combinação disso) não é suportado pela Anolis. Para " ++"mais informações sobre hardware suportado, consulte http://eco.com/" + "hardware." + + #: pyanaconda/core/constants.py:170 +@@ -5565,8 +5565,8 @@ msgstr "Mídia de instalação via SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "_CDN do Red Hat" ++msgid "Anolis" ++msgstr "_CDN do Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6061,8 +6061,8 @@ msgid "_Reset All" + msgstr "_Redefinir tudo" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "CONECTAR À RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "CONECTAR À Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6118,21 +6118,21 @@ msgid "Insights" + msgstr "Ideias" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Conectar ao Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Conectar ao Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"Insights da Red Hat busca aumentar a sua eficiência e velocidade em TI " ++"Insights da Anolis busca aumentar a sua eficiência e velocidade em TI " + "através de infraestruturas híbridas ao identificar e priorizar riscos, " + "gerenciar vulnerabilidades, e compliance, além de analizar custos. Para mais " +-"informações, visite a página de informação do Insights da Red Hat." ++"informações, visite a página de informação do Insights da Anolis." + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 + msgid "Custom base URL" +@@ -7462,8 +7462,8 @@ msgstr "Configuração Liveinst" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Bem-vindo ao Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Bem-vindo ao Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7471,12 +7471,12 @@ msgstr "Experimente RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Você está atualmente usando Red Hat Enterprise Linux de uma mídia linve.\n" +-"Você pode instalar o Red Hat Enterprise Linux agora ou escolher \"Instalar " ++"Você está atualmente usando Anolis OS de uma mídia linve.\n" ++"Você pode instalar o Anolis OS agora ou escolher \"Instalar " + "no Disco Rígido\" na Visão Geral de Atividades a qualquer momento." + + #: data/liveinst/gnome/rhel-welcome.js:127 +diff --git a/po/ro.po b/po/ro.po +index 5ee0751..3c6efb4 100644 +--- a/po/ro.po ++++ b/po/ro.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -462,7 +462,7 @@ msgid "Running pre-installation scripts" + msgstr "Se rulează scripturi post-instalare" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -793,7 +793,7 @@ msgstr "Nu se poate cripta parola: algoritm nesuportat %s" + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "S-a întâmpinat următoarea eroare la instalarea încărcătorului de sistem " +@@ -1785,7 +1785,7 @@ msgstr "Parola a fost setată de kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1849,11 +1849,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1873,7 +1873,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -2067,7 +2067,7 @@ msgid "Error checking software dependencies" + msgstr "Eroare la verificarea dependențelor software" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4398,7 +4398,7 @@ msgid "Local media" + msgstr "Medii locale" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4556,9 +4556,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5614,7 +5614,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -6115,7 +6115,7 @@ msgid "_Reset All" + msgstr "_Resetează tot" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -6172,16 +6172,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7502,7 +7502,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7511,8 +7511,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/ru.po b/po/ru.po +index 03d2b01..eac4954 100644 +--- a/po/ru.po ++++ b/po/ru.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -511,8 +511,8 @@ msgid "Running pre-installation scripts" + msgstr "Выполняются предустановочные сценарии" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Настройка подписки Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "Настройка подписки Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -823,10 +823,10 @@ msgstr "Не удается зашифровать пароль: неподде + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Произошла ошибка при настройке Red Hat Insights. Игнорировать и продолжить " ++"Произошла ошибка при настройке Anolis. Игнорировать и продолжить " + "установку?" + + #: pyanaconda/errors.py:275 +@@ -1822,8 +1822,8 @@ msgstr "Пароль был задан в kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "Под_ключиться к Red Hat" ++msgid "_Connect to Anolis" ++msgstr "Под_ключиться к Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1886,12 +1886,12 @@ msgid "Usage: {}" + msgstr "Применение: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Подключено к Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Подключено к Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Не подключено к Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Не подключено к Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1910,8 +1910,8 @@ msgid "{} subscriptions attached to the system" + msgstr "К системе прикреплено {} подписок" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Перед подключением к Red Hat включите доступ к сети." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Перед подключением к Anolis включите доступ к сети." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2100,8 +2100,8 @@ msgid "Error checking software dependencies" + msgstr "Ошибка при проверке зависимостей" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Для Red Hat CDN требуется регистрация." ++msgid "Anolis CDN requires registration." ++msgstr "Для Anolis CDN требуется регистрация." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4302,8 +4302,8 @@ msgid "Local media" + msgstr "Локальный носитель" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "CDN Red Hat" ++msgid "Anolis CDN" ++msgstr "CDN Anolis" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4465,13 +4465,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Это аппаратное обеспечение (или их комбинация) не поддерживается Red Hat. " ++"Это аппаратное обеспечение (или их комбинация) не поддерживается Anolis. " + "Для получения дополнительной информации о поддерживаемом оборудовании см. " +-"Http://www.redhat.com/hardware." ++"Http://www.openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5526,8 +5526,8 @@ msgstr "Установочный носитель через SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "_CDN Red Hat" ++msgid "Anolis" ++msgstr "_CDN Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6022,8 +6022,8 @@ msgid "_Reset All" + msgstr "_Сбросить все" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "ПОДКЛЮЧИТЬСЯ К RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "ПОДКЛЮЧИТЬСЯ К Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6079,18 +6079,18 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Подключиться к Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Подключиться к Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"Red Hat Insights направлена на повышение эффективности и скорости ИТ в " ++"Anolis направлена на повышение эффективности и скорости ИТ в " + "гибридных инфраструктурах за счет выявления и приоритизации рисков, " + "управления уязвимостями, соблюдения нормативных требований и анализа затрат. " + "Для получения дополнительной информации посетите информационную страницу Red " +@@ -7426,8 +7426,8 @@ msgstr "Настройка Liveinst" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Добро пожаловать в Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Добро пожаловать в Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7435,11 +7435,11 @@ msgstr "Попробуйте RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Вы можете установить Red Hat Enterprise Linux прямо сейчас или выбрать " ++"Вы можете установить Anolis OS прямо сейчас или выбрать " + "\"Установить на жесткий диск\" в обзоре деятельности в любое время позже." + + #: data/liveinst/gnome/rhel-welcome.js:127 +diff --git a/po/si.po b/po/si.po +index 29a25f8..d60a2aa 100644 +--- a/po/si.po ++++ b/po/si.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -415,7 +415,7 @@ msgid "Running pre-installation scripts" + msgstr "පෙර-ස්ථාපන විධානාවලි ක්‍රියාත්මක කරමින්" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -661,7 +661,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1610,7 +1610,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1674,11 +1674,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1698,7 +1698,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1853,7 +1853,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3838,7 +3838,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3984,9 +3984,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4996,7 +4996,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5484,7 +5484,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5541,16 +5541,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6819,7 +6819,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6828,8 +6828,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/sk.po b/po/sk.po +index 1cd8a03..cde29a6 100644 +--- a/po/sk.po ++++ b/po/sk.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -479,8 +479,8 @@ msgid "Running pre-installation scripts" + msgstr "Spúšťajú sa pred-inštalačné skripty" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Konfigurácia predplatného Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "Konfigurácia predplatného Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -791,10 +791,10 @@ msgstr "Nie je možné zašifrovať heslo: nepodporovaný algoritmus %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Počas konfigurácie Red Hat Insights sa vyskytla chyba. Chcete toto ignorovať " ++"Počas konfigurácie Anolis sa vyskytla chyba. Chcete toto ignorovať " + "a pokračovať v inštalácii?" + + #: pyanaconda/errors.py:275 +@@ -1782,8 +1782,8 @@ msgstr "Heslo bolo nastavené službou kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Pripojiť k Red Hatu" ++msgid "_Connect to Anolis" ++msgstr "_Pripojiť k Anolisu" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1846,12 +1846,12 @@ msgid "Usage: {}" + msgstr "Použitie: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Pripojené k Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Pripojené k Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Nepripojené k Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Nepripojené k Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1870,8 +1870,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} predplatných pripojených k systému" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Pred pripojením k Red Hatu povoľte prístup k sieti." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Pred pripojením k Anolisu povoľte prístup k sieti." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2063,8 +2063,8 @@ msgid "Error checking software dependencies" + msgstr "Chyba pri kontrolovaní závislostí softvéru" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN vyžaduje registráciu." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN vyžaduje registráciu." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4268,8 +4268,8 @@ msgid "Local media" + msgstr "Miestne médium" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4431,12 +4431,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Tento hardvér (alebo jeho kombináciu) Red Hat nepodporuje. Pre viac " +-"informácií o podporovanom hardvéri, prosím navštívte http://www.redhat.com/" ++"Tento hardvér (alebo jeho kombináciu) Anolis nepodporuje. Pre viac " ++"informácií o podporovanom hardvéri, prosím navštívte http://eco.com/" + "hardware." + + #: pyanaconda/core/constants.py:170 +@@ -5491,8 +5491,8 @@ msgstr "Inštalačné médium cez SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5987,8 +5987,8 @@ msgid "_Reset All" + msgstr "O_bnoviť všetko" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "PRIPOJENIE K RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "PRIPOJENIE K Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6044,16 +6044,16 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Pripojiť k Red Hat Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Pripojiť k Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7382,8 +7382,8 @@ msgstr "Nastavenie Liveinst" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Vitajte v Red Hat Enterprise Linuxe" ++msgid "Welcome to Anolis OS" ++msgstr "Vitajte v Anolis OSe" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7391,11 +7391,11 @@ msgstr "Vyskúšajte RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Momentálne máte spustený systém Red Hat Enterprise Linux z live média.\n" ++"Momentálne máte spustený systém Anolis OS z live média.\n" + "Môžete ho nainštalovať ihneď alebo kedykoľvek neskôr spustením odkazu " + "„Inštalovať na pevný disk“ v prehľade Aktivít." + +diff --git a/po/sl.po b/po/sl.po +index b5cd6f4..a8401af 100644 +--- a/po/sl.po ++++ b/po/sl.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -399,7 +399,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -645,7 +645,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1596,7 +1596,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1660,11 +1660,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1684,7 +1684,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1839,7 +1839,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3821,7 +3821,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3967,9 +3967,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4979,7 +4979,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5467,7 +5467,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5524,16 +5524,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6802,7 +6802,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6811,8 +6811,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/sq.po b/po/sq.po +index 986497d..6e38d7a 100644 +--- a/po/sq.po ++++ b/po/sq.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -451,7 +451,7 @@ msgid "Running pre-installation scripts" + msgstr "Po ekzekutohen skriptet e para-instalimit" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -775,7 +775,7 @@ msgstr "E pamundur të enkriptohet fjalëkalimi: algoritëm i pambështetur %s" + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "Gabimi i mëposhtëm ndodhi gjatë instalimit të ngarkuesit të nisjes. Sistemi " +@@ -1765,7 +1765,7 @@ msgstr "Fjalëkalimi u vendos nga kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1829,11 +1829,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1853,7 +1853,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -2047,7 +2047,7 @@ msgid "Error checking software dependencies" + msgstr "Gabim gjatë kontrollit të varësive të programeve" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4340,7 +4340,7 @@ msgid "Local media" + msgstr "Media lokale" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4498,9 +4498,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5555,7 +5555,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -6056,7 +6056,7 @@ msgid "_Reset All" + msgstr "_Riktheji të Gjitha" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -6113,16 +6113,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7443,7 +7443,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7452,8 +7452,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/sr.po b/po/sr.po +index dee8cf7..169c972 100644 +--- a/po/sr.po ++++ b/po/sr.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -454,7 +454,7 @@ msgid "Running pre-installation scripts" + msgstr "Извршавам скрипте пре инсталације" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -753,7 +753,7 @@ msgstr "Немогуће енкриптовати лозинку: неподрж + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "Следећа грешка се појавила током инсталирања boot loader-а. Систем се неће " +@@ -1740,7 +1740,7 @@ msgstr "Лозинка је постављена од стране kickstart-a." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1804,11 +1804,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1828,7 +1828,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -2017,7 +2017,7 @@ msgid "Error checking software dependencies" + msgstr "Грешка при провери програмских зависности" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4286,7 +4286,7 @@ msgid "Local media" + msgstr "Локални медиј" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4444,9 +4444,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5497,7 +5497,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5998,7 +5998,7 @@ msgid "_Reset All" + msgstr "_Врати све" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -6055,16 +6055,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7381,7 +7381,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7390,8 +7390,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/sr@latin.po b/po/sr@latin.po +index 7807519..43390c2 100644 +--- a/po/sr@latin.po ++++ b/po/sr@latin.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -409,7 +409,7 @@ msgid "Running pre-installation scripts" + msgstr "Izvršavam skripte pre instalacije" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -655,7 +655,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1605,7 +1605,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1669,11 +1669,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1693,7 +1693,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1848,7 +1848,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3830,7 +3830,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3976,9 +3976,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4988,7 +4988,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5476,7 +5476,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5533,16 +5533,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6811,7 +6811,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6820,8 +6820,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/sv.po b/po/sv.po +index f6d3b97..d230f0f 100644 +--- a/po/sv.po ++++ b/po/sv.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -13,7 +13,7 @@ + # Ulrika , 2012 + # Ulrika , 2012 + # Swedish translation of anaconda +-# Copyright © 2014, 2015 Red Hat, Inc. ++# Copyright © 2014, 2015 Anolis, Inc. + # This file is distributed under the same license as the anaconda package. + # Göran Uddeborg , 2011, 2014, 2015, 2020, 2021, 2022. + # Göran Uddeborg , 2015. #zanata, 2020, 2021, 2022. +@@ -478,8 +478,8 @@ msgid "Running pre-installation scripts" + msgstr "Kör förinstallationsskript" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Konfigurerar Red Hat-prenumerationer" ++msgid "Configuring Anolis subscription" ++msgstr "Konfigurerar Anolis-prenumerationer" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -795,10 +795,10 @@ msgstr "Kan inte kryptera lösenord: ej stödd algoritm %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Ett fel uppstod under Red Hat Insights-konfigurationen. Vill du bortse från " ++"Ett fel uppstod under Anolis-konfigurationen. Vill du bortse från " + "detta och fortsätta med installationen?" + + #: pyanaconda/errors.py:275 +@@ -1789,8 +1789,8 @@ msgstr "Lösenordet sattes av kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_Anslut till Red Hat" ++msgid "_Connect to Anolis" ++msgstr "_Anslut till Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1853,12 +1853,12 @@ msgid "Usage: {}" + msgstr "Användning: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Ansluten till Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "Ansluten till Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Inte ansluten till Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Inte ansluten till Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1877,8 +1877,8 @@ msgid "{} subscriptions attached to the system" + msgstr "{} prenumerationer är kopplade till systemet" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Aktivera nätverksåtkomst före anslutning till Red Hat." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Aktivera nätverksåtkomst före anslutning till Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2068,8 +2068,8 @@ msgid "Error checking software dependencies" + msgstr "Fel vid kontroll av programvaruberoenden" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN kräver registrering." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN kräver registrering." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4263,8 +4263,8 @@ msgid "Local media" + msgstr "Lokalt medium" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4425,13 +4425,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Denna hårdvara (eller kombinationen av dessa) stödjs inte av Red Hat. För " +-"mer information om hårdvaran som stödjs, vänligen kolla http://www.redhat." +-"com/hardware." ++"Denna hårdvara (eller kombinationen av dessa) stödjs inte av Anolis. För " ++"mer information om hårdvaran som stödjs, vänligen kolla http://eco." ++"openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5489,8 +5489,8 @@ msgstr "Installationsmedia via SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5985,8 +5985,8 @@ msgid "_Reset All" + msgstr "_Återställ allt" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "ANSLUT TILL RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "ANSLUT TILL Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6042,21 +6042,21 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Anslut till Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Anslut till Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"Red Hat Insights syftar till att öka IT-effektiviteten och -hastigheten över " ++"Anolis syftar till att öka IT-effektiviteten och -hastigheten över " + "hybridinfrastrukturer genom att identifiera och prioritera risker, hantera " + "sårbarheter och regelefterlevnad och analysera kostnader. För mer " +-"informatio, besök informationssidan för Red Hat Insights." ++"informatio, besök informationssidan för Anolis." + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 + msgid "Custom base URL" +@@ -7383,8 +7383,8 @@ msgstr "Liveinst-inställning" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Välkommen till Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Välkommen till Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7392,12 +7392,12 @@ msgstr "Prova RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Du kör för närvarande Red Hat Enterprise Linux från ett live-medium.\n" +-"Du kan installera Red Hat Enterprise Linux nu, eller välja ”Installera på " ++"Du kör för närvarande Anolis OS från ett live-medium.\n" ++"Du kan installera Anolis OS nu, eller välja ”Installera på " + "hårddisk” i aktivitetsöversikten vid ett senare tillfälle." + + #: data/liveinst/gnome/rhel-welcome.js:127 +@@ -7511,16 +7511,16 @@ msgstr "Påbörjar installation på hårddisk" + #~ " Installeraren kommer nu att avslutas." + + #~ msgid "" +-#~ "The insights-client utility needed to connect the system to Red Hat " ++#~ "The insights-client utility needed to connect the system to Anolis " + #~ "Insights is not installed on the target system. If you want to connect " +-#~ "the system to Red Hat Insights please make sure the insights-client " ++#~ "the system to Anolis please make sure the insights-client " + #~ "package gets installed.\n" + #~ "\n" + #~ "Would you like to ignore this and continue with installation?" + #~ msgstr "" +-#~ "Insights-klientverktyget som behövs för att ansluta systemet till Red Hat " ++#~ "Insights-klientverktyget som behövs för att ansluta systemet till Anolis " + #~ "Insights är inte installerat på målsystemet. Om du vill ansluta systemet " +-#~ "till Red Hat Insights, se till att insights-klientpaketet blir " ++#~ "till Anolis, se till att insights-klientpaketet blir " + #~ "installerat.\n" + #~ "\n" + #~ "Vill du bortse från detta och fortsätta med installationen?" +diff --git a/po/ta.po b/po/ta.po +index 28bfb85..0e437a5 100644 +--- a/po/ta.po ++++ b/po/ta.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -437,7 +437,7 @@ msgid "Running pre-installation scripts" + msgstr "நிறுவலுக்கு முந்தைய ஸ்கிரிப்ட்டுகளை இயக்குகிறது" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -726,7 +726,7 @@ msgstr "கடவுச்சொல்லை மறைகுறியாக் + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "பூட்லோடரை நிறுவும் போது இந்தப் பிழை ஏற்பட்டது கணினியைத் துவக்க முடியாது போகும். இந்தப் " +@@ -1710,7 +1710,7 @@ msgstr "கடவுச்சொல் கிக்ஸ்டார்ட்ட + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1774,11 +1774,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1798,7 +1798,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1973,7 +1973,7 @@ msgid "Error checking software dependencies" + msgstr "மென்பொருள் சார்புத்தொகுதிகளை சோதிப்பதில் பிழை" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -4187,7 +4187,7 @@ msgid "Local media" + msgstr "உள்ளமை ஊடகம்" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4345,9 +4345,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5395,7 +5395,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5894,7 +5894,7 @@ msgid "_Reset All" + msgstr "அனைத்தும் மீட்டமை (_R)" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5951,16 +5951,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7273,7 +7273,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7282,8 +7282,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/te.po b/po/te.po +index 4e90d8f..6b1b1e1 100644 +--- a/po/te.po ++++ b/po/te.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -426,8 +426,8 @@ msgid "Running pre-installation scripts" + msgstr "ముందస్తు-సంస్థాపనా స్క్రిప్టులు నడుస్తున్నాయి" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Red Hat సబ్‌స్క్రిప్షన్ ఆకృతీకరించుచున్నది" ++msgid "Configuring Anolis subscription" ++msgstr "Anolis సబ్‌స్క్రిప్షన్ ఆకృతీకరించుచున్నది" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -674,7 +674,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1639,7 +1639,7 @@ msgstr "సంకేతపదం కిక్‌స్టార్టుచే + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1703,11 +1703,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1727,7 +1727,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1895,7 +1895,7 @@ msgid "Error checking software dependencies" + msgstr "సాఫ్టువేర్ పరాధీనతలను పరిశీలించుటలో దోషం" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3961,7 +3961,7 @@ msgid "Local media" + msgstr "స్థానిక మాధ్యమం" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4117,9 +4117,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5148,7 +5148,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5638,7 +5638,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5695,16 +5695,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7009,7 +7009,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -7018,8 +7018,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/tg.po b/po/tg.po +index 690a219..215f7f8 100644 +--- a/po/tg.po ++++ b/po/tg.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -391,7 +391,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -637,7 +637,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1586,7 +1586,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1650,11 +1650,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1674,7 +1674,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1829,7 +1829,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3807,7 +3807,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3953,9 +3953,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4965,7 +4965,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5453,7 +5453,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5510,16 +5510,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6788,7 +6788,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6797,8 +6797,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/th.po b/po/th.po +index 4c052fa..7ab094f 100644 +--- a/po/th.po ++++ b/po/th.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -412,7 +412,7 @@ msgid "Running pre-installation scripts" + msgstr "กำลังเรียกใช้สคริปต์ก่อนติดตั้ง..." + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -663,7 +663,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1615,7 +1615,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1679,11 +1679,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1703,7 +1703,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1858,7 +1858,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3880,7 +3880,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4026,9 +4026,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5040,7 +5040,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5528,7 +5528,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5585,16 +5585,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6865,7 +6865,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6874,8 +6874,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/tr.po b/po/tr.po +index 1303dc4..dd11d92 100644 +--- a/po/tr.po ++++ b/po/tr.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -481,8 +481,8 @@ msgid "Running pre-installation scripts" + msgstr "Kurulum öncesi betikleri çalıştırılıyor" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Red Hat aboneliği yapılandırılıyor" ++msgid "Configuring Anolis subscription" ++msgstr "Anolis aboneliği yapılandırılıyor" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -790,10 +790,10 @@ msgstr "Parola şifrelenemiyor: desteklenmeyen algoritma %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Red Hat Insights yapılandırması sırasında bir hata oluştu. Bunu yok saymak " ++"Anolis yapılandırması sırasında bir hata oluştu. Bunu yok saymak " + "ve kuruluma devam etmek ister misiniz?" + + #: pyanaconda/errors.py:275 +@@ -1785,8 +1785,8 @@ msgstr "Parola kickstart tarafından belirlendi." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "Red Hat'e _Bağlan" ++msgid "_Connect to Anolis" ++msgstr "Anolis'e _Bağlan" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1849,12 +1849,12 @@ msgid "Usage: {}" + msgstr "Kullanım: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "Red Hat Insights'a bağlandı" ++msgid "Connected to Anolis" ++msgstr "Anolis'a bağlandı" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Red Hat Insights'a bağlanmadı" ++msgid "Not connected to Anolis" ++msgstr "Anolis'a bağlanmadı" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1873,8 +1873,8 @@ msgid "{} subscriptions attached to the system" + msgstr "Sisteme {} tane abonelik eklendi" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "Red Hat'e bağlanmadan önce lütfen ağ erişimini etkinleştirin." ++msgid "Please enable network access before connecting to Anolis." ++msgstr "Anolis'e bağlanmadan önce lütfen ağ erişimini etkinleştirin." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2062,8 +2062,8 @@ msgid "Error checking software dependencies" + msgstr "Yazılım bağımlılıkları denetlenirken hata oluştu" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN kayıt gerektirmektedir." ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN kayıt gerektirmektedir." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4263,8 +4263,8 @@ msgid "Local media" + msgstr "Yerel ortam" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4423,13 +4423,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Bu donanım (veya bunların bir birleşimi) Red Hat tarafından " ++"Bu donanım (veya bunların bir birleşimi) Anolis tarafından " + "desteklenmemektedir. Desteklenen donanımlar hakkında daha fazla bilgi için " +-"lütfen http://www.redhat.com/hardware adresine bakın." ++"lütfen http://eco.openanolis.cn/#/compat/hardware adresine bakın." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5486,8 +5486,8 @@ msgstr "SE/_HMC aracılığıyla kurulum ortamı" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat _CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5982,8 +5982,8 @@ msgid "_Reset All" + msgstr "Tümünü _Sıfırla" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "RED HAT'E BAĞLAN" ++msgid "CONNECT TO Anolis" ++msgstr "Anolis'E BAĞLAN" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6039,18 +6039,18 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "Red Hat _Insights'a Bağlan" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "Anolis'a Bağlan" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"Red Hat Insights, riskleri belirleyip önceliklendirerek, güvenlik açıklarını " ++"Anolis, riskleri belirleyip önceliklendirerek, güvenlik açıklarını " + "ve uyumluluğu yöneterek ve maliyetleri analiz ederek BT verimliliğinizi ve " + "hibrit altyapılardaki hızınızı artırmayı amaçlar. Daha fazla bilgi için Red " + "Hat Insights bilgi sayfasını ziyaret edin." +@@ -7384,8 +7384,8 @@ msgstr "Liveinst Kurulumu" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Red Hat Enterprise Linux'a hoş geldiniz" ++msgid "Welcome to Anolis OS" ++msgstr "Anolis OS'a hoş geldiniz" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7393,12 +7393,12 @@ msgstr "RHEL'i deneyin" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Şu an Red Hat Enterprise Linux'u canlı ortamdan çalıştırıyorsunuz.\n" +-"Red Hat Enterprise Linux'u şimdi kurabilir ya da istediğiniz zaman " ++"Şu an Anolis OS'u canlı ortamdan çalıştırıyorsunuz.\n" ++"Anolis OS'u şimdi kurabilir ya da istediğiniz zaman " + "Etkinlikler'den \"Sabit Diske Kur\"u seçebilirsiniz." + + #: data/liveinst/gnome/rhel-welcome.js:127 +@@ -7517,15 +7517,15 @@ msgstr "Sabit Diske Kurulum Başlıyor" + #~ "Kurucu şimdi sonlandırılacak." + + #~ msgid "" +-#~ "The insights-client utility needed to connect the system to Red Hat " ++#~ "The insights-client utility needed to connect the system to Anolis " + #~ "Insights is not installed on the target system. If you want to connect " +-#~ "the system to Red Hat Insights please make sure the insights-client " ++#~ "the system to Anolis please make sure the insights-client " + #~ "package gets installed.\n" + #~ "\n" + #~ "Would you like to ignore this and continue with installation?" + #~ msgstr "" +-#~ "Sistemi Red Hat Insights'a bağlamak için gereken insights-client programı " +-#~ "hedef sistemde kurulu değil. Sistemi Red Hat Insights'a bağlamak " ++#~ "Sistemi Anolis'a bağlamak için gereken insights-client programı " ++#~ "hedef sistemde kurulu değil. Sistemi Anolis'a bağlamak " + #~ "istiyorsanız, lütfen insights-client paketinin kurulduğundan emin olun.\n" + #~ "\n" + #~ "Bunu yok saymak ve kuruluma devam etmek ister misiniz?" +diff --git a/po/uk.po b/po/uk.po +index e7d6c88..ce54783 100644 +--- a/po/uk.po ++++ b/po/uk.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -483,8 +483,8 @@ msgid "Running pre-installation scripts" + msgstr "Запуск сценаріїв перед встановленням" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "Налаштовуємо передплату Red Hat" ++msgid "Configuring Anolis subscription" ++msgstr "Налаштовуємо передплату Anolis" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -802,10 +802,10 @@ msgstr "Не вдалося зашифрувати пароль: непідтр + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" +-"Під час спроби налаштувати Red Hat Insights сталася помилка. Хочете " ++"Під час спроби налаштувати Anolis сталася помилка. Хочете " + "проігнорувати її і продовжити встановлення?" + + #: pyanaconda/errors.py:275 +@@ -1811,8 +1811,8 @@ msgstr "Пароль встановлено kickstart." + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "З'_єднатися із Red Hat" ++msgid "_Connect to Anolis" ++msgstr "З'_єднатися із Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1875,12 +1875,12 @@ msgid "Usage: {}" + msgstr "Користування: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "З'єднано із Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "З'єднано із Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "Не з'єднано із Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "Не з'єднано із Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1899,9 +1899,9 @@ msgid "{} subscriptions attached to the system" + msgstr "З системою пов'язано {} передплат" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" +-"Будь ласка, увімкніть доступ до мережі, перш ніж з'єднуватися із Red Hat." ++"Будь ласка, увімкніть доступ до мережі, перш ніж з'єднуватися із Anolis." + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2095,8 +2095,8 @@ msgid "Error checking software dependencies" + msgstr "Помилка під час спроби перевірити залежності програмного забезпечення" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Потрібна реєстрація на Red Hat CDN." ++msgid "Anolis CDN requires registration." ++msgstr "Потрібна реєстрація на Anolis CDN." + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4325,8 +4325,8 @@ msgid "Local media" + msgstr "Локальні носії" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "CDN Red Hat" ++msgid "Anolis CDN" ++msgstr "CDN Anolis" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4488,13 +4488,13 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Це обладнання (або його комбінація) не підтримується Red Hat. Докладніші " ++"Це обладнання (або його комбінація) не підтримується Anolis. Докладніші " + "відомості щодо підтримуваного обладнання можна знайти на сторінці http://www." +-"redhat.com/hardware." ++"openanolis.cn/#/compat/hardware." + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5563,8 +5563,8 @@ msgstr "Носій для встановлення через SE/_HMC" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "_CDN Red Hat" ++msgid "Anolis" ++msgstr "_CDN Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -6059,8 +6059,8 @@ msgid "_Reset All" + msgstr "С_касувати всі зміни" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "З'ЄДНАТИСЯ ІЗ RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "З'ЄДНАТИСЯ ІЗ Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -6116,22 +6116,22 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "З'єднатися із Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "З'єднатися із Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"Метою створення Red Hat Insights є підвищення вашої комп'ютерної " ++"Метою створення Anolis є підвищення вашої комп'ютерної " + "ефективності та швидкості у гібридній інфраструктурі шляхом виявлення " + "ризиків і визначення їхньої пріоритетності, керування вразливостями та " + "дотриманням правил, а також аналізу вартості. Щоб дізнатися більше, " +-"відвідайте сторінку відомостей щодо Red Hat Insights." ++"відвідайте сторінку відомостей щодо Anolis." + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 + msgid "Custom base URL" +@@ -7473,8 +7473,8 @@ msgstr "Налаштовування Liveinst" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "Вітаємо у Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "Вітаємо у Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7482,12 +7482,12 @@ msgstr "Спробувати RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"Зараз ви працюєте із Red Hat Enterprise Linux з портативного носія.\n" +-"Ви можете встановити Red Hat Enterprise Linux зараз або вибрати пункт " ++"Зараз ви працюєте із Anolis OS з портативного носія.\n" ++"Ви можете встановити Anolis OS зараз або вибрати пункт " + "«Встановити на жорсткий диск» на панелі огляду «Діяльність» будь-коли " + "пізніше." + +@@ -7608,16 +7608,16 @@ msgstr "Початок встановлення на жорсткий диск" + #~ "Зараз роботу засобу встановлення буде перервано." + + #~ msgid "" +-#~ "The insights-client utility needed to connect the system to Red Hat " ++#~ "The insights-client utility needed to connect the system to Anolis " + #~ "Insights is not installed on the target system. If you want to connect " +-#~ "the system to Red Hat Insights please make sure the insights-client " ++#~ "the system to Anolis please make sure the insights-client " + #~ "package gets installed.\n" + #~ "\n" + #~ "Would you like to ignore this and continue with installation?" + #~ msgstr "" + #~ "Допоміжну програму insights-client, яка має з'єднати цю систему із Red " + #~ "Hat Insights, не встановлено у системі призначення. Якщо ви хочете " +-#~ "з'єднати систему із Red Hat Insights, будь ласка, встановіть пакунок " ++#~ "з'єднати систему із Anolis, будь ласка, встановіть пакунок " + #~ "insights-client.\n" + #~ "\n" + #~ "Хочете проігнорувати це і продовжити встановлення?" +diff --git a/po/ur.po b/po/ur.po +index f4e2467..b131e09 100644 +--- a/po/ur.po ++++ b/po/ur.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -394,7 +394,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -640,7 +640,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1589,7 +1589,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1653,11 +1653,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1677,7 +1677,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1832,7 +1832,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3812,7 +3812,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3958,9 +3958,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4970,7 +4970,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5458,7 +5458,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5515,16 +5515,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6793,7 +6793,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6802,8 +6802,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/vi.po b/po/vi.po +index 6efe823..0a46e54 100644 +--- a/po/vi.po ++++ b/po/vi.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -391,7 +391,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -637,7 +637,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1585,7 +1585,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1649,11 +1649,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1673,7 +1673,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1828,7 +1828,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3804,7 +3804,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3950,9 +3950,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4962,7 +4962,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5450,7 +5450,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5507,16 +5507,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6785,7 +6785,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6794,8 +6794,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/zh_CN.po b/po/zh_CN.po +index 15ffe0c..04d5a2f 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -488,8 +488,8 @@ msgid "Running pre-installation scripts" + msgstr "运行安装前脚本" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "配置红帽订阅" ++msgid "Configuring Anolis subscription" ++msgstr "配置龙蜥订阅" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -787,9 +787,9 @@ msgstr "无法加密密码:不支持的算法 %s" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" +-msgstr "配置 Red Hat Insights 的过程中发生错误。您要忽略该错误并继续安装吗?" ++msgstr "配置 Anolis 的过程中发生错误。您要忽略该错误并继续安装吗?" + + #: pyanaconda/errors.py:275 + msgid "" +@@ -1762,8 +1762,8 @@ msgstr "密码由 kickstart 设置。" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "_连接到红帽" ++msgid "_Connect to Anolis" ++msgstr "_连接到龙蜥" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1826,12 +1826,12 @@ msgid "Usage: {}" + msgstr "用途: {}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "已连接至 Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "已连接至 Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "未连接至 Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "未连接至 Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1850,8 +1850,8 @@ msgid "{} subscriptions attached to the system" + msgstr "已附加 {} 项订阅至此系统" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "在连接到红帽之前,请启用网络连接。" ++msgid "Please enable network access before connecting to Anolis." ++msgstr "在连接到龙蜥之前,请启用网络连接。" + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2020,8 +2020,8 @@ msgid "Error checking software dependencies" + msgstr "检查软件依赖关系时出错" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "红帽 CDN 需要注册。" ++msgid "Anolis requires registration." ++msgstr "龙蜥需要注册。" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4098,8 +4098,8 @@ msgid "Local media" + msgstr "本地介质" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "红帽 CDN" ++msgid "Anolis" ++msgstr "龙蜥" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4258,12 +4258,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"红帽尚不支持该硬件(或其组合)。欲了解受支持的硬件信息,请访问 http://www." +-"redhat.com/hardware。" ++"龙蜥尚不支持该硬件(或其组合)。欲了解受支持的硬件信息,请访问 http://eco." ++"openanolis.cn/#/compat/hardware。" + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5292,8 +5292,8 @@ msgstr "通过 SE/HMC 的安装介质" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat_CDN" ++msgid "Anolis" ++msgstr "Anolis" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5782,8 +5782,8 @@ msgid "_Reset All" + msgstr "全部重设(_R)" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "连接到红帽" ++msgid "CONNECT TO Anolis" ++msgstr "连接到龙蜥" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -5839,19 +5839,19 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "连接到 Red Hat Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "连接到 Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" +-"Red Hat Insights 旨在通过识别和优先考虑风险、管理漏洞和合规性以及分析成本,提" +-"高你在混合基础设施上的IT效率和速度。欲了解更多信息,请访问Red Hat Insights 信" ++"Anolis 旨在通过识别和优先考虑风险、管理漏洞和合规性以及分析成本,提" ++"高你在混合基础设施上的IT效率和速度。欲了解更多信息,请访问Anolis 信" + "息页面。" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7152,8 +7152,8 @@ msgstr "Liveinst 设置" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "欢迎使用 Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "欢迎使用 Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7161,12 +7161,12 @@ msgstr "试用 RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"您当前正在通过自生系统(live media)运行 Red Hat Enterprise Linux。\n" +-"您可以现在安装 Red Hat Enterprise Linux ,或在以后的任何时间选择活动概览中" ++"您当前正在通过自生系统(live media)运行 Anolis OS。\n" ++"您可以现在安装 Anolis OS ,或在以后的任何时间选择活动概览中" + "的“安装到硬盘”选项进行安装。" + + #: data/liveinst/gnome/rhel-welcome.js:127 +@@ -7279,15 +7279,15 @@ msgstr "开始安装到硬盘" + #~ "安装程序将终止。" + + #~ msgid "" +-#~ "The insights-client utility needed to connect the system to Red Hat " ++#~ "The insights-client utility needed to connect the system to Anolis " + #~ "Insights is not installed on the target system. If you want to connect " +-#~ "the system to Red Hat Insights please make sure the insights-client " ++#~ "the system to Anolis please make sure the insights-client " + #~ "package gets installed.\n" + #~ "\n" + #~ "Would you like to ignore this and continue with installation?" + #~ msgstr "" +-#~ "目标系统上没有安装连接到 Red Hat Insights 所需要的 insights-client 工具程" +-#~ "序。如果需要把系统连接到 Red Hat Insights,请安装 insights-client 软件" ++#~ "目标系统上没有安装连接到 Anolis 所需要的 insights-client 工具程" ++#~ "序。如果需要把系统连接到 Anolis,请安装 insights-client 软件" + #~ "包。\n" + #~ "\n" + #~ "您是否要忽略这一点并继续安装?" +diff --git a/po/zh_HK.po b/po/zh_HK.po +index eb2e383..28690ec 100644 +--- a/po/zh_HK.po ++++ b/po/zh_HK.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -420,7 +420,7 @@ msgid "Running pre-installation scripts" + msgstr "正在執行安裝前的指令稿" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -668,7 +668,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1624,7 +1624,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1688,11 +1688,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1712,7 +1712,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1867,7 +1867,7 @@ msgid "Error checking software dependencies" + msgstr "檢查軟件相根據性時發生錯誤" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3877,7 +3877,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -4025,9 +4025,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -5040,7 +5040,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5528,7 +5528,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5585,16 +5585,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6871,7 +6871,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6880,8 +6880,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/po/zh_TW.po b/po/zh_TW.po +index 8f5b1f6..0520258 100644 +--- a/po/zh_TW.po ++++ b/po/zh_TW.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -482,8 +482,8 @@ msgid "Running pre-installation scripts" + msgstr "正在執行安裝前的指令稿" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" +-msgstr "正在設定 Red Hat 訂閱" ++msgid "Configuring Anolis subscription" ++msgstr "正在設定 Anolis 訂閱" + + #: pyanaconda/installation.py:94 + msgid "Configuring installed system" +@@ -795,7 +795,7 @@ msgstr "無法解密密碼:不支援的演算法 %s" + #| "will not be bootable. Would you like to ignore this and continue with " + #| "installation?" + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + "安裝開機載入器時遭遇下列錯誤。系統將無法開機。您是否要忽略這個問題,並繼續安" +@@ -1765,8 +1765,8 @@ msgstr "密碼已由 kickstart 設定。" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" +-msgstr "連線至 Red Hat(_C)" ++msgid "_Connect to Anolis" ++msgstr "連線至 Anolis(_C)" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 + #: pyanaconda/ui/gui/spokes/subscription.py:237 +@@ -1829,12 +1829,12 @@ msgid "Usage: {}" + msgstr "使用方法:{}" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" +-msgstr "已連線到 Red Hat Insights" ++msgid "Connected to Anolis" ++msgstr "已連線到 Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" +-msgstr "未連線到 Red Hat Insights" ++msgid "Not connected to Anolis" ++msgstr "未連線到 Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 + msgid "Subscribed in Simple Content Access mode." +@@ -1853,8 +1853,8 @@ msgid "{} subscriptions attached to the system" + msgstr "有 {} 個連接到系統的訂閱" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." +-msgstr "請在連線至 Red Hat 前啟用網路存取權。" ++msgid "Please enable network access before connecting to Anolis." ++msgstr "請在連線至 Anolis 前啟用網路存取權。" + + #: pyanaconda/ui/gui/spokes/storage.py:103 + msgid "Please wait... software metadata still loading." +@@ -2027,8 +2027,8 @@ msgid "Error checking software dependencies" + msgstr "檢查軟體相依性時發生錯誤" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." +-msgstr "Red Hat CDN 需要註冊。" ++msgid "Anolis CDN requires registration." ++msgstr "Anolis CDN 需要註冊。" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 + msgid "Invalid environment specified in kickstart" +@@ -4104,8 +4104,8 @@ msgid "Local media" + msgstr "本地端媒體" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" +-msgstr "Red Hat CDN" ++msgid "Anolis CDN" ++msgstr "Anolis CDN" + + #: pyanaconda/modules/network/firewall/installation.py:102 + #, python-format +@@ -4256,12 +4256,12 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" +-"Red Hat 尚未此硬體(或某種組合搭配)。若想要瞭解更多硬體支援的資訊,請參閱 " +-"http://www.redhat.com/hardware。" ++"Anolis 尚未此硬體(或某種組合搭配)。若想要瞭解更多硬體支援的資訊,請參閱 " ++"http://eco.openanolis.cn/#/compat/hardware。" + + #: pyanaconda/core/constants.py:170 + msgid "" +@@ -5305,8 +5305,8 @@ msgstr "透過 SE/HMC 載入安裝媒體 (_H)" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" +-msgstr "Red Hat_CDN" ++msgid "Anolis" ++msgstr "Anolis_CDN" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 + msgctxt "GUI|Software Source" +@@ -5795,8 +5795,8 @@ msgid "_Reset All" + msgstr "全部重設(_R)" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" +-msgstr "連線至 RED HAT" ++msgid "CONNECT TO Anolis" ++msgstr "連線至 Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 + #: pyanaconda/ui/gui/spokes/lib/network_secret_agent.glade:8 +@@ -5852,16 +5852,16 @@ msgid "Insights" + msgstr "Insights" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" +-msgstr "連線到 Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" ++msgstr "連線到 Anolis" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -7163,8 +7163,8 @@ msgstr "Liveinst 設定" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" +-msgstr "歡迎使用Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" ++msgstr "歡迎使用Anolis OS" + + #: data/liveinst/gnome/rhel-welcome.js:91 + msgid "Try RHEL" +@@ -7172,11 +7172,11 @@ msgstr "試試RHEL" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" +-"您目前正在從實時媒體運行Red Hat Enterprise Linux。您可以立即安裝Red Hat " ++"您目前正在從實時媒體運行Anolis OS。您可以立即安裝Anolis " + "Enterprise Linux,也可以在以後的活動概覽中選擇“安裝到硬盤”。" + + #: data/liveinst/gnome/rhel-welcome.js:127 +diff --git a/po/zu.po b/po/zu.po +index 44aa0a0..585724e 100644 +--- a/po/zu.po ++++ b/po/zu.po +@@ -1,5 +1,5 @@ + # SOME DESCRIPTIVE TITLE. +-# Copyright (C) YEAR Red Hat, Inc. ++# Copyright (C) YEAR Anolis, Inc. + # This file is distributed under the same license as the PACKAGE package. + # + # Translators: +@@ -393,7 +393,7 @@ msgid "Running pre-installation scripts" + msgstr "" + + #: pyanaconda/installation.py:87 +-msgid "Configuring Red Hat subscription" ++msgid "Configuring Anolis subscription" + msgstr "" + + #: pyanaconda/installation.py:94 +@@ -639,7 +639,7 @@ msgstr "" + + #: pyanaconda/errors.py:264 + msgid "" +-"An error occurred during Red Hat Insights configuration. Would you like to " ++"An error occurred during Anolis configuration. Would you like to " + "ignore this and continue with installation?" + msgstr "" + +@@ -1588,7 +1588,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:73 + msgctxt "GUI|Spoke" +-msgid "_Connect to Red Hat" ++msgid "_Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:223 +@@ -1652,11 +1652,11 @@ msgid "Usage: {}" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1072 +-msgid "Connected to Red Hat Insights" ++msgid "Connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1074 +-msgid "Not connected to Red Hat Insights" ++msgid "Not connected to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1086 +@@ -1676,7 +1676,7 @@ msgid "{} subscriptions attached to the system" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.py:1133 +-msgid "Please enable network access before connecting to Red Hat." ++msgid "Please enable network access before connecting to Anolis." + msgstr "" + + #: pyanaconda/ui/gui/spokes/storage.py:103 +@@ -1831,7 +1831,7 @@ msgid "Error checking software dependencies" + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:311 +-msgid "Red Hat CDN requires registration." ++msgid "Anolis CDN requires registration." + msgstr "" + + #: pyanaconda/ui/gui/spokes/software_selection.py:327 +@@ -3809,7 +3809,7 @@ msgid "Local media" + msgstr "" + + #: pyanaconda/modules/payloads/source/cdn/cdn.py:47 +-msgid "Red Hat CDN" ++msgid "Anolis CDN" + msgstr "" + + #: pyanaconda/modules/network/firewall/installation.py:102 +@@ -3955,9 +3955,9 @@ msgstr "" + + #: pyanaconda/core/constants.py:164 + msgid "" +-"This hardware (or a combination thereof) is not supported by Red Hat. For " +-"more information on supported hardware, please refer to http://www.redhat." +-"com/hardware." ++"This hardware (or a combination thereof) is not supported by Anolis. For " ++"more information on supported hardware, please refer to http://eco." ++"openanolis.cn/#/compat/hardware." + msgstr "" + + #: pyanaconda/core/constants.py:170 +@@ -4967,7 +4967,7 @@ msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:635 + msgctxt "GUI|Software Source" +-msgid "Red Hat _CDN" ++msgid "Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/installation_source.glade:654 +@@ -5455,7 +5455,7 @@ msgid "_Reset All" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:8 +-msgid "CONNECT TO RED HAT" ++msgid "CONNECT TO Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:83 +@@ -5512,16 +5512,16 @@ msgid "Insights" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:414 +-msgctxt "GUI|Subscription|Red Hat Insights" +-msgid "Connect to Red Hat _Insights" ++msgctxt "GUI|Subscription|Anolis" ++msgid "Connect to Anolis" + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:418 + msgid "" +-"Red Hat Insights aims to increase your IT efficiency and speed across hybrid " ++"Anolis aims to increase your IT efficiency and speed across hybrid " + "infrastructures by identifying and prioritizing risks, managing " + "vulnerabilities, and compliance, and analyzing costs. For more information, " +-"visit the Red Hat Insights information page." ++"visit the Anolis information page." + msgstr "" + + #: pyanaconda/ui/gui/spokes/subscription.glade:456 +@@ -6790,7 +6790,7 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.desktop:3 + #: data/liveinst/gnome/rhel-welcome.js:62 +-msgid "Welcome to Red Hat Enterprise Linux" ++msgid "Welcome to Anolis OS" + msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:91 +@@ -6799,8 +6799,8 @@ msgstr "" + + #: data/liveinst/gnome/rhel-welcome.js:107 + msgid "" +-"You are currently running Red Hat Enterprise Linux from live media.\n" +-"You can install Red Hat Enterprise Linux now, or choose \"Install to Hard " ++"You are currently running Anolis OS from live media.\n" ++"You can install Anolis OS now, or choose \"Install to Hard " + "Drive\" in the Activities Overview at any later time." + msgstr "" + +diff --git a/pyanaconda/modules/storage/devicetree/root.py b/pyanaconda/modules/storage/devicetree/root.py +index 1af402e..58e4288 100644 +--- a/pyanaconda/modules/storage/devicetree/root.py ++++ b/pyanaconda/modules/storage/devicetree/root.py +@@ -164,13 +164,17 @@ def get_release_string(chroot): + rel_arch = None + + try: +- filename = "%s/etc/redhat-release" % sysroot ++ filename = "%s/etc/os-release" % sysroot + if os.access(filename, os.R_OK): +- (rel_name, rel_ver) = _release_from_redhat_release(filename) ++ (rel_name, rel_ver) = _release_from_os_release(filename) + else: +- filename = "%s/etc/os-release" % sysroot ++ filename = "%s/etc/anolis-release" % sysroot + if os.access(filename, os.R_OK): +- (rel_name, rel_ver) = _release_from_os_release(filename) ++ (rel_name, rel_ver) = _release_from_redhat_release(filename) ++ else: ++ filename = "%s/etc/redhat-release" % sysroot ++ if os.access(filename, os.R_OK): ++ (rel_name, rel_ver) = release_from_redhat_release(filename) + except ValueError: + pass + diff --git a/0002-install-localization.patch b/0002-install-localization.patch new file mode 100644 index 0000000000000000000000000000000000000000..e9ef7a1f5100d105cc189ce137355b2d46be44f9 --- /dev/null +++ b/0002-install-localization.patch @@ -0,0 +1,157 @@ +From cb44bb47d12fcb58b159120a672d0bfaf0eacbfb Mon Sep 17 00:00:00 2001 +From: pangqing +Date: Thu, 2 Jun 2022 15:33:42 +0800 +Subject: [PATCH] install localization + +--- + pyanaconda/core/constants.py | 2 +- + pyanaconda/modules/timezone/installation.py | 4 ++-- + pyanaconda/modules/timezone/timezone.py | 2 +- + pyanaconda/ui/gui/spokes/datetime_spoke.py | 2 +- + tests/gui/date_time.py | 2 +- + tests/gui/summary.py | 2 +- + tests/nosetests/pyanaconda_tests/localization_test.py | 2 +- + .../nosetests/pyanaconda_tests/module_timezone_test.py | 10 +++++----- + 8 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/pyanaconda/core/constants.py b/pyanaconda/core/constants.py +index 67510e5..b4a9c4d 100644 +--- a/pyanaconda/core/constants.py ++++ b/pyanaconda/core/constants.py +@@ -77,7 +77,7 @@ ANACONDA_CONFIG_DIR = "/etc/anaconda/" + ANACONDA_CONFIG_TMP = "/run/anaconda/anaconda.conf" + + # NOTE: this should be LANG_TERRITORY.CODESET, e.g. en_US.UTF-8 +-DEFAULT_LANG = "en_US.UTF-8" ++DEFAULT_LANG = "zh_CN.UTF-8" + + DEFAULT_VC_FONT = "eurlatgr" + +diff --git a/pyanaconda/modules/timezone/installation.py b/pyanaconda/modules/timezone/installation.py +index 829748c..3856747 100644 +--- a/pyanaconda/modules/timezone/installation.py ++++ b/pyanaconda/modules/timezone/installation.py +@@ -63,8 +63,8 @@ class ConfigureTimezoneTask(Task): + if not is_valid_timezone(self._timezone): + # this should never happen, but for pity's sake + log.warning("Timezone %s set in kickstart is not valid, " +- "falling back to default (America/New_York).", self._timezone) +- self._timezone = "America/New_York" ++ "falling back to default (Asia/Shanghai).", self._timezone) ++ self._timezone = "Asia/Shanghai" + + def _make_timezone_symlink(self): + """Create the symlink that actually defines timezone.""" +diff --git a/pyanaconda/modules/timezone/timezone.py b/pyanaconda/modules/timezone/timezone.py +index b0fedc4..4e57a8a 100644 +--- a/pyanaconda/modules/timezone/timezone.py ++++ b/pyanaconda/modules/timezone/timezone.py +@@ -39,7 +39,7 @@ class TimezoneService(KickstartService): + def __init__(self): + super().__init__() + self.timezone_changed = Signal() +- self._timezone = "America/New_York" ++ self._timezone = "Asia/Shanghai" + + self.is_utc_changed = Signal() + self._is_utc = False +diff --git a/pyanaconda/ui/gui/spokes/datetime_spoke.py b/pyanaconda/ui/gui/spokes/datetime_spoke.py +index 50ae156..f6b8e06 100644 +--- a/pyanaconda/ui/gui/spokes/datetime_spoke.py ++++ b/pyanaconda/ui/gui/spokes/datetime_spoke.py +@@ -66,7 +66,7 @@ SERVER_POOL = 1 + SERVER_WORKING = 2 + SERVER_USE = 3 + +-DEFAULT_TZ = "America/New_York" ++DEFAULT_TZ = "Asia/Shanghai" + + SPLIT_NUMBER_SUFFIX_RE = re.compile(r'([^0-9]*)([-+])([0-9]+)') + +diff --git a/tests/gui/date_time.py b/tests/gui/date_time.py +index c204ffa..1592eba 100644 +--- a/tests/gui/date_time.py ++++ b/tests/gui/date_time.py +@@ -24,7 +24,7 @@ class DateTimeTestCase(UITestCase): + + entry = self.find("City", "text") + self.assertIsNotNone(entry, "City entry does not exist") +- self.assertEqual(entry.text, "New York", msg="City should be set to default") ++ self.assertEqual(entry.text, "Shanghai", msg="City should be set to default") + + def check_ntp(self, spoke): + # NTP should be enabled given that we started up with networking. +diff --git a/tests/gui/summary.py b/tests/gui/summary.py +index 702c2f2..f9d0f64 100644 +--- a/tests/gui/summary.py ++++ b/tests/gui/summary.py +@@ -57,7 +57,7 @@ class SummaryTestCase(UITestCase): + # FIXME: This encodes default information. + for selector in selectors: + if selector.name == "TIME & DATE": +- self.assertEqual(selector.description, "Americas/New York timezone") ++ self.assertEqual(selector.description, "Asia/Shanghai timezone") + elif selector.name == "KEYBOARD": + self.assertEqual(selector.description, "English (US)") + elif selector.name == "LANGUAGE SUPPORT": +diff --git a/tests/nosetests/pyanaconda_tests/localization_test.py b/tests/nosetests/pyanaconda_tests/localization_test.py +index e44fd8a..dcecc51 100644 +--- a/tests/nosetests/pyanaconda_tests/localization_test.py ++++ b/tests/nosetests/pyanaconda_tests/localization_test.py +@@ -85,7 +85,7 @@ class LangcodeLocaleParsingTests(unittest.TestCase): + localization.os.environ["LANG"] = "blah" + self.assertRaises(localization.InvalidLocaleSpec, + localization.get_xlated_timezone, +- "America/New_York") ++ "Asia/Shanghai") + + + class SetupLocaleTest(unittest.TestCase): +diff --git a/tests/nosetests/pyanaconda_tests/module_timezone_test.py b/tests/nosetests/pyanaconda_tests/module_timezone_test.py +index bb39bdf..80d7599 100644 +--- a/tests/nosetests/pyanaconda_tests/module_timezone_test.py ++++ b/tests/nosetests/pyanaconda_tests/module_timezone_test.py +@@ -88,7 +88,7 @@ class TimezoneInterfaceTestCase(unittest.TestCase): + ks_in = None + ks_out = """ + # System timezone +- timezone America/New_York ++ timezone Asia/Shanghai + """ + self._test_kickstart(ks_in, ks_out) + +@@ -160,7 +160,7 @@ class TimezoneInterfaceTestCase(unittest.TestCase): + + # ConfigureTimezoneTask + obj = task_objs[0] +- self.assertEqual(obj.implementation._timezone, "America/New_York") ++ self.assertEqual(obj.implementation._timezone, "Asia/Shanghai") + self.assertEqual(obj.implementation._is_utc, False) + # ConfigureNTPTask + obj = task_objs[1] +@@ -238,19 +238,19 @@ class TimezoneTasksTestCase(unittest.TestCase): + input_isutc=True, + make_adjtime=True, + make_zoneinfo=True, +- expected_symlink="../usr/share/zoneinfo/America/New_York", ++ expected_symlink="../usr/share/zoneinfo/Asia/Shanghai", + expected_adjtime_last_line="UTC") + self._test_timezone_inputs(input_zone="BahBlah", + input_isutc=True, + make_adjtime=True, + make_zoneinfo=True, +- expected_symlink="../usr/share/zoneinfo/America/New_York", ++ expected_symlink="../usr/share/zoneinfo/Asia/Shanghai", + expected_adjtime_last_line="UTC") + self._test_timezone_inputs(input_zone=None, + input_isutc=True, + make_adjtime=True, + make_zoneinfo=True, +- expected_symlink="../usr/share/zoneinfo/America/New_York", ++ expected_symlink="../usr/share/zoneinfo/Asia/Shanghai", + expected_adjtime_last_line="UTC") + + @patch('pyanaconda.modules.timezone.installation.arch.is_s390', return_value=True) +-- +2.18.4 + diff --git a/0003-install-remove-system-purpose-components.patch b/0003-install-remove-system-purpose-components.patch new file mode 100644 index 0000000000000000000000000000000000000000..a442db7098acd231556d8efea7a135cfd9e4a941 --- /dev/null +++ b/0003-install-remove-system-purpose-components.patch @@ -0,0 +1,6202 @@ +From 3bf64459635f20bdb221ae11616b07f0fd009d3a Mon Sep 17 00:00:00 2001 +From: Liwei Ge +Date: Fri, 13 May 2022 15:21:39 +0800 +Subject: [PATCH 3/7] install: remove system purpose components + +--- + configure | 5 +- + configure.ac | 1 - + ...project.Anaconda.Modules.Subscription.conf | 14 - + ...ject.Anaconda.Modules.Subscription.service | 4 - + pyanaconda/core/constants.py | 32 - + pyanaconda/core/kickstart/commands.py | 1 - + pyanaconda/core/subscription.py | 40 - + pyanaconda/installation.py | 14 +- + pyanaconda/modules/Makefile.am | 2 +- + pyanaconda/modules/Makefile.in | 2 +- + .../modules/common/constants/namespaces.py | 6 - + .../modules/common/constants/objects.py | 40 +- + .../modules/common/constants/services.py | 7 +- + .../modules/common/errors/installation.py | 5 - + .../modules/common/errors/subscription.py | 39 - + .../modules/common/structures/subscription.py | 537 -------- + pyanaconda/modules/subscription/Makefile.am | 21 - + pyanaconda/modules/subscription/Makefile.in | 567 -------- + pyanaconda/modules/subscription/__main__.py | 25 - + .../modules/subscription/installation.py | 248 ---- + pyanaconda/modules/subscription/kickstart.py | 28 - + .../modules/subscription/subscription.py | 789 ----------- + .../subscription/subscription_interface.py | 211 --- + .../modules/subscription/system_purpose.py | 227 ---- + pyanaconda/payload/dnf/payload.py | 38 +- + .../ui/gui/spokes/installation_source.glade | 21 +- + .../ui/gui/spokes/installation_source.py | 35 +- + pyanaconda/ui/gui/spokes/lib/subscription.py | 236 ---- + .../ui/gui/spokes/software_selection.py | 10 - + pyanaconda/ui/gui/spokes/subscription.glade | 992 -------------- + pyanaconda/ui/gui/spokes/subscription.py | 1154 ----------------- + pyanaconda/ui/lib/subscription.py | 406 ------ + 32 files changed, 16 insertions(+), 5741 deletions(-) + delete mode 100644 data/dbus/org.fedoraproject.Anaconda.Modules.Subscription.conf + delete mode 100644 data/dbus/org.fedoraproject.Anaconda.Modules.Subscription.service + delete mode 100644 pyanaconda/core/subscription.py + delete mode 100644 pyanaconda/modules/common/errors/subscription.py + delete mode 100644 pyanaconda/modules/common/structures/subscription.py + delete mode 100644 pyanaconda/modules/subscription/Makefile.am + delete mode 100644 pyanaconda/modules/subscription/Makefile.in + delete mode 100644 pyanaconda/modules/subscription/__main__.py + delete mode 100644 pyanaconda/modules/subscription/installation.py + delete mode 100644 pyanaconda/modules/subscription/kickstart.py + delete mode 100644 pyanaconda/modules/subscription/subscription.py + delete mode 100644 pyanaconda/modules/subscription/subscription_interface.py + delete mode 100644 pyanaconda/modules/subscription/system_purpose.py + delete mode 100644 pyanaconda/ui/gui/spokes/lib/subscription.py + delete mode 100644 pyanaconda/ui/gui/spokes/subscription.glade + delete mode 100644 pyanaconda/ui/gui/spokes/subscription.py + delete mode 100644 pyanaconda/ui/lib/subscription.py + +diff --git a/configure b/configure +index 7a7fbed..e97c1d7 100755 +--- a/configure ++++ b/configure +@@ -14574,9 +14574,7 @@ s_arch="`echo $build_cpu | sed -e s/i.86/i386/ -e s/powerpc.*/ppc/`" + + + subdirs="$subdirs widgets" +- +- +-ac_config_files="$ac_config_files Makefile anaconda.spec data/Makefile data/command-stubs/Makefile docs/Makefile dracut/Makefile data/conf.d/Makefile data/product.d/Makefile data/liveinst/Makefile data/liveinst/console.apps/Makefile data/liveinst/gnome/Makefile data/liveinst/pam.d/Makefile data/systemd/Makefile data/dbus/Makefile data/window-manager/Makefile data/window-manager/config/Makefile po/Makefile scripts/Makefile pyanaconda/Makefile pyanaconda/version.py pyanaconda/core/Makefile pyanaconda/core/kickstart/Makefile pyanaconda/core/configuration/Makefile pyanaconda/core/startup/Makefile pyanaconda/isys/Makefile pyanaconda/payload/Makefile pyanaconda/payload/dnf/Makefile pyanaconda/payload/live/Makefile pyanaconda/payload/source/Makefile pyanaconda/ui/Makefile pyanaconda/ui/categories/Makefile pyanaconda/ui/lib/Makefile pyanaconda/ui/gui/hubs/Makefile pyanaconda/ui/gui/spokes/Makefile pyanaconda/ui/gui/spokes/advstorage/Makefile pyanaconda/ui/gui/spokes/lib/Makefile pyanaconda/ui/gui/Makefile pyanaconda/ui/tui/hubs/Makefile pyanaconda/ui/tui/spokes/Makefile pyanaconda/ui/tui/Makefile pyanaconda/modules/Makefile pyanaconda/modules/common/Makefile pyanaconda/modules/common/base/Makefile pyanaconda/modules/common/task/Makefile pyanaconda/modules/common/errors/Makefile pyanaconda/modules/common/constants/Makefile pyanaconda/modules/common/structures/Makefile pyanaconda/modules/boss/Makefile pyanaconda/modules/boss/install_manager/Makefile pyanaconda/modules/boss/kickstart_manager/Makefile pyanaconda/modules/boss/module_manager/Makefile pyanaconda/modules/security/Makefile pyanaconda/modules/timezone/Makefile pyanaconda/modules/network/Makefile pyanaconda/modules/network/firewall/Makefile pyanaconda/modules/localization/Makefile pyanaconda/modules/users/Makefile pyanaconda/modules/payloads/Makefile pyanaconda/modules/payloads/packages/Makefile pyanaconda/modules/payloads/payload/Makefile pyanaconda/modules/payloads/payload/dnf/Makefile pyanaconda/modules/payloads/payload/live_os/Makefile pyanaconda/modules/payloads/payload/live_image/Makefile pyanaconda/modules/payloads/base/Makefile pyanaconda/modules/payloads/source/Makefile pyanaconda/modules/payloads/source/cdn/Makefile pyanaconda/modules/payloads/source/cdrom/Makefile pyanaconda/modules/payloads/source/closest_mirror/Makefile pyanaconda/modules/payloads/source/harddrive/Makefile pyanaconda/modules/payloads/source/hmc/Makefile pyanaconda/modules/payloads/source/live_os/Makefile pyanaconda/modules/payloads/source/nfs/Makefile pyanaconda/modules/payloads/source/repo_files/Makefile pyanaconda/modules/payloads/source/url/Makefile pyanaconda/modules/storage/Makefile pyanaconda/modules/storage/bootloader/Makefile pyanaconda/modules/storage/checker/Makefile pyanaconda/modules/storage/dasd/Makefile pyanaconda/modules/storage/devicetree/Makefile pyanaconda/modules/storage/disk_initialization/Makefile pyanaconda/modules/storage/disk_selection/Makefile pyanaconda/modules/storage/fcoe/Makefile pyanaconda/modules/storage/iscsi/Makefile pyanaconda/modules/storage/nvdimm/Makefile pyanaconda/modules/storage/partitioning/Makefile pyanaconda/modules/storage/partitioning/automatic/Makefile pyanaconda/modules/storage/partitioning/blivet/Makefile pyanaconda/modules/storage/partitioning/custom/Makefile pyanaconda/modules/storage/partitioning/interactive/Makefile pyanaconda/modules/storage/partitioning/manual/Makefile pyanaconda/modules/storage/snapshot/Makefile pyanaconda/modules/storage/zfcp/Makefile pyanaconda/modules/services/Makefile pyanaconda/modules/subscription/Makefile data/post-scripts/Makefile data/pixmaps/Makefile tests/Makefile utils/Makefile utils/dd/Makefile" ++ac_config_files="$ac_config_files Makefile anaconda.spec data/Makefile data/command-stubs/Makefile docs/Makefile dracut/Makefile data/conf.d/Makefile data/product.d/Makefile data/liveinst/Makefile data/liveinst/console.apps/Makefile data/liveinst/gnome/Makefile data/liveinst/pam.d/Makefile data/systemd/Makefile data/dbus/Makefile data/window-manager/Makefile data/window-manager/config/Makefile po/Makefile scripts/Makefile pyanaconda/Makefile pyanaconda/version.py pyanaconda/core/Makefile pyanaconda/core/kickstart/Makefile pyanaconda/core/configuration/Makefile pyanaconda/core/startup/Makefile pyanaconda/isys/Makefile pyanaconda/payload/Makefile pyanaconda/payload/dnf/Makefile pyanaconda/payload/live/Makefile pyanaconda/payload/source/Makefile pyanaconda/ui/Makefile pyanaconda/ui/categories/Makefile pyanaconda/ui/lib/Makefile pyanaconda/ui/gui/hubs/Makefile pyanaconda/ui/gui/spokes/Makefile pyanaconda/ui/gui/spokes/advstorage/Makefile pyanaconda/ui/gui/spokes/lib/Makefile pyanaconda/ui/gui/Makefile pyanaconda/ui/tui/hubs/Makefile pyanaconda/ui/tui/spokes/Makefile pyanaconda/ui/tui/Makefile pyanaconda/modules/Makefile pyanaconda/modules/common/Makefile pyanaconda/modules/common/base/Makefile pyanaconda/modules/common/task/Makefile pyanaconda/modules/common/errors/Makefile pyanaconda/modules/common/constants/Makefile pyanaconda/modules/common/structures/Makefile pyanaconda/modules/boss/Makefile pyanaconda/modules/boss/install_manager/Makefile pyanaconda/modules/boss/kickstart_manager/Makefile pyanaconda/modules/boss/module_manager/Makefile pyanaconda/modules/security/Makefile pyanaconda/modules/timezone/Makefile pyanaconda/modules/network/Makefile pyanaconda/modules/network/firewall/Makefile pyanaconda/modules/localization/Makefile pyanaconda/modules/users/Makefile pyanaconda/modules/payloads/Makefile pyanaconda/modules/payloads/packages/Makefile pyanaconda/modules/payloads/payload/Makefile pyanaconda/modules/payloads/payload/dnf/Makefile pyanaconda/modules/payloads/payload/live_os/Makefile pyanaconda/modules/payloads/payload/live_image/Makefile pyanaconda/modules/payloads/base/Makefile pyanaconda/modules/payloads/source/Makefile pyanaconda/modules/payloads/source/cdn/Makefile pyanaconda/modules/payloads/source/cdrom/Makefile pyanaconda/modules/payloads/source/closest_mirror/Makefile pyanaconda/modules/payloads/source/harddrive/Makefile pyanaconda/modules/payloads/source/hmc/Makefile pyanaconda/modules/payloads/source/live_os/Makefile pyanaconda/modules/payloads/source/nfs/Makefile pyanaconda/modules/payloads/source/repo_files/Makefile pyanaconda/modules/payloads/source/url/Makefile pyanaconda/modules/storage/Makefile pyanaconda/modules/storage/bootloader/Makefile pyanaconda/modules/storage/checker/Makefile pyanaconda/modules/storage/dasd/Makefile pyanaconda/modules/storage/devicetree/Makefile pyanaconda/modules/storage/disk_initialization/Makefile pyanaconda/modules/storage/disk_selection/Makefile pyanaconda/modules/storage/fcoe/Makefile pyanaconda/modules/storage/iscsi/Makefile pyanaconda/modules/storage/nvdimm/Makefile pyanaconda/modules/storage/partitioning/Makefile pyanaconda/modules/storage/partitioning/automatic/Makefile pyanaconda/modules/storage/partitioning/blivet/Makefile pyanaconda/modules/storage/partitioning/custom/Makefile pyanaconda/modules/storage/partitioning/interactive/Makefile pyanaconda/modules/storage/partitioning/manual/Makefile pyanaconda/modules/storage/snapshot/Makefile pyanaconda/modules/storage/zfcp/Makefile pyanaconda/modules/services/Makefile data/post-scripts/Makefile data/pixmaps/Makefile tests/Makefile utils/Makefile utils/dd/Makefile" + + cat >confcache <<\_ACEOF + # This file is a shell script that caches the results of configure +@@ -15686,7 +15684,6 @@ do + "pyanaconda/modules/storage/snapshot/Makefile") CONFIG_FILES="$CONFIG_FILES pyanaconda/modules/storage/snapshot/Makefile" ;; + "pyanaconda/modules/storage/zfcp/Makefile") CONFIG_FILES="$CONFIG_FILES pyanaconda/modules/storage/zfcp/Makefile" ;; + "pyanaconda/modules/services/Makefile") CONFIG_FILES="$CONFIG_FILES pyanaconda/modules/services/Makefile" ;; +- "pyanaconda/modules/subscription/Makefile") CONFIG_FILES="$CONFIG_FILES pyanaconda/modules/subscription/Makefile" ;; + "data/post-scripts/Makefile") CONFIG_FILES="$CONFIG_FILES data/post-scripts/Makefile" ;; + "data/pixmaps/Makefile") CONFIG_FILES="$CONFIG_FILES data/pixmaps/Makefile" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; +diff --git a/configure.ac b/configure.ac +index 74f6d1d..2101b7d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -206,7 +206,6 @@ AC_CONFIG_FILES([Makefile + pyanaconda/modules/storage/snapshot/Makefile + pyanaconda/modules/storage/zfcp/Makefile + pyanaconda/modules/services/Makefile +- pyanaconda/modules/subscription/Makefile + data/post-scripts/Makefile + data/pixmaps/Makefile + tests/Makefile +diff --git a/data/dbus/org.fedoraproject.Anaconda.Modules.Subscription.conf b/data/dbus/org.fedoraproject.Anaconda.Modules.Subscription.conf +deleted file mode 100644 +index 52df985..0000000 +--- a/data/dbus/org.fedoraproject.Anaconda.Modules.Subscription.conf ++++ /dev/null +@@ -1,14 +0,0 @@ +- +- +- +- +- +- +- +- +- +- +- +- +diff --git a/data/dbus/org.fedoraproject.Anaconda.Modules.Subscription.service b/data/dbus/org.fedoraproject.Anaconda.Modules.Subscription.service +deleted file mode 100644 +index 0df2f81..0000000 +--- a/data/dbus/org.fedoraproject.Anaconda.Modules.Subscription.service ++++ /dev/null +@@ -1,4 +0,0 @@ +-[D-BUS Service] +-Name=org.fedoraproject.Anaconda.Modules.Subscription +-Exec=/usr/libexec/anaconda/start-module pyanaconda.modules.subscription +-User=root +diff --git a/pyanaconda/core/constants.py b/pyanaconda/core/constants.py +index 25267f8..b4a9c4d 100644 +--- a/pyanaconda/core/constants.py ++++ b/pyanaconda/core/constants.py +@@ -129,8 +129,6 @@ THREAD_KEYBOARD_INIT = "AnaKeyboardThread" + THREAD_ADD_LAYOUTS_INIT = "AnaAddLayoutsInitThread" + THREAD_NTP_SERVER_CHECK = "AnaNTPserver" + THREAD_DBUS_TASK = "AnaTaskThread" +-THREAD_SUBSCRIPTION = "AnaSubscriptionThread" +-THREAD_SUBSCRIPTION_SPOKE_INIT = "AnaSubscriptionSpokeInitThread" + + # Geolocation constants + +@@ -442,17 +440,6 @@ SOURCE_REPO_FILE_TYPES = ( + SOURCE_TYPE_CDN, + ) + +-# Payload sources overriden by the CDN +- +-# This set lists sources the Red Hat CDN should automatically +-# override if the system gets registered during installation. +-# At the moment there is just the CDROM source, as almost +-# always the CDN content will be much more up to date and +-# more secure than the local content on the DVD image. +-SOURCE_TYPES_OVERRIDEN_BY_CDN = ( +- SOURCE_TYPE_CDROM +-) +- + # Payload URL source types. + URL_TYPE_BASEURL = "BASEURL" + URL_TYPE_MIRRORLIST = "MIRRORLIST" +@@ -461,25 +448,6 @@ URL_TYPE_METALINK = "METALINK" + # Default values of DNF repository configuration + DNF_DEFAULT_REPO_COST = 1000 + +-# Subscription request types +-# +-# Subscription request can currently be one of two types: +-# - using username and password for authentication +-# - using organization id and one or more authentication keys +-# for authentication +-SUBSCRIPTION_REQUEST_TYPE_USERNAME_PASSWORD = "username_password" +-SUBSCRIPTION_REQUEST_TYPE_ORG_KEY = "org_activation_key" +- +-SUBSCRIPTION_REQUEST_VALID_TYPES = { +- SUBSCRIPTION_REQUEST_TYPE_USERNAME_PASSWORD, +- SUBSCRIPTION_REQUEST_TYPE_ORG_KEY, +-} +- +-# Default authentication for subscription requests is +-# username password - this is basically to avoid the invalid +-# case of request not having a type set. +-DEFAULT_SUBSCRIPTION_REQUEST_TYPE = SUBSCRIPTION_REQUEST_TYPE_USERNAME_PASSWORD +- + # How long to wait for the RHSM service to become available after it is started. + # - in seconds + # - based on the default 90 second systemd service activation timeout +diff --git a/pyanaconda/core/kickstart/commands.py b/pyanaconda/core/kickstart/commands.py +index c5e1b29..e48ecee 100644 +--- a/pyanaconda/core/kickstart/commands.py ++++ b/pyanaconda/core/kickstart/commands.py +@@ -67,7 +67,6 @@ from pykickstart.commands.reboot import F23_Reboot as Reboot + from pykickstart.commands.repo import RHEL8_Repo as Repo + from pykickstart.commands.reqpart import F23_ReqPart as ReqPart + from pykickstart.commands.rescue import F10_Rescue as Rescue +-from pykickstart.commands.rhsm import RHEL8_RHSM as RHSM + from pykickstart.commands.rootpw import F18_RootPw as RootPw + from pykickstart.commands.selinux import FC3_SELinux as SELinux + from pykickstart.commands.services import FC6_Services as Services +diff --git a/pyanaconda/core/subscription.py b/pyanaconda/core/subscription.py +deleted file mode 100644 +index 03e8c1a..0000000 +--- a/pyanaconda/core/subscription.py ++++ /dev/null +@@ -1,40 +0,0 @@ +-# +-# Subscription related helper functions. +-# +-# Copyright (C) 2020 Red Hat, Inc. All rights reserved. +-# +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2 of the License, or +-# (at your option) any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +-# +-# You should have received a copy of the GNU General Public License +-# along with this program. If not, see . +-# +- +-import os +- +-from pyanaconda.core import util +-from pyanaconda.core.constants import RHSM_SYSPURPOSE_FILE_PATH +- +- +-def check_system_purpose_set(sysroot="/"): +- """Check if System Purpose has been set for the system. +- +- By manipulating the sysroot parameter it is possible to +- check is System Purpose has been set for both the installation +- environment and the target system. +- +- For installation environment use "/", for the target system +- path to the installation root. +- +- :param str sysroot: system root where to check +- :return: True if System Purpose has been set, False otherwise +- """ +- syspurpose_path = util.join_paths(sysroot, RHSM_SYSPURPOSE_FILE_PATH) +- return os.path.exists(syspurpose_path) +diff --git a/pyanaconda/installation.py b/pyanaconda/installation.py +index 6981562..6505838 100644 +--- a/pyanaconda/installation.py ++++ b/pyanaconda/installation.py +@@ -22,7 +22,7 @@ from pyanaconda.core.constants import PAYLOAD_LIVE_TYPES + from pyanaconda.core.kernel import kernel_arguments + from pyanaconda.modules.common.constants.objects import BOOTLOADER, SNAPSHOT, FIREWALL + from pyanaconda.modules.common.constants.services import STORAGE, USERS, SERVICES, NETWORK, SECURITY, \ +- LOCALIZATION, TIMEZONE, BOSS, SUBSCRIPTION ++ LOCALIZATION, TIMEZONE, BOSS + from pyanaconda.modules.common.structures.requirement import Requirement + from pyanaconda.modules.common.task import sync_run_task + from pyanaconda.modules.common.util import is_module_available +@@ -80,16 +80,6 @@ def _prepare_configuration(payload, ksdata): + configuration_queue.queue_started.connect(lambda x: progress_message(x.status_message)) + configuration_queue.task_completed.connect(lambda x: progress_step(x.name)) + +- # add installation tasks for the Subscription DBus module +- if is_module_available(SUBSCRIPTION): +- # we only run the tasks if the Subscription module is available +- subscription_config = TaskQueue("Subscription configuration", +- N_("Configuring Red Hat subscription")) +- subscription_proxy = SUBSCRIPTION.get_proxy() +- subscription_dbus_tasks = subscription_proxy.InstallWithTasks() +- subscription_config.append_dbus_tasks(SUBSCRIPTION, subscription_dbus_tasks) +- configuration_queue.append(subscription_config) +- + # schedule the execute methods of ksdata that require an installed system to be present + os_config = TaskQueue("Installed system configuration", N_("Configuring installed system")) + +@@ -316,7 +306,7 @@ def _prepare_installation(payload, ksdata): + # add package requirements from modules + # - iterate over all modules we know have valid package requirements + # - add any requirements found to the payload requirement tracking +- modules_with_package_requirements = [SECURITY, NETWORK, TIMEZONE, STORAGE, SUBSCRIPTION] ++ modules_with_package_requirements = [SECURITY, NETWORK, TIMEZONE, STORAGE] + for module in modules_with_package_requirements: + # Skip unavailable modules. + if not is_module_available(module): +diff --git a/pyanaconda/modules/Makefile.am b/pyanaconda/modules/Makefile.am +index 903cf32..7bd86b5 100644 +--- a/pyanaconda/modules/Makefile.am ++++ b/pyanaconda/modules/Makefile.am +@@ -15,7 +15,7 @@ + # You should have received a copy of the GNU Lesser General Public License + # along with this program. If not, see . + +-SUBDIRS = common boss timezone network localization security users payloads storage services subscription ++SUBDIRS = common boss timezone network localization security users payloads storage services + + pkgpyexecdir = $(pyexecdir)/py$(PACKAGE_NAME) + modulesdir = $(pkgpyexecdir)/modules +diff --git a/pyanaconda/modules/Makefile.in b/pyanaconda/modules/Makefile.in +index 8402ce3..97ebc74 100644 +--- a/pyanaconda/modules/Makefile.in ++++ b/pyanaconda/modules/Makefile.in +@@ -372,7 +372,7 @@ target_alias = @target_alias@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-SUBDIRS = common boss timezone network localization security users payloads storage services subscription ++SUBDIRS = common boss timezone network localization security users payloads storage services + modulesdir = $(pkgpyexecdir)/modules + modules_PYTHON = $(srcdir)/*.py + MAINTAINERCLEANFILES = Makefile.in +diff --git a/pyanaconda/modules/common/constants/namespaces.py b/pyanaconda/modules/common/constants/namespaces.py +index 9f66178..1556296 100644 +--- a/pyanaconda/modules/common/constants/namespaces.py ++++ b/pyanaconda/modules/common/constants/namespaces.py +@@ -101,12 +101,6 @@ SOURCE_NAMESPACE = ( + "Source" + ) + +-# System service namespaces +- +-RHSM_NAMESPACE = ( +- "com", "redhat", "RHSM1" +-) +- + NETWORK_MANAGER_NAMESPACE = ( + "org", "freedesktop", "NetworkManager" + ) +diff --git a/pyanaconda/modules/common/constants/objects.py b/pyanaconda/modules/common/constants/objects.py +index ea2fdc7..ec653fa 100644 +--- a/pyanaconda/modules/common/constants/objects.py ++++ b/pyanaconda/modules/common/constants/objects.py +@@ -19,7 +19,7 @@ + from dasbus.identifier import DBusObjectIdentifier + from pyanaconda.modules.common.constants.namespaces import STORAGE_NAMESPACE, NETWORK_NAMESPACE, \ + PARTITIONING_NAMESPACE, DEVICE_TREE_NAMESPACE, \ +- PAYLOADS_NAMESPACE, RHSM_NAMESPACE ++ PAYLOADS_NAMESPACE + + # Storage objects. + +@@ -116,41 +116,3 @@ PAYLOAD_PACKAGES = DBusObjectIdentifier( + basename="Packages" + ) + +-# System services +- +-# Subscription objects. +- +-RHSM_CONFIG = DBusObjectIdentifier( +- namespace=RHSM_NAMESPACE, +- basename="Config" +-) +- +-RHSM_REGISTER_SERVER = DBusObjectIdentifier( +- namespace=RHSM_NAMESPACE, +- basename="RegisterServer" +-) +- +-RHSM_REGISTER = DBusObjectIdentifier( +- namespace=RHSM_NAMESPACE, +- basename="Register" +-) +- +-RHSM_UNREGISTER = DBusObjectIdentifier( +- namespace=RHSM_NAMESPACE, +- basename="Unregister" +-) +- +-RHSM_ATTACH = DBusObjectIdentifier( +- namespace=RHSM_NAMESPACE, +- basename="Attach" +-) +- +-RHSM_ENTITLEMENT = DBusObjectIdentifier( +- namespace=RHSM_NAMESPACE, +- basename="Entitlement" +-) +- +-RHSM_SYSPURPOSE = DBusObjectIdentifier( +- namespace=RHSM_NAMESPACE, +- basename="Syspurpose" +-) +diff --git a/pyanaconda/modules/common/constants/services.py b/pyanaconda/modules/common/constants/services.py +index 95eaa1d..6febe5f 100644 +--- a/pyanaconda/modules/common/constants/services.py ++++ b/pyanaconda/modules/common/constants/services.py +@@ -20,8 +20,7 @@ from pyanaconda.core.dbus import SystemBus, DBus + from dasbus.identifier import DBusServiceIdentifier + from pyanaconda.modules.common.constants.namespaces import BOSS_NAMESPACE, TIMEZONE_NAMESPACE, \ + NETWORK_NAMESPACE, LOCALIZATION_NAMESPACE, SECURITY_NAMESPACE, USERS_NAMESPACE, \ +- PAYLOADS_NAMESPACE, STORAGE_NAMESPACE, SERVICES_NAMESPACE, SUBSCRIPTION_NAMESPACE, \ +- RHSM_NAMESPACE, NETWORK_MANAGER_NAMESPACE ++ PAYLOADS_NAMESPACE, STORAGE_NAMESPACE, SERVICES_NAMESPACE, NETWORK_MANAGER_NAMESPACE + + # Anaconda services. + +@@ -93,10 +92,6 @@ LOCALED = DBusServiceIdentifier( + message_bus=SystemBus + ) + +-RHSM = DBusServiceIdentifier( +- namespace=RHSM_NAMESPACE, +- message_bus=SystemBus +-) + + NETWORK_MANAGER = DBusServiceIdentifier( + namespace=NETWORK_MANAGER_NAMESPACE, +diff --git a/pyanaconda/modules/common/errors/installation.py b/pyanaconda/modules/common/errors/installation.py +index 07da2f7..6f3200b 100644 +--- a/pyanaconda/modules/common/errors/installation.py ++++ b/pyanaconda/modules/common/errors/installation.py +@@ -86,8 +86,3 @@ class InsightsConnectError(InstallationError): + """Exception for error when connecting to Red Hat Insights.""" + pass + +- +-@dbus_error("SubscriptionTokenTransferError", namespace=ANACONDA_NAMESPACE) +-class SubscriptionTokenTransferError(InstallationError): +- """Exception for errors during subscription token transfer.""" +- pass +diff --git a/pyanaconda/modules/common/errors/subscription.py b/pyanaconda/modules/common/errors/subscription.py +deleted file mode 100644 +index a1f9cce..0000000 +--- a/pyanaconda/modules/common/errors/subscription.py ++++ /dev/null +@@ -1,39 +0,0 @@ +-# +-# DBus errors related to subscription handling +-# +-# Copyright (C) 2020 Red Hat, Inc. All rights reserved. +-# +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2 of the License, or +-# (at your option) any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +-# +-# You should have received a copy of the GNU General Public License +-# along with this program. If not, see . +-# +-from pyanaconda.core.dbus import dbus_error +-from pyanaconda.modules.common.constants.namespaces import ANACONDA_NAMESPACE +-from pyanaconda.modules.common.errors.general import AnacondaError +- +- +-@dbus_error("RegistrationError", namespace=ANACONDA_NAMESPACE) +-class RegistrationError(AnacondaError): +- """Registration attempt failed.""" +- pass +- +- +-@dbus_error("UnregistrationError", namespace=ANACONDA_NAMESPACE) +-class UnregistrationError(AnacondaError): +- """Unregistration attempt failed.""" +- pass +- +- +-@dbus_error("SubscriptionError", namespace=ANACONDA_NAMESPACE) +-class SubscriptionError(AnacondaError): +- """Subscription attempt failed.""" +- pass +diff --git a/pyanaconda/modules/common/structures/subscription.py b/pyanaconda/modules/common/structures/subscription.py +deleted file mode 100644 +index 004d349..0000000 +--- a/pyanaconda/modules/common/structures/subscription.py ++++ /dev/null +@@ -1,537 +0,0 @@ +-# +-# DBus structures for subscription related data. +-# +-# Copyright (C) 2020 Red Hat, Inc. All rights reserved. +-# +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2 of the License, or +-# (at your option) any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +-# +-# You should have received a copy of the GNU General Public License +-# along with this program. If not, see . +-# +-from dasbus.structure import DBusData +-from dasbus.typing import * # pylint: disable=wildcard-import +- +-from pyanaconda.core.constants import DEFAULT_SUBSCRIPTION_REQUEST_TYPE +- +-from pyanaconda.modules.common.structures.secret import SecretData, SecretDataList +- +-__all__ = ["SystemPurposeData", "SubscriptionRequest"] +- +-class SystemPurposeData(DBusData): +- """System purpose data.""" +- +- def __init__(self): +- self._role = "" +- self._sla = "" +- self._usage = "" +- self._addons = [] +- +- @property +- def role(self) -> Str: +- """Return the System Purpose role (if any). +- +- :return: system purpose role +- """ +- return self._role +- +- @role.setter +- def role(self, role: Str): +- self._role = role +- +- @property +- def sla(self) -> Str: +- """Return the System Purpose SLA (if any). +- +- :return: system purpose SLA +- """ +- return self._sla +- +- @sla.setter +- def sla(self, sla: Str): +- self._sla = sla +- +- @property +- def usage(self) -> Str: +- """Return the System Purpose usage (if any). +- +- :return: system purpose usage +- """ +- return self._usage +- +- @usage.setter +- def usage(self, usage: Str): +- self._usage = usage +- +- @property +- def addons(self) -> List[Str]: +- """Return list of additional layered products or features (if any). +- +- :return: system purpose addons +- """ +- return self._addons +- +- @addons.setter +- def addons(self, addons: List[Str]): +- self._addons = addons +- +- def check_data_available(self): +- """A helper function used to determining if some system purpose data is available. +- +- Otherwise we would have to query all the fields each time we want to check if we +- have any system purpose data available. +- +- :return: is any system purpose data is available +- :rtype: bool +- """ +- return any((self.role, self.sla, self.usage, self.addons)) +- +- def __eq__(self, other_instance): +- """Used to determining if other SystemPurposeData instance has the same data. +- +- Otherwise we would have to compare all the fields each time we want to check if the +- two SystemPurposeData instances have the same data. +- +- :param other_instance: another SystemPurposeData to compare with this one +- :type other_instance: SystemPurposeData instance +- :return: True if the other structure has the same system purpose data as this one, +- False otherwise +- :rtype: bool +- """ +- # if the other instance is not instance of SubscriptionRequest, +- # then it is always considered to be different +- if not isinstance(other_instance, SystemPurposeData): +- return False +- # addon ordering is not important +- if set(self.addons) != set(other_instance.addons): +- return False +- elif(self.role != other_instance.role): +- return False +- elif(self.sla != other_instance.sla): +- return False +- elif(self.usage != other_instance.usage): +- return False +- else: +- return True +- +- +-class SubscriptionRequest(DBusData): +- """Data for a subscription request. +- +- NOTE: Names of some of the fields are based on +- how the given keys are called in rhsm.conf. +- """ +- +- def __init__(self): +- # subscription request type +- # (based on authentication method used) +- self._type = DEFAULT_SUBSCRIPTION_REQUEST_TYPE +- # user identification +- # - in case an account is member +- # of multiple organizations, both +- # organization and account username +- # need to be set +- self._organization = "" +- self._redhat_account_username = "" +- # Candlepin instance +- self._server_hostname = "" +- # CDN base url +- self._rhsm_baseurl = "" +- # RHSM HTTP proxy +- self._server_proxy_hostname = "" +- self._server_proxy_port = -1 +- self._server_proxy_user = "" +- # private data +- # - we are using SecretData & SecretDataList +- # nested DBus structures to protect this +- # sensitive data +- # - this way they can be set-only & easily +- # removed from SubscriptionRequest on +- # output from the Subscription module +- # - they also support a robust way of clearing +- # previously set sensitive data if required +- self._redhat_account_password = SecretData() +- self._activation_keys = SecretDataList() +- self._server_proxy_password = SecretData() +- +- @property +- def type(self) -> Str: +- """Subscription request type. +- +- Subscription request type is based on the authentication method used. +- +- At the moment the following two are supported: +- - username + password +- - organization id + one or more activation keys +- +- By default username + password is used. +- +- Valid values are: +- "username_password" +- "org_activation_key" +- +- :return: subscription request type +- :rtype: str +- """ +- return self._type +- +- @type.setter +- def type(self, request_type: Str): +- self._type = request_type +- +- @property +- def organization(self) -> Str: +- """Organization id for subscription purposes. +- +- In most cases one of the following will be used: +- - org id + one or more activation keys +- - username + password +- +- There is also a less often expected use case, +- which applies if the same user account exists +- in multiple organizations on the same Candlepin +- instance. In such a case both username and +- organization id needs to be set. +- +- :return: organization id +- :rtype: str +- """ +- return self._organization +- +- @organization.setter +- def organization(self, organization: Str): +- self._organization = organization +- +- @property +- def account_username(self) -> Str: +- """Red Hat account username for subscription purposes. +- +- In case the account for the given username is member +- of multiple organizations, organization id needs to +- be specified as well or else the registration attempt +- will not be successful. +- +- :return: Red Hat account username +- :rtype: str +- """ +- return self._redhat_account_username +- +- @account_username.setter +- def account_username(self, account_username: Str): +- self._redhat_account_username = account_username +- +- @property +- def server_hostname(self) -> Str: +- """Subscription server hostname. +- +- This is basically a URL pointing to a Candlepin +- instance to be used. It could be the one handling +- general subscriptions hosted by Red Hat or one +- embedded in a Satellite deployment. +- +- If no custom server hostname is set, the default +- value used by subscription manager will be used, +- which is usually the URL pointing to the general +- purpose Red Hat hosted Candlepin instance. +- +- :return: Candlepin instance URL +- :rtype: str +- """ +- return self._server_hostname +- +- @server_hostname.setter +- def server_hostname(self, server_hostname: Str): +- self._server_hostname = server_hostname +- +- @property +- def rhsm_baseurl(self) -> Str: +- """CDN repository base URL. +- +- Sets the base URL for the RHSM generated +- repo file. +- +- Setting this to a non default value only +- makes sense if registering against Satellite +- (as you would want to use the repos hosted +- on the given Satellite instance) or possibly +- during testing. +- +- If no custom rhsm baseurl is set, the default +- value used by subscription managed will be used, +- which is generally baseurl for the Red Hat CDN. +- +- :return: RHSM base url +- :rtype: str +- """ +- return self._rhsm_baseurl +- +- @rhsm_baseurl.setter +- def rhsm_baseurl(self, rhsm_baseurl: Str): +- self._rhsm_baseurl = rhsm_baseurl +- +- @property +- def server_proxy_hostname(self) -> Str: +- """RHSM HTTP proxy - hostname. +- +- This is the hostname of the RHSM HTTP +- proxy, which will be used for subscription +- purposes only, eq. this will not configure +- a system wide HTTP proxy. +- +- :return: RHSM HTTP proxy hostname +- :rtype: str +- """ +- return self._server_proxy_hostname +- +- @server_proxy_hostname.setter +- def server_proxy_hostname(self, hostname: Str): +- self._server_proxy_hostname = hostname +- +- @property +- def server_proxy_port(self) -> Int: +- """RHSM HTTP proxy - port number. +- +- -1 means port has not been set. +- +- :returns: RHSM HTTP proxy port number +- :rtype: int +- """ +- return self._server_proxy_port +- +- @server_proxy_port.setter +- def server_proxy_port(self, port_number: Int): +- self._server_proxy_port = port_number +- +- @property +- def server_proxy_user(self) -> Str: +- """RHSM HTTP proxy - access username. +- +- :return: RHSM HTTP proxy access username +- :rtype: str +- """ +- return self._server_proxy_user +- +- @server_proxy_user.setter +- def server_proxy_user(self, username: Str): +- self._server_proxy_user = username +- +- # private data +- # - generally sensitive data such as passwords +- # or activation keys +- # - these values should be "write only", +- # meaning data goes to the Subscription +- # module but can't be read out later one +- # via the public API +- # - only the Subscription module should have +- # have access to these data internally & +- # use them appropriately (eq. register +- # the system, authenticate to HTTP proxy, etc.) +- # - it should be also possible to explicitly +- # clear a previously set secret +- # - to protect these values we are using +- # SecretData & SecretDataList, see their +- # implementation for more information +- +- @property +- def account_password(self) -> SecretData: +- """Red Hat account password. +- +- NOTE: This property is stored in SecretData +- nested DBus structure to protect its contents. +- +- :return: Red hat account password stored in a SecretData instance +- :rtype: SecretData instance +- """ +- return self._redhat_account_password +- +- @account_password.setter +- def account_password(self, password: SecretData): +- if password: +- self.account_password_set = True +- self._redhat_account_password = password +- +- @property +- def activation_keys(self) -> SecretDataList: +- """List of activation keys. +- +- For a successful activation key based registration +- at least one activation key needs to be set. +- +- NOTE: This property is stored in SecretDataList +- nested DBus structure to protect its contents. +- +- :return: list of activation keys stored in SecretDataList instance +- :rtype: SecretDataList instance +- """ +- return self._activation_keys +- +- @activation_keys.setter +- def activation_keys(self, activation_keys: SecretDataList): +- self._activation_keys = activation_keys +- +- @property +- def server_proxy_password(self) -> SecretData: +- """RHSM HTTP proxy - access password. +- +- NOTE: This property is stored in SecretData +- nested DBus structure to protect its contents. +- +- :return: RHSM HTTP proxy password stored in SecretData instance +- :rtype: SecretData instance +- """ +- return self._server_proxy_password +- +- @server_proxy_password.setter +- def server_proxy_password(self, password: SecretData): +- self._server_proxy_password = password +- +- +-class AttachedSubscription(DBusData): +- """Data for a single attached subscription.""" +- +- def __init__(self): +- self._name = "" +- self._service_level = "" +- self._sku = "" +- self._contract = "" +- self._start_date = "" +- self._end_date = "" +- # we can expect at least one entitlement +- # to be consumed per attached subscription +- self._consumed_entitlement_count = 1 +- +- @property +- def name(self) -> Str: +- """Name of the attached subscription. +- +- Example: "Red Hat Beta Access" +- +- :return: subscription name +- :rtype: str +- """ +- return self._name +- +- @name.setter +- def name(self, name: Str): +- self._name = name +- +- @property +- def service_level(self) -> Str: +- """Service level of the attached subscription. +- +- Example: "Premium" +- +- :return: service level +- :rtype: str +- """ +- return self._service_level +- +- @service_level.setter +- def service_level(self, service_level: Str): +- self._service_level = service_level +- +- @property +- def sku(self) -> Str: +- """SKU id of the attached subscription. +- +- Example: "MBT8547" +- +- :return: SKU id +- :rtype: str +- """ +- return self._sku +- +- @sku.setter +- def sku(self, sku: Str): +- self._sku = sku +- +- @property +- def contract(self) -> Str: +- """Contract identifier. +- +- Example: "32754658" +- +- :return: contract identifier +- :rtype: str +- """ +- return self._contract +- +- @contract.setter +- def contract(self, contract: Str): +- self._contract = contract +- +- @property +- def start_date(self) -> Str: +- """Subscription start date. +- +- We do not guarantee fixed date format, +- but we aim for the date to look good +- when displayed in a GUI and be human +- readable. +- +- For context see the following bug, that +- illustrates the issues we are having with +- the source date for this property, that +- prevent us from providing a consistent +- date format: +- https://bugzilla.redhat.com/show_bug.cgi?id=1793501 +- +- Example: "Nov 04, 2019" +- +- :return: start date of the subscription +- :rtype: str +- """ +- return self._start_date +- +- @start_date.setter +- def start_date(self, start_date: Str): +- self._start_date = start_date +- +- @property +- def end_date(self) -> Str: +- """Subscription end date. +- +- We do not guarantee fixed date format, +- but we aim for the date to look good +- when displayed in a GUI and be human +- readable. +- +- For context see the following bug, that +- illustrates the issues we are having with +- the source date for this property, that +- prevent us from providing a consistent +- date format: +- https://bugzilla.redhat.com/show_bug.cgi?id=1793501 +- +- Example: "Nov 04, 2020" +- +- :return: end date of the subscription +- :rtype: str +- """ +- return self._end_date +- +- @end_date.setter +- def end_date(self, end_date: Str): +- self._end_date = end_date +- +- @property +- def consumed_entitlement_count(self) -> Int: +- """Number of consumed entitlements for this subscription. +- +- Example: "1" +- +- :return: consumed entitlement number +- :rtype: int +- """ +- return self._consumed_entitlement_count +- +- @consumed_entitlement_count.setter +- def consumed_entitlement_count(self, consumed_entitlement_count: Int): +- self._consumed_entitlement_count = consumed_entitlement_count +diff --git a/pyanaconda/modules/subscription/Makefile.am b/pyanaconda/modules/subscription/Makefile.am +deleted file mode 100644 +index bd9d154..0000000 +--- a/pyanaconda/modules/subscription/Makefile.am ++++ /dev/null +@@ -1,21 +0,0 @@ +-# +-# Copyright (C) 2020 Red Hat, Inc. +-# +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU Lesser General Public License as published +-# by the Free Software Foundation; either version 2.1 of the License, or +-# (at your option) any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU Lesser General Public License for more details. +-# +-# You should have received a copy of the GNU Lesser General Public License +-# along with this program. If not, see . +- +-pkgpyexecdir = $(pyexecdir)/py$(PACKAGE_NAME) +-subscriptiondir = $(pkgpyexecdir)/modules/subscription +-subscription_PYTHON = $(srcdir)/*.py +- +-MAINTAINERCLEANFILES = Makefile.in +diff --git a/pyanaconda/modules/subscription/Makefile.in b/pyanaconda/modules/subscription/Makefile.in +deleted file mode 100644 +index 2bf4319..0000000 +--- a/pyanaconda/modules/subscription/Makefile.in ++++ /dev/null +@@ -1,567 +0,0 @@ +-# Makefile.in generated by automake 1.16.1 from Makefile.am. +-# @configure_input@ +- +-# Copyright (C) 1994-2018 Free Software Foundation, Inc. +- +-# This Makefile.in is free software; the Free Software Foundation +-# gives unlimited permission to copy and/or distribute it, +-# with or without modifications, as long as this notice is preserved. +- +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +-# PARTICULAR PURPOSE. +- +-@SET_MAKE@ +- +-# +-# Copyright (C) 2020 Red Hat, Inc. +-# +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU Lesser General Public License as published +-# by the Free Software Foundation; either version 2.1 of the License, or +-# (at your option) any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU Lesser General Public License for more details. +-# +-# You should have received a copy of the GNU Lesser General Public License +-# along with this program. If not, see . +-VPATH = @srcdir@ +-am__is_gnu_make = { \ +- if test -z '$(MAKELEVEL)'; then \ +- false; \ +- elif test -n '$(MAKE_HOST)'; then \ +- true; \ +- elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ +- true; \ +- else \ +- false; \ +- fi; \ +-} +-am__make_running_with_option = \ +- case $${target_option-} in \ +- ?) ;; \ +- *) echo "am__make_running_with_option: internal error: invalid" \ +- "target option '$${target_option-}' specified" >&2; \ +- exit 1;; \ +- esac; \ +- has_opt=no; \ +- sane_makeflags=$$MAKEFLAGS; \ +- if $(am__is_gnu_make); then \ +- sane_makeflags=$$MFLAGS; \ +- else \ +- case $$MAKEFLAGS in \ +- *\\[\ \ ]*) \ +- bs=\\; \ +- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ +- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ +- esac; \ +- fi; \ +- skip_next=no; \ +- strip_trailopt () \ +- { \ +- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ +- }; \ +- for flg in $$sane_makeflags; do \ +- test $$skip_next = yes && { skip_next=no; continue; }; \ +- case $$flg in \ +- *=*|--*) continue;; \ +- -*I) strip_trailopt 'I'; skip_next=yes;; \ +- -*I?*) strip_trailopt 'I';; \ +- -*O) strip_trailopt 'O'; skip_next=yes;; \ +- -*O?*) strip_trailopt 'O';; \ +- -*l) strip_trailopt 'l'; skip_next=yes;; \ +- -*l?*) strip_trailopt 'l';; \ +- -[dEDm]) skip_next=yes;; \ +- -[JT]) skip_next=yes;; \ +- esac; \ +- case $$flg in \ +- *$$target_option*) has_opt=yes; break;; \ +- esac; \ +- done; \ +- test $$has_opt = yes +-am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +-am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +-pkgdatadir = $(datadir)/@PACKAGE@ +-pkgincludedir = $(includedir)/@PACKAGE@ +-pkglibdir = $(libdir)/@PACKAGE@ +-pkglibexecdir = $(libexecdir)/@PACKAGE@ +-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +-install_sh_DATA = $(install_sh) -c -m 644 +-install_sh_PROGRAM = $(install_sh) -c +-install_sh_SCRIPT = $(install_sh) -c +-INSTALL_HEADER = $(INSTALL_DATA) +-transform = $(program_transform_name) +-NORMAL_INSTALL = : +-PRE_INSTALL = : +-POST_INSTALL = : +-NORMAL_UNINSTALL = : +-PRE_UNINSTALL = : +-POST_UNINSTALL = : +-build_triplet = @build@ +-host_triplet = @host@ +-subdir = pyanaconda/modules/subscription +-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ +- $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ +- $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ +- $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ +- $(ACLOCAL_M4) +-DIST_COMMON = $(srcdir)/Makefile.am $(subscription_PYTHON) \ +- $(am__DIST_COMMON) +-mkinstalldirs = $(install_sh) -d +-CONFIG_HEADER = $(top_builddir)/config.h +-CONFIG_CLEAN_FILES = +-CONFIG_CLEAN_VPATH_FILES = +-AM_V_P = $(am__v_P_@AM_V@) +-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +-am__v_P_0 = false +-am__v_P_1 = : +-AM_V_GEN = $(am__v_GEN_@AM_V@) +-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +-am__v_GEN_0 = @echo " GEN " $@; +-am__v_GEN_1 = +-AM_V_at = $(am__v_at_@AM_V@) +-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +-am__v_at_0 = @ +-am__v_at_1 = +-SOURCES = +-DIST_SOURCES = +-am__can_run_installinfo = \ +- case $$AM_UPDATE_INFO_DIR in \ +- n|no|NO) false;; \ +- *) (install-info --version) >/dev/null 2>&1;; \ +- esac +-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +-am__vpath_adj = case $$p in \ +- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ +- *) f=$$p;; \ +- esac; +-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +-am__install_max = 40 +-am__nobase_strip_setup = \ +- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +-am__nobase_strip = \ +- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +-am__nobase_list = $(am__nobase_strip_setup); \ +- for p in $$list; do echo "$$p $$p"; done | \ +- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ +- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ +- if (++n[$$2] == $(am__install_max)) \ +- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ +- END { for (dir in files) print dir, files[dir] }' +-am__base_list = \ +- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ +- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +-am__uninstall_files_from_dir = { \ +- test -z "$$files" \ +- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ +- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ +- $(am__cd) "$$dir" && rm -f $$files; }; \ +- } +-am__py_compile = PYTHON=$(PYTHON) $(SHELL) $(py_compile) +-am__installdirs = "$(DESTDIR)$(subscriptiondir)" +-am__pep3147_tweak = \ +- sed -e 's|\.py$$||' -e 's|[^/]*$$|__pycache__/&.*.py|' +-py_compile = $(top_srcdir)/py-compile +-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/py-compile +-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +-ACLOCAL = @ACLOCAL@ +-AMTAR = @AMTAR@ +-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +-ANACONDA_RELEASE = @ANACONDA_RELEASE@ +-AR = @AR@ +-AUTOCONF = @AUTOCONF@ +-AUTOHEADER = @AUTOHEADER@ +-AUTOMAKE = @AUTOMAKE@ +-AWK = @AWK@ +-CC = @CC@ +-CCDEPMODE = @CCDEPMODE@ +-CFLAGS = @CFLAGS@ +-CPP = @CPP@ +-CPPFLAGS = @CPPFLAGS@ +-CYGPATH_W = @CYGPATH_W@ +-DEFS = @DEFS@ +-DEPDIR = @DEPDIR@ +-DLLTOOL = @DLLTOOL@ +-DSYMUTIL = @DSYMUTIL@ +-DUMPBIN = @DUMPBIN@ +-ECHO_C = @ECHO_C@ +-ECHO_N = @ECHO_N@ +-ECHO_T = @ECHO_T@ +-EGREP = @EGREP@ +-EXEEXT = @EXEEXT@ +-FGREP = @FGREP@ +-GREP = @GREP@ +-INSTALL = @INSTALL@ +-INSTALL_DATA = @INSTALL_DATA@ +-INSTALL_PROGRAM = @INSTALL_PROGRAM@ +-INSTALL_SCRIPT = @INSTALL_SCRIPT@ +-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +-LD = @LD@ +-LDFLAGS = @LDFLAGS@ +-LIBARCHIVE_CFLAGS = @LIBARCHIVE_CFLAGS@ +-LIBARCHIVE_LIBS = @LIBARCHIVE_LIBS@ +-LIBOBJS = @LIBOBJS@ +-LIBS = @LIBS@ +-LIBTOOL = @LIBTOOL@ +-LIPO = @LIPO@ +-LN_S = @LN_S@ +-LTLIBOBJS = @LTLIBOBJS@ +-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +-MAKEINFO = @MAKEINFO@ +-MANIFEST_TOOL = @MANIFEST_TOOL@ +-MKDIR_P = @MKDIR_P@ +-MSGCAT = @MSGCAT@ +-MSGFMT = @MSGFMT@ +-MSGMERGE = @MSGMERGE@ +-NM = @NM@ +-NMEDIT = @NMEDIT@ +-OBJDUMP = @OBJDUMP@ +-OBJEXT = @OBJEXT@ +-OTOOL = @OTOOL@ +-OTOOL64 = @OTOOL64@ +-PACKAGE = @PACKAGE@ +-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +-PACKAGE_NAME = @PACKAGE_NAME@ +-PACKAGE_RELEASE = @PACKAGE_RELEASE@ +-PACKAGE_STRING = @PACKAGE_STRING@ +-PACKAGE_TARNAME = @PACKAGE_TARNAME@ +-PACKAGE_URL = @PACKAGE_URL@ +-PACKAGE_VERSION = @PACKAGE_VERSION@ +-PATH_SEPARATOR = @PATH_SEPARATOR@ +-PKG_CONFIG = @PKG_CONFIG@ +-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +-PYTHON = @PYTHON@ +-PYTHON3_CFLAGS = @PYTHON3_CFLAGS@ +-PYTHON3_LIBS = @PYTHON3_LIBS@ +-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +-PYTHON_PLATFORM = @PYTHON_PLATFORM@ +-PYTHON_PREFIX = @PYTHON_PREFIX@ +-PYTHON_VERSION = @PYTHON_VERSION@ +-RANLIB = @RANLIB@ +-RPM_CFLAGS = @RPM_CFLAGS@ +-RPM_LIBS = @RPM_LIBS@ +-SED = @SED@ +-SET_MAKE = @SET_MAKE@ +-SHELL = @SHELL@ +-STRIP = @STRIP@ +-VERSION = @VERSION@ +-XGETTEXT = @XGETTEXT@ +-abs_builddir = @abs_builddir@ +-abs_srcdir = @abs_srcdir@ +-abs_top_builddir = @abs_top_builddir@ +-abs_top_srcdir = @abs_top_srcdir@ +-ac_ct_AR = @ac_ct_AR@ +-ac_ct_CC = @ac_ct_CC@ +-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +-am__include = @am__include@ +-am__leading_dot = @am__leading_dot@ +-am__quote = @am__quote@ +-am__tar = @am__tar@ +-am__untar = @am__untar@ +-bindir = @bindir@ +-build = @build@ +-build_alias = @build_alias@ +-build_cpu = @build_cpu@ +-build_os = @build_os@ +-build_vendor = @build_vendor@ +-builddir = @builddir@ +-datadir = @datadir@ +-datarootdir = @datarootdir@ +-docdir = @docdir@ +-dvidir = @dvidir@ +-exec_prefix = @exec_prefix@ +-host = @host@ +-host_alias = @host_alias@ +-host_cpu = @host_cpu@ +-host_os = @host_os@ +-host_vendor = @host_vendor@ +-htmldir = @htmldir@ +-includedir = @includedir@ +-infodir = @infodir@ +-install_sh = @install_sh@ +-libdir = @libdir@ +-libexecdir = @libexecdir@ +-localedir = @localedir@ +-localstatedir = @localstatedir@ +-mandir = @mandir@ +-mkdir_p = @mkdir_p@ +-oldincludedir = @oldincludedir@ +-pdfdir = @pdfdir@ +-pkgpyexecdir = $(pyexecdir)/py$(PACKAGE_NAME) +-pkgpythondir = @pkgpythondir@ +-prefix = @prefix@ +-program_transform_name = @program_transform_name@ +-psdir = @psdir@ +-pyexecdir = @pyexecdir@ +-pythondir = @pythondir@ +-sbindir = @sbindir@ +-sharedstatedir = @sharedstatedir@ +-srcdir = @srcdir@ +-subdirs = @subdirs@ +-sysconfdir = @sysconfdir@ +-target_alias = @target_alias@ +-top_build_prefix = @top_build_prefix@ +-top_builddir = @top_builddir@ +-top_srcdir = @top_srcdir@ +-subscriptiondir = $(pkgpyexecdir)/modules/subscription +-subscription_PYTHON = $(srcdir)/*.py +-MAINTAINERCLEANFILES = Makefile.in +-all: all-am +- +-.SUFFIXES: +-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +- @for dep in $?; do \ +- case '$(am__configure_deps)' in \ +- *$$dep*) \ +- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ +- && { if test -f $@; then exit 0; else break; fi; }; \ +- exit 1;; \ +- esac; \ +- done; \ +- echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign pyanaconda/modules/subscription/Makefile'; \ +- $(am__cd) $(top_srcdir) && \ +- $(AUTOMAKE) --foreign pyanaconda/modules/subscription/Makefile +-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status +- @case '$?' in \ +- *config.status*) \ +- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ +- *) \ +- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ +- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ +- esac; +- +-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +- +-$(top_srcdir)/configure: $(am__configure_deps) +- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +-$(ACLOCAL_M4): $(am__aclocal_m4_deps) +- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +-$(am__aclocal_m4_deps): +- +-mostlyclean-libtool: +- -rm -f *.lo +- +-clean-libtool: +- -rm -rf .libs _libs +-install-subscriptionPYTHON: $(subscription_PYTHON) +- @$(NORMAL_INSTALL) +- @list='$(subscription_PYTHON)'; dlist=; list2=; test -n "$(subscriptiondir)" || list=; \ +- if test -n "$$list"; then \ +- echo " $(MKDIR_P) '$(DESTDIR)$(subscriptiondir)'"; \ +- $(MKDIR_P) "$(DESTDIR)$(subscriptiondir)" || exit 1; \ +- fi; \ +- for p in $$list; do \ +- if test -f "$$p"; then b=; else b="$(srcdir)/"; fi; \ +- if test -f $$b$$p; then \ +- $(am__strip_dir) \ +- dlist="$$dlist $$f"; \ +- list2="$$list2 $$b$$p"; \ +- else :; fi; \ +- done; \ +- for file in $$list2; do echo $$file; done | $(am__base_list) | \ +- while read files; do \ +- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(subscriptiondir)'"; \ +- $(INSTALL_DATA) $$files "$(DESTDIR)$(subscriptiondir)" || exit $$?; \ +- done || exit $$?; \ +- if test -n "$$dlist"; then \ +- $(am__py_compile) --destdir "$(DESTDIR)" \ +- --basedir "$(subscriptiondir)" $$dlist; \ +- else :; fi +- +-uninstall-subscriptionPYTHON: +- @$(NORMAL_UNINSTALL) +- @list='$(subscription_PYTHON)'; test -n "$(subscriptiondir)" || list=; \ +- py_files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ +- test -n "$$py_files" || exit 0; \ +- dir='$(DESTDIR)$(subscriptiondir)'; \ +- pyc_files=`echo "$$py_files" | sed 's|$$|c|'`; \ +- pyo_files=`echo "$$py_files" | sed 's|$$|o|'`; \ +- py_files_pep3147=`echo "$$py_files" | $(am__pep3147_tweak)`; \ +- echo "$$py_files_pep3147";\ +- pyc_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|c|'`; \ +- pyo_files_pep3147=`echo "$$py_files_pep3147" | sed 's|$$|o|'`; \ +- st=0; \ +- for files in \ +- "$$py_files" \ +- "$$pyc_files" \ +- "$$pyo_files" \ +- "$$pyc_files_pep3147" \ +- "$$pyo_files_pep3147" \ +- ; do \ +- $(am__uninstall_files_from_dir) || st=$$?; \ +- done; \ +- exit $$st +-tags TAGS: +- +-ctags CTAGS: +- +-cscope cscopelist: +- +- +-distdir: $(BUILT_SOURCES) +- $(MAKE) $(AM_MAKEFLAGS) distdir-am +- +-distdir-am: $(DISTFILES) +- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ +- list='$(DISTFILES)'; \ +- dist_files=`for file in $$list; do echo $$file; done | \ +- sed -e "s|^$$srcdirstrip/||;t" \ +- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ +- case $$dist_files in \ +- */*) $(MKDIR_P) `echo "$$dist_files" | \ +- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ +- sort -u` ;; \ +- esac; \ +- for file in $$dist_files; do \ +- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ +- if test -d $$d/$$file; then \ +- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ +- if test -d "$(distdir)/$$file"; then \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ +- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ +- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ +- fi; \ +- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ +- else \ +- test -f "$(distdir)/$$file" \ +- || cp -p $$d/$$file "$(distdir)/$$file" \ +- || exit 1; \ +- fi; \ +- done +-check-am: all-am +-check: check-am +-all-am: Makefile +-installdirs: +- for dir in "$(DESTDIR)$(subscriptiondir)"; do \ +- test -z "$$dir" || $(MKDIR_P) "$$dir"; \ +- done +-install: install-am +-install-exec: install-exec-am +-install-data: install-data-am +-uninstall: uninstall-am +- +-install-am: all-am +- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am +- +-installcheck: installcheck-am +-install-strip: +- if test -z '$(STRIP)'; then \ +- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ +- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ +- install; \ +- else \ +- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ +- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ +- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ +- fi +-mostlyclean-generic: +- +-clean-generic: +- +-distclean-generic: +- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) +- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) +- +-maintainer-clean-generic: +- @echo "This command is intended for maintainers to use" +- @echo "it deletes files that may require special tools to rebuild." +- -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +-clean: clean-am +- +-clean-am: clean-generic clean-libtool mostlyclean-am +- +-distclean: distclean-am +- -rm -f Makefile +-distclean-am: clean-am distclean-generic +- +-dvi: dvi-am +- +-dvi-am: +- +-html: html-am +- +-html-am: +- +-info: info-am +- +-info-am: +- +-install-data-am: install-subscriptionPYTHON +- +-install-dvi: install-dvi-am +- +-install-dvi-am: +- +-install-exec-am: +- +-install-html: install-html-am +- +-install-html-am: +- +-install-info: install-info-am +- +-install-info-am: +- +-install-man: +- +-install-pdf: install-pdf-am +- +-install-pdf-am: +- +-install-ps: install-ps-am +- +-install-ps-am: +- +-installcheck-am: +- +-maintainer-clean: maintainer-clean-am +- -rm -f Makefile +-maintainer-clean-am: distclean-am maintainer-clean-generic +- +-mostlyclean: mostlyclean-am +- +-mostlyclean-am: mostlyclean-generic mostlyclean-libtool +- +-pdf: pdf-am +- +-pdf-am: +- +-ps: ps-am +- +-ps-am: +- +-uninstall-am: uninstall-subscriptionPYTHON +- +-.MAKE: install-am install-strip +- +-.PHONY: all all-am check check-am clean clean-generic clean-libtool \ +- cscopelist-am ctags-am distclean distclean-generic \ +- distclean-libtool distdir dvi dvi-am html html-am info info-am \ +- install install-am install-data install-data-am install-dvi \ +- install-dvi-am install-exec install-exec-am install-html \ +- install-html-am install-info install-info-am install-man \ +- install-pdf install-pdf-am install-ps install-ps-am \ +- install-strip install-subscriptionPYTHON installcheck \ +- installcheck-am installdirs maintainer-clean \ +- maintainer-clean-generic mostlyclean mostlyclean-generic \ +- mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ +- uninstall-am uninstall-subscriptionPYTHON +- +-.PRECIOUS: Makefile +- +- +-# Tell versions [3.59,3.63) of GNU make to not export all variables. +-# Otherwise a system limit (for SysV at least) may be exceeded. +-.NOEXPORT: +diff --git a/pyanaconda/modules/subscription/__main__.py b/pyanaconda/modules/subscription/__main__.py +deleted file mode 100644 +index e0f3dfa..0000000 +--- a/pyanaconda/modules/subscription/__main__.py ++++ /dev/null +@@ -1,25 +0,0 @@ +-# +-# Subscription DBus service launcher. +-# +-# Copyright (C) 2020 Red Hat, Inc. +-# +-# This copyrighted material is made available to anyone wishing to use, +-# modify, copy, or redistribute it subject to the terms and conditions of +-# the GNU General Public License v.2, or (at your option) any later version. +-# This program is distributed in the hope that it will be useful, but WITHOUT +-# ANY WARRANTY expressed or implied, including the implied warranties of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +-# Public License for more details. You should have received a copy of the +-# GNU General Public License along with this program; if not, write to the +-# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the +-# source code or documentation are not subject to the GNU General Public +-# License and may only be used or replicated with the express permission of +-# Red Hat, Inc. +-# +-from pyanaconda.modules.common import init +-init() +- +-from pyanaconda.modules.subscription.subscription import SubscriptionService +-service = SubscriptionService() +-service.run() +diff --git a/pyanaconda/modules/subscription/installation.py b/pyanaconda/modules/subscription/installation.py +deleted file mode 100644 +index 1e86949..0000000 +--- a/pyanaconda/modules/subscription/installation.py ++++ /dev/null +@@ -1,248 +0,0 @@ +-# +-# Copyright (C) 2020 Red Hat, Inc. +-# +-# This copyrighted material is made available to anyone wishing to use, +-# modify, copy, or redistribute it subject to the terms and conditions of +-# the GNU General Public License v.2, or (at your option) any later version. +-# This program is distributed in the hope that it will be useful, but WITHOUT +-# ANY WARRANTY expressed or implied, including the implied warranties of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +-# Public License for more details. You should have received a copy of the +-# GNU General Public License along with this program; if not, write to the +-# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the +-# source code or documentation are not subject to the GNU General Public +-# License and may only be used or replicated with the express permission of +-# Red Hat, Inc. +-# +-import os +-import glob +-import shutil +- +-from dasbus.typing import get_variant, Str +- +-from pyanaconda.core import util +-from pyanaconda.core.constants import RHSM_SYSPURPOSE_FILE_PATH +-from pyanaconda.core.subscription import check_system_purpose_set +- +-from pyanaconda.modules.common.task import Task +-from pyanaconda.modules.common.errors.installation import InsightsConnectError, \ +- InsightsClientMissingError, SubscriptionTokenTransferError +- +-from pyanaconda.anaconda_loggers import get_module_logger +-log = get_module_logger(__name__) +- +- +-class ConnectToInsightsTask(Task): +- """Connect the target system to Red Hat Insights.""" +- +- INSIGHTS_TOOL_PATH = "/usr/bin/insights-client" +- +- def __init__(self, sysroot, subscription_attached, connect_to_insights): +- """Create a new task. +- +- :param str sysroot: target system root path +- :param bool subscription_attached: if True then the system has been subscribed, +- False otherwise +- :param bool connect_to_insights: if True then connect the system to Insights, +- if False do nothing +- """ +- super().__init__() +- self._sysroot = sysroot +- self._subscription_attached = subscription_attached +- self._connect_to_insights = connect_to_insights +- +- @property +- def name(self): +- return "Connect the target system to Red Hat Insights" +- +- def run(self): +- """Connect the target system to Red Hat Insights.""" +- # check if we should connect to Red Hat Insights +- if not self._connect_to_insights: +- log.debug("insights-connect-task: Insights not requested, skipping") +- return +- elif not self._subscription_attached: +- log.debug("insights-connect-task: " +- "Insights requested but target system is not subscribed, skipping") +- return +- +- insights_path = util.join_paths(self._sysroot, self.INSIGHTS_TOOL_PATH) +- # check the insights client utility is available +- if not os.path.isfile(insights_path): +- raise InsightsClientMissingError( +- "The insight-client tool ({}) is not available.".format(self.INSIGHTS_TOOL_PATH) +- ) +- +- # tell the insights client to connect to insights +- log.debug("insights-connect-task: connecting to insights") +- rc = util.execWithRedirect(self.INSIGHTS_TOOL_PATH, ["--register"], root=self._sysroot) +- if rc: +- raise InsightsConnectError("Failed to connect to Red Hat Insights.") +- +- +-class RestoreRHSMDefaultsTask(Task): +- """Restore RHSM defaults we changed for install time purposes. +- +- At the moment this means setting the RHSM log level back to INFO +- from DEBUG and making sure SSL certificate validation is enabled +- (as we might turn it off for the installation run if requested by +- the user). +- """ +- +- def __init__(self, rhsm_config_proxy): +- """Create a new task. +- :param rhsm_config_proxy: DBus proxy for the RHSM Config object +- """ +- super().__init__() +- self._rhsm_config_proxy = rhsm_config_proxy +- +- @property +- def name(self): +- return "Restoring subscription manager defaults" +- +- def run(self): +- """Restore RHSM defaults we changed. +- +- We previously set the RHSM log level to DEBUG, which is also +- reflected in rhsm.conf. This would mean RHSM would continue to +- log in debug mode also on the system once rhsm.conf has been +- copied over to the target system. +- +- The same thing needs to be done for the server.insecure key +- that we migh set to "1" previously on user request. +- +- So set the log level back to INFO before we copy the config file +- and make sure server.insecure is equal to "0". +- """ +- log.debug("subscription: setting RHSM log level back to INFO") +- log.debug("subscription: making sure RHSM SSL certificate validation is enabled") +- config_dict = { +- "logging.default_log_level": get_variant(Str, "INFO"), +- "server.insecure": get_variant(Str, "0") +- } +- +- # set all the values at once atomically +- self._rhsm_config_proxy.SetAll(config_dict, "") +- +- +-class TransferSubscriptionTokensTask(Task): +- """Transfer subscription tokens to the target system.""" +- +- RHSM_REPO_FILE_PATH = "/etc/yum.repos.d/redhat.repo" +- RHSM_CONFIG_FILE_PATH = "/etc/rhsm/rhsm.conf" +- RHSM_ENTITLEMENT_KEYS_PATH = "/etc/pki/entitlement" +- RHSM_CONSUMER_KEY_PATH = "/etc/pki/consumer/key.pem" +- RHSM_CONSUMER_CERT_PATH = "/etc/pki/consumer/cert.pem" +- +- TARGET_REPO_FOLDER_PATH = "/etc/yum.repos.d" +- +- def __init__(self, sysroot, transfer_subscription_tokens): +- """Create a new task. +- +- :param str sysroot: target system root path +- :param bool transfer_subscription_tokens: if True attempt to transfer subscription +- tokens to target system (we always transfer +- system purpose data unconditionally) +- """ +- super().__init__() +- self._sysroot = sysroot +- self._transfer_subscription_tokens = transfer_subscription_tokens +- +- @property +- def name(self): +- return "Transfer subscription tokens to target system" +- +- def _copy_pem_files(self, input_folder, output_folder, not_empty=True): +- """Copy all pem files from input_folder to output_folder. +- +- Files with the pem extension are generally encryption keys and certificates. +- If output_folder does not exist, it & any parts of its path will +- be created. +- +- :param str input_folder: input folder for the pem files +- :param str output_folder: output folder where to copy the pem files +- :return: False if the input directory does not exists or is empty, +- True after all pem files have be successfully copied +- :rtype: bool +- """ +- # check the input folder exists +- if not os.path.isdir(input_folder): +- return False +- # optionally check the input folder is not empty +- if not_empty and not os.listdir(input_folder): +- return False +- # make sure the output folder exist +- util.mkdirChain(output_folder) +- # transfer all the pem files in the input folder +- for pem_file_path in glob.glob(os.path.join(input_folder, "*.pem")): +- shutil.copy(pem_file_path, output_folder) +- # if we got this far the pem copy operation was a success +- return True +- +- def _copy_file(self, file_path, target_file_path): +- if not os.path.isfile(file_path): +- return False +- # make sure the output folder exists +- util.mkdirChain(os.path.dirname(target_file_path)) +- shutil.copy(file_path, target_file_path) +- return True +- +- def _transfer_file(self, target_path, target_name): +- """Transfer a file with nice logs and raise an exception if it does not exist.""" +- log.debug("subscription: transferring %s", target_name) +- target_repo_file_path = util.join_paths(self._sysroot, target_path) +- if not self._copy_file(target_path, target_repo_file_path): +- msg = "{} ({}) is missing".format(target_name, self.RHSM_REPO_FILE_PATH) +- raise SubscriptionTokenTransferError(msg) +- +- def _transfer_system_purpose(self): +- """Transfer the system purpose file if present. +- +- A couple notes: +- - this might be needed even if the system has not been subscribed +- during the installation and is therefore always attempted +- - this means the syspurpose tool has been called in the installation +- environment & we need to transfer the results to the target system +- """ +- if check_system_purpose_set(sysroot="/"): +- log.debug("subscription: transferring syspurpose file") +- target_syspurpose_file_path = self._sysroot + RHSM_SYSPURPOSE_FILE_PATH +- self._copy_file(RHSM_SYSPURPOSE_FILE_PATH, target_syspurpose_file_path) +- +- def _transfer_entitlement_keys(self): +- """Transfer the entitlement keys.""" +- log.debug("subscription: transferring entitlement keys") +- target_entitlement_keys_path = self._sysroot + self.RHSM_ENTITLEMENT_KEYS_PATH +- if not self._copy_pem_files(self.RHSM_ENTITLEMENT_KEYS_PATH, target_entitlement_keys_path): +- msg = "RHSM entitlement keys (from {}) are missing.".format( +- self.RHSM_ENTITLEMENT_KEYS_PATH) +- raise SubscriptionTokenTransferError(msg) +- +- def run(self): +- """Transfer the subscription tokens to the target system. +- +- Otherwise the target system would have to be registered and subscribed again +- due to missing subscription tokens. +- """ +- self._transfer_system_purpose() +- +- # the other subscription tokens are only relevant if the system has been subscribed +- if not self._transfer_subscription_tokens: +- log.debug("subscription: transfer of subscription tokens not requested") +- return +- +- # transfer entitlement keys +- self._transfer_entitlement_keys() +- +- # transfer the consumer key +- self._transfer_file(self.RHSM_CONSUMER_KEY_PATH, "RHSM consumer key") +- +- # transfer the consumer cert +- self._transfer_file(self.RHSM_CONSUMER_CERT_PATH, "RHSM consumer cert") +- +- # transfer the redhat.repo file +- self._transfer_file(self.RHSM_REPO_FILE_PATH, "RHSM repo file") +- +- # transfer the RHSM config file +- self._transfer_file(self.RHSM_CONFIG_FILE_PATH, "RHSM config file") +diff --git a/pyanaconda/modules/subscription/kickstart.py b/pyanaconda/modules/subscription/kickstart.py +deleted file mode 100644 +index 509961f..0000000 +--- a/pyanaconda/modules/subscription/kickstart.py ++++ /dev/null +@@ -1,28 +0,0 @@ +-# +-# Kickstart handler for the subscription module. +-# +-# Copyright (C) 2020 Red Hat, Inc. +-# +-# This copyrighted material is made available to anyone wishing to use, +-# modify, copy, or redistribute it subject to the terms and conditions of +-# the GNU General Public License v.2, or (at your option) any later version. +-# This program is distributed in the hope that it will be useful, but WITHOUT +-# ANY WARRANTY expressed or implied, including the implied warranties of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +-# Public License for more details. You should have received a copy of the +-# GNU General Public License along with this program; if not, write to the +-# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the +-# source code or documentation are not subject to the GNU General Public +-# License and may only be used or replicated with the express permission of +-# Red Hat, Inc. +-# +-from pyanaconda.core.kickstart import KickstartSpecification, commands as COMMANDS +- +- +-class SubscriptionKickstartSpecification(KickstartSpecification): +- +- commands = { +- "syspurpose": COMMANDS.Syspurpose, +- "rhsm": COMMANDS.RHSM +- } +diff --git a/pyanaconda/modules/subscription/subscription.py b/pyanaconda/modules/subscription/subscription.py +deleted file mode 100644 +index d71e108..0000000 +--- a/pyanaconda/modules/subscription/subscription.py ++++ /dev/null +@@ -1,789 +0,0 @@ +-# +-# Kickstart module for subscription handling. +-# +-# Copyright (C) 2020 Red Hat, Inc. +-# +-# This copyrighted material is made available to anyone wishing to use, +-# modify, copy, or redistribute it subject to the terms and conditions of +-# the GNU General Public License v.2, or (at your option) any later version. +-# This program is distributed in the hope that it will be useful, but WITHOUT +-# ANY WARRANTY expressed or implied, including the implied warranties of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +-# Public License for more details. You should have received a copy of the +-# GNU General Public License along with this program; if not, write to the +-# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the +-# source code or documentation are not subject to the GNU General Public +-# License and may only be used or replicated with the express permission of +-# Red Hat, Inc. +-# +-import copy +-import warnings +- +-from dasbus.typing import get_native +- +-from pyanaconda.core.payload import ProxyString, ProxyStringError +-from pyanaconda.core.signal import Signal +-from pyanaconda.core.constants import SECRET_TYPE_HIDDEN, SUBSCRIPTION_REQUEST_TYPE_ORG_KEY, \ +- SUBSCRIPTION_REQUEST_VALID_TYPES +-from pyanaconda.core.configuration.anaconda import conf +- +-from pyanaconda.modules.common.errors.general import InvalidValueError +-from pyanaconda.modules.common.base import KickstartService +-from pyanaconda.modules.common.structures.subscription import SystemPurposeData, \ +- SubscriptionRequest +-from pyanaconda.modules.common.structures.secret import get_public_copy +-from pyanaconda.core.dbus import DBus +- +-from pyanaconda.modules.common.constants.services import SUBSCRIPTION +-from pyanaconda.modules.common.constants.objects import RHSM_CONFIG, RHSM_REGISTER_SERVER, \ +- RHSM_UNREGISTER, RHSM_ATTACH, RHSM_ENTITLEMENT, RHSM_SYSPURPOSE +-from pyanaconda.modules.common.containers import TaskContainer +-from pyanaconda.modules.common.structures.requirement import Requirement +- +-from pyanaconda.modules.subscription import system_purpose +-from pyanaconda.modules.subscription.kickstart import SubscriptionKickstartSpecification +-from pyanaconda.modules.subscription.subscription_interface import SubscriptionInterface +-from pyanaconda.modules.subscription.installation import ConnectToInsightsTask, \ +- RestoreRHSMDefaultsTask, TransferSubscriptionTokensTask +-from pyanaconda.modules.subscription.initialization import StartRHSMTask +-from pyanaconda.modules.subscription.runtime import SetRHSMConfigurationTask, \ +- RegisterWithUsernamePasswordTask, RegisterWithOrganizationKeyTask, \ +- UnregisterTask, AttachSubscriptionTask, SystemPurposeConfigurationTask, \ +- ParseAttachedSubscriptionsTask +-from pyanaconda.modules.subscription.rhsm_observer import RHSMObserver +-from pyanaconda.modules.subscription.utils import detect_sca_from_registration_data +- +- +-from pykickstart.errors import KickstartParseWarning +- +-from pyanaconda.anaconda_loggers import get_module_logger +-log = get_module_logger(__name__) +- +- +-class SubscriptionService(KickstartService): +- """The Subscription service.""" +- +- def __init__(self): +- super().__init__() +- +- # system purpose +- +- self._valid_roles = [] +- self._valid_slas = [] +- self._valid_usage_types = [] +- +- self._system_purpose_data = SystemPurposeData() +- self.system_purpose_data_changed = Signal() +- +- self._load_valid_system_purpose_values() +- +- # subscription request +- +- self._subscription_request = SubscriptionRequest() +- self.subscription_request_changed = Signal() +- +- # attached subscriptions +- self._attached_subscriptions = [] +- self.attached_subscriptions_changed = Signal() +- +- # Insights +- +- # What are the defaults for Red Hat Insights ? +- # - during a kickstart installation, the user +- # needs to opt-in by using the rhsm command +- # with the --connect-to-insights option +- # - during a GUI interactive installation the +- # "connect to Insights" checkbox is checked by default, +- # making Insights opt-out +- # - in both cases the system also needs to be subscribed, +- # or else the system can't be connected to Insights +- self._connect_to_insights = False +- self.connect_to_insights_changed = Signal() +- +- # registration status +- self.registered_changed = Signal() +- self._registered = False +- +- # simple content access +- self.simple_content_access_enabled_changed = Signal() +- self._sca_enabled = False +- +- # subscription status +- self.subscription_attached_changed = Signal() +- self._subscription_attached = False +- +- # RHSM service startup and access +- self._rhsm_startup_task = StartRHSMTask(verify_ssl=conf.payload.verify_ssl) +- self._rhsm_observer = RHSMObserver(self._rhsm_startup_task.is_service_available) +- +- # RHSM config default values cache +- self._rhsm_config_defaults = None +- +- def publish(self): +- """Publish the module.""" +- TaskContainer.set_namespace(SUBSCRIPTION.namespace) +- DBus.publish_object(SUBSCRIPTION.object_path, SubscriptionInterface(self)) +- DBus.register_service(SUBSCRIPTION.service_name) +- +- def run(self): +- """Initiate RHSM service startup before starting the main loop. +- +- This way RHSM service can startup in parallel without blocking +- startup of the Subscription module. +- """ +- self._rhsm_startup_task.start() +- super().run() +- +- @property +- def kickstart_specification(self): +- """Return the kickstart specification.""" +- return SubscriptionKickstartSpecification +- +- def process_kickstart(self, data): +- """Process the kickstart data.""" +- log.debug("Processing kickstart data...") +- +- # system purpose +- # +- # Try if any of the values in kickstart match a valid field. +- # If it does, write the valid field value instead of the value from kickstart. +- # +- # This way a value in kickstart that has a different case and/or trailing white space +- # can still be used to preselect a value in a UI instead of being marked as a custom +- # user specified value. +- system_purpose_data = SystemPurposeData() +- +- system_purpose_data.role = system_purpose.process_field( +- data.syspurpose.role, +- self.valid_roles, +- "role" +- ) +- +- system_purpose_data.sla = system_purpose.process_field( +- data.syspurpose.sla, +- self.valid_slas, +- "sla" +- ) +- +- system_purpose_data.usage = system_purpose.process_field( +- data.syspurpose.usage, +- self.valid_usage_types, +- "usage" +- ) +- +- if data.syspurpose.addons: +- # As we do not have a list of valid addons available, we just use what was provided +- # by the user in kickstart verbatim. +- system_purpose_data.addons = data.syspurpose.addons +- +- self.set_system_purpose_data(system_purpose_data) +- +- # apply system purpose data, if any, so that it is all in place when we start +- # talking to the RHSM service +- if self.system_purpose_data.check_data_available(): +- self._apply_syspurpose() +- +- # subscription request +- +- subscription_request = SubscriptionRequest() +- +- # credentials +- if data.rhsm.organization: +- subscription_request.organization = data.rhsm.organization +- if data.rhsm.activation_keys: +- subscription_request.activation_keys.set_secret(data.rhsm.activation_keys) +- +- # if org id and at least one activation key is set, switch authentication +- # type to ORG & KEY +- if data.rhsm.organization and data.rhsm.activation_keys: +- subscription_request.type = SUBSCRIPTION_REQUEST_TYPE_ORG_KEY +- +- # custom URLs +- if data.rhsm.server_hostname: +- subscription_request.server_hostname = data.rhsm.server_hostname +- if data.rhsm.rhsm_baseurl: +- subscription_request.rhsm_baseurl = data.rhsm.rhsm_baseurl +- +- # HTTP proxy +- if data.rhsm.proxy: +- # first try to parse the proxy string from kickstart +- try: +- proxy = ProxyString(data.rhsm.proxy) +- if proxy.host: +- # ensure port is an integer and set to -1 if unknown +- port = int(proxy.port) if proxy.port else -1 +- +- subscription_request.server_proxy_hostname = proxy.host +- subscription_request.server_proxy_port = port +- +- # ensure no username translates to the expected "" +- # instead of the None returned by the ProxyString class +- subscription_request.server_proxy_user = proxy.username or "" +- subscription_request.server_proxy_password.set_secret(proxy.password) +- except ProxyStringError as e: +- # should not be fatal, but definitely logged as error +- message = "Failed to parse proxy for the rhsm command: {}".format(str(e)) +- warnings.warn(message, KickstartParseWarning) +- +- # set the resulting subscription request +- self.set_subscription_request(subscription_request) +- +- # insights +- self.set_connect_to_insights(bool(data.rhsm.connect_to_insights)) +- +- def setup_kickstart(self, data): +- """Return the kickstart string. +- +- NOTE: We are not writing out the rhsm command as the input can contain +- sensitive data (activation keys, proxy passwords) that we would have +- to omit from the output kickstart. This in turn would make the rhsm +- command incomplete & would turn the output kickstart invalid as a result. +- For this reason we skip the rhsm command completely in the output +- kickstart. +- """ +- +- # system purpose +- data.syspurpose.role = self.system_purpose_data.role +- data.syspurpose.sla = self.system_purpose_data.sla +- data.syspurpose.usage = self.system_purpose_data.usage +- data.syspurpose.addons = self.system_purpose_data.addons +- +- # system purpose configuration +- +- def _load_valid_system_purpose_values(self): +- """Load lists of valid roles, SLAs and usage types. +- +- About role/sla/validity: +- - an older installation image might have older list of valid fields, +- missing fields that have become valid after the image has been released +- - fields that have been valid in the past might be dropped in the future +- - there is no list of valid addons +- +- Due to this we need to take into account that the listing might not always be +- comprehensive and that we need to allow what might on a first glance look like +- invalid values to be written to the target system. +- """ +- roles, slas, usage_types = system_purpose.get_valid_fields() +- self._valid_roles = roles +- self._valid_slas = slas +- self._valid_usage_types = usage_types +- +- @property +- def valid_roles(self): +- """Return a list of valid roles. +- +- :return: list of valid roles +- :rtype: list of strings +- """ +- return self._valid_roles +- +- @property +- def valid_slas(self): +- """Return a list of valid SLAs. +- +- :return: list of valid SLAs +- :rtype: list of strings +- """ +- return self._valid_slas +- +- @property +- def valid_usage_types(self): +- """Return a list of valid usage types. +- +- :return: list of valid usage types +- :rtype: list of strings +- """ +- return self._valid_usage_types +- +- @property +- def system_purpose_data(self): +- """System purpose data. +- +- A DBus structure holding information about system purpose, +- such as role, sla, usage and addons. +- +- :return: system purpose DBus structure +- :rtype: DBusData instance +- """ +- return self._system_purpose_data +- +- def set_system_purpose_data(self, system_purpose_data): +- """Set system purpose data. +- +- Set the complete DBus structure containing system purpose data. +- +- :param system_purpose_data: system purpose data structure to be set +- :type system_purpose_data: DBus structure +- """ +- self._system_purpose_data = system_purpose_data +- self.system_purpose_data_changed.emit() +- log.debug("System purpose data set to %s.", system_purpose_data) +- +- def _apply_syspurpose(self): +- """Apply system purpose information to the installation environment.""" +- log.debug("subscription: Applying system purpose data") +- task = SystemPurposeConfigurationTask(system_purpose_data=self.system_purpose_data) +- task.run() +- +- def set_system_purpose_with_task(self): +- """Set system purpose for the installed system with an installation task. +- :return: a DBus path of an installation task +- """ +- task = SystemPurposeConfigurationTask(system_purpose_data=self.system_purpose_data) +- return task +- +- # subscription request +- +- def _validate_subscription_request_type(self, request_type): +- """Check that subscription request is of known type.""" +- if request_type not in SUBSCRIPTION_REQUEST_VALID_TYPES: +- raise InvalidValueError( +- "Invalid subscription request type set '{}'".format(request_type) +- ) +- +- @property +- def subscription_request(self): +- """Subscription request. +- +- A DBus structure holding data to be used to subscribe the system. +- +- :return: subscription request DBus structure +- :rtype: DBusData instance +- """ +- # Return a deep copy of the subscription request that +- # has also been cleared of private data. +- # Thankfully the secret Dbus structures modules +- # has the get_public_copy() method that does just +- # that. It creates a deep copy & clears +- # all SecretData and SecretDataList instances. +- return get_public_copy(self._subscription_request) +- +- def set_subscription_request(self, subscription_request): +- """Set a subscription request. +- +- Set the complete DBus structure containing subscription +- request data. +- +- :param subscription_request: subscription request structure to be set +- :type subscription_request: DBus structure +- """ +- self._replace_current_subscription_request(subscription_request) +- self.subscription_request_changed.emit() +- log.debug("A subscription request set: %s", str(self._subscription_request)) +- +- @property +- def attached_subscriptions(self): +- """A list of attached subscriptions. +- +- The list holds DBus structures with each structure holding information about +- one attached subscription. A system that has been successfully registered and +- subscribed usually has one or more subscriptions attached. +- +- :return: list of DBus structures, one per attached subscription +- :rtype: list of AttachedSubscription instances +- """ +- return self._attached_subscriptions +- +- def set_attached_subscriptions(self, attached_subscriptions): +- """Set the list of attached subscriptions. +- +- :param attached_subscriptions: list of attached subscriptions to be set +- :type attached_subscriptions: list of AttachedSubscription instances +- """ +- self._attached_subscriptions = attached_subscriptions +- self.attached_subscriptions_changed.emit() +- # as there is no public setter in the DBus API, we need to emit +- # the properties changed signal here manually +- self.module_properties_changed.emit() +- log.debug("Attached subscriptions set: %s", str(self._attached_subscriptions)) +- +- def _replace_current_subscription_request(self, new_request): +- """Replace current subscription request without loosing sensitive data. +- +- We need to do this to prevent blank SecretData & SecretDataList instances +- from wiping out previously set secret data. The instances will be blank +- every time a SubscriptionRequest that went through get_public_copy() comes +- back with the secret data fields unchanged. +- +- So what we do is depends on type of the incoming secret data: +- +- - SECRET_TYPE_NONE - use structure from new request unchanged, +- clearing previously set data (if any) +- - SECRET_TYPE_HIDDEN - secret data has been set previously and +- cleared when SubscriptionRequest was sent out; +- put secret data from current request to the +- new one to prevent it from being lost +- (this will also switch the secret data +- instance to SECRET_TYPE_TEXT so that +- the Subscription module can read it +- internally) +- - SECRET_TYPE_TEXT - this is new secret entry, we can keep it as is +- """ +- current_request = self._subscription_request +- +- # Red Hat account password +- if new_request.account_password.type == SECRET_TYPE_HIDDEN: +- new_request.account_password = copy.deepcopy( +- current_request.account_password) +- +- # activation keys used together with an organization id +- if new_request.activation_keys.type == SECRET_TYPE_HIDDEN: +- new_request.activation_keys = copy.deepcopy( +- current_request.activation_keys) +- +- # RHSM HTTP proxy password +- if new_request.server_proxy_password.type == SECRET_TYPE_HIDDEN: +- new_request.server_proxy_password = copy.deepcopy( +- current_request.server_proxy_password) +- +- # replace current request +- self._subscription_request = new_request +- +- @property +- def connect_to_insights(self): +- """Indicates if the target system should be connected to Red Hat Insights. +- +- :return: True to connect, False not to connect the target system to Insights +- :rtype: bool +- """ +- return self._connect_to_insights +- +- def set_connect_to_insights(self, connect): +- """Set if the target system should be connected to Red Hat Insights. +- +- :param bool connect: set to True to connect, set to False not to connect +- """ +- self._connect_to_insights = connect +- self.connect_to_insights_changed.emit() +- log.debug("Connect target system to Insights set to: %s", self._connect_to_insights) +- +- # registration status +- +- @property +- def registered(self): +- """Return True if the system has been registered. +- +- NOTE: Together with the subscription_attached property +- the registered property can be used to detect that +- the system is registered but has not subscription +- attached. This is generally a sign something went +- wrong, usually when trying to attach subscription. +- +- :return: True if the system has been registered, False otherwise +- :rtype: bool +- """ +- return self._registered +- +- def set_registered(self, system_registered): +- """Set if the system is registered. +- +- :param bool system_registered: True if system has been registered, False otherwise +- """ +- self._registered = system_registered +- self.registered_changed.emit() +- # as there is no public setter in the DBus API, we need to emit +- # the properties changed signal here manually +- self.module_properties_changed.emit() +- log.debug("System registered set to: %s", system_registered) +- +- # simple content access status +- @property +- def simple_content_access_enabled(self): +- """Return True if the system has been registered with SCA enabled. +- +- :return: True if the system has been registered in SCA mode, False otherwise +- :rtype: bool +- """ +- return self._sca_enabled +- +- def set_simple_content_access_enabled(self, sca_enabled): +- """Set if Simple Content Access is enabled. +- +- :param bool sca_enabled: True if SCA is enabled, False otherwise +- """ +- self._sca_enabled = sca_enabled +- self.simple_content_access_enabled_changed.emit() +- # as there is no public setter in the DBus API, we need to emit +- # the properties changed signal here manually +- self.module_properties_changed.emit() +- log.debug("Simple Content Access enabled set to: %s", sca_enabled) +- +- # subscription status +- +- @property +- def subscription_attached(self): +- """Return True if a subscription has been attached to the system. +- +- :return: True if a subscription has been attached to the system, False otherwise +- :rtype: bool +- """ +- return self._subscription_attached +- +- def set_subscription_attached(self, system_subscription_attached): +- """Set a subscription has been attached to the system. +- +- :param bool system_registered: True if subscription has been attached, False otherwise +- """ +- self._subscription_attached = system_subscription_attached +- self.subscription_attached_changed.emit() +- # as there is no public setter in the DBus API, we need to emit +- # the properties changed signal here manually +- self.module_properties_changed.emit() +- log.debug("Subscription attached set to: %s", system_subscription_attached) +- +- # tasks +- +- def install_with_tasks(self): +- """Return the installation tasks of this module. +- +- Order of execution is important: +- - before transferring subscription tokens we need to restore +- the INFO log level in rhsm.conf or else target system will +- end up with RHSM logging in DEBUG mode +- - transfer subscription tokens +- - connect to insights, this can run only once subscription +- tokens are in place on the target system or else it would +- fail as Insights client needs the subscription tokens to +- authenticate to the Red Hat Insights online service +- +- :returns: list of installation tasks +- """ +- return [ +- RestoreRHSMDefaultsTask( +- rhsm_config_proxy=self.rhsm_observer.get_proxy(RHSM_CONFIG) +- ), +- TransferSubscriptionTokensTask( +- sysroot=conf.target.system_root, +- transfer_subscription_tokens=self.subscription_attached +- ), +- ConnectToInsightsTask( +- sysroot=conf.target.system_root, +- subscription_attached=self.subscription_attached, +- connect_to_insights=self.connect_to_insights +- ) +- ] +- +- # RHSM DBus API access +- +- @property +- def rhsm_observer(self): +- """Provide access to the RHSM DBus service observer. +- +- This observer handles various peculiarities of the +- RHSM DBus API startup and should be used as the +- only access point to the RHSM Dbus API. +- +- If you need to RHSM DBus API object, just call the +- get_proxy() method of the observer with object +- identifier. +- +- :return: RHSM DBus API observer +- :rtype: RHSMObserver instance +- """ +- return self._rhsm_observer +- +- def _flatten_rhsm_nested_dict(self, nested_dict): +- """Convert the GetAll() returned nested dict into a flat one. +- +- RHSM returns a nested dict with categories on top +- and category keys & values inside. This is not convenient +- for setting keys based on original values, so +- let's normalize the dict to the flat key based +- structure similar to what's used by SetAll(). +- +- :param dict nested_dict: the nested dict returned by GetAll() +- :return: flat key/value dictionary, similar to format used by SetAll() +- :rtype: dict +- """ +- flat_dict = {} +- for category_key, category_dict in nested_dict.items(): +- for key, value in category_dict.items(): +- flat_key = "{}.{}".format(category_key, key) +- flat_dict[flat_key] = value +- return flat_dict +- +- def get_rhsm_config_defaults(self): +- """Return RHSM config default values. +- +- We need to have these available in case the user decides +- to return to default values from a custom value at +- runtime. +- +- This method is lazy evaluated, the first call it fetches +- the full config dict from RHSM and subsequent calls are +- then served from cache. +- +- Due to this it is important not to set RHSM configuration +- values before first calling this method to populate the cache +- or else the method might return non-default (Anaconda overwritten) +- data. +- +- NOTE: While RHSM GetAll() DBus call returns a nested dictionary, +- we turn it into a flat key/value dict, in the same format SetAll() +- uses. +- +- :return : dictionary of default RHSM configuration values +- :rtype: dict +- """ +- if self._rhsm_config_defaults is None: +- # config defaults cache not yet populated, do it now +- proxy = self.rhsm_observer.get_proxy(RHSM_CONFIG) +- # turn the variant into a dict with get_native() +- nested_dict = get_native(proxy.GetAll("")) +- # flatten the nested dict +- flat_dict = self._flatten_rhsm_nested_dict(nested_dict) +- self._rhsm_config_defaults = flat_dict +- return self._rhsm_config_defaults +- +- def set_rhsm_config_with_task(self): +- """Set RHSM config values based on current subscription request. +- +- :return: a DBus path of an installation task +- """ +- # NOTE: we access self._subscription_request directly +- # to avoid the sensitive data clearing happening +- # in the subscription_request property getter +- rhsm_config_proxy = self.rhsm_observer.get_proxy(RHSM_CONFIG) +- task = SetRHSMConfigurationTask(rhsm_config_proxy=rhsm_config_proxy, +- rhsm_config_defaults=self.get_rhsm_config_defaults(), +- subscription_request=self._subscription_request) +- return task +- +- def register_username_password_with_task(self): +- """Register with username and password based on current subscription request. +- +- :return: a DBus path of an installation task +- """ +- # NOTE: we access self._subscription_request directly +- # to avoid the sensitive data clearing happening +- # in the subscription_request property getter +- username = self._subscription_request.account_username +- password = self._subscription_request.account_password.value +- register_server_proxy = self.rhsm_observer.get_proxy(RHSM_REGISTER_SERVER) +- task = RegisterWithUsernamePasswordTask(rhsm_register_server_proxy=register_server_proxy, +- username=username, +- password=password) +- # if the task succeeds, it means the system has been registered +- task.succeeded_signal.connect( +- lambda: self.set_registered(True)) +- # set SCA state based on data returned by the registration task +- task.succeeded_signal.connect( +- lambda: self.set_simple_content_access_enabled( +- detect_sca_from_registration_data(task.get_result()) +- ) +- ) +- +- return task +- +- def register_organization_key_with_task(self): +- """Register with organization and activation key(s) based on current subscription request. +- +- :return: a DBus path of an installation task +- """ +- # NOTE: we access self._subscription_request directly +- # to avoid the sensitive data clearing happening +- # in the subscription_request property getter +- organization = self._subscription_request.organization +- activation_keys = self._subscription_request.activation_keys.value +- register_server_proxy = self.rhsm_observer.get_proxy(RHSM_REGISTER_SERVER) +- task = RegisterWithOrganizationKeyTask(rhsm_register_server_proxy=register_server_proxy, +- organization=organization, +- activation_keys=activation_keys) +- # if the task succeeds, it means the system has been registered +- task.succeeded_signal.connect( +- lambda: self.set_registered(True)) +- # set SCA state based on data returned by the registration task +- task.succeeded_signal.connect( +- lambda: self.set_simple_content_access_enabled( +- detect_sca_from_registration_data(task.get_result()) +- ) +- ) +- return task +- +- def unregister_with_task(self): +- """Unregister the system. +- +- :return: a DBus path of an installation task +- """ +- rhsm_unregister_proxy = self.rhsm_observer.get_proxy(RHSM_UNREGISTER) +- task = UnregisterTask(rhsm_unregister_proxy=rhsm_unregister_proxy) +- # we will no longer be registered and subscribed if the task is successful, +- # so set the corresponding properties appropriately +- task.succeeded_signal.connect( +- lambda: self.set_registered(False)) +- task.succeeded_signal.connect( +- lambda: self.set_subscription_attached(False)) +- # and clear attached subscriptions +- task.succeeded_signal.connect( +- lambda: self.set_attached_subscriptions([])) +- # also when we are no longer registered then we are are +- # thus no longer in Simple Content Access mode +- task.succeeded_signal.connect( +- lambda: self.set_simple_content_access_enabled(False)) +- return task +- +- def attach_subscription_with_task(self): +- """Attach a subscription. +- +- This should only be run on a system that has been successfully registered. +- Attached subscription depends on system type, system purpose data +- and entitlements available for the account that has been used for registration. +- +- :return: a DBus path of an installation task +- """ +- sla = self.system_purpose_data.sla +- rhsm_attach_proxy = self.rhsm_observer.get_proxy(RHSM_ATTACH) +- task = AttachSubscriptionTask(rhsm_attach_proxy=rhsm_attach_proxy, +- sla=sla) +- # if the task succeeds, it means a subscription has been attached +- task.succeeded_signal.connect( +- lambda: self.set_subscription_attached(True)) +- return task +- +- def _set_system_subscription_data(self, system_subscription_data): +- """A helper method invoked in ParseAttachedSubscritionsTask completed signal. +- +- :param system_subscription_data: a named tuple holding attached subscriptions +- and final system purpose data +- """ +- self.set_attached_subscriptions(system_subscription_data.attached_subscriptions) +- self.set_system_purpose_data(system_subscription_data.system_purpose_data) +- +- def parse_attached_subscriptions_with_task(self): +- """Parse attached subscriptions with task. +- +- Parse data about attached subscriptions and final system purpose data. +- This data is available as JSON strings via the RHSM DBus API. +- +- :return: a DBus path of an installation task +- """ +- rhsm_entitlement_proxy = self.rhsm_observer.get_proxy(RHSM_ENTITLEMENT) +- rhsm_syspurpose_proxy = self.rhsm_observer.get_proxy(RHSM_SYSPURPOSE) +- task = ParseAttachedSubscriptionsTask(rhsm_entitlement_proxy=rhsm_entitlement_proxy, +- rhsm_syspurpose_proxy=rhsm_syspurpose_proxy) +- # if the task succeeds, set attached subscriptions and system purpose data +- task.succeeded_signal.connect( +- lambda: self._set_system_subscription_data(task.get_result()) +- ) +- return task +- +- def collect_requirements(self): +- """Return installation requirements for this module. +- +- :return: a list of requirements +- """ +- requirements = [] +- # check if we need the insights-client package, which is needed to connect the +- # target system to Red Hat Insights +- if self.subscription_attached and self.connect_to_insights: +- # establishing a connection to Red Hat Insights has been requested +- # and we need the insights-client package to be present in the +- # target system chroot for that +- requirements.append( +- Requirement.for_package( +- "insights-client", +- reason="Needed to connect the target system to Red Hat Insights." +- ) +- ) +- return requirements +diff --git a/pyanaconda/modules/subscription/subscription_interface.py b/pyanaconda/modules/subscription/subscription_interface.py +deleted file mode 100644 +index 8bbf38b..0000000 +--- a/pyanaconda/modules/subscription/subscription_interface.py ++++ /dev/null +@@ -1,211 +0,0 @@ +-# +-# DBus interface for the subscription module. +-# +-# Copyright (C) 2020 Red Hat, Inc. +-# +-# This copyrighted material is made available to anyone wishing to use, +-# modify, copy, or redistribute it subject to the terms and conditions of +-# the GNU General Public License v.2, or (at your option) any later version. +-# This program is distributed in the hope that it will be useful, but WITHOUT +-# ANY WARRANTY expressed or implied, including the implied warranties of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +-# Public License for more details. You should have received a copy of the +-# GNU General Public License along with this program; if not, write to the +-# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the +-# source code or documentation are not subject to the GNU General Public +-# License and may only be used or replicated with the express permission of +-# Red Hat, Inc. +-# +-from pyanaconda.modules.common.constants.services import SUBSCRIPTION +-from pyanaconda.modules.common.base import KickstartModuleInterface +-from pyanaconda.modules.common.structures.subscription import SystemPurposeData, \ +- SubscriptionRequest, AttachedSubscription +-from pyanaconda.modules.common.containers import TaskContainer +-from dasbus.server.interface import dbus_interface +-from dasbus.server.property import emits_properties_changed +-from dasbus.typing import * # pylint: disable=wildcard-import +- +- +-@dbus_interface(SUBSCRIPTION.interface_name) +-class SubscriptionInterface(KickstartModuleInterface): +- """DBus interface for the Subscription service.""" +- +- def connect_signals(self): +- super().connect_signals() +- self.watch_property("SystemPurposeData", +- self.implementation.system_purpose_data_changed) +- self.watch_property("SubscriptionRequest", +- self.implementation.subscription_request_changed) +- self.watch_property("AttachedSubscriptions", +- self.implementation.attached_subscriptions_changed) +- self.watch_property("InsightsEnabled", +- self.implementation.connect_to_insights_changed) +- self.watch_property("IsRegistered", +- self.implementation.registered_changed) +- self.watch_property("IsSimpleContentAccessEnabled", +- self.implementation.simple_content_access_enabled_changed) +- self.watch_property("IsSubscriptionAttached", +- self.implementation.subscription_attached_changed) +- +- def GetValidRoles(self) -> List[Str]: +- """Return all valid system purpose roles. +- +- These are OS release specific, but could look like this: +- +- "Red Hat Enterprise Linux Server" +- "Red Hat Enterprise Linux Workstation" +- "Red Hat Enterprise Linux Compute Node" +- """ +- return self.implementation.valid_roles +- +- def GetValidSLAs(self) -> List[Str]: +- """Return all valid system purpose SLAs. +- +- These are OS release specific, but could look like this: +- +- "Premium" +- "Standard" +- "Self-Support" +- """ +- return self.implementation.valid_slas +- +- def GetValidUsageTypes(self) -> List[Str]: +- """List all valid system purpose usage types. +- +- These are OS release specific, but could look like this: +- +- "Production", +- "Development/Test", +- "Disaster Recovery" +- """ +- return self.implementation.valid_usage_types +- +- @property +- def SystemPurposeData(self) -> Structure: +- """Return DBus structure holding current system purpose data.""" +- return SystemPurposeData.to_structure(self.implementation.system_purpose_data) +- +- @emits_properties_changed +- def SetSystemPurposeData(self, system_purpose_data: Structure): +- """Set a new DBus structure holding system purpose data. +- +- :param system_purpose_data: DBus structure corresponding to SystemPurposeData +- """ +- converted_data = SystemPurposeData.from_structure(system_purpose_data) +- self.implementation.set_system_purpose_data(converted_data) +- +- def SetSystemPurposeWithTask(self) -> ObjPath: +- """Set system purpose for the installed system with an installation task. +- +- :return: a DBus path of an installation task +- """ +- return TaskContainer.to_object_path( +- self.implementation.set_system_purpose_with_task() +- ) +- +- @property +- def SubscriptionRequest(self) -> Structure: +- """Return DBus structure holding current subscription request. +- +- Subscription request holds data necessary for a successful subscription attempt. +- """ +- return SubscriptionRequest.to_structure(self.implementation.subscription_request) +- +- @emits_properties_changed +- def SetSubscriptionRequest(self, subscription_request: Structure): +- """Set a new DBus structure holding subscription request data. +- +- :param subscription_request: DBus structure corresponding to SubscriptionRequest +- """ +- converted_data = SubscriptionRequest.from_structure(subscription_request) +- self.implementation.set_subscription_request(converted_data) +- +- @property +- def AttachedSubscriptions(self) -> List[Structure]: +- """Return a list of DBus structures holding data about attached subscriptions.""" +- return AttachedSubscription.to_structure_list( +- self.implementation.attached_subscriptions +- ) +- +- @property +- def InsightsEnabled(self) -> Int: +- """Connect the target system to Red Hat Insights.""" +- return self.implementation.connect_to_insights +- +- @emits_properties_changed +- def SetInsightsEnabled(self, connect_to_insights: Bool): +- """Set if the target system should be connected to Red Hat Insights. +- +- :param bool connect_to_insights: True to connect, False not to connect +- """ +- self.implementation.set_connect_to_insights(connect_to_insights) +- +- @property +- def IsRegistered(self) -> Bool: +- """Report if the system is registered.""" +- return self.implementation.registered +- +- @property +- def IsSimpleContentAccessEnabled(self) -> Bool: +- """Report if Simple Content Access is enabled.""" +- return self.implementation.simple_content_access_enabled +- +- @property +- def IsSubscriptionAttached(self) -> Bool: +- """Report if an entitlement has been successfully attached.""" +- return self.implementation.subscription_attached +- +- def SetRHSMConfigWithTask(self) -> ObjPath: +- """Set RHSM configuration with a runtime DBus task. +- +- :return: a DBus path of an installation task +- """ +- return TaskContainer.to_object_path( +- self.implementation.set_rhsm_config_with_task() +- ) +- +- def RegisterUsernamePasswordWithTask(self) -> ObjPath: +- """Register with username & password using a runtime DBus task. +- +- :return: a DBus path of an installation task +- """ +- return TaskContainer.to_object_path( +- self.implementation.register_username_password_with_task() +- ) +- +- def RegisterOrganizationKeyWithTask(self) -> ObjPath: +- """Register with organization & keys(s) using a runtime DBus task. +- +- :return: a DBus path of an installation task +- """ +- return TaskContainer.to_object_path( +- self.implementation.register_organization_key_with_task() +- ) +- +- def UnregisterWithTask(self) -> ObjPath: +- """Unregister using a runtime DBus task. +- +- :return: a DBus path of an installation task +- """ +- return TaskContainer.to_object_path( +- self.implementation.unregister_with_task() +- ) +- +- def AttachSubscriptionWithTask(self) -> ObjPath: +- """Attach subscription using a runtime DBus task. +- +- :return: a DBus path of an installation task +- """ +- return TaskContainer.to_object_path( +- self.implementation.attach_subscription_with_task() +- ) +- +- def ParseAttachedSubscriptionsWithTask(self) -> ObjPath: +- """Parse attached subscriptions using a runtime DBus task. +- +- :return: a DBus path of an installation task +- """ +- return TaskContainer.to_object_path( +- self.implementation.parse_attached_subscriptions_with_task() +- ) +diff --git a/pyanaconda/modules/subscription/system_purpose.py b/pyanaconda/modules/subscription/system_purpose.py +deleted file mode 100644 +index 189719f..0000000 +--- a/pyanaconda/modules/subscription/system_purpose.py ++++ /dev/null +@@ -1,227 +0,0 @@ +-# +-# System purpose library. +-# +-# Copyright (C) 2020 Red Hat, Inc. +-# +-# This copyrighted material is made available to anyone wishing to use, +-# modify, copy, or redistribute it subject to the terms and conditions of +-# the GNU General Public License v.2, or (at your option) any later version. +-# This program is distributed in the hope that it will be useful, but WITHOUT +-# ANY WARRANTY expressed or implied, including the implied warranties of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +-# Public License for more details. You should have received a copy of the +-# GNU General Public License along with this program; if not, write to the +-# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the +-# source code or documentation are not subject to the GNU General Public +-# License and may only be used or replicated with the express permission of +-# Red Hat, Inc. +-# +- +-import os +-import json +- +-from pyanaconda.core import util +-from pyanaconda.core.constants import RHSM_SYSPURPOSE_FILE_PATH +-from pyanaconda.core.subscription import check_system_purpose_set +- +-from pyanaconda.anaconda_loggers import get_module_logger +-log = get_module_logger(__name__) +- +-VALID_FIELDS_FILE_PATH = "/etc/rhsm/syspurpose/valid_fields.json" +-SYSPURPOSE_UTILITY_PATH = "/usr/sbin/syspurpose" +- +-def get_valid_fields(valid_fields_file_path=VALID_FIELDS_FILE_PATH): +- """Get valid role, sla and usage fields for system purpose use. +- +- If no valid fields are provided, the fields file is not found or can not be +- parsed then all three lists will be empty. +- +- :param str valid_fields_file_path: path to a JSON file holding the valid field listings +- +- :return: role, sla and usage type lists +- :rtype: [roles], [slas], [usages] +- """ +- valid_roles = [] +- valid_slas = [] +- valid_usage_types = [] +- if os.path.exists(valid_fields_file_path): +- try: +- with open(valid_fields_file_path, "rt") as f: +- valid_fields_json = json.load(f) +- valid_roles = valid_fields_json.get("role", []) +- valid_slas = valid_fields_json.get("service_level_agreement", []) +- valid_usage_types = valid_fields_json.get("usage", []) +- except (IOError, json.JSONDecodeError): +- log.exception("parsing of syspurpose valid fields file at %s failed", +- valid_fields_file_path) +- else: +- log.warning("system purpose valid fields file not found at %s", valid_fields_file_path) +- return valid_roles, valid_slas, valid_usage_types +- +- +-def _normalize_field(raw_field): +- """Normalize a field for matching. +- +- Fields specified in free form by users can have different case or trailing white space, +- while still technically being a match on a valid field. +- +- So convert the field to lower case and strip any trailing white space and return the result. +- +- :param str raw_field: raw not normalized field +- :return: normalized field suitable for matching +- :rtype: str +- """ +- return raw_field.strip().lower() +- +- +-def _match_field(raw_field, valid_fields): +- """Try to match the field on an item in a list of fields. +- +- If a match is found return the first matching item from the list. +- If no match is found, return None. +- +- :param raw_field str: field to match +- :param list valid_fields: list of valid fields to match against +- :return: a matching valid field or None if no match is found +- :rtype: str or None +- """ +- matching_valid_field = None +- normalized_field = _normalize_field(raw_field) +- +- for valid_field in valid_fields: +- if normalized_field == _normalize_field(valid_field): +- # looks like the fields match, no need to search any further +- matching_valid_field = valid_field +- break +- +- return matching_valid_field +- +- +-def process_field(syspurpose_value, valid_values, value_name): +- """Process a single system purpose value provided by the user. +- +- At the moment this value generally comes from kickstart +- as we don't support free form system purpose value entry in the UI. +- +- We try to match the user provided value to value in a lit of well +- known valid values, so that it can be displayed correct in the UI. +- +- If the user for example uses "production" for usage, we will match +- it to Production and then display that in the UI. +- +- If the value does not match any known one, we will just return +- it & display it in its current form. +- +- :param str syspurpose_value: system purpose value to be processed +- :param valid_values: list of well known valid values for the given +- type of system purpose value +- :type valid_values: list of str +- :param str value_name: name of the system purpose value to be used +- in log messages +- +- :return: matched well known or original value if no match was found +- :rtype: str +- """ +- if syspurpose_value: +- value_match = _match_field(syspurpose_value, valid_values) +- else: +- value_match = None +- +- if value_match: +- log.info("%s system purpose value %s from kickstart matched to known valid field %s", +- value_name, +- syspurpose_value, +- value_match) +- return value_match +- elif syspurpose_value: +- log.info("using custom %s system purpose value from kickstart: %s", +- value_name, +- syspurpose_value) +- return syspurpose_value +- else: +- return "" +- +- +-def _call_syspurpose_tool(sysroot, args): +- """Helper function for invoking the syspurpose tool with error checking. +- +- :param str sysroot: system root path +- :param args: list of arguments for syspurpose +- :type args: list of str +- :return: syspurpose tool return code (non zero means failure) +- """ +- rc = util.execWithRedirect("syspurpose", args, root=sysroot) +- if rc: +- log.error("subscription: syspurpose invocation failed for args %s with rc %s", args, rc) +- return rc +- +- +-def give_the_system_purpose(sysroot, role, sla, usage, addons): +- """Set system purpose for the installed system by calling the syspurpose tool. +- +- The tool is called in the specified system root, so this method should only +- be called once the given system root contains the syspurpose utility. +- +- :param str sysroot: system root path +- :param role: role of the system +- :type role: str or None +- :param sla: Service Level Agreement for the system +- :type sla: str or None +- :param usage: intended usage of the system +- :type usage: str or None +- :param list addons: any additional layered products or features +- """ +- # first check if system purpose data has already been set +- if check_system_purpose_set(sysroot): +- # Remove existing system purpose data. +- # +- # This is important, as otherwise it would be both not possible to +- # clear existing system purpose data if say a user sets all values +- # to "not specified" in the GUI after setting them to some values +- # previously. Also due to syspurpose setting one value at a time +- # one could end up with unwanted hybrid configuration combining +- # new and old date, if not all fields are set in the most recent +- # invocation. +- log.debug("subscription: clearing old system purpose data") +- syspurpose_path = util.join_paths(sysroot, RHSM_SYSPURPOSE_FILE_PATH) +- os.remove(syspurpose_path) +- +- if role or sla or usage or addons: +- # using join_paths() as both paths are absolute +- syspurpose_sysroot_path = util.join_paths(sysroot, SYSPURPOSE_UTILITY_PATH) +- if os.path.exists(syspurpose_sysroot_path): +- # The syspurpose utility can only set one value at a time, +- # so we might need to call it multiple times to set all the +- # requested values. +- # +- # Also as the values can contain white space we need to make sure the +- # values passed to arguments are all properly quoted. +- if role: +- args = ["set-role", role] +- if _call_syspurpose_tool(sysroot, args): +- return False +- if sla: +- args = ["set-sla", sla] +- +- if _call_syspurpose_tool(sysroot, args): +- return False +- if usage: +- args = ["set-usage", usage] +- if _call_syspurpose_tool(sysroot, args): +- return False +- if addons: +- args = ["add", "addons"] +- for addon in addons: +- args.append(addon) +- if _call_syspurpose_tool(sysroot, args): +- return False +- log.debug("subscription: system purpose has been set") +- return True +- else: +- log.error("subscription: the syspurpose tool is missing, cannot set system purpose") +- return False +- else: +- log.warning("subscription: not calling syspurpose as no fields have been provided") +- # doing nothing is still not a failure +- return True +diff --git a/pyanaconda/payload/dnf/payload.py b/pyanaconda/payload/dnf/payload.py +index a17d48b..3b9a806 100644 +--- a/pyanaconda/payload/dnf/payload.py ++++ b/pyanaconda/payload/dnf/payload.py +@@ -64,7 +64,7 @@ from pyanaconda.core.util import decode_bytes, join_paths + from pyanaconda.flags import flags + from pyanaconda.kickstart import RepoData + from pyanaconda.modules.common.constants.objects import DEVICE_TREE +-from pyanaconda.modules.common.constants.services import LOCALIZATION, STORAGE, SUBSCRIPTION ++from pyanaconda.modules.common.constants.services import LOCALIZATION, STORAGE + from pyanaconda.modules.payloads.source.utils import has_network_protocol + from pyanaconda.modules.common.errors.installation import SecurityInstallationError + from pyanaconda.modules.common.errors.storage import DeviceSetupError, MountFilesystemError +@@ -828,24 +828,9 @@ class DNFPayload(Payload): + # is any locking needed here? + repo_names = [constants.BASE_REPO_NAME] + constants.DEFAULT_REPOS + with self._repos_lock: +- if self.source_type == SOURCE_TYPE_CDN: +- if is_module_available(SUBSCRIPTION): +- subscription_proxy = SUBSCRIPTION.get_proxy() +- if subscription_proxy.IsSubscriptionAttached: +- # If CDN is used as the installation source and we have +- # a subscription attached then any of the enabled repos +- # should be fine as the base repo. +- # If CDN is used but subscription has not been attached +- # there will be no redhat.repo file to parse and we +- # don't need to do anything. +- for repo in self._base.repos.iter_enabled(): +- return repo.id +- else: +- log.error("CDN install source set but Subscription module is not available") +- else: +- for repo in self._base.repos.iter_enabled(): +- if repo.id in repo_names: +- return repo.id ++ for repo in self._base.repos.iter_enabled(): ++ if repo.id in repo_names: ++ return repo.id + + return None + +@@ -1642,20 +1627,7 @@ class DNFPayload(Payload): + # We need to check this again separately in case REPO_FILES were set above. + if source_type in SOURCE_REPO_FILE_TYPES: + +- # If this is a kickstart install, just return now as we normally do not +- # want to read the on media repo files in such a case. On the other hand, +- # the local repo files are a valid use case if the system is subscribed +- # and the CDN is selected as the installation source. +- if self.source_type == SOURCE_TYPE_CDN and is_module_available(SUBSCRIPTION): +- # only check if the Subscription module is available & CDN is the +- # installation source +- subscription_proxy = SUBSCRIPTION.get_proxy() +- load_cdn_repos = subscription_proxy.IsSubscriptionAttached +- else: +- # if the Subscription module is not available, we simply can't use +- # the CDN repos, making our decision here simple +- load_cdn_repos = False +- if flags.automatedInstall and not load_cdn_repos: ++ if flags.automatedInstall: + return + + # Otherwise, fall back to the default repos that we disabled above +diff --git a/pyanaconda/ui/gui/spokes/installation_source.glade b/pyanaconda/ui/gui/spokes/installation_source.glade +index e53fa23..cd97865 100644 +--- a/pyanaconda/ui/gui/spokes/installation_source.glade ++++ b/pyanaconda/ui/gui/spokes/installation_source.glade +@@ -630,25 +630,6 @@ + 3 + + +- +- +- Red Hat _CDN +- True +- False +- True +- 12 +- True +- 0 +- True +- True +- isoRadioButton +- +- +- False +- True +- 4 +- +- + + + _ISO file: +@@ -664,7 +645,7 @@ + + False + True +- 5 ++ 4 + + + +diff --git a/pyanaconda/ui/gui/spokes/installation_source.py b/pyanaconda/ui/gui/spokes/installation_source.py +index d0d4da7..e64bb63 100644 +--- a/pyanaconda/ui/gui/spokes/installation_source.py ++++ b/pyanaconda/ui/gui/spokes/installation_source.py +@@ -34,14 +34,13 @@ from pyanaconda.core.process_watchers import PidWatcher + from pyanaconda.flags import flags + from pyanaconda.core.i18n import _, N_, CN_ + from pyanaconda.modules.common.structures.payload import RepoConfigurationData +-from pyanaconda.modules.common.constants.services import SUBSCRIPTION ++from pyanaconda.modules.common.constants.services import LOCALIZATION + from pyanaconda.payload.image import find_optical_install_media, find_potential_hdiso_sources, \ + get_hdiso_source_info, get_hdiso_source_description + from pyanaconda.core.payload import ProxyString, ProxyStringError, parse_nfs_url, create_nfs_url + from pyanaconda.core.util import cmp_obj_attrs, id_generator + from pyanaconda.ui.communication import hubQ + from pyanaconda.ui.helpers import InputCheck, InputCheckHandler, SourceSwitchHandler +-from pyanaconda.ui.lib.subscription import switch_source + from pyanaconda.ui.gui import GUIObject + from pyanaconda.ui.gui.helpers import GUIDialogInputCheckHandler, GUISpokeInputCheckHandler + from pyanaconda.ui.gui.spokes import NormalSpoke +@@ -437,12 +436,7 @@ class SourceSpoke(NormalSpoke, GUISpokeInputCheckHandler, SourceSwitchHandler): + repo_changed = self._update_payload_repos() + source_proxy = self.payload.get_source_proxy() + cdn_source = source_proxy.Type == SOURCE_TYPE_CDN +- # If CDN is the current installation source but no subscription is +- # attached there is no need to refresh the installation source, +- # as without the subscription tokens the refresh would fail anyway. +- if cdn_source and not self.subscribed: +- log.debug("CDN source but no subscribtion attached - skipping payload restart.") +- elif source_changed or repo_changed or self._error: ++ if source_changed or repo_changed or self._error: + payloadMgr.restart_thread(self.payload, checkmount=False) + else: + log.debug("Nothing has changed - skipping payload restart.") +@@ -637,34 +631,11 @@ class SourceSpoke(NormalSpoke, GUISpokeInputCheckHandler, SourceSwitchHandler): + not threadMgr.get(constants.THREAD_SOFTWARE_WATCHER) and + not threadMgr.get(constants.THREAD_CHECK_SOFTWARE)) + +- @property +- def subscribed(self): +- """Report if the system is currently subscribed. +- +- NOTE: This will be always False when the Subscription +- module is no available. +- +- :return: True if subscribed, False otherwise +- :rtype: bool +- """ +- subscribed = False +- if is_module_available(SUBSCRIPTION): +- subscription_proxy = SUBSCRIPTION.get_proxy() +- subscribed = subscription_proxy.IsSubscriptionAttached +- return subscribed +- + @property + def status(self): +- # When CDN is selected as installation source and system +- # is not yet subscribed, the automatic repo refresh will +- # fail. This is expected as CDN can't be used until the +- # system has been registered. So prevent the error +- # message and show CDN is used instead. If CDN still +- # fails after registration, the regular error message +- # will be displayed. + source_proxy = self.payload.get_source_proxy() + cdn_source = source_proxy.Type == SOURCE_TYPE_CDN +- if cdn_source and not self.subscribed: ++ if cdn_source: + source_proxy = self.payload.get_source_proxy() + return source_proxy.Description + elif threadMgr.get(constants.THREAD_CHECK_SOFTWARE): +diff --git a/pyanaconda/ui/gui/spokes/lib/subscription.py b/pyanaconda/ui/gui/spokes/lib/subscription.py +deleted file mode 100644 +index 47b96b5..0000000 +--- a/pyanaconda/ui/gui/spokes/lib/subscription.py ++++ /dev/null +@@ -1,236 +0,0 @@ +-# Helper methods for the Subscription spoke. +-# +-# Copyright (C) 2020 Red Hat, Inc. +-# +-# This copyrighted material is made available to anyone wishing to use, +-# modify, copy, or redistribute it subject to the terms and conditions of +-# the GNU General Public License v.2, or (at your option) any later version. +-# This program is distributed in the hope that it will be useful, but WITHOUT +-# ANY WARRANTY expressed or implied, including the implied warranties of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +-# Public License for more details. You should have received a copy of the +-# GNU General Public License along with this program; if not, write to the +-# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the +-# source code or documentation are not subject to the GNU General Public +-# License and may only be used or replicated with the express permission of +-# Red Hat, Inc. +-# +- +-import gi +-gi.require_version("Gtk", "3.0") +-gi.require_version("Pango", "1.0") +-from gi.repository import Gtk, Pango +- +-from collections import namedtuple +- +-from pyanaconda.core.i18n import _ +- +-from pyanaconda.anaconda_loggers import get_module_logger +-log = get_module_logger(__name__) +- +- +-TextComboBoxItem = namedtuple("TextComboBoxItem", ["value", "display_string", "is_preselected"]) +- +-def handle_user_provided_value(user_provided_value, valid_values): +- """Handle user provided value (if any) based on list of valid values. +- +- There are three possible outcomes: +- - the value matches one of the valid values, so we preselect the valid value +- - the value does not match a valid value, so we append a custom value +- to the list and preselect it +- - the user provided value is not available (empty string), no matching will be done +- and no value will be preselected +- +- :param str user_provided_value: a value provided by user +- :param list valid_values: a list of valid values +- :returns: list of values with one value preselected +- :rtype: list of TextComboBoxItem tuples +- """ +- preselected_value_list = [] +- value_matched = False +- for valid_value in valid_values: +- preselect = False +- if user_provided_value and not value_matched: +- if user_provided_value == valid_value: +- preselect = True +- value_matched = True +- item = TextComboBoxItem(value=valid_value, +- display_string=valid_value, +- is_preselected=preselect) +- preselected_value_list.append(item) +- # check if the user provided value matched a valid value +- if user_provided_value and not value_matched: +- # user provided value did not match any valid value, +- # add it as a custom value to the list and preselect it +- other_value_string = _("Other ({})").format(user_provided_value) +- item = TextComboBoxItem(value=user_provided_value, +- display_string=other_value_string, +- is_preselected=True) +- preselected_value_list.append(item) +- return preselected_value_list +- +- +-def fill_combobox(combobox, user_provided_value, valid_values): +- """Fill the given ComboBoxText instance with data based on current value & valid values. +- +- Please note that it is possible that the list box will be empty if no +- list of valid values are available and the user has not supplied any value +- via kickstart or the DBUS API. +- +- NOTE: Removes any existing values from the GTK ComboBoxText instance before +- filling it. +- +- :param combobox: the combobox to fill +- :param user_provided_value: the value provided by the user (if any) +- :type user_provided_value: str or None +- :param list valid_values: list of known valid values +- """ +- preselected_value_list = handle_user_provided_value(user_provided_value, +- valid_values) +- # make sure the combo box is empty +- combobox.remove_all() +- +- # add the "Not Specified" option as the first item +- # - otherwise the user would not be able to unselect option clicked previously +- # or selected via kickstart +- # - set the active id to this value by default +- +- active_id = "" +- combobox.append("", _("Not Specified")) +- +- if preselected_value_list: +- for value, display_string, preselected in preselected_value_list: +- combobox.append(value, display_string) +- # the value has been preselected, set the active id accordingly +- if preselected: +- active_id = value +- +- # set the active id (what item should be selected in the combobox) +- combobox.set_active_id(active_id) +- +- +-def add_attached_subscription_delegate(listbox, subscription, delegate_index): +- """Add delegate representing an attached subscription to the listbox. +- +- :param listbox: a listbox to add the delegate to +- :type listbox: GTK ListBox +- :param subscription: a subscription attached to the system +- :type: AttachedSubscription instance +- :param int delegate_index: index of the delegate in the listbox +- """ +- log.debug("Subscription GUI: adding subscription to listbox: %s", subscription.name) +- # if we are not the first delegate, we should pre-pend a spacer, so that the +- # actual delegates are nicely delimited +- if delegate_index != 0: +- row = Gtk.ListBoxRow() +- row.set_name("subscriptions_listbox_row_spacer") +- row.set_margin_top(4) +- listbox.insert(row, -1) +- +- # construct delegate +- row = Gtk.ListBoxRow() +- # set a name so that the ListBoxRow instance can be styled via CSS +- row.set_name("subscriptions_listbox_row") +- +- main_vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=4) +- main_vbox.set_margin_top(12) +- main_vbox.set_margin_bottom(12) +- +- name_label = Gtk.Label(label='{}'.format(subscription.name), +- use_markup=True, wrap=True, wrap_mode=Pango.WrapMode.WORD_CHAR, +- hexpand=True, xalign=0, yalign=0.5) +- name_label.set_margin_start(12) +- name_label.set_margin_bottom(12) +- +- # create the first details grid +- details_grid_1 = Gtk.Grid() +- details_grid_1.set_column_spacing(12) +- details_grid_1.set_row_spacing(12) +- +- # first column +- service_level_label = Gtk.Label(label="{}".format(_("Service level")), +- use_markup=True, xalign=0) +- service_level_status_label = Gtk.Label(label=subscription.service_level) +- sku_label = Gtk.Label(label="{}".format(_("SKU")), +- use_markup=True, xalign=0) +- sku_status_label = Gtk.Label(label=subscription.sku, xalign=0) +- contract_label = Gtk.Label(label="{}".format(_("Contract")), +- use_markup=True, xalign=0) +- contract_status_label = Gtk.Label(label=subscription.contract, xalign=0) +- +- # add first column to the grid +- details_grid_1.attach(service_level_label, 0, 0, 1, 1) +- details_grid_1.attach(service_level_status_label, 1, 0, 1, 1) +- details_grid_1.attach(sku_label, 0, 1, 1, 1) +- details_grid_1.attach(sku_status_label, 1, 1, 1, 1) +- details_grid_1.attach(contract_label, 0, 2, 1, 1) +- details_grid_1.attach(contract_status_label, 1, 2, 1, 1) +- +- # second column +- start_date_label = Gtk.Label(label="{}".format(_("Start date")), +- use_markup=True, xalign=0) +- start_date_status_label = Gtk.Label(label=subscription.start_date, xalign=0) +- end_date_label = Gtk.Label(label="{}".format(_("End date")), +- use_markup=True, xalign=0) +- end_date_status_label = Gtk.Label(label=subscription.end_date, xalign=0) +- entitlements_label = Gtk.Label(label="{}".format(_("Entitlements")), +- use_markup=True, xalign=0) +- entitlement_string = _("{} consumed").format(subscription.consumed_entitlement_count) +- entitlements_status_label = Gtk.Label(label=entitlement_string, xalign=0) +- +- # create the second details grid +- details_grid_2 = Gtk.Grid() +- details_grid_2.set_column_spacing(12) +- details_grid_2.set_row_spacing(12) +- +- # add second column to the grid +- details_grid_2.attach(start_date_label, 0, 0, 1, 1) +- details_grid_2.attach(start_date_status_label, 1, 0, 1, 1) +- details_grid_2.attach(end_date_label, 0, 1, 1, 1) +- details_grid_2.attach(end_date_status_label, 1, 1, 1, 1) +- details_grid_2.attach(entitlements_label, 0, 2, 1, 1) +- details_grid_2.attach(entitlements_status_label, 1, 2, 1, 1) +- +- details_hbox = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=16) +- details_hbox.pack_start(details_grid_1, True, True, 12) +- details_hbox.pack_start(details_grid_2, True, True, 0) +- +- main_vbox.pack_start(name_label, True, True, 0) +- main_vbox.pack_start(details_hbox, True, True, 0) +- +- row.add(main_vbox) +- +- # append delegate to listbox +- listbox.insert(row, -1) +- +- +-def populate_attached_subscriptions_listbox(listbox, attached_subscriptions): +- """Populate the attached subscriptions listbox with delegates. +- +- Unfortunately it does not seem to be possible to create delegate templates +- that could be reused for each data item in the listbox via Glade, so +- we need to construct them imperatively via Python GTK API. +- +- :param listbox: listbox to populate +- :type listbox: GTK ListBox +- :param attached_subscriptions: list of AttachedSubscription instances +- """ +- log.debug("Subscription GUI: populating attached subscriptions listbox") +- +- # start by making sure the listbox is empty +- for child in listbox.get_children(): +- listbox.remove(child) +- del(child) +- +- # add one delegate per attached subscription +- delegate_index = 0 +- for subscription in attached_subscriptions: +- add_attached_subscription_delegate(listbox, subscription, delegate_index) +- delegate_index = delegate_index + 1 +- +- # Make sure the delegates are actually visible after the listbox has been cleared. +- # Without show_all() nothing would be visible past first clear. +- listbox.show_all() +- +- log.debug("Subscription GUI: attached subscriptions listbox has been populated") +diff --git a/pyanaconda/ui/gui/spokes/software_selection.py b/pyanaconda/ui/gui/spokes/software_selection.py +index 1044d9b..6f40535 100644 +--- a/pyanaconda/ui/gui/spokes/software_selection.py ++++ b/pyanaconda/ui/gui/spokes/software_selection.py +@@ -35,9 +35,7 @@ from pyanaconda.ui.gui.spokes.lib.detailederror import DetailedErrorDialog + from pyanaconda.ui.gui.utils import blockedHandler, escape_markup + from pyanaconda.core.async_utils import async_action_wait + from pyanaconda.ui.categories.software import SoftwareCategory +-from pyanaconda.ui.lib.subscription import check_cdn_is_installation_source + +-from pyanaconda.modules.common.constants.services import SUBSCRIPTION + from pyanaconda.modules.common.util import is_module_available + + from pyanaconda.anaconda_loggers import get_module_logger +@@ -302,14 +300,6 @@ class SoftwareSelectionSpoke(NormalSpoke): + + cdn_source = check_cdn_is_installation_source(self.payload) + +- subscribed = False +- if is_module_available(SUBSCRIPTION): +- subscription_proxy = SUBSCRIPTION.get_proxy() +- subscribed = subscription_proxy.IsSubscriptionAttached +- +- if cdn_source and not subscribed: +- return _("Red Hat CDN requires registration.") +- + if not self.ready: + return _("Installation source not set up") + +diff --git a/pyanaconda/ui/gui/spokes/subscription.glade b/pyanaconda/ui/gui/spokes/subscription.glade +deleted file mode 100644 +index 23aeebb..0000000 +--- a/pyanaconda/ui/gui/spokes/subscription.glade ++++ /dev/null +@@ -1,993 +0,0 @@ +- +- +- +- +- +- +- False +- CONNECT TO RED HAT +- +- +- +- False +- vertical +- 6 +- +- +- False +- +- +- False +- 6 +- 6 +- 6 +- +- +- +- +- False +- False +- 0 +- +- +- +- +- False +- 0 +- 12 +- 48 +- 48 +- 48 +- +- +- False +- vertical +- 8 +- +- +- True +- False +- True +- False +- False +- +- +- True +- True +- +- +- True +- False +- center +- none +- +- +- True +- False +- center +- vertical +- 4 +- +- +- True +- False +- center +- center +- 4 +- 4 +- +- +- True +- False +- end +- Authentication +- right +- +- +- +- +- +- 0 +- 0 +- +- +- +- +- True +- False +- +- +- _Account +- True +- True +- False +- True +- True +- True +- +- +- +- False +- True +- 0 +- +- +- +- +- Activation _Key +- True +- True +- False +- True +- True +- account_radio_button +- +- +- +- False +- True +- 1 +- +- +- +- +- 1 +- 0 +- +- +- +- +- True +- False +- none +- True +- +- +- True +- False +- True +- 4 +- 4 +- +- +- True +- False +- start +- User name +- +- +- 0 +- 0 +- +- +- +- +- 250 +- True +- True +- True +- +- +- +- 1 +- 0 +- +- +- +- +- True +- False +- start +- Password +- +- +- 0 +- 1 +- +- +- +- +- True +- True +- True +- False +- +- +- +- +- 1 +- 1 +- +- +- +- +- +- +- 1 +- 1 +- +- +- +- +- True +- False +- none +- +- +- True +- False +- True +- 4 +- 4 +- +- +- True +- False +- start +- Organization +- +- +- 0 +- 0 +- +- +- +- +- True +- False +- start +- Activation Key +- +- +- 0 +- 1 +- +- +- +- +- True +- True +- True +- +- +- +- 1 +- 0 +- +- +- +- +- True +- True +- True +- key1,key2,... +- +- +- +- 1 +- 1 +- +- +- +- +- +- +- 1 +- 2 +- +- +- +- +- True +- False +- end +- Purpose +- right +- +- +- +- +- +- 0 +- 3 +- +- +- +- +- True +- False +- +- +- True +- False +- 4 +- 4 +- +- +- True +- False +- start +- Usage +- +- +- 0 +- 2 +- +- +- +- +- True +- False +- start +- Role +- +- +- 0 +- 0 +- +- +- +- +- True +- False +- start +- SLA +- +- +- 0 +- 1 +- +- +- +- +- True +- False +- +- +- +- 1 +- 0 +- +- +- +- +- True +- False +- +- +- +- 1 +- 1 +- +- +- +- +- True +- False +- +- +- +- 1 +- 2 +- +- +- +- +- +- +- 1 +- 4 +- +- +- +- +- Set System Purpose +- True +- True +- False +- True +- +- +- +- 1 +- 3 +- +- +- +- +- True +- False +- end +- Insights +- right +- +- +- +- +- +- 0 +- 5 +- +- +- +- +- Connect to Red Hat _Insights +- True +- True +- False +- Red Hat Insights aims to increase your IT efficiency and speed across hybrid infrastructures by identifying and prioritizing risks, managing vulnerabilities, and compliance, and analyzing costs. For more information, visit the Red Hat Insights information page. +- True +- True +- True +- +- +- 1 +- 5 +- +- +- +- +- +- +- +- +- +- +- +- +- +- False +- True +- 0 +- +- +- +- +- True +- True +- +- +- True +- False +- 4 +- 4 +- +- +- Custom base URL +- True +- True +- False +- True +- +- +- +- 1 +- 4 +- +- +- +- +- True +- False +- +- +- True +- True +- +- +- +- +- +- 1 +- 5 +- +- +- +- +- True +- False +- +- +- True +- True +- +- +- +- +- +- 1 +- 3 +- +- +- +- +- Custom server URL +- True +- True +- False +- True +- +- +- +- 1 +- 2 +- +- +- +- +- Use HTTP proxy +- True +- True +- False +- True +- +- +- +- 1 +- 0 +- +- +- +- +- True +- False +- +- +- True +- False +- 4 +- 4 +- +- +- True +- False +- start +- Location +- +- +- 0 +- 0 +- +- +- +- +- True +- False +- start +- User name +- +- +- 0 +- 1 +- +- +- +- +- True +- False +- start +- Password +- +- +- 0 +- 2 +- +- +- +- +- True +- True +- True +- hostname:port +- +- +- +- 1 +- 0 +- +- +- +- +- 250 +- True +- True +- +- +- +- 1 +- 1 +- +- +- +- +- True +- True +- False +- +- +- +- +- 1 +- 2 +- +- +- +- +- +- +- 1 +- 1 +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- True +- False +- +- +- True +- False +- Options +- +- +- False +- True +- 0 +- +- +- +- +- +- +- False +- True +- 1 +- +- +- +- +- True +- False +- 8 +- 8 +- The system is currently not registered. +- +- +- +- +- +- False +- True +- 2 +- +- +- +- +- _Register +- True +- False +- True +- True +- center +- True +- +- +- +- False +- True +- 3 +- +- +- +- +- +- +- +- +- +- +- +- +- +- True +- False +- 8 +- vertical +- 4 +- +- +- True +- False +- vertical +- 4 +- +- +- True +- False +- 4 +- +- +- True +- False +- The system has been properly subscribed +- +- +- +- +- +- +- False +- True +- 0 +- +- +- +- +- _Unregister +- True +- True +- True +- center +- True +- +- +- +- False +- True +- 8 +- 2 +- +- +- +- +- False +- True +- 0 +- +- +- +- +- True +- False +- start +- 8 +- 4 +- 8 +- +- +- method_label +- True +- False +- end +- Method +- right +- +- +- +- +- +- 0 +- 0 +- +- +- +- +- system_purpose_label +- True +- False +- end +- System Purpose +- right +- +- +- +- +- +- 0 +- 1 +- +- +- +- +- True +- False +- start +- lorem ipsum +- +- +- 1 +- 0 +- +- +- +- +- True +- False +- start +- lorem ipsum +- +- +- 1 +- 1 +- +- +- +- +- True +- False +- start +- lorem ipsum +- +- +- 1 +- 2 +- +- +- +- +- insights_label +- True +- False +- end +- Insights +- right +- +- +- +- +- +- 0 +- 4 +- +- +- +- +- True +- False +- start +- lorem ipsum +- +- +- 1 +- 4 +- +- +- +- +- True +- False +- start +- lorem ipsum +- +- +- 1 +- 3 +- +- +- +- +- +- +- +- +- +- +- False +- True +- 1 +- +- +- +- +- False +- True +- 0 +- +- +- +- +- True +- False +- start +- 16 +- 4 +- No subscriptions have been attached to the system +- +- +- +- +- +- +- False +- True +- 1 +- +- +- +- +- True +- True +- True +- +- +- True +- False +- none +- +- +- True +- False +- none +- +- +- +- +- +- +- +- False +- True +- 2 +- +- +- +- +- 1 +- +- +- +- +- +- +- +- +- +- +- +- +- +- False +- True +- 0 +- +- +- +- +- +- +- True +- True +- 1 +- +- +- +- +- +- +- SYSTEM PURPOSE +- +- +- +- +diff --git a/pyanaconda/ui/gui/spokes/subscription.py b/pyanaconda/ui/gui/spokes/subscription.py +deleted file mode 100644 +index f4ee772..0000000 +--- a/pyanaconda/ui/gui/spokes/subscription.py ++++ /dev/null +@@ -1,1163 +0,0 @@ +-# Subscription spoke class +-# +-# Copyright (C) 2020 Red Hat, Inc. +-# +-# This copyrighted material is made available to anyone wishing to use, +-# modify, copy, or redistribute it subject to the terms and conditions of +-# the GNU General Public License v.2, or (at your option) any later version. +-# This program is distributed in the hope that it will be useful, but WITHOUT +-# ANY WARRANTY expressed or implied, including the implied warranties of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +-# Public License for more details. You should have received a copy of the +-# GNU General Public License along with this program; if not, write to the +-# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +-# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the +-# source code or documentation are not subject to the GNU General Public +-# License and may only be used or replicated with the express permission of +-# Red Hat, Inc. +-# +- +-from enum import IntEnum +- +-from pyanaconda.flags import flags +-from pyanaconda.threading import threadMgr, AnacondaThread +- +-from pyanaconda.core.i18n import _, CN_ +-from pyanaconda.core.constants import SECRET_TYPE_HIDDEN, \ +- SUBSCRIPTION_REQUEST_TYPE_USERNAME_PASSWORD, SUBSCRIPTION_REQUEST_TYPE_ORG_KEY, \ +- THREAD_SUBSCRIPTION, THREAD_PAYLOAD, SOURCE_TYPES_OVERRIDEN_BY_CDN, \ +- THREAD_SUBSCRIPTION_SPOKE_INIT +-from pyanaconda.core.payload import ProxyString, ProxyStringError +-from pyanaconda.ui.lib.subscription import register_and_subscribe, \ +- unregister, SubscriptionPhase +-from pyanaconda.core.async_utils import async_action_wait +- +-from pyanaconda.modules.common.constants.services import SUBSCRIPTION, NETWORK +-from pyanaconda.modules.common.structures.subscription import SystemPurposeData, \ +- SubscriptionRequest, AttachedSubscription +-from pyanaconda.modules.common.util import is_module_available +-from pyanaconda.modules.common.task import sync_run_task +- +-from pyanaconda.ui.gui.spokes import NormalSpoke +-from pyanaconda.ui.gui.spokes.lib.subscription import fill_combobox, \ +- populate_attached_subscriptions_listbox +-from pyanaconda.ui.categories.software import SoftwareCategory +-from pyanaconda.ui.communication import hubQ +-from pyanaconda.ui.lib.subscription import username_password_sufficient, org_keys_sufficient, \ +- check_cdn_is_installation_source +- +-from pyanaconda.anaconda_loggers import get_module_logger +-log = get_module_logger(__name__) +- +-__all__ = ["SubscriptionSpoke"] +- +- +-# the integers correspond to the order of options +-# in the authentication mode combo box +-class AuthenticationMethod(IntEnum): +- USERNAME_PASSWORD = 0 +- ORG_KEY = 1 +- +- +-class SubscriptionSpoke(NormalSpoke): +- """Subscription spoke provides the Connect to Red Hat screen.""" +- builderObjects = ["subscription_window"] +- +- mainWidgetName = "subscription_window" +- uiFile = "spokes/subscription.glade" +- help_id = "SubscriptionSpoke" +- +- category = SoftwareCategory +- +- icon = "application-certificate-symbolic" +- title = CN_("GUI|Spoke", "_Connect to Red Hat") +- +- # main notebook pages +- REGISTRATION_PAGE = 0 +- SUBSCRIPTION_STATUS_PAGE = 1 +- +- @classmethod +- def should_run(cls, environment, data): +- """The Subscription spoke should run only if the Subscription module is available.""" +- return is_module_available(SUBSCRIPTION) +- +- def __init__(self, *args): +- super().__init__(*args) +- +- # connect to the Subscription DBus module API +- self._subscription_module = SUBSCRIPTION.get_proxy() +- +- # connect to the Network DBus module API +- self._network_module = NETWORK.get_proxy() +- +- # get initial data from the Subscription module +- self._subscription_request = self._get_subscription_request() +- self._system_purpose_data = self._get_system_purpose_data() +- # Keep a copy of system purpose data that has been last applied to +- # the installation environment. +- # That way we can check if the main copy of the system purposed data +- # changed since it was applied (for example due to user input) +- # and needs to be reapplied. +- # By default this variable is None and will only be set to a +- # SystemPurposeData instance when first system purpose data is +- # applied to the installation environment. +- self._last_applied_system_purpose_data = None +- +- self._authentication_method = AuthenticationMethod.USERNAME_PASSWORD +- +- self._registration_error = "" +- self._registration_phase = None +- self._registration_controls_enabled = True +- +- # Red Hat Insights should be enabled by default for non-kickstart installs. +- # +- # For kickstart installations we will use the value from the module, which +- # False by default & can be set to True via the rhsm kickstart command. +- if not flags.automatedInstall: +- self._subscription_module.SetInsightsEnabled(True) +- +- # previous visit network connectivity tracking +- self._network_connected_previously = False +- +- # overriden source tracking +- self._overridden_source_type = None +- +- self._spoke_initialized = False +- +- # common spoke properties +- +- @property +- def ready(self): +- """The subscription spoke is ready once the spoke initialization thread finishes. +- +- The spoke initialization thread waits for the subscription and payload initialization +- threads, to avoid the Subscription spoke being set mandatory in cases +- where the current installation source is the CDN, but payload refresh is still +- running and it might change the installation source to CDROM later on. +- +- NOTE: We don't actually wait for the spoke initialization thread to finish, we check +- a variable it sets instead. This is due to the thread also sending the hub refresh +- signal, which would trigger a race condition if the hub refresh is processed before +- the spoke initialization thread finishes. Setting the variable and *then* sending +- the hub refresh signal avoids this issue. +- """ +- return self._spoke_initialized +- +- +- @property +- def status(self): +- # The spoke status message: +- # - shows registration phases when registration + subscription +- # or unregistration is ongoing +- # - otherwise shows not-registered/registered/error +- return self._get_status_message() +- +- @property +- def mandatory(self): +- """The subscription spoke is mandatory if Red Hat CDN is set as installation source.""" +- return check_cdn_is_installation_source(self.payload) +- +- @property +- def completed(self): +- return self.subscription_attached +- +- @property +- def sensitive(self): +- # the Subscription spoke should be always accessible +- return True +- +- # common spoke methods +- +- def apply(self): +- log.debug("Subscription GUI: apply() running") +- self._set_data_to_module() +- +- def refresh(self): +- log.debug("Subscription GUI: refresh() running") +- # update spoke state based on up-to-date data from the Subscription module +- # (this also takes care of updating the two properties holding subscription +- # request as well as system purpose data) +- self._update_spoke_state() +- # check if network connectivity is available +- # - without network connectivity the spoke is pretty much unusable +- # - also, no need to check if registration/unregistration is in progress +- if not self.registration_phase: +- self._check_connectivity() +- +- # DBus structure mirrors +- +- @property +- def subscription_request(self): +- """A mirror of the subscription request from the Subscription DBus module. +- +- Should be always set and is periodically updated on refresh(). +- +- :return: up to date subscription request +- :rtype: SubscriptionRequest instance +- """ +- return self._subscription_request +- +- @property +- def system_purpose_data(self): +- """A mirror of system purpose data from the Subscription DBus module. +- +- Should be always set and is periodically updated on refresh(). +- +- :return: up to date system purpose data +- :rtype: SystemPurposeData instance +- """ +- return self._system_purpose_data +- +- # placeholder control +- +- def enable_http_proxy_password_placeholder(self, show_placeholder): +- """Show a placeholder on the HTTP proxy password field. +- +- The placeholder notifies the user about HTTP proxy password +- being set in the DBus module. +- +- The placeholder will be only shown if there is no +- actual text in the entry field. +- """ +- if show_placeholder: +- self._http_proxy_password_entry.set_placeholder_text(_("Password set.")) +- else: +- self._http_proxy_password_entry.set_placeholder_text("") +- +- def enable_password_placeholder(self, show_placeholder): +- """Show a placeholder on the red hat account password field. +- +- The placeholder notifies the user about activation +- key being set in the DBus module. +- +- The placeholder will be only shown if there is no +- actual text in the entry field. +- """ +- if show_placeholder: +- self._password_entry.set_placeholder_text(_("Password set.")) +- else: +- self._password_entry.set_placeholder_text("") +- +- def enable_activation_key_placeholder(self, show_placeholder): +- """Show a placeholder on the activation key field. +- +- The placeholder notifies the user about activation +- key being set in the DBus module. +- +- The placeholder will be only shown if there is no +- actual text in the entry field. +- """ +- if show_placeholder: +- self._activation_key_entry.set_placeholder_text(_("Activation key set.")) +- else: +- self._activation_key_entry.set_placeholder_text("") +- +- # properties controlling visibility of options that can be hidden +- +- @property +- def custom_server_hostname_visible(self): +- return self._custom_server_hostname_checkbox.get_active() +- +- @custom_server_hostname_visible.setter +- def custom_server_hostname_visible(self, visible): +- self._custom_server_hostname_checkbox.set_active(visible) +- +- @property +- def http_proxy_visible(self): +- return self._http_proxy_checkbox.get_active() +- +- @http_proxy_visible.setter +- def http_proxy_visible(self, visible): +- self._http_proxy_checkbox.set_active(visible) +- +- @property +- def custom_rhsm_baseurl_visible(self): +- return self._custom_rhsm_baseurl_checkbox.get_active() +- +- @custom_rhsm_baseurl_visible.setter +- def custom_rhsm_baseurl_visible(self, visible): +- self._custom_rhsm_baseurl_checkbox.set_active(visible) +- +- @property +- def account_visible(self): +- return self._account_radio_button.get_active() +- +- @account_visible.setter +- def account_visible(self, visible): +- self._account_radio_button.set_active(visible) +- +- @property +- def activation_key_visible(self): +- return self._activation_key_radio_button.get_active() +- +- @activation_key_visible.setter +- def activation_key_visible(self, visible): +- self._activation_key_radio_button.set_active(visible) +- +- @property +- def system_purpose_visible(self): +- return self._system_purpose_checkbox.get_active() +- +- @system_purpose_visible.setter +- def system_purpose_visible(self, visible): +- self._system_purpose_checkbox.set_active(visible) +- +- @property +- def options_visible(self): +- return self._options_expander.get_expanded() +- +- @options_visible.setter +- def options_visible(self, visible): +- self._options_expander.set_expanded(visible) +- +- # properties - element sensitivity +- +- def set_registration_controls_sensitive(self, sensitive, include_register_button=True): +- """Set sensitivity of the registration controls. +- +- We set these value individually so that the registration status label +- that is between the controls will not become grayed out due to setting +- the top level container insensitive. +- """ +- self._registration_grid.set_sensitive(sensitive) +- self._options_expander.set_sensitive(sensitive) +- self._registration_controls_enabled = sensitive +- self._update_registration_state() +- +- # authentication related signals +- +- def on_account_radio_button_toggled(self, radio): +- self._account_revealer.set_reveal_child(radio.get_active()) +- if radio.get_active(): +- self.authentication_method = AuthenticationMethod.USERNAME_PASSWORD +- +- def on_activation_key_radio_button_toggled(self, radio): +- self._activation_key_revealer.set_reveal_child(radio.get_active()) +- if radio.get_active(): +- self.authentication_method = AuthenticationMethod.ORG_KEY +- +- def on_username_entry_changed(self, editable): +- self.subscription_request.account_username = editable.get_text() +- self._update_registration_state() +- +- def on_password_entry_changed(self, editable): +- entered_text = editable.get_text() +- if entered_text: +- self.enable_password_placeholder(False) +- self.subscription_request.account_password.set_secret(entered_text) +- self._update_registration_state() +- +- def on_organization_entry_changed(self, editable): +- self.subscription_request.organization = editable.get_text() +- self._update_registration_state() +- +- def on_activation_key_entry_changed(self, editable): +- entered_text = editable.get_text() +- keys = None +- if entered_text: +- self.enable_activation_key_placeholder(False) +- keys = entered_text.split(',') +- # keys == None clears keys in the module, so deleting keys +- # in the keys field will also clear module data on apply() +- self.subscription_request.activation_keys.set_secret(keys) +- self._update_registration_state() +- +- # system purpose related signals +- +- def on_system_purpose_checkbox_toggled(self, checkbox): +- active = checkbox.get_active() +- self._system_purpose_revealer.set_reveal_child(active) +- if active: +- # make sure data in the system purpose comboboxes +- # are forwarded to the system purpose data structure +- # in case something was set before they were hidden +- self.on_system_purpose_role_combobox_changed(self._system_purpose_role_combobox) +- self.on_system_purpose_sla_combobox_changed(self._system_purpose_sla_combobox) +- self.on_system_purpose_usage_combobox_changed(self._system_purpose_usage_combobox) +- else: +- # system purpose combo boxes have been hidden, clear the corresponding +- # data from the system purpose data structure, but keep it in the combo boxes +- # in case the user tries to show them again before next spoke entry clears them +- self.system_purpose_data.role = "" +- self.system_purpose_data.sla = "" +- self.system_purpose_data.usage = "" +- +- def on_system_purpose_role_combobox_changed(self, combobox): +- self.system_purpose_data.role = combobox.get_active_id() +- +- def on_system_purpose_sla_combobox_changed(self, combobox): +- self.system_purpose_data.sla = combobox.get_active_id() +- +- def on_system_purpose_usage_combobox_changed(self, combobox): +- self.system_purpose_data.usage = combobox.get_active_id() +- +- # HTTP proxy signals +- +- def on_http_proxy_checkbox_toggled(self, checkbox): +- active = checkbox.get_active() +- self._http_proxy_revealer.set_reveal_child(active) +- if active: +- # make sure data in the HTTP proxy entries +- # are forwarded to the subscription request structure +- # in case something was entered before they were hidden +- self.on_http_proxy_location_entry_changed(self._http_proxy_location_entry) +- self.on_http_proxy_username_entry_changed(self._http_proxy_username_entry) +- self.on_http_proxy_password_entry_changed(self._http_proxy_password_entry) +- else: +- # HTTP proxy entries have been hidden, clear the corresponding data from +- # the subscription request structure, but keep it in the entries in case +- # the user tries to show them again before next spoke entry clears them +- self._subscription_request.server_proxy_hostname = "" +- self._subscription_request.server_proxy_port = -1 +- self._subscription_request.server_proxy_user = "" +- self._subscription_request.server_proxy_password.set_secret(None) +- +- def on_http_proxy_location_entry_changed(self, editable): +- # Incorrect hostnames, including empty strings, will +- # throw an exception we need to catch and switch +- # to defaults. This can happen often as the user +- # types the hostname to the field. +- try: +- proxy_obj = ProxyString(url=editable.get_text()) +- hostname = proxy_obj.host +- if proxy_obj.port: +- # the DBus API expects an integer +- port = int(proxy_obj.port) +- except ProxyStringError: +- hostname = "" +- port = -1 # not set == -1 +- # set the resulting values to the DBus structure +- self.subscription_request.server_proxy_hostname = hostname +- self.subscription_request.server_proxy_port = port +- +- def on_http_proxy_username_entry_changed(self, editable): +- self.subscription_request.server_proxy_user = editable.get_text() +- +- def on_http_proxy_password_entry_changed(self, editable): +- password = editable.get_text() +- # if password is set in the field, set it, or set None to clear the password +- self.subscription_request.server_proxy_password.set_secret(password or None) +- +- # custom server hostname and rhsm baseurl signals +- +- def on_custom_server_hostname_checkbox_toggled(self, checkbox): +- active = checkbox.get_active() +- self._custom_server_hostname_revealer.set_reveal_child(active) +- if active: +- # make sure data in the server hostname entry +- # is forwarded to the subscription request structure +- # in case something was entered before the entry was +- # hidden +- self.on_custom_server_hostname_entry_changed(self._custom_server_hostname_entry) +- else: +- # the entry was hidden, clear the data from subscription request but +- # keep it in the entry in case user decides to show the entry again +- # before next spoke entry clears it +- self.subscription_request.server_hostname = "" +- +- def on_custom_server_hostname_entry_changed(self, editable): +- self.subscription_request.server_hostname = editable.get_text() +- +- def on_custom_rhsm_baseurl_checkbox_toggled(self, checkbox): +- active = checkbox.get_active() +- self._custom_rhsm_baseurl_revealer.set_reveal_child(active) +- if active: +- # make sure data in the rhsm baseurl entry +- # is forwarded to the subscription request structure +- # in case something was entered before the entry was +- # hidden +- self.on_custom_rhsm_baseurl_entry_changed(self._custom_rhsm_baseurl_entry) +- else: +- # the entry was hidden, clear the data from subscription request but +- # keep it in the entry in case user decides to show the entry again +- # before next spoke entry clears it +- self.subscription_request.rhsm_baseurl = "" +- +- def on_custom_rhsm_baseurl_entry_changed(self, editable): +- self.subscription_request.rhsm_baseurl = editable.get_text() +- +- # button signals +- +- def on_register_button_clicked(self, button): +- log.debug("Subscription GUI: register button clicked") +- self._register() +- +- def on_unregister_button_clicked(self, button): +- """Handle registration related tasks.""" +- log.debug("Subscription GUI: unregister button clicked") +- self._unregister() +- +- # properties - general properties +- +- @property +- def registration_phase(self): +- """Reports what phase the registration procedure is in. +- +- Only valid if a registration thread is running. +- """ +- return self._registration_phase +- +- @registration_phase.setter +- def registration_phase(self, phase): +- self._registration_phase = phase +- +- @property +- def subscription_attached(self): +- """Was a subscription entitlement successfully attached ?""" +- return self._subscription_module.IsSubscriptionAttached +- +- @property +- def network_connected(self): +- """Does it look like that we have network connectivity ? +- +- Network connectivity is required for subscribing a system. +- """ +- return self._network_module.Connected +- +- @property +- def authentication_method(self): +- """Report which authentication method is in use.""" +- return self._authentication_method +- +- @authentication_method.setter +- def authentication_method(self, method): +- self._authentication_method = method +- if method == AuthenticationMethod.USERNAME_PASSWORD: +- self.activation_key_visible = False +- self.account_visible = True +- self.subscription_request.type = SUBSCRIPTION_REQUEST_TYPE_USERNAME_PASSWORD +- elif method == AuthenticationMethod.ORG_KEY: +- self.activation_key_visible = True +- self.account_visible = False +- self.subscription_request.type = SUBSCRIPTION_REQUEST_TYPE_ORG_KEY +- +- @property +- def options_set(self): +- """Report if at least one option in the Options section has been set.""" +- return self.http_proxy_visible or self.custom_server_hostname_visible or \ +- self.custom_rhsm_baseurl_visible +- +- @property +- def registration_error(self): +- return self._registration_error +- +- @registration_error.setter +- def registration_error(self, error_message): +- self._registration_error = error_message +- # also set the spoke warning banner +- self.show_warning_message(error_message) +- +- def initialize(self): +- NormalSpoke.initialize(self) +- self.initialize_start() +- +- # get object references from the builders +- self._main_notebook = self.builder.get_object("main_notebook") +- +- # * the registration tab * # +- +- # container for the main registration controls +- self._registration_grid = self.builder.get_object("registration_grid") +- +- # authentication +- self._account_radio_button = self.builder.get_object("account_radio_button") +- self._activation_key_radio_button = self.builder.get_object("activation_key_radio_button") +- +- # authentication - account +- self._account_revealer = self.builder.get_object("account_revealer") +- self._username_entry = self.builder.get_object("username_entry") +- self._password_entry = self.builder.get_object("password_entry") +- +- # authentication - activation key +- self._activation_key_revealer = self.builder.get_object("activation_key_revealer") +- self._organization_entry = self.builder.get_object("organization_entry") +- self._activation_key_entry = self.builder.get_object("activation_key_entry") +- +- # system purpose +- self._system_purpose_checkbox = self.builder.get_object("system_purpose_checkbox") +- self._system_purpose_revealer = self.builder.get_object("system_purpose_revealer") +- self._system_purpose_role_combobox = self.builder.get_object( +- "system_purpose_role_combobox" +- ) +- self._system_purpose_sla_combobox = self.builder.get_object( +- "system_purpose_sla_combobox" +- ) +- self._system_purpose_usage_combobox = self.builder.get_object( +- "system_purpose_usage_combobox" +- ) +- +- # insights +- self._insights_checkbox = self.builder.get_object("insights_checkbox") +- +- # options expander +- self._options_expander = self.builder.get_object("options_expander") +- +- # HTTP proxy +- self._http_proxy_checkbox = self.builder.get_object("http_proxy_checkbox") +- self._http_proxy_revealer = self.builder.get_object("http_proxy_revealer") +- self._http_proxy_location_entry = self.builder.get_object("http_proxy_location_entry") +- self._http_proxy_username_entry = self.builder.get_object("http_proxy_username_entry") +- self._http_proxy_password_entry = self.builder.get_object("http_proxy_password_entry") +- +- # RHSM baseurl +- self._custom_rhsm_baseurl_checkbox = self.builder.get_object( +- "custom_rhsm_baseurl_checkbox" +- ) +- self._custom_rhsm_baseurl_revealer = self.builder.get_object( +- "custom_rhsm_baseurl_revealer" +- ) +- self._custom_rhsm_baseurl_entry = self.builder.get_object( +- "custom_rhsm_baseurl_entry" +- ) +- +- # server hostname +- self._custom_server_hostname_checkbox = self.builder.get_object( +- "custom_server_hostname_checkbox" +- ) +- self._custom_server_hostname_revealer = self.builder.get_object( +- "custom_server_hostname_revealer" +- ) +- self._custom_server_hostname_entry = self.builder.get_object( +- "custom_server_hostname_entry" +- ) +- +- # status label +- self._registration_status_label = self.builder.get_object("registration_status_label") +- +- # register button +- self._register_button = self.builder.get_object("register_button") +- +- # * the subscription status tab * # +- +- # general status +- self._method_status_label = self.builder.get_object("method_status_label") +- self._role_status_label = self.builder.get_object("role_status_label") +- self._sla_status_label = self.builder.get_object("sla_status_label") +- self._usage_status_label = self.builder.get_object("usage_status_label") +- self._insights_status_label = self.builder.get_object("insights_status_label") +- +- # attached subscriptions +- self._attached_subscriptions_label = self.builder.get_object( +- "attached_subscriptions_label" +- ) +- self._subscriptions_listbox = self.builder.get_object("subscriptions_listbox") +- +- # unregister button +- self._unregister_revealer = self.builder.get_object("unregister_revealer") +- self._unregister_button = self.builder.get_object("unregister_button") +- +- # setup spoke state based on data from the Subscription DBus module +- self._update_spoke_state() +- +- # start the rest of spoke initialization which might take some time +- # (mainly due to waiting for various initialization threads to finish) +- # in a separate thread +- threadMgr.add(AnacondaThread(name=THREAD_SUBSCRIPTION_SPOKE_INIT, +- target=self._initialize)) +- +- def _initialize(self): +- # wait for subscription thread to finish (if any) +- threadMgr.wait(THREAD_SUBSCRIPTION) +- # also wait for the payload thread, which migh still be processing +- # a CDROM source, to avoid the Subscription being mandatory by mistake +- # due to CDN still being default at the time of evaulation +- threadMgr.wait(THREAD_PAYLOAD) +- +- # update overall state +- self._update_registration_state() +- self._update_subscription_state() +- +- # we are done, mark the spoke as initialized +- self._spoke_initialized = True +- +- # Send ready signal to main event loop, +- # which among other things refreshes the hub to make +- # sure the Connect to Red Hat spokes shows up as ready. +- hubQ.send_ready(self.__class__.__name__, False) +- +- # report that we are done +- self.initialize_done() +- +- # private methods +- +- def _update_spoke_state(self): +- """Setup spoke state based on Subscription DBus module state. +- +- Subscription DBus module state is represented by the SubscriptionRequest and +- SystemPurposeData DBus structures. We first update their local mirrors from +- the DBus module and then set all the controls in the spoke to values +- represented in the DBus structures. +- +- NOTE: There are a couple special cases where we need to do some special precessing, +- such as for fields holding sensitive data. If we blindly set those based +- on DBus structure data, we would effectively clear them as the Subscription +- DBus module never returns previously set sensitive data in plain text. +- +- """ +- # start by pulling in fresh data from the Subscription DBus module +- self._subscription_request = self._get_subscription_request() +- self._system_purpose_data = self._get_system_purpose_data() +- +- # next update the authentication part of the UI +- self._update_authetication_ui() +- +- # check if system purpose part of the spoke should be visible +- self.system_purpose_visible = self.system_purpose_data.check_data_available() +- +- # NOTE: the fill_combobox() function makes sure to remove old data from the +- # combo box before filling it +- +- # role +- fill_combobox(self._system_purpose_role_combobox, +- self.system_purpose_data.role, +- self._subscription_module.GetValidRoles()) +- # SLA +- fill_combobox(self._system_purpose_sla_combobox, +- self.system_purpose_data.sla, +- self._subscription_module.GetValidSLAs()) +- # usage +- fill_combobox(self._system_purpose_usage_combobox, +- self.system_purpose_data.usage, +- self._subscription_module.GetValidUsageTypes()) +- +- # Insights +- self._insights_checkbox.set_active(self._subscription_module.InsightsEnabled) +- +- # update the HTTP proxy part of the UI +- self._update_http_proxy_ui() +- +- # set custom server hostname +- self.custom_server_hostname_visible = bool(self.subscription_request.server_hostname) +- self._custom_server_hostname_entry.set_text(self.subscription_request.server_hostname) +- +- # set custom rhsm baseurl +- self.custom_rhsm_baseurl_visible = bool(self.subscription_request.rhsm_baseurl) +- self._custom_rhsm_baseurl_entry.set_text(self.subscription_request.rhsm_baseurl) +- +- # if there is something set in the Options section, expand the expander +- # - this needs to go last, after all the values in option section are set/not set +- if self.options_set: +- self.options_visible = True +- +- # now that we updated the spoke with fresh data from the module, we can run the +- # general purpose update functions that make sure the two parts of the spoke +- # (the registration part and the subscription part) are both valid +- self._update_registration_state() +- self._update_subscription_state() +- +- def _update_authetication_ui(self): +- """Update the authentication part of the spoke. +- +- - SubscriptionRequest always has type set +- - username + password is the default +- For the related password and activation keys entry holding sensitive data +- we need to reconcile the data held in the spoke from previous entry with +- data set in the DBus module previously: +- - data in module and entry empty -> set placeholder +- - data in module and entry populated -> keep text in entry, +- we assume it is the same as what is in module +- - no data in module and entry populated -> clear entry & any placeholders +- (data cleared over DBus API) +- - no data in module and entry empty -> do nothing +- """ +- if self.subscription_request.type == SUBSCRIPTION_REQUEST_TYPE_USERNAME_PASSWORD: +- self.authentication_method = AuthenticationMethod.USERNAME_PASSWORD +- self._username_entry.set_text(self.subscription_request.account_username) +- set_in_entry = bool(self._password_entry.get_text()) +- set_in_module = self.subscription_request.account_password.type == SECRET_TYPE_HIDDEN +- if set_in_module: +- if not set_in_entry: +- self.enable_password_placeholder(True) +- else: +- self._password_entry.set_text("") +- self.enable_password_placeholder(False) +- elif self.subscription_request.type == SUBSCRIPTION_REQUEST_TYPE_ORG_KEY: +- self.authentication_method = AuthenticationMethod.ORG_KEY +- self._organization_entry.set_text(self.subscription_request.organization) +- set_in_entry = bool(self._activation_key_entry.get_text()) +- set_in_module = self.subscription_request.activation_keys.type == SECRET_TYPE_HIDDEN +- if set_in_module: +- if not set_in_entry: +- self.enable_activation_key_placeholder(True) +- else: +- self._activation_key_entry.set_text("") +- self.enable_activation_key_placeholder(False) +- +- def _update_http_proxy_ui(self): +- """Update the HTTP proxy configuration part of the spoke.""" +- proxy_hostname = self.subscription_request.server_proxy_hostname +- proxy_port = self.subscription_request.server_proxy_port +- proxy_port_set = proxy_port >= 0 +- proxy_username = self.subscription_request.server_proxy_user +- proxy_password_secret = self.subscription_request.server_proxy_password +- proxy_password_set = proxy_password_secret.type == SECRET_TYPE_HIDDEN +- self.http_proxy_visible = proxy_hostname or proxy_username or proxy_password_set +- if proxy_hostname: +- proxy_url = proxy_hostname +- if proxy_port_set: +- proxy_url = "{}:{}".format(proxy_url, proxy_port) +- self._http_proxy_location_entry.set_text(proxy_url) +- # HTTP proxy username +- self._http_proxy_username_entry.set_text(proxy_username) +- # HTTP proxy password +- set_in_entry = bool(self._http_proxy_password_entry.get_text()) +- secret_type = self.subscription_request.server_proxy_password.type +- set_in_module = secret_type == SECRET_TYPE_HIDDEN +- if set_in_module: +- if not set_in_entry: +- self.enable_http_proxy_password_placeholder(True) +- else: +- self._http_proxy_password_entry.set_text("") +- self.enable_http_proxy_password_placeholder(False) +- +- def _set_data_to_module(self): +- """Set system purpose data to the DBus module. +- +- Called either on apply() or right before a subscription +- attempt. +- """ +- self._set_system_purpose_data() +- # Set data about Insights to the DBus module. +- self._set_insights() +- # Set subscription request to the DBus module. +- self._set_subscription_request() +- +- def _get_system_purpose_data(self): +- """Get SystemPurposeData from the Subscription module.""" +- struct = self._subscription_module.SystemPurposeData +- return SystemPurposeData.from_structure(struct) +- +- def _set_system_purpose_data(self): +- """Set system purpose data to the Subscription DBus module.""" +- self._subscription_module.SetSystemPurposeData( +- SystemPurposeData.to_structure(self.system_purpose_data) +- ) +- # also apply the data (only applies when needed) +- self._apply_system_purpose_data() +- +- def _apply_system_purpose_data(self): +- """Apply system purpose data to the installation environment. +- +- Apply system purpose data to the installation environment, provided that: +- - system purpose data has not yet been applied to the system +- or +- - current system purpose data is different from the data last applied to the system +- +- Due to that we keep a copy of the last applied system purpose data so that we can +- check for difference. +- +- If the last applied data is the same as current system purpose data, nothing is done. +- """ +- if self._last_applied_system_purpose_data != self.system_purpose_data: +- log.debug("Subscription GUI: applying system purpose data to installation environment") +- task_path = self._subscription_module.SetSystemPurposeWithTask() +- task_proxy = SUBSCRIPTION.get_proxy(task_path) +- sync_run_task(task_proxy) +- self._last_applied_system_purpose_data = self.system_purpose_data +- +- def _get_subscription_request(self): +- """Get SubscriptionRequest from the Subscription module.""" +- struct = self._subscription_module.SubscriptionRequest +- return SubscriptionRequest.from_structure(struct) +- +- def _set_subscription_request(self): +- """Set subscription request to the Subscription DBus module.""" +- self._subscription_module.SetSubscriptionRequest( +- SubscriptionRequest.to_structure(self.subscription_request) +- ) +- +- def _set_insights(self): +- """Configure Insights in DBus module based on GUI state.""" +- self._subscription_module.SetInsightsEnabled(self._insights_checkbox.get_active()) +- +- def _register(self): +- """Try to register a system.""" +- # update data in the Subscription DBUS module +- self._set_data_to_module() +- +- # disable controls +- self.set_registration_controls_sensitive(False) +- +- # wait for the previous subscription thread to finish +- threadMgr.wait(THREAD_SUBSCRIPTION) +- +- # check if the current installation source will be overriden +- # and remember it if it is the case +- source_type = self.payload.source_type +- if source_type is not None and source_type in SOURCE_TYPES_OVERRIDEN_BY_CDN: +- self._overridden_source_type = source_type +- else: +- # no override will happen, so clear the variable +- self._overridden_source_type = None +- +- # try to register +- log.debug("Subscription GUI: attempting to register") +- threadMgr.add( +- AnacondaThread( +- name=THREAD_SUBSCRIPTION, +- target=register_and_subscribe, +- kwargs={ +- "payload": self.payload, +- "progress_callback": self._subscription_progress_callback, +- "error_callback": self._subscription_error_callback, +- "restart_payload": True +- } +- ) +- ) +- +- def _unregister(self): +- """Try to unregister a system.""" +- # update data in the Subscription DBUS module +- self._set_data_to_module() +- +- # disable controls +- self.set_registration_controls_sensitive(False) +- +- # wait for the previous subscription thread to finish +- threadMgr.wait(THREAD_SUBSCRIPTION) +- +- # try to unregister +- log.debug("Subscription GUI: attempting to unregister") +- threadMgr.add( +- AnacondaThread( +- name=THREAD_SUBSCRIPTION, +- target=unregister, +- kwargs={ +- "payload": self.payload, +- "overridden_source_type": self._overridden_source_type, +- "progress_callback": self._subscription_progress_callback, +- "error_callback": self._subscription_error_callback, +- "restart_payload": True +- } +- ) +- ) +- +- @async_action_wait +- def _subscription_progress_callback(self, phase): +- """Progress handling for subscription thread. +- +- Used both for both registration + attaching subscription +- and for unregistration. +- +- NOTE: Using the @async_action_wait decorator as this is +- called from the subscription thread. We need to do +- that as GTK does bad things if non main threads +- interact with it. +- """ +- # clear error message from a previous attempt (if any) +- self.registration_error = "" +- # set registration phase +- self.registration_phase = phase +- +- # set spoke status according to subscription thread phase +- if phase == SubscriptionPhase.DONE: +- log.debug("Subscription GUI: registration & attach done") +- # we are done, clear the phase +- self.registration_phase = None +- # update registration and subscription parts of the spoke +- self._update_registration_state() +- self._update_subscription_state() +- # enable controls +- self.set_registration_controls_sensitive(True) +- # notify hub +- hubQ.send_ready(self.__class__.__name__, False) +- else: +- # processing still ongoing, set the phase +- self.registration_phase = phase +- # notify hub +- hubQ.send_ready(self.__class__.__name__, False) +- # update spoke state +- self._update_registration_state() +- +- @async_action_wait +- def _subscription_error_callback(self, error_message): +- log.debug("Subscription GUI: registration & attach failed") +- # store the error message +- self.registration_error = error_message +- # even if we fail, we are technically done, +- # so clear the phase +- self.registration_phase = None +- # update registration and subscription parts of the spoke +- self._update_registration_state() +- self._update_subscription_state() +- # re-enable controls, so user can try again +- self.set_registration_controls_sensitive(True) +- # notify hub +- hubQ.send_ready(self.__class__.__name__, False) +- +- def _get_status_message(self): +- """Get status message describing current spoke state. +- +- The registration phase is taken into account (if any) +- as well as possible error state and subscription +- being or not being attached. +- +- NOTE: This method is used both for the spoke status message +- as well as for the in-spoke status label. +- """ +- phase = self.registration_phase +- if phase: +- if phase == SubscriptionPhase.UNREGISTER: +- return _("Unregistering...") +- elif phase == SubscriptionPhase.REGISTER: +- return _("Registering...") +- elif phase == SubscriptionPhase.ATTACH_SUBSCRIPTION: +- return _("Attaching subscription...") +- elif phase == SubscriptionPhase.DONE: +- return _("Subscription attached.") +- elif self.registration_error: +- return _("Registration failed.") +- elif self.subscription_attached: +- return _("Registered.") +- else: +- return _("Not registered.") +- +- @async_action_wait +- def _update_registration_state(self): +- """Update state of the registration related part of the spoke. +- +- Hopefully this method is not too inefficient as it is running basically +- on every keystroke in the username/password/organization/key entry. +- """ +- subscription_attached = self.subscription_attached +- if subscription_attached: +- self._main_notebook.set_current_page(self.SUBSCRIPTION_STATUS_PAGE) +- else: +- self._main_notebook.set_current_page(self.REGISTRATION_PAGE) +- +- # update registration status label +- self._registration_status_label.set_text(self._get_status_message()) +- +- # update button states +- self._update_register_button_state() +- self._update_unregister_button_state() +- +- @async_action_wait +- def _update_subscription_state(self): +- """Update state of the subscription related part of the spoke. +- +- Update state of the part of the spoke, that shows data about the +- currently attached subscriptions. +- """ +- # authentication method +- if self.authentication_method == AuthenticationMethod.USERNAME_PASSWORD: +- method_string = _("Registered with account {}").format( +- self.subscription_request.account_username +- ) +- else: # org + key +- method_string = _("Registered with organization {}").format( +- self.subscription_request.organization +- ) +- self._method_status_label.set_text(method_string) +- +- # final syspurpose data +- +- # role +- final_role_string = _("Role: {}").format(self.system_purpose_data.role) +- self._role_status_label.set_text(final_role_string) +- +- # SLA +- final_sla_string = _("SLA: {}").format(self.system_purpose_data.sla) +- self._sla_status_label.set_text(final_sla_string) +- +- # usage +- final_usage_string = _("Usage: {}").format(self.system_purpose_data.usage) +- self._usage_status_label.set_text(final_usage_string) +- +- # Insights +- # - this strings are referring to the desired target system state, +- # the installation environment itself is not expected to be +- # connected to Insights +- if self._subscription_module.InsightsEnabled: +- insights_string = _("Connected to Red Hat Insights") +- else: +- insights_string = _("Not connected to Red Hat Insights") +- self._insights_status_label.set_text(insights_string) +- +- # get attached subscriptions as a list of structs +- attached_subscriptions = self._subscription_module.AttachedSubscriptions +- # turn the structs to more useful AttachedSubscription instances +- attached_subscriptions = AttachedSubscription.from_structure_list(attached_subscriptions) +- +- # check how many we have & set the subscription status string accordingly +- subscription_count = len(attached_subscriptions) +- if subscription_count == 0: +- if self._subscription_module.IsSimpleContentAccessEnabled: +- subscription_string = _("Subscribed in Simple Content Access mode.") +- else: +- subscription_string = _("No subscriptions are attached to the system") +- elif subscription_count == 1: +- subscription_string = _("1 subscription attached to the system") +- else: +- subscription_string = _("{} subscriptions attached to the system").format( +- subscription_count +- ) +- +- self._attached_subscriptions_label.set_text(subscription_string) +- +- # populate the attached subscriptions listbox +- populate_attached_subscriptions_listbox( +- self._subscriptions_listbox, +- attached_subscriptions +- ) +- +- def _check_connectivity(self): +- """Check network connectivity is available. +- +- Network connectivity is required for using the Subscription spoke +- for obvious reasons (eq. for communication with the remote +- Candlepin instance & CDN). +- +- If network is already available, this method makes the registration +- controls sensitive and clears any previous connectivity warnings. +- +- If network is not available it makes the registration controls +- insensitive and displays a warning to the user. +- """ +- network_connected = self.network_connected +- if network_connected: +- # make controls sensitive, unless processing is ongoing +- self.set_registration_controls_sensitive(True) +- if not self._network_connected_previously: +- # clear previous connectivity warning +- # - we only do this on connectivity state change so that we don't clear +- # registration error related warnings +- log.debug("Subscription GUI: clearing connectivity warning") +- self.clear_info() +- else: +- # make controls insensitive +- self.set_registration_controls_sensitive(False) +- # set a warning +- log.debug("Subscription GUI: setting connectivity warning") +- self.show_warning_message( +- _("Please enable network access before connecting to Red Hat.") +- ) +- # remember state +- self._network_connected_previously = network_connected +- +- def _update_register_button_state(self): +- """Update register button state. +- +- The button is only sensitive if no processing is ongoing +- and we either have enough authentication data to register +- or the system is subscribed, so we can unregister it. +- """ +- button_sensitive = False +- if self._registration_controls_enabled: +- # if we are subscribed, we can always unregister +- if self.subscription_attached: +- button_sensitive = True +- # check if credentials are sufficient for registration +- elif self.authentication_method == AuthenticationMethod.USERNAME_PASSWORD: +- button_sensitive = username_password_sufficient(self.subscription_request) +- elif self.authentication_method == AuthenticationMethod.ORG_KEY: +- button_sensitive = org_keys_sufficient(self.subscription_request) +- self._register_button.set_sensitive(button_sensitive) +- +- def _update_unregister_button_state(self): +- """Update unregister button state. +- +- Make sure the Unregister button follows status of the +- _registration_controls_enabled variable. +- """ +- self._unregister_button.set_sensitive(self._registration_controls_enabled) +diff --git a/pyanaconda/ui/lib/subscription.py b/pyanaconda/ui/lib/subscription.py +deleted file mode 100644 +index 219ecf1..0000000 +--- a/pyanaconda/ui/lib/subscription.py ++++ /dev/null +@@ -1,421 +0,0 @@ +-# +-# Subscription related helper functions. +-# +-# Copyright (C) 2020 Red Hat, Inc. All rights reserved. +-# +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2 of the License, or +-# (at your option) any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +-# +-# You should have received a copy of the GNU General Public License +-# along with this program. If not, see . +-# +- +-from enum import Enum +- +-from pyanaconda.threading import threadMgr +- +-from pyanaconda.core.constants import THREAD_WAIT_FOR_CONNECTING_NM, \ +- SUBSCRIPTION_REQUEST_TYPE_USERNAME_PASSWORD, SUBSCRIPTION_REQUEST_TYPE_ORG_KEY, \ +- SOURCE_TYPE_HDD, SOURCE_TYPE_CDN, SOURCE_TYPES_OVERRIDEN_BY_CDN +-from pyanaconda.core.i18n import _ +-from pyanaconda.core.constants import PAYLOAD_TYPE_DNF +-from pyanaconda.ui.lib.payload import create_source, set_source, tear_down_sources +-from pyanaconda.ui.lib.storage import unmark_protected_device +-from pyanaconda.payload.manager import payloadMgr +-from pyanaconda.errors import errorHandler, ERROR_RAISE +- +-from pyanaconda.modules.common.constants.services import SUBSCRIPTION +-from pyanaconda.modules.common import task +-from pyanaconda.modules.common.structures.subscription import SubscriptionRequest +-from pyanaconda.modules.common.structures.secret import SECRET_TYPE_HIDDEN, \ +- SECRET_TYPE_TEXT +-from pyanaconda.modules.common.errors.subscription import RegistrationError, \ +- UnregistrationError, SubscriptionError +- +-from pyanaconda.anaconda_loggers import get_module_logger +-log = get_module_logger(__name__) +- +-# The following secret types mean a secret has been set +-# (and it is either in plaintext or hidden in the module). +-SECRET_SET_TYPES = (SECRET_TYPE_TEXT, SECRET_TYPE_HIDDEN) +- +-# Asynchronous subscription state tracking +-class SubscriptionPhase(Enum): +- UNREGISTER = 1 +- REGISTER = 2 +- ATTACH_SUBSCRIPTION = 3 +- DONE = 4 +- +-# temporary methods for Subscription/CDN related source switching +- +- +-def _tear_down_existing_source(payload): +- """Tear down existing payload, so we can set a new one. +- +- :param payload: Anaconda payload instance +- """ +- source_proxy = payload.get_source_proxy() +- +- if source_proxy.Type == SOURCE_TYPE_HDD and source_proxy.Partition: +- unmark_protected_device(source_proxy.Partition) +- +- tear_down_sources(payload.proxy) +- +- +-def switch_source(payload, source_type): +- """Switch to an installation source. +- +- :param payload: Anaconda payload instance +- :param source_type: installation source type +- """ +- _tear_down_existing_source(payload) +- +- new_source_proxy = create_source(source_type) +- set_source(payload.proxy, new_source_proxy) +- +- +-def _do_payload_restart(payload): +- """Restart the Anaconda payload. +- +- This should be done after changing the installation sorce, +- such as when switching to and from the CDN. +- +- :param payload: Anaconda payload instance +- """ +- # restart payload +- payloadMgr.restart_thread(payload, +- fallback=False, +- checkmount=False, +- onlyOnChange=False) +- +- +-def check_cdn_is_installation_source(payload): +- """Check if Red Hat CDN is the current installation source. +- +- :param payload: Anaconda payload instance +- """ +- if payload.type == PAYLOAD_TYPE_DNF: +- source_proxy = payload.get_source_proxy() +- return source_proxy.Type == SOURCE_TYPE_CDN +- else: +- # the CDN source pretty much only supports +- # DNF payload at the moment +- return False +- +- +-# Kickstart error handling +- +-class KickstartRegistrationError(Exception): +- """Registration attempt from kickstart failed.""" +- pass +- +- +-def kickstart_error_handler(message): +- """Helper function which raises exception if kickstart triggered registration fails.""" +- exn = KickstartRegistrationError(message) +- if errorHandler.cb(exn) == ERROR_RAISE: +- raise exn +- +-# Asynchronous registration + subscription & unregistration handling +-# +-# The Red Hat subscription related tasks communicate over network and might +-# take some time to finish (up to tens of seconds). We definitely don't want +-# to block either automated installation or the UI before they finish. +-# +-# These tasks (register + attach subscription and unregister) need to run in +-# threads and these threads need to be started from at least two places: +-# - from early startup code for automated installations +-# - from Subscription spoke based on user interaction +-# +-# Also in some cases, multiple individual DBus tasks will need to be run +-# in sequence with any errors handled accordingly. +-# +-# Anaconda modularity is not yet advanced enough to handle this in a generic +-# manner, so we need simple scheduler living in the context of the main Anaconda +-# thread. The simple scheduler hosts the code that starts the respective subscription +-# handling thread, which assures appropriate tasks are run. +-# +-# As the scheduler code than can be run either during early startup or in reaction to user +-# interaction in the Subscription spoke we avoid code duplication. +- +- +-def dummy_progress_callback(subscription_phase): +- """Dummy progress reporting function used if no custom callback is set.""" +- pass +- +- +-def dummy_error_callback(error_message): +- """Dummy error reporting function used if no custom callback is set.""" +- pass +- +- +-def org_keys_sufficient(subscription_request=None): +- """Report if sufficient credentials are set for org & keys registration attempt. +- +- :param subscription_request: an subscription request, if None a fresh subscription request +- will be fetched from the Subscription module over DBus +- :type subscription_request: SubscriptionRequest instance +- :return: True if sufficient, False otherwise +- :rtype: bool +- """ +- if subscription_request is None: +- subscription_proxy = SUBSCRIPTION.get_proxy() +- subscription_request_struct = subscription_proxy.SubscriptionRequest +- subscription_request = SubscriptionRequest.from_structure(subscription_request_struct) +- organization_set = bool(subscription_request.organization) +- key_set = subscription_request.activation_keys.type in SECRET_SET_TYPES +- return organization_set and key_set +- +- +-def username_password_sufficient(subscription_request=None): +- """Report if sufficient credentials are set for username & password registration attempt. +- +- :param subscription_request: an subscription request, if None a fresh subscription request +- will be fetched from the Subscription module over DBus +- :type subscription_request: SubscriptionRequest instance +- :return: True if sufficient, False otherwise +- :rtype: bool +- """ +- if subscription_request is None: +- subscription_proxy = SUBSCRIPTION.get_proxy() +- subscription_request_struct = subscription_proxy.SubscriptionRequest +- subscription_request = SubscriptionRequest.from_structure(subscription_request_struct) +- username_set = bool(subscription_request.account_username) +- password_set = subscription_request.account_password.type in SECRET_SET_TYPES +- return username_set and password_set +- +- +-def register_and_subscribe(payload, progress_callback=None, error_callback=None, +- restart_payload=False): +- """Try to register and subscribe the installation environment. +- +- :param payload: Anaconda payload instance +- :param progress_callback: progress callback function, takes one argument, subscription phase +- :type progress_callback: callable(subscription_phase) +- :param error_callback: error callback function, takes one argument, the error message +- :type error_callback: callable(error_message) +- :param bool restart_payload: should payload restart be attempted if it appears necessary ? +- +- NOTE: The restart_payload attribute controls if the subscription helper function should +- attempt to restart the payload thread if it deems it necessary (DVD -> CDN switch, +- registration with CDN source, etc.). If restart_payload is True, it might restart +- the payload. If it is False, it well never try to do that. +- +- The main usecase of this at the moment is when the subscription helper function +- is invoked during early Anaconda kickstart installation. At this stage the initial +- payload restart has not yet been run and starting it too early could lead to various +- issues. At this stage we don't want the helper function to restart payload, so we keep +- restart_payload at default value (False). Later on during manual user interaction we +- definitely want payload to be restarted as needed (the initial restart long done) +- and so we pass restart_payload=True. +- """ +- +- # assign dummy callback functions if none were provided by caller +- if progress_callback is None: +- progress_callback = dummy_progress_callback +- if error_callback is None: +- error_callback = dummy_error_callback +- +- # connect to the Subscription DBus module +- subscription_proxy = SUBSCRIPTION.get_proxy() +- +- # First make sure network connectivity is available +- # by waiting for the connectivity check thread +- # to finish, in case it is running, usually early +- # during Anaconda startup. +- threadMgr.wait(THREAD_WAIT_FOR_CONNECTING_NM) +- +- # Next we make sure to set RHSM config options +- # to be in sync with the current subscription request. +- task_path = subscription_proxy.SetRHSMConfigWithTask() +- task_proxy = SUBSCRIPTION.get_proxy(task_path) +- task.sync_run_task(task_proxy) +- +- # Then check if we are not already registered. +- # +- # In some fairly bizarre cases it is apparently +- # possible that registration & attach will succeed, +- # but the attached subscription will be incomplete +- # and/or invalid. These cases will be caught by +- # the subscription token check and marked as failed +- # by Anaconda. +- # +- # It is also possible that registration succeeds, +- # but attach fails. +- # +- # To make recovery and another registration attempt +- # possible, we need to first unregister the already +- # registered system, as a registration attempt on +- # an already registered system would fail. +- if subscription_proxy.IsRegistered: +- log.debug("subscription thread: system already registered, unregistering") +- progress_callback(SubscriptionPhase.UNREGISTER) +- task_path = subscription_proxy.UnregisterWithTask() +- task_proxy = SUBSCRIPTION.get_proxy(task_path) +- try: +- task.sync_run_task(task_proxy) +- except UnregistrationError as e: +- log.debug("subscription thread: unregistration failed: %s", e) +- # Failing to unregister the system is an unrecoverable error, +- # so we end there. +- error_callback(str(e)) +- return +- log.debug("Subscription GUI: unregistration succeeded") +- +- # Try to register. +- # +- # If we got this far the system was either not registered +- # or was unregistered successfully. +- log.debug("subscription thread: attempting to register") +- progress_callback(SubscriptionPhase.REGISTER) +- # check authentication method has been set and credentials seem to be +- # sufficient (though not necessarily valid) +- subscription_request_struct = subscription_proxy.SubscriptionRequest +- subscription_request = SubscriptionRequest.from_structure(subscription_request_struct) +- task_path = None +- if subscription_request.type == SUBSCRIPTION_REQUEST_TYPE_USERNAME_PASSWORD: +- if username_password_sufficient(): +- task_path = subscription_proxy.RegisterUsernamePasswordWithTask() +- elif subscription_request.type == SUBSCRIPTION_REQUEST_TYPE_ORG_KEY: +- if org_keys_sufficient(): +- task_path = subscription_proxy.RegisterOrganizationKeyWithTask() +- +- if task_path: +- task_proxy = SUBSCRIPTION.get_proxy(task_path) +- try: +- task.sync_run_task(task_proxy) +- except RegistrationError as e: +- log.debug("subscription thread: registration attempt failed: %s", e) +- log.debug("subscription thread: skipping auto attach due to registration error") +- error_callback(str(e)) +- return +- log.debug("subscription thread: registration succeeded") +- else: +- log.debug("subscription thread: credentials insufficient, skipping registration attempt") +- error_callback(_("Registration failed due to insufficient credentials.")) +- return +- +- # try to attach subscription +- log.debug("subscription thread: attempting to auto attach an entitlement") +- progress_callback(SubscriptionPhase.ATTACH_SUBSCRIPTION) +- task_path = subscription_proxy.AttachSubscriptionWithTask() +- task_proxy = SUBSCRIPTION.get_proxy(task_path) +- try: +- task.sync_run_task(task_proxy) +- except SubscriptionError as e: +- log.debug("subscription thread: failed to attach subscription: %s", e) +- error_callback(str(e)) +- return +- +- # parse attached subscription data +- log.debug("subscription thread: parsing attached subscription data") +- task_path = subscription_proxy.ParseAttachedSubscriptionsWithTask() +- task_proxy = SUBSCRIPTION.get_proxy(task_path) +- task.sync_run_task(task_proxy) +- +- # check if the current installation source should be overridden by +- # the CDN source we can now use +- # - at the moment this is true only for the CDROM source +- source_proxy = payload.get_source_proxy() +- if payload.type == PAYLOAD_TYPE_DNF: +- if source_proxy.Type in SOURCE_TYPES_OVERRIDEN_BY_CDN: +- log.debug("subscription thread: overriding current installation source by CDN") +- switch_source(payload, SOURCE_TYPE_CDN) +- # If requested, also restart the payload if CDN is the installation source +- # The CDN either already was the installation source or we just switched to it. +- # +- # Make sure to get fresh source proxy as the old one might be stale after +- # after a source switch. +- source_proxy = payload.get_source_proxy() +- if restart_payload and source_proxy.Type == SOURCE_TYPE_CDN: +- log.debug("subscription thread: restarting payload after registration") +- _do_payload_restart(payload) +- +- # and done, report attaching subscription was successful +- log.debug("subscription thread: auto attach succeeded") +- progress_callback(SubscriptionPhase.DONE) +- +- +-def unregister(payload, overridden_source_type, progress_callback=None, error_callback=None, +- restart_payload=False): +- """Try to unregister the installation environment. +- +- NOTE: Unregistering also removes any attached subscriptions and +- if an installation source has been overridden, switches +- back to it. +- +- :param payload: Anaconda payload instance +- :param overridden_source_type: type of the source that was overridden by the CDN source at +- registration time (if any) +- :param progress_callback: progress callback function, takes one argument, subscription phase +- :type progress_callback: callable(subscription_phase) +- :param error_callback: error callback function, takes one argument, the error message +- :type error_callback: callable(error_message) +- :param bool restart_payload: should payload restart be attempted if it appears necessary ? +- +- NOTE: For more information about the restart_payload attribute, see the +- register_and_subscribe() function doc string. +- """ +- +- # assign dummy callback functions if none were provided by caller +- if progress_callback is None: +- progress_callback = dummy_progress_callback +- if error_callback is None: +- error_callback = dummy_error_callback +- +- # connect to the Subscription DBus module +- subscription_proxy = SUBSCRIPTION.get_proxy() +- +- if subscription_proxy.IsRegistered: +- log.debug("subscription thread: unregistering the system") +- # Make sure to set RHSM config options to be in sync +- # with the current subscription request in the unlikely +- # case of someone doing a valid change in the subscription +- # request since we registered. +- task_path = subscription_proxy.SetRHSMConfigWithTask() +- task_proxy = SUBSCRIPTION.get_proxy(task_path) +- task.sync_run_task(task_proxy) +- progress_callback(SubscriptionPhase.UNREGISTER) +- task_path = subscription_proxy.UnregisterWithTask() +- task_proxy = SUBSCRIPTION.get_proxy(task_path) +- try: +- task.sync_run_task(task_proxy) +- except UnregistrationError as e: +- log.debug("subscription thread: unregistration failed: %s", e) +- error_callback(str(e)) +- return +- +- # If the CDN overrode an installation source we should revert that +- # on unregistration, provided CDN is the current source. +- source_proxy = payload.get_source_proxy() +- switched_source = False +- if payload.type == PAYLOAD_TYPE_DNF: +- if source_proxy.Type == SOURCE_TYPE_CDN and overridden_source_type: +- log.debug( +- "subscription thread: rolling back CDN installation source override" +- ) +- switch_source(payload, overridden_source_type) +- switched_source = True +- +- # If requested, also restart the payload if: +- # - installation source switch occured +- # - the current source is CDN, which can no longer be used +- # after unregistration, so we need to refresh the Source +- # and Software spokes +- if restart_payload and (source_proxy.Type == SOURCE_TYPE_CDN or switched_source): +- log.debug("subscription thread: restarting payload after unregistration") +- _do_payload_restart(payload) +- +- log.debug("Subscription GUI: unregistration succeeded") +- progress_callback(SubscriptionPhase.DONE) +- else: +- log.warning("subscription thread: not registered, so can't unregister") +- progress_callback(SubscriptionPhase.DONE) +- return diff --git a/0004-install-remove-CDN.patch b/0004-install-remove-CDN.patch new file mode 100644 index 0000000000000000000000000000000000000000..89a07f9f8c1a3314f0b29ce8552e442c41d8d4ae --- /dev/null +++ b/0004-install-remove-CDN.patch @@ -0,0 +1,306 @@ +From 4122df61838e504a86b5ac6b4ea704d30f316c19 Mon Sep 17 00:00:00 2001 +From: Liwei Ge +Date: Fri, 13 May 2022 15:23:08 +0800 +Subject: [PATCH 4/7] install: remove CDN + +--- + anaconda.py | 19 --------------- + data/anaconda-gtk.css | 22 ----------------- + .../modules/common/constants/namespaces.py | 5 ---- + .../modules/common/constants/services.py | 5 ---- + .../modules/common/errors/installation.py | 12 ---------- + pyanaconda/payload/manager.py | 5 +--- + .../ui/gui/spokes/installation_source.glade | 12 +++++----- + .../ui/gui/spokes/installation_source.py | 24 +++---------------- + .../ui/gui/spokes/software_selection.py | 2 -- + 9 files changed, 10 insertions(+), 96 deletions(-) + +diff --git a/anaconda.py b/anaconda.py +index 1018bf2..0b37626 100755 +--- a/anaconda.py ++++ b/anaconda.py +@@ -620,28 +620,6 @@ if __name__ == "__main__": + from pyanaconda import exception + anaconda.mehConfig = exception.initExceptionHandling(anaconda) + +- # Start the subscription handling thread if the Subscription DBus module +- # provides enough authentication data. +- # - as kickstart only supports org + key authentication & nothing +- # else currently talks to the Subscription DBus module, +- # we only check if organization id & at least one activation +- # key are available +- from pyanaconda.modules.common.util import is_module_available +- from pyanaconda.modules.common.constants.services import SUBSCRIPTION +- +- if is_module_available(SUBSCRIPTION): +- from pyanaconda.ui.lib.subscription import org_keys_sufficient, \ +- register_and_subscribe, kickstart_error_handler +- if org_keys_sufficient(): +- threadMgr.add( +- AnacondaThread( +- name=constants.THREAD_SUBSCRIPTION, +- target=register_and_subscribe, +- args=[anaconda.payload], +- kwargs={"error_callback": kickstart_error_handler} +- ) +- ) +- + # add additional repositories from the cmdline to kickstart data + anaconda.add_additional_repositories_to_ksdata() + +diff --git a/data/anaconda-gtk.css b/data/anaconda-gtk.css +index 60a670e..672556a 100644 +--- a/data/anaconda-gtk.css ++++ b/data/anaconda-gtk.css +@@ -159,25 +159,3 @@ where the look is constant. This reduces redraws significantly and saves the CPU + for measurements. */ + spinner { animation-timing-function: steps(24); } + +-/* Set colors for the subscriptions listbox: +- * - disable background color, so that the +- * list box looks good even if half empty +- * - disable border color as well +- * - only rows should have a distinct background +- */ +-.subscriptions_listbox { +- background-color: transparent; +- background-image: none; +- border-color: transparent; +- border-image: none; +-} +- +-#subscriptions_listbox_row { +- background-color: white; +- border-color: gray; +-} +- +-#subscriptions_listbox_row_spacer { +- background-color: transparent; +- border-color: transparent; +-} +diff --git a/pyanaconda/modules/common/constants/namespaces.py b/pyanaconda/modules/common/constants/namespaces.py +index 1556296..584da05 100644 +--- a/pyanaconda/modules/common/constants/namespaces.py ++++ b/pyanaconda/modules/common/constants/namespaces.py +@@ -81,11 +81,6 @@ SERVICES_NAMESPACE = ( + "Services" + ) + +-SUBSCRIPTION_NAMESPACE = ( +- *MODULES_NAMESPACE, +- "Subscription" +-) +- + PAYLOADS_NAMESPACE = ( + *MODULES_NAMESPACE, + "Payloads" +diff --git a/pyanaconda/modules/common/constants/services.py b/pyanaconda/modules/common/constants/services.py +index 6febe5f..7259b28 100644 +--- a/pyanaconda/modules/common/constants/services.py ++++ b/pyanaconda/modules/common/constants/services.py +@@ -69,11 +69,6 @@ SERVICES = DBusServiceIdentifier( + message_bus=DBus + ) + +-SUBSCRIPTION = DBusServiceIdentifier( +- namespace=SUBSCRIPTION_NAMESPACE, +- message_bus=DBus +-) +- + # System services. + + HOSTNAME = DBusServiceIdentifier( +diff --git a/pyanaconda/modules/common/errors/installation.py b/pyanaconda/modules/common/errors/installation.py +index 6f3200b..3cd8338 100644 +--- a/pyanaconda/modules/common/errors/installation.py ++++ b/pyanaconda/modules/common/errors/installation.py +@@ -74,15 +74,3 @@ class StorageInstallationError(InstallationError): + """Exception for the storage installation errors.""" + pass + +- +-@dbus_error("InsightsClientMissingError", namespace=ANACONDA_NAMESPACE) +-class InsightsClientMissingError(InstallationError): +- """Exception for missing Red Hat Insights utility.""" +- pass +- +- +-@dbus_error("InsightsConnectError", namespace=ANACONDA_NAMESPACE) +-class InsightsConnectError(InstallationError): +- """Exception for error when connecting to Red Hat Insights.""" +- pass +- +diff --git a/pyanaconda/payload/manager.py b/pyanaconda/payload/manager.py +index e8a3d20..63b4db4 100644 +--- a/pyanaconda/payload/manager.py ++++ b/pyanaconda/payload/manager.py +@@ -22,7 +22,7 @@ from enum import IntEnum + + from dasbus.error import DBusError + from pyanaconda.core.constants import THREAD_STORAGE, THREAD_PAYLOAD, THREAD_PAYLOAD_RESTART, \ +- THREAD_WAIT_FOR_CONNECTING_NM, THREAD_SUBSCRIPTION, PAYLOAD_TYPE_DNF, \ ++ THREAD_WAIT_FOR_CONNECTING_NM, PAYLOAD_TYPE_DNF, \ + THREAD_STORAGE_WATCHER, THREAD_EXECUTE_STORAGE + from pyanaconda.core.i18n import _, N_ + from pyanaconda.threading import threadMgr, AnacondaThread +@@ -186,9 +186,6 @@ class PayloadManager(object): + # (set and use payload.needs_network ?) + threadMgr.wait(THREAD_WAIT_FOR_CONNECTING_NM) + +- # Wait for subscription +- threadMgr.wait(THREAD_SUBSCRIPTION) +- + payload.setup() + + # If this is a non-package Payload, we're done +diff --git a/pyanaconda/ui/gui/spokes/installation_source.glade b/pyanaconda/ui/gui/spokes/installation_source.glade +index cd97865..482c0ee 100644 +--- a/pyanaconda/ui/gui/spokes/installation_source.glade ++++ b/pyanaconda/ui/gui/spokes/installation_source.glade +@@ -726,7 +726,7 @@ + + False + True +- 6 ++ 5 + + + +@@ -745,7 +745,7 @@ + + False + True +- 7 ++ 6 + + + +@@ -891,7 +891,7 @@ + + False + True +- 8 ++ 7 + + + +@@ -956,7 +956,7 @@ + + False + True +- 9 ++ 8 + + + +@@ -973,7 +973,7 @@ + + False + True +- 10 ++ 9 + + + +@@ -1312,7 +1312,7 @@ + + True + True +- 11 ++ 10 + + + +diff --git a/pyanaconda/ui/gui/spokes/installation_source.py b/pyanaconda/ui/gui/spokes/installation_source.py +index e64bb63..6e88991 100644 +--- a/pyanaconda/ui/gui/spokes/installation_source.py ++++ b/pyanaconda/ui/gui/spokes/installation_source.py +@@ -435,7 +435,6 @@ class SourceSpoke(NormalSpoke, GUISpokeInputCheckHandler, SourceSwitchHandler): + source_changed = self._update_payload_source() + repo_changed = self._update_payload_repos() + source_proxy = self.payload.get_source_proxy() +- cdn_source = source_proxy.Type == SOURCE_TYPE_CDN + if source_changed or repo_changed or self._error: + payloadMgr.restart_thread(self.payload, checkmount=False) + else: +@@ -451,12 +450,7 @@ class SourceSpoke(NormalSpoke, GUISpokeInputCheckHandler, SourceSwitchHandler): + """ + source_proxy = self.payload.get_source_proxy() + source_type = source_proxy.Type +- +- if self._cdn_button.get_active(): +- if source_type == SOURCE_TYPE_CDN: +- return False +- switch_source(self.payload, SOURCE_TYPE_CDN) +- elif self._autodetect_button.get_active(): ++ if self._autodetect_button.get_active(): + if not self._cdrom: + return False + +@@ -634,11 +628,7 @@ class SourceSpoke(NormalSpoke, GUISpokeInputCheckHandler, SourceSwitchHandler): + @property + def status(self): + source_proxy = self.payload.get_source_proxy() +- cdn_source = source_proxy.Type == SOURCE_TYPE_CDN +- if cdn_source: +- source_proxy = self.payload.get_source_proxy() +- return source_proxy.Description +- elif threadMgr.get(constants.THREAD_CHECK_SOFTWARE): ++ if threadMgr.get(constants.THREAD_CHECK_SOFTWARE): + return _("Checking software dependencies...") + elif not self.ready: + return _(BASEREPO_SETUP_MESSAGE) +@@ -668,7 +658,6 @@ class SourceSpoke(NormalSpoke, GUISpokeInputCheckHandler, SourceSwitchHandler): + self._autodetect_box = self.builder.get_object("autodetectBox") + self._autodetect_device_label = self.builder.get_object("autodetectDeviceLabel") + self._autodetect_label = self.builder.get_object("autodetectLabel") +- self._cdn_button = self.builder.get_object("cdnRadioButton") + self._hmc_button = self.builder.get_object("hmcRadioButton") + self._iso_button = self.builder.get_object("isoRadioButton") + self._iso_box = self.builder.get_object("isoBox") +@@ -740,7 +729,6 @@ class SourceSpoke(NormalSpoke, GUISpokeInputCheckHandler, SourceSwitchHandler): + # want to let me pass in user data. + # See also: https://bugzilla.gnome.org/show_bug.cgi?id=727919 + self._autodetect_button.connect("toggled", self.on_source_toggled, self._autodetect_box) +- self._cdn_button.connect("toggled", self.on_source_toggled, None) + self._hmc_button.connect("toggled", self.on_source_toggled, None) + self._iso_button.connect("toggled", self.on_source_toggled, self._iso_box) + self._network_button.connect("toggled", self.on_source_toggled, self._network_box) +@@ -825,10 +813,6 @@ class SourceSpoke(NormalSpoke, GUISpokeInputCheckHandler, SourceSwitchHandler): + def _initialize(self): + threadMgr.wait(constants.THREAD_PAYLOAD) + +- # If there is the Subscriptiopn DBus module, make the CDN radio button visible +- if is_module_available(SUBSCRIPTION): +- gtk_call_once(self._cdn_button.set_no_show_all, False) +- + # Get the current source. + source_proxy = self.payload.get_source_proxy() + source_type = source_proxy.Type +@@ -943,9 +927,7 @@ class SourceSpoke(NormalSpoke, GUISpokeInputCheckHandler, SourceSwitchHandler): + self._protocol_combo_box.set_active_id(PROTOCOL_MIRROR) + self._url_type_combo_box.set_active_id(URL_TYPE_BASEURL) + +- if source_type == SOURCE_TYPE_CDN: +- self._cdn_button.set_active(True) +- elif source_type == SOURCE_TYPE_URL: ++ if source_type == SOURCE_TYPE_URL: + self._network_button.set_active(True) + + # Get the current configuration. +diff --git a/pyanaconda/ui/gui/spokes/software_selection.py b/pyanaconda/ui/gui/spokes/software_selection.py +index 6f40535..66c0cda 100644 +--- a/pyanaconda/ui/gui/spokes/software_selection.py ++++ b/pyanaconda/ui/gui/spokes/software_selection.py +@@ -298,8 +298,6 @@ class SoftwareSelectionSpoke(NormalSpoke): + if self._error_msgs: + return _("Error checking software selection") + +- cdn_source = check_cdn_is_installation_source(self.payload) +- + if not self.ready: + return _("Installation source not set up") + +-- +2.27.0 + diff --git a/0005-install-add-anolis-install-files.patch b/0005-install-add-anolis-install-files.patch new file mode 100644 index 0000000000000000000000000000000000000000..85f812b1a152883d3461ee1657b36086115c08d1 --- /dev/null +++ b/0005-install-add-anolis-install-files.patch @@ -0,0 +1,817 @@ +From 07aac35b8827fd46ac3967617c174486467c2b86 Mon Sep 17 00:00:00 2001 +From: Liwei Ge +Date: Fri, 13 May 2022 15:36:29 +0800 +Subject: [PATCH 5/7] install: add anolis install files + +add anolis install class +add kernel selection spoke +--- + data/product.d/anolis.conf | 33 +++ + pyanaconda/payload/dnf/payload.py | 61 +++- + .../ui/gui/spokes/kernel_selection.glade | 125 ++++++++ + pyanaconda/ui/gui/spokes/kernel_selection.py | 278 ++++++++++++++++++ + .../ui/gui/spokes/software_selection.py | 2 +- + pyanaconda/ui/tui/spokes/kernel_selection.py | 219 ++++++++++++++ + .../ui/tui/spokes/software_selection.py | 2 +- + 7 files changed, 717 insertions(+), 3 deletions(-) + create mode 100644 data/product.d/anolis.conf + create mode 100644 pyanaconda/ui/gui/spokes/kernel_selection.glade + create mode 100644 pyanaconda/ui/gui/spokes/kernel_selection.py + create mode 100644 pyanaconda/ui/tui/spokes/kernel_selection.py + +diff --git a/data/product.d/anolis.conf b/data/product.d/anolis.conf +new file mode 100644 +index 0000000..f3e0386 +--- /dev/null ++++ b/data/product.d/anolis.conf +@@ -0,0 +1,33 @@ ++# Anaconda configuration file for AnolisOS Linux. ++ ++[Product] ++product_name = Anolis OS ++ ++[Base Product] ++product_name = Red Hat Enterprise Linux ++ ++[Anaconda] ++# List of enabled Anaconda DBus modules for RHEL. ++# but without org.fedoraproject.Anaconda.Modules.Subscription ++kickstart_modules = ++ org.fedoraproject.Anaconda.Modules.Timezone ++ org.fedoraproject.Anaconda.Modules.Network ++ org.fedoraproject.Anaconda.Modules.Localization ++ org.fedoraproject.Anaconda.Modules.Security ++ org.fedoraproject.Anaconda.Modules.Users ++ org.fedoraproject.Anaconda.Modules.Payloads ++ org.fedoraproject.Anaconda.Modules.Storage ++ org.fedoraproject.Anaconda.Modules.Services ++ ++[Bootloader] ++efi_dir = anolis ++ ++[User Interface] ++help_directory = /usr/share/anaconda/help/rhel ++default_help_pages = ++ anolis_help_placeholder.txt ++ anolis_help_placeholder.xml ++ anolis_help_placeholder.xml ++ ++[Payload] ++default_source = CLOSEST_MIRROR +diff --git a/pyanaconda/payload/dnf/payload.py b/pyanaconda/payload/dnf/payload.py +index 3b9a806..1a9249e 100644 +--- a/pyanaconda/payload/dnf/payload.py ++++ b/pyanaconda/payload/dnf/payload.py +@@ -40,9 +40,9 @@ from blivet.size import Size + from dnf.const import GROUP_PACKAGE_TYPES + from fnmatch import fnmatch + from glob import glob ++from collections import OrderedDict + + from pyanaconda.modules.common.structures.payload import RepoConfigurationData +-from pyanaconda.modules.payloads.payload.dnf.installation import UpdateDNFConfigurationTask + from pyanaconda.payload.source import SourceFactory, PayloadSourceTypeUnrecognized + from pykickstart.constants import GROUP_ALL, GROUP_DEFAULT, KS_MISSING_IGNORE, GROUP_REQUIRED + from pykickstart.parser import Group +@@ -131,6 +131,9 @@ class DNFPayload(Payload): + # save repomd metadata + self._repoMD_list = [] + ++ self._available_kernels = OrderedDict() ++ self._current_kernel = None ++ + self._req_groups = set() + self._req_packages = set() + self.requirements.set_apply_callback(self._apply_requirements) +@@ -776,6 +779,62 @@ class DNFPayload(Payload): + + return kernels + ++ def isCompatibleKernel(self, kernel_version): ++ # ZHAOXIN KaiSheng KH-37800D@2.7GHz ++ # Hygon C86 7280 32-core Processor ++ # Phytium,D2000/8 ++ if kernel_version == "4.18.0": ++ f_cpuinfo = os.popen('dmidecode -s processor-version') ++ cpuinfo = f_cpuinfo.readlines() ++ f_cpuinfo.close() ++ for line in cpuinfo: ++ if "Hygon" in line or "ZHAOXIN" in line or "Phytium" in line: ++ return False ++ return True ++ ++ def detectMultiKernel(self): ++ kernel_patterns=["kernel", "kernel-tools", "python3-perf", "kernel-headers", "kernel-devel", "bpftool", "perf"] ++ self._available_kernels = {} ++ ++ if not self._base.sack: ++ ret_msg = "Query is not ready yet" ++ log.info(ret_msg) ++ return ret_msg ++ ++ # Get exception, when repo's format is wrong (eg. wrong repo url by inst.addrepo or inst.repo) ++ ypl = self._base._do_package_lists("available", kernel_patterns, True) ++ if not ypl or not ypl.available: ++ ret_msg = "No kernel is detected" ++ log.info(ret_msg) ++ return ret_msg ++ ++ for pkg in ypl.available: ++ if not self.isCompatibleKernel(pkg.version): ++ continue ++ kernel_key = "%s" % (pkg.version) ++ kernel_sub_key = "%s" % (pkg.release) ++ if kernel_key in self._available_kernels: ++ if kernel_sub_key in self._available_kernels[kernel_key]: ++ self._available_kernels[kernel_key][kernel_sub_key].append("%s-%s" % (pkg.name, pkg.version)) ++ else: ++ self._available_kernels[kernel_key][kernel_sub_key] = ["%s-%s" % (pkg.name, pkg.version)] ++ else: ++ self._available_kernels[kernel_key] = OrderedDict() ++ self._available_kernels[kernel_key][kernel_sub_key] = ["%s-%s" % (pkg.name, pkg.version)] ++ return None ++ ++ @property ++ def available_kernels(self): ++ return self._available_kernels ++ ++ @property ++ def current_kernel(self): ++ return self._current_kernel ++ ++ @current_kernel.setter ++ def current_kernel(self, value): ++ self._current_kernel = value ++ + def _get_kernel_package(self): + kernels = self.kernel_packages + selected_kernel_package = None +diff --git a/pyanaconda/ui/gui/spokes/kernel_selection.glade b/pyanaconda/ui/gui/spokes/kernel_selection.glade +new file mode 100644 +index 0000000..ae2c2c7 +--- /dev/null ++++ b/pyanaconda/ui/gui/spokes/kernel_selection.glade +@@ -0,0 +1,125 @@ ++ ++ ++ ++ ++ ++ ++ False ++ True ++ True ++ KERNEL SELECTION ++ ++ ++ ++ False ++ True ++ True ++ vertical ++ ++ ++ False ++ ++ ++ False ++ ++ ++ ++ ++ False ++ False ++ 0 ++ ++ ++ ++ ++ False ++ True ++ True ++ 0 ++ 0 ++ 12 ++ 48 ++ 24 ++ 24 ++ ++ ++ False ++ True ++ True ++ vertical ++ ++ ++ True ++ False ++ True ++ True ++ 24 ++ True ++ ++ ++ True ++ False ++ 6 ++ True ++ Kernel Selection ++ 0 ++ ++ ++ ++ ++ ++ ++ 0 ++ 0 ++ ++ ++ ++ ++ True ++ True ++ GDK_STRUCTURE_MASK | GDK_SCROLL_MASK ++ True ++ True ++ never ++ in ++ ++ ++ 250 ++ True ++ False ++ ++ ++ True ++ False ++ True ++ ++ ++ ++ ++ ++ ++ ++ 0 ++ 1 ++ ++ ++ ++ ++ True ++ True ++ 0 ++ ++ ++ ++ ++ ++ ++ True ++ True ++ 1 ++ ++ ++ ++ ++ ++ +diff --git a/pyanaconda/ui/gui/spokes/kernel_selection.py b/pyanaconda/ui/gui/spokes/kernel_selection.py +new file mode 100644 +index 0000000..d836e51 +--- /dev/null ++++ b/pyanaconda/ui/gui/spokes/kernel_selection.py +@@ -0,0 +1,278 @@ ++# kernel selection spoke classes ++# ++# Copyright (C) 2021 OpenAnolis Community ++# ++import re ++import gi ++import time ++ ++gi.require_version("Gtk", "3.0") ++gi.require_version("Pango", "1.0") ++ ++from gi.repository import Gtk, Pango ++ ++from pyanaconda.flags import flags ++from pyanaconda.core.i18n import _, C_, CN_ ++from pyanaconda.threading import threadMgr, AnacondaThread ++from pyanaconda.payload.manager import payloadMgr, PayloadState ++from pyanaconda.payload.base import Payload ++from pyanaconda.payload.errors import NoSuchGroup, PayloadError, DependencyError ++ ++from pyanaconda.core import util, constants ++ ++from pyanaconda.ui.communication import hubQ ++from pyanaconda.ui.gui.spokes import NormalSpoke ++from pyanaconda.ui.gui.spokes.lib.detailederror import DetailedErrorDialog ++from pyanaconda.ui.gui.utils import blockedHandler, escape_markup ++from pyanaconda.core.async_utils import async_action_wait ++from pyanaconda.ui.categories.software import SoftwareCategory ++ ++from pyanaconda.anaconda_loggers import get_module_logger ++log = get_module_logger(__name__) ++ ++import sys, copy ++ ++__all__ = ["KernelSelectionSpoke"] ++ ++class KernelSelectionSpoke(NormalSpoke): ++ builderObjects = ["kernelWindow"] ++ mainWidgetName = "kernelWindow" ++ uiFile = "spokes/kernel_selection.glade" ++ help_id = "KernelSelectionSpoke" ++ ++ category = SoftwareCategory ++ ++ #icon = "applications-system" ++ icon = "package-x-generic-symbolic" ++ title = CN_("GUI|Spoke", "_Kernel Selection") ++ ++ def __init__(self, *args, **kwargs): ++ super().__init__(*args, **kwargs) ++ self._error_msgs = None ++ self._error = False ++ ++ self._orig_kernel = None ++ ++ self._kickstarted = flags.automatedInstall and self.data.packages.seen ++ ++ self._kernelListBox = self.builder.get_object("kernelListBox") ++ self._kernelViewport = self.builder.get_object("kernelViewport") ++ self._kernelListBox.set_focus_vadjustment(Gtk.Scrollable.get_vadjustment(self._kernelViewport)) ++ ++ self._fakeRadio = Gtk.RadioButton(group=None) ++ self._fakeRadio.set_active(True) ++ ++ # Register event listeners to update our status on payload events ++ payloadMgr.add_listener(PayloadState.ERROR, self._payload_error) ++ payloadMgr.add_listener(PayloadState.FINISHED, self._payload_finished) ++ ++ payloadMgr.add_listener(PayloadState.DOWNLOADING_PKG_METADATA, ++ self._downloading_package_md) ++ payloadMgr.add_listener(PayloadState.DOWNLOADING_GROUP_METADATA, ++ self._downloading_group_md) ++ ++ # Payload event handlers ++ def _downloading_package_md(self): ++ # Reset the error state from previous payloads ++ self._error = False ++ hubQ.send_message(self.__class__.__name__, _(constants.PAYLOAD_STATUS_PACKAGE_MD)) ++ ++ def _downloading_group_md(self): ++ hubQ.send_message(self.__class__.__name__, _(constants.PAYLOAD_STATUS_GROUP_MD)) ++ ++ def _payload_error(self): ++ self._error = True ++ hubQ.send_message(self.__class__.__name__, payloadMgr.error) ++ ++ def _payload_finished(self): ++ self._error_msgs = self.payload.detectMultiKernel() ++ if not self._error_msgs: ++ # use latest kernel as default, normally it's anck ++ self.current_kernel = list(self.available_kernels.keys())[-1] ++ ++ @property ++ def available_kernels(self): ++ return self.payload.available_kernels ++ ++ @property ++ def current_kernel(self): ++ return self.payload.current_kernel ++ ++ @current_kernel.setter ++ def current_kernel(self, value): ++ self.payload.current_kernel = value ++ ++ def apply(self): ++ self._apply() ++ ++ def _apply(self): ++ hubQ.send_not_ready(self.__class__.__name__) ++ hubQ.send_not_ready("SourceSpoke") ++ threadMgr.add(AnacondaThread(name="AnaCheckKernel", target=self.checkKernelSelection)) ++ ++ def checkKernelSelection(self): ++ if self._kickstarted: ++ kernel_pattern=re.compile(r"kernel-[4,5].\d+.\d+") ++ for package in self.payload.data.packages.packageList: ++ if kernel_pattern.search(package): ++ self.current_kernel = package.split('-')[1] ++ ++ # we do this only kernel changed ++ if self.changed: ++ kernel_keys = self.available_kernels.keys() ++ for kernel in kernel_keys: ++ kernel_sub_keys = list(self.available_kernels[kernel].keys()) ++ if kernel == self.current_kernel: ++ include_kernel = self.available_kernels[kernel][kernel_sub_keys[-1]] ++ self.payload.data.packages.packageList.extend(include_kernel) ++ for package in include_kernel: ++ if package in self.payload.data.packages.excludedList: ++ self.payload.data.packages.excludedList.remove(package) ++ else: ++ exclude_kernel = self.available_kernels[kernel][kernel_sub_keys[-1]] ++ self.payload.data.packages.excludedList.extend(exclude_kernel) ++ for package in exclude_kernel: ++ if package in self.payload.data.packages.packageList: ++ self.payload.data.packages.packageList.remove(package) ++ ++ # store kernel selection ++ self._orig_kernel = self.current_kernel ++ ++ hubQ.send_ready(self.__class__.__name__, False) ++ hubQ.send_ready("SourceSpoke", False) ++ ++ def initialize(self): ++ super().initialize() ++ self.initialize_start() ++ threadMgr.add(AnacondaThread(name="AnaKernelWatcher", target=self._initialize)) ++ ++ def _initialize(self): ++ threadMgr.wait(constants.THREAD_PAYLOAD) ++ ++ if not self._kickstarted: ++ if not self._first_refresh(): ++ return ++ ++ hubQ.send_ready(self.__class__.__name__, False) ++ ++ if not self._error: ++ self._apply() ++ ++ self.initialize_done() ++ ++ @property ++ def completed(self): ++ processingDone = bool(not threadMgr.get("AnaCheckKernel") and ++ not threadMgr.get(constants.THREAD_PAYLOAD) and ++ self.current_kernel is not None) ++ ++ if processingDone: ++ return True ++ ++ @property ++ def changed(self): ++ if self.current_kernel == self._orig_kernel: ++ return False ++ else: ++ return True ++ ++ @property ++ def mandatory(self): ++ return True ++ ++ @property ++ def ready(self): ++ return bool(not threadMgr.get("AnaKernelWatcher") and ++ not threadMgr.get(constants.THREAD_PAYLOAD) and ++ not threadMgr.get("AnaCheckKernel") and ++ self.payload.base_repo is not None) ++ ++ @property ++ def showable(self): ++ return isinstance(self.payload, Payload) ++ ++ @property ++ def status(self): ++ if not self.ready: ++ return _("Installation source not set up") ++ ++ if self._error_msgs: ++ return _(self._error_msgs) ++ ++ if not flags.automatedInstall: ++ if not self.current_kernel: ++ return _("Please confirm kernel selection") ++ ++ return self.current_kernel ++ ++ ++ def _add_row(self, listbox, name, desc, button, clicked): ++ row = Gtk.ListBoxRow() ++ box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6) ++ ++ button.set_valign(Gtk.Align.START) ++ button.connect("toggled", clicked, row) ++ box.add(button) ++ ++ label = Gtk.Label(label="%s\n%s" % (escape_markup(name), escape_markup(desc)), ++ use_markup=True, wrap=True, wrap_mode=Pango.WrapMode.WORD_CHAR, ++ hexpand=True, xalign=0, yalign=0.5) ++ box.add(label) ++ ++ row.add(box) ++ listbox.insert(row, -1) ++ ++ @async_action_wait ++ def _first_refresh(self): ++ self.refresh() ++ return True ++ ++ def refresh(self): ++ super().refresh() ++ ++ threadMgr.wait(constants.THREAD_PAYLOAD) ++ ++ self._clear_listbox(self._kernelListBox) ++ ++ kernel_keys = self.available_kernels.keys() ++ for kernel in kernel_keys: ++ kernel_sub_keys = list(self.available_kernels[kernel].keys()) ++ radio = Gtk.RadioButton(group=self._fakeRadio) ++ if not self.current_kernel: ++ self.current_kernel = kernel ++ radio.set_active(self.current_kernel and kernel == self.current_kernel) ++ if kernel == '4.18.0': ++ kernel_desc = _("RHCK") ++ kernel_info = _("Compatible with RHEL") ++ elif kernel == '4.19.91' or kernel == '5.10.134': ++ kernel_desc = _("ANCK") ++ kernel_info = _("Support Anolis OS verified platform") ++ else: ++ kernel_desc = '' ++ kernel_info = '' ++ ++ self._add_row(self._kernelListBox, "%s (%s)" % (kernel, kernel_desc), "%s (%s)" % (kernel_info, self.available_kernels[kernel][kernel_sub_keys[-1]][0]), radio, self.on_radio_button_toggled) ++ ++ self._kernelListBox.show_all() ++ ++ def _clear_listbox(self, listbox): ++ for child in listbox.get_children(): ++ listbox.remove(child) ++ del(child) ++ ++ # Signal handlers ++ def on_radio_button_toggled(self, radio, row): ++ # If the radio button toggled to inactive, don't reactivate the row ++ if not radio.get_active(): ++ return ++ row.activate() ++ ++ def on_kernel_activated(self, listbox, row): ++ box = row.get_children()[0] ++ button = box.get_children()[0] ++ ++ with blockedHandler(button, self.on_radio_button_toggled): ++ button.set_active(True) ++ ++ kernel_keys = list(self.available_kernels.keys()) ++ self.current_kernel=kernel_keys[row.get_index()] +diff --git a/pyanaconda/ui/gui/spokes/software_selection.py b/pyanaconda/ui/gui/spokes/software_selection.py +index 66c0cda..afcb462 100644 +--- a/pyanaconda/ui/gui/spokes/software_selection.py ++++ b/pyanaconda/ui/gui/spokes/software_selection.py +@@ -201,7 +201,7 @@ class SoftwareSelectionSpoke(NormalSpoke): + addons = self._get_selected_addons() + if not self._kickstarted and set(addons) != set(self._orig_addons): + self._select_flag = False +- self.payload.data.packages.packageList = [] ++ #self.payload.data.packages.packageList = [] + self.payload.data.packages.groupList = [] + self.payload.select_environment(self.environment) + log.debug("Environment selected for installation: %s", self.environment) +diff --git a/pyanaconda/ui/tui/spokes/kernel_selection.py b/pyanaconda/ui/tui/spokes/kernel_selection.py +new file mode 100644 +index 0000000..cd144c1 +--- /dev/null ++++ b/pyanaconda/ui/tui/spokes/kernel_selection.py +@@ -0,0 +1,219 @@ ++# Copyright (C) 2021 OpenAnolis Community ++# ++# ++import re ++from pyanaconda.flags import flags ++from pyanaconda.ui.categories.software import SoftwareCategory ++from pyanaconda.ui.tui.spokes import NormalTUISpoke ++from pyanaconda.threading import threadMgr, AnacondaThread ++from pyanaconda.payload.manager import payloadMgr, PayloadState ++from pyanaconda.payload.errors import DependencyError, NoSuchGroup ++from pyanaconda.core.i18n import N_, _, C_ ++ ++from pyanaconda.core.constants import THREAD_PAYLOAD, THREAD_CHECK_SOFTWARE, \ ++ THREAD_SOFTWARE_WATCHER, PAYLOAD_TYPE_DNF ++ ++from simpleline.render.containers import ListColumnContainer ++from simpleline.render.screen import InputState ++from simpleline.render.screen_handler import ScreenHandler ++from simpleline.render.widgets import TextWidget, CheckboxWidget ++ ++from pyanaconda.anaconda_loggers import get_module_logger ++log = get_module_logger(__name__) ++ ++__all__ = ["KernelSpoke"] ++ ++ ++class KernelSpoke(NormalTUISpoke): ++ """ Spoke used to read new value of text to represent source repo. ++ ++ .. inheritance-diagram:: SoftwareSpoke ++ :parts: 3 ++ """ ++ help_id = "KernelSelectionSpoke" ++ category = SoftwareCategory ++ ++ def __init__(self, data, storage, payload): ++ super().__init__(data, storage, payload) ++ self.title = N_("Kernel selection") ++ self._container = None ++ self.errors = [] ++ ++ self._orig_kernel = None ++ self._kickstarted = flags.automatedInstall and self.data.packages.seen ++ ++ payloadMgr.add_listener(PayloadState.STARTED, self._payload_start) ++ payloadMgr.add_listener(PayloadState.FINISHED, self._payload_finished) ++ payloadMgr.add_listener(PayloadState.ERROR, self._payload_error) ++ ++ def _payload_start(self): ++ # Source is changing, invalidate the software selection and clear the ++ # errors ++ self.errors = [] ++ self.current_kernel = None ++ ++ def _payload_finished(self): ++ msgs = self.payload.detectMultiKernel() ++ if not msgs: ++ # use latest kernel as default, normally it's anck ++ self.current_kernel = list(self.available_kernels.keys())[-1] ++ ++ def _payload_error(self): ++ self.errors = [payloadMgr.error] ++ ++ def initialize(self): ++ self.initialize_start() ++ super().initialize() ++ threadMgr.add(AnacondaThread(name="AnaKernelWatcher", target=self._initialize)) ++ ++ def _initialize(self): ++ threadMgr.wait(THREAD_PAYLOAD) ++ ++ self._apply() ++ ++ threadMgr.wait("AnaCheckKernel") ++ self.initialize_done() ++ ++ @property ++ def changed(self): ++ if self.current_kernel == self._orig_kernel: ++ return False ++ else: ++ return True ++ ++ @property ++ def showable(self): ++ return self.payload.type == PAYLOAD_TYPE_DNF ++ ++ @property ++ def status(self): ++ if not self.payload.base_repo: ++ return _("Installation source not set up") ++ ++ if not self.ready: ++ return _("Processing...") ++ ++ if self.errors: ++ return _("Error checking kernel selection") ++ ++ if not self._kickstarted: ++ if not self.current_kernel: ++ return _("Please confirm kernel selection") ++ ++ return self.current_kernel ++ ++ @property ++ def completed(self): ++ processing_done = self.ready and not self.errors ++ return processing_done and self.payload.base_repo ++ ++ def refresh(self, args=None): ++ """ Refresh screen. """ ++ NormalTUISpoke.refresh(self, args) ++ ++ threadMgr.wait(THREAD_PAYLOAD) ++ self._container = None ++ ++ if not self.payload.base_repo: ++ message = TextWidget(_("Installation source needs to be set up first.")) ++ self.window.add_with_separator(message) ++ return ++ ++ threadMgr.wait("AnaCheckKernel") ++ self._container = ListColumnContainer(2, columns_width=38, spacing=2) ++ ++ msg = self._refresh_kernels() ++ ++ self.window.add_with_separator(TextWidget(msg)) ++ self.window.add_with_separator(self._container) ++ ++ def _refresh_kernels(self): ++ kernel_keys = self.available_kernels.keys() ++ for kernel in kernel_keys: ++ selected = (self.current_kernel == kernel) ++ if kernel == '4.18.0': ++ kernel_desc = _("RHCK") ++ kernel_info = _("Compatible with RHEL") ++ elif kernel == '4.19.91': ++ kernel_desc = _("ANCK") ++ kernel_info = _("Support Anolis OS verified platform") ++ else: ++ kernel_desc = '' ++ kernel_info = '' ++ widget = CheckboxWidget(title="%s (%s)" % (kernel, kernel_desc), completed=selected) ++ self._container.add(widget, callback=self._set_kernel_callback, data=kernel) ++ ++ return _("Kernel List") ++ ++ def _set_kernel_callback(self, data): ++ self.current_kernel = data ++ ++ def input(self, args, key): ++ if self._container is not None and self._container.process_user_input(key): ++ self.redraw() ++ else: ++ # TRANSLATORS: 'c' to continue ++ if key.lower() == C_('TUI|Spoke Navigation', 'c'): ++ ++ if self.current_kernel is None: ++ self.close() ++ else: ++ self.apply() ++ self.close() ++ else: ++ return super().input(args, key) ++ ++ return InputState.PROCESSED ++ ++ @property ++ def ready(self): ++ """ If we're ready to move on. """ ++ return (not threadMgr.get(THREAD_PAYLOAD) and ++ not threadMgr.get("AnaCheckKernel") and ++ not threadMgr.get("AnaKernelWatcher")) ++ ++ @property ++ def available_kernels(self): ++ return self.payload.available_kernels ++ ++ @property ++ def current_kernel(self): ++ return self.payload.current_kernel ++ ++ @current_kernel.setter ++ def current_kernel(self, value): ++ self.payload.current_kernel = value ++ ++ def apply(self): ++ self._apply() ++ ++ def _apply(self): ++ threadMgr.add(AnacondaThread(name="AnaCheckKernel", target=self.checkKernelSelection)) ++ ++ def checkKernelSelection(self): ++ if self._kickstarted: ++ kernel_pattern=re.compile(r"kernel-[4,5].\d+.\d+") ++ for package in self.payload.data.packages.packageList: ++ if kernel_pattern.search(package): ++ self.current_kernel = package.split('-')[1] ++ ++ # we do this only kernel changed ++ if self.changed: ++ kernel_keys = self.available_kernels.keys() ++ for kernel in kernel_keys: ++ kernel_sub_keys = list(self.available_kernels[kernel].keys()) ++ if kernel == self.current_kernel: ++ include_kernel = self.available_kernels[kernel][kernel_sub_keys[-1]] ++ self.payload.data.packages.packageList.extend(include_kernel) ++ for package in include_kernel: ++ if package in self.payload.data.packages.excludedList: ++ self.payload.data.packages.excludedList.remove(package) ++ else: ++ exclude_kernel = self.available_kernels[kernel][kernel_sub_keys[-1]] ++ self.payload.data.packages.excludedList.extend(exclude_kernel) ++ for package in exclude_kernel: ++ if package in self.payload.data.packages.packageList: ++ self.payload.data.packages.packageList.remove(package) ++ ++ # store kernel selection ++ self._orig_kernel = self.current_kernel +diff --git a/pyanaconda/ui/tui/spokes/software_selection.py b/pyanaconda/ui/tui/spokes/software_selection.py +index 87a7611..19a9513 100644 +--- a/pyanaconda/ui/tui/spokes/software_selection.py ++++ b/pyanaconda/ui/tui/spokes/software_selection.py +@@ -312,7 +312,7 @@ class SoftwareSpoke(NormalTUISpoke): + log.debug("Setting new software selection old env %s, new env %s and addons %s", + self._orig_env, self.environment, self.addons) + +- self.payload.data.packages.packageList = [] ++ #self.payload.data.packages.packageList = [] + self.data.packages.groupList = [] + self.payload.select_environment(self.environment) + +-- +2.27.0 + diff --git a/0006-install-add-loongarch-platform-support.patch b/0006-install-add-loongarch-platform-support.patch new file mode 100644 index 0000000000000000000000000000000000000000..1733680c4e75014e898d81b883c37c68a6e189e4 --- /dev/null +++ b/0006-install-add-loongarch-platform-support.patch @@ -0,0 +1,272 @@ +From 32a54b5068c082a09683bfa81ac43b1b7b82fb8b Mon Sep 17 00:00:00 2001 +From: Liwei Ge +Date: Fri, 13 May 2022 15:39:50 +0800 +Subject: [PATCH 6/7] install: add loongarch platform support + +--- + pyanaconda/modules/storage/bootloader/base.py | 9 +- + pyanaconda/modules/storage/bootloader/efi.py | 28 +++++- + .../modules/storage/bootloader/factory.py | 7 ++ + .../modules/storage/bootloader/grub2.py | 1 + + pyanaconda/modules/storage/bootloader/pmon.py | 87 +++++++++++++++++++ + .../modules/storage/devicetree/fsset.py | 6 +- + pyanaconda/modules/storage/platform.py | 9 ++ + 7 files changed, 142 insertions(+), 5 deletions(-) + create mode 100644 pyanaconda/modules/storage/bootloader/pmon.py + +diff --git a/pyanaconda/modules/storage/bootloader/base.py b/pyanaconda/modules/storage/bootloader/base.py +index 16a4df3..34bfae2 100644 +--- a/pyanaconda/modules/storage/bootloader/base.py ++++ b/pyanaconda/modules/storage/bootloader/base.py +@@ -731,11 +731,14 @@ class BootLoader(object): + swap_devices = storage.fsset.swap_devices + dracut_devices.extend(swap_devices) + +- # Add resume= option to enable hibernation on x86. ++ # Add resume= option to enable hibernation on x86 and loongarch. + # Choose the largest swap device for that. +- if blivet.arch.is_x86() and swap_devices: ++ if (blivet.arch.is_x86() or blivet.arch.is_loongarch()) and swap_devices: + resume_device = max(swap_devices, key=lambda x: x.size) +- self.boot_args.add("resume=%s" % resume_device.fstab_spec) ++ if not blivet.arch.is_efi() and blivet.arch.is_loongarch(): ++ self.boot_args.add("resume=%s" % resume_device.path) ++ else: ++ self.boot_args.add("resume=%s" % resume_device.fstab_spec) + + # Does /usr have its own device? If so, we need to tell dracut + usr_device = storage.mountpoints.get("/usr") +diff --git a/pyanaconda/modules/storage/bootloader/efi.py b/pyanaconda/modules/storage/bootloader/efi.py +index d8b7f10..1aed536 100644 +--- a/pyanaconda/modules/storage/bootloader/efi.py ++++ b/pyanaconda/modules/storage/bootloader/efi.py +@@ -28,7 +28,7 @@ from pyanaconda.product import productName + from pyanaconda.anaconda_loggers import get_module_logger + log = get_module_logger(__name__) + +-__all__ = ["EFIBase", "EFIGRUB", "Aarch64EFIGRUB", "ArmEFIGRUB", "MacEFIGRUB"] ++__all__ = ["EFIBase", "EFIGRUB", "Aarch64EFIGRUB", "ArmEFIGRUB", "MacEFIGRUB", "LOONGARCHEFIGRUB"] + + + class EFIBase(object): +@@ -167,7 +167,33 @@ class Aarch64EFIGRUB(EFIGRUB): + def __init__(self): + super().__init__() + self._packages64 = ["grub2-efi-aa64", "shim-aa64"] ++class LOONGARCHEFIGRUB(EFIGRUB): ++ _efi_binary = "grubloongarch64.efi" ++ stage2_is_valid_stage1 = False ++ stage2_bootable = False ++ ++ def __init__(self): ++ super().__init__() ++ self._packages64 = ["grub2-efi-loongarch64"] + ++ def remove_efi_boot_target(self): ++ return ++ ++ def _add_single_efi_boot_target(self, partition): ++ boot_disk = partition.disk ++ boot_part_num = str(partition.parted_partition.number) ++ ++ rc = util.execInSysroot("cp", ["-a", "/boot/efi/EFI/centos/" + self._efi_binary, "/boot/efi/EFI/BOOT/" + "BOOTLOONGARCH.EFI"]) ++ if rc: ++ raise BootLoaderError("Failed to set new efi boot target. This is most " ++ "likely a kernel or firmware bug.") ++ ++ def add_efi_boot_target(self): ++ if self.stage1_device.type == "partition": # pylint: disable=no-member ++ self._add_single_efi_boot_target(self.stage1_device) # pylint: disable=no-member ++ elif self.stage1_device.type == "mdarray": # pylint: disable=no-member ++ for parent in self.stage1_device.parents: # pylint: disable=no-member ++ self._add_single_efi_boot_target(parent) + + class ArmEFIGRUB(EFIGRUB): + _serial_consoles = ["ttyAMA", "ttyS"] +diff --git a/pyanaconda/modules/storage/bootloader/factory.py b/pyanaconda/modules/storage/bootloader/factory.py +index 8aa3afb..b5b8b59 100644 +--- a/pyanaconda/modules/storage/bootloader/factory.py ++++ b/pyanaconda/modules/storage/bootloader/factory.py +@@ -137,6 +137,13 @@ class BootLoaderFactory(object): + if platform_class is platform.Aarch64EFI: + from pyanaconda.modules.storage.bootloader.efi import Aarch64EFIGRUB + return Aarch64EFIGRUB ++ if platform_class is platform.LOONGARCHEFI: ++ from pyanaconda.modules.storage.bootloader.efi import LOONGARCHEFIGRUB ++ return LOONGARCHEFIGRUB ++ ++ if platform_class is platform.LOONGARCHLEGACY: ++ from pyanaconda.modules.storage.bootloader.pmon import LOONGARCHPMON ++ return LOONGARCHPMON + + if platform_class is platform.ARM: + from pyanaconda.modules.storage.bootloader.extlinux import EXTLINUX +diff --git a/pyanaconda/modules/storage/bootloader/grub2.py b/pyanaconda/modules/storage/bootloader/grub2.py +index 51f7c74..57cfd95 100644 +--- a/pyanaconda/modules/storage/bootloader/grub2.py ++++ b/pyanaconda/modules/storage/bootloader/grub2.py +@@ -257,6 +257,7 @@ class GRUB2(BootLoader): + defaults.write("GRUB_DISTRIBUTOR=\"$(sed 's, release .*$,,g' /etc/system-release)\"\n") + defaults.write("GRUB_DEFAULT=saved\n") + defaults.write("GRUB_DISABLE_SUBMENU=true\n") ++ defaults.write("GRUB_CMDLINE_LINUX_DEFAULT=' rhgb quiet '\n") + if self.console and self.has_serial_console: + defaults.write("GRUB_TERMINAL=\"serial console\"\n") + defaults.write("GRUB_SERIAL_COMMAND=\"%s\"\n" % self.serial_command) +diff --git a/pyanaconda/modules/storage/bootloader/pmon.py b/pyanaconda/modules/storage/bootloader/pmon.py +new file mode 100644 +index 0000000..7e02f61 +--- /dev/null ++++ b/pyanaconda/modules/storage/bootloader/pmon.py +@@ -0,0 +1,87 @@ ++# ++# Writer: Sun Haiyong (youbest@sina.com) ++# ++import os ++ ++from pyanaconda.modules.storage.bootloader.base import BootLoader, Arguments, BootLoaderError ++from pyanaconda.core import util ++from pyanaconda.core.configuration.anaconda import conf ++from pyanaconda.product import productName ++ ++from pyanaconda.anaconda_loggers import get_module_logger ++log = get_module_logger(__name__) ++ ++__all__ = ["PMON", "LOONGARCHPMON"] ++ ++ ++class PMON(BootLoader): ++ name = "PMON" ++ _config_file = "boot.cfg" ++ _config_dir = "/boot" ++ ++ stage2_format_types = ["ext3", "ext2"] ++ stage2_device_types = ["partition"] ++# stage2_bootable = True ++ ++ @property ++ def config_file(self): ++ return "%s/%s" % (self._config_dir, self._config_file) ++ ++ @property ++ def boot_prefix(self): ++ """ Prefix, if any, to paths in /boot. """ ++ if self.stage2_device.format.mountpoint == "/": ++ prefix = "/boot" ++ else: ++ prefix = "" ++ ++ return prefix ++ ++ def write_config_console(self, config): ++ if not self.console: ++ return ++ ++ console_arg = "console=%s" % self.console ++ if self.console_options: ++ console_arg += ",%s" % self.console_options ++ self.boot_args.add(console_arg) ++ ++ def write_config_images(self, config): ++ self.write_config_console(config) ++ for image in self.images: ++ args = Arguments() ++ args.update(["root=%s" % image.device.path, "ro"]) ++ args.update(self.boot_args) ++ log.info("bootloader.py: used boot args: %s ", args) ++ ++ # extlinux labels cannot have spaces ++ label = "%s(%s)" % (self.image_label(image), image.version) ++ label = label.replace(" ", "") ++ stanza = ("title %(label)s\n" ++ "\tkernel /dev/fs/ext2@wd0%(boot_prefix)s/%(kernel)s\n" ++ "\tinitrd /dev/fs/ext2@wd0%(boot_prefix)s/%(initrd)s\n" ++ "\targs %(args)s\n\n" ++ % {"label": label, ++ "kernel": image.kernel, ++ "initrd": image.initrd, ++ "args": args, ++ "boot_prefix": self.boot_prefix}) ++ config.write(stanza) ++ ++ def write_config_header(self, config): ++ header = ("timeout %(timeout)d\n" ++ "showmenu 1\n" ++ % {"timeout": self.timeout}) ++ config.write(header) ++ if self.default is not None: ++ config.write("default 0\n\n") ++ ++ def install(self, args=None): ++ """installation should be a no-op, just writing the config is sufficient for the ++ firmware's bootloader (petitboot) ++ """ ++ pass ++ ++ ++class LOONGARCHPMON(PMON): ++ """ LOONGARCHPMON """ +diff --git a/pyanaconda/modules/storage/devicetree/fsset.py b/pyanaconda/modules/storage/devicetree/fsset.py +index 00aef10..ab7cd6f 100644 +--- a/pyanaconda/modules/storage/devicetree/fsset.py ++++ b/pyanaconda/modules/storage/devicetree/fsset.py +@@ -24,6 +24,7 @@ import gi + gi.require_version("BlockDev", "2.0") + from gi.repository import BlockDev as blockdev + ++from blivet import arch + from blivet.devices import NoDevice, DirectoryDevice, NFSDevice, FileDevice, MDRaidArrayDevice, \ + NetworkStorageDevice, OpticalDevice + from blivet.errors import UnrecognizedFSTabEntryError, FSTabTypeMismatchError +@@ -764,7 +765,10 @@ class FSSet(object): + break + if device.encrypted: + options += ",x-systemd.device-timeout=0" +- devspec = device.fstab_spec ++ if not arch.is_efi() and arch.is_loongarch(): ++ devspec = device.path ++ else: ++ devspec = device.fstab_spec + dump = device.format.dump + if device.format.check and mountpoint == "/": + passno = 1 +diff --git a/pyanaconda/modules/storage/platform.py b/pyanaconda/modules/storage/platform.py +index 1023c93..9b730c1 100644 +--- a/pyanaconda/modules/storage/platform.py ++++ b/pyanaconda/modules/storage/platform.py +@@ -181,10 +181,15 @@ class MacEFI(EFI): + class Aarch64EFI(EFI): + _non_linux_format_types = ["vfat", "ntfs"] + ++class LOONGARCHEFI(EFI): ++ _non_linux_format_types = ["ntfs"] + + class ArmEFI(EFI): + _non_linux_format_types = ["vfat", "ntfs"] + ++class LOONGARCHLEGACY(Platform): ++ _boot_stage1_device_types = ["partition"] ++ _boot_descriptions = {"partition": Platform._boot_partition_description} + + class PPC(Platform): + _ppc_machine = arch.get_ppc_machine() +@@ -288,12 +293,16 @@ def get_platform(): + return Aarch64EFI() + elif arch.is_arm(): + return ArmEFI() ++ elif arch.is_loongarch(): ++ return LOONGARCHEFI() + else: + return EFI() + elif arch.is_x86(): + return X86() + elif arch.is_arm(): + return ARM() ++ elif arch.is_loongarch(): ++ return LOONGARCHLEGACY() + else: + raise SystemError("Could not determine system architecture.") + +-- +2.27.0 + diff --git a/0007-install-fix-anolis-bootloader.patch b/0007-install-fix-anolis-bootloader.patch new file mode 100644 index 0000000000000000000000000000000000000000..0cfcd246977132f15e2eb763ddfb868d77a7c9d1 --- /dev/null +++ b/0007-install-fix-anolis-bootloader.patch @@ -0,0 +1,59 @@ +From 52898ee23f89948201dce8a4d78d0799ea90d3e0 Mon Sep 17 00:00:00 2001 +From: yangxiaoxuan +Date: Thu, 21 Apr 2022 03:46:10 -0400 +Subject: [PATCH 7/7] install: fix anolis bootloader + +modify the path of execInSysroot +del bootargs and enable grub-submenu +--- + pyanaconda/modules/storage/bootloader/efi.py | 2 +- + pyanaconda/modules/storage/bootloader/grub2.py | 2 -- + tests/nosetests/pyanaconda_tests/product_test.py | 6 ++++++ + 3 files changed, 7 insertions(+), 3 deletions(-) + +diff --git a/pyanaconda/modules/storage/bootloader/efi.py b/pyanaconda/modules/storage/bootloader/efi.py +index 1aed536..d83ed2e 100644 +--- a/pyanaconda/modules/storage/bootloader/efi.py ++++ b/pyanaconda/modules/storage/bootloader/efi.py +@@ -183,7 +183,7 @@ class LOONGARCHEFIGRUB(EFIGRUB): + boot_disk = partition.disk + boot_part_num = str(partition.parted_partition.number) + +- rc = util.execInSysroot("cp", ["-a", "/boot/efi/EFI/centos/" + self._efi_binary, "/boot/efi/EFI/BOOT/" + "BOOTLOONGARCH.EFI"]) ++ rc = util.execInSysroot("cp", ["-a", "/boot/efi/EFI/anolis/" + self._efi_binary, "/boot/efi/EFI/BOOT/" + "BOOTLOONGARCH.EFI"]) + if rc: + raise BootLoaderError("Failed to set new efi boot target. This is most " + "likely a kernel or firmware bug.") +diff --git a/pyanaconda/modules/storage/bootloader/grub2.py b/pyanaconda/modules/storage/bootloader/grub2.py +index 57cfd95..b5f8ddf 100644 +--- a/pyanaconda/modules/storage/bootloader/grub2.py ++++ b/pyanaconda/modules/storage/bootloader/grub2.py +@@ -256,8 +256,6 @@ class GRUB2(BootLoader): + defaults.write("GRUB_TIMEOUT=%d\n" % self.timeout) + defaults.write("GRUB_DISTRIBUTOR=\"$(sed 's, release .*$,,g' /etc/system-release)\"\n") + defaults.write("GRUB_DEFAULT=saved\n") +- defaults.write("GRUB_DISABLE_SUBMENU=true\n") +- defaults.write("GRUB_CMDLINE_LINUX_DEFAULT=' rhgb quiet '\n") + if self.console and self.has_serial_console: + defaults.write("GRUB_TERMINAL=\"serial console\"\n") + defaults.write("GRUB_SERIAL_COMMAND=\"%s\"\n" % self.serial_command) +diff --git a/tests/nosetests/pyanaconda_tests/product_test.py b/tests/nosetests/pyanaconda_tests/product_test.py +index fb0c33e..18597de 100644 +--- a/tests/nosetests/pyanaconda_tests/product_test.py ++++ b/tests/nosetests/pyanaconda_tests/product_test.py +@@ -265,6 +265,12 @@ class ProductConfigurationTestCase(unittest.TestCase): + ["rhel.conf", "centos-stream.conf", "centos.conf"], + WORKSTATION_PARTITIONING + ) ++ self._check_default_product( ++ "Anolis", ++ ["rhel.conf", "anolis.conf"] ++ ) ++ WORKSTATION_PARTITIONING ++ + self._check_default_product( + "Red Hat Virtualization", "", + ["rhel.conf", "rhev.conf"], +-- +2.27.0 + diff --git a/0008-install-fix-kernel-spoke-notify.patch b/0008-install-fix-kernel-spoke-notify.patch new file mode 100644 index 0000000000000000000000000000000000000000..81ed6a029f348a92427bdeb439c643331d3aee78 --- /dev/null +++ b/0008-install-fix-kernel-spoke-notify.patch @@ -0,0 +1,74 @@ +--- a/pyanaconda/payload/dnf/payload.py 2022-05-16 18:42:00.000000000 +0800 ++++ b/pyanaconda/payload/dnf/payload.py 2022-05-17 16:51:51.790618070 +0800 +@@ -43,6 +43,7 @@ + from collections import OrderedDict + + from pyanaconda.modules.common.structures.payload import RepoConfigurationData ++from pyanaconda.modules.payloads.payload.dnf.installation import UpdateDNFConfigurationTask + from pyanaconda.payload.source import SourceFactory, PayloadSourceTypeUnrecognized + from pykickstart.constants import GROUP_ALL, GROUP_DEFAULT, KS_MISSING_IGNORE, GROUP_REQUIRED + from pykickstart.parser import Group +--- a/pyanaconda/ui/gui/spokes/installation_source.py 2022-05-16 18:42:00.000000000 +0800 ++++ b/pyanaconda/ui/gui/spokes/installation_source.py 2022-05-17 15:20:49.282836205 +0800 +@@ -756,6 +756,7 @@ + target=self._initialize)) + + def _payload_refresh(self): ++ hubQ.send_not_ready("KernelSelectionSpoke") + hubQ.send_not_ready("SoftwareSelectionSpoke") + hubQ.send_not_ready(self.__class__.__name__) + hubQ.send_message(self.__class__.__name__, _(BASEREPO_SETUP_MESSAGE)) +@@ -781,6 +782,7 @@ + hubQ.send_message(self.__class__.__name__, _(constants.PAYLOAD_STATUS_GROUP_MD)) + + def _payload_finished(self): ++ hubQ.send_ready("KernelSelectionSpoke", False) + hubQ.send_ready("SoftwareSelectionSpoke", False) + self._ready = True + hubQ.send_ready(self.__class__.__name__, False) +diff -Nur a/pyanaconda/ui/gui/spokes/kernel_selection.py b/pyanaconda/ui/gui/spokes/kernel_selection.py +--- a/pyanaconda/ui/gui/spokes/kernel_selection.py 2022-05-16 18:42:00.000000000 +0800 ++++ b/pyanaconda/ui/gui/spokes/kernel_selection.py 2022-05-17 17:28:05.356188435 +0800 +@@ -64,7 +64,6 @@ + + # Register event listeners to update our status on payload events + payloadMgr.add_listener(PayloadState.ERROR, self._payload_error) +- payloadMgr.add_listener(PayloadState.FINISHED, self._payload_finished) + + payloadMgr.add_listener(PayloadState.DOWNLOADING_PKG_METADATA, + self._downloading_package_md) +@@ -84,12 +83,6 @@ + self._error = True + hubQ.send_message(self.__class__.__name__, payloadMgr.error) + +- def _payload_finished(self): +- self._error_msgs = self.payload.detectMultiKernel() +- if not self._error_msgs: +- # use latest kernel as default, normally it's anck +- self.current_kernel = list(self.available_kernels.keys())[-1] +- + @property + def available_kernels(self): + return self.payload.available_kernels +@@ -150,8 +143,7 @@ + threadMgr.wait(constants.THREAD_PAYLOAD) + + if not self._kickstarted: +- if not self._first_refresh(): +- return ++ self._first_refresh() + + hubQ.send_ready(self.__class__.__name__, False) + +@@ -232,6 +224,11 @@ + + threadMgr.wait(constants.THREAD_PAYLOAD) + ++ self._error_msgs = self.payload.detectMultiKernel() ++ if not self._error_msgs: ++ # use latest kernel as default, normally it's anck ++ self.current_kernel = list(self.available_kernels.keys())[-1] ++ + self._clear_listbox(self._kernelListBox) + + kernel_keys = self.available_kernels.keys() diff --git a/0009-Fix-smt-description.patch b/0009-Fix-smt-description.patch new file mode 100644 index 0000000000000000000000000000000000000000..c41b480a59bda181840f7e1450b5174b3da7158e --- /dev/null +++ b/0009-Fix-smt-description.patch @@ -0,0 +1,2642 @@ +diff --git a/data/product.d/rhel.conf b/data/product.d/rhel.conf +index c4de9b6..02db40c 100644 +--- a/data/product.d/rhel.conf ++++ b/data/product.d/rhel.conf +@@ -53,4 +53,4 @@ default_help_pages = + blivet_gui_supported = False + + [License] +-eula = /usr/share/redhat-release/EULA ++eula = /usr/share/anolis-release/EULA +diff --git a/po/af.po b/po/af.po +index f7665f9..f0d6cac 100644 +--- a/po/af.po ++++ b/po/af.po +@@ -3974,8 +3974,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3983,8 +3983,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/am.po b/po/am.po +index 4c221d0..5acfaf8 100644 +--- a/po/am.po ++++ b/po/am.po +@@ -3974,8 +3974,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3983,8 +3983,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/ar.po b/po/ar.po +index 01891a1..727c60c 100644 +--- a/po/ar.po ++++ b/po/ar.po +@@ -4218,26 +4218,26 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "تقنية خيوط التنفيذ المتعددة الآنية (SMT) يمكن أن تحسن الأداء لعدد من الأحمال " + "التنفيذية، إلا أنها تجعلك عرضة لعدد من المشاكل الأمنية المعلنة. بإمكانك " + "إيقاف هذه التقنية مما سيؤثر على الأداء. إذا اخترت ترك التقنية مفعّلة، رجاءً " +-"اقرأ https://red.ht/rhel-smt لتفهم المخاطر المحتملة وطرق تفاديها." ++"اقرأ لتفهم المخاطر المحتملة وطرق تفاديها." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "تقنية خيوط التنفيذ المتعددة الآنية (SMT) يمكن أن تحسن الأداء لعدد من الأحمال " + "التنفيذية، إلا أنها تجعلك عرضة لعدد من المشاكل الأمنية المعلنة. بإمكانك " +-"إيقاف هذه التقنية مما سيؤثر على الأداء. رجاءً اقرأ https://red.ht/rhel-smt " ++"إيقاف هذه التقنية مما سيؤثر على الأداء. رجاءً اقرأ " + "لتفهم المخاطر المحتملة وطرق تفاديها." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/as.po b/po/as.po +index c3bc1ab..1877b6f 100644 +--- a/po/as.po ++++ b/po/as.po +@@ -4352,8 +4352,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4361,8 +4361,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/ast.po b/po/ast.po +index 28aef7c..742702e 100644 +--- a/po/ast.po ++++ b/po/ast.po +@@ -3996,8 +3996,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4005,8 +4005,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/be.po b/po/be.po +index c9c0496..cde0208 100644 +--- a/po/be.po ++++ b/po/be.po +@@ -4650,28 +4650,28 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Тэхналогія шматпатокавасці (SMT) можа павялічыць прадукцыйнасць у некаторых " + "выпадках, але адкрывае некалькі шырока вядомых праблемаў бяспекі. Можна " + "адключыць SMT, але гэта можа пагоршыць прадукцыйнасць. Калі вы вырашылі " +-"пакінуць SMT уключаным, то прачытайце, калі ласка, https://red.ht/rhel-smt , " ++"пакінуць SMT уключаным, то прачытайце, калі ласка, , " + "каб зразумець патэнцыйныя рызыкі і даведацца, як можна іх зменшыць." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Тэхналогія шматпатокавасці (SMT) можа павялічыць прадукцыйнасць у некаторых " + "выпадках, але адкрывае некалькі шырока вядомых праблемаў бяспекі. Можна " + "адключыць SMT, але гэта можа пагоршыць прадукцыйнасць. Калі ласка, " +-"прачытайце https://red.ht/rhel-smt , каб зразумець патэнцыйныя рызыкі і " ++"прачытайце , каб зразумець патэнцыйныя рызыкі і " + "даведацца, як можна іх зменшыць." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/bg.po b/po/bg.po +index 8c38c2d..964ec58 100644 +--- a/po/bg.po ++++ b/po/bg.po +@@ -4500,8 +4500,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4509,8 +4509,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/bn.po b/po/bn.po +index ab90bfa..e37494b 100644 +--- a/po/bn.po ++++ b/po/bn.po +@@ -4150,8 +4150,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4159,8 +4159,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/bn_IN.po b/po/bn_IN.po +index 864855e..ffd561a 100644 +--- a/po/bn_IN.po ++++ b/po/bn_IN.po +@@ -4388,28 +4388,28 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "যুগপত মাল্টিথ্রেডিং (এসএমটি) প্রযুক্তি নির্দিষ্ট কাজের চাপের জন্য কর্মক্ষমতার উন্নতি " + "প্রদান করতে পারে, তবে বেশ কিছু প্রকাশ্যভাবে প্রকাশ করা নিরাপত্তা সমস্যা প্রবর্তন " + "করে। আপনার কাছে SMT অক্ষম করার বিকল্প আছে, যা কার্যক্ষমতাকে প্রভাবিত করতে পারে। " + "আপনি যদি SMT সক্ষম রেখে যেতে চান, তাহলে আপনার সম্ভাব্য ঝুঁকিগুলি বুঝতে এবং এই " +-"ঝুঁকিগুলি কমানোর অন্যান্য উপায় সম্পর্কে জানতে অনুগ্রহ করে https://red.ht/rhel-smt পড়ুন৷" ++"ঝুঁকিগুলি কমানোর অন্যান্য উপায় সম্পর্কে জানতে অনুগ্রহ করে পড়ুন৷" + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "যুগপত মাল্টিথ্রেডিং (এসএমটি) নির্দিষ্ট কাজের চাপের জন্য কর্মক্ষমতা উন্নত করতে পারে, " + "তবে বেশ কয়েকটি প্রকাশ্যভাবে প্রকাশ করা নিরাপত্তা সমস্যা প্রবর্তন করে। আপনি SMT অক্ষম " + "করতে পারেন, যা কর্মক্ষমতা প্রভাবিত করতে পারে। সম্ভাব্য ঝুঁকিগুলি বুঝতে এবং এই ঝুঁকিগুলি " +-"কমানোর উপায়গুলি সম্পর্কে জানতে অনুগ্রহ করে https://red.ht/rhel-smt পড়ুন৷" ++"কমানোর উপায়গুলি সম্পর্কে জানতে অনুগ্রহ করে পড়ুন৷" + + #: pyanaconda/core/constants.py:206 + msgid "The password is empty." +diff --git a/po/bo.po b/po/bo.po +index daf29f2..22d5ba0 100644 +--- a/po/bo.po ++++ b/po/bo.po +@@ -3969,8 +3969,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3978,8 +3978,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/bs.po b/po/bs.po +index 33cd0f0..608b87d 100644 +--- a/po/bs.po ++++ b/po/bs.po +@@ -3984,8 +3984,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3993,8 +3993,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/ca.po b/po/ca.po +index f24db8e..cce1e8e 100644 +--- a/po/ca.po ++++ b/po/ca.po +@@ -4658,8 +4658,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4667,8 +4667,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/cs.po b/po/cs.po +index b028f76..af2477d 100644 +--- a/po/cs.po ++++ b/po/cs.po +@@ -4496,14 +4496,14 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Technologie Simultaneous Multithreading (SMT) může poskytnout zlepšení " + "výkonu pro určité pracovní zatížení, ale zavádí několik veřejně dostupných " + "bezpečnostních chyb. Máte možnost SMT zakázat, což může mít dopad na výkon. " +-"Pokud ponecháte SMT povoleno, přečtěte si prosím https://red.ht/rhel-smt pro " ++"Pokud ponecháte SMT povoleno, přečtěte si prosím pro " + "pochopení potenciálních rizik a seznámení se s dalšími způsoby, jak tato " + "rizika zmírnit." + +@@ -4511,14 +4511,14 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Simultaneous Multithreading (SMT) může zlepšit výkon pro určité pracovní " + "zatížení, ale zavádí několik veřejně dostupných bezpečnostních chyb. Můžete " +-"SMT zakázat, což může mít dopad na výkon. Přečtěte si prosím https://red.ht/" +-"rhel-smt pro pochopení potenciálních rizik a seznámení se způsoby, jak tato " ++"SMT zakázat, což může mít dopad na výkon. Přečtěte si prosím " ++" pro pochopení potenciálních rizik a seznámení se způsoby, jak tato " + "rizika zmírnit." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/cy.po b/po/cy.po +index 3a23f6f..f57d3cd 100644 +--- a/po/cy.po ++++ b/po/cy.po +@@ -3982,8 +3982,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3991,8 +3991,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/da.po b/po/da.po +index d2cd311..23b6101 100644 +--- a/po/da.po ++++ b/po/da.po +@@ -4555,8 +4555,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4564,8 +4564,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/de.po b/po/de.po +index 6bcfab9..cd9d76c 100644 +--- a/po/de.po ++++ b/po/de.po +@@ -4582,15 +4582,15 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Die simultane Multithreading (SMT)-Technologie kann die Leistung für " + "bestimmte Arbeitslasten verbessern, bringt aber mehrere, öffentlich bekannte " + "Sicherheitsrisiken mit sich. Sie haben die Möglichkeit, SMT zu deaktivieren, " + "was sich aber auf die Leistung auswirken kann. Wenn Sie SMT aktiviert lassen " +-"möchten, lesen Sie bitte https://red.ht/rhel-smt um die potenziellen Risiken " ++"möchten, lesen Sie bitte um die potenziellen Risiken " + "zu verstehen und andere Möglichkeiten kennenzulernen, wie die Risiken " + "verringert werden können." + +@@ -4598,14 +4598,14 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Simultanes Multithreading (SMT) kann die Leistung für bestimmte " + "Arbeitslasten verbessern, führt jedoch zu mehreren öffentlich bekannt " + "gewordenen Sicherheitsproblemen. Sie können SMT deaktivieren, was die " +-"Leistung beeinträchtigen kann. Bitte lesen Sie https://red.ht/rhel-smt, um " ++"Leistung beeinträchtigen kann. Bitte lesen Sie , um " + "die potenziellen Risiken zu verstehen und sich über Möglichkeiten zur " + "Abschwächung dieser Risiken zu informieren." + +diff --git a/po/de_CH.po b/po/de_CH.po +index ee7d938..3613b96 100644 +--- a/po/de_CH.po ++++ b/po/de_CH.po +@@ -4001,8 +4001,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4010,8 +4010,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/el.po b/po/el.po +index 7a1597e..635b5ff 100644 +--- a/po/el.po ++++ b/po/el.po +@@ -4014,8 +4014,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4023,8 +4023,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/en_GB.po b/po/en_GB.po +index 0cf0b05..e429e29 100644 +--- a/po/en_GB.po ++++ b/po/en_GB.po +@@ -4015,8 +4015,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4024,8 +4024,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/es.po b/po/es.po +index d61117c..c22a43b 100644 +--- a/po/es.po ++++ b/po/es.po +@@ -4558,29 +4558,29 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "La tecnología Simultaneous Multithreading (SMT) puede suministrar mejoras de " + "rendimiento para ciertas cargas de trabajo, pero presenta varios problemas " + "de seguridad divulgados públicamente. Usted tiene la opción de deshabilitar " + "SMT, lo que puede impactar en el rendimiento. Si elige dejar SMT habilitado, " +-"por favor lea https://red.ht/rhel-smt para entender los riesgos potenciales " ++"por favor lea para entender los riesgos potenciales " + "y aprender sobre las distintas maneras de mitigar esos riesgos." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Simultaneous Multithreading (SMT) puede mejorar el rendimiento para ciertas " + "cargas de trabajo, pero presenta varios problemas de seguridad divulgados " + "públicamente. Usted puede deshabilitar SMT, lo que puede tener impacto en el " +-"rendimiento. Lea por favor https://red.ht/rhel-smt para entender los riesgos " ++"rendimiento. Lea por favor para entender los riesgos " + "potenciales y conocer maneras de mitigar esos riesgos." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/et.po b/po/et.po +index 8396576..0ab90e0 100644 +--- a/po/et.po ++++ b/po/et.po +@@ -4034,8 +4034,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4043,8 +4043,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/eu.po b/po/eu.po +index da29da4..3b46f11 100644 +--- a/po/eu.po ++++ b/po/eu.po +@@ -4007,8 +4007,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4016,8 +4016,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/fa.po b/po/fa.po +index 51fbc56..64de98b 100644 +--- a/po/fa.po ++++ b/po/fa.po +@@ -4037,8 +4037,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4046,8 +4046,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/fi.po b/po/fi.po +index 3dcaa8f..d34cf99 100644 +--- a/po/fi.po ++++ b/po/fi.po +@@ -4458,29 +4458,29 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Samanaikainen monisäikeinen (SMT (Simultaneous Multithreading)) -teknologia " + "voi parantaa suorituskykyä tietyillä kuormilla, mutta tuo esiin useita " + "julkisesti tunnistettuja turvallisuuskysymyksiä. Voit poistaa SMT:n " + "käytöstä, mikä voi vaikuttaa suorituskykyyn. Jos jätät SMT:n käyttöön, lue " +-"https://red.ht/rhel-smt ymmärtääksesi mahdolliset riskit ja oppiaksesi " ++" ymmärtääksesi mahdolliset riskit ja oppiaksesi " + "muista tavoista vähentää näitä riskejä." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Samanaikainen monisäikeinen (SMT (Simultaneous Multithreading)) voi parantaa " + "suorituskykyä tietyillä kuormilla, mutta tuo esiin useita julkisesti " + "tunnistettuja turvallisuuskysymyksiä. Voit poistaa SMT:n käytöstä, mikä voi " +-"vaikuttaa suorituskykyyn. Lue https://red.ht/rhel-smt ymmärtääksesi " ++"vaikuttaa suorituskykyyn. Lue ymmärtääksesi " + "mahdolliset riskit ja oppiaksesi tapoja vähentää näitä riskejä." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/fil.po b/po/fil.po +index 8d87b2f..794f258 100644 +--- a/po/fil.po ++++ b/po/fil.po +@@ -4066,8 +4066,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4075,8 +4075,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/fr.po b/po/fr.po +index 2f43939..95e4d89 100644 +--- a/po/fr.po ++++ b/po/fr.po +@@ -4597,30 +4597,30 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "La technologie SMT (Simultaneous Multithreading) permet d'améliorer les " + "performances de certaines charges de travail, mais introduit plusieurs " + "problèmes de sécurité connus publiquement. Vous avez la possibilité de " + "désactiver SMT, ce qui peut avoir un impact sur les performances. Si vous " +-"choisissez de laisser l'option SMT activée, veuillez lire https://red.ht/" +-"rhel-smt pour comprendre vos risques potentiels et vous renseigner sur " ++"choisissez de laisser l'option SMT activée, veuillez lire " ++" pour comprendre vos risques potentiels et vous renseigner sur " + "d'autres façons d'atténuer ces risques." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Le Multithreading simultané (SMT) peut améliorer les performances pour " + "certaines charges de travail, mais introduit plusieurs problèmes de sécurité " + "divulgués publiquement. Vous pouvez désactiver le SMT, ce qui peut avoir un " +-"impact sur les performances. Veuillez lire https://red.ht/rhel-smt pour " ++"impact sur les performances. Veuillez lire pour " + "comprendre les risques potentiels et apprendre comment les atténuer." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/fur.po b/po/fur.po +index 5fe3fae..317e756 100644 +--- a/po/fur.po ++++ b/po/fur.po +@@ -4449,29 +4449,29 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "La tecnologjie Multithreading Simultani (SMT) e pues dâ mioraments des " + "prestazions par cierts carics di lavôrs, ma al introdûs variis " + "problematichis di sigurece, za cognossudis. Tu puedis disabilitâ SMT ma a " + "discapit des prestazions. Se tu sielzis di lassâ abilitât SMT, par plasê lei " +-"https://red.ht/rhel-smt par capî i potenziâi risis e imparâ altris manieris " ++" par capî i potenziâi risis e imparâ altris manieris " + "par morestâ chescj pericui." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "a tecnologjie Multithreading Simultani (SMT) e pues miorâ lis prestazions " + "par cierts carics di lavôrs, ma al introdûs variis problematichis di " + "sigurece, za cognossudis. Tu puedis disabilitâ SMT ma a discapit des " +-"prestazions. Par plasê lei https://red.ht/rhel-smt par capî i potenziâi " ++"prestazions. Par plasê lei par capî i potenziâi " + "risis e imparâ ce mût morestâ chescj pericui." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/ga.po b/po/ga.po +index 3c96786..2b3b3ab 100644 +--- a/po/ga.po ++++ b/po/ga.po +@@ -4008,8 +4008,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4017,8 +4017,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/gl.po b/po/gl.po +index 0be6bc8..4b6bc83 100644 +--- a/po/gl.po ++++ b/po/gl.po +@@ -4191,8 +4191,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4200,8 +4200,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/gu.po b/po/gu.po +index cd9bfa5..dab66da 100644 +--- a/po/gu.po ++++ b/po/gu.po +@@ -4195,8 +4195,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4204,8 +4204,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/he.po b/po/he.po +index 68fdc65..0ce5bbb 100644 +--- a/po/he.po ++++ b/po/he.po +@@ -4331,8 +4331,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4340,8 +4340,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/hi.po b/po/hi.po +index c32640b..abab658 100644 +--- a/po/hi.po ++++ b/po/hi.po +@@ -4140,8 +4140,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4149,8 +4149,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/hr.po b/po/hr.po +index c3b7a26..b55bfb9 100644 +--- a/po/hr.po ++++ b/po/hr.po +@@ -4445,29 +4445,29 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Višezadaćnost (SMT) je tehnologija koja može poboljšati performanse pri " + "određenim radnim opterećenjima, no uvodi nekoliko javno objavljenih " + "sigurnosnih problema. Možete onemogućiti SMT, što može utjecati na " +-"performanse. Ako ipak odlučite ostaviti SMT omogućen, posjetite https://red." +-"ht/rhel-smt kako biste razumjeli potencijalne opasnosti i saznali kako " ++"performanse. Ako ipak odlučite ostaviti SMT omogućen, posjetite " ++" kako biste razumjeli potencijalne opasnosti i saznali kako " + "ublažiti spomenute opasnosti." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Višezadaćnost (SMT) može poboljšati performanse prilikom određenih radnih " + "opterećenja, no uvodi nekoliko javno objavljenih sigurnosnih problema. " +-"Možete onemogućiti SMT, što može utjecati na performanse. Posjetite https://" +-"red.ht/rhel-smt kako biste razumjeli potencijalne opasnosti i saznali na " ++"Možete onemogućiti SMT, što može utjecati na performanse. Posjetite " ++" kako biste razumjeli potencijalne opasnosti i saznali na " + "koji način ih možete ublažiti." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/hu.po b/po/hu.po +index cef7998..25eef0e 100644 +--- a/po/hu.po ++++ b/po/hu.po +@@ -4481,8 +4481,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Az egyidejű többszálúsítási (SMT) technológia teljesítménybeli javulást " +@@ -4491,14 +4491,14 @@ msgstr "" + "lehet a teljesítményre. Ha úgy dönt, hogy engedélyezve hagyja az SMT-t, " + "akkor olvassa el a következő oldalt, hogy megértse a lehetséges " + "kockázatokat, és megismerje a kockázatok kezelésének egyéb módjait: https://" +-"red.ht/rhel-smt." ++"." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Az egyidejű többszálúsítási (SMT) technológia teljesítménybeli javulást " +@@ -4506,7 +4506,7 @@ msgstr "" + "problémát is bevezet. Lehetősége van az SMT letiltására, amely hatással " + "lehet a teljesítményre. Olvassa el a következő oldalt, hogy megértse a " + "lehetséges kockázatokat, és megismerje a kockázatok kezelésének módjait: " +-"https://red.ht/rhel-smt." ++"." + + #: pyanaconda/core/constants.py:206 + msgid "The password is empty." +diff --git a/po/ia.po b/po/ia.po +index bd31ea6..5b92dbf 100644 +--- a/po/ia.po ++++ b/po/ia.po +@@ -4199,8 +4199,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4208,8 +4208,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/id.po b/po/id.po +index bd94871..8bbbef1 100644 +--- a/po/id.po ++++ b/po/id.po +@@ -4459,15 +4459,15 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Teknologi Simultaneous Multithreading (SMT) dapat memberikan peningkatan " + "kinerja untuk beban kerja tertentu, tetapi memperkenalkan beberapa masalah " + "keamanan yang diungkapkan secara publik. Anda memiliki opsi untuk " + "menonaktifkan SMT, yang dapat memengaruhi kinerja. Jika Anda memilih untuk " +-"membiarkan SMT diaktifkan, harap baca https://red.ht/rhel-smt untuk memahami " ++"membiarkan SMT diaktifkan, harap baca untuk memahami " + "risiko potensial Anda dan pelajari tentang cara lain untuk mengurangi risiko " + "ini." + +@@ -4475,14 +4475,14 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Simultaneous Multithreading (SMT) dapat meningkatkan kinerja untuk beban " + "kerja tertentu, tetapi memperkenalkan beberapa masalah keamanan yang " + "diungkapkan kepada publik. Anda dapat menonaktifkan SMT, yang dapat " +-"mempengaruhi kinerja. Harap baca https://red.ht/rhel-smt untuk memahami " ++"mempengaruhi kinerja. Harap baca untuk memahami " + "risiko potensial dan pelajari cara untuk mengurangi risiko ini." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/ilo.po b/po/ilo.po +index 38ef17f..d08e629 100644 +--- a/po/ilo.po ++++ b/po/ilo.po +@@ -3976,8 +3976,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3985,8 +3985,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/is.po b/po/is.po +index 75edb29..6271166 100644 +--- a/po/is.po ++++ b/po/is.po +@@ -3980,8 +3980,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3989,8 +3989,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/it.po b/po/it.po +index 339d4fb..6446a7b 100644 +--- a/po/it.po ++++ b/po/it.po +@@ -4603,30 +4603,30 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "La tecnologia Multithreading simultaneo (SMT) può fornire miglioramenti " + "delle prestazioni per determinati carichi di lavoro, ma introduce diversi " + "problemi di sicurezza resi pubblici. È possibile disattivare l'SMT, che può " + "avere un impatto sulle prestazioni. Se si sceglie di lasciare l'SMT " +-"abilitato, leggere https://red.ht/rhel-smt per comprendere i rischi " ++"abilitato, leggere per comprendere i rischi " + "potenziali e conoscere altri modi per mitigare questi rischi." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "La tecnologia Multithreading simultaneo (SMT) può fornire miglioramenti " + "delle prestazioni per determinati carichi di lavoro, ma introduce diversi " + "problemi di sicurezza resi pubblici. È possibile disattivare l'SMT, che può " + "avere un impatto sulle prestazioni. Se si sceglie di lasciare l'SMT " +-"abilitato, leggere https://red.ht/rhel-smt per comprendere i rischi " ++"abilitato, leggere per comprendere i rischi " + "potenziali e conoscere altri modi per mitigare questi rischi." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/ja.po b/po/ja.po +index 9cdc1d6..8c0921b 100644 +--- a/po/ja.po ++++ b/po/ja.po +@@ -4496,29 +4496,29 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "同時マルチスレッディング (SMT) 技術を使用すると、特定のワークロードではパ" + "フォーマンスが改善されますが、公開済みのセキュリティー問題がもたらされます。" + "SMT は無効にすることもできますが、その場合はパフォーマンスにマイナス影響が出" +-"る可能性があります。SMT を有効にしておく場合は、https://red.ht/rhel-smt の" ++"る可能性があります。SMT を有効にしておく場合は、 の" + "アーティクルで、潜在的なリスクとこれらリスクの軽減方法を確認してください。" + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "同時マルチスレッディング (SMT) を使用すると、特定のワークロードではパフォーマ" + "ンスが改善されますが、公開済みのセキュリティー問題がもたらされます。SMT は無" + "効にすることもできますが、その場合はパフォーマンスにマイナス影響が出る可能性" +-"があります。潜在的なリスクとこれらリスクの軽減方法については、https://red.ht/" +-"rhel-smt のアーティクルを参照してください。" ++"があります。潜在的なリスクとこれらリスクの軽減方法については、" ++" のアーティクルを参照してください。" + + #: pyanaconda/core/constants.py:206 + msgid "The password is empty." +diff --git a/po/ka.po b/po/ka.po +index 82636bd..9ed78ac 100644 +--- a/po/ka.po ++++ b/po/ka.po +@@ -4002,8 +4002,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4011,8 +4011,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/kk.po b/po/kk.po +index 9a5ccb0..ae25cba 100644 +--- a/po/kk.po ++++ b/po/kk.po +@@ -4422,14 +4422,14 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Бір уақыттағы көпағындық (SMT) технологиясы белгілі бір жұмыс жүктемесін " + "жақсартуға мүмкіндік береді, бірақ бірнеше ашық қауіпсіздік мәселелерін " + "әкеледі. Сізде SMT-ді өшіру мүмкіндігі бар, ол өнімділікке әсер етуі мүмкін. " +-"Егер сіз SMT-ді қалдыруды қаласаңыз, https://red.ht/rhel-smt веб-сайтына " ++"Егер сіз SMT-ді қалдыруды қаласаңыз, веб-сайтына " + "кіріп, мүмкін қауіптеріңізді түсініп, оларды азайтудың басқа жолдары туралы " + "біліңіз." + +@@ -4437,14 +4437,14 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Бір уақыттағы көпағындық (SMT) белгілі бір жұмыс жүктемесін жақсартуы " + "мүмкін, бірақ қауіпсіздікке қатысты бірнеше ашық мәселелерді әкеледі. Сіз " + "SMT-ді өшіре аласыз, ол өнімділікке әсер етуі мүмкін. Мүмкін қауіптерді " +-"түсіну және оларды азайту жолдары туралы білу үшін https://red.ht/rhel-smt " ++"түсіну және оларды азайту жолдары туралы білу үшін " + "веб-сайтын оқып шығыңыз." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/km.po b/po/km.po +index 4a7ce6f..dd962bf 100644 +--- a/po/km.po ++++ b/po/km.po +@@ -4229,8 +4229,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4238,8 +4238,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/kn.po b/po/kn.po +index bc0324a..bee8707 100644 +--- a/po/kn.po ++++ b/po/kn.po +@@ -4314,8 +4314,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4323,8 +4323,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/ko.po b/po/ko.po +index 57890b2..fe22cf0 100644 +--- a/po/ko.po ++++ b/po/ko.po +@@ -4391,28 +4391,28 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "동시 멀티쓰레딩 (SMT) 기술은 특성 워크 로드를 위해 성능 향상을 제공하며, 그러" + "나 여러 공개된 공개 보안 문제가 발생되었습니다. 성능에 영향을 미치는 SMT를 비" + "활성화 할 수 있는 선택이 있습니다. 만약 SMT를 그대로 사용하기로 결정하였다" + "면, 잠재적인 위험을 이해하고 이들 위험을 완화 시키는 다른 방법에 대해 알아보" +-"기 위하여 https://red.ht/rhel-smt를 알아보기 바랍니다." ++"기 위하여 를 알아보기 바랍니다." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "동시 멀티쓰레딩 (SMT)는 특성 워크로드에서 성능을 향상 시킬 수 있으며, 그러나 " + "여러 공개된 공개 보안 문제가 발생되었습니다. 성능에 영향을 미치는 SMT를 비활" + "성화 할 수 있습니다. 잠재적인 위험을 이해하고 이들 위험을 완화 시키는 다른 방" +-"법에 대해 알아보기 위하여 https://red.ht/rhel-smt를 알아보기 바랍니다." ++"법에 대해 알아보기 위하여 를 알아보기 바랍니다." + + #: pyanaconda/core/constants.py:206 + msgid "The password is empty." +diff --git a/po/lt.po b/po/lt.po +index 1f11875..ac4c407 100644 +--- a/po/lt.po ++++ b/po/lt.po +@@ -4427,28 +4427,28 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Daugiagijės veiksenos (SMT) technologija gali kai kuriais atvejais pagerinti " + "našumą, tačiau dėl jos kyla keletas viešai atskleistų saugumo problemų. " + "Galite išjungti SMT, dėl ko gali kristi našumas. Jei nuspręsite palikti SMT " +-"įjungtą, perskaitykite https://red.ht/rhel-smt, kad suprastumėte rizikas ir " ++"įjungtą, perskaitykite , kad suprastumėte rizikas ir " + "sužinotumėte, kaip jų galima išvengti." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Daugiagijės veiksenos (SMT) technologija gali kai kuriais atvejais pagerinti " + "našumą, tačiau dėl jos kyla keletas viešai atskleistų saugumo problemų. " +-"Galite išjungti SMT, dėl ko gali kristi našumas. Perskaitykite https://red." +-"ht/rhel-smt, kad suprastumėte rizikas ir sužinotumėte, kaip jų galima " ++"Galite išjungti SMT, dėl ko gali kristi našumas. Perskaitykite " ++", kad suprastumėte rizikas ir sužinotumėte, kaip jų galima " + "išvengti." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/lv.po b/po/lv.po +index 6e7af4d..b09bb17 100644 +--- a/po/lv.po ++++ b/po/lv.po +@@ -4014,8 +4014,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4023,8 +4023,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/mai.po b/po/mai.po +index 2d6877a..47b0a5a 100644 +--- a/po/mai.po ++++ b/po/mai.po +@@ -3992,8 +3992,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4001,8 +4001,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/mk.po b/po/mk.po +index 34a1841..cca3723 100644 +--- a/po/mk.po ++++ b/po/mk.po +@@ -3980,8 +3980,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3989,8 +3989,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/ml.po b/po/ml.po +index 89aa10a..a97e8a3 100644 +--- a/po/ml.po ++++ b/po/ml.po +@@ -4151,8 +4151,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4160,8 +4160,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/mr.po b/po/mr.po +index 7ac1ee3..6b88d2b 100644 +--- a/po/mr.po ++++ b/po/mr.po +@@ -4194,8 +4194,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4203,8 +4203,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/ms.po b/po/ms.po +index d61cca1..88bb0b4 100644 +--- a/po/ms.po ++++ b/po/ms.po +@@ -3972,8 +3972,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3981,8 +3981,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/my.po b/po/my.po +index dcac5a6..1cb2c1e 100644 +--- a/po/my.po ++++ b/po/my.po +@@ -3999,8 +3999,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4008,8 +4008,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/nb.po b/po/nb.po +index 0c23827..10cc6cc 100644 +--- a/po/nb.po ++++ b/po/nb.po +@@ -4270,8 +4270,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4279,8 +4279,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/nds.po b/po/nds.po +index 3a574de..e552fb9 100644 +--- a/po/nds.po ++++ b/po/nds.po +@@ -3974,8 +3974,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3983,8 +3983,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/ne.po b/po/ne.po +index 8d70c31..d3446de 100644 +--- a/po/ne.po ++++ b/po/ne.po +@@ -3977,8 +3977,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3986,8 +3986,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/nl.po b/po/nl.po +index 4b5a281..ddcd7b2 100644 +--- a/po/nl.po ++++ b/po/nl.po +@@ -4500,15 +4500,15 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Simultaneous Multithreading (SMT)-technologie kan prestatieverbeteringen " + "bieden voor bepaalde werkbelastingen, maar introduceert verschillende " + "openbaar gemaakte beveiligingsproblemen. Je kunt SMT uitschakelen, wat de " + "prestaties kan beïnvloeden. Als je ervoor kiest om SMT ingeschakeld te " +-"laten, lees dan https://red.ht/rhel-smt om je potentiële risico's te " ++"laten, lees dan om je potentiële risico's te " + "begrijpen en meer te weten te komen over andere manieren om deze risico's te " + "verminderen." + +@@ -4516,14 +4516,14 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Simultaneous Multithreading (SMT) kan de prestaties voor bepaalde " + "werkbelastingen verbeteren, maar introduceert verschillende openbaar " + "gemaakte beveiligingsproblemen. Je kunt SMT uitschakelen, wat de prestaties " +-"kan beïnvloeden. Lees https://red.ht/rhel-smt om mogelijke risico's te " ++"kan beïnvloeden. Lees om mogelijke risico's te " + "begrijpen en meer te weten te komen over manieren om deze risico's te " + "verminderen." + +diff --git a/po/nn.po b/po/nn.po +index c13e81b..b1604d1 100644 +--- a/po/nn.po ++++ b/po/nn.po +@@ -4002,8 +4002,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4011,8 +4011,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/nso.po b/po/nso.po +index 9cb454a..bb96fc8 100644 +--- a/po/nso.po ++++ b/po/nso.po +@@ -3976,8 +3976,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3985,8 +3985,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/or.po b/po/or.po +index 9fd8a84..8bfba74 100644 +--- a/po/or.po ++++ b/po/or.po +@@ -4158,8 +4158,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4167,8 +4167,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/pa.po b/po/pa.po +index 13e5cbe..df89be3 100644 +--- a/po/pa.po ++++ b/po/pa.po +@@ -4139,8 +4139,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4148,8 +4148,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/pl.po b/po/pl.po +index 562ddaa..f8bad7b 100644 +--- a/po/pl.po ++++ b/po/pl.po +@@ -4510,29 +4510,29 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Technologia wielowątkowości współbieżnej (SMT) może zwiększyć wydajność " + "w pewnych zastosowaniach, ale powoduje kilka publicznie znanych problemów " + "z bezpieczeństwem. Dostępna jest możliwość wyłączenia SMT, co może wpłynąć " + "na wydajność. Jeśli wybrano działanie z włączonym SMT, to proszę przeczytać " +-"https://red.ht/rhel-smt, aby zrozumieć potencjalne zagrożenia i poznać inne " ++", aby zrozumieć potencjalne zagrożenia i poznać inne " + "sposoby na ich zmniejszenie." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Wielowątkowość współbieżna (SMT) może zwiększyć wydajność w pewnych " + "zastosowaniach, ale powoduje kilka publicznie znanych problemów " + "z bezpieczeństwem. Można ją wyłączyć, co może wpłynąć na wydajność. Proszę " +-"przeczytać https://red.ht/rhel-smt, aby zrozumieć potencjalne zagrożenia " ++"przeczytać , aby zrozumieć potencjalne zagrożenia " + "i poznać sposoby na ich zmniejszenie." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/pt.po b/po/pt.po +index b009c23..8c86fd0 100644 +--- a/po/pt.po ++++ b/po/pt.po +@@ -4455,29 +4455,29 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "A tecnologia Simultaneous Multithreading (SMT) pode fornecer aprimoramentos " + "de desempenho para determinadas cargas de trabalho, mas apresenta vários " + "problemas de segurança divulgados publicamente. Tem a opção de a desativar, " + "o que pode afetar o desempenho. Se optar por a deixar ativada, ler https://" +-"red.ht/rhel-smt para entender seus riscos potenciais e aprender dinstintas " ++" para entender seus riscos potenciais e aprender dinstintas " + "maneiras de os mitigar." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "A tecnologia Simultaneous Multithreading (SMT) pode melhorar o desempenho de " + "determinadas cargas de trabalho, mas apresenta vários problemas de segurança " + "divulgados publicamente. Pode a desativar, o que há de afetar o desempenho. " +-"Ler https://red.ht/rhel-smt para entender os riscos potenciais e aprender " ++"Ler para entender os riscos potenciais e aprender " + "distintas maneiras de os mitigar." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/pt_BR.po b/po/pt_BR.po +index 0c31077..7a2663d 100644 +--- a/po/pt_BR.po ++++ b/po/pt_BR.po +@@ -4529,29 +4529,29 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "A tecnologia Simultaneous Multithreading (SMT) pode fornecer aprimoramentos " + "de desempenho para determinadas cargas de trabalho, mas apresenta vários " + "problemas de segurança divulgados publicamente. Você tem a opção de " + "desativar o SMT, o que pode afetar o desempenho. Se você optar por deixar o " +-"SMT ativado, leia https://red.ht/rhel-smt para entender seus riscos " ++"SMT ativado, leia para entender seus riscos " + "potenciais e aprender sobre outras maneiras de mitigar esses riscos." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "A tecnologia Simultaneous Multithreading (SMT) pode melhorar o desempenho de " + "determinadas cargas de trabalho, mas apresenta vários problemas de segurança " + "divulgados publicamente. Você pode desativar o SMT, o que pode afetar o " +-"desempenho. Leia https://red.ht/rhel-smt para entender os riscos potenciais " ++"desempenho. Leia para entender os riscos potenciais " + "e aprender sobre maneiras de mitigar esses riscos." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/ro.po b/po/ro.po +index 3c6efb4..5c3cc3c 100644 +--- a/po/ro.po ++++ b/po/ro.po +@@ -4580,8 +4580,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4589,8 +4589,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/ru.po b/po/ru.po +index eac4954..879f49a 100644 +--- a/po/ru.po ++++ b/po/ru.po +@@ -4490,29 +4490,29 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Технология одновременной многопоточности (SMT) может обеспечить повышение " + "производительности при определенных рабочих нагрузках, но привносит " + "несколько известных проблем безопасности. Вы можете отключить SMT, что может " + "повлиять на производительность. Если вы решите оставить SMT включенным, " +-"прочитайте https://red.ht/rhel-smt для понимания потенциальных рисков и " ++"прочитайте для понимания потенциальных рисков и " + "чтобы узнать о других способах снижения этих рисков." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Одновременная многопоточность (SMT) может увеличить производительность при " + "определенных рабочих нагрузках, но привносит несколько известных проблем " + "безопасности. Можно отключить SMT, что может повлиять на производительность. " +-"Прочитайте https://red.ht/rhel-smt для понимания потенциальных рисков и " ++"Прочитайте для понимания потенциальных рисков и " + "чтобы узнать о способах снижения этих рисков." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/si.po b/po/si.po +index d60a2aa..21b82f3 100644 +--- a/po/si.po ++++ b/po/si.po +@@ -4004,8 +4004,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4013,8 +4013,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/sk.po b/po/sk.po +index cde29a6..052f024 100644 +--- a/po/sk.po ++++ b/po/sk.po +@@ -4457,14 +4457,14 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Technológia Simultaneous Multithreading (SMT) môže poskytnúť zlepšenie " + "výkonu pre určité pracovné úlohy, ale zavádza niekoľko verejne dostupných " + "bezpečnostných chýb. Máte možnosť SMT zakázať, čo však môže mať dopad na " +-"výkon. Ak ponecháte SMT povolené, prečítajte si prosím https://red.ht/rhel-" ++"výkon. Ak ponecháte SMT povolené, prečítajte si prosím " + "smt pre pochopenie potenciálnych rizík a zoznámenie sa s ďalšími spôsobmi, " + "ako znížiť tieto riziká." + +@@ -4472,14 +4472,14 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Simultaneous Multithreading (SMT) môže zlepšiť výkon pre určité pracovné " + "úlohy, ale zavádza niekoľko verejne dostupných bezpečnostných chýb. Máte " + "možnosť SMT zakázať, čo však môže mať dopad na výkon. Prečítajte si prosím " +-"https://red.ht/rhel-smt pre pochopenie potenciálnych rizík a zoznámenie sa s " ++" pre pochopenie potenciálnych rizík a zoznámenie sa s " + "ďalšími spôsobmi, ako znížiť tieto riziká." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/sl.po b/po/sl.po +index a8401af..00d4e75 100644 +--- a/po/sl.po ++++ b/po/sl.po +@@ -3987,8 +3987,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3996,8 +3996,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/sq.po b/po/sq.po +index 6e38d7a..0c140ad 100644 +--- a/po/sq.po ++++ b/po/sq.po +@@ -4522,8 +4522,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4531,8 +4531,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/sr.po b/po/sr.po +index 169c972..c08dce0 100644 +--- a/po/sr.po ++++ b/po/sr.po +@@ -4468,8 +4468,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4477,8 +4477,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/sr@latin.po b/po/sr@latin.po +index 43390c2..7203dcb 100644 +--- a/po/sr@latin.po ++++ b/po/sr@latin.po +@@ -3996,8 +3996,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4005,8 +4005,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/sv.po b/po/sv.po +index d230f0f..ddcf5ae 100644 +--- a/po/sv.po ++++ b/po/sv.po +@@ -4450,29 +4450,29 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Tekniken för samtidig multitrådning (Simultaneous Multithreading, SMT) kan " + "ge prestandaförbättringar för vissa arbetslaster, men introducerar flera " + "allmänt kända säkerhetsproblem. Du har möjligheten att avaktivera SMT, " + "vilken kan påverka prestandan. Om du väljer att låta SMT vara aktiverat, läs " +-"https://red.ht/rhel-smt för att förstå de potentiella riskerna och få reda " ++" för att förstå de potentiella riskerna och få reda " + "på andra sätt att begränsa dessa risker." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Samtidig multitrådning (Simultaneous Multithreading, SMT) kan förbättra " + "prestandan för vissa arbetslaster, men introducerar flera allmänt kända " + "säkerhetsproblem. Du kan avaktivera SMT, vilken kan påverka prestandan. Läs " +-"https://red.ht/rhel-smt för att förstå de potentiella riskerna och få reda " ++" för att förstå de potentiella riskerna och få reda " + "på sätt att begränsa dessa risker." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/ta.po b/po/ta.po +index 0e437a5..2fb7ac1 100644 +--- a/po/ta.po ++++ b/po/ta.po +@@ -4369,8 +4369,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4378,8 +4378,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/te.po b/po/te.po +index 6b1b1e1..508be3e 100644 +--- a/po/te.po ++++ b/po/te.po +@@ -4139,8 +4139,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4148,8 +4148,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/tg.po b/po/tg.po +index 215f7f8..fac3ae1 100644 +--- a/po/tg.po ++++ b/po/tg.po +@@ -3973,8 +3973,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3982,8 +3982,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/th.po b/po/th.po +index 7ab094f..f0f7b62 100644 +--- a/po/th.po ++++ b/po/th.po +@@ -4046,8 +4046,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4055,8 +4055,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/tr.po b/po/tr.po +index dd11d92..04c1c8e 100644 +--- a/po/tr.po ++++ b/po/tr.po +@@ -4448,8 +4448,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Eş Zamanlı Çoklu Kullanım (Simultaneous Multithreading - SMT) teknolojisi, " +@@ -4457,15 +4457,15 @@ msgstr "" + "kamuya açıklanmış birkaç güvenlik sorunu ortaya çıkarır. SMT'yi devre dışı " + "bırakma seçeneğiniz vardır, bu performansı etkileyebilir. SMT'yi etkin " + "bırakmayı seçerseniz, potansiyel risklerinizi anlamak ve bu riskleri " +-"azaltmanın diğer yollarını öğrenmek için lütfen https://red.ht/rhel-smt " ++"azaltmanın diğer yollarını öğrenmek için lütfen " + "sayfasını okuyun." + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Eş Zamanlı Çoklu Kullanım (Simultaneous Multithreading - SMT), belirli iş " +@@ -4473,7 +4473,7 @@ msgstr "" + "açıklanmış birkaç güvenlik sorunu ortaya çıkarır. SMT'yi devre dışı " + "bırakabilirsiniz, bu performansı etkileyebilir. Potansiyel risklerinizi " + "anlamak ve bu riskleri azaltmanın diğer yollarını öğrenmek için lütfen " +-"https://red.ht/rhel-smt sayfasını okuyun." ++" sayfasını okuyun." + + #: pyanaconda/core/constants.py:206 + msgid "The password is empty." +diff --git a/po/uk.po b/po/uk.po +index ce54783..c36b3ec 100644 +--- a/po/uk.po ++++ b/po/uk.po +@@ -4515,15 +4515,15 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "Технологія паралельної багатопотокової обробки даних (SMT) може пришвидшити " + "роботу комп'ютера під час виконання деяких завдань, однак її реалізовано із " + "декількома загальновідомими вадами у захисті даних. Ви можете вимкнути SMT, " + "що може призвести до зниження швидкодії. Якщо ви не вимикатимете SMT, будь " +-"ласка, ознайомтеся із https://red.ht/rhel-smt , щоб краще розуміти " ++"ласка, ознайомтеся із , щоб краще розуміти " + "потенційні проблеми та дізнатися про інші способи зменшення загрози від цих " + "проблем." + +@@ -4531,15 +4531,15 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "Технологія паралельної багатопотокової обробки даних (SMT) може пришвидшити " + "роботу комп'ютера під час виконання деяких завдань, однак її реалізовано із " + "декількома загальновідомими вадами у захисті даних. Ви можете вимкнути SMT, " + "що може призвести до зниження швидкодії. Будь ласка, ознайомтеся із https://" +-"red.ht/rhel-smt , щоб краще розуміти потенційні проблеми та дізнатися про " ++" , щоб краще розуміти потенційні проблеми та дізнатися про " + "інші способи зменшення загрози від цих проблем." + + #: pyanaconda/core/constants.py:206 +diff --git a/po/ur.po b/po/ur.po +index b131e09..6774fbd 100644 +--- a/po/ur.po ++++ b/po/ur.po +@@ -3978,8 +3978,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3987,8 +3987,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/vi.po b/po/vi.po +index 0a46e54..13eeccf 100644 +--- a/po/vi.po ++++ b/po/vi.po +@@ -3970,8 +3970,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3979,8 +3979,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/zh_CN.po b/po/zh_CN.po +index 04d5a2f..584d79f 100644 +--- a/po/zh_CN.po ++++ b/po/zh_CN.po +@@ -4280,26 +4280,26 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "同步多线程(SMT)技术可以为某些工作负载提供性能改进,但也会引入几个已披露的安" + "全问题。您可以选择禁用 SMT,但这可能会对性能造成一些影响。如果您选择启用 " +-"SMT,请参阅 https://red.ht/rhel-smt 以了解相关的潜在风险,以及如何缓解这些风" ++"SMT,请确保了解相关的潜在风险,以及如何缓解这些风" + "险。" + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "同步多线程(SMT)技术可以为某些工作负载提供性能改进,但也会引入几个已披露的安" +-"全问题。您可以选择禁用 SMT,但这可能会对性能造成一些影响。请参阅 https://red." +-"ht/rhel-smt 以了解相关的潜在风险,以及如何缓解这些风险。" ++"全问题。您可以选择禁用 SMT,但这可能会对性能造成一些影响。请确保" ++"了解相关的潜在风险,以及如何缓解这些风险。" + + #: pyanaconda/core/constants.py:206 + msgid "The password is empty." +diff --git a/po/zh_HK.po b/po/zh_HK.po +index 28690ec..5a8fc1e 100644 +--- a/po/zh_HK.po ++++ b/po/zh_HK.po +@@ -4045,8 +4045,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -4054,8 +4054,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/po/zh_TW.po b/po/zh_TW.po +index 0520258..5d7380e 100644 +--- a/po/zh_TW.po ++++ b/po/zh_TW.po +@@ -4278,24 +4278,24 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + "同步多線程(SMT)技術可以為某些工作負載提供性能改進,但會引入一些公開披露的安" + "全問題。您可以選擇禁用SMT,這可能會影響性能。如果您選擇啟用SMT,請閱讀" +-"https://red.ht/rhel-smt以了解您的潛在風險並了解其他減輕這些風險的方法。" ++"以了解您的潛在風險並了解其他減輕這些風險的方法。" + + #: pyanaconda/core/constants.py:190 + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + "同時多線程(SMT)可以提高某些工作負載的性能,但會引入一些公開披露的安全問題。" +-"您可以禁用SMT,這可能會影響性能。請閱讀https://red.ht/rhel-smt以了解潛在風險" ++"您可以禁用SMT,這可能會影響性能。請閱讀以了解潛在風險" + "並了解減輕這些風險的方法。" + + #: pyanaconda/core/constants.py:206 +diff --git a/po/zu.po b/po/zu.po +index 585724e..423a101 100644 +--- a/po/zu.po ++++ b/po/zu.po +@@ -3975,8 +3975,8 @@ msgid "" + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which may " +-"impact performance. If you choose to leave SMT enabled, please read https://" +-"red.ht/rhel-smt to understand your potential risks and learn about other " ++"impact performance. If you choose to leave SMT enabled, please ensure " ++"understand your potential risks and learn about other " + "ways to mitigate these risks." + msgstr "" + +@@ -3984,8 +3984,8 @@ msgstr "" + msgid "" + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. You " +-"can disable SMT, which may impact performance. Please read https://red.ht/" +-"rhel-smt to understand potential risks and learn about ways to mitigate " ++"can disable SMT, which may impact performance. Please ensure " ++"understand potential risks and learn about ways to mitigate " + "these risks." + msgstr "" + +diff --git a/pyanaconda/core/constants.py b/pyanaconda/core/constants.py +index 0ab2627..5d808a2 100644 +--- a/pyanaconda/core/constants.py ++++ b/pyanaconda/core/constants.py +@@ -180,8 +180,8 @@ WARNING_SMT_ENABLED_GUI = N_( + "Simultaneous Multithreading (SMT) technology can provide performance " + "improvements for certain workloads, but introduces several publicly " + "disclosed security issues. You have the option of disabling SMT, which " +- "may impact performance. If you choose to leave SMT enabled, please read " +- "https://red.ht/rhel-smt to understand your potential risks and learn " ++ "may impact performance. If you choose to leave SMT enabled, please ensure " ++ "understand your potential risks and learn " + "about other ways to mitigate these risks." + ) + +@@ -189,8 +189,8 @@ WARNING_SMT_ENABLED_GUI = N_( + WARNING_SMT_ENABLED_TUI = N_( + "Simultaneous Multithreading (SMT) may improve performance for certain " + "workloads, but introduces several publicly disclosed security issues. " +- "You can disable SMT, which may impact performance. Please read " +- "https://red.ht/rhel-smt to understand potential risks and learn about " ++ "You can disable SMT, which may impact performance. Please ensure " ++ "understand potential risks and learn about " + "ways to mitigate these risks." + ) + diff --git a/anaconda.spec b/anaconda.spec index f5290d3b802f285fbab2b611ffa28f234636be81..c686b6bda6943d9983deb3e915def91de8fda15f 100644 --- a/anaconda.spec +++ b/anaconda.spec @@ -1,7 +1,8 @@ +%define anolis_release .0.2 Summary: Graphical system installer Name: anaconda Version: 33.16.7.12 -Release: 1%{?dist} +Release: 1%{anolis_release}%{?dist} License: GPLv2+ and MIT URL: http://fedoraproject.org/wiki/Anaconda @@ -11,6 +12,20 @@ URL: http://fedoraproject.org/wiki/Anaconda # ./autogen.sh # make dist Source0: %{name}-%{version}.tar.bz2 +Source1: kernel-repo.ks + +# Begin of Anolis patches +Patch0001: 0001-install-rebrand-to-anolis.patch +Patch0002: 0002-install-localization.patch +Patch0003: 0003-install-remove-system-purpose-components.patch +Patch0004: 0004-install-remove-CDN.patch +Patch0005: 0005-install-add-anolis-install-files.patch +Patch0006: 0006-install-add-loongarch-platform-support.patch +Patch0007: 0007-install-fix-anolis-bootloader.patch +Patch0008: 0008-install-fix-kernel-spoke-notify.patch +Patch0009: 0001-add-BOOTLOONGARCH64.EFI-for-anaconda-to-support-new-firmware.patch +Patch0010: 0009-Fix-smt-description.patch +# End of Anolis patches # Versions of required components (done so we make sure the buildrequires # match the requires versions of things). @@ -101,10 +116,6 @@ Requires: python3-systemd Requires: python3-productmd Requires: python3-dasbus >= %{dasbusver} Requires: flatpak-libs -%if %{defined rhel} && %{undefined centos} -Requires: python3-syspurpose -Requires: subscription-manager >= 1.28.26 -%endif # pwquality only "recommends" the dictionaries it needs to do anything useful, # which is apparently great for containers but unhelpful for the rest of us @@ -277,6 +288,10 @@ find %{buildroot} -type f -name "*.la" | xargs %{__rm} # Create an empty directory for addons mkdir %{buildroot}%{_datadir}/anaconda/addons +# Create an empty directory for post-scripts +cp %{SOURCE1} %{buildroot}%{_datadir}/anaconda/post-scripts + + # required for live installations desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/liveinst.desktop @@ -367,6 +382,25 @@ desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{buildroot}%{_d %{_prefix}/libexec/anaconda/dd_* %changelog +* Fri Dec 23 2022 Chang Gao - 33.16.7.12-1.0.2 +- Add post snippets in post-scripts + +* Tue Nov 15 2022 Liwei Ge - 33.16.7.12-1.0.1 +- Rebrand the smt warning description +- add BOOTLOONGARCH64.EFI to support new firmware +- Fix installer exception with no swap part + Bugzilla: 1304 +- Fix boot.iso exception with no baseos repo + Bugzilla: 1325 +- Set the default language to Chinese and default timezone to Shanghai +- Fix kernel spoke notify +- Remove subscription requires +- Fix anolis bootloader +- Add support for loongarch +- Add anolis install files +- Remove subscription and CDN +- Rebrand to Anolis + * Wed Sep 14 2022 Vendula Poncova - 33.16.7.12-1 - Pull in fixed translations (vponcova) Resolves: rhbz#2062676 diff --git a/kernel-repo.ks b/kernel-repo.ks new file mode 100644 index 0000000000000000000000000000000000000000..65f66936ef8790c39ccfb30aac1f6d78714c4c59 --- /dev/null +++ b/kernel-repo.ks @@ -0,0 +1,19 @@ +# do authselect init pam + +%post + +if [[ `uname -r` =~ "5.10".* ]];then + if [[ -f /etc/yum.repos.d/AnolisOS-kernel-5.10.repo ]];then + sed -i "s/enabled=0/enabled=1/g" /etc/yum.repos.d/AnolisOS-kernel-5.10.repo + fi + sed -i 's/crashkernel=auto/crashkernel=0M-2G:0M,2G-8G:192M,8G-:256M/g' /etc/default/grub +elif [[ `uname -r` =~ "4.19".* ]];then + if [[ -f /etc/yum.repos.d/AnolisOS-Plus.repo ]];then + sed -i "s/enabled=0/enabled=1/g" /etc/yum.repos.d/AnolisOS-Plus.repo + fi + sed -i 's/crashkernel=auto/crashkernel=0M-2G:0M,2G-8G:192M,8G-:256M/g' /etc/default/grub +fi + +%end + +