New version 27.20.2-1

- Use name instead of index in TUI env selection (#1495204) (jkonecny)
- Fix missing container in TUI source spoke (#1494801) (jkonecny)
- Add MOCK_EXTRA_ARGS to Makefile (jkonecny)
- tui source spoke: initialize nfs values when switching to nfs (rvykydal)
- Deselect encryption when switching to blivet-gui partitioning (vtrefny)
- Fix missing id to name environment transition (#1491119) (jkonecny)
- Fix test for unset TUI software environment (#1491119) (jkonecny)
- Rename processingDone to processing_done variable (jkonecny)
- network: add support for kickstart --bindto=mac for virtual devices
  (#1328576) (rvykydal)
- network: support mac bound network settings as first class (#1328576)
  (rvykydal)
- network: add support for kickstart --bindto=mac for wired devices (#1328576)
  (rvykydal)
- Don't setup the hub twice (#1491333) (vponcova)
- rpmostreepayload: Substitute ${basearch} in ostreesetup ref (walters)
- Bump Simpleline version (jkonecny)
- Perform repo checks only when there are checks available. (rvykydal)
- Add support for repo --metalink (GUI) (#1464843) (rvykydal)
- Add support for repo --metalink (kickstart, tui) (#1464843) (rvykydal)
- Make EFIGRUB._efi_binary a property, not a method (awilliam)
- Better storing logs from build and tests (jkonecny)
- Provide a default install class. (vponcova)
- Do not use hidden install classes. (vponcova)
- Make geolocation with kickstart possible (#1358331) (mkolman)
- Run python-meh as modal in TUI (jkonecny)
- Use GLib event loop in the simpleline (jkonecny)
- TUI progress reporting is handled by show_all (jkonecny)
- Fix catch TUI not main thread exceptions (jkonecny)
- Add efi_dir to the BaseInstallClass (#1412391) (vponcova)
- Document Anaconda branching workflow (mkolman)
- Use constants for version number bumps and additions (mkolman)
- Fix closest mirror now needs network (jkonecny)
- Fix restart payload thread in Network spoke GUI (#1478970) (jkonecny)
- Network spoke freeze when testing availability (#1478970) (jkonecny)
- Add support for adding version numbers to makebumpver (mkolman)
- Add support for major version bump to makebumpver (mkolman)
- Fix proxy settings badly used when testing repos (#1478970) (jkonecny)
- Add inst.notmux option (dusty)
This commit is contained in:
Martin Kolman 2017-09-29 17:27:57 +02:00
parent a094075558
commit 0d425c26eb
10 changed files with 44 additions and 471 deletions

1
.gitignore vendored
View File

@ -113,3 +113,4 @@
/anaconda-27.19.tar.bz2
/anaconda-27.20.tar.bz2
/anaconda-27.20.1.tar.bz2
/anaconda-27.20.2.tar.bz2

View File

@ -1,176 +0,0 @@
From 9271503c339b08b4cdb45e048bf73b75f6255752 Mon Sep 17 00:00:00 2001
From: Jiri Konecny <jkonecny@redhat.com>
Date: Fri, 1 Sep 2017 13:14:56 +0200
Subject: [PATCH] Fix catch TUI not main thread exceptions
Exception which are not in a main thread was passed to the hubQ which is
not used anymore in Simpleline. To resolve this issue, exceptions are
now enqueued as ExceptionSignal.
---
anaconda.spec.in | 2 +-
pyanaconda/exception.py | 55 +++++++++++++++++++++++++++------------
pyanaconda/ui/tui/hubs/summary.py | 2 +-
3 files changed, 40 insertions(+), 19 deletions(-)
diff --git a/anaconda.spec.in b/anaconda.spec.in
index 8d2048f95..9690c32a5 100644
--- a/anaconda.spec.in
+++ b/anaconda.spec.in
@@ -40,7 +40,7 @@ Source0: %{name}-%{version}.tar.bz2
%define pykickstartver 2.36-1
%define pypartedver 2.5-2
%define rpmver 4.10.0
-%define simplelinever 0.4-1
+%define simplelinever 0.5-1
%define utillinuxver 2.15.1
BuildRequires: audit-libs-devel
diff --git a/pyanaconda/exception.py b/pyanaconda/exception.py
index cf1f0b762..212ee7414 100644
--- a/pyanaconda/exception.py
+++ b/pyanaconda/exception.py
@@ -17,28 +17,34 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-from meh import Config
-from meh.handler import ExceptionHandler
-from meh.dump import ReverseExceptionDump
-from pyanaconda import iutil, kickstart
-import sys
+import errno
+import glob
+import gi
import os
+import re
import shutil
+import sys
import time
-import re
-import errno
-import glob
import traceback
+
import blivet.errors
-from pyanaconda.errors import NonInteractiveError
-from pyanaconda.ui.communication import hubQ
-from pyanaconda.constants import THREAD_EXCEPTION_HANDLING_TEST, IPMI_FAILED
-from pyanaconda.threading import threadMgr
-from pyanaconda.i18n import _
+
+from meh import Config
+from meh.dump import ReverseExceptionDump
+from meh.handler import ExceptionHandler
+
from pyanaconda import flags
+from pyanaconda import iutil, kickstart
from pyanaconda import startup_utils
+from pyanaconda.constants import THREAD_EXCEPTION_HANDLING_TEST, IPMI_FAILED
+from pyanaconda.errors import NonInteractiveError
+from pyanaconda.i18n import _
+from pyanaconda.threading import threadMgr
+from pyanaconda.ui.communication import hubQ
+
+from simpleline import App
+from simpleline.event_loop.signals import ExceptionSignal
-import gi
gi.require_version("GLib", "2.0")
from gi.repository import GLib
@@ -46,6 +52,7 @@ from gi.repository import GLib
from pyanaconda.anaconda_loggers import get_module_logger
log = get_module_logger(__name__)
+
class AnacondaReverseExceptionDump(ReverseExceptionDump):
@property
@@ -70,6 +77,7 @@ class AnacondaReverseExceptionDump(ReverseExceptionDump):
else:
return ""
+
class AnacondaExceptionHandler(ExceptionHandler):
def __init__(self, confObj, intfClass, exnClass, tty_num, gui_lock, interactive):
@@ -190,9 +198,16 @@ class AnacondaExceptionHandler(ExceptionHandler):
# data and let message handler run the exception handler in
# the main thread
exc_info = dump_info.exc_info
- hubQ.send_exception((exc_info.type,
- exc_info.value,
- exc_info.stack))
+ # new Simpleline package is now used in TUI. Look if Simpleline is
+ # initialized or if this is some fallback from GTK or other stuff.
+ if App.is_initialized():
+ # if Simpleline is initialized enqueue exception there
+ loop = App.get_event_loop()
+ loop.enqueue_signal(ExceptionSignal(App.get_scheduler(), exception_info=exc_info))
+ else:
+ hubQ.send_exception((exc_info.type,
+ exc_info.value,
+ exc_info.stack))
def postWriteHook(self, dump_info):
anaconda = dump_info.object
@@ -243,6 +258,7 @@ class AnacondaExceptionHandler(ExceptionHandler):
and self._intf_tty_num != 1:
iutil.vtActivate(self._intf_tty_num)
+
def initExceptionHandling(anaconda):
file_list = ["/tmp/anaconda.log", "/tmp/packaging.log",
"/tmp/program.log", "/tmp/storage.log", "/tmp/ifcfg.log",
@@ -298,16 +314,19 @@ def initExceptionHandling(anaconda):
return conf
+
def lsblk_callback():
"""Callback to get info about block devices."""
return iutil.execWithCapture("lsblk", ["--perms", "--fs", "--bytes"])
+
def nmcli_dev_list_callback():
"""Callback to get info about network devices."""
return iutil.execWithCapture("nmcli", ["device", "show"])
+
def journalctl_callback():
"""Callback to get logs from journalctl."""
@@ -322,6 +341,7 @@ def journalctl_callback():
return ret
+
def list_addons_callback():
"""
Callback to get info about the addons potentially affecting Anaconda's
@@ -333,6 +353,7 @@ def list_addons_callback():
addon_pkgs = glob.glob("/usr/share/anaconda/addons/*")
return ", ".join(addon.rsplit("/", 1)[1] for addon in addon_pkgs)
+
def test_exception_handling():
"""
Function that can be used for testing exception handling in anaconda. It
diff --git a/pyanaconda/ui/tui/hubs/summary.py b/pyanaconda/ui/tui/hubs/summary.py
index 65459e043..1d8036439 100644
--- a/pyanaconda/ui/tui/hubs/summary.py
+++ b/pyanaconda/ui/tui/hubs/summary.py
@@ -61,7 +61,7 @@ class SummaryHub(TUIHub):
sys.stdout.flush()
spokes = self._spokes.values()
while not all(spoke.ready for spoke in spokes):
- # Catch any asyncronous events (like storage crashing)
+ # Catch any asynchronous events (like storage crashing)
loop = App.get_event_loop()
loop.process_signals()
sys.stdout.write('.')
--
2.13.5

View File

@ -1,30 +0,0 @@
From 9325942789d69b0ec6876a93868d5a90b1893825 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Wed, 6 Sep 2017 11:25:42 -0700
Subject: [PATCH] Make EFIGRUB._efi_binary a property, not a method
This was previously a class attribute and still is one for the
other classes, and the code that uses it treats it as such. So
for EFIGRUB we need to make it a property. Without this fix,
UEFI installs crash with "TypeError: must be str, not method".
Signed-off-by: Adam Williamson <awilliam@redhat.com>
---
pyanaconda/bootloader.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py
index 28b6cf9b2..e24dda11c 100644
--- a/pyanaconda/bootloader.py
+++ b/pyanaconda/bootloader.py
@@ -1846,6 +1846,7 @@ class EFIGRUB(EFIBase, GRUB2):
if value == '32':
self._is_32bit_firmware = True
+ @property
def _efi_binary(self):
if self._is_32bit_firmware:
return "\\shimia32.efi"
--
2.13.5

View File

@ -1,28 +0,0 @@
From 8e62087392d0bdfe3d119d07df5fea42a419edfb Mon Sep 17 00:00:00 2001
From: Vendula Poncova <vponcova@redhat.com>
Date: Thu, 14 Sep 2017 13:40:54 +0200
Subject: [PATCH] Don't setup the hub twice (#1491333)
We need to make sure, that the simpleline's setup is called as well,
so simpleline will remember that the setup was already done.
Resolves: rhbz#1491333
---
pyanaconda/ui/tui/hubs/__init__.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/pyanaconda/ui/tui/hubs/__init__.py b/pyanaconda/ui/tui/hubs/__init__.py
index 616b40bf6..90af386c3 100644
--- a/pyanaconda/ui/tui/hubs/__init__.py
+++ b/pyanaconda/ui/tui/hubs/__init__.py
@@ -62,6 +62,7 @@ class TUIHub(TUIObject, common.Hub):
self.input_required = True
def setup(self, args="anaconda"):
+ TUIObject.setup(self, args)
environment = args
cats_and_spokes = self._collectCategoriesAndSpokes()
categories = cats_and_spokes.keys()
--
2.13.5

View File

@ -1,33 +0,0 @@
From f3b3a6ff6281c5cffd5c7a2b6b1d2bde0740999a Mon Sep 17 00:00:00 2001
From: Jiri Konecny <jkonecny@redhat.com>
Date: Thu, 21 Sep 2017 12:33:15 +0200
Subject: [PATCH 1/3] Rename processingDone to processing_done variable
Rename variable to move closer to pep8.
---
pyanaconda/ui/tui/spokes/software_selection.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/pyanaconda/ui/tui/spokes/software_selection.py b/pyanaconda/ui/tui/spokes/software_selection.py
index 4fb30bba3..bb78b7560 100644
--- a/pyanaconda/ui/tui/spokes/software_selection.py
+++ b/pyanaconda/ui/tui/spokes/software_selection.py
@@ -174,12 +174,12 @@ class SoftwareSpoke(NormalTUISpoke):
if the spoke starts a thread. It should make sure it doesn't access
things until they are completely setup.
"""
- processingDone = self.ready and not self.errors and self.txid_valid
+ processing_done = self.ready and not self.errors and self.txid_valid
if flags.automatedInstall or self._kickstarted:
- return processingDone and self.payload.baseRepo and self.data.packages.seen
+ return processing_done and self.payload.baseRepo and self.data.packages.seen
else:
- return processingDone and self.payload.baseRepo and self.environment is not None
+ return processing_done and self.payload.baseRepo and self.environment is not None
def refresh(self, args=None):
""" Refresh screen. """
--
2.13.5

View File

@ -1,30 +0,0 @@
From a31e9a41b3e48a325970933f0abddb5fc2021ee0 Mon Sep 17 00:00:00 2001
From: Jiri Konecny <jkonecny@redhat.com>
Date: Thu, 21 Sep 2017 18:10:53 +0200
Subject: [PATCH 2/3] Fix test for unset TUI software environment (#1491119)
The check was done as `if env:` problem is that `env` is a number. If
environment with index 0 was selected this condition went as no environment
selected.
Related: rhbz#1491119
---
pyanaconda/ui/tui/spokes/software_selection.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pyanaconda/ui/tui/spokes/software_selection.py b/pyanaconda/ui/tui/spokes/software_selection.py
index bb78b7560..90de9e3a1 100644
--- a/pyanaconda/ui/tui/spokes/software_selection.py
+++ b/pyanaconda/ui/tui/spokes/software_selection.py
@@ -288,7 +288,7 @@ class SoftwareSpoke(NormalTUISpoke):
self.environment = self._selected_environment
self.addons = self._addons_selection if self.environment is not None else set()
- if not self.environment:
+ if self.environment is None:
return
changed = False
--
2.13.5

View File

@ -1,67 +0,0 @@
From 6783da7587ec42687a21696bacd21b808df60f50 Mon Sep 17 00:00:00 2001
From: Jiri Konecny <jkonecny@redhat.com>
Date: Thu, 21 Sep 2017 13:14:46 +0200
Subject: [PATCH 3/3] Fix missing id to name environment transition (#1491119)
Regression from Anaconda to Simpleline migration. Return method for
transition environment id to name which was removed during migration.
Resolves: rhbz#1491119
---
pyanaconda/ui/tui/spokes/software_selection.py | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/pyanaconda/ui/tui/spokes/software_selection.py b/pyanaconda/ui/tui/spokes/software_selection.py
index 90de9e3a1..9d3aad0ce 100644
--- a/pyanaconda/ui/tui/spokes/software_selection.py
+++ b/pyanaconda/ui/tui/spokes/software_selection.py
@@ -117,7 +117,16 @@ class SoftwareSpoke(NormalTUISpoke):
def _payload_error(self):
self.errors = [payloadMgr.error]
- def _get_environment_id(self, environment):
+ def _translate_env_selection_to_name(self, selection):
+ """ Return the selected environment name or None.
+ Selection can be None during kickstart installation.
+ """
+ if selection is not None:
+ return self.payload.environments[selection]
+ else:
+ return None
+
+ def _translate_env_name_to_id(self, environment):
""" Return the id of the selected environment or None. """
if environment is None:
return None
@@ -250,8 +259,8 @@ class SoftwareSpoke(NormalTUISpoke):
# The environment was selected, switch screen
elif args is None:
# Get addons for the selected environment
- environment = self._selected_environment
- environment_id = self._get_environment_id(environment)
+ environment = self._translate_env_selection_to_name(self._selected_environment)
+ environment_id = self._translate_env_name_to_id(environment)
addons = self._get_available_addons(environment_id)
# Switch the screen
@@ -285,7 +294,7 @@ class SoftwareSpoke(NormalTUISpoke):
def _apply(self):
""" Private apply. """
- self.environment = self._selected_environment
+ self.environment = self._translate_env_selection_to_name(self._selected_environment)
self.addons = self._addons_selection if self.environment is not None else set()
if self.environment is None:
@@ -305,7 +314,7 @@ class SoftwareSpoke(NormalTUISpoke):
self.data.packages.groupList = []
self.payload.selectEnvironment(self.environment)
- environment_id = self._get_environment_id(self.environment)
+ environment_id = self._translate_env_name_to_id(self.environment)
available_addons = self._get_available_addons(environment_id)
for addon_id in available_addons:
--
2.13.5

View File

@ -1,66 +0,0 @@
From 7406b1bfd8597a4320ba06791dea5bd1dc4261f4 Mon Sep 17 00:00:00 2001
From: Jiri Konecny <jkonecny@redhat.com>
Date: Tue, 26 Sep 2017 10:06:00 +0200
Subject: [PATCH] Use name instead of index in TUI env selection (#1495204)
The environment selection in TUI was in indexes and then converted
back. Remove this converting back and forth.
Resolves: rhbz#1495204
---
pyanaconda/ui/tui/spokes/software_selection.py | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/pyanaconda/ui/tui/spokes/software_selection.py b/pyanaconda/ui/tui/spokes/software_selection.py
index 9d3aad0ce..ae35838d0 100644
--- a/pyanaconda/ui/tui/spokes/software_selection.py
+++ b/pyanaconda/ui/tui/spokes/software_selection.py
@@ -88,9 +88,9 @@ class SoftwareSpoke(NormalTUISpoke):
if instclass and instclass.defaultPackageEnvironment and \
instclass.defaultPackageEnvironment in environments:
- self._selected_environment = environments.index(instclass.defaultPackageEnvironment)
+ self._selected_environment = instclass.defaultPackageEnvironment
else:
- self._selected_environment = 0
+ self._selected_environment = environments[0]
# Apply the initial selection
self._apply()
@@ -117,15 +117,6 @@ class SoftwareSpoke(NormalTUISpoke):
def _payload_error(self):
self.errors = [payloadMgr.error]
- def _translate_env_selection_to_name(self, selection):
- """ Return the selected environment name or None.
- Selection can be None during kickstart installation.
- """
- if selection is not None:
- return self.payload.environments[selection]
- else:
- return None
-
def _translate_env_name_to_id(self, environment):
""" Return the id of the selected environment or None. """
if environment is None:
@@ -259,7 +250,7 @@ class SoftwareSpoke(NormalTUISpoke):
# The environment was selected, switch screen
elif args is None:
# Get addons for the selected environment
- environment = self._translate_env_selection_to_name(self._selected_environment)
+ environment = self._selected_environment
environment_id = self._translate_env_name_to_id(environment)
addons = self._get_available_addons(environment_id)
@@ -294,7 +285,7 @@ class SoftwareSpoke(NormalTUISpoke):
def _apply(self):
""" Private apply. """
- self.environment = self._translate_env_selection_to_name(self._selected_environment)
+ self.environment = self._selected_environment
self.addons = self._addons_selection if self.environment is not None else set()
if self.environment is None:
--
2.13.5

View File

@ -2,8 +2,8 @@
Summary: Graphical system installer
Name: anaconda
Version: 27.20.1
Release: 6%{?dist}
Version: 27.20.2
Release: 1%{?dist}
License: GPLv2+ and MIT
Group: Applications/System
URL: http://fedoraproject.org/wiki/Anaconda
@ -15,23 +15,6 @@ URL: http://fedoraproject.org/wiki/Anaconda
# make dist
Source0: %{name}-%{version}.tar.bz2
# Fix catch TUI not main thread exceptions (Fedora 27 Beta hotfix)
Patch0: 0001-Fix-catch-TUI-not-main-thread-exceptions.patch
# Another UEFI booting fix (#1489144)
Patch1: 0002-Make-EFIGRUB._efi_binary-a-property-not-a-method.patch
# Fix automatic installation issues (#1491333)
Patch2: 0003-Don-t-setup-the-hub-twice-1491333.patch
# Fix missing environment translation (#1491119)
Patch3: 0004-Rename-processingDone-to-processing_done-variable.patch
Patch4: 0005-Fix-test-for-unset-TUI-software-environment-1491119.patch
Patch5: 0006-Fix-missing-id-to-name-environment-transition-149111.patch
# Fix TUI environment selection
Patch6: 0007-Use-name-instead-of-index-in-TUI-env-selection-14952.patch
# Versions of required components (done so we make sure the buildrequires
# match the requires versions of things).
@ -54,10 +37,10 @@ Patch6: 0007-Use-name-instead-of-index-in-TUI-env-selection-14952.patch
%define mehver 0.23-1
%define nmver 1.0
%define partedver 1.8.1
%define pykickstartver 2.36-1
%define pykickstartver 2.39-1
%define pypartedver 2.5-2
%define rpmver 4.10.0
%define simplelinever 0.5-1
%define simplelinever 0.6-1
%define utillinuxver 2.15.1
BuildRequires: audit-libs-devel
@ -256,13 +239,6 @@ runtime on NFS/HTTP/FTP servers or local disks.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%build
%configure
@ -356,20 +332,46 @@ update-desktop-database &> /dev/null || :
%{_prefix}/libexec/anaconda/dd_*
%changelog
* Wed Sep 27 2017 Martin Kolman <mkolman@redhat.com> - 27.20.1-6
- Use name instead of index in TUI env selection (#1495204)
* Thu Sep 21 2017 Martin Kolman <mkolman@redhat.com> - 27.20.1-5
- Fix missing enviromnent translation (#1491119) (jkonecny)
* Mon Sep 18 2017 Martin Kolman <mkolman@redhat.com> - 27.20.1-4
* Fri Sep 29 2017 Martin Kolman <mkolman@redhat.com> - 27.20.2-1
- Use name instead of index in TUI env selection (#1495204) (jkonecny)
- Fix missing container in TUI source spoke (#1494801) (jkonecny)
- Add MOCK_EXTRA_ARGS to Makefile (jkonecny)
- tui source spoke: initialize nfs values when switching to nfs (rvykydal)
- Deselect encryption when switching to blivet-gui partitioning (vtrefny)
- Fix missing id to name environment transition (#1491119) (jkonecny)
- Fix test for unset TUI software environment (#1491119) (jkonecny)
- Rename processingDone to processing_done variable (jkonecny)
- network: add support for kickstart --bindto=mac for virtual devices
(#1328576) (rvykydal)
- network: support mac bound network settings as first class (#1328576)
(rvykydal)
- network: add support for kickstart --bindto=mac for wired devices (#1328576)
(rvykydal)
- Don't setup the hub twice (#1491333) (vponcova)
* Thu Sep 07 2017 Martin Kolman <mkolman@redhat.com> - 27.20.1-3
- Make EFIGRUB._efi_binary a property, not a method (adamw)
* Mon Sep 04 2017 Martin Kolman <mkolman@redhat.com> - 27.20.1-2
- rpmostreepayload: Substitute ${basearch} in ostreesetup ref (walters)
- Bump Simpleline version (jkonecny)
- Perform repo checks only when there are checks available. (rvykydal)
- Add support for repo --metalink (GUI) (#1464843) (rvykydal)
- Add support for repo --metalink (kickstart, tui) (#1464843) (rvykydal)
- Make EFIGRUB._efi_binary a property, not a method (awilliam)
- Better storing logs from build and tests (jkonecny)
- Provide a default install class. (vponcova)
- Do not use hidden install classes. (vponcova)
- Make geolocation with kickstart possible (#1358331) (mkolman)
- Run python-meh as modal in TUI (jkonecny)
- Use GLib event loop in the simpleline (jkonecny)
- TUI progress reporting is handled by show_all (jkonecny)
- Fix catch TUI not main thread exceptions (jkonecny)
- Add efi_dir to the BaseInstallClass (#1412391) (vponcova)
- Document Anaconda branching workflow (mkolman)
- Use constants for version number bumps and additions (mkolman)
- Fix closest mirror now needs network (jkonecny)
- Fix restart payload thread in Network spoke GUI (#1478970) (jkonecny)
- Network spoke freeze when testing availability (#1478970) (jkonecny)
- Add support for adding version numbers to makebumpver (mkolman)
- Add support for major version bump to makebumpver (mkolman)
- Fix proxy settings badly used when testing repos (#1478970) (jkonecny)
- Add inst.notmux option (dusty)
* Tue Aug 29 2017 Martin Kolman <mkolman@redhat.com> - 27.20.1-1
- Remove the metacity theme. (vponcova)

View File

@ -1 +1 @@
SHA512 (anaconda-27.20.1.tar.bz2) = e25e1b6d15048926821e11ce334d24d832aef62468804e747beee56830cdf93cce026c3d8a3fd32f3a824cbbe6f09221dd6c0adde9e449f1e78c7c8605e45b78
SHA512 (anaconda-27.20.2.tar.bz2) = 4b6136070f6d61839285b2baa50412826e561cb13f764a29432f9a481dc13770a32a57646f475290413d00a1b4d9efea32320e9e17690b72032cc2e7750fabc8