Mageia Bugzilla – Attachment 11299 Details for
Bug 24438
urpmi.addmedia --distrib adds repositories with "Core 32bit Release" and "Core 32bit Updates" disabled while Nonfree/Tainted 32bit are enabled, causing problems when updating 32bit packages
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
cherry-picked patch #2 needed for mga6
0002-On-systems-with-32-bit-EFI-enable-the-Core-32bit-med.patch (text/plain), 3.01 KB, created by
Martin Whitaker
on 2019-10-05 16:39:27 CEST
(
hide
)
Description:
cherry-picked patch #2 needed for mga6
Filename:
MIME Type:
Creator:
Martin Whitaker
Created:
2019-10-05 16:39:27 CEST
Size:
3.01 KB
patch
obsolete
>From 8eb0cf09387eb095b49a97d6c8014948508dc5b5 Mon Sep 17 00:00:00 2001 >From: Martin Whitaker <mageia@martin-whitaker.me.uk> >Date: Sat, 25 May 2019 11:42:54 +0100 >Subject: [PATCH 2/3] On systems with 32-bit EFI, enable the Core 32bit media > by default. > >(cherry picked from commit 95b705797d4f5eb3c3102633baa87e72d3affd34) > >diff --git a/urpm/media.pm b/urpm/media.pm >index 62a5d5d3..cadfc173 100644 >--- a/urpm/media.pm >+++ b/urpm/media.pm >@@ -4,7 +4,7 @@ package urpm::media; > use strict; > use urpm qw(file_from_local_medium is_local_medium); > use urpm::msg; >-use urpm::util qw(any append_to_file basename cat_ difference2 dirname intersection member output_safe begins_with copy_and_own file_size offset_pathname reduce_pathname); >+use urpm::util qw(any append_to_file basename cat_ difference2 dirname intersection member output_safe begins_with copy_and_own file_size offset_pathname reduce_pathname uefi_type); > use urpm::removable; > use urpm::lock; > use urpm::md5sum; >@@ -784,13 +784,13 @@ sub is_media_to_add_by_default { > my $add_by_default = !$distribconf->getvalue($medium, 'noauto'); > my @media_types = split(':', $distribconf->getvalue($medium, 'media_type')); > return $add_by_default if !@media_types; >+ my $non_regular_medium = intersection(\@media_types, [ qw(backports debug source testing) ]); > if ($product_id->{product} eq 'Free') { > if (member('non-free', @media_types)) { > $urpm->{log}(N("ignoring non-free medium `%s'", $medium)); > $add_by_default = 0; > } > } else { >- my $non_regular_medium = intersection(\@media_types, [ qw(backports debug source testing) ]); > if (!$add_by_default && !$non_regular_medium) { > my $medium_name = $distribconf->getvalue($medium, 'name') || ''; > # Don't enable 32-bit media by default on 64-bit systems (mga#24376). '32bit' only appears >@@ -805,6 +805,16 @@ sub is_media_to_add_by_default { > } > } > } >+ if ($distribconf->getvalue('media_info', 'arch') eq 'x86_64' && uefi_type() eq 'ia32') { >+ if (!$add_by_default && !$non_regular_medium) { >+ my $medium_name = $distribconf->getvalue($medium, 'name') || ''; >+ # Enable 32-bit media by default to allow 32-bit grub2-efi to be installed/updated. >+ if ($medium_name =~ /Core/ && $medium_name =~ /32bit/) { >+ $add_by_default = 1; >+ $urpm->{log}(N("un-ignoring 32bit medium `%s' b/c system is 32-bit EFI", $medium_name)); >+ } >+ } >+ } > $add_by_default; > } > >diff --git a/urpm/util.pm b/urpm/util.pm >index 931a0bc0..e19df263 100644 >--- a/urpm/util.pm >+++ b/urpm/util.pm >@@ -30,6 +30,7 @@ our @EXPORT = qw(add2hash_ > reduce_pathname > remove_internal_name > same_size_and_mtime >+ uefi_type > uniq > uniq_ > unquotespace >@@ -215,6 +216,16 @@ sub append_to_file { > 1; > } > >+#- return the UEFI machine type short name >+sub uefi_type() { >+ if (-e '/sys/firmware/efi/fw_platform_size') { >+ # No support for ARM yet >+ cat_('/sys/firmware/efi/fw_platform_size') =~ /32/ ? 'ia32' : 'x64'; >+ } else { >+ 'none'; >+ } >+} >+ > 1; > > >-- >2.21.0
From 8eb0cf09387eb095b49a97d6c8014948508dc5b5 Mon Sep 17 00:00:00 2001 From: Martin Whitaker <mageia@martin-whitaker.me.uk> Date: Sat, 25 May 2019 11:42:54 +0100 Subject: [PATCH 2/3] On systems with 32-bit EFI, enable the Core 32bit media by default. (cherry picked from commit 95b705797d4f5eb3c3102633baa87e72d3affd34) diff --git a/urpm/media.pm b/urpm/media.pm index 62a5d5d3..cadfc173 100644 --- a/urpm/media.pm +++ b/urpm/media.pm @@ -4,7 +4,7 @@ package urpm::media; use strict; use urpm qw(file_from_local_medium is_local_medium); use urpm::msg; -use urpm::util qw(any append_to_file basename cat_ difference2 dirname intersection member output_safe begins_with copy_and_own file_size offset_pathname reduce_pathname); +use urpm::util qw(any append_to_file basename cat_ difference2 dirname intersection member output_safe begins_with copy_and_own file_size offset_pathname reduce_pathname uefi_type); use urpm::removable; use urpm::lock; use urpm::md5sum; @@ -784,13 +784,13 @@ sub is_media_to_add_by_default { my $add_by_default = !$distribconf->getvalue($medium, 'noauto'); my @media_types = split(':', $distribconf->getvalue($medium, 'media_type')); return $add_by_default if !@media_types; + my $non_regular_medium = intersection(\@media_types, [ qw(backports debug source testing) ]); if ($product_id->{product} eq 'Free') { if (member('non-free', @media_types)) { $urpm->{log}(N("ignoring non-free medium `%s'", $medium)); $add_by_default = 0; } } else { - my $non_regular_medium = intersection(\@media_types, [ qw(backports debug source testing) ]); if (!$add_by_default && !$non_regular_medium) { my $medium_name = $distribconf->getvalue($medium, 'name') || ''; # Don't enable 32-bit media by default on 64-bit systems (mga#24376). '32bit' only appears @@ -805,6 +805,16 @@ sub is_media_to_add_by_default { } } } + if ($distribconf->getvalue('media_info', 'arch') eq 'x86_64' && uefi_type() eq 'ia32') { + if (!$add_by_default && !$non_regular_medium) { + my $medium_name = $distribconf->getvalue($medium, 'name') || ''; + # Enable 32-bit media by default to allow 32-bit grub2-efi to be installed/updated. + if ($medium_name =~ /Core/ && $medium_name =~ /32bit/) { + $add_by_default = 1; + $urpm->{log}(N("un-ignoring 32bit medium `%s' b/c system is 32-bit EFI", $medium_name)); + } + } + } $add_by_default; } diff --git a/urpm/util.pm b/urpm/util.pm index 931a0bc0..e19df263 100644 --- a/urpm/util.pm +++ b/urpm/util.pm @@ -30,6 +30,7 @@ our @EXPORT = qw(add2hash_ reduce_pathname remove_internal_name same_size_and_mtime + uefi_type uniq uniq_ unquotespace @@ -215,6 +216,16 @@ sub append_to_file { 1; } +#- return the UEFI machine type short name +sub uefi_type() { + if (-e '/sys/firmware/efi/fw_platform_size') { + # No support for ARM yet + cat_('/sys/firmware/efi/fw_platform_size') =~ /32/ ? 'ia32' : 'x64'; + } else { + 'none'; + } +} + 1; -- 2.21.0
View Attachment As Raw
Actions:
View
Attachments on
bug 24438
:
11291
|
11298
| 11299 |
11329
|
11330