From 93d2775aa45fea7b154d6409e69f21ba46ae8d1c Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Feb 08 2021 19:23:51 +0000 Subject: Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/anaconda.git#74b214809dc86fd583692de1fe3ece83b1b94f6e --- diff --git a/.gitignore b/.gitignore index b56f859..dc80215 100644 --- a/.gitignore +++ b/.gitignore @@ -272,3 +272,4 @@ /anaconda-34.21.tar.bz2 /anaconda-34.22.tar.bz2 /anaconda-34.23.tar.bz2 +/anaconda-34.24.tar.bz2 diff --git a/0001-Revert-Remove-support-for-boot-arguments-without-ins.patch b/0001-Revert-Remove-support-for-boot-arguments-without-ins.patch new file mode 100644 index 0000000..ca419c1 --- /dev/null +++ b/0001-Revert-Remove-support-for-boot-arguments-without-ins.patch @@ -0,0 +1,243 @@ +From a9d2581448ddb4c9cb1904dca06512aa79145f80 Mon Sep 17 00:00:00 2001 +From: Jiri Konecny +Date: Mon, 8 Feb 2021 11:26:06 +0100 +Subject: [PATCH 1/3] Revert "Remove support for boot arguments without 'inst.' + prefix from Dracut (#1912502)" (#1907566) + +Allow to use Anaconda kernel args in Dracut without inst. prefix to not break +beaker. Beaker needs more time for adaptation so avoid to break it for RHEL-9. + +This reverts commit a45405de99a42e5af047f04b78d168b6d41fa513. +Related: rhbz#1907566 +--- + dracut/anaconda-diskroot | 2 +- + dracut/anaconda-ks-sendheaders.sh | 4 +-- + dracut/fetch-kickstart-disk | 2 +- + dracut/kickstart-genrules.sh | 2 +- + dracut/parse-anaconda-dd.sh | 2 +- + dracut/parse-anaconda-kickstart.sh | 6 ++--- + dracut/parse-anaconda-net.sh | 3 --- + dracut/parse-anaconda-options.sh | 39 ++++++++++++++---------------- + dracut/parse-anaconda-repo.sh | 6 ++--- + 9 files changed, 30 insertions(+), 36 deletions(-) + +diff --git a/dracut/anaconda-diskroot b/dracut/anaconda-diskroot +index 274849fdb3..2797e67625 100755 +--- a/dracut/anaconda-diskroot ++++ b/dracut/anaconda-diskroot +@@ -39,7 +39,7 @@ run_checkisomd5() { + + dev="$1" + path="$2" # optional, could be empty +-kickstart="$(getarg inst.ks=)" ++kickstart="$(getarg ks= inst.ks=)" + + # Log the device that triggered this job. + debug_msg "Trying to find a root image on the device $dev." +diff --git a/dracut/anaconda-ks-sendheaders.sh b/dracut/anaconda-ks-sendheaders.sh +index a479a50667..7bc97393b8 100755 +--- a/dracut/anaconda-ks-sendheaders.sh ++++ b/dracut/anaconda-ks-sendheaders.sh +@@ -5,7 +5,7 @@ + command -v set_http_header >/dev/null || . /lib/url-lib.sh + + # inst.ks.sendmac: send MAC addresses in HTTP headers +-if getargbool 0 inst.ks.sendmac; then ++if getargbool 0 kssendmac inst.ks.sendmac; then + ifnum=0 + for ifname in /sys/class/net/*; do + [ -e "$ifname/address" ] || continue +@@ -21,7 +21,7 @@ if getargbool 0 inst.ks.sendmac; then + fi + + # inst.ks.sendsn: send system serial number in HTTP headers +-if getargbool 0 inst.ks.sendsn; then ++if getargbool 0 kssendsn inst.ks.sendsn; then + system_serial=$(cat /sys/class/dmi/id/product_serial 2>/dev/null) + if [ -z "$system_serial" ]; then + warn "inst.ks.sendsn: can't find system serial number" +diff --git a/dracut/fetch-kickstart-disk b/dracut/fetch-kickstart-disk +index b1ee9f826c..7eb769ea5c 100755 +--- a/dracut/fetch-kickstart-disk ++++ b/dracut/fetch-kickstart-disk +@@ -6,7 +6,7 @@ command -v getarg >/dev/null || . /lib/dracut-lib.sh + + dev="$1" + path="${2:-/ks.cfg}" +-kickstart="$(getarg inst.ks=)" ++kickstart="$(getarg ks= inst.ks=)" + + [ -e /tmp/ks.cfg.done ] && exit 1 + [ -b "$dev" ] || exit 1 +diff --git a/dracut/kickstart-genrules.sh b/dracut/kickstart-genrules.sh +index 84277890dd..8e1ba22643 100755 +--- a/dracut/kickstart-genrules.sh ++++ b/dracut/kickstart-genrules.sh +@@ -28,7 +28,7 @@ case "${kickstart%%:*}" in + wait_for_kickstart + ;; + "") +- if [ -z "$kickstart" -a -z "$(getarg inst.ks=)" ]; then ++ if [ -z "$kickstart" -a -z "$(getarg ks= inst.ks=)" ]; then + when_diskdev_appears $(disk_to_dev_path LABEL=OEMDRV) \ + fetch-kickstart-disk \$env{DEVNAME} "/ks.cfg" + fi +diff --git a/dracut/parse-anaconda-dd.sh b/dracut/parse-anaconda-dd.sh +index 8eeceb9a49..3633d29282 100755 +--- a/dracut/parse-anaconda-dd.sh ++++ b/dracut/parse-anaconda-dd.sh +@@ -11,7 +11,7 @@ + rm -f /tmp/dd_interactive /tmp/dd_net /tmp/dd_disk /tmp/dd_todo + + # parse any dd/inst.dd args found +-for dd in $(getargs inst.dd=); do ++for dd in $(getargs dd= inst.dd=); do + case "$dd" in + # plain 'dd'/'inst.dd': Engage interactive mode! + dd|inst.dd) echo menu > /tmp/dd_interactive ;; +diff --git a/dracut/parse-anaconda-kickstart.sh b/dracut/parse-anaconda-kickstart.sh +index 83b319dc7d..1f4f190db9 100755 +--- a/dracut/parse-anaconda-kickstart.sh ++++ b/dracut/parse-anaconda-kickstart.sh +@@ -5,9 +5,9 @@ + [ -f /tmp/ks.cfg.done ] && return + + # inst.ks: provide a "URI" for the kickstart file +-kickstart="$(getarg inst.ks=)" ++kickstart="$(getarg ks= inst.ks=)" + if [ -z "$kickstart" ]; then +- getargbool 0 inst.ks && kickstart='nfs:auto' ++ getargbool 0 ks inst.ks && kickstart='nfs:auto' + fi + # no root? the kickstart will probably tell us what our root device is. + [ "$kickstart" ] && [ -z "$root" ] && root="anaconda-kickstart" +@@ -23,7 +23,7 @@ case "${kickstart%%:*}" in + set_neednet + ;; + urls) # multiple network kickstarts? +- locations="$(getargs inst.ks=)" ++ locations="$(getargs ks= inst.ks=)" + get_urls "$locations" >/tmp/ks_urls + set_neednet + ;; +diff --git a/dracut/parse-anaconda-net.sh b/dracut/parse-anaconda-net.sh +index f09ec8d098..5518546e5b 100755 +--- a/dracut/parse-anaconda-net.sh ++++ b/dracut/parse-anaconda-net.sh +@@ -16,9 +16,6 @@ mac_to_bootif() { + + # handle ksdevice (tell us which device to use for ip= stuff later) + export ksdevice="" +-# TODO: Remove support for ksdevice. It's deprecated a long time already +-# this should be inst.ksdevice however, this is deprecated a long time so we don't have +-# any inst.ksdevice. Let's just ignore this for now. + ksdev_val=$(getarg ksdevice=) + if [ -n "$ksdev_val" ]; then + case "$ksdev_val" in +diff --git a/dracut/parse-anaconda-options.sh b/dracut/parse-anaconda-options.sh +index debe8ac0cb..c2735b0e19 100755 +--- a/dracut/parse-anaconda-options.sh ++++ b/dracut/parse-anaconda-options.sh +@@ -58,12 +58,6 @@ check_removed_arg() { + fi + } + +-check_removed_no_inst_arg() { +- local removed_arg="$1" new_arg="$2" +- check_removed_arg "$removed_arg" "All usage of Anaconda boot arguments without 'inst.' prefix \ +-was removed. Please use $new_arg instead." +-} +- + check_depr_args "blacklist=" "inst.blacklist=%s" + check_depr_arg "nofirewire" "inst.blacklist=firewire_ohci" + +@@ -83,32 +77,35 @@ check_removed_arg askmethod "Use an appropriate 'inst.repo=' argument instead." + check_removed_arg asknetwork "Use an appropriate 'ip=' argument instead." + + # lang & keymap +-check_removed_no_inst_arg "lang" "inst.lang" +-check_removed_no_inst_arg "keymap" "inst.keymap" ++warn_renamed_arg "lang" "inst.lang" ++warn_renamed_arg "keymap" "inst.keymap" ++ ++# debug ++warn_renamed_arg "debug" "inst.debug" + + # repo + check_depr_arg "method=" "repo=%s" +-check_removed_no_inst_arg "repo" "inst.repo" ++warn_renamed_arg "repo" "inst.repo" + + # stage2 +-check_removed_no_inst_arg "stage2" "inst.stage2" ++warn_renamed_arg "stage2" "inst.stage2" + + # kickstart +-check_removed_no_inst_arg "ks" "inst.ks" +-check_removed_no_inst_arg "ksdevice" "inst.ks.device" +-check_removed_no_inst_arg "kssendmac" "inst.ks.sendmac" +-check_removed_no_inst_arg "kssendsn" "inst.ks.sendsn" ++warn_renamed_arg "ks" "inst.ks" ++warn_renamed_arg "ksdevice" "inst.ks.device" ++warn_renamed_arg "kssendmac" "inst.ks.sendmac" ++warn_renamed_arg "kssendsn" "inst.ks.sendsn" + + # Ignore self-signed SSL certs +-check_removed_no_inst_arg "noverifyssl" "inst.noverifyssl" +-if getargbool 0 inst.noverifyssl; then ++warn_renamed_arg "noverifyssl" "inst.noverifyssl" ++if getargbool 0 noverifyssl inst.noverifyssl; then + # Tell dracut to use curl --insecure + echo "rd.noverifyssl" >> /etc/cmdline.d/75-anaconda-options.conf + fi + + # updates +-check_removed_no_inst_arg "updates" "inst.updates" +-if updates=$(getarg inst.updates); then ++warn_renamed_arg "updates=" "inst.updates" ++if updates=$(getarg updates inst.updates); then + if [ -n "$updates" ]; then + export anac_updates=$updates + case $updates in +@@ -122,11 +119,11 @@ if updates=$(getarg inst.updates); then + fi + + # for vnc bring network up in initramfs so that cmdline configuration is used +-check_removed_no_inst_arg "vnc" "inst.vnc" +-getargbool 0 inst.vnc && warn "anaconda requiring network for vnc" && set_neednet ++warn_renamed_arg "vnc" "inst.vnc" ++getargbool 0 vnc inst.vnc && warn "anaconda requiring network for vnc" && set_neednet + + # Driver Update Disk +-check_removed_no_inst_arg "dd" "inst.dd" ++warn_renamed_arg "dd" "inst.dd" + + # re-read the commandline args + unset CMDLINE +diff --git a/dracut/parse-anaconda-repo.sh b/dracut/parse-anaconda-repo.sh +index fdc937a95a..a1f96b3d98 100755 +--- a/dracut/parse-anaconda-repo.sh ++++ b/dracut/parse-anaconda-repo.sh +@@ -4,8 +4,8 @@ + # If there's a root= arg, we'll just use that + getarg root= >/dev/null && return + +-repo="$(getarg inst.repo=)" +-stage2="$(getarg inst.stage2=)" ++repo="$(getarg repo= inst.repo=)" ++stage2="$(getarg stage2= inst.stage2=)" + + arg="repo" + # default to using repo, but if we have stage2=, use that +@@ -26,7 +26,7 @@ if [ -n "$repo" ]; then + ;; + urls) + root="anaconda-net:urls" +- locations="$(getargs inst.stage2=)" ++ locations="$(getargs stage2= inst.stage2=)" + get_urls "$locations" >/tmp/stage2_urls + set_neednet + ;; +-- +2.29.2 + diff --git a/0002-Revert-Do-not-support-no-inst.-Anaconda-boot-args-in.patch b/0002-Revert-Do-not-support-no-inst.-Anaconda-boot-args-in.patch new file mode 100644 index 0000000..e37e5e9 --- /dev/null +++ b/0002-Revert-Do-not-support-no-inst.-Anaconda-boot-args-in.patch @@ -0,0 +1,59 @@ +From 5f066c4125d7a648958b31b909934e02cf397db8 Mon Sep 17 00:00:00 2001 +From: Jiri Konecny +Date: Mon, 8 Feb 2021 11:27:26 +0100 +Subject: [PATCH 2/3] Revert "Do not support no inst. Anaconda boot args in + systemd services (#1912502)" (#1907566) + +Allow to use Anaconda kernel boot arguments systemd units to not break beaker. +Beaker needs more time to adaptation so avoid to break it for RHEL-9. + +This reverts commit 322e6a847d73ea17fe99aaae4129e14409488b6b. +Related: rhbz#1907566 +--- + data/systemd/anaconda-noshell.service | 1 + + data/systemd/anaconda-shell@.service | 1 + + data/systemd/anaconda-sshd.service | 2 ++ + 3 files changed, 4 insertions(+) + +diff --git a/data/systemd/anaconda-noshell.service b/data/systemd/anaconda-noshell.service +index ca4dbd328d..f378c67b0c 100644 +--- a/data/systemd/anaconda-noshell.service ++++ b/data/systemd/anaconda-noshell.service +@@ -3,6 +3,7 @@ Description=Restrict Anaconda Text Console + After=anaconda.service + Before=anaconda-tmux@.service + ConditionKernelCommandLine=|inst.noshell ++ConditionKernelCommandLine=|noshell + + [Service] + Type=oneshot +diff --git a/data/systemd/anaconda-shell@.service b/data/systemd/anaconda-shell@.service +index b0dd4b7c66..bc69fd1208 100644 +--- a/data/systemd/anaconda-shell@.service ++++ b/data/systemd/anaconda-shell@.service +@@ -3,6 +3,7 @@ + [Unit] + Description=Shell on %I + After=systemd-user-sessions.service plymouth-quit-wait.service ++ConditionKernelCommandLine=!noshell + ConditionKernelCommandLine=!inst.noshell + + [Service] +diff --git a/data/systemd/anaconda-sshd.service b/data/systemd/anaconda-sshd.service +index 8b5b16fbbe..8cba2c4bb0 100644 +--- a/data/systemd/anaconda-sshd.service ++++ b/data/systemd/anaconda-sshd.service +@@ -3,8 +3,10 @@ Description=OpenSSH server daemon + Before=anaconda.target + After=syslog.target network.target sshd-keygen.target + Wants=sshd-keygen.target ++ConditionKernelCommandLine=|sshd + ConditionKernelCommandLine=|inst.sshd + ConditionKernelCommandLine=!inst.sshd=0 ++ConditionKernelCommandLine=!sshd=0 + # TODO: use ConditionArchitecture in systemd v210 or later + ConditionPathIsDirectory=|/sys/hypervisor/s390 + +-- +2.29.2 + diff --git a/0003-Do-not-require-inst.-prefixes-for-Anaconda-boot-argu.patch b/0003-Do-not-require-inst.-prefixes-for-Anaconda-boot-argu.patch new file mode 100644 index 0000000..acd6a8b --- /dev/null +++ b/0003-Do-not-require-inst.-prefixes-for-Anaconda-boot-argu.patch @@ -0,0 +1,45 @@ +From cf93029a69a5b7d21d9478fad0c5c619ea2008d1 Mon Sep 17 00:00:00 2001 +From: Jiri Konecny +Date: Mon, 8 Feb 2021 11:32:03 +0100 +Subject: [PATCH 3/3] Do not require inst. prefixes for Anaconda boot arguments + (#1907566) + +Beaker needs more time for adaptation. Create this change to not break beaker +for RHEL-9. + +Related: rhbz#1907566 +--- + anaconda.py | 3 --- + pyanaconda/argument_parsing.py | 2 +- + 2 files changed, 1 insertion(+), 4 deletions(-) + +diff --git a/anaconda.py b/anaconda.py +index edd518046a..3dc424188f 100755 +--- a/anaconda.py ++++ b/anaconda.py +@@ -308,9 +308,6 @@ if __name__ == "__main__": + stdout_log.warning("Kernel boot argument '%s' detected. " + "Did you want to use 'inst.%s' for the installer instead?", + arg, arg) +- if removed_no_inst_args: +- stdout_log.warning("All Anaconda kernel boot arguments are now required to use " +- "'inst.' prefix!") + + from pyanaconda import isys + +diff --git a/pyanaconda/argument_parsing.py b/pyanaconda/argument_parsing.py +index 330a71ed64..096b1eba9e 100644 +--- a/pyanaconda/argument_parsing.py ++++ b/pyanaconda/argument_parsing.py +@@ -388,7 +388,7 @@ def getArgumentParser(version_string, boot_cmdline=None): + # If require_prefix is False, it also accepts the option without the + # bootarg_prefix ('repo'). + # See anaconda_optparse.py and KernelArguments (in flags.py) for details. +- ap = AnacondaArgumentParser(bootarg_prefix="inst.", require_prefix=True) ++ ap = AnacondaArgumentParser(bootarg_prefix="inst.", require_prefix=False) + help_parser = HelpTextParser(os.path.join(datadir, "anaconda_options.txt")) + + # NOTE: store_false options will *not* get negated when the user does +-- +2.29.2 + diff --git a/anaconda.spec b/anaconda.spec index 191d5e7..473a89d 100644 --- a/anaconda.spec +++ b/anaconda.spec @@ -1,6 +1,6 @@ Summary: Graphical system installer Name: anaconda -Version: 34.23 +Version: 34.24 Release: 1%{?dist} License: GPLv2+ and MIT URL: http://fedoraproject.org/wiki/Anaconda @@ -12,6 +12,17 @@ URL: http://fedoraproject.org/wiki/Anaconda # make dist Source0: %{name}-%{version}.tar.bz2 +# TODO: Remove this as soon as rhbz#1907566 will be solved! +# These patches will disable requirement of inst. prefix for RHEL-9. +# We need these to avoid beaker breakage see rhbz#1907566 for more info. +# Patches are generated from last three commits on: +# https://github.com/jkonecny12/anaconda/tree/master-add-patches-to-allow-no-inst-prefix +%if 0%{?rhel} == 9 +Patch0: 0001-Revert-Remove-support-for-boot-arguments-without-ins.patch +Patch1: 0002-Revert-Do-not-support-no-inst.-Anaconda-boot-args-in.patch +Patch2: 0003-Do-not-require-inst.-prefixes-for-Anaconda-boot-argu.patch +%endif + # Versions of required components (done so we make sure the buildrequires # match the requires versions of things). @@ -409,6 +420,31 @@ desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{buildroot}%{_d %{_prefix}/libexec/anaconda/dd_* %changelog +* Mon Feb 08 2021 Martin Kolman - 34.24-1 +- Modify spec file to add patches required on rhel-9 rebuild (#1907566) + (jkonecny) +- Unify GRUB configuration file location across all platforms (javierm) +- Do not use redirector for rawhide repository for iso building on PR + (rvykydal) +- Move finding flatpak size to a task (vslavik) +- Move flatpak installation code to a task (vslavik) +- Move and rename FlatpakPayload (vslavik) +- Abort with a message on invalid host name in kickstart (vslavik) +- Use redirector for rawhide repository for iso building on PR (rvykydal) +- Add tests for the inst. prefix requirement (#1912502) (jkonecny) +- Do not support no inst. Anaconda boot args in systemd services (#1912502) + (jkonecny) +- Remove check to avoid process of help and version boot args (#1912502) + (jkonecny) +- Remove Anaconda boot arguments without inst. prefix from stage2 (#1912502) + (jkonecny) +- Add support for non-critical installation errors (vponcova) +- Don't run a canceled task (vponcova) +- Fix exclude arguments of tar payload extracting. (rvykydal) +- Remove support for boot arguments without 'inst.' prefix from Dracut + (#1912502) (jkonecny) +- Cache flatpak size instead of persistent instance (vslavik) + * Fri Feb 05 2021 Martin Kolman - 34.23-1 - Add a metapackage for image (boot.iso) dependencies (vslavik) - Take dnf substitutions from installer environment configuration (rvykydal) diff --git a/sources b/sources index e723fbd..24ae731 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (anaconda-34.23.tar.bz2) = f938525d1f05e7fde4b50f08469f822225277f4326135488f2e9ec4938a0a33b8d514f8dbf8919debc251797660600b942f081b7d087eb6a4d308dd979d1e90d +SHA512 (anaconda-34.24.tar.bz2) = 5a5b240debf0b45ab7471ad8639bc634741582fd4e86fd8cea8ff516ee9cf90fe35f0193c2383306ad68125569d80a7968017092b36979f240026b15eddf2276