Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package installation-images for 
openSUSE:Factory checked in at 2021-02-26 21:58:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/installation-images (Old)
 and      /work/SRC/openSUSE:Factory/.installation-images.new.2378 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "installation-images"

Fri Feb 26 21:58:53 2021 rev:126 rq:875283 version:16.47

Changes:
--------
--- /work/SRC/openSUSE:Factory/installation-images/installation-images.changes  
2021-02-04 20:22:18.258664581 +0100
+++ 
/work/SRC/openSUSE:Factory/.installation-images.new.2378/installation-images.changes
        2021-02-26 21:59:00.795797731 +0100
@@ -1,0 +2,100 @@
+Thu Feb 25 14:26:30 UTC 2021 - wfe...@opensuse.org
+
+- merge gh#openSUSE/installation-images#460
+- go back to plymouth-theme-tribar (bsc#1182755)
+- adjust spec file
+- 16.47
+
+--------------------------------------------------------------------
+Tue Feb 23 09:08:16 UTC 2021 - wfe...@opensuse.org
+
+- merge gh#openSUSE/installation-images#459
+- fix adapting grub.cfg for different architectures (bsc#1182593)
+- 16.46
+
+--------------------------------------------------------------------
+Mon Feb 22 11:44:59 UTC 2021 - wfe...@opensuse.org
+
+- merge gh#openSUSE/installation-images#458
+- Do not use shim on aarch64 for SLE Micro (based on SP2)
+- 16.45
+
+--------------------------------------------------------------------
+Fri Feb 19 17:30:02 UTC 2021 - wfe...@opensuse.org
+
+- merge gh#openSUSE/installation-images#457
+- fix kernel & initrd location for x86_64 (bsc#1182239)
+- 16.44
+
+--------------------------------------------------------------------
+Fri Feb 19 16:19:54 UTC 2021 - wfe...@opensuse.org
+
+- fix library dependency check
+- 16.43
+
+--------------------------------------------------------------------
+Fri Feb 19 13:07:05 UTC 2021 - wfe...@opensuse.org
+
+- drop linuxefi/initrdefi on x86_64
+
+--------------------------------------------------------------------
+Fri Feb 19 12:56:10 UTC 2021 - wfe...@opensuse.org
+
+- enable shim on aarch64
+
+--------------------------------------------------------------------
+Thu Feb 18 18:11:55 UTC 2021 - wfe...@opensuse.org
+
+- unify all EFI-using grub configurations into a single config file
+  (bsc#1182239)
+
+--------------------------------------------------------------------
+Thu Feb 18 17:03:55 UTC 2021 - wfe...@opensuse.org
+
+- Use one grub.cfg for all ARM architectures
+
+--------------------------------------------------------------------
+Thu Feb 18 15:35:54 UTC 2021 - wfe...@opensuse.org
+
+- merge gh#openSUSE/installation-images#455
+- allow wildcards in modinfo firmware names (bsc#1180336)
+- 16.42
+
+--------------------------------------------------------------------
+Thu Feb 18 13:59:59 UTC 2021 - wfe...@opensuse.org
+
+- merge gh#openSUSE/installation-images#454
+- spec: no longer have ports project for Leap since 15.3
+- 16.41
+
+--------------------------------------------------------------------
+Thu Feb 18 13:58:41 UTC 2021 - wfe...@opensuse.org
+
+- merge gh#openSUSE/installation-images#452
+- remove some obsolete parts from installation-images (bsc#1182291)
+- rewrite check_libs script
+- fix zenworks image build
+- 16.40
+
+--------------------------------------------------------------------
+Tue Feb 16 15:59:53 UTC 2021 - wfe...@opensuse.org
+
+- merge gh#openSUSE/installation-images#453
+- Add kernel modules necessary for Raspberry Pi 4 (bsc#1180336)
+- 16.39
+
+--------------------------------------------------------------------
+Tue Feb 16 08:35:06 UTC 2021 - wfe...@opensuse.org
+
+- merge gh#openSUSE/installation-images#449
+- etc: update module.config to match 5.11 (bsc#1182301)
+- 16.38
+
+--------------------------------------------------------------------
+Wed Feb 10 13:39:16 UTC 2021 - wfe...@opensuse.org
+
+- merge gh#openSUSE/installation-images#451
+- Replace Raleway fonts by Poppins (jsc#SLE-14772)
+- 16.37
+
+--------------------------------------------------------------------

Old:
----
  installation-images-16.36.tar.xz

New:
----
  installation-images-16.47.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ installation-images.spec ++++++
--- /var/tmp/diff_new_pack.D6MPhK/_old  2021-02-26 21:59:01.307798180 +0100
+++ /var/tmp/diff_new_pack.D6MPhK/_new  2021-02-26 21:59:01.311798184 +0100
@@ -63,11 +63,7 @@
 %if "%{the_version}" == ""
 %error "bad version string"
 %endif
-%ifarch %arm aarch64 ppc64 ppc64le
-%define net_repo 
https://download.opensuse.org/ports/%{the_arch}/distribution/leap/%{the_version}/repo/oss/
-%else
 %define net_repo 
https://download.opensuse.org/distribution/leap/%{the_version}/repo/oss
-%endif
 %else
 %define with_exfat 1
 %ifarch %arm aarch64 ppc64 ppc64le
@@ -94,6 +90,10 @@
 %ifnarch %ix86
 %define theme SMO
 %endif
+# SMO is built based on 15-SP2, which does not include shim for aarch64
+%ifarch aarch64
+%define with_shim 0
+%endif
 %endif
 %endif
 
@@ -438,7 +438,7 @@
 BuildRequires:  perl-solv
 BuildRequires:  pinentry
 BuildRequires:  python3-websockify
-BuildRequires:  raleway-fonts
+BuildRequires:  google-poppins-fonts
 BuildRequires:  samba
 BuildRequires:  snapper
 BuildRequires:  suse-module-tools
@@ -456,13 +456,8 @@
 BuildRequires:  plymouth-branding
 BuildRequires:  plymouth-plugin-script
 BuildRequires:  plymouth-scripts
-# SLE needs to stay with tribar
-%if 0%{?is_opensuse}
-BuildRequires:  plymouth-branding-openSUSE
-%else
 BuildRequires:  plymouth-theme-tribar
 %endif
-%endif
 BuildRequires:  klogd
 BuildRequires:  ltrace
 BuildRequires:  nscd
@@ -632,6 +627,9 @@
 BuildRequires:  raspberrypi-firmware-config
 BuildRequires:  raspberrypi-firmware-dt
 BuildRequires:  u-boot-rpiarm64
+%if %with_shim
+BuildRequires:  shim
+%endif
 %endif
 %ifarch %arm
 BuildRequires:  grub2-arm-efi
@@ -653,7 +651,7 @@
 Summary:        Installation Image Files for %theme
 License:        GPL-2.0-or-later
 Group:          Metapackages
-Version:        16.36
+Version:        16.47
 Release:        0
 Provides:       installation-images = %version-%release
 Conflicts:      otherproviders(installation-images)

++++++ installation-images-16.36.tar.xz -> installation-images-16.47.tar.xz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/VERSION 
new/installation-images-16.47/VERSION
--- old/installation-images-16.36/VERSION       2021-02-01 10:21:18.000000000 
+0100
+++ new/installation-images-16.47/VERSION       2021-02-25 15:26:30.000000000 
+0100
@@ -1 +1 @@
-16.36
+16.47
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/bin/check_libs 
new/installation-images-16.47/bin/check_libs
--- old/installation-images-16.36/bin/check_libs        2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/bin/check_libs        2021-02-25 
15:26:30.000000000 +0100
@@ -1,154 +1,261 @@
 #! /usr/bin/perl
 
-# check dynamic lib dependecies
+# check dynamic library dependecies
 
+use strict;
 use warnings;
+use File::Find;
+use Getopt::Long;
 
-my $verbose = 0;
-while($ARGV[0] eq '-v') {
-  shift;
-  $verbose++;
-}
-
-# soname => provider
-#           'libSegFault.so' => 'lib64/libSegFault.so',
-#           'libns.so.1603' => 'usr/lib64/libns.so.1603.0.1',
-my %soname;
-
-# libperl.so does not declare SONAME so %soname2 is needed
-# soname => provider
-#           'hostid' => 'usr/bin/hostid',
-#           'libSegFault.so' => 'lib64/libSegFault.so',
-#           'libns.so.1603.0.1' => 'usr/lib64/libns.so.1603.0.1',
-#           'libperl.so' => 
'usr/lib/perl5/5.30.1/x86_64-linux-thread-multi/CORE/libperl.so',
-my %soname2;
-
-# soname => absolute path
-#           'libSegFault.so' => '/lib64/libSegFault.so',
-my %ldconfig;
-
-# soname => list of users
-#           'libfdisk.so.1' => [
-#                                'usr/sbin/cfdisk',
-#                                'usr/sbin/fdisk',
-#                                'usr/sbin/sfdisk'
-#                              ],
-#           'liblua5.3.so.5' => [
-#                                 'usr/lib64/librpm.so.9.0.1',
-#                                 'usr/lib64/librpmio.so.9.0.1'
-#                               ],
-my %needed;
+use Data::Dumper;
+$Data::Dumper::Sortkeys = 1;
+$Data::Dumper::Terse = 1;
+$Data::Dumper::Indent = 1;
+
+sub find_elf_files;
+sub resolve_links;
+sub is_elf;
+
+my $opt_verbose = 0;
+
+GetOptions(
+  'verbose|v'        => sub { $opt_verbose++ },
+);
+
+# hash of all ELF objects with file name as key
+#
+# sample entry:
+#
+#  'usr/lib64/libcrypt.so.1.1.0' => {
+#    'build_id' => '205ebdb358b973faa8f1dfed1202614f6f76e50a',
+#    'needed' => [
+#      'libc.so.6'
+#    ],
+#    'sonames' => [
+#      'libcrypt.so.1',
+#      'libcrypt.so.1.1.0'
+#      'libowcrypt.so.1',
+#    ]
+#  },
+#
+my $elf_files = {};
+
+# hash of all SONAME records with SONAME as key and file name as value
+#
+# sample entry
+#
+#  'libowcrypt.so.1' => 'usr/lib64/libcrypt.so.1.1.0',
+#  'libp11-kit.so.0' => 'usr/lib64/libp11-kit.so.0.1.0',
+#  'libpam.so.0' => 'lib64/libpam.so.0.84.2',
+#
+my $sonames;
+
+# hash with all NEEDED records with NEEDED as key and array of file names as 
value
+#
+# sample entry
+#
+#  'libncursesw.so.6' => [
+#    'usr/bin/pinentry-curses',
+#    'usr/bin/watch',
+#    'usr/lib64/libformw.so.6.1',
+#    'usr/lib64/libmenuw.so.6.1',
+#    'usr/lib64/libncurses++w.so.6.1',
+#    'usr/lib64/libpanelw.so.6.1',
+#    'usr/sbin/cfdisk',
+#    'usr/sbin/cgdisk',
+#    'usr/sbin/powertop'
+#  ],
+#
+my $needed;
+
+# hash of ld.so.cache entries with SONAME as key and file name as value
+#
+# sample entry
+#
+# 'libSegFault.so' => 'lib64/libSegFault.so',
+#
+my $ldconfig;
 
-while($dir = shift) {
-  die "usage: check_libs dir\n" unless -d $dir;
-
-  $error = 0;
+# set to 1 if a config error is detected
+my $error = 0;
 
-  undef @ELF;
+for my $dir (@ARGV) {
+  die "usage: check_libs dir\n" unless -d $dir;
 
-  print "finding ELF objects...\n";
+  print "analyzing ELF objects in $dir...\n";
 
-  my $cmd = "cd $dir; find . -type f -o -type l | grep -v modules | xargs file 
-L";
-  # for debugging a cache can be useful:
-  # $cmd = "cat .found_files || ($cmd) | tee .found_files";
+  find_elf_files($dir, $elf_files);
 
-  my @found_files = `$cmd`;
-  for (@found_files) {
-    if(/(.*):.*?\s+ELF\s.*\s(shared\s+object|executable)/) {
-      push @ELF, $1;
+  # write build ids
+  if(open my $f, ">$dir.debugids") {
+    for my $file (sort keys %$elf_files) {
+      print $f "$elf_files->{$file}{build_id} $file\n" if 
$elf_files->{$file}{build_id}
     }
+    close $f;
   }
 
-  # extract build ids
-  open(DLOG, ">$dir.debugids");
-  for my $f (@ELF) {
-    for (`readelf -n '$dir/$f'`) {
-      if (m/\sBuild ID:\s*([0-9a-z]*)/) {
-       print "Build-ID: $1 $f\n" if ($verbose >= 1);
-       print DLOG "$1 $f\n";
-      }
+  if( -f "$dir/etc/ld.so.cache") {
+    for (`ldconfig -C $dir/etc/ld.so.cache -p`) {
+      $ldconfig->{$1} = $2 if /^\s+(\S+)\s*.*=>\s*\/(\S+)/;
     }
   }
-  close(DLOG);
-
-  print "extracting shared object dependencies...\n";
+}
 
-  @ELF = map(quotemeta, @ELF);
+# print Dumper($elf_files);
 
-  for (`cd $dir ; objdump -p @ELF`)
-  {
-    if (m-(.*):\s+file format-) {
-      $f = $1;
-      $f0 = $f;
-      $f0 =~ s/^\.\///;
-      ($fn = $f0) =~ s#.*/##;
-      print "$f0\n" if $verbose >= 2;
-      $soname2{$fn} = $f0 if $fn ne "";
-    }
-    push @{$needed{$1}}, $f0 if /^\s+NEEDED\s+(\S+)\s*$/;
-    $soname{$1} = $f0 if /^\s+SONAME\s+(\S+)\s*$/;
+for my $file (sort keys %$elf_files) {
+  for my $s (@{$elf_files->{$file}{sonames}}) {
+    $sonames->{$s} = $file;
   }
 
-  if( -f "$dir/etc/ld.so.cache") {
-    @l = `ldconfig -C $dir/etc/ld.so.cache -p`;
-    shift @l;
-    for (@l) {
-      $ldconfig{$1} = $2 if /^\s+(\S+)\s*.*=>\s*(\S+)/;
-    }
+  for my $n (@{$elf_files->{$file}{needed}}) {
+    push @{$needed->{$n}}, $file;
   }
 }
 
+exit $error if $error;
 
 print "checking ld.so.cache...\n";
-if(%ldconfig) {
-  $first = 1;
-  for (keys %soname) {
-    next if $soname{$_} =~ m#^usr/lib/YaST2/plugin#;
-    next unless exists $needed{$_};
+if($ldconfig) {
+  my $first = 1;
+  for (keys %$sonames) {
+    # next if $sonames->{$_} =~ m#^usr/lib/YaST2/plugin#;
+    next unless exists $needed->{$_};
 
-    if(!exists $ldconfig{$_}) {
+    if(!exists $ldconfig->{$_}) {
       print "libs not in ld.so.cache:\n" if $first;
-      printf "  %-24s  %s\n", $_, $soname{$_};
-      printf "  [needed by: %s]\n", join(', ', @{$needed{$_}}) if $verbose >= 
1;
+      printf "  %-32s  %s\n", $_, $sonames->{$_};
+      printf "  [needed by: %s]\n", join(', ', @{$needed->{$_}}) if 
$opt_verbose >= 1;
       $first = 0;
-#      $error = 1;
     }
   }
   print "ok\n" if $first;
 }
 else {
   print "no ld.so.cache found\n";
-#  $error = 1;
 }
 
 print "checking for missing libs...\n";
-$first = 1;
-for (sort keys %needed) {
-  if(!exists($soname{$_}) && !exists($soname2{$_}) && !exists($ldconfig{$_})) {
-    printf "  %-24s  %s\n", $_, join(', ', @{$needed{$_}});
+my $first = 1;
+for (sort keys %$needed) {
+  if(!exists($sonames->{$_})) {
+    printf "  %-32s  %s\n", $_, join(', ', @{$needed->{$_}});
     $first = 0;
     $error = 1;
   }
 }
 print "ok\n" if $first;
 
-print "checking for unused libs...\n";
-$first = 1;
-for (sort keys %soname) {
-  if(!exists $needed{$_}) {
-    if(
-      $soname{$_} !~ m#^usr/lib(64)?/YaST2/plugin# &&
-      $soname{$_} !~ m#^lib(64)?/libnss_# &&
-      $soname{$_} !~ m#^lib(64)?/security/pam_# &&
-      $soname{$_} !~ m#^usr/lib(64)?/suse-blinux# &&
-      $soname{$_} !~ m#^usr/lib(64)?/alsa-lib#
-    ) {
-      printf "  %-24s  %s\n", $_, $soname{$_};
-      $first = 0;
+exit $error;
+
+
+# Scan dir for ELF files, analyze them, and add the result to list.
+#
+# find_elf_files(dir, list)
+#
+# dir: directory to scan
+# list: hash ref to add results to
+#
+# Note: all file names are relative to dir.
+#
+sub find_elf_files
+{
+  my $dir = $_[0];
+  my $elf_files = $_[1];
+  my $files;
+
+  File::Find::find({
+    wanted => sub {
+      # skip kernel module directory
+      return if m#/modules/#;
+      my $aliases;
+      ( $_, $aliases ) = resolve_links($dir, $_) if -l;
+      my $short_name = $_;
+      $short_name =~ s#^$dir/##;
+      # if the file has been analyzed before, just add new symlinks as sonames
+      my $elf = $elf_files->{$short_name} ? $elf_files->{$short_name} : 
is_elf($_);
+      if($elf) {
+        for my $alias (@$aliases, $_) {
+          $alias =~ s#^$dir/##;
+          my $a = $alias;
+          $a =~ s#.*/##;
+          push @{$elf->{sonames}}, $a if $a ne "";
+        }
+        my $so;
+        $so->{$_} = 1 for (@{$elf->{sonames}});
+        $elf->{sonames} = [ sort keys %$so ];
+        $elf_files->{$short_name} = $elf;
+      }
+    },
+    no_chdir => 1
+  }, $dir);
+}
+
+
+# Resolve symlinks.
+#
+# (file, aliases) = resolve_links(dir, link)
+#
+# Resolve link recursively, assuming dir as base directory.
+#
+# Returns the final file name and a list of all symlinks encountered as 
aliases.
+#
+sub resolve_links
+{
+  my $dir = $_[0];
+  my $file = $_[1];
+  my $aliases;
+
+  while(-l $file) {
+    my $link = readlink $file;
+    $aliases->{$file} = $link;
+    if($link =~ m#^/#) {
+      $file = "$dir$link";
+    }
+    else {
+      $file =~ s#[^/]*$#$link#;
+    }
+    if($aliases->{$file}) {
+      print "symlink loop detected: $file -> $aliases->{$file}\n";
+      $error = 1;
+      last;
     }
   }
+
+  return ( $file, [ sort keys %$aliases ] );
 }
-print "ok\n" if $first;
 
-exit $error;
 
+# Analyze ELF file.
+#
+# result = is_elf(file)
+#
+# Return undef if file is not an ELF file. Otherwise some ELF header data are 
returned.
+#
+# See decscription of global variable $elf_files for a sample result record.
+#
+sub is_elf
+{
+  my $file = $_[0];
+
+  if(-f($file) && open(my $f, "<", $file)) {
+    my $buf;
+    sysread $f, $buf, 4;
+    close $f;
+
+    return undef if $buf ne "\x7fELF";
+  }
+  else {
+    return undef;
+  }
+
+  my $elf;
+
+  for (`readelf -d -n $file 2>/dev/null`) {
+    push @{$elf->{needed}}, $1 if 
/\s\(NEEDED\)\s*Shared\slibrary:\s*\[(\S+)\]/;
+    push @{$elf->{sonames}}, $1 if 
/\s\(SONAME\)\s*Library\ssoname:\s*\[(\S+)\]/;
+    $elf->{build_id} = $1 if /\sBuild ID:\s*([0-9a-z]*)/;
+  }
+
+  return $elf
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/changelog 
new/installation-images-16.47/changelog
--- old/installation-images-16.36/changelog     2021-02-01 10:21:18.000000000 
+0100
+++ new/installation-images-16.47/changelog     2021-02-25 15:26:30.000000000 
+0100
@@ -1,3 +1,55 @@
+2021-02-25:    16.47
+       - merge gh#openSUSE/installation-images#460
+       - go back to plymouth-theme-tribar (bsc#1182755)
+       - adjust spec file
+
+2021-02-23:    16.46
+       - merge gh#openSUSE/installation-images#459
+       - fix adapting grub.cfg for different architectures (bsc#1182593)
+
+2021-02-22:    16.45
+       - merge gh#openSUSE/installation-images#458
+       - Do not use shim on aarch64 for SLE Micro (based on SP2)
+
+2021-02-19:    16.44
+       - merge gh#openSUSE/installation-images#457
+       - fix kernel & initrd location for x86_64 (bsc#1182239)
+
+2021-02-19:    16.43
+       - merge gh#openSUSE/installation-images#456
+       - Use one grub.cfg for all ARM architectures
+       - unify all EFI-using grub configurations into a single config file
+         (bsc#1182239)
+       - enable shim on aarch64
+       - drop linuxefi/initrdefi on x86_64
+       - fix library dependency check
+
+2021-02-18:    16.42
+       - merge gh#openSUSE/installation-images#455
+       - allow wildcards in modinfo firmware names (bsc#1180336)
+
+2021-02-18:    16.41
+       - merge gh#openSUSE/installation-images#454
+       - spec: no longer have ports project for Leap since 15.3
+
+2021-02-18:    16.40
+       - merge gh#openSUSE/installation-images#452
+       - remove some obsolete parts from installation-images (bsc#1182291)
+       - rewrite check_libs script
+       - fix zenworks image build
+
+2021-02-16:    16.39
+       - merge gh#openSUSE/installation-images#453
+       - Add kernel modules necessary for Raspberry Pi 4 (bsc#1180336)
+
+2021-02-16:    16.38
+       - merge gh#openSUSE/installation-images#449
+       - etc: update module.config to match 5.11 (bsc#1182301)
+
+2021-02-10:    16.37
+       - merge gh#openSUSE/installation-images#451
+       - Replace Raleway fonts by Poppins (jsc#SLE-14772)
+
 2021-02-01:    16.36
        - merge gh#openSUSE/installation-images#448
        - Switch to vim-small (boo#1181633)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/data/base/mlist3 
new/installation-images-16.47/data/base/mlist3
--- old/installation-images-16.36/data/base/mlist3      2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/data/base/mlist3      2021-02-25 
15:26:30.000000000 +0100
@@ -25,17 +25,15 @@
 
 for $m (sort keys %fw) {
   for $fw (@{$fw{$m}}) {
-    $f = undef;
-    $f = "$fw" if -f "$fw_dir/$fw";
-    $f = "$kv/$fw" if -f "$fw_dir/$kv/$fw";
-
-    if($f) {
-      system "install -m 644 -D $fw_dir/$f lib/firmware/$f\n";
-    }
-    else {
-      $err = 1;
-      print "missing firmware: $fw ($m.ko)\n";
+    my $ok = 0;
+    for my $f (<$fw_dir/$fw $fw_dir/$kv/$fw>) {
+      if(-r $f) {
+        $f =~ s#^$fw_dir/##;
+        system "install -m 644 -D $fw_dir/$f lib/firmware/$f\n";
+        $ok = 1;
+      }
     }
+    print "missing firmware: $fw ($m.ko)\n" if !$ok;
   }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/data/boot/grub-aarch64.cfg 
new/installation-images-16.47/data/boot/grub-aarch64.cfg
--- old/installation-images-16.36/data/boot/grub-aarch64.cfg    2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/data/boot/grub-aarch64.cfg    1970-01-01 
01:00:00.000000000 +0100
@@ -1,91 +0,0 @@
-with_gfx=0
-
-gfxmode=auto
-locale_dir=$prefix/locale
-lang=en_US
-
-search --no-floppy --file /boot/aarch64/efi --set
-prefix=($root)/boot/aarch64/grub2-efi
-
-insmod efi_gop
-insmod gzio
-insmod gettext
-
-if [ "$with_gfx" = 1 ] ; then
-  insmod gfxterm
-  insmod gfxmenu
-  insmod png
-
-  echo "Please press 't' to show the boot menu on this console"
-
-  terminal_output gfxterm
-
-  theme=$prefix/themes/THEME/theme.txt
-  export theme
-
-  loadfont $prefix/unicode.pf2
-  loadfont $prefix/themes/THEME/DejaVuSans10.pf2
-  loadfont $prefix/themes/THEME/DejaVuSans12.pf2
-  loadfont $prefix/themes/THEME/DejaVuSans-Bold14.pf2
-fi
-
-if sleep --interruptible 0 ; then
-  timeout=60
-fi
-
-default=1
-
-menuentry "Boot from Hard Disk" --class opensuse --class gnu-linux --class gnu 
--class os {
-  exit
-}
-
-menuentry 'Installation' --class opensuse --class gnu-linux --class gnu 
--class os {
-  set gfxpayload=keep
-  echo 'Loading kernel ...'
-  linux /boot/aarch64/linux splash=silent
-  echo 'Loading initial ramdisk ...'
-  initrd /boot/aarch64/initrd
-}
-
-menuentry 'Upgrade' --class opensuse --class gnu-linux --class gnu --class os {
-  set gfxpayload=keep
-  echo 'Loading kernel ...'
-  linux /boot/aarch64/linux splash=silent upgrade=1
-  echo 'Loading initial ramdisk ...'
-  initrd /boot/aarch64/initrd
-}
-
-submenu 'More ...' {
-
-  menuentry 'Rescue System' --class opensuse --class gnu-linux --class gnu {
-    set gfxpayload=keep
-    echo 'Loading kernel ...'
-    linux /boot/aarch64/linux splash=silent rescue=1
-    echo 'Loading initial ramdisk ...'
-    initrd /boot/aarch64/initrd
-  }
-
-  menuentry 'Boot Linux System' --class opensuse --class gnu-linux --class gnu 
{
-    set gfxpayload=keep
-    echo 'Loading kernel ...'
-    linux /boot/aarch64/linux splash=silent systemboot=1
-    echo 'Loading initial ramdisk ...'
-    initrd /boot/aarch64/initrd
-  }
-
-  menuentry 'Check Installation Media' --class opensuse --class gnu-linux 
--class gnu {
-    set gfxpayload=keep
-    echo 'Loading kernel ...'
-    linux /boot/aarch64/linux splash=silent mediacheck=1
-    echo 'Loading initial ramdisk ...'
-    initrd /boot/aarch64/initrd
-  }
-
-}
-
-# On EFI systems we can only have graphics *or* serial, so allow the user
-# to switch between the two
-hiddenentry 'Text mode' --hotkey 't' {
-  set textmode=true
-  terminal_output console
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/data/boot/grub-armv6l.cfg 
new/installation-images-16.47/data/boot/grub-armv6l.cfg
--- old/installation-images-16.36/data/boot/grub-armv6l.cfg     2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/data/boot/grub-armv6l.cfg     1970-01-01 
01:00:00.000000000 +0100
@@ -1,91 +0,0 @@
-with_gfx=0
-
-gfxmode=auto
-locale_dir=$prefix/locale
-lang=en_US
-
-search --no-floppy --file /boot/armv6l/efi --set
-prefix=($root)/boot/armv6l/grub2-efi
-
-insmod efi_gop
-insmod gzio
-insmod gettext
-
-if [ "$with_gfx" = 1 ] ; then
-  insmod gfxterm
-  insmod gfxmenu
-  insmod png
-
-  echo "Please press 't' to show the boot menu on this console"
-
-  terminal_output gfxterm
-
-  theme=$prefix/themes/THEME/theme.txt
-  export theme
-
-  loadfont $prefix/unicode.pf2
-  loadfont $prefix/themes/THEME/DejaVuSans10.pf2
-  loadfont $prefix/themes/THEME/DejaVuSans12.pf2
-  loadfont $prefix/themes/THEME/DejaVuSans-Bold14.pf2
-fi
-
-if sleep --interruptible 0 ; then
-  timeout=60
-fi
-
-default=1
-
-menuentry "Boot from Hard Disk" --class opensuse --class gnu-linux --class gnu 
--class os {
-  exit
-}
-
-menuentry 'Installation' --class opensuse --class gnu-linux --class gnu 
--class os {
-  set gfxpayload=keep
-  echo 'Loading kernel ...'
-  linux /boot/armv6l/linux splash=silent
-  echo 'Loading initial ramdisk ...'
-  initrd /boot/armv6l/initrd
-}
-
-menuentry 'Upgrade' --class opensuse --class gnu-linux --class gnu --class os {
-  set gfxpayload=keep
-  echo 'Loading kernel ...'
-  linux /boot/armv6l/linux splash=silent upgrade=1
-  echo 'Loading initial ramdisk ...'
-  initrd /boot/armv6l/initrd
-}
-
-submenu 'More ...' {
-
-  menuentry 'Rescue System' --class opensuse --class gnu-linux --class gnu {
-    set gfxpayload=keep
-    echo 'Loading kernel ...'
-    linux /boot/armv6l/linux splash=silent rescue=1
-    echo 'Loading initial ramdisk ...'
-    initrd /boot/armv6l/initrd
-  }
-
-  menuentry 'Boot Linux System' --class opensuse --class gnu-linux --class gnu 
{
-    set gfxpayload=keep
-    echo 'Loading kernel ...'
-    linux /boot/armv6l/linux splash=silent systemboot=1
-    echo 'Loading initial ramdisk ...'
-    initrd /boot/armv6l/initrd
-  }
-
-  menuentry 'Check Installation Media' --class opensuse --class gnu-linux 
--class gnu {
-    set gfxpayload=keep
-    echo 'Loading kernel ...'
-    linux /boot/armv6l/linux splash=silent mediacheck=1
-    echo 'Loading initial ramdisk ...'
-    initrd /boot/armv6l/initrd
-  }
-
-}
-
-# On EFI systems we can only have graphics *or* serial, so allow the user
-# to switch between the two
-hiddenentry 'Text mode' --hotkey 't' {
-  set textmode=true
-  terminal_output console
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/data/boot/grub-armv7l.cfg 
new/installation-images-16.47/data/boot/grub-armv7l.cfg
--- old/installation-images-16.36/data/boot/grub-armv7l.cfg     2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/data/boot/grub-armv7l.cfg     1970-01-01 
01:00:00.000000000 +0100
@@ -1,91 +0,0 @@
-with_gfx=0
-
-gfxmode=auto
-locale_dir=$prefix/locale
-lang=en_US
-
-search --no-floppy --file /boot/armv7l/efi --set
-prefix=($root)/boot/armv7l/grub2-efi
-
-insmod efi_gop
-insmod gzio
-insmod gettext
-
-if [ "$with_gfx" = 1 ] ; then
-  insmod gfxterm
-  insmod gfxmenu
-  insmod png
-
-  echo "Please press 't' to show the boot menu on this console"
-
-  terminal_output gfxterm
-
-  theme=$prefix/themes/THEME/theme.txt
-  export theme
-
-  loadfont $prefix/unicode.pf2
-  loadfont $prefix/themes/THEME/DejaVuSans10.pf2
-  loadfont $prefix/themes/THEME/DejaVuSans12.pf2
-  loadfont $prefix/themes/THEME/DejaVuSans-Bold14.pf2
-fi
-
-if sleep --interruptible 0 ; then
-  timeout=60
-fi
-
-default=1
-
-menuentry "Boot from Hard Disk" --class opensuse --class gnu-linux --class gnu 
--class os {
-  exit
-}
-
-menuentry 'Installation' --class opensuse --class gnu-linux --class gnu 
--class os {
-  set gfxpayload=keep
-  echo 'Loading kernel ...'
-  linux /boot/armv7l/linux splash=silent
-  echo 'Loading initial ramdisk ...'
-  initrd /boot/armv7l/initrd
-}
-
-menuentry 'Upgrade' --class opensuse --class gnu-linux --class gnu --class os {
-  set gfxpayload=keep
-  echo 'Loading kernel ...'
-  linux /boot/armv7l/linux splash=silent upgrade=1
-  echo 'Loading initial ramdisk ...'
-  initrd /boot/armv7l/initrd
-}
-
-submenu 'More ...' {
-
-  menuentry 'Rescue System' --class opensuse --class gnu-linux --class gnu {
-    set gfxpayload=keep
-    echo 'Loading kernel ...'
-    linux /boot/armv7l/linux splash=silent rescue=1
-    echo 'Loading initial ramdisk ...'
-    initrd /boot/armv7l/initrd
-  }
-
-  menuentry 'Boot Linux System' --class opensuse --class gnu-linux --class gnu 
{
-    set gfxpayload=keep
-    echo 'Loading kernel ...'
-    linux /boot/armv7l/linux splash=silent systemboot=1
-    echo 'Loading initial ramdisk ...'
-    initrd /boot/armv7l/initrd
-  }
-
-  menuentry 'Check Installation Media' --class opensuse --class gnu-linux 
--class gnu {
-    set gfxpayload=keep
-    echo 'Loading kernel ...'
-    linux /boot/armv7l/linux splash=silent mediacheck=1
-    echo 'Loading initial ramdisk ...'
-    initrd /boot/armv7l/initrd
-  }
-
-}
-
-# On EFI systems we can only have graphics *or* serial, so allow the user
-# to switch between the two
-hiddenentry 'Text mode' --hotkey 't' {
-  set textmode=true
-  terminal_output console
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/data/boot/grub-efi.cfg 
new/installation-images-16.47/data/boot/grub-efi.cfg
--- old/installation-images-16.36/data/boot/grub-efi.cfg        1970-01-01 
01:00:00.000000000 +0100
+++ new/installation-images-16.47/data/boot/grub-efi.cfg        2021-02-25 
15:26:30.000000000 +0100
@@ -0,0 +1,103 @@
+with_gfx=0
+
+gfxmode=auto
+locale_dir=$prefix/locale
+lang=en_US
+
+search --no-floppy --file /boot/@arch@/efi --set
+prefix=($root)/boot/@arch@/grub2-efi
+
+insmod efi_gop
+<x86_64>
+insmod efi_uga
+</x86_64>
+insmod gzio
+insmod gettext
+
+if [ "$with_gfx" = 1 ] ; then
+  insmod gfxterm
+  insmod gfxmenu
+  insmod png
+
+  echo "Please press 't' to show the boot menu on this console"
+
+  terminal_output gfxterm
+
+  theme=$prefix/themes/THEME/theme.txt
+  export theme
+
+  loadfont $prefix/unicode.pf2
+  loadfont $prefix/themes/THEME/DejaVuSans10.pf2
+  loadfont $prefix/themes/THEME/DejaVuSans12.pf2
+  loadfont $prefix/themes/THEME/DejaVuSans-Bold14.pf2
+fi
+
+if sleep --interruptible 0 ; then
+  timeout=60
+fi
+
+default=1
+
+menuentry "Boot from Hard Disk" --class opensuse --class gnu-linux --class gnu 
--class os {
+<x86_64>
+  if search --no-floppy --file /efi/boot/fallback.efi --set ; then
+    for os in opensuse sles caasp ; do
+      if [ -f /efi/$os/grub.efi ] ; then
+        chainloader /efi/$os/grub.efi
+      fi
+    done
+  fi
+</x86_64>
+  exit
+}
+
+menuentry 'Installation' --class opensuse --class gnu-linux --class gnu 
--class os {
+  set gfxpayload=keep
+  echo 'Loading kernel ...'
+  linux /boot/@arch@/linux splash=silent
+  echo 'Loading initial ramdisk ...'
+  initrd /boot/@arch@/initrd
+}
+
+menuentry 'Upgrade' --class opensuse --class gnu-linux --class gnu --class os {
+  set gfxpayload=keep
+  echo 'Loading kernel ...'
+  linux /boot/@arch@/linux splash=silent upgrade=1
+  echo 'Loading initial ramdisk ...'
+  initrd /boot/@arch@/initrd
+}
+
+submenu 'More ...' {
+
+  menuentry 'Rescue System' --class opensuse --class gnu-linux --class gnu {
+    set gfxpayload=keep
+    echo 'Loading kernel ...'
+    linux /boot/@arch@/linux splash=silent rescue=1
+    echo 'Loading initial ramdisk ...'
+    initrd /boot/@arch@/initrd
+  }
+
+  menuentry 'Boot Linux System' --class opensuse --class gnu-linux --class gnu 
{
+    set gfxpayload=keep
+    echo 'Loading kernel ...'
+    linux /boot/@arch@/linux splash=silent systemboot=1
+    echo 'Loading initial ramdisk ...'
+    initrd /boot/@arch@/initrd
+  }
+
+  menuentry 'Check Installation Media' --class opensuse --class gnu-linux 
--class gnu {
+    set gfxpayload=keep
+    echo 'Loading kernel ...'
+    linux /boot/@arch@/linux splash=silent mediacheck=1
+    echo 'Loading initial ramdisk ...'
+    initrd /boot/@arch@/initrd
+  }
+
+}
+
+# On EFI systems we can only have graphics *or* serial, so allow the user
+# to switch between the two
+hiddenentry 'Text mode' --hotkey 't' {
+  set textmode=true
+  terminal_output console
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/data/boot/grub.cfg 
new/installation-images-16.47/data/boot/grub.cfg
--- old/installation-images-16.36/data/boot/grub.cfg    2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/data/boot/grub.cfg    1970-01-01 
01:00:00.000000000 +0100
@@ -1,99 +0,0 @@
-with_gfx=0
-
-gfxmode=auto
-locale_dir=$prefix/locale
-lang=en_US
-
-search --no-floppy --file /boot/x86_64/efi --set
-prefix=($root)/boot/x86_64/grub2-efi
-
-insmod efi_gop
-insmod efi_uga
-insmod gzio
-insmod gettext
-
-if [ "$with_gfx" = 1 ] ; then
-  insmod gfxterm
-  insmod gfxmenu
-  insmod png
-
-  echo "Please press 't' to show the boot menu on this console"
-
-  terminal_output gfxterm
-
-  theme=$prefix/themes/THEME/theme.txt
-  export theme
-
-  loadfont $prefix/unicode.pf2
-  loadfont $prefix/themes/THEME/DejaVuSans10.pf2
-  loadfont $prefix/themes/THEME/DejaVuSans12.pf2
-  loadfont $prefix/themes/THEME/DejaVuSans-Bold14.pf2
-fi
-
-if sleep --interruptible 0 ; then
-  timeout=60
-fi
-
-default=1
-
-# look for an installed SUSE system and boot it
-menuentry "Boot from Hard Disk" --class opensuse --class gnu-linux --class gnu 
--class os {
-  if search --no-floppy --file /efi/boot/fallback.efi --set ; then
-    for os in opensuse sles caasp ; do
-      if [ -f /efi/$os/grub.efi ] ; then
-        chainloader /efi/$os/grub.efi
-      fi
-    done
-  fi
-}
-
-menuentry 'Installation' --class opensuse --class gnu-linux --class gnu 
--class os {
-  set gfxpayload=keep
-  echo 'Loading kernel ...'
-  linuxefi /boot/x86_64/loader/linux splash=silent
-  echo 'Loading initial ramdisk ...'
-  initrdefi /boot/x86_64/loader/initrd
-}
-
-menuentry 'Upgrade' --class opensuse --class gnu-linux --class gnu --class os {
-  set gfxpayload=keep
-  echo 'Loading kernel ...'
-  linuxefi /boot/x86_64/loader/linux splash=silent upgrade=1
-  echo 'Loading initial ramdisk ...'
-  initrdefi /boot/x86_64/loader/initrd
-}
-
-submenu 'More ...' {
-
-  menuentry 'Rescue System' --class opensuse --class gnu-linux --class gnu {
-    set gfxpayload=keep
-    echo 'Loading kernel ...'
-    linuxefi /boot/x86_64/loader/linux splash=silent rescue=1
-    echo 'Loading initial ramdisk ...'
-    initrdefi /boot/x86_64/loader/initrd
-  }
-
-  menuentry 'Boot Linux System' --class opensuse --class gnu-linux --class gnu 
{
-    set gfxpayload=keep
-    echo 'Loading kernel ...'
-    linuxefi /boot/x86_64/loader/linux splash=silent systemboot=1
-    echo 'Loading initial ramdisk ...'
-    initrdefi /boot/x86_64/loader/initrd
-  }
-
-  menuentry 'Check Installation Media' --class opensuse --class gnu-linux 
--class gnu {
-    set gfxpayload=keep
-    echo 'Loading kernel ...'
-    linuxefi /boot/x86_64/loader/linux splash=silent mediacheck=1
-    echo 'Loading initial ramdisk ...'
-    initrdefi /boot/x86_64/loader/initrd
-  }
-
-}
-
-# On EFI systems we can only have graphics *or* serial, so allow the user
-# to switch between the two
-hiddenentry 'Text mode' --hotkey 't' {
-  set textmode=true
-  terminal_output console
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/installation-images-16.36/data/boot/grub2-efi.file_list 
new/installation-images-16.47/data/boot/grub2-efi.file_list
--- old/installation-images-16.36/data/boot/grub2-efi.file_list 2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/data/boot/grub2-efi.file_list 2021-02-25 
15:26:30.000000000 +0100
@@ -1,98 +1,84 @@
 d /EFI/BOOT
 
 if arch eq 'x86_64'
-  grub2-x86_64-efi:
-    if exists(grub2-x86_64-efi, /usr/share/efi/x86_64/grub.efi)
-      grub_efi = usr/share/efi/x86_64/grub.efi
-    else
-      grub_efi = usr/lib64/efi/grub.efi
-    endif
-    a <grub_efi> EFI/BOOT/bootx64.efi
-
-  # if we have shim, use it
-  if exists(shim)
-      e mv EFI/BOOT/bootx64.efi EFI/BOOT/grub.efi
-    shim:
-      if exists(shim, /usr/share/efi/x86_64/shim.efi)
-        shim_dir = /usr/share/efi/x86_64
-      else
-        shim_dir = /usr/lib64/efi
-      endif
-      a <shim_dir>/shim.efi EFI/BOOT/bootx64.efi
-      a <shim_dir>/MokManager.efi EFI/BOOT/
-  endif
-
-  x grub.cfg EFI/BOOT
+  grub_target = x86_64
+  boot_efi = x64
 elsif arch eq 'aarch64'
-  grub2-arm64-efi:
-    if exists(grub2-arm64-efi, /usr/share/efi/aarch64/grub.efi)
-      grub_efi = usr/share/efi/aarch64/grub.efi
-    else
-      grub_efi = usr/lib/efi/grub.efi
-    endif
-
-    a <grub_efi> EFI/BOOT/bootaa64.efi
+  grub_target = arm64
+  boot_efi = aa64
+elsif arch eq 'armv6l'
+  grub_target = arm
+  boot_efi = arm
+elsif arch eq 'armv7l'
+  grub_target = arm
+  boot_efi = arm
+endif
 
-  x grub-aarch64.cfg EFI/BOOT/grub.cfg
-elsif arch eq 'armv7l' || arch eq 'armv6l'
-  grub2-arm-efi:
-    if exists(grub2-arm-efi, /usr/share/efi/armv6hl/grub.efi)
-      grub_efi = usr/share/efi/armv6hl/grub.efi
-    elsif exists(grub2-arm-efi, /usr/share/efi/armv7hl/grub.efi)
-      grub_efi = usr/share/efi/armv7hl/grub.efi
-    else
-      grub_efi = usr/lib/efi/grub.efi
-    endif
+grub_efi = usr/share/grub2/<grub_target>-efi/grub.efi
+shim_dir = usr/share/efi/<arch>
 
-    a <grub_efi> EFI/BOOT/bootarm.efi
+x grub-efi.cfg EFI/BOOT/grub.cfg
+R s/\@arch\@/<arch>/g EFI/BOOT/grub.cfg
 
-  if arch eq 'armv7l'
-    x grub-armv7l.cfg EFI/BOOT/grub.cfg
-  else
-    x grub-armv6l.cfg EFI/BOOT/grub.cfg
-  endif
-endif
+# kernel & initrd are in a different dir on x86_64
+if arch eq 'x86_64'
+  R s/(\/(linux|initrd))/\/loader$1/g EFI/BOOT/grub.cfg
 endif
 
+# keep everything between <foo>...</foo> when foo == arch and drop everything 
between <foo>...</foo> when foo != arch
+#
+# <foo> and </foo> must be alone on separate lines
+#
+R s/<\/?<arch>>\n// EFI/BOOT/grub.cfg
+R s/<([a-z_0-9]+)>.*?<\/\1>\n//sg EFI/BOOT/grub.cfg
+
+grub2-<grub_target>-efi:
+  a <grub_efi> EFI/BOOT/boot<boot_efi>.efi
+
+# use shim if available
+if exists(shim)
+  e mv EFI/BOOT/boot<boot_efi>.efi EFI/BOOT/grub.efi
+  shim:
+    a <shim_dir>/shim.efi EFI/BOOT/boot<boot_efi>.efi
+    a <shim_dir>/MokManager.efi EFI/BOOT/
+endif
 
-if arch eq 'x86_64' || arch eq 'aarch64' || arch eq 'armv7l' || arch eq 
'armv6l'
-  # show product name in title instead of default grub string
-  d EFI/BOOT/locale
-  x grub2_head.po .
-  R s/product_name/<product_name>/ grub2_head.po
-  e msgfmt -o EFI/BOOT/locale/en.mo grub2_head.po
-  r grub2_head.po
-
-  # remove 'upgrade' boot entry
-  if BOOTMENU_NO_UPGRADE
-    R s/\nmenuentry 'Upgrade'.*?\n\}\n//s EFI/BOOT/grub.cfg
-  endif
-
-  # grub2-efi with graphics
-  # this is just for patching grub.cfg
-  # real themes files are unpacked in theme.file_list
-  ?grub2-branding-<grub2_theme>:
-    R s/^with_gfx=0/with_gfx=1/ EFI/BOOT/grub.cfg
-    R s/THEME/<grub2_theme>/g EFI/BOOT/grub.cfg
+# show product name in title instead of default grub string
+d EFI/BOOT/locale
+x grub2_head.po .
+R s/product_name/<product_name>/ grub2_head.po
+e msgfmt -o EFI/BOOT/locale/en.mo grub2_head.po
+r grub2_head.po
+
+# remove 'upgrade' boot entry
+if BOOTMENU_NO_UPGRADE
+  R s/\nmenuentry 'Upgrade'.*?\n\}\n//s EFI/BOOT/grub.cfg
 endif
 
-# Add RPi packages if available
+# grub2-efi with graphics
+# this is just for patching grub.cfg
+# real theme files are unpacked in theme.file_list
+?grub2-branding-<grub2_theme>:
+  R s/^with_gfx=0/with_gfx=1/ EFI/BOOT/grub.cfg
+  R s/THEME/<grub2_theme>/g EFI/BOOT/grub.cfg
+
+# add RPi packages if available
 if arch eq 'aarch64' || arch eq 'armv7l' || arch eq 'armv6l'
- if exists(raspberrypi-firmware)
-  raspberrypi-firmware:
-    /
-  raspberrypi-firmware-config:
-    /
-  raspberrypi-firmware-dt:
-    /
-  if exists(u-boot-rpiarm64)
-    u-boot-rpiarm64:
+  if exists(raspberrypi-firmware)
+    raspberrypi-firmware:
+      /
+    raspberrypi-firmware-config:
       /
-  else
-    u-boot-rpi3:
+    raspberrypi-firmware-dt:
       /
+    if exists(u-boot-rpiarm64)
+      u-boot-rpiarm64:
+        /
+    else
+      u-boot-rpi3:
+        /
   endif
   e mv boot/vc/* .
   r /boot /usr
- endif
+  endif
 endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/installation-images-16.36/data/initrd/initrd.file_list 
new/installation-images-16.47/data/initrd/initrd.file_list
--- old/installation-images-16.36/data/initrd/initrd.file_list  2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/data/initrd/initrd.file_list  2021-02-25 
15:26:30.000000000 +0100
@@ -363,6 +363,16 @@
   /lib*/security/pam_deny.so
 
 if exists(plymouth)
+  # Do not EVER consider another plymouth theme before ensuring it doesn't
+  # drag in tons of weird dependencies (bsc#1182755).
+  if exists(plymouth-theme-tribar)
+    p_theme = tribar
+  # elsif exists(plymouth-theme-XXX)
+  #  p_theme = XXX
+  else
+    p_theme = PLYMOUTH_THEME_IS_MISSING
+  endif
+
   plymouth:
     /
   plymouth-scripts: nodeps
@@ -370,15 +380,9 @@
   plymouth-branding-<plymouth_theme>: nodeps
     /
     e cp usr/share/plymouth/plymouthd.defaults etc/plymouth/plymouthd.conf
-  if exists(plymouth-theme-tribar)
-    plymouth-theme-tribar:
-      /
-      R s/^Theme=.*/Theme=tribar/ /etc/plymouth/plymouthd.conf
-  elsif exists(plymouth-theme-bgrt)
-    plymouth-theme-bgrt:
-      /
-      R s/^Theme=.*/Theme=bgrt/ /etc/plymouth/plymouthd.conf
-  endif
+  plymouth-theme-<p_theme>:
+    /
+    R s/^Theme=.*/Theme=<p_theme>/ /etc/plymouth/plymouthd.conf
 endif
 
 procps:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/installation-images-16.36/data/rescue/rescue.file_list 
new/installation-images-16.47/data/rescue/rescue.file_list
--- old/installation-images-16.36/data/rescue/rescue.file_list  2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/data/rescue/rescue.file_list  2021-02-25 
15:26:30.000000000 +0100
@@ -239,10 +239,6 @@
   endif
   R s/(pam_unix\.so.*)$/$1 nullok\n/ <pam_common_auth>
 
-# keep for compatibility; can be removed if hwdata is used everywhere
-?pciutils-ids:
-  m /usr/share/pci.ids.d/pci.ids.dist /usr/share/pci.ids
-
 perl-base:
   /usr/bin/perl
   /usr/lib/perl*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/data/root/root.file_list 
new/installation-images-16.47/data/root/root.file_list
--- old/installation-images-16.36/data/root/root.file_list      2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/data/root/root.file_list      2021-02-25 
15:26:30.000000000 +0100
@@ -397,10 +397,6 @@
   /usr/sbin/useradd.local
   d /etc/skel
 
-# keep for compatibility; can be removed if hwdata is used everywhere
-?pciutils-ids:
-  m /usr/share/pci.ids.d/pci.ids.dist /usr/share/pci.ids
-
 checkmedia:
   /usr/bin/checkmedia
 
@@ -563,7 +559,7 @@
 
 ?noto-sans-fonts:
 
-?raleway-fonts:
+?google-poppins-fonts:
 
 # various asiatic & arabic fonts
 indic-fonts:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/installation-images-16.36/data/root/zenroot.file_list 
new/installation-images-16.47/data/root/zenroot.file_list
--- old/installation-images-16.36/data/root/zenroot.file_list   2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/data/root/zenroot.file_list   2021-02-25 
15:26:30.000000000 +0100
@@ -133,7 +133,7 @@
   /usr/bin/less
 
 psmisc:
-  m /bin/fuser /usr/bin
+  /usr/bin/fuser
   /usr/bin/killall
   /usr/bin/pstree
 
@@ -168,10 +168,6 @@
   e echo MODIFY_RESOLV_CONF_DYNAMICALLY=\"yes\" >etc/sysconfig/network/config
   # /sbin/modify_resolvconf
 
-# keep for compatibility; can be removed if hwdata is used everywhere
-?pciutils-ids:
-  m /usr/share/pci.ids.d/pci.ids.dist /usr/share/pci.ids
-
 gawk:
   /usr/bin/gawk
   s gawk usr/bin/awk
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/etc/module.config 
new/installation-images-16.47/etc/module.config
--- old/installation-images-16.36/etc/module.config     2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/etc/module.config     2021-02-25 
15:26:30.000000000 +0100
@@ -77,6 +77,7 @@
 lp
 lvm-mod
 mc13783-core
+mhi_net
 ncpfs
 netconsole,Console driver for network interfaces
 nfs_acl,-,-
@@ -130,6 +131,7 @@
 ptp_dte
 ptp_idt82p33
 ptp_kvm
+ptp_ocp
 ptp_pch
 ptp_qoriq
 ptp_vmw
@@ -618,6 +620,14 @@
 kernel/drivers/s390/.*
 kernel/arch/s390/.*
 
+reset-raspberrypi
+clk-raspberrypi
+raspberrypi-cpufreq
+cpufreq-dt
+sdhci
+sdhci-iproc
+gpio-raspberrypi-exp
+mdio-bcm-unimac
 
 ; modules we do _not_ need
 [notuseful]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/etc/module.list 
new/installation-images-16.47/etc/module.list
--- old/installation-images-16.36/etc/module.list       2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/etc/module.list       2021-02-25 
15:26:30.000000000 +0100
@@ -257,6 +257,15 @@
 kernel/fs/vboxsf/
 kernel/drivers/virt/vboxguest/
 
+# RPi4
+kernel/drivers/reset/reset-raspberrypi.ko
+kernel/drivers/clk/bcm/clk-raspberrypi.ko
+kernel/drivers/cpufreq/raspberrypi-cpufreq.ko
+kernel/drivers/cpufreq/cpufreq-dt.ko
+kernel/drivers/mmc/host/sdhci-iproc.ko
+kernel/drivers/gpio/gpio-raspberrypi-exp.ko
+kernel/drivers/net/mdio/mdio-bcm-unimac.ko
+
 # kmps
 updates/
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/installation-images-16.36/lib/AddFiles.pm 
new/installation-images-16.47/lib/AddFiles.pm
--- old/installation-images-16.36/lib/AddFiles.pm       2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/lib/AddFiles.pm       2021-02-25 
15:26:30.000000000 +0100
@@ -810,7 +810,7 @@
       close F1;
       SUSystem "rm -f $tfile";
 
-      if($re =~ /\/s; 1$/) {   # multi line
+      if($re =~ /\/sg?; 1$/) { # multi line
         $_ = join '', @f;
         $ignore += 10;
         $i = eval $re;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/installation-images-16.36/obs/installation-images.spec 
new/installation-images-16.47/obs/installation-images.spec
--- old/installation-images-16.36/obs/installation-images.spec  2021-02-01 
10:21:18.000000000 +0100
+++ new/installation-images-16.47/obs/installation-images.spec  2021-02-25 
15:26:30.000000000 +0100
@@ -63,11 +63,7 @@
 %if "%{the_version}" == ""
 %error "bad version string"
 %endif
-%ifarch %arm aarch64 ppc64 ppc64le
-%define net_repo 
https://download.opensuse.org/ports/%{the_arch}/distribution/leap/%{the_version}/repo/oss/
-%else
 %define net_repo 
https://download.opensuse.org/distribution/leap/%{the_version}/repo/oss
-%endif
 %else
 %define with_exfat 1
 %ifarch %arm aarch64 ppc64 ppc64le
@@ -94,6 +90,10 @@
 %ifnarch %ix86
 %define theme SMO
 %endif
+# SMO is built based on 15-SP2, which does not include shim for aarch64
+%ifarch aarch64
+%define with_shim 0
+%endif
 %endif
 %endif
 
@@ -438,7 +438,7 @@
 BuildRequires:  perl-solv
 BuildRequires:  pinentry
 BuildRequires:  python3-websockify
-BuildRequires:  raleway-fonts
+BuildRequires:  google-poppins-fonts
 BuildRequires:  samba
 BuildRequires:  snapper
 BuildRequires:  suse-module-tools
@@ -456,13 +456,8 @@
 BuildRequires:  plymouth-branding
 BuildRequires:  plymouth-plugin-script
 BuildRequires:  plymouth-scripts
-# SLE needs to stay with tribar
-%if 0%{?is_opensuse}
-BuildRequires:  plymouth-branding-openSUSE
-%else
 BuildRequires:  plymouth-theme-tribar
 %endif
-%endif
 BuildRequires:  klogd
 BuildRequires:  ltrace
 BuildRequires:  nscd
@@ -632,6 +627,9 @@
 BuildRequires:  raspberrypi-firmware-config
 BuildRequires:  raspberrypi-firmware-dt
 BuildRequires:  u-boot-rpiarm64
+%if %with_shim
+BuildRequires:  shim
+%endif
 %endif
 %ifarch %arm
 BuildRequires:  grub2-arm-efi

Reply via email to