init commit
This commit is contained in:
commit
024bf2ec6a
80
Support-configuration-of-additional-boot-arguments.patch
Normal file
80
Support-configuration-of-additional-boot-arguments.patch
Normal file
@ -0,0 +1,80 @@
|
||||
From 65258a808a703de25f790b2cb5aff8e734228ad1 Mon Sep 17 00:00:00 2001
|
||||
From: Qiumiao Zhang <zhangqiumiao1@huawei.com>
|
||||
Date: Mon, 7 Nov 2022 11:33:53 +0800
|
||||
Subject: [PATCH] Support configuration of additional boot arguments
|
||||
|
||||
---
|
||||
data/anaconda.conf | 2 ++
|
||||
pyanaconda/argument_parsing.py | 2 +-
|
||||
pyanaconda/core/configuration/bootloader.py | 8 ++++++++
|
||||
pyanaconda/modules/storage/bootloader/base.py | 5 +++++
|
||||
4 files changed, 16 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/anaconda.conf b/data/anaconda.conf
|
||||
index 703114a..b80440e 100644
|
||||
--- a/data/anaconda.conf
|
||||
+++ b/data/anaconda.conf
|
||||
@@ -159,6 +159,8 @@ preserved_arguments =
|
||||
biosdevname ipv6.disable net.ifnames net.ifnames.prefix
|
||||
nosmt
|
||||
|
||||
+# Arguments added by default.
|
||||
+additional_arguments =
|
||||
|
||||
[Storage]
|
||||
# Enable dmraid usage during the installation.
|
||||
diff --git a/pyanaconda/argument_parsing.py b/pyanaconda/argument_parsing.py
|
||||
index 75f28f4..dd5ecdf 100644
|
||||
--- a/pyanaconda/argument_parsing.py
|
||||
+++ b/pyanaconda/argument_parsing.py
|
||||
@@ -589,7 +589,7 @@ def getArgumentParser(version_string, boot_cmdline=None):
|
||||
|
||||
# some defaults change based on cmdline flags
|
||||
if boot_cmdline is not None:
|
||||
- if "console" in boot_cmdline:
|
||||
+ if "console" in boot_cmdline and "inst.text" in boot_cmdline:
|
||||
ap.set_defaults(display_mode=DisplayModes.TUI)
|
||||
|
||||
return ap
|
||||
diff --git a/pyanaconda/core/configuration/bootloader.py b/pyanaconda/core/configuration/bootloader.py
|
||||
index 6746e45..7b782d3 100644
|
||||
--- a/pyanaconda/core/configuration/bootloader.py
|
||||
+++ b/pyanaconda/core/configuration/bootloader.py
|
||||
@@ -69,3 +69,11 @@ class BootloaderSection(Section):
|
||||
:return: a list of kernel arguments
|
||||
"""
|
||||
return self._get_option("preserved_arguments", str).split()
|
||||
+
|
||||
+ @property
|
||||
+ def additional_arguments(self):
|
||||
+ """Arguments added by default.
|
||||
+
|
||||
+ :return: a list of kernel arguments
|
||||
+ """
|
||||
+ return self._get_option("additional_arguments", str).split()
|
||||
diff --git a/pyanaconda/modules/storage/bootloader/base.py b/pyanaconda/modules/storage/bootloader/base.py
|
||||
index be039c4..533d528 100644
|
||||
--- a/pyanaconda/modules/storage/bootloader/base.py
|
||||
+++ b/pyanaconda/modules/storage/bootloader/base.py
|
||||
@@ -734,6 +734,7 @@ class BootLoader(object):
|
||||
self._set_extra_boot_args(bootloader_proxy)
|
||||
self._set_storage_boot_args(storage)
|
||||
self._preserve_some_boot_args()
|
||||
+ self._add_additional_boot_args()
|
||||
self._set_graphical_boot_args()
|
||||
self._set_security_boot_args()
|
||||
|
||||
@@ -908,6 +909,10 @@ class BootLoader(object):
|
||||
|
||||
self.boot_args.add(new_arg)
|
||||
|
||||
+ def _add_additional_boot_args(self):
|
||||
+ for opt in conf.bootloader.additional_arguments:
|
||||
+ self.boot_args.add(opt)
|
||||
+
|
||||
def _set_graphical_boot_args(self):
|
||||
"""Set up the graphical boot."""
|
||||
args = []
|
||||
--
|
||||
2.19.1
|
||||
|
||||
45
add-passwd-policy.patch
Normal file
45
add-passwd-policy.patch
Normal file
@ -0,0 +1,45 @@
|
||||
From 3562cad5ea86afc5d2ce0ead649e64cf13e39128 Mon Sep 17 00:00:00 2001
|
||||
From: sun_hai_10 <sunhai10@huawei.com>
|
||||
Date: Mon, 7 Nov 2022 14:48:28 +0800
|
||||
Subject: [PATCH] add passwd policy
|
||||
|
||||
---
|
||||
data/anaconda.conf | 6 +++---
|
||||
pyanaconda/input_checking.py | 4 ++++
|
||||
2 files changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/data/anaconda.conf b/data/anaconda.conf
|
||||
index 703114a..07e500f 100644
|
||||
--- a/data/anaconda.conf
|
||||
+++ b/data/anaconda.conf
|
||||
@@ -308,9 +308,9 @@ can_change_users = False
|
||||
# strict Require the minimum quality.
|
||||
#
|
||||
password_policies =
|
||||
- root (quality 1, length 6)
|
||||
- user (quality 1, length 6, empty)
|
||||
- luks (quality 1, length 6)
|
||||
+ root (quality 1, length 8, strict)
|
||||
+ user (quality 1, length 8, empty, strict)
|
||||
+ luks (quality 1, length 8, strict)
|
||||
|
||||
|
||||
[License]
|
||||
diff --git a/pyanaconda/input_checking.py b/pyanaconda/input_checking.py
|
||||
index 4482b26..4bed6c1 100644
|
||||
--- a/pyanaconda/input_checking.py
|
||||
+++ b/pyanaconda/input_checking.py
|
||||
@@ -421,6 +421,10 @@ class PasswordValidityCheck(InputCheck):
|
||||
pw_score = 4
|
||||
status_text = _(constants.SecretStatus.STRONG.value)
|
||||
|
||||
+ #disable set password without confirnation
|
||||
+ if not error_message and not check_request.password_confirmation:
|
||||
+ error_message = _(constants.SECRET_CONFIRM_ERROR_GUI[check_request.secret_type])
|
||||
+
|
||||
# the policy influences the overall success of the check
|
||||
# - score 0 & strict == True -> success = False
|
||||
# - score 0 & strict == False -> success = True
|
||||
--
|
||||
2.23.0
|
||||
|
||||
BIN
anaconda-36.16.5.tar.bz2
Normal file
BIN
anaconda-36.16.5.tar.bz2
Normal file
Binary file not shown.
749
anaconda.spec
Normal file
749
anaconda.spec
Normal file
@ -0,0 +1,749 @@
|
||||
%define _empty_manifest_terminate_build 0
|
||||
%define _vendor {os_name}
|
||||
Name: anaconda
|
||||
Version: 36.16.5
|
||||
Release: 11
|
||||
Summary: Graphical system installer
|
||||
License: GPLv2+ and MIT
|
||||
URL: http://fedoraproject.org/wiki/Anaconda
|
||||
Source0: https://github.com/rhinstaller/%{name}/releases/download/%{name}-%{version}-1/%{name}-%{version}.tar.bz2
|
||||
Source1: {os_name}.conf
|
||||
Source2: euleros.conf
|
||||
Source3: hce.conf
|
||||
Source4: disable-disk-encryption.patch
|
||||
|
||||
Patch9000: add-passwd-policy.patch
|
||||
Patch9001: bugfix-GUI-nfs-unknown-error.patch
|
||||
Patch9002: bugfix-set-up-LD_PRELOAD-for-the-Storage-and-Services-module.patch
|
||||
Patch9003: bugfix-Solve-the-problem-that-the-circular-loading-progress-bar-does-not-rotate.patch
|
||||
Patch9004: change-inst-repo-default-value.patch
|
||||
%if ! 0%{?openEuler}
|
||||
Patch9005: disable-disk-encryption.patch
|
||||
%endif
|
||||
Patch9006: disable-ssh-login-checkbox.patch
|
||||
Patch9007: fix-hostname-info.patch
|
||||
Patch9008: hide-help-button.patch
|
||||
Patch9009: modify-interface-is-extended-in-Chinese-mode.patch
|
||||
Patch9010: modify-timezone-and-delete-datezone-map.patch
|
||||
Patch9011: remove-vender-issue-in-netdev.patch
|
||||
Patch9012: Support-configuration-of-additional-boot-arguments.patch
|
||||
Patch9013: support-use-sm3-crypt-user-password.patch
|
||||
Patch9014: bugfix-with-use-local-kickstart-version.patch
|
||||
Patch9015: bugfix-change-gnome-kiosk-to-use-metacity.patch
|
||||
Patch9016: bugfix-add-log-and-background.patch
|
||||
Patch9017: bugfix-add-SM3-with-tui.patch
|
||||
Patch9018: bugfix-change-product-name-do-not-with-upper.patch
|
||||
Patch9019: bugfix-adapt-active-connection-without-interface-name.patch
|
||||
|
||||
%define dasbusver 1.3
|
||||
%define dbusver 1.2.3
|
||||
%define dnfver 3.6.0
|
||||
%define dracutver 034-7
|
||||
%define gettextver 0.19.8
|
||||
%define gtk3ver 3.22.17
|
||||
%define isomd5sumver 1.0.10
|
||||
%define langtablever 0.0.54
|
||||
%define libarchivever 3.0.4
|
||||
%define libblockdevver 2.1
|
||||
%define libxklavierver 5.4
|
||||
%define mehver 0.23-1
|
||||
%define nmver 1.0
|
||||
%define pykickstartver 3.32-1
|
||||
%define pypartedver 2.5-2
|
||||
%define pythonblivetver 1:3.4.0-1
|
||||
%define rpmver 4.15.0
|
||||
%define simplelinever 1.1-1
|
||||
%define utillinuxver 2.15.1
|
||||
BuildRequires: python3-pygments
|
||||
|
||||
BuildRequires: audit-libs-devel libtool gettext-devel >= %{gettextver} gtk3-devel >= %{gtk3ver}
|
||||
BuildRequires: gtk-doc gtk3-devel-docs >= %{gtk3ver} glib2-doc gobject-introspection-devel
|
||||
BuildRequires: glade-devel libgnomekbd-devel libxklavier-devel >= %{libxklavierver} pango-devel
|
||||
BuildRequires: make
|
||||
BuildRequires: python3-kickstart >= %{pykickstartver} python3-devel systemd
|
||||
BuildRequires: rpm-devel >= %{rpmver} libarchive-devel >= %{libarchivever} gdk-pixbuf2-devel
|
||||
BuildRequires: libxml2
|
||||
BuildRequires: gsettings-desktop-schemas metacity
|
||||
|
||||
Requires: anaconda-core = %{version}-%{release}
|
||||
Requires: anaconda-tui = %{version}-%{release}
|
||||
Requires: libblockdev-plugins-all >= %{libblockdevver} realmd isomd5sum >= %{isomd5sumver}
|
||||
Requires: kexec-tools createrepo_c tmux gdb rsync python3-meh-gui >= %{mehver}
|
||||
Requires: adwaita-icon-theme python3-kickstart
|
||||
Requires: tigervnc-server-minimal libxklavier >= %{libxklavierver} libgnomekbd
|
||||
Requires: nm-connection-editor keybinder3 system-logos
|
||||
Requires: python3
|
||||
BuildRequires: desktop-file-utils
|
||||
Requires: zenity
|
||||
|
||||
Provides: anaconda-gui = %{version}-%{release}
|
||||
Obsoletes: anaconda-gui < %{version}-%{release}
|
||||
|
||||
Provides: anaconda-widgets = %{version}-%{release}
|
||||
Obsoletes: anaconda-widgets < %{version}-%{release}
|
||||
|
||||
Provides: anaconda-install-env-deps = %{version}-%{release}
|
||||
Obsoletes: anaconda-install-env-deps < %{version}-%{release}
|
||||
|
||||
%description
|
||||
The anaconda package is a metapackage for the Anaconda installer.
|
||||
|
||||
%package core
|
||||
Summary: Core of the Anaconda installer
|
||||
Requires: python3-libs python3-dnf >= %{dnfver} python3-blivet >= %{pythonblivetver}
|
||||
Requires: python3-blockdev >= %{libblockdevver} rpm-python3 >= %{rpmver} python3-productmd
|
||||
Requires: libreport-anaconda >= 2.0.21-1 libselinux-python3 python3-meh >= %{mehver}
|
||||
Requires: python3-pyparted >= %{pypartedver} python3-requests python3-requests-file
|
||||
Requires: python3-requests-ftp python3-kickstart >= %{pykickstartver}
|
||||
Requires: python3-langtable >= %{langtablever} util-linux >= %{utillinuxver} python3-gobject-base
|
||||
Requires: python3-dbus python3-pwquality python3-systemd python3-dasbus >= %{dasbusver}
|
||||
Requires: python3-packaging
|
||||
Requires: cracklib-dicts python3-pytz teamd NetworkManager >= %{nmver} NetworkManager-libnm >= %{nmver}
|
||||
Requires: NetworkManager-team kbd chrony systemd python3-pid
|
||||
Requires: python3-ordered-set >= 2.0.0 glibc-langpack-en dbus-daemon
|
||||
Requires: systemd-resolved
|
||||
# Required by the systemd service anaconda-fips.
|
||||
Requires: crypto-policies
|
||||
Requires: /usr/bin/update-crypto-policies
|
||||
# required because of the rescue mode and VNC question
|
||||
Requires: anaconda-tui = %{version}-%{release}
|
||||
Provides: anaconda-images = %{version}-%{release}
|
||||
Obsoletes: anaconda-images <= 10
|
||||
Provides: anaconda-runtime = %{version}-%{release}
|
||||
Obsoletes: anaconda-runtime < %{version}-%{release}
|
||||
Obsoletes: booty <= 0.107-1
|
||||
|
||||
# Ensure it's not possible for a version of grubby to be installed
|
||||
# that doesn't work with btrfs subvolumes correctly...
|
||||
Conflicts: grubby < 8.40-10
|
||||
Requires: usermode
|
||||
|
||||
%description core
|
||||
The anaconda-core package contains the program which was used to install your
|
||||
system.
|
||||
|
||||
%package tui
|
||||
Summary: Textual user interface for the Anaconda installer
|
||||
Requires: anaconda-core = %{version}-%{release} python3-simpleline >= %{simplelinever}
|
||||
|
||||
%description tui
|
||||
This package contains textual user interface for the Anaconda installer.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Development files for anaconda-widgets
|
||||
Requires: glade
|
||||
Requires: %{name}-widgets = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
This package contains libraries and header files needed for writing the anaconda
|
||||
installer. It also contains Python and Glade support files, as well as
|
||||
documentation for working with this library.
|
||||
|
||||
%package dracut
|
||||
Summary: The anaconda dracut module
|
||||
Requires: dracut >= %{dracutver}
|
||||
Requires: dracut-network
|
||||
Requires: dracut-live
|
||||
Requires: xz
|
||||
Requires: python3-kickstart
|
||||
|
||||
%description dracut
|
||||
The 'anaconda' dracut module handles installer-specific boot tasks and
|
||||
options. This includes driver disks, kickstarts, and finding the anaconda
|
||||
runtime on NFS/HTTP/FTP servers or local disks.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{version} -p1
|
||||
|
||||
%build
|
||||
# use actual build-time release number, not tarball creation time release number
|
||||
%configure ANACONDA_RELEASE=%{release}
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
%delete_la
|
||||
|
||||
# install openEuler conf for anaconda
|
||||
%ifarch x86_64
|
||||
sed -i "/^additional_arguments =*/ s/$/ crashkernel=512M/" %{SOURCE1}
|
||||
sed -i "/^additional_arguments =*/ s/$/ panic=3 nmi_watchdog=1/" %{SOURCE2}
|
||||
sed -i "/^additional_arguments =*/ s/$/ panic=3 nmi_watchdog=1/" %{SOURCE3}
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
sed -i "/^additional_arguments =*/ s/$/ crashkernel=1024M,high smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15/" %{SOURCE1}
|
||||
sed -i "/^additional_arguments =*/ s/$/ panic=1 vga=0x317 nohz=off smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15/" %{SOURCE2}
|
||||
sed -i "/^additional_arguments =*/ s/$/ panic=1 vga=0x317 nohz=off smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15/" %{SOURCE3}
|
||||
%endif
|
||||
install -m 0644 %{SOURCE1} %{buildroot}/%{_sysconfdir}/%{name}/profile.d/
|
||||
install -m 0644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/%{name}/profile.d/
|
||||
install -m 0644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/%{name}/profile.d/
|
||||
|
||||
|
||||
# Create an empty directory for addons
|
||||
install -d -m 0755 %{buildroot}%{_datadir}/anaconda/addons
|
||||
|
||||
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/liveinst.desktop
|
||||
|
||||
# If no langs found, keep going
|
||||
%find_lang %{name} || :
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
%post
|
||||
update-desktop-database &> /dev/null || :
|
||||
|
||||
%postun
|
||||
update-desktop-database &> /dev/null || :
|
||||
%endif
|
||||
|
||||
#Anaconda test cases require python3-nose. However, python3-nose on 22.03 has been deleted due to aging.
|
||||
#As a result, the anaconda lacks dependency. Now, the anaconda needs to remove the python3-nose dependency.
|
||||
#However, the removal will affect the test cases.
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%license COPYING
|
||||
%{_libdir}/libAnacondaWidgets.so.*
|
||||
%{_libdir}/girepository*/AnacondaWidgets*typelib
|
||||
%{python3_sitearch}/gi/overrides/*
|
||||
%{python3_sitearch}/pyanaconda/ui/gui/*
|
||||
%exclude %{python3_sitearch}/pyanaconda/ui/gui/spokes/blivet_gui.*
|
||||
|
||||
%files core
|
||||
%defattr(-,root,root)
|
||||
%license COPYING
|
||||
%{_sbindir}/anaconda
|
||||
%{_sbindir}/handle-sshpw
|
||||
%{_bindir}/instperf
|
||||
%{_bindir}/analog
|
||||
%{_bindir}/anaconda-cleanup
|
||||
%{_bindir}/anaconda-disable-nm-ibft-plugin
|
||||
%{_libdir}/libAnacondaWidgets.so
|
||||
%{_prefix}/libexec/anaconda
|
||||
%{_prefix}/lib/systemd/system-generators/*
|
||||
%{_unitdir}/*
|
||||
%{_datadir}/anaconda
|
||||
%{_datadir}/locale/*
|
||||
%{python3_sitearch}/pyanaconda
|
||||
%exclude %{_prefix}/libexec/anaconda/dd_*
|
||||
%exclude %{_libdir}/libAnacondaWidgets.so
|
||||
%exclude %{_datadir}/gtk-doc
|
||||
%exclude %{_datadir}/anaconda/ui/spokes/blivet_gui.*
|
||||
%exclude %{_datadir}/glade/catalogs/AnacondaWidgets.xml
|
||||
%exclude %{python3_sitearch}/pyanaconda/rescue.py*
|
||||
%exclude %{python3_sitearch}/pyanaconda/__pycache__/rescue.*
|
||||
%exclude %{python3_sitearch}/pyanaconda/ui/gui/*
|
||||
%exclude %{python3_sitearch}/pyanaconda/ui/tui/*
|
||||
%{_bindir}/analog
|
||||
%{_bindir}/anaconda-cleanup
|
||||
%dir %{_sysconfdir}/%{name}
|
||||
%config %{_sysconfdir}/%{name}/*
|
||||
%dir %{_sysconfdir}/%{name}/conf.d
|
||||
%config %{_sysconfdir}/%{name}/conf.d/*
|
||||
%dir %{_sysconfdir}/%{name}/profile.d
|
||||
%config %{_sysconfdir}/%{name}/profile.d/*
|
||||
%{_sbindir}/liveinst
|
||||
%{_bindir}/liveinst
|
||||
%{_libexecdir}/liveinst-setup.sh
|
||||
%{_datadir}/applications/*.desktop
|
||||
%{_sysconfdir}/xdg/autostart/*.desktop
|
||||
%config(noreplace) %{_sysconfdir}/pam.d/*
|
||||
%config(noreplace) %{_sysconfdir}/security/console.apps/*
|
||||
|
||||
%files tui
|
||||
%{python3_sitearch}/pyanaconda/rescue.py
|
||||
%{python3_sitearch}/pyanaconda/__pycache__/rescue.*
|
||||
%{python3_sitearch}/pyanaconda/ui/tui/*
|
||||
|
||||
%files devel
|
||||
%{_libdir}/libAnacondaWidgets.so
|
||||
%{_libdir}/glade/modules/libAnacondaWidgets.so
|
||||
%{_includedir}/*
|
||||
%{_datadir}/glade/catalogs/AnacondaWidgets.xml
|
||||
%{_datadir}/gtk-doc
|
||||
|
||||
%files dracut
|
||||
%dir %{_prefix}/lib/dracut/modules.d/80%{name}
|
||||
%{_prefix}/lib/dracut/modules.d/80%{name}/*
|
||||
%{_prefix}/libexec/anaconda/dd_*
|
||||
|
||||
%changelog
|
||||
* Tue Dec 20 2022 Qingqing Li <liqingqing3@huawei.com> - 36.16.5-11
|
||||
- Type:feature
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:cgroup files is a additional enhanced cgroup feature, which will
|
||||
limit cgroup opened files, add cgroup_disable=files to
|
||||
default cmdline to disable this feature to keep cgroup's default behavior.
|
||||
|
||||
* Thu Dec 15 2022 sunhai <sunhai10@huawei.com> - 36.16.5-10
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:fix conf of storage
|
||||
|
||||
* Wed Dec 14 2022 sunhai <sunhai10@huawei.com> - 36.16.5-9
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:adapt active connection without interface name
|
||||
|
||||
* Sat Dec 10 2022 sunhai <sunhai10@huawei.com> - 36.16.5-8
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:ignore detect enable smt
|
||||
open swap in storage
|
||||
|
||||
* Tue Nov 29 2022 sunhai <sunhai10@huawei.com> - 36.16.5-7
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:change product name not with upper
|
||||
add SM3 with tui
|
||||
|
||||
* Thu Nov 24 2022 sunhai <sunhai10@huawei.com> - 36.16.5-6
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:add logo with install
|
||||
the kickstart version change to patch
|
||||
|
||||
* Wed Nov 23 2022 sunhai <sunhai10@huawei.com> - 36.16.5-5
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:pxe kickstart version with local pykickstart
|
||||
and with build save patch by source4
|
||||
|
||||
* Mon Nov 21 2022 sunhai <sunhai10@huawei.com> - 36.16.5-4
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:open disk encryption on openEuler
|
||||
|
||||
* Tue Nov 15 2022 sunhai <sunhai10@huawei.com> - 36.16.5-3
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC: fix install with tui and gui
|
||||
|
||||
* Fri Nov 11 2022 sunhai <sunhai10@huawei.com> - 36.16.5-2
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC: use kickstart version with local pykickstart
|
||||
|
||||
* Tue Nov 08 2022 sunhai <sunhai10@huawei.com> - 36.16.5-1
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:update anaconda to 36.16.5
|
||||
|
||||
* Mon Mar 28 2022 Wenlong Zhang <zhangwenlong@loongson.cn> - 33.19-49
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC: add loongarch support for anaconda
|
||||
|
||||
* Tue Oct 18 2022 wuzx<wuzx1226@qq.com> - 33.19-48
|
||||
- Type:feature
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:Add sw64 architecture
|
||||
|
||||
* Wed Sep 21 2022 sunhai <sunhai10@huawei.com> - 33.19-47
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:solve the problem that the circular loading progress bar does not rotate
|
||||
|
||||
* Tue Aug 23 2022 zhangqiumiao <zhangqiumiao1@huawei.com> - 33.19-46
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:fix missing group information in dnf
|
||||
|
||||
* Fri Aug 5 2022 wanglu <wanglu210@huawei.com> - 33.19-45
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:fix a mistake about revert "Set default entry to the BLS id instead of the entry index"
|
||||
|
||||
* Thu Aug 4 2022 wanglu <wanglu210@huawei.com> - 33.19-44
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:revert "Set default entry to the BLS id instead of the entry index"
|
||||
|
||||
* Fri Apr 8 2022 zhangqiumiao <zhangqiumiao1@huawei.com> - 33.19-43
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:change the grub2 user.cfg permission from 0700 to 0600
|
||||
|
||||
* Thu Apr 7 2022 zhangqiumiao <zhangqiumiao1@huawei.com> - 33.19-42
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:add support for configuration of additional boot arguments
|
||||
change the startup mode of do_transaction sub process to spawn
|
||||
|
||||
* Sat Mar 05 2022 gaihuiying <eaglegai@163.com> - 33.19-41
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:separate anaconda-dracut
|
||||
|
||||
* Mon Feb 21 2022 gaihuiying <eaglegai@163.com> - 33.19-40
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:remove yelp and foce-utils from requires
|
||||
|
||||
* Sun Jan 30 2022 yanan <yanan@huawei.com> - 33.19-39
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:remove authconfig support
|
||||
|
||||
* Thu Jan 27 2022 liufushou <liufushou@live.cn> - 33.19-38
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:let networking up after reboot
|
||||
|
||||
* Wed Jan 26 2022 zhujunhao <zhujunhao11@huawei.com> - 33.19-37
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:support use sm3 crypt user password
|
||||
|
||||
* Sun Jan 23 2022 liuxin <liuxin350@huawei.com> - 33.19-36
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:Cancel planned manual update of system time on turning ntp on
|
||||
|
||||
* Sat Jan 22 2022 fengtao <fengtao40@huawei.com> - 33.19-35
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:revert "fix deadlock when forking in multithread"
|
||||
|
||||
* Thu Jan 13 2022 gaihuiying <gaihuiying1@huawei.com> - 33.19-34
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:remove flatpak support in source code
|
||||
|
||||
* Tue Jan 11 2022 gaihuiying <gaihuiying1@huawei.com> - 33.19-33
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:remove anaconda-user-help dependency
|
||||
|
||||
* Fri Dec 31 2021 xihaochen <xihaochen@huawei.com> - 33.19-32
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:remove flatpak dependency
|
||||
|
||||
* Fri Dec 31 2021 xihaochen <xihaochen@huawei.com> - 33.19-31
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:remove python3-nose dependency
|
||||
|
||||
* Fri Oct 29 2021 zhujunhao <zhujunhao8@huawei.com> - 33.19-30
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:fix boot options generated by dracut module
|
||||
|
||||
* Sat Aug 28 2021 yanan <yanan@huawei.com> - 33.19-29
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:fix deadlock when forking in multithread
|
||||
|
||||
* Mon Aug 23 2021 wangce <wangce@uniontech.com> - 33.19-28
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:Change sidebar background size
|
||||
|
||||
* Sat Aug 7 2021 zhujunhao <zhujunhao8@huawei.com> - 33.19-27
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:delete date zone map
|
||||
|
||||
* Thu Jun 24 2021 youyifeng <ctyuncommiter05@chinatelecom.cn> - 33.19-26
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:change inst.repo default value
|
||||
|
||||
* Mon Jun 21 2021 gaihuiying <gaihuiying1@huawei.com> - 33.19-25
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:change topbar background size
|
||||
|
||||
* Mon Jun 21 2021 zhangqiumiao <zhangqiumiao1@huawei.com> - 33.19-24
|
||||
- Type:requirement
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:replace openEuler by %{_vendor}
|
||||
|
||||
* Mon Jun 21 2021 liuxin <liuxin264@huawei.com> - 33.19-23
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:Fix section headers in docstrings
|
||||
|
||||
* Wed May 19 2021 liuxin <liuxin264@huawei.com> - 33.19-22
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:Fix issue when ns_info cannot be retrieved for NVDimm namespace
|
||||
|
||||
* Sat May 8 2021 fengtao <fengtao40@huawei.com> - 33.19-21
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:fix xorg timeout and throw exception
|
||||
|
||||
* Thu Apr 29 2021 zhangrui <zhangrui182@huawei.com> - 33.19-20
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:do not mount dbus sources
|
||||
|
||||
* Mon Mar 29 2021 xuxiaolong <xuxiaolon23@huawei.com> - 33.19-19
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:sync 50 bugfix commit from github
|
||||
|
||||
* Sat Mar 27 2021 zhangrui <zhangrui182@huawei.com> - 33.19-18
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:reset the state of the custom partitioning spoke
|
||||
|
||||
* Mon Jan 25 2021 liuxin <liuxin264@huawei.com> - 33.19-17
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:Propagate a lazy proxy o the storage model
|
||||
|
||||
* Thu Jan 14 2021 yuboyun <yuboyun@huawei.com> - 33.19-16
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:set up LD_PRELOAD for the Storage and Services module
|
||||
|
||||
* Thu Dec 10 2020 zhouyihang <zhouyihang3@huawei.com> - 33.19-15
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:Change length limit of hostname from 255 to 64
|
||||
|
||||
* Fri Dec 04 2020 gaihuiying <gaihuiying1@huawei.com> - 33.19-14
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:improve ntp servers to fix unkown error
|
||||
|
||||
* Sat Nov 28 2020 lunankun <lunankun@huawei.com> - 33.19-13
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:fix issue of iscsi_tcp and sha256 not found
|
||||
|
||||
* Mon Oct 26 2020 fengtao <fengtao40@huawei.com> - 33.19-12
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:bugfix for partitioning when sda exists a ext4 filesystem
|
||||
|
||||
* Sat Sep 26 2020 fengtao <fengtao40@huawei.com> - 33.19-11
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:add dnf transactions timeout
|
||||
|
||||
* Thu Sep 17 2020 zhuqingfu <zhuqingfu1@huawei.com> - 33.19-10
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:do not require treeinfo
|
||||
|
||||
* Wed Sep 16 2020 xiaqirong <xiaqirong1@huawei.com> - 33.19-9
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:disable disk encryption
|
||||
|
||||
* Fri Sep 11 2020 fengtao <fengtao40@huawei.com> - 33.19-8
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:add boot args for smmu and video
|
||||
|
||||
* Thu Sep 10 2020 zhangqiumiao <zhangqiumiao1@huawei.com> - 33.19-7
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:revert add-passwd-check-policy.patch and bugfix-fix-encrypt-weak-passphrase-save.patch
|
||||
fix password policy
|
||||
|
||||
* Fri Sep 4 2020 zhangqiumiao <zhangqiumiao1@huawei.com> - 33.19-6
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:fix password policy
|
||||
|
||||
* Mon Aug 31 2020 zhangqiumiao <zhangqiumiao1@huawei.com> - 33.19-5
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:fix kdump patch err
|
||||
|
||||
* Fri Aug 28 2020 zhangqiumiao <zhangqiumiao1@huawei.com> - 33.19-4
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:remove dependency on blivet-gui-runtime
|
||||
|
||||
* Fri Aug 7 2020 fengtao <fengtao40@huawei.com> - 33.19-3
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:fix stage2 as default sources
|
||||
|
||||
* Tue Jul 14 2020 zhangqiumiao <zhangqiumiao1@huawei.com> - 33.19-2
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:add kdump parameter into kernel cmdline
|
||||
|
||||
* Fri Jun 19 2020 fengtao <fengtao40@huawei.com> - 33.19-1
|
||||
- update version to 33.19
|
||||
|
||||
* Mon Mar 9 2020 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-28
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:add boot options for dummy
|
||||
|
||||
* Wed Feb 12 2020 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-27
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:Remove initThreading method from pyanaconda.threading
|
||||
|
||||
* Thu Feb 06 2020 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-26
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:modify network hostname dot error
|
||||
|
||||
* Thu Jan 16 2020 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-25
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:modify default timezone and zh_CN.po
|
||||
|
||||
* Thu Jan 16 2020 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-24
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:fix setup fail in decode
|
||||
|
||||
* Thu Jan 16 2020 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-23
|
||||
- Type:enhancement
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:modify openeuler in welcome to lowercase
|
||||
|
||||
* Thu Jan 16 2020 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-22
|
||||
- optimization the patch
|
||||
|
||||
* Wed Jan 15 2020 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-21
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:add boot options for kdump.
|
||||
|
||||
* Sat Jan 11 2020 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-20
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:add boot options for raid 3408
|
||||
|
||||
* Wed Jan 8 2020 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-19
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:modify arguments parsing
|
||||
|
||||
* Wed Jan 1 2020 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-18
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:bugfix for encrypting partition
|
||||
|
||||
* Mon Dec 30 2019 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-17
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:bugfix in setup
|
||||
|
||||
* Mon Dec 30 2019 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-16
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:bugfix in network spokes when add virtual devices
|
||||
|
||||
|
||||
* Mon Dec 30 2019 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-15
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:fix bug
|
||||
|
||||
* Mon Dec 23 2019 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-14
|
||||
- Type:bugfix
|
||||
- ID:NA
|
||||
- SUG:NA
|
||||
- DESC:modify the patches
|
||||
|
||||
* Mon Dec 16 2019 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-13
|
||||
- Type:bugfix
|
||||
- Id:NA
|
||||
- SUG:NA
|
||||
- DESC:modify interface is extended in Chinese mode
|
||||
|
||||
* Thu Dec 12 2019 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-12
|
||||
- Type:bugfix
|
||||
- Id:NA
|
||||
- SUG:NA
|
||||
- DESC:add quiet cmdline args for x86
|
||||
|
||||
* Tue Oct 22 2019 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-11
|
||||
- Type:bugfix
|
||||
- Id:NA
|
||||
- SUG:NA
|
||||
- DESC:add dracut-live packages as requires
|
||||
|
||||
* Mon Oct 21 2019 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-10
|
||||
- Type:bugfix
|
||||
- Id:NA
|
||||
- SUG:NA
|
||||
- DESC:add anaconda-core and anaconda-tui package
|
||||
|
||||
* Sun Oct 13 2019 openEuler Buildteam <buildteam@openeuler.org> - 29.24.7-9
|
||||
- Package init
|
||||
4
anaconda.yaml
Normal file
4
anaconda.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
version_control: github
|
||||
src_repo: rhinstaller/anaconda
|
||||
tag_prefix: anaconda-
|
||||
seperator: .
|
||||
26
bugfix-GUI-nfs-unknown-error.patch
Normal file
26
bugfix-GUI-nfs-unknown-error.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From 7af95c3ee0fe3f0c2a5ec6fb05673f10c19441f9 Mon Sep 17 00:00:00 2001
|
||||
From: t_feng <fengtao40@huawei.com>
|
||||
Date: Thu, 18 Jun 2020 22:48:03 +0800
|
||||
Subject: [PATCH] bugfix GUI nfs unknown error
|
||||
|
||||
---
|
||||
pyanaconda/ui/gui/spokes/installation_source.py | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/pyanaconda/ui/gui/spokes/installation_source.py b/pyanaconda/ui/gui/spokes/installation_source.py
|
||||
index 396cad6..16e81b4 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/installation_source.py
|
||||
+++ b/pyanaconda/ui/gui/spokes/installation_source.py
|
||||
@@ -1141,6 +1141,9 @@ class SourceSpoke(NormalSpoke, GUISpokeInputCheckHandler, SourceSwitchHandler):
|
||||
else:
|
||||
return _("Remote directory is required")
|
||||
|
||||
+ if ":" not in url_string or len(url_string.split(":")) != 2:
|
||||
+ return _("Server must be specified as SERVER:/PATH")
|
||||
+
|
||||
return InputCheck.CHECK_OK
|
||||
|
||||
def _check_url_entry(self, inputcheck):
|
||||
--
|
||||
2.23.0
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
From ccc28e983cd2c1f1f02fd00b9b1659fb572bac1b Mon Sep 17 00:00:00 2001
|
||||
From: yueyuankun <yueyuankun@kylinos.cn>
|
||||
Date: Tue, 23 Aug 2022 15:53:18 +0800
|
||||
Subject: [PATCH] Solve the problem that sometimes the circular
|
||||
loading progress bar does not rotate
|
||||
|
||||
---
|
||||
pyanaconda/ui/gui/spokes/installation_progress.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/pyanaconda/ui/gui/spokes/installation_progress.py b/pyanaconda/ui/gui/spokes/installation_progress.py
|
||||
index 0de742b..5ed3424 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/installation_progress.py
|
||||
+++ b/pyanaconda/ui/gui/spokes/installation_progress.py
|
||||
@@ -85,6 +85,7 @@ class ProgressSpoke(StandaloneSpoke):
|
||||
|
||||
if code == progressQ.PROGRESS_CODE_INIT:
|
||||
self._init_progress_bar(args[0])
|
||||
+ gtk_call_once(self._spinner.start)
|
||||
elif code == progressQ.PROGRESS_CODE_STEP:
|
||||
self._step_progress_bar()
|
||||
elif code == progressQ.PROGRESS_CODE_MESSAGE:
|
||||
--
|
||||
2.27.0
|
||||
|
||||
26
bugfix-adapt-active-connection-without-interface-name.patch
Normal file
26
bugfix-adapt-active-connection-without-interface-name.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From ade550fb89b10cf218ce96541e1c540a2a8a7ea1 Mon Sep 17 00:00:00 2001
|
||||
From: sun_hai_10 <sunha10@huawei.com>
|
||||
Date: Wed, 14 Dec 2022 11:04:41 +0800
|
||||
Subject: [PATCH] adapt active connection without interface-name
|
||||
|
||||
---
|
||||
pyanaconda/modules/network/initialization.py | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/pyanaconda/modules/network/initialization.py b/pyanaconda/modules/network/initialization.py
|
||||
index c7f0ba4..85a1da7 100644
|
||||
--- a/pyanaconda/modules/network/initialization.py
|
||||
+++ b/pyanaconda/modules/network/initialization.py
|
||||
@@ -135,6 +135,9 @@ class ApplyKickstartTask(Task):
|
||||
def _find_initramfs_connection_of_iface(self, iface):
|
||||
device = self._nm_client.get_device_by_iface(iface)
|
||||
if device:
|
||||
+ active_connection = device.get_active_connection()
|
||||
+ if active_connection:
|
||||
+ return active_connection.get_connection()
|
||||
cons = device.get_available_connections()
|
||||
for con in cons:
|
||||
if con.get_interface_name() == iface and con.get_id() == iface:
|
||||
--
|
||||
2.23.0
|
||||
|
||||
173
bugfix-add-SM3-with-tui.patch
Normal file
173
bugfix-add-SM3-with-tui.patch
Normal file
@ -0,0 +1,173 @@
|
||||
From 1a11874c57156e576620dd396b4357ec9bab2cc4 Mon Sep 17 00:00:00 2001
|
||||
From: sun_hai_10 <sunhai10@huawei.com>
|
||||
Date: Tue, 29 Nov 2022 09:34:09 +0800
|
||||
Subject: [PATCH] add SM3 with tui
|
||||
|
||||
---
|
||||
pyanaconda/ui/tui/spokes/root_password.py | 81 ++++++++++++++++++++---
|
||||
pyanaconda/ui/tui/tuiobject.py | 7 +-
|
||||
2 files changed, 77 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/pyanaconda/ui/tui/spokes/root_password.py b/pyanaconda/ui/tui/spokes/root_password.py
|
||||
index 3c5ba16..dfaca4e 100644
|
||||
--- a/pyanaconda/ui/tui/spokes/root_password.py
|
||||
+++ b/pyanaconda/ui/tui/spokes/root_password.py
|
||||
@@ -26,7 +26,11 @@ from pyanaconda.core.i18n import N_, _
|
||||
from pyanaconda.modules.common.constants.services import USERS
|
||||
from pyanaconda.core.constants import PASSWORD_POLICY_ROOT
|
||||
|
||||
-from simpleline.render.widgets import TextWidget
|
||||
+from simpleline.render.containers import ListColumnContainer
|
||||
+from simpleline.render.prompt import Prompt
|
||||
+from simpleline.render.screen import InputState
|
||||
+from simpleline.render.screen_handler import ScreenHandler
|
||||
+from simpleline.render.widgets import TextWidget, CheckboxWidget
|
||||
|
||||
|
||||
class PasswordSpoke(FirstbootSpokeMixIn, NormalTUISpoke):
|
||||
@@ -50,20 +54,18 @@ class PasswordSpoke(FirstbootSpokeMixIn, NormalTUISpoke):
|
||||
return FirstbootSpokeMixIn.should_run(environment, data)
|
||||
|
||||
def __init__(self, data, storage, payload):
|
||||
- NormalTUISpoke.__init__(self, data, storage, payload)
|
||||
- self.initialize_start()
|
||||
+ super().__init__(data, storage, payload)
|
||||
self.title = N_("Root password")
|
||||
- self.input_required = False
|
||||
-
|
||||
- self._password = None
|
||||
-
|
||||
self._users_module = USERS.get_proxy()
|
||||
- self.initialize_done()
|
||||
+ self._sm3_config = False
|
||||
+
|
||||
+ def _set_sm3_config(self, args):
|
||||
+ self._sm3_config = not self._sm3_config
|
||||
|
||||
@property
|
||||
def completed(self):
|
||||
return self._users_module.IsRootPasswordSet
|
||||
-
|
||||
+
|
||||
@property
|
||||
def showable(self):
|
||||
return can_modify_root_configuration(self._users_module)
|
||||
@@ -77,6 +79,59 @@ class PasswordSpoke(FirstbootSpokeMixIn, NormalTUISpoke):
|
||||
def status(self):
|
||||
return get_root_configuration_status(self._users_module)
|
||||
|
||||
+ def initialize(self):
|
||||
+ self.initialize_start()
|
||||
+ NormalTUISpoke.initialize(self)
|
||||
+ self.initialize_done()
|
||||
+
|
||||
+ def refresh(self, args=None):
|
||||
+ """ Refresh screen. """
|
||||
+ NormalTUISpoke.refresh(self, args)
|
||||
+
|
||||
+ self._container = ListColumnContainer(1)
|
||||
+
|
||||
+ msg = _("SM3 encrypt")
|
||||
+ sm3_check = CheckboxWidget(title=msg, completed=self._sm3_config)
|
||||
+ self._container.add(sm3_check, self._set_sm3_config)
|
||||
+
|
||||
+ self.window.add_with_separator(self._container)
|
||||
+
|
||||
+ def input(self, args, key):
|
||||
+ """Handle the user input."""
|
||||
+ if self._container.process_user_input(key):
|
||||
+ return InputState.PROCESSED_AND_REDRAW
|
||||
+
|
||||
+ if key.lower() == Prompt.CONTINUE:
|
||||
+ spoke = RootPasswordSpoke(
|
||||
+ self.data,
|
||||
+ self.storage,
|
||||
+ self.payload,
|
||||
+ self._sm3_config,
|
||||
+ )
|
||||
+ ScreenHandler.push_screen_modal(spoke)
|
||||
+ return InputState.PROCESSED_AND_CLOSE
|
||||
+
|
||||
+ return super().input(args, key)
|
||||
+
|
||||
+
|
||||
+class RootPasswordSpoke(NormalTUISpoke):
|
||||
+ """
|
||||
+ .. inheritance-diagram:: PasswordSpoke
|
||||
+ :parts: 3
|
||||
+ """
|
||||
+
|
||||
+ def __init__(self, data, storage, payload, sm3_config):
|
||||
+ NormalTUISpoke.__init__(self, data, storage, payload)
|
||||
+ self.initialize_start()
|
||||
+ self.title = N_("Root password")
|
||||
+ self.input_required = False
|
||||
+
|
||||
+ self._password = None
|
||||
+ self._sm3_config = sm3_config
|
||||
+
|
||||
+ self._users_module = USERS.get_proxy()
|
||||
+ self.initialize_done()
|
||||
+
|
||||
def refresh(self, args=None):
|
||||
NormalTUISpoke.refresh(self, args)
|
||||
|
||||
@@ -85,10 +140,15 @@ class PasswordSpoke(FirstbootSpokeMixIn, NormalTUISpoke):
|
||||
|
||||
def show_all(self):
|
||||
super().show_all()
|
||||
+ if self._sm3_config:
|
||||
+ algo = "sm3"
|
||||
+ else:
|
||||
+ algo = None
|
||||
|
||||
password_dialog = PasswordDialog(
|
||||
title=_("Password"),
|
||||
- policy_name=PASSWORD_POLICY_ROOT
|
||||
+ policy_name=PASSWORD_POLICY_ROOT,
|
||||
+ func_args=(algo,)
|
||||
)
|
||||
password_dialog.no_separator = True
|
||||
self._password = password_dialog.run()
|
||||
@@ -101,6 +161,7 @@ class PasswordSpoke(FirstbootSpokeMixIn, NormalTUISpoke):
|
||||
self.close()
|
||||
|
||||
def apply(self):
|
||||
+
|
||||
self._users_module.SetCryptedRootPassword(self._password)
|
||||
if self._password:
|
||||
self._users_module.SetRootAccountLocked(False)
|
||||
diff --git a/pyanaconda/ui/tui/tuiobject.py b/pyanaconda/ui/tui/tuiobject.py
|
||||
index 6cb439b..c642931 100644
|
||||
--- a/pyanaconda/ui/tui/tuiobject.py
|
||||
+++ b/pyanaconda/ui/tui/tuiobject.py
|
||||
@@ -209,12 +209,14 @@ class PasswordDialog(Dialog):
|
||||
report_func=reporting_callback,
|
||||
process_func=crypt_password,
|
||||
secret_type=constants.SecretType.PASSWORD,
|
||||
+ func_args=None,
|
||||
message=None):
|
||||
super().__init__(title, report_func=report_func)
|
||||
self._no_separator = False
|
||||
self._policy = input_checking.get_policy(policy_name)
|
||||
self._secret_type = secret_type
|
||||
self._process_password = process_func
|
||||
+ self._func_args = func_args
|
||||
self._dialog_message = message
|
||||
|
||||
def run(self):
|
||||
@@ -292,7 +294,10 @@ class PasswordDialog(Dialog):
|
||||
if any(char not in constants.PW_ASCII_CHARS for char in password):
|
||||
self._report(_(constants.SECRET_ASCII[self._secret_type]))
|
||||
|
||||
- return self._process_password(password)
|
||||
+ if self._func_args == None:
|
||||
+ return self._process_password(password)
|
||||
+ else:
|
||||
+ return self._process_password(password, *self._func_args)
|
||||
|
||||
def _report(self, message):
|
||||
if self._report_func:
|
||||
--
|
||||
2.28.0.windows.1
|
||||
|
||||
46
bugfix-add-log-and-background.patch
Normal file
46
bugfix-add-log-and-background.patch
Normal file
@ -0,0 +1,46 @@
|
||||
From 8b5428e400ac80d57ae6bc6b0ec792e17a62a04e Mon Sep 17 00:00:00 2001
|
||||
From: sun_hai_10 <sunhai10@huawei.com>
|
||||
Date: Thu, 24 Nov 2022 11:13:58 +0800
|
||||
Subject: [PATCH] add log and background
|
||||
|
||||
---
|
||||
data/anaconda-gtk.css | 11 ++++++++++-
|
||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/anaconda-gtk.css b/data/anaconda-gtk.css
|
||||
index 7de933d..7c6643a 100644
|
||||
--- a/data/anaconda-gtk.css
|
||||
+++ b/data/anaconda-gtk.css
|
||||
@@ -98,12 +98,18 @@ infobar.error {
|
||||
@define-color anaconda_bg_color #2f4265;
|
||||
|
||||
.logo-sidebar {
|
||||
+ background-image: url('/usr/share/anaconda/pixmaps/sidebar-bg.png');
|
||||
+ background-size: 100% 100%;
|
||||
+ background-repeat: no-repeat;
|
||||
background-color: @anaconda_bg_color;
|
||||
}
|
||||
|
||||
/* This is a placeholder to be filled by a product-specific logo. */
|
||||
.logo {
|
||||
- background-image: none;
|
||||
+ background-image: url('/usr/share/anaconda/pixmaps/sidebar-logo.png');
|
||||
+ background-position: 50% 20px;
|
||||
+ background-size: 90%;
|
||||
+ background-repeat: no-repeat;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
@@ -114,6 +120,9 @@ infobar.error {
|
||||
}
|
||||
|
||||
AnacondaSpokeWindow #nav-box {
|
||||
+ background-image: url('/usr/share/anaconda/pixmaps/topbar-bg.png');
|
||||
+ background-size: 100% 100%;
|
||||
+ background-repeat: no-repeat;
|
||||
background-color: @anaconda_bg_color;
|
||||
color: white;
|
||||
}
|
||||
--
|
||||
2.23.0
|
||||
|
||||
28
bugfix-change-gnome-kiosk-to-use-metacity.patch
Normal file
28
bugfix-change-gnome-kiosk-to-use-metacity.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From 4de5376d5b1b88d1190476b8d179b677a08fe03c Mon Sep 17 00:00:00 2001
|
||||
From: sun_hai_10 <sunhai10@huawei.com>
|
||||
Date: Tue, 15 Nov 2022 15:46:38 +0800
|
||||
Subject: [PATCH] change 'gnome-kiosk' to use 'metacity'
|
||||
|
||||
---
|
||||
pyanaconda/display.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/pyanaconda/display.py b/pyanaconda/display.py
|
||||
index 880af9c..ddf24fb 100644
|
||||
--- a/pyanaconda/display.py
|
||||
+++ b/pyanaconda/display.py
|
||||
@@ -192,9 +192,9 @@ def do_startup_x11_actions():
|
||||
else:
|
||||
xdg_data_dirs = datadir + '/window-manager:/usr/share'
|
||||
|
||||
- childproc = util.startProgram(["gnome-kiosk", "--display", ":1", "--sm-disable", "--x11"],
|
||||
+ childproc = util.startProgram(["metacity", "--display", ":1", "--sm-disable"],
|
||||
env_add={'XDG_DATA_DIRS': xdg_data_dirs})
|
||||
- WatchProcesses.watch_process(childproc, "gnome-kiosk")
|
||||
+ WatchProcesses.watch_process(childproc, "metacity")
|
||||
|
||||
|
||||
def set_x_resolution(runres):
|
||||
--
|
||||
2.23.0
|
||||
|
||||
39
bugfix-change-product-name-do-not-with-upper.patch
Normal file
39
bugfix-change-product-name-do-not-with-upper.patch
Normal file
@ -0,0 +1,39 @@
|
||||
From 613035ac2716f99ce2ec536c4769d3dc6e6f90e5 Mon Sep 17 00:00:00 2001
|
||||
From: sun_hai_10 <sunha10@huawei.com>
|
||||
Date: Tue, 29 Nov 2022 15:44:45 +0800
|
||||
Subject: [PATCH] change product name do not with upper
|
||||
|
||||
---
|
||||
pyanaconda/product.py | 4 ++--
|
||||
pyanaconda/ui/gui/spokes/welcome.py | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/pyanaconda/product.py b/pyanaconda/product.py
|
||||
index b5e97d7..7fe28cb 100644
|
||||
--- a/pyanaconda/product.py
|
||||
+++ b/pyanaconda/product.py
|
||||
@@ -57,6 +57,6 @@ productVersion = trim_product_version_for_ui(productVersion)
|
||||
|
||||
def distributionText():
|
||||
return _("%(productName)s %(productVersion)s INSTALLATION") % {
|
||||
- "productName": productName.upper(),
|
||||
- "productVersion": productVersion.upper()
|
||||
+ "productName": productName,
|
||||
+ "productVersion": productVersion
|
||||
}
|
||||
diff --git a/pyanaconda/ui/gui/spokes/welcome.py b/pyanaconda/ui/gui/spokes/welcome.py
|
||||
index 773d5a8..3fc5ebf 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/welcome.py
|
||||
+++ b/pyanaconda/ui/gui/spokes/welcome.py
|
||||
@@ -271,7 +271,7 @@ class WelcomeLanguageSpoke(StandaloneSpoke, LangLocaleHandler):
|
||||
welcomeLabel = self.builder.get_object("welcomeLabel")
|
||||
|
||||
welcomeLabel.set_text(_("WELCOME TO %(name)s %(version)s.") %
|
||||
- {"name" : productName.upper(), "version" : productVersion}) # pylint: disable=no-member
|
||||
+ {"name" : productName, "version" : productVersion}) # pylint: disable=no-member
|
||||
|
||||
# Retranslate the language (filtering) entry's placeholder text
|
||||
languageEntry = self.builder.get_object("languageEntry")
|
||||
--
|
||||
2.23.0
|
||||
|
||||
@ -0,0 +1,65 @@
|
||||
From 769f395e80c92972900ef348d7dd747014666f70 Mon Sep 17 00:00:00 2001
|
||||
From: yu_boyun <1215979730@qq.com>
|
||||
Date: Mon, 11 Jan 2021 17:01:58 +0800
|
||||
Subject: [PATCH] set up LD_PRELOAD for the Storage and Services module
|
||||
|
||||
---
|
||||
data/dbus/org.fedoraproject.Anaconda.Modules.Services.service | 2 +-
|
||||
data/dbus/org.fedoraproject.Anaconda.Modules.Storage.service | 2 +-
|
||||
pyanaconda/modules/services/__main__.py | 4 ++++
|
||||
pyanaconda/modules/storage/__main__.py | 4 ++++
|
||||
4 files changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/data/dbus/org.fedoraproject.Anaconda.Modules.Services.service b/data/dbus/org.fedoraproject.Anaconda.Modules.Services.service
|
||||
index 79c6949..c3a6098 100644
|
||||
--- a/data/dbus/org.fedoraproject.Anaconda.Modules.Services.service
|
||||
+++ b/data/dbus/org.fedoraproject.Anaconda.Modules.Services.service
|
||||
@@ -1,4 +1,4 @@
|
||||
[D-BUS Service]
|
||||
Name=org.fedoraproject.Anaconda.Modules.Services
|
||||
-Exec=/usr/libexec/anaconda/start-module pyanaconda.modules.services
|
||||
+Exec=/usr/libexec/anaconda/start-module --env LD_PRELOAD=libgomp.so.1 pyanaconda.modules.services
|
||||
User=root
|
||||
diff --git a/data/dbus/org.fedoraproject.Anaconda.Modules.Storage.service b/data/dbus/org.fedoraproject.Anaconda.Modules.Storage.service
|
||||
index 018ecf1..780200e 100644
|
||||
--- a/data/dbus/org.fedoraproject.Anaconda.Modules.Storage.service
|
||||
+++ b/data/dbus/org.fedoraproject.Anaconda.Modules.Storage.service
|
||||
@@ -1,4 +1,4 @@
|
||||
[D-BUS Service]
|
||||
Name=org.fedoraproject.Anaconda.Modules.Storage
|
||||
-Exec=/usr/libexec/anaconda/start-module pyanaconda.modules.storage
|
||||
+Exec=/usr/libexec/anaconda/start-module --env LD_PRELOAD=libgomp.so.1 pyanaconda.modules.storage
|
||||
User=root
|
||||
diff --git a/pyanaconda/modules/services/__main__.py b/pyanaconda/modules/services/__main__.py
|
||||
index d4b0879..4327dc9 100644
|
||||
--- a/pyanaconda/modules/services/__main__.py
|
||||
+++ b/pyanaconda/modules/services/__main__.py
|
||||
@@ -20,6 +20,10 @@
|
||||
from pyanaconda.modules.common import init
|
||||
init()
|
||||
|
||||
+import os
|
||||
+if "LD_PRELOAD" in os.environ:
|
||||
+ del os.environ["LD_PRELOAD"]
|
||||
+
|
||||
from pyanaconda.modules.services.services import ServicesService
|
||||
service = ServicesService()
|
||||
service.run()
|
||||
diff --git a/pyanaconda/modules/storage/__main__.py b/pyanaconda/modules/storage/__main__.py
|
||||
index 327a129..29212a9 100644
|
||||
--- a/pyanaconda/modules/storage/__main__.py
|
||||
+++ b/pyanaconda/modules/storage/__main__.py
|
||||
@@ -20,6 +20,10 @@
|
||||
from pyanaconda.modules.common import init
|
||||
init("/tmp/storage.log")
|
||||
|
||||
+import os
|
||||
+if "LD_PRELOAD" in os.environ:
|
||||
+ del os.environ["LD_PRELOAD"]
|
||||
+
|
||||
# Initialize Blivet.
|
||||
from pyanaconda.modules.storage.initialization import enable_installer_mode
|
||||
enable_installer_mode()
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
38
bugfix-with-use-local-kickstart-version.patch
Normal file
38
bugfix-with-use-local-kickstart-version.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From d361beead1ff91273aa0f13147b2b279172133aa Mon Sep 17 00:00:00 2001
|
||||
From: sun_hai_10 <sunhai10@huawei.com>
|
||||
Date: Thu, 24 Nov 2022 10:40:41 +0800
|
||||
Subject: [PATCH] with use local kickstart version
|
||||
|
||||
---
|
||||
dracut/parse-kickstart | 2 +-
|
||||
pyanaconda/core/kickstart/version.py | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dracut/parse-kickstart b/dracut/parse-kickstart
|
||||
index 56cacb8..e0fdd1f 100755
|
||||
--- a/dracut/parse-kickstart
|
||||
+++ b/dracut/parse-kickstart
|
||||
@@ -41,7 +41,7 @@ from pykickstart.constants import *
|
||||
from collections import OrderedDict
|
||||
|
||||
# Import the kickstart version.
|
||||
-from pykickstart.version import F36 as VERSION
|
||||
+from pykickstart.version import DEVEL as VERSION
|
||||
|
||||
# Import all kickstart commands as version-less.
|
||||
from pykickstart.commands.cdrom import FC3_Cdrom as Cdrom
|
||||
diff --git a/pyanaconda/core/kickstart/version.py b/pyanaconda/core/kickstart/version.py
|
||||
index 4170214..df743a6 100644
|
||||
--- a/pyanaconda/core/kickstart/version.py
|
||||
+++ b/pyanaconda/core/kickstart/version.py
|
||||
@@ -18,6 +18,6 @@
|
||||
# Red Hat, Inc.
|
||||
#
|
||||
|
||||
-from pykickstart.version import F36 as VERSION
|
||||
+from pykickstart.version import DEVEL as VERSION
|
||||
|
||||
__all__ = ["VERSION"]
|
||||
--
|
||||
2.23.0
|
||||
|
||||
26
change-inst-repo-default-value.patch
Normal file
26
change-inst-repo-default-value.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From e73464ef17f54743dc194ad28e32797a10e844a4 Mon Sep 17 00:00:00 2001
|
||||
From: ctyuncommiter05 <ctyuncommiter05@chinatelecom.cn>
|
||||
Date: Thu, 24 Jun 2021 16:30:45 +0800
|
||||
Subject: [PATCH] change inst.repo default value
|
||||
|
||||
Solve the problem of U disk installation failure problem.
|
||||
---
|
||||
anaconda.py | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/anaconda.py b/anaconda.py
|
||||
index 1abdeb2..44b573c 100755
|
||||
--- a/anaconda.py
|
||||
+++ b/anaconda.py
|
||||
@@ -263,6 +263,8 @@ if __name__ == "__main__":
|
||||
from pyanaconda.flags import flags
|
||||
from pyanaconda.core.kernel import kernel_arguments
|
||||
(opts, removed_no_inst_args) = parse_arguments(boot_cmdline=kernel_arguments)
|
||||
+ if not opts.method:
|
||||
+ opts.method = opts.stage2
|
||||
|
||||
from pyanaconda.core.configuration.anaconda import conf
|
||||
conf.set_from_opts(opts)
|
||||
--
|
||||
2.27.0
|
||||
|
||||
71
disable-disk-encryption.patch
Normal file
71
disable-disk-encryption.patch
Normal file
@ -0,0 +1,71 @@
|
||||
From bec6776715baaff79d29e1703b7c3306c265071b Mon Sep 17 00:00:00 2001
|
||||
From: xia_qirong <xiaqirong1@huawei.com>
|
||||
Date: Wed, 16 Sep 2020 15:28:39 +0800
|
||||
Subject: [PATCH] disable disk encryption
|
||||
|
||||
---
|
||||
pyanaconda/ui/gui/spokes/custom_storage.py | 8 ++++----
|
||||
pyanaconda/ui/gui/spokes/storage.py | 7 ++++---
|
||||
2 files changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/pyanaconda/ui/gui/spokes/custom_storage.py b/pyanaconda/ui/gui/spokes/custom_storage.py
|
||||
index 347a0e0..d72e315 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/custom_storage.py
|
||||
+++ b/pyanaconda/ui/gui/spokes/custom_storage.py
|
||||
@@ -796,8 +796,8 @@ class CustomPartitioningSpoke(NormalSpoke, StorageCheckHandler):
|
||||
fancy_set_sensitive(self._reformatCheckbox, self._permissions.reformat)
|
||||
|
||||
# Set up the encryption.
|
||||
- self._encryptCheckbox.set_active(self._request.device_encrypted)
|
||||
- fancy_set_sensitive(self._encryptCheckbox, self._permissions.device_encrypted)
|
||||
+ self._encryptCheckbox.set_active(False)
|
||||
+ fancy_set_sensitive(self._encryptCheckbox, False)
|
||||
|
||||
self._encryptCheckbox.set_inconsistent(self._request.container_encrypted)
|
||||
text = _("The container is encrypted.") if self._request.container_encrypted else ""
|
||||
@@ -1268,7 +1268,7 @@ class CustomPartitioningSpoke(NormalSpoke, StorageCheckHandler):
|
||||
self._encryptCheckbox.set_active(False)
|
||||
self._encryptCheckbox.set_inconsistent(True)
|
||||
|
||||
- fancy_set_sensitive(self._encryptCheckbox, self._permissions.device_encrypted)
|
||||
+ fancy_set_sensitive(self._encryptCheckbox, False)
|
||||
self._update_luks_combo()
|
||||
|
||||
# Update the UI.
|
||||
@@ -1490,7 +1490,7 @@ class CustomPartitioningSpoke(NormalSpoke, StorageCheckHandler):
|
||||
|
||||
# Update the UI.
|
||||
fancy_set_sensitive(self._labelEntry, self._permissions.label)
|
||||
- fancy_set_sensitive(self._encryptCheckbox, self._permissions.device_encrypted)
|
||||
+ fancy_set_sensitive(self._encryptCheckbox, False)
|
||||
self._update_luks_combo()
|
||||
fancy_set_sensitive(self._fsCombo, self._permissions.format_type)
|
||||
self.on_value_changed()
|
||||
diff --git a/pyanaconda/ui/gui/spokes/storage.py b/pyanaconda/ui/gui/spokes/storage.py
|
||||
index 9494d6a..b2c0d3e 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/storage.py
|
||||
+++ b/pyanaconda/ui/gui/spokes/storage.py
|
||||
@@ -289,6 +289,9 @@ class StorageSpoke(NormalSpoke, StorageCheckHandler):
|
||||
# Configure the partitioning methods.
|
||||
self._configure_partitioning_methods()
|
||||
|
||||
+ # disable disk encryption
|
||||
+ self._encryption_revealer.set_reveal_child(False)
|
||||
+
|
||||
def _configure_partitioning_methods(self):
|
||||
if "CustomPartitioningSpoke" in conf.ui.hidden_spokes:
|
||||
self._custom_part_radio_button.set_visible(False)
|
||||
@@ -325,9 +328,7 @@ class StorageSpoke(NormalSpoke, StorageCheckHandler):
|
||||
# as Blivet GUI handles encryption per encrypted device, not globally.
|
||||
# Hide it also for the interactive partitioning as CustomPartitioningSpoke
|
||||
# provides support for encryption of mount points.
|
||||
- self._encryption_revealer.set_reveal_child(
|
||||
- current_partitioning_method == PARTITIONING_METHOD_AUTOMATIC
|
||||
- )
|
||||
+ self._encryption_revealer.set_reveal_child(False)
|
||||
|
||||
# Hide the reclaim space checkbox if automatic storage configuration is not used.
|
||||
self._reclaim_revealer.set_reveal_child(
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
37
disable-ssh-login-checkbox.patch
Normal file
37
disable-ssh-login-checkbox.patch
Normal file
@ -0,0 +1,37 @@
|
||||
From 4229601e2c53c2e002436a0132663f83a89e6e47 Mon Sep 17 00:00:00 2001
|
||||
From: t_feng <fengtao40@huawei.com>
|
||||
Date: Wed, 1 Jul 2020 18:08:35 +0800
|
||||
Subject: [PATCH] disable ssh login checkbox
|
||||
|
||||
---
|
||||
pyanaconda/ui/gui/spokes/root_password.py | 7 ++++----
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/pyanaconda/ui/gui/spokes/root_password.py b/pyanaconda/ui/gui/spokes/root_password.py
|
||||
index 1d19380..f2e389d 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/root_password.py
|
||||
+++ b/pyanaconda/ui/gui/spokes/root_password.py
|
||||
@@ -80,6 +80,8 @@ class PasswordSpoke(FirstbootSpokeMixIn, NormalSpoke, GUISpokeInputCheckHandler)
|
||||
self._enable_root_radio = self.builder.get_object("enable_root_radio")
|
||||
self._disable_root_radio = self.builder.get_object("disable_root_radio")
|
||||
self._root_password_ssh_login_override = self.builder.get_object("root_password_ssh_login_override")
|
||||
+ self._root_password_ssh_login_override.set_visible(False)
|
||||
+ self._root_password_ssh_login_override.set_no_show_all(True)
|
||||
self._revealer = self.builder.get_object("password_revealer")
|
||||
|
||||
# Install the password checks:
|
||||
@@ -159,9 +160,8 @@ class PasswordSpoke(FirstbootSpokeMixIn, NormalSpoke, GUISpokeInputCheckHandler)
|
||||
control.set_active(True)
|
||||
self.on_root_enabled_changed(control)
|
||||
|
||||
- self._root_password_ssh_login_override.set_active(
|
||||
- self._users_module.RootPasswordSSHLoginAllowed
|
||||
- )
|
||||
+ self._root_password_ssh_login_override.set_visible(False)
|
||||
+ self._root_password_ssh_login_override.set_no_show_all(True)
|
||||
if self.root_enabled:
|
||||
# rerun checks so that we have a correct status message, if any
|
||||
self.checker.run_checks()
|
||||
--
|
||||
2.23.0
|
||||
|
||||
38
euleros.conf
Normal file
38
euleros.conf
Normal file
@ -0,0 +1,38 @@
|
||||
# Anaconda configuration file for EulerOS.
|
||||
|
||||
[Profile]
|
||||
# Define the profile.
|
||||
profile_id = EulerOS
|
||||
|
||||
[Profile Detection]
|
||||
# Match os-release values.
|
||||
os_id = EulerOS
|
||||
variant_id = server
|
||||
|
||||
[Installation System]
|
||||
can_detect_enabled_smt = False
|
||||
|
||||
[Network]
|
||||
default_on_boot = FIRST_WIRED_WITH_LINK
|
||||
|
||||
[Bootloader]
|
||||
efi_dir = euleros
|
||||
additional_arguments = crash_kexec_post_notifiers softlockup_panic=1 reserve_kbox_mem=16M fsck.mode=auto fsck.repair=yes
|
||||
|
||||
[Payload]
|
||||
enable_closest_mirror = True
|
||||
|
||||
[Storage]
|
||||
default_partitioning =
|
||||
/ (min 1 GiB, max 70 GiB)
|
||||
/home (min 500 MiB, free 50 GiB)
|
||||
swap
|
||||
|
||||
[Storage Constraints]
|
||||
swap_is_recommended = False
|
||||
|
||||
[User Interface]
|
||||
blivet_gui_supported = False
|
||||
|
||||
[License]
|
||||
eula = /usr/share/euleros-release/EULA
|
||||
59
fix-hostname-info.patch
Normal file
59
fix-hostname-info.patch
Normal file
@ -0,0 +1,59 @@
|
||||
From cc1706cdbcabab80ab867c2a8f5a517884faa048 Mon Sep 17 00:00:00 2001
|
||||
From: t_feng <fengtao40@huawei.com>
|
||||
Date: Thu, 18 Jun 2020 17:13:47 +0800
|
||||
Subject: [PATCH] fix hostname info
|
||||
|
||||
---
|
||||
po/zh_CN.po | 5 +++--
|
||||
pyanaconda/core/regexes.py | 2 +-
|
||||
pyanaconda/network.py | 3 ++-
|
||||
3 files changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/po/zh_CN.po b/po/zh_CN.po
|
||||
index e31f0b2..c02ce1e 100644
|
||||
--- a/po/zh_CN.po
|
||||
+++ b/po/zh_CN.po
|
||||
@@ -4090,10 +4090,11 @@ msgstr "本地主机名不能以英文句号“.”结尾。"
|
||||
msgid ""
|
||||
"Host names can only contain the characters 'a-z', 'A-Z', '0-9', '-', or '.', "
|
||||
"parts between periods must contain something and cannot start or end with "
|
||||
-"'-'."
|
||||
+"parts between periods must contain something being 63 or fewer "
|
||||
+"characters and cannot start or end with '.' and '-'."
|
||||
msgstr ""
|
||||
"主机名只能包含 'a-z'、'A-Z'、 '0-9'、 '-'(英文减号),或者 '.'(英文点号),"
|
||||
-"其中两个点号中不能为空且不能以 '-' 开头或结尾。"
|
||||
+"其中两个点号中不能为空,必须少于64个字符且不能以'.'和'-'开头或结尾。"
|
||||
|
||||
#: pyanaconda/network.py:457
|
||||
msgid "Status not available"
|
||||
diff --git a/pyanaconda/core/regexes.py b/pyanaconda/core/regexes.py
|
||||
index cc00702..388d1ff 100644
|
||||
--- a/pyanaconda/core/regexes.py
|
||||
+++ b/pyanaconda/core/regexes.py
|
||||
@@ -103,7 +103,7 @@ IPV4_NETMASK_WITH_ANCHORS = re.compile("^" + IPV4_NETMASK_WITHOUT_ANCHORS + "$")
|
||||
# with a period, but it can end with one.
|
||||
# This regex uses negative lookahead and lookback assertions to enforce the
|
||||
# hyphen rules and make it way more confusing
|
||||
-HOSTNAME_PATTERN_WITHOUT_ANCHORS = r'(?:(?!-)[A-Za-z0-9-]{1,63}(?<!-)(?:\.(?!-)[A-Za-z0-9-]{1,63}(?<!-))*\.?)'
|
||||
+HOSTNAME_PATTERN_WITHOUT_ANCHORS = r'(?:(?!-)[A-Za-z0-9-]{1,63}(?<!-)(?:\.(?!-)[A-Za-z0-9-]{1,63}(?<!-))*)'
|
||||
|
||||
# URL Hostname
|
||||
# This matches any hostname, IPv4 literal or properly encased IPv6 literal
|
||||
diff --git a/pyanaconda/network.py b/pyanaconda/network.py
|
||||
index 38fe957..c52cf1d 100644
|
||||
--- a/pyanaconda/network.py
|
||||
+++ b/pyanaconda/network.py
|
||||
@@ -115,7 +115,8 @@ def is_valid_hostname(hostname, local=False):
|
||||
return (False, _("Host names can only contain the characters 'a-z', "
|
||||
"'A-Z', '0-9', '-', or '.', parts between periods "
|
||||
"must contain something and cannot start or end with "
|
||||
- "'-'."))
|
||||
+ "must contain something being 63 or fewer "
|
||||
+ "characters and cannot start or end with '.' and '-'."))
|
||||
|
||||
return (True, "")
|
||||
|
||||
--
|
||||
2.23.0
|
||||
|
||||
38
hce.conf
Normal file
38
hce.conf
Normal file
@ -0,0 +1,38 @@
|
||||
# Anaconda configuration file for HCE.
|
||||
|
||||
[Profile]
|
||||
# Define the profile.
|
||||
profile_id = HCE
|
||||
|
||||
[Profile Detection]
|
||||
# Match os-release values.
|
||||
os_id = HCE
|
||||
variant_id = server
|
||||
|
||||
[Installation System]
|
||||
can_detect_enabled_smt = False
|
||||
|
||||
[Network]
|
||||
default_on_boot = FIRST_WIRED_WITH_LINK
|
||||
|
||||
[Bootloader]
|
||||
efi_dir = hce
|
||||
additional_arguments = crash_kexec_post_notifiers softlockup_panic=1 reserve_kbox_mem=16M fsck.mode=auto fsck.repair=yes
|
||||
|
||||
[Payload]
|
||||
enable_closest_mirror = True
|
||||
|
||||
[Storage]
|
||||
default_partitioning =
|
||||
/ (min 1 GiB, max 70 GiB)
|
||||
/home (min 500 MiB, free 50 GiB)
|
||||
swap
|
||||
|
||||
[Storage Constraints]
|
||||
swap_is_recommended = False
|
||||
|
||||
[User Interface]
|
||||
blivet_gui_supported = False
|
||||
|
||||
[License]
|
||||
eula = /usr/share/hce-release/EULA
|
||||
131
hide-help-button.patch
Normal file
131
hide-help-button.patch
Normal file
@ -0,0 +1,131 @@
|
||||
From cf192d77045b8aeb8cdcd55c98a93ad64fea3c3b Mon Sep 17 00:00:00 2001
|
||||
From: t_feng <fengtao40@huawei.com>
|
||||
Date: Fri, 19 Jun 2020 09:20:14 +0800
|
||||
Subject: [PATCH] hide help button
|
||||
|
||||
---
|
||||
data/tmux.conf | 3 +--
|
||||
pyanaconda/ui/gui/__init__.py | 27 ---------------------------
|
||||
widgets/src/BaseWindow.c | 21 ---------------------
|
||||
3 files changed, 1 insertion(+), 50 deletions(-)
|
||||
|
||||
diff --git a/data/tmux.conf b/data/tmux.conf
|
||||
index 87c9cb7..63240f7 100644
|
||||
--- a/data/tmux.conf
|
||||
+++ b/data/tmux.conf
|
||||
@@ -1,7 +1,6 @@
|
||||
# tmux.conf for the anaconda environment
|
||||
|
||||
bind -n M-tab next
|
||||
-bind -n F1 list-keys
|
||||
|
||||
set-option -s exit-unattached off
|
||||
set-option -g base-index 1
|
||||
@@ -25,7 +24,7 @@ set-option -g history-limit 10000
|
||||
# then re-attach to it in the tmux service run on the console tty.
|
||||
new-session -d -s anaconda -n main anaconda
|
||||
|
||||
-set-option status-right '#[fg=blue]#(echo -n "Switch tab: Alt+Tab | Help: F1 ")'
|
||||
+set-option status-right '#[fg=blue]#(echo -n "Switch tab: Alt+Tab ")'
|
||||
|
||||
new-window -d -n shell "bash --login"
|
||||
new-window -d -n log "tail -F /tmp/anaconda.log"
|
||||
diff --git a/pyanaconda/ui/gui/__init__.py b/pyanaconda/ui/gui/__init__.py
|
||||
index 06373d9..6a6e3b9 100644
|
||||
--- a/pyanaconda/ui/gui/__init__.py
|
||||
+++ b/pyanaconda/ui/gui/__init__.py
|
||||
@@ -443,20 +443,6 @@ class MainWindow(Gtk.Window):
|
||||
# Return False to indicate that the child allocation is not yet set
|
||||
return False
|
||||
|
||||
- def _on_mnemonics_visible_changed(self, window, property_type, obj):
|
||||
- # mnemonics display has been activated or deactivated,
|
||||
- # add or remove the F1 mnemonics display from the help button
|
||||
- help_button = obj.window.get_help_button()
|
||||
- if window.props.mnemonics_visible:
|
||||
- # save current label
|
||||
- old_label = help_button.get_label()
|
||||
- self._saved_help_button_label = old_label
|
||||
- # add the (F1) "mnemonics" to the help button
|
||||
- help_button.set_label("%s (F1)" % old_label)
|
||||
- else:
|
||||
- # restore the old label
|
||||
- help_button.set_label(self._saved_help_button_label)
|
||||
-
|
||||
def _on_child_added(self, widget, user_data):
|
||||
# If this is GtkLabel, apply the language attribute
|
||||
if isinstance(widget, Gtk.Label):
|
||||
@@ -480,8 +466,6 @@ class MainWindow(Gtk.Window):
|
||||
old_screen = self._stack.get_visible_child()
|
||||
if old_screen:
|
||||
old_screen.remove_accelerator(self._accel_group, Gdk.KEY_F12, 0)
|
||||
- old_screen.remove_accelerator(self._accel_group, Gdk.KEY_F1, 0)
|
||||
- old_screen.remove_accelerator(self._accel_group, Gdk.KEY_F1, Gdk.ModifierType.MOD1_MASK)
|
||||
|
||||
# Check if the widget is already on the stack
|
||||
if child not in self._stack_contents:
|
||||
@@ -498,17 +482,6 @@ class MainWindow(Gtk.Window):
|
||||
child.window.add_accelerator("button-clicked", self._accel_group,
|
||||
Gdk.KEY_F12, 0, 0)
|
||||
|
||||
- # Configure the help button
|
||||
- child.window.add_accelerator("help-button-clicked", self._accel_group,
|
||||
- Gdk.KEY_F1, 0, 0)
|
||||
- child.window.add_accelerator("help-button-clicked", self._accel_group,
|
||||
- Gdk.KEY_F1, Gdk.ModifierType.MOD1_MASK, 0)
|
||||
-
|
||||
- # Connect to mnemonics-visible to add the (F1) mnemonic to the button label
|
||||
- if self._mnemonic_signal:
|
||||
- self.disconnect(self._mnemonic_signal)
|
||||
- self._mnemonic_signal = self.connect("notify::mnemonics-visible", self._on_mnemonics_visible_changed, child)
|
||||
-
|
||||
self._stack.set_visible_child(child.window)
|
||||
|
||||
if child.focusWidgetName:
|
||||
diff --git a/widgets/src/BaseWindow.c b/widgets/src/BaseWindow.c
|
||||
index 6a1e372..203d4a7 100644
|
||||
--- a/widgets/src/BaseWindow.c
|
||||
+++ b/widgets/src/BaseWindow.c
|
||||
@@ -393,30 +393,11 @@ G_GNUC_END_IGNORE_DEPRECATIONS
|
||||
gtk_widget_set_margin_top(win->priv->layout_indicator, 6);
|
||||
gtk_widget_set_margin_bottom(win->priv->layout_indicator, 6);
|
||||
|
||||
- /* Create the help button. */
|
||||
- win->priv->help_button = gtk_button_new_with_label(_(HELP_BUTTON_LABEL));
|
||||
- gtk_widget_set_halign(win->priv->help_button, GTK_ALIGN_END);
|
||||
- gtk_widget_set_vexpand(win->priv->help_button, FALSE);
|
||||
- gtk_widget_set_valign(win->priv->help_button, GTK_ALIGN_END);
|
||||
- gtk_widget_set_margin_bottom(win->priv->help_button, 6);
|
||||
- gtk_widget_set_name(win->priv->help_button, "anaconda-help-button");
|
||||
-
|
||||
- atk = gtk_widget_get_accessible(win->priv->help_button);
|
||||
- atk_object_set_name(atk, _(HELP_BUTTON_LABEL));
|
||||
-
|
||||
- /* Hook up some signals for that button. The signal handlers here will
|
||||
- * just raise our own custom signals for the whole window.
|
||||
- */
|
||||
- g_signal_connect(win->priv->help_button, "clicked",
|
||||
- G_CALLBACK(anaconda_base_window_help_button_clicked), win);
|
||||
-
|
||||
-
|
||||
/* Add everything to the nav area. */
|
||||
gtk_grid_attach(GTK_GRID(win->priv->nav_area), win->priv->name_label, 0, 0, 1, 1);
|
||||
gtk_grid_attach(GTK_GRID(win->priv->nav_area), win->priv->distro_label, 1, 0, 2, 1);
|
||||
gtk_grid_attach(GTK_GRID(win->priv->nav_area), win->priv->beta_label, 1, 1, 1, 1);
|
||||
gtk_grid_attach(GTK_GRID(win->priv->nav_area), win->priv->layout_indicator, 1, 2, 1, 1);
|
||||
- gtk_grid_attach(GTK_GRID(win->priv->nav_area), win->priv->help_button, 2, 1, 1, 2);
|
||||
|
||||
/* Last thing for the main_box is a revealer for the info bar */
|
||||
win->priv->info_revealer = gtk_revealer_new();
|
||||
@@ -832,8 +813,6 @@ void anaconda_base_window_retranslate(AnacondaBaseWindow *win) {
|
||||
|
||||
gtk_label_set_text(GTK_LABEL(win->priv->beta_label), _(win->priv->orig_beta));
|
||||
|
||||
- gtk_button_set_label(GTK_BUTTON(win->priv->help_button), _(HELP_BUTTON_LABEL));
|
||||
-
|
||||
/* retranslate the layout indicator */
|
||||
anaconda_layout_indicator_retranslate(ANACONDA_LAYOUT_INDICATOR(win->priv->layout_indicator));
|
||||
}
|
||||
--
|
||||
2.23.0
|
||||
|
||||
25
modify-interface-is-extended-in-Chinese-mode.patch
Normal file
25
modify-interface-is-extended-in-Chinese-mode.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From ae056f86eca56a76ae9736d7f199d73548a7574b Mon Sep 17 00:00:00 2001
|
||||
From: t_feng <fengtao40@huawei.com>
|
||||
Date: Mon, 7 Nov 2022 20:03:39 +0800
|
||||
Subject: [PATCH] modify interface is extended in Chinese mode
|
||||
|
||||
---
|
||||
po/zh_CN.po | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/po/zh_CN.po b/po/zh_CN.po
|
||||
index 8f48aad..18b0925 100644
|
||||
--- a/po/zh_CN.po
|
||||
+++ b/po/zh_CN.po
|
||||
@@ -4433,7 +4433,7 @@ msgstr "搜索方式(_B):"
|
||||
|
||||
#: pyanaconda/ui/gui/spokes/advanced_storage.glade:153
|
||||
msgid "Port / Target / LUN #"
|
||||
-msgstr "端口 / 目标 / 逻辑单位数标示符 (LUN #)"
|
||||
+msgstr "端口 / 目标 / LUN # "
|
||||
|
||||
#: pyanaconda/ui/gui/spokes/advanced_storage.glade:154
|
||||
msgid "Target WWID"
|
||||
--
|
||||
2.23.0
|
||||
|
||||
184
modify-timezone-and-delete-datezone-map.patch
Normal file
184
modify-timezone-and-delete-datezone-map.patch
Normal file
@ -0,0 +1,184 @@
|
||||
From 303b072992542dfa9a7e2b2a9dc99120564a3f07 Mon Sep 17 00:00:00 2001
|
||||
From: sun_hai_10 <sunhai10@huawei.com>
|
||||
Date: Mon, 7 Nov 2022 14:23:04 +0800
|
||||
Subject: [PATCH] modify timezone and delete datezone map
|
||||
|
||||
---
|
||||
pyanaconda/modules/timezone/installation.py | 4 +-
|
||||
pyanaconda/modules/timezone/timezone.py | 2 +-
|
||||
pyanaconda/ui/gui/spokes/datetime_spoke.glade | 14 -------
|
||||
pyanaconda/ui/gui/spokes/datetime_spoke.py | 38 +++----------------
|
||||
4 files changed, 8 insertions(+), 50 deletions(-)
|
||||
|
||||
diff --git a/pyanaconda/modules/timezone/installation.py b/pyanaconda/modules/timezone/installation.py
|
||||
index 08e24c0..f11874f 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 b5d5f7b..2a328a3 100644
|
||||
--- a/pyanaconda/modules/timezone/timezone.py
|
||||
+++ b/pyanaconda/modules/timezone/timezone.py
|
||||
@@ -44,7 +44,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.glade b/pyanaconda/ui/gui/spokes/datetime_spoke.glade
|
||||
index 188f93b..aa468d9 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/datetime_spoke.glade
|
||||
+++ b/pyanaconda/ui/gui/spokes/datetime_spoke.glade
|
||||
@@ -3,7 +3,6 @@
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.12"/>
|
||||
<requires lib="AnacondaWidgets" version="1.0"/>
|
||||
- <requires lib="TimezoneMap" version="0.4"/>
|
||||
<object class="GtkListStore" id="cities">
|
||||
<columns>
|
||||
<!-- column-name name -->
|
||||
@@ -314,19 +313,6 @@
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
- <child>
|
||||
- <object class="CcTimezoneMap" id="tzmap">
|
||||
- <property name="visible">True</property>
|
||||
- <property name="can_focus">False</property>
|
||||
- <signal name="location-changed" handler="on_location_changed" swapped="no"/>
|
||||
- </object>
|
||||
- <packing>
|
||||
- <property name="expand">True</property>
|
||||
- <property name="fill">True</property>
|
||||
- <property name="padding">6</property>
|
||||
- <property name="position">1</property>
|
||||
- </packing>
|
||||
- </child>
|
||||
<child>
|
||||
<object class="GtkAlignment" id="footerAlignment">
|
||||
<property name="visible">True</property>
|
||||
diff --git a/pyanaconda/ui/gui/spokes/datetime_spoke.py b/pyanaconda/ui/gui/spokes/datetime_spoke.py
|
||||
index b21bbc3..c8416b4 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/datetime_spoke.py
|
||||
+++ b/pyanaconda/ui/gui/spokes/datetime_spoke.py
|
||||
@@ -50,15 +50,14 @@ from pyanaconda.threading import threadMgr, AnacondaThread
|
||||
import gi
|
||||
gi.require_version("Gdk", "3.0")
|
||||
gi.require_version("Gtk", "3.0")
|
||||
-gi.require_version("TimezoneMap", "1.0")
|
||||
|
||||
-from gi.repository import Gdk, Gtk, TimezoneMap
|
||||
+from gi.repository import Gdk, Gtk
|
||||
|
||||
log = get_module_logger(__name__)
|
||||
|
||||
__all__ = ["DatetimeSpoke"]
|
||||
|
||||
-DEFAULT_TZ = "America/New_York"
|
||||
+DEFAULT_TZ = "Asia/Shanghai"
|
||||
|
||||
SPLIT_NUMBER_SUFFIX_RE = re.compile(r'([^0-9]*)([-+])([0-9]+)')
|
||||
|
||||
@@ -168,11 +167,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||||
icon = "preferences-system-time-symbolic"
|
||||
title = CN_("GUI|Spoke", "_Time & Date")
|
||||
|
||||
- # Hack to get libtimezonemap loaded for GtkBuilder
|
||||
- # see https://bugzilla.gnome.org/show_bug.cgi?id=712184
|
||||
- _hack = TimezoneMap.TimezoneMap()
|
||||
- del(_hack)
|
||||
-
|
||||
@staticmethod
|
||||
def get_screen_id():
|
||||
"""Return a unique id of this UI screen."""
|
||||
@@ -211,7 +205,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||||
self._yearsStore = self.builder.get_object("years")
|
||||
self._regionsStore = self.builder.get_object("regions")
|
||||
self._citiesStore = self.builder.get_object("cities")
|
||||
- self._tzmap = self.builder.get_object("tzmap")
|
||||
self._dateBox = self.builder.get_object("dateBox")
|
||||
|
||||
# we need to know it the new value is the same as previous or not
|
||||
@@ -334,10 +327,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||||
else:
|
||||
return _("Invalid timezone")
|
||||
else:
|
||||
- location = self._tzmap.get_location()
|
||||
- if location and location.get_property("zone"):
|
||||
- return _("%s timezone") % get_xlated_timezone(location.get_property("zone"))
|
||||
- else:
|
||||
return _("Nothing selected")
|
||||
|
||||
def apply(self):
|
||||
@@ -389,7 +378,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||||
kickstart_timezone = self._timezone_module.Timezone
|
||||
|
||||
if is_valid_timezone(kickstart_timezone):
|
||||
- self._tzmap.set_timezone(kickstart_timezone)
|
||||
time.tzset()
|
||||
|
||||
self._update_datetime()
|
||||
@@ -766,7 +754,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||||
if region == "Etc":
|
||||
# Etc timezones cannot be displayed on the map, so let's reset the
|
||||
# location and manually set a highlight with no location pin.
|
||||
- self._tzmap.clear_location()
|
||||
# Some time zones are just the same default.
|
||||
if city in ("GMT", "UTC", "UCT", "Greenwich", "Universal", "Zulu"):
|
||||
offset = 0.0
|
||||
@@ -780,13 +767,14 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||||
else:
|
||||
log.warning("Unknown time zone selected in GUI: Etc/%s", city)
|
||||
|
||||
- self._tzmap.set_selected_offset(offset)
|
||||
time.tzset()
|
||||
else:
|
||||
# we don't want the timezone-changed signal to be emitted
|
||||
- self._tzmap.set_timezone(timezone)
|
||||
time.tzset()
|
||||
|
||||
+ self._tz = get_timezone(timezone)
|
||||
+ self._update_datetime()
|
||||
+
|
||||
# update "old" values
|
||||
self._old_city = city
|
||||
|
||||
@@ -836,22 +824,6 @@ class DatetimeSpoke(FirstbootSpokeMixIn, NormalSpoke):
|
||||
self._stop_and_maybe_start_time_updating(interval=5)
|
||||
self._daysFilter.refilter()
|
||||
|
||||
- def on_location_changed(self, tz_map, location):
|
||||
- if not location:
|
||||
- return
|
||||
-
|
||||
- timezone = location.get_property('zone')
|
||||
-
|
||||
- # Updating the timezone will update the region/city combo boxes to match.
|
||||
- # The on_city_changed handler will attempt to convert the timezone back
|
||||
- # to a location and set it in the map, which we don't want, since we
|
||||
- # already have a location. That's why we're here.
|
||||
- with blockedHandler(self._cityCombo, self.on_city_changed):
|
||||
- if self._set_timezone(timezone):
|
||||
- # timezone successfully set
|
||||
- self._tz = get_timezone(timezone)
|
||||
- self._update_datetime()
|
||||
-
|
||||
def on_timeformat_changed(self, button24h, *args):
|
||||
hours = int(self._hoursLabel.get_text())
|
||||
amPm = self._amPmLabel.get_text()
|
||||
--
|
||||
2.23.0
|
||||
|
||||
37
openeuler.conf
Normal file
37
openeuler.conf
Normal file
@ -0,0 +1,37 @@
|
||||
# Anaconda configuration file for {os_name}.
|
||||
|
||||
[Profile]
|
||||
# Define the profile.
|
||||
profile_id = {os_name}
|
||||
|
||||
[Profile Detection]
|
||||
# Match os-release values.
|
||||
os_id = {os_name}
|
||||
|
||||
[Installation System]
|
||||
can_detect_enabled_smt = False
|
||||
|
||||
[Network]
|
||||
default_on_boot = FIRST_WIRED_WITH_LINK
|
||||
|
||||
[Bootloader]
|
||||
efi_dir = openEuler
|
||||
additional_arguments = cgroup_disable=files
|
||||
|
||||
[Payload]
|
||||
enable_closest_mirror = True
|
||||
|
||||
[Storage]
|
||||
default_partitioning =
|
||||
/ (min 1 GiB, max 70 GiB)
|
||||
/home (min 500 MiB, free 50 GiB)
|
||||
swap
|
||||
|
||||
[Storage Constraints]
|
||||
swap_is_recommended = False
|
||||
|
||||
[User Interface]
|
||||
blivet_gui_supported = False
|
||||
|
||||
[License]
|
||||
eula = /usr/share/{os_name}-release/EULA
|
||||
28
remove-vender-issue-in-netdev.patch
Normal file
28
remove-vender-issue-in-netdev.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From b896b694238389a85539f60cab6ee41ab04c4f29 Mon Sep 17 00:00:00 2001
|
||||
From: t_feng <fengtao40@huawei.com>
|
||||
Date: Fri, 19 Jun 2020 10:25:20 +0800
|
||||
Subject: [PATCH] remove vender issue in netdev
|
||||
|
||||
---
|
||||
pyanaconda/ui/gui/spokes/network.py | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/pyanaconda/ui/gui/spokes/network.py b/pyanaconda/ui/gui/spokes/network.py
|
||||
index 1318e17..e906f9e 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/network.py
|
||||
+++ b/pyanaconda/ui/gui/spokes/network.py
|
||||
@@ -782,9 +782,8 @@ class NetworkControlBox(GObject.GObject):
|
||||
unplugged)
|
||||
|
||||
if device:
|
||||
- title += '\n<span size="small">%s %s</span>' % \
|
||||
- (escape_markup(device.get_vendor() or ""),
|
||||
- escape_markup(device.get_product() or ""))
|
||||
+ title += '\n<span size="small">%s</span>' % \
|
||||
+ (escape_markup(device.get_product() or ""))
|
||||
return title
|
||||
|
||||
def refresh_ui(self, state=None):
|
||||
--
|
||||
2.23.0
|
||||
|
||||
234
support-use-sm3-crypt-user-password.patch
Normal file
234
support-use-sm3-crypt-user-password.patch
Normal file
@ -0,0 +1,234 @@
|
||||
From b311b645f9447f7e765b0e418d3f37c32e2702e1 Mon Sep 17 00:00:00 2001
|
||||
From: liuxin <liuxin264@huawei.com>
|
||||
Date: Mon, 7 Nov 2022 19:07:50 +0800
|
||||
Subject: [PATCH] support use sm3 crypt user password
|
||||
|
||||
---
|
||||
po/zh_CN.po | 5 ++++
|
||||
pyanaconda/core/users.py | 5 +++-
|
||||
pyanaconda/ui/gui/spokes/root_password.glade | 15 ++++++++++++
|
||||
pyanaconda/ui/gui/spokes/root_password.py | 16 ++++++++++++-
|
||||
pyanaconda/ui/gui/spokes/user.glade | 16 ++++++++++++-
|
||||
pyanaconda/ui/gui/spokes/user.py | 14 ++++++++++-
|
||||
.../pyanaconda_tests/test_crypt_password.py | 23 +++++++++++++++++++
|
||||
7 files changed, 90 insertions(+), 4 deletions(-)
|
||||
create mode 100644 tests/unit_tests/pyanaconda_tests/test_crypt_password.py
|
||||
|
||||
diff --git a/po/zh_CN.po b/po/zh_CN.po
|
||||
index e31f0b2..8f48aad 100644
|
||||
--- a/po/zh_CN.po
|
||||
+++ b/po/zh_CN.po
|
||||
@@ -7640,3 +7640,8 @@ msgstr "开始安装到硬盘"
|
||||
#~ msgstr[0] ""
|
||||
#~ "<b>%(count)d 个磁盘;容量 %(size)s;空闲空间 %(free)s</b> (包括未分区及文"
|
||||
#~ "件系统内的部分)"
|
||||
+
|
||||
+#: pyanaconda/ui/gui/spokes/root_password.glade:215
|
||||
+#: pyanaconda/ui/gui/spokes/user.glade:278
|
||||
+msgid "Use SM3 to encrypt the password"
|
||||
+msgstr "使用SM3算法加密密码"
|
||||
diff --git a/pyanaconda/core/users.py b/pyanaconda/core/users.py
|
||||
index c2d14e2..649fad6 100644
|
||||
--- a/pyanaconda/core/users.py
|
||||
+++ b/pyanaconda/core/users.py
|
||||
@@ -38,7 +38,7 @@ from pyanaconda.anaconda_loggers import get_module_logger
|
||||
log = get_module_logger(__name__)
|
||||
|
||||
|
||||
-def crypt_password(password):
|
||||
+def crypt_password(password, algo=None):
|
||||
"""Crypt a password.
|
||||
|
||||
Process a password with appropriate salted one-way algorithm.
|
||||
@@ -51,6 +51,9 @@ def crypt_password(password):
|
||||
# so we need to generate the setting ourselves
|
||||
b64 = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
|
||||
setting = "$y$j9T$" + "".join(sr().choice(b64) for _sc in range(24))
|
||||
+
|
||||
+ if algo == "sm3":
|
||||
+ setting = crypt.METHOD_SM3
|
||||
|
||||
# and try to compute the password hash using our yescrypt setting
|
||||
try:
|
||||
diff --git a/pyanaconda/ui/gui/spokes/root_password.glade b/pyanaconda/ui/gui/spokes/root_password.glade
|
||||
index f710439..53bc90c 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/root_password.glade
|
||||
+++ b/pyanaconda/ui/gui/spokes/root_password.glade
|
||||
@@ -328,6 +328,21 @@ The root user (also known as super user) has complete access to the entire syste
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
+ <child>
|
||||
+ <object class="GtkCheckButton" id="passwd_sm3">
|
||||
+ <property name="label" translatable="yes">Use SM3 to encrypt the password</property>
|
||||
+ <property name="can_focus">True</property>
|
||||
+ <property name="receives_default">False</property>
|
||||
+ <property name="halign">start</property>
|
||||
+ <property name="draw_indicator">True</property>
|
||||
+ <signal name="clicked" handler="on_sm3_clicked" swapped="no"/>
|
||||
+ </object>
|
||||
+ <packing>
|
||||
+ <property name="expand">False</property>
|
||||
+ <property name="fill">True</property>
|
||||
+ <property name="position">3</property>
|
||||
+ </packing>
|
||||
+ </child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
diff --git a/pyanaconda/ui/gui/spokes/root_password.py b/pyanaconda/ui/gui/spokes/root_password.py
|
||||
index f2e389d..062f59d 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/root_password.py
|
||||
+++ b/pyanaconda/ui/gui/spokes/root_password.py
|
||||
@@ -68,6 +68,8 @@ class PasswordSpoke(FirstbootSpokeMixIn, NormalSpoke, GUISpokeInputCheckHandler)
|
||||
NormalSpoke.__init__(self, *args)
|
||||
GUISpokeInputCheckHandler.__init__(self)
|
||||
self._users_module = USERS.get_proxy()
|
||||
+ # sm3 password method
|
||||
+ self._passwd_method_sm3 = False
|
||||
|
||||
def initialize(self):
|
||||
NormalSpoke.initialize(self)
|
||||
@@ -83,6 +85,9 @@ class PasswordSpoke(FirstbootSpokeMixIn, NormalSpoke, GUISpokeInputCheckHandler)
|
||||
self._root_password_ssh_login_override.set_no_show_all(True)
|
||||
self._revealer = self.builder.get_object("password_revealer")
|
||||
|
||||
+ # sm3 object
|
||||
+ self._passwd_method_button = self.builder.get_object("passwd_sm3")
|
||||
+
|
||||
# Install the password checks:
|
||||
# - Has a password been specified?
|
||||
# - If a password has been specified and there is data in the confirm box, do they match?
|
||||
@@ -179,9 +184,15 @@ class PasswordSpoke(FirstbootSpokeMixIn, NormalSpoke, GUISpokeInputCheckHandler)
|
||||
return not self._users_module.CheckAdminUserExists()
|
||||
|
||||
def apply(self):
|
||||
+
|
||||
+ if self._passwd_method_sm3 is True:
|
||||
+ algo = "sm3"
|
||||
+ else:
|
||||
+ algo = None
|
||||
+
|
||||
if self.root_enabled and self.password:
|
||||
# Set the root password.
|
||||
- self._users_module.SetCryptedRootPassword(crypt_password(self.password))
|
||||
+ self._users_module.SetCryptedRootPassword(crypt_password(self.password, algo))
|
||||
|
||||
# Unlock the root account.
|
||||
self._users_module.SetRootAccountLocked(False)
|
||||
@@ -330,3 +341,6 @@ class PasswordSpoke(FirstbootSpokeMixIn, NormalSpoke, GUISpokeInputCheckHandler)
|
||||
self._revealer.set_reveal_child(unlocked)
|
||||
if unlocked:
|
||||
self.password_entry.grab_focus()
|
||||
+
|
||||
+ def on_sm3_clicked(self, button):
|
||||
+ self._passwd_method_sm3 = self._passwd_method_button.get_active()
|
||||
diff --git a/pyanaconda/ui/gui/spokes/user.glade b/pyanaconda/ui/gui/spokes/user.glade
|
||||
index 4783a9f..2e844fa 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/user.glade
|
||||
+++ b/pyanaconda/ui/gui/spokes/user.glade
|
||||
@@ -277,6 +277,20 @@
|
||||
<property name="top-attach">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
+ <child>
|
||||
+ <object class="GtkCheckButton" id="passwd_sm3">
|
||||
+ <property name="label" translatable="yes">Use SM3 to encrypt the password</property>
|
||||
+ <property name="can_focus">True</property>
|
||||
+ <property name="receives_default">False</property>
|
||||
+ <property name="halign">start</property>
|
||||
+ <property name="draw_indicator">True</property>
|
||||
+ <signal name="clicked" handler="on_sm3_clicked" swapped="no"/>
|
||||
+ </object>
|
||||
+ <packing>
|
||||
+ <property name="left_attach">1</property>
|
||||
+ <property name="top_attach">8</property>
|
||||
+ </packing>
|
||||
+ </child>
|
||||
<child>
|
||||
<!-- n-columns=3 n-rows=3 -->
|
||||
<object class="GtkGrid" id="grid2">
|
||||
@@ -324,7 +338,7 @@
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">1</property>
|
||||
- <property name="top-attach">8</property>
|
||||
+ <property name="top-attach">9</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
diff --git a/pyanaconda/ui/gui/spokes/user.py b/pyanaconda/ui/gui/spokes/user.py
|
||||
index 5b16443..cb62873 100644
|
||||
--- a/pyanaconda/ui/gui/spokes/user.py
|
||||
+++ b/pyanaconda/ui/gui/spokes/user.py
|
||||
@@ -261,6 +261,8 @@ class UserSpoke(FirstbootSpokeMixIn, NormalSpoke, GUISpokeInputCheckHandler):
|
||||
|
||||
self._users_module = USERS.get_proxy()
|
||||
self._password_is_required = True
|
||||
+ # sm3 password method
|
||||
+ self._passwd_method_sm3 = False
|
||||
|
||||
def initialize(self):
|
||||
NormalSpoke.initialize(self)
|
||||
@@ -294,6 +296,9 @@ class UserSpoke(FirstbootSpokeMixIn, NormalSpoke, GUISpokeInputCheckHandler):
|
||||
self._password_bar = self.builder.get_object("password_bar")
|
||||
self._password_label = self.builder.get_object("password_label")
|
||||
|
||||
+ # sm3 object
|
||||
+ self._passwd_method_button = self.builder.get_object("passwd_sm3")
|
||||
+
|
||||
# Install the password checks:
|
||||
# - Has a password been specified?
|
||||
# - If a password has been specified and there is data in the confirm box, do they match?
|
||||
@@ -470,7 +475,11 @@ class UserSpoke(FirstbootSpokeMixIn, NormalSpoke, GUISpokeInputCheckHandler):
|
||||
if self.password_required:
|
||||
if self.password:
|
||||
self.password_kickstarted = False
|
||||
- self.user.password = crypt_password(self.password)
|
||||
+ if self._passwd_method_sm3 is True:
|
||||
+ algo = "sm3"
|
||||
+ else:
|
||||
+ algo = None
|
||||
+ self.user.password = crypt_password(self.password, algo)
|
||||
self.user.is_crypted = True
|
||||
self.remove_placeholder_texts()
|
||||
|
||||
@@ -696,3 +705,6 @@ class UserSpoke(FirstbootSpokeMixIn, NormalSpoke, GUISpokeInputCheckHandler):
|
||||
NormalSpoke.on_back_clicked(self, button)
|
||||
else:
|
||||
log.info("Return to hub prevented by password checking rules.")
|
||||
+
|
||||
+ def on_sm3_clicked(self, button):
|
||||
+ self._passwd_method_sm3 = self._passwd_method_button.get_active()
|
||||
diff --git a/tests/unit_tests/pyanaconda_tests/test_crypt_password.py b/tests/unit_tests/pyanaconda_tests/test_crypt_password.py
|
||||
new file mode 100644
|
||||
index 0000000..c2e1e4c
|
||||
--- /dev/null
|
||||
+++ b/tests/unit_tests/pyanaconda_tests/test_crypt_password.py
|
||||
@@ -0,0 +1,23 @@
|
||||
+from pyanaconda.core.users import crypt_password
|
||||
+import unittest
|
||||
+import crypt
|
||||
+import os
|
||||
+
|
||||
+@unittest.skipIf(os.geteuid() != 0, "user creation must be run as root")
|
||||
+class CryptPasswordTest(unittest.TestCase):
|
||||
+ def setUp(self):
|
||||
+ pass
|
||||
+
|
||||
+ def tearDown(self):
|
||||
+ pass
|
||||
+
|
||||
+ def test_crypt_password(self):
|
||||
+ origin_password = "password"
|
||||
+ encrypted = crypt_password(origin_password, "sm3")
|
||||
+ self.assertTrue(encrypted.startswith("$sm3$"))
|
||||
+
|
||||
+ encrypted = crypt_password(origin_password)
|
||||
+ self.assertTrue(encrypted.startswith("$6$"))
|
||||
+
|
||||
+if __name__ == '__main__':
|
||||
+ unittest.main()
|
||||
--
|
||||
2.27.0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user