backport some patches
This commit is contained in:
parent
03e9e855bf
commit
00e88397d8
22
adapt-to-blivet-2-0-API.patch
Normal file
22
adapt-to-blivet-2-0-API.patch
Normal file
@ -0,0 +1,22 @@
|
||||
From 3fec7cef90b4000464864aa00404f03042c1d56b Mon Sep 17 00:00:00 2001
|
||||
From: David Lehman <dlehman@redhat.com>
|
||||
Date: Wed, 23 Mar 2016 16:04:37 -0400
|
||||
Subject: [PATCH] Adapt to blivet-2.0 API.
|
||||
|
||||
---
|
||||
com_redhat_kdump/common.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/common.py b/com_redhat_kdump/common.py
|
||||
index 9e16bcf..d7c0517 100644
|
||||
--- a/com_redhat_kdump/common.py
|
||||
+++ b/com_redhat_kdump/common.py
|
||||
@@ -62,7 +62,7 @@ def getMemoryBounds():
|
||||
|
||||
totalMemory = getTotalMemory()
|
||||
|
||||
- if blivet.arch.getArch() == 'ppc64':
|
||||
+ if blivet.arch.get_arch() == 'ppc64':
|
||||
lowerBound = 256
|
||||
minUsable = 1024
|
||||
step = 1
|
||||
280
add-kdump-spoke-icon.patch
Normal file
280
add-kdump-spoke-icon.patch
Normal file
@ -0,0 +1,280 @@
|
||||
From e6ea58141a79a66ad494b2a97eff3d108c2d50c5 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Young <dyoung@redhat.com>
|
||||
Date: Fri, 5 Jun 2015 10:08:02 +0800
|
||||
Subject: [PATCH] Add kdump spoke icon
|
||||
|
||||
Resolves: bz1200678
|
||||
|
||||
Previously we use gnome icon, people reported that the icon is bad because it
|
||||
is always a sad face.
|
||||
|
||||
Updated with another icon for kdump use only.
|
||||
|
||||
Signed-off-by: Dave Young <dyoung@redhat.com>
|
||||
---
|
||||
Makefile | 4 +
|
||||
com_redhat_kdump/gui/spokes/kdump.py | 2 +-
|
||||
kdump.svg | 202 +++++++++++++++++++++++++++
|
||||
test/packbootiso.sh | 1 +
|
||||
4 files changed, 208 insertions(+), 1 deletion(-)
|
||||
create mode 100644 kdump.svg
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index f7c2fa8..1982f5b 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -10,6 +10,7 @@ FILES = $(ADDON) \
|
||||
po \
|
||||
Makefile \
|
||||
README \
|
||||
+ kdump.svg \
|
||||
version.sh
|
||||
|
||||
EXCLUDES = \
|
||||
@@ -26,10 +27,13 @@ DISTNAME = $(NAME)-$(VERSION)
|
||||
ADDONDIR = /usr/share/anaconda/addons/
|
||||
DISTBALL = $(DISTNAME).tar.gz
|
||||
NUM_PROCS = $$(getconf _NPROCESSORS_ONLN)
|
||||
+ICONDIR = /usr/share/icons/hicolor/scalable/apps/
|
||||
|
||||
install: version.sh
|
||||
mkdir -p $(DESTDIR)$(ADDONDIR)
|
||||
+ mkdir -p $(DESTDIR)$(ICONDIR)
|
||||
cp -rv $(ADDON) $(DESTDIR)$(ADDONDIR)
|
||||
+ install -c -m 644 kdump.svg $(DESTDIR)$(ICONDIR)
|
||||
$(MAKE) install-po-files
|
||||
|
||||
uninstall:
|
||||
diff --git a/com_redhat_kdump/gui/spokes/kdump.py b/com_redhat_kdump/gui/spokes/kdump.py
|
||||
index 9b2e731..7a52b46 100644
|
||||
--- a/com_redhat_kdump/gui/spokes/kdump.py
|
||||
+++ b/com_redhat_kdump/gui/spokes/kdump.py
|
||||
@@ -44,7 +44,7 @@ class KdumpSpoke(NormalSpoke):
|
||||
helpFile = "KdumpSpoke.xml"
|
||||
translationDomain = "kdump-anaconda-addon"
|
||||
|
||||
- icon = "computer-fail-symbolic"
|
||||
+ icon = "kdump"
|
||||
title = N_("_KDUMP")
|
||||
category = SystemCategory
|
||||
|
||||
diff --git a/kdump.svg b/kdump.svg
|
||||
new file mode 100644
|
||||
index 0000000..0386a6f
|
||||
--- /dev/null
|
||||
+++ b/kdump.svg
|
||||
@@ -0,0 +1,202 @@
|
||||
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
+
|
||||
+<svg
|
||||
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
+ xmlns:cc="http://creativecommons.org/ns#"
|
||||
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
+ xmlns:svg="http://www.w3.org/2000/svg"
|
||||
+ xmlns="http://www.w3.org/2000/svg"
|
||||
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
+ id="svg2"
|
||||
+ version="1.1"
|
||||
+ inkscape:version="0.91 r13725"
|
||||
+ width="64"
|
||||
+ height="64"
|
||||
+ viewBox="0 0 64 64"
|
||||
+ sodipodi:docname="kdump.svg"
|
||||
+ inkscape:export-filename="/Users/snow/Desktop/RHEL7-kdump"
|
||||
+ inkscape:export-xdpi="126.703"
|
||||
+ inkscape:export-ydpi="126.703">
|
||||
+ <metadata
|
||||
+ id="metadata8">
|
||||
+ <rdf:RDF>
|
||||
+ <cc:Work
|
||||
+ rdf:about="">
|
||||
+ <dc:format>image/svg+xml</dc:format>
|
||||
+ <dc:type
|
||||
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
+ <dc:title></dc:title>
|
||||
+ </cc:Work>
|
||||
+ </rdf:RDF>
|
||||
+ </metadata>
|
||||
+ <defs
|
||||
+ id="defs6" />
|
||||
+ <sodipodi:namedview
|
||||
+ pagecolor="#ffffff"
|
||||
+ bordercolor="#666666"
|
||||
+ borderopacity="1"
|
||||
+ objecttolerance="10"
|
||||
+ gridtolerance="10"
|
||||
+ guidetolerance="10"
|
||||
+ inkscape:pageopacity="0"
|
||||
+ inkscape:pageshadow="2"
|
||||
+ inkscape:window-width="1440"
|
||||
+ inkscape:window-height="851"
|
||||
+ id="namedview4"
|
||||
+ showgrid="false"
|
||||
+ inkscape:zoom="7.8203125"
|
||||
+ inkscape:cx="61.89011"
|
||||
+ inkscape:cy="33.133205"
|
||||
+ inkscape:window-x="0"
|
||||
+ inkscape:window-y="0"
|
||||
+ inkscape:window-maximized="1"
|
||||
+ inkscape:current-layer="svg2" />
|
||||
+ <g
|
||||
+ id="g4558"
|
||||
+ transform="matrix(-0.01200035,0.4031479,-0.40315051,-0.01200027,264.16902,-296.78649)">
|
||||
+ <g
|
||||
+ transform="matrix(0.77251542,0.13871563,-0.13871563,0.77251542,212.91427,27.530304)"
|
||||
+ id="g4347-4">
|
||||
+ <circle
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#bebebe;stroke-width:38.24825287;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ id="path4149-8"
|
||||
+ cx="894.74286"
|
||||
+ cy="516.98846"
|
||||
+ r="73.277237" />
|
||||
+ <g
|
||||
+ id="g4341-1"
|
||||
+ transform="matrix(0.91602888,0.40111234,-0.40111234,0.91602888,282.5304,-315.51091)">
|
||||
+ <path
|
||||
+ inkscape:transform-center-y="25.514067"
|
||||
+ inkscape:transform-center-x="-62.177687"
|
||||
+ d="m 968.17134,517.07208 a 73.277237,73.277237 0 0 1 -4.41916,25.06229"
|
||||
+ sodipodi:open="true"
|
||||
+ sodipodi:end="0.34906585"
|
||||
+ sodipodi:start="0"
|
||||
+ sodipodi:ry="73.277237"
|
||||
+ sodipodi:rx="73.277237"
|
||||
+ sodipodi:cy="517.07208"
|
||||
+ sodipodi:cx="894.8941"
|
||||
+ sodipodi:type="arc"
|
||||
+ id="path4149-6-3"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ededed;stroke-width:38.2480011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
+ <path
|
||||
+ transform="matrix(0,-1,1,0,0,0)"
|
||||
+ inkscape:transform-center-y="-62.17768"
|
||||
+ inkscape:transform-center-x="-25.514029"
|
||||
+ d="m -443.62041,894.86908 a 73.277237,73.277237 0 0 1 -4.41916,25.06229"
|
||||
+ sodipodi:open="true"
|
||||
+ sodipodi:end="0.34906585"
|
||||
+ sodipodi:start="0"
|
||||
+ sodipodi:ry="73.277237"
|
||||
+ sodipodi:rx="73.277237"
|
||||
+ sodipodi:cy="894.86908"
|
||||
+ sodipodi:cx="-516.89764"
|
||||
+ sodipodi:type="arc"
|
||||
+ id="path4149-6-6-3"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ededed;stroke-width:38.2480011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
+ <path
|
||||
+ transform="matrix(0,1,-1,0,0,0)"
|
||||
+ inkscape:transform-center-y="62.17771"
|
||||
+ inkscape:transform-center-x="25.514044"
|
||||
+ d="m 590.37434,-895.65582 a 73.277237,73.277237 0 0 1 -4.41915,25.06229"
|
||||
+ sodipodi:open="true"
|
||||
+ sodipodi:end="0.34906585"
|
||||
+ sodipodi:start="0"
|
||||
+ sodipodi:ry="73.277237"
|
||||
+ sodipodi:rx="73.277237"
|
||||
+ sodipodi:cy="-895.65582"
|
||||
+ sodipodi:cx="517.09711"
|
||||
+ sodipodi:type="arc"
|
||||
+ id="path4149-6-7-7"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ededed;stroke-width:38.2480011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
+ <path
|
||||
+ transform="scale(-1,-1)"
|
||||
+ inkscape:transform-center-y="-25.514021"
|
||||
+ inkscape:transform-center-x="62.177687"
|
||||
+ d="m -821.4655,-516.80084 a 73.277237,73.277237 0 0 1 -4.41916,25.06229"
|
||||
+ sodipodi:open="true"
|
||||
+ sodipodi:end="0.34906585"
|
||||
+ sodipodi:start="0"
|
||||
+ sodipodi:ry="73.277237"
|
||||
+ sodipodi:rx="73.277237"
|
||||
+ sodipodi:cy="-516.80084"
|
||||
+ sodipodi:cx="-894.74274"
|
||||
+ sodipodi:type="arc"
|
||||
+ id="path4149-6-7-1-0"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ededed;stroke-width:38.2480011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
+ </g>
|
||||
+ <circle
|
||||
+ r="97.60952"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#bebebe;stroke-width:3.68694615;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ id="path4149-8-6"
|
||||
+ cx="894.74286"
|
||||
+ cy="516.98846" />
|
||||
+ </g>
|
||||
+ <g
|
||||
+ id="g4552">
|
||||
+ <path
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#bebebe;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ id="path4149-6-7-1-0-0"
|
||||
+ sodipodi:type="arc"
|
||||
+ sodipodi:cx="-980.75238"
|
||||
+ sodipodi:cy="9.2112637"
|
||||
+ sodipodi:rx="57.513161"
|
||||
+ sodipodi:ry="57.513161"
|
||||
+ sodipodi:start="0"
|
||||
+ sodipodi:end="0.34906585"
|
||||
+ sodipodi:open="true"
|
||||
+ d="m -923.23922,9.2112637 a 57.513161,57.513161 0 0 1 -3.46847,19.6706593"
|
||||
+ inkscape:transform-center-x="53.411556"
|
||||
+ inkscape:transform-center-y="-50.905574"
|
||||
+ transform="matrix(-0.83071751,-0.55669419,0.55669419,-0.83071751,0,0)" />
|
||||
+ <path
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#bebebe;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ id="path4149-6-7-1-0-0-9"
|
||||
+ sodipodi:type="arc"
|
||||
+ sodipodi:cx="11.623063"
|
||||
+ sodipodi:cy="-995.41547"
|
||||
+ sodipodi:rx="57.513161"
|
||||
+ sodipodi:ry="57.513161"
|
||||
+ sodipodi:start="0"
|
||||
+ sodipodi:end="0.34906585"
|
||||
+ sodipodi:open="true"
|
||||
+ d="m 69.136224,-995.41547 a 57.513161,57.513161 0 0 1 -3.468468,19.67066"
|
||||
+ inkscape:transform-center-x="50.905598"
|
||||
+ inkscape:transform-center-y="53.41154"
|
||||
+ transform="matrix(-0.55669419,0.83071751,-0.83071751,-0.55669419,0,0)" />
|
||||
+ <path
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#bebebe;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ id="path4149-6-7-1-0-0-9-9"
|
||||
+ sodipodi:type="arc"
|
||||
+ sodipodi:cx="1015.775"
|
||||
+ sodipodi:cy="-3.1571906"
|
||||
+ sodipodi:rx="57.513161"
|
||||
+ sodipodi:ry="57.513161"
|
||||
+ sodipodi:start="0"
|
||||
+ sodipodi:end="0.34906585"
|
||||
+ sodipodi:open="true"
|
||||
+ d="m 1073.2882,-3.1571906 a 57.513161,57.513161 0 0 1 -3.4685,19.6706596"
|
||||
+ inkscape:transform-center-x="-53.411617"
|
||||
+ inkscape:transform-center-y="50.90565"
|
||||
+ transform="matrix(0.83071751,0.55669419,-0.55669419,0.83071751,0,0)" />
|
||||
+ <path
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#bebebe;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ id="path4149-6-7-1-0-0-9-9-8"
|
||||
+ sodipodi:type="arc"
|
||||
+ sodipodi:cx="23.169399"
|
||||
+ sodipodi:cy="1000.4084"
|
||||
+ sodipodi:rx="57.513161"
|
||||
+ sodipodi:ry="57.513161"
|
||||
+ sodipodi:start="0"
|
||||
+ sodipodi:end="0.34906585"
|
||||
+ sodipodi:open="true"
|
||||
+ d="m 80.68256,1000.4084 a 57.513161,57.513161 0 0 1 -3.468468,19.6706"
|
||||
+ inkscape:transform-center-x="-50.905627"
|
||||
+ inkscape:transform-center-y="-53.411632"
|
||||
+ transform="matrix(0.55669419,-0.83071751,0.83071751,0.55669419,0,0)" />
|
||||
+ </g>
|
||||
+ </g>
|
||||
+</svg>
|
||||
diff --git a/test/packbootiso.sh b/test/packbootiso.sh
|
||||
index b7086ef..341b36f 100644
|
||||
--- a/test/packbootiso.sh
|
||||
+++ b/test/packbootiso.sh
|
||||
@@ -28,6 +28,7 @@ mkdir -p mnt/usr/share/anaconda/addons
|
||||
rm -rf mnt/usr/share/anaconda/addons/com_redhat_kdump
|
||||
find mnt/ -name kdump-anaconda-addon.mo -exec rm -f {} \;
|
||||
cp -aRf kdump-anaconda-addon/com_redhat_kdump mnt/usr/share/anaconda/addons/
|
||||
+cp -a kdump-anaconda-addon/kdump.svg mnt/usr/share/icons/hicolor/scalable/apps/
|
||||
make -C kdump-anaconda-addon/po install DESTDIR=../../mnt
|
||||
umount mnt
|
||||
rm -rf kdump-anaconda-addon
|
||||
227
add-some-unit-tests.patch
Normal file
227
add-some-unit-tests.patch
Normal file
@ -0,0 +1,227 @@
|
||||
From 6ed260c250a912e779b819d4e027ae571066c777 Mon Sep 17 00:00:00 2001
|
||||
From: Kairui Song <kasong@redhat.com>
|
||||
Date: Thu, 21 Mar 2019 17:34:28 +0800
|
||||
Subject: [PATCH 1/2] Add some unit tests
|
||||
|
||||
This should cover most parts except UI part and Anaconda API.
|
||||
|
||||
To run the test, ensure python3-nose is installed then run "make test"
|
||||
|
||||
Signed-off-by: Kairui Song <kasong@redhat.com>
|
||||
---
|
||||
Makefile | 4 +-
|
||||
test/unittests/test_common.py | 57 +++++++++++++++++++++++++++
|
||||
test/unittests/test_kickstart.py | 67 ++++++++++++++++++++++++++++++++
|
||||
test/unittests/utils.py | 12 ++++++
|
||||
4 files changed, 138 insertions(+), 2 deletions(-)
|
||||
create mode 100644 test/unittests/test_common.py
|
||||
create mode 100644 test/unittests/test_kickstart.py
|
||||
create mode 100644 test/unittests/utils.py
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 1982f5b..c9b581d 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -77,14 +77,14 @@ test:
|
||||
@find . -name '*.py' -print|xargs -n1 --max-procs=$(NUM_PROCS) pylint -E 2> /dev/null
|
||||
@echo "[ OK ]"
|
||||
@echo "***Running unittests checks***"
|
||||
- @PYTHONPATH=. nosetests --processes=-1 -vw tests/
|
||||
+ @PYTHONPATH=. python3 -m nose --processes=-1 -vw test/unittests
|
||||
|
||||
runpylint:
|
||||
@find . -name '*.py' -print|xargs -n1 --max-procs=$(NUM_PROCS) pylint -E 2> /dev/null
|
||||
@echo "[ OK ]"
|
||||
|
||||
unittest:
|
||||
- PYTHONPATH=. nosetests --processes=-1 -vw tests/
|
||||
+ PYTHONPATH=. python3 -m nose --processes=-1 -vw test/unittests
|
||||
|
||||
version.sh:
|
||||
@echo "KDUMP_ADDON_VERSION=$(VERSION)" > version.sh
|
||||
diff --git a/test/unittests/test_common.py b/test/unittests/test_common.py
|
||||
new file mode 100644
|
||||
index 0000000..d06263f
|
||||
--- /dev/null
|
||||
+++ b/test/unittests/test_common.py
|
||||
@@ -0,0 +1,57 @@
|
||||
+from utils import KdumpTestCase
|
||||
+from unittest.mock import patch, mock_open, MagicMock
|
||||
+from com_redhat_kdump import common
|
||||
+
|
||||
+SYS_CRASH_SIZE = '/sys/kernel/kexec_crash_size'
|
||||
+PROC_MEMINFO = '/proc/meminfo'
|
||||
+
|
||||
+X86_INFO_FIXTURE = {
|
||||
+ SYS_CRASH_SIZE: "167772160", # 160MB
|
||||
+ PROC_MEMINFO:"""MemTotal: 4030464 kB
|
||||
+""" # 4GB - 160MB
|
||||
+}
|
||||
+
|
||||
+AARCH64_INFO_FIXTURE = {
|
||||
+ SYS_CRASH_SIZE: "536870912", # 512MB
|
||||
+ PROC_MEMINFO:"""MemTotal: 66584576 kB
|
||||
+""" # 64GB - 512MB
|
||||
+}
|
||||
+
|
||||
+PPC64_INFO_FIXTURE = {
|
||||
+ SYS_CRASH_SIZE: "1073741824", # 1024MB
|
||||
+ PROC_MEMINFO:"""MemTotal: 66060288 kB
|
||||
+""" # 64GB - 1GB
|
||||
+}
|
||||
+
|
||||
+
|
||||
+class MockFileRead(MagicMock):
|
||||
+ def __init__(self, file_read_map):
|
||||
+ MagicMock.__init__(self, name=open, spec=open)
|
||||
+ self.file_read_map = file_read_map
|
||||
+
|
||||
+ handle = MagicMock()
|
||||
+ handle.__enter__.return_value = handle
|
||||
+ handle.read.return_value = None
|
||||
+
|
||||
+ def reset_choose_file(filename, *args, **kwargs):
|
||||
+ handle.read.return_value = self.file_read_map[filename]
|
||||
+ return handle
|
||||
+
|
||||
+ self.side_effect = reset_choose_file
|
||||
+
|
||||
+
|
||||
+class KdumpCommonTestCase(KdumpTestCase):
|
||||
+ @patch("builtins.open", MockFileRead(X86_INFO_FIXTURE))
|
||||
+ @patch("blivet.arch.get_arch", return_value="x86_64")
|
||||
+ def memory_bound_test_x86(self, _mock_read):
|
||||
+ self.assertEqual((128, 4 * 1024 - 256, 1), common.getMemoryBounds())
|
||||
+
|
||||
+ @patch("builtins.open", MockFileRead(AARCH64_INFO_FIXTURE))
|
||||
+ @patch("blivet.arch.get_arch", return_value="aarch64")
|
||||
+ def memory_bound_test_aarch64(self, _mock_read):
|
||||
+ self.assertEqual((128, 64 * 1024 - 256, 1), common.getMemoryBounds())
|
||||
+
|
||||
+ @patch("builtins.open", MockFileRead(PPC64_INFO_FIXTURE))
|
||||
+ @patch("blivet.arch.get_arch", return_value="ppc64")
|
||||
+ def memory_bound_test_ppc64(self, _mock_read):
|
||||
+ self.assertEqual((256, 64 * 1024 - 1024, 1), common.getMemoryBounds())
|
||||
diff --git a/test/unittests/test_kickstart.py b/test/unittests/test_kickstart.py
|
||||
new file mode 100644
|
||||
index 0000000..7b61e96
|
||||
--- /dev/null
|
||||
+++ b/test/unittests/test_kickstart.py
|
||||
@@ -0,0 +1,67 @@
|
||||
+from utils import KdumpTestCase
|
||||
+from unittest.mock import patch
|
||||
+from com_redhat_kdump.ks.kdump import KdumpData
|
||||
+from pykickstart.errors import KickstartParseError
|
||||
+import re
|
||||
+
|
||||
+
|
||||
+ALL_ARGS_RE = re.compile(
|
||||
+ r"[\s\n]*%addon\s+KdumpData\s+"
|
||||
+ r"(--enable|--disable|--enablefadump|--reverse-mb[=|\ ]['\"]?\d+['\"][Mm]?)*"
|
||||
+ r"\s+.*[\s\n]+%end[\s\n]*")
|
||||
+
|
||||
+def new_ks_addon_data():
|
||||
+ return KdumpData("KdumpData")
|
||||
+
|
||||
+
|
||||
+def kdump_check_ks(test, addon_data, required_arguments):
|
||||
+ ks_str = str(addon_data)
|
||||
+ for arg in required_arguments:
|
||||
+ # Ensure rerquired argument is generated.
|
||||
+ arg_regex = re.compile(r"[\s\n]*%addon\s+KdumpData.*\s+" + arg + r"\s+.*[\s\n]+%end[\s\n]*")
|
||||
+ test.assertRegexpMatches(ks_str, arg_regex)
|
||||
+ # Ensure no invalid argument is generated.
|
||||
+ test.assertRegexpMatches(ks_str, ALL_ARGS_RE)
|
||||
+
|
||||
+
|
||||
+class KdumpKickstartTestCase(KdumpTestCase):
|
||||
+ def new_ks_addon_data_test(self):
|
||||
+ ks_addon_data = new_ks_addon_data()
|
||||
+ self.assertIsNotNone(ks_addon_data)
|
||||
+
|
||||
+ def ks_default_to_str_test(self, _MockMemoryBounds):
|
||||
+ ks_addon_data = new_ks_addon_data()
|
||||
+ kdump_check_ks(self, ks_addon_data, ["--disable"])
|
||||
+
|
||||
+ def ks_enable_to_str_test(self):
|
||||
+ ks_addon_data = new_ks_addon_data()
|
||||
+ ks_addon_data.enabled = True
|
||||
+ kdump_check_ks(self, ks_addon_data, ["--enable"])
|
||||
+
|
||||
+ def ks_disable_to_str_test(self):
|
||||
+ ks_addon_data = new_ks_addon_data()
|
||||
+ ks_addon_data.enabled = False
|
||||
+ kdump_check_ks(self, ks_addon_data, ["--disable"])
|
||||
+
|
||||
+ def ks_parse_enable_to_str_test(self):
|
||||
+ ks_addon_data = new_ks_addon_data()
|
||||
+ ks_addon_data.handle_header(0, ["--enable"])
|
||||
+ kdump_check_ks(self, ks_addon_data, ["--enable"])
|
||||
+
|
||||
+ def ks_parse_reserve_to_str_test(self):
|
||||
+ ks_addon_data = new_ks_addon_data()
|
||||
+ ks_addon_data.handle_header(0, ["--enable", "--reserve-mb=256"])
|
||||
+ kdump_check_ks(self, ks_addon_data, ["--enable", "--reserve-mb[=|\ ](\"256\"|'256'|256)[Mm]?"])
|
||||
+
|
||||
+ def ks_parse_fadump_to_str_test(self):
|
||||
+ ks_addon_data = new_ks_addon_data()
|
||||
+ ks_addon_data.handle_header(0, ['--enablefadump'])
|
||||
+ kdump_check_ks(self, ks_addon_data, ["--enablefadump"])
|
||||
+
|
||||
+ def ks_parse_invalid_reserve_size_test(self):
|
||||
+ with self.assertRaises(KickstartParseError) as error:
|
||||
+ ks_addon_data = new_ks_addon_data()
|
||||
+ ks_addon_data.handle_header(0, ['--reserve-mb='])
|
||||
+ with self.assertRaises(KickstartParseError) as error:
|
||||
+ ks_addon_data = new_ks_addon_data()
|
||||
+ ks_addon_data.handle_header(0, ['--reserve-mb=invalid'])
|
||||
diff --git a/test/unittests/utils.py b/test/unittests/utils.py
|
||||
new file mode 100644
|
||||
index 0000000..64ae1a0
|
||||
--- /dev/null
|
||||
+++ b/test/unittests/utils.py
|
||||
@@ -0,0 +1,12 @@
|
||||
+import unittest
|
||||
+
|
||||
+from unittest.mock import patch
|
||||
+from com_redhat_kdump import common
|
||||
+
|
||||
+def enable_kdump_addon_in_anaconda():
|
||||
+ return patch('pyanaconda.flags.cmdline.getbool', return_value=True)
|
||||
+
|
||||
+class KdumpTestCase(unittest.TestCase):
|
||||
+ def setUp(self):
|
||||
+ # Clean up global variable that may cache test result of previous test case
|
||||
+ common._reservedMemory = None
|
||||
|
||||
From 22a2b63bde6621c650204d7ce8ad09612262a958 Mon Sep 17 00:00:00 2001
|
||||
From: Kairui Song <kasong@redhat.com>
|
||||
Date: Thu, 21 Mar 2019 21:30:45 +0800
|
||||
Subject: [PATCH 2/2] Allow quoting --reserve-mb parameter
|
||||
|
||||
Previously, when parsing the kickstart file, it didn't expected the
|
||||
--reserved-mb number to be quoted, but when generating kickstart lines
|
||||
it will quote the number. This make it very confusing, as quoted
|
||||
parameter currently will raise a exception of "Invalid value".
|
||||
|
||||
Fix it by strip the quotes before parsing the int.
|
||||
|
||||
Signed-off-by: Kairui Song <kasong@redhat.com>
|
||||
---
|
||||
com_redhat_kdump/ks/kdump.py | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index 6cc664f..53878b9 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -117,7 +117,8 @@ def handle_header(self, lineno, args):
|
||||
|
||||
# Validate the reserve-mb argument
|
||||
# Allow a final 'M' for consistency with the crashkernel kernel
|
||||
- # parameter. Strip it if found.
|
||||
+ # parameter. Strip it if found. And strip quotes.
|
||||
+ opts.reserveMB = opts.reserveMB.strip("'\"")
|
||||
if opts.reserveMB and opts.reserveMB[-1] == 'M':
|
||||
opts.reserveMB = opts.reserveMB[:-1]
|
||||
|
||||
38
add-support-for-new-Anaconda-addon-methods.patch
Normal file
38
add-support-for-new-Anaconda-addon-methods.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From 3bb0f9714c09d12413ac2bc0a45f727841e8ca05 Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Konecny <jkonecny@redhat.com>
|
||||
Date: Tue, 26 Apr 2016 10:09:40 +0200
|
||||
Subject: [PATCH] Add support for new Anaconda addon methods (#1288636)
|
||||
|
||||
Setup() and execute() methods now have payload class accessible for
|
||||
addons.
|
||||
|
||||
These methods were changed in anaconda-21.48.22.67 for RHEL-7 and
|
||||
anaconda-25.9 for Rawhide (for the next Fedora 25).
|
||||
|
||||
Related: rhbz#1288636
|
||||
---
|
||||
com_redhat_kdump/ks/kdump.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index 34f46a2..ec4ab35 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -61,7 +61,7 @@ def __str__(self):
|
||||
|
||||
return addon_str
|
||||
|
||||
- def setup(self, storage, ksdata, instClass):
|
||||
+ def setup(self, storage, ksdata, instClass, payload):
|
||||
# the kdump addon should run only if requested
|
||||
if not flags.cmdline.getbool("kdump_addon", default=False):
|
||||
return
|
||||
@@ -128,7 +128,7 @@ def handle_header(self, lineno, args):
|
||||
self.reserveMB =opts.reserveMB
|
||||
self.enablefadump = opts.enablefadump
|
||||
|
||||
- def execute(self, storage, ksdata, instClass, users):
|
||||
+ def execute(self, storage, ksdata, instClass, users, payload):
|
||||
# the KdumpSpoke should run only if requested
|
||||
if not flags.cmdline.getbool("kdump_addon", default=False):
|
||||
return
|
||||
47
call-getMemoryBounds-to-the-match-method.patch
Normal file
47
call-getMemoryBounds-to-the-match-method.patch
Normal file
@ -0,0 +1,47 @@
|
||||
From 60fa4c1d1b15150c65b2f31c3447228cbd79fb01 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Young <dyoung@redhat.com>
|
||||
Date: Thu, 30 Jul 2015 15:00:55 +0800
|
||||
Subject: [PATCH] tui: call getMemoryBounds() call to the match() method
|
||||
|
||||
Jan Stancek reported Installation sporadically hangs because kdump addon's
|
||||
tui spoke in: /usr/share/anaconda/addons/com_redhat_kdump/tui/spokes/kdump.py
|
||||
is calling their getMemoryBounds() function which ends up calling anaconda's
|
||||
isys.total_memory method resulting in various actions happening at import
|
||||
time including trying log and getting stuck.
|
||||
|
||||
vpodzime suggest to move getMemoryBounds() call to the match() method
|
||||
---
|
||||
com_redhat_kdump/tui/spokes/kdump.py | 8 +++-----
|
||||
1 file changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/tui/spokes/kdump.py b/com_redhat_kdump/tui/spokes/kdump.py
|
||||
index 7a74011..d1b825c 100644
|
||||
--- a/com_redhat_kdump/tui/spokes/kdump.py
|
||||
+++ b/com_redhat_kdump/tui/spokes/kdump.py
|
||||
@@ -35,13 +35,12 @@
|
||||
__all__ = ["KdumpSpoke"]
|
||||
|
||||
class _re:
|
||||
- def __init__(self, patten, low, up):
|
||||
+ def __init__(self, patten):
|
||||
self.re = re.compile(patten)
|
||||
- self.low = low
|
||||
- self.up = up
|
||||
|
||||
def match(self, key):
|
||||
if self.re.match(key):
|
||||
+ self.low, self.up, self.step = getMemoryBounds()
|
||||
if key[-1] == 'M':
|
||||
key = key[:-1]
|
||||
key = int(key)
|
||||
@@ -49,9 +48,8 @@ def match(self, key):
|
||||
return True
|
||||
return False
|
||||
|
||||
-lower, upper ,step = getMemoryBounds()
|
||||
# Allow a string of digits optionally followed by 'M'
|
||||
-RESERVE_VALID = _re(r'^(\d+M?)$', lower, upper)
|
||||
+RESERVE_VALID = _re(r'^(\d+M?)$')
|
||||
|
||||
class KdumpSpoke(EditTUISpoke):
|
||||
title = N_("Kdump")
|
||||
23
delete-old-files-before-updating-new-addon.patch
Normal file
23
delete-old-files-before-updating-new-addon.patch
Normal file
@ -0,0 +1,23 @@
|
||||
From bf53665efb51354b03350e1be87b059e8f778162 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Young <dyoung@redhat.com>
|
||||
Date: Fri, 6 Feb 2015 11:37:40 +0800
|
||||
Subject: [PATCH] packbootiso.sh: delete old files before updating new addon in
|
||||
iso
|
||||
|
||||
---
|
||||
test/packbootiso.sh | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/test/packbootiso.sh b/test/packbootiso.sh
|
||||
index 95d908f..b7086ef 100644
|
||||
--- a/test/packbootiso.sh
|
||||
+++ b/test/packbootiso.sh
|
||||
@@ -25,6 +25,8 @@ umount mnt
|
||||
mount -o loop squashdir/LiveOS/rootfs.img mnt
|
||||
tar -xvzf $addon_tarball
|
||||
mkdir -p mnt/usr/share/anaconda/addons
|
||||
+rm -rf mnt/usr/share/anaconda/addons/com_redhat_kdump
|
||||
+find mnt/ -name kdump-anaconda-addon.mo -exec rm -f {} \;
|
||||
cp -aRf kdump-anaconda-addon/com_redhat_kdump mnt/usr/share/anaconda/addons/
|
||||
make -C kdump-anaconda-addon/po install DESTDIR=../../mnt
|
||||
umount mnt
|
||||
576
deleteing-the-untranslated-po-files.patch
Normal file
576
deleteing-the-untranslated-po-files.patch
Normal file
@ -0,0 +1,576 @@
|
||||
From 87921d53a65b52d9dbbb28877c0b02293970f621 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Young <dyoung@redhat.com>
|
||||
Date: Fri, 6 Feb 2015 17:52:39 +0800
|
||||
Subject: [PATCH] Deleteing the untranslated po files so that default language
|
||||
will be used.
|
||||
|
||||
---
|
||||
po/bn.po | 73 --------------------------------------------------------
|
||||
po/hy.po | 73 --------------------------------------------------------
|
||||
po/ku.po | 73 --------------------------------------------------------
|
||||
po/lo.po | 73 --------------------------------------------------------
|
||||
po/mk.po | 73 --------------------------------------------------------
|
||||
po/my.po | 73 --------------------------------------------------------
|
||||
po/ur.po | 73 --------------------------------------------------------
|
||||
7 files changed, 511 deletions(-)
|
||||
delete mode 100644 po/bn.po
|
||||
delete mode 100644 po/hy.po
|
||||
delete mode 100644 po/ku.po
|
||||
delete mode 100644 po/lo.po
|
||||
delete mode 100644 po/mk.po
|
||||
delete mode 100644 po/my.po
|
||||
delete mode 100644 po/ur.po
|
||||
|
||||
diff --git a/po/bn.po b/po/bn.po
|
||||
deleted file mode 100644
|
||||
index 28eeb57..0000000
|
||||
--- a/po/bn.po
|
||||
+++ /dev/null
|
||||
@@ -1,73 +0,0 @@
|
||||
-# SOME DESCRIPTIVE TITLE.
|
||||
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
-# This file is distributed under the same license as the PACKAGE package.
|
||||
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
-#
|
||||
-#, fuzzy
|
||||
-msgid ""
|
||||
-msgstr ""
|
||||
-"Project-Id-Version: PACKAGE VERSION\n"
|
||||
-"Report-Msgid-Bugs-To: \n"
|
||||
-"POT-Creation-Date: 2014-11-12 16:19+0800\n"
|
||||
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
-"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
-"Language: \n"
|
||||
-"MIME-Version: 1.0\n"
|
||||
-"Content-Type: text/plain; charset=CHARSET\n"
|
||||
-"Content-Transfer-Encoding: 8bit\n"
|
||||
-
|
||||
-#: ../com_redhat_kdump/ks/kdump.py:120
|
||||
-#, python-format
|
||||
-msgid "Invalid value %s for --reserve-mb"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:57
|
||||
-msgid "Kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:85
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:131
|
||||
-msgid "Kdump is enabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:87
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:133
|
||||
-msgid "Kdump is disabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:47
|
||||
-msgid "_KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:1
|
||||
-msgid "KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:2
|
||||
-msgid ""
|
||||
-"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
|
||||
-"kdump will capture information from your system that can be invaluable in "
|
||||
-"determining the cause of the crash. Note that kdump does require reserving a "
|
||||
-"portion of system memory that will be unavailable for other uses."
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:3
|
||||
-msgid "Memory To Be _Reserved (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:4
|
||||
-msgid "Total System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:5
|
||||
-msgid "Usable System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:6
|
||||
-msgid "_Enable kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:7
|
||||
-msgid "_Enable dump mode fadump"
|
||||
-msgstr ""
|
||||
diff --git a/po/hy.po b/po/hy.po
|
||||
deleted file mode 100644
|
||||
index 28eeb57..0000000
|
||||
--- a/po/hy.po
|
||||
+++ /dev/null
|
||||
@@ -1,73 +0,0 @@
|
||||
-# SOME DESCRIPTIVE TITLE.
|
||||
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
-# This file is distributed under the same license as the PACKAGE package.
|
||||
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
-#
|
||||
-#, fuzzy
|
||||
-msgid ""
|
||||
-msgstr ""
|
||||
-"Project-Id-Version: PACKAGE VERSION\n"
|
||||
-"Report-Msgid-Bugs-To: \n"
|
||||
-"POT-Creation-Date: 2014-11-12 16:19+0800\n"
|
||||
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
-"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
-"Language: \n"
|
||||
-"MIME-Version: 1.0\n"
|
||||
-"Content-Type: text/plain; charset=CHARSET\n"
|
||||
-"Content-Transfer-Encoding: 8bit\n"
|
||||
-
|
||||
-#: ../com_redhat_kdump/ks/kdump.py:120
|
||||
-#, python-format
|
||||
-msgid "Invalid value %s for --reserve-mb"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:57
|
||||
-msgid "Kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:85
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:131
|
||||
-msgid "Kdump is enabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:87
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:133
|
||||
-msgid "Kdump is disabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:47
|
||||
-msgid "_KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:1
|
||||
-msgid "KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:2
|
||||
-msgid ""
|
||||
-"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
|
||||
-"kdump will capture information from your system that can be invaluable in "
|
||||
-"determining the cause of the crash. Note that kdump does require reserving a "
|
||||
-"portion of system memory that will be unavailable for other uses."
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:3
|
||||
-msgid "Memory To Be _Reserved (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:4
|
||||
-msgid "Total System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:5
|
||||
-msgid "Usable System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:6
|
||||
-msgid "_Enable kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:7
|
||||
-msgid "_Enable dump mode fadump"
|
||||
-msgstr ""
|
||||
diff --git a/po/ku.po b/po/ku.po
|
||||
deleted file mode 100644
|
||||
index 28eeb57..0000000
|
||||
--- a/po/ku.po
|
||||
+++ /dev/null
|
||||
@@ -1,73 +0,0 @@
|
||||
-# SOME DESCRIPTIVE TITLE.
|
||||
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
-# This file is distributed under the same license as the PACKAGE package.
|
||||
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
-#
|
||||
-#, fuzzy
|
||||
-msgid ""
|
||||
-msgstr ""
|
||||
-"Project-Id-Version: PACKAGE VERSION\n"
|
||||
-"Report-Msgid-Bugs-To: \n"
|
||||
-"POT-Creation-Date: 2014-11-12 16:19+0800\n"
|
||||
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
-"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
-"Language: \n"
|
||||
-"MIME-Version: 1.0\n"
|
||||
-"Content-Type: text/plain; charset=CHARSET\n"
|
||||
-"Content-Transfer-Encoding: 8bit\n"
|
||||
-
|
||||
-#: ../com_redhat_kdump/ks/kdump.py:120
|
||||
-#, python-format
|
||||
-msgid "Invalid value %s for --reserve-mb"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:57
|
||||
-msgid "Kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:85
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:131
|
||||
-msgid "Kdump is enabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:87
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:133
|
||||
-msgid "Kdump is disabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:47
|
||||
-msgid "_KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:1
|
||||
-msgid "KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:2
|
||||
-msgid ""
|
||||
-"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
|
||||
-"kdump will capture information from your system that can be invaluable in "
|
||||
-"determining the cause of the crash. Note that kdump does require reserving a "
|
||||
-"portion of system memory that will be unavailable for other uses."
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:3
|
||||
-msgid "Memory To Be _Reserved (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:4
|
||||
-msgid "Total System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:5
|
||||
-msgid "Usable System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:6
|
||||
-msgid "_Enable kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:7
|
||||
-msgid "_Enable dump mode fadump"
|
||||
-msgstr ""
|
||||
diff --git a/po/lo.po b/po/lo.po
|
||||
deleted file mode 100644
|
||||
index 28eeb57..0000000
|
||||
--- a/po/lo.po
|
||||
+++ /dev/null
|
||||
@@ -1,73 +0,0 @@
|
||||
-# SOME DESCRIPTIVE TITLE.
|
||||
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
-# This file is distributed under the same license as the PACKAGE package.
|
||||
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
-#
|
||||
-#, fuzzy
|
||||
-msgid ""
|
||||
-msgstr ""
|
||||
-"Project-Id-Version: PACKAGE VERSION\n"
|
||||
-"Report-Msgid-Bugs-To: \n"
|
||||
-"POT-Creation-Date: 2014-11-12 16:19+0800\n"
|
||||
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
-"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
-"Language: \n"
|
||||
-"MIME-Version: 1.0\n"
|
||||
-"Content-Type: text/plain; charset=CHARSET\n"
|
||||
-"Content-Transfer-Encoding: 8bit\n"
|
||||
-
|
||||
-#: ../com_redhat_kdump/ks/kdump.py:120
|
||||
-#, python-format
|
||||
-msgid "Invalid value %s for --reserve-mb"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:57
|
||||
-msgid "Kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:85
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:131
|
||||
-msgid "Kdump is enabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:87
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:133
|
||||
-msgid "Kdump is disabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:47
|
||||
-msgid "_KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:1
|
||||
-msgid "KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:2
|
||||
-msgid ""
|
||||
-"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
|
||||
-"kdump will capture information from your system that can be invaluable in "
|
||||
-"determining the cause of the crash. Note that kdump does require reserving a "
|
||||
-"portion of system memory that will be unavailable for other uses."
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:3
|
||||
-msgid "Memory To Be _Reserved (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:4
|
||||
-msgid "Total System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:5
|
||||
-msgid "Usable System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:6
|
||||
-msgid "_Enable kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:7
|
||||
-msgid "_Enable dump mode fadump"
|
||||
-msgstr ""
|
||||
diff --git a/po/mk.po b/po/mk.po
|
||||
deleted file mode 100644
|
||||
index 28eeb57..0000000
|
||||
--- a/po/mk.po
|
||||
+++ /dev/null
|
||||
@@ -1,73 +0,0 @@
|
||||
-# SOME DESCRIPTIVE TITLE.
|
||||
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
-# This file is distributed under the same license as the PACKAGE package.
|
||||
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
-#
|
||||
-#, fuzzy
|
||||
-msgid ""
|
||||
-msgstr ""
|
||||
-"Project-Id-Version: PACKAGE VERSION\n"
|
||||
-"Report-Msgid-Bugs-To: \n"
|
||||
-"POT-Creation-Date: 2014-11-12 16:19+0800\n"
|
||||
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
-"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
-"Language: \n"
|
||||
-"MIME-Version: 1.0\n"
|
||||
-"Content-Type: text/plain; charset=CHARSET\n"
|
||||
-"Content-Transfer-Encoding: 8bit\n"
|
||||
-
|
||||
-#: ../com_redhat_kdump/ks/kdump.py:120
|
||||
-#, python-format
|
||||
-msgid "Invalid value %s for --reserve-mb"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:57
|
||||
-msgid "Kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:85
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:131
|
||||
-msgid "Kdump is enabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:87
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:133
|
||||
-msgid "Kdump is disabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:47
|
||||
-msgid "_KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:1
|
||||
-msgid "KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:2
|
||||
-msgid ""
|
||||
-"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
|
||||
-"kdump will capture information from your system that can be invaluable in "
|
||||
-"determining the cause of the crash. Note that kdump does require reserving a "
|
||||
-"portion of system memory that will be unavailable for other uses."
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:3
|
||||
-msgid "Memory To Be _Reserved (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:4
|
||||
-msgid "Total System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:5
|
||||
-msgid "Usable System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:6
|
||||
-msgid "_Enable kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:7
|
||||
-msgid "_Enable dump mode fadump"
|
||||
-msgstr ""
|
||||
diff --git a/po/my.po b/po/my.po
|
||||
deleted file mode 100644
|
||||
index 28eeb57..0000000
|
||||
--- a/po/my.po
|
||||
+++ /dev/null
|
||||
@@ -1,73 +0,0 @@
|
||||
-# SOME DESCRIPTIVE TITLE.
|
||||
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
-# This file is distributed under the same license as the PACKAGE package.
|
||||
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
-#
|
||||
-#, fuzzy
|
||||
-msgid ""
|
||||
-msgstr ""
|
||||
-"Project-Id-Version: PACKAGE VERSION\n"
|
||||
-"Report-Msgid-Bugs-To: \n"
|
||||
-"POT-Creation-Date: 2014-11-12 16:19+0800\n"
|
||||
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
-"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
-"Language: \n"
|
||||
-"MIME-Version: 1.0\n"
|
||||
-"Content-Type: text/plain; charset=CHARSET\n"
|
||||
-"Content-Transfer-Encoding: 8bit\n"
|
||||
-
|
||||
-#: ../com_redhat_kdump/ks/kdump.py:120
|
||||
-#, python-format
|
||||
-msgid "Invalid value %s for --reserve-mb"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:57
|
||||
-msgid "Kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:85
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:131
|
||||
-msgid "Kdump is enabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:87
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:133
|
||||
-msgid "Kdump is disabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:47
|
||||
-msgid "_KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:1
|
||||
-msgid "KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:2
|
||||
-msgid ""
|
||||
-"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
|
||||
-"kdump will capture information from your system that can be invaluable in "
|
||||
-"determining the cause of the crash. Note that kdump does require reserving a "
|
||||
-"portion of system memory that will be unavailable for other uses."
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:3
|
||||
-msgid "Memory To Be _Reserved (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:4
|
||||
-msgid "Total System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:5
|
||||
-msgid "Usable System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:6
|
||||
-msgid "_Enable kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:7
|
||||
-msgid "_Enable dump mode fadump"
|
||||
-msgstr ""
|
||||
diff --git a/po/ur.po b/po/ur.po
|
||||
deleted file mode 100644
|
||||
index 28eeb57..0000000
|
||||
--- a/po/ur.po
|
||||
+++ /dev/null
|
||||
@@ -1,73 +0,0 @@
|
||||
-# SOME DESCRIPTIVE TITLE.
|
||||
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
-# This file is distributed under the same license as the PACKAGE package.
|
||||
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
-#
|
||||
-#, fuzzy
|
||||
-msgid ""
|
||||
-msgstr ""
|
||||
-"Project-Id-Version: PACKAGE VERSION\n"
|
||||
-"Report-Msgid-Bugs-To: \n"
|
||||
-"POT-Creation-Date: 2014-11-12 16:19+0800\n"
|
||||
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
-"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
-"Language: \n"
|
||||
-"MIME-Version: 1.0\n"
|
||||
-"Content-Type: text/plain; charset=CHARSET\n"
|
||||
-"Content-Transfer-Encoding: 8bit\n"
|
||||
-
|
||||
-#: ../com_redhat_kdump/ks/kdump.py:120
|
||||
-#, python-format
|
||||
-msgid "Invalid value %s for --reserve-mb"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:57
|
||||
-msgid "Kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:85
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:131
|
||||
-msgid "Kdump is enabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/tui/spokes/kdump.py:87
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:133
|
||||
-msgid "Kdump is disabled"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: ../com_redhat_kdump/gui/spokes/kdump.py:47
|
||||
-msgid "_KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:1
|
||||
-msgid "KDUMP"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:2
|
||||
-msgid ""
|
||||
-"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
|
||||
-"kdump will capture information from your system that can be invaluable in "
|
||||
-"determining the cause of the crash. Note that kdump does require reserving a "
|
||||
-"portion of system memory that will be unavailable for other uses."
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:3
|
||||
-msgid "Memory To Be _Reserved (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:4
|
||||
-msgid "Total System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:5
|
||||
-msgid "Usable System Memory (MB):"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:6
|
||||
-msgid "_Enable kdump"
|
||||
-msgstr ""
|
||||
-
|
||||
-#: tmp/kdump.glade.h:7
|
||||
-msgid "_Enable dump mode fadump"
|
||||
-msgstr ""
|
||||
49
dont-call-pyanaconda-function-for-total-memory.patch
Normal file
49
dont-call-pyanaconda-function-for-total-memory.patch
Normal file
@ -0,0 +1,49 @@
|
||||
From 6577df4d909ae3501b4ff2b623a8bef53d0a4588 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Young <dyoung@redhat.com>
|
||||
Date: Thu, 7 Jul 2016 15:46:37 +0800
|
||||
Subject: [PATCH] Do not call pyanaconda function for total_memory
|
||||
|
||||
Resolves: bz1349308
|
||||
|
||||
Jan reported another installer hang which is caused by this function
|
||||
callback.
|
||||
|
||||
Switch to read meminfo directly instead of call the function.
|
||||
---
|
||||
com_redhat_kdump/common.py | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/common.py b/com_redhat_kdump/common.py
|
||||
index d7c0517..d45304e 100644
|
||||
--- a/com_redhat_kdump/common.py
|
||||
+++ b/com_redhat_kdump/common.py
|
||||
@@ -19,12 +19,11 @@
|
||||
# Red Hat Author(s): David Shea <dshea@redhat.com>
|
||||
#
|
||||
import os
|
||||
+import re
|
||||
__all__ = ["getReservedMemory", "getTotalMemory", "getMemoryBounds"]
|
||||
|
||||
import blivet.arch
|
||||
|
||||
-from pyanaconda.isys import total_memory
|
||||
-
|
||||
_reservedMemory = None
|
||||
def getReservedMemory():
|
||||
"""Return the amount of memory currently reserved for kdump in MB."""
|
||||
@@ -47,9 +46,14 @@ def getTotalMemory():
|
||||
This is the amount reported by /proc/meminfo plus the aount
|
||||
currently reserved for kdump.
|
||||
"""
|
||||
+ memkb = 0
|
||||
+ fd = open('/proc/meminfo').read()
|
||||
+ matched = re.search(r'^MemTotal:\s+(\d+)', fd)
|
||||
+ if matched:
|
||||
+ memkb = int(matched.groups()[0])
|
||||
|
||||
# total_memory return memory in KB, convert to MB
|
||||
- availMem = total_memory() / 1024
|
||||
+ availMem = memkb / 1024
|
||||
|
||||
return availMem + getReservedMemory()
|
||||
|
||||
24
dont-mix-tabs-and-spaces-for-indentation.patch
Normal file
24
dont-mix-tabs-and-spaces-for-indentation.patch
Normal file
@ -0,0 +1,24 @@
|
||||
From 354324a5c577774863977254358a61ef0d00d1d5 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kolman <mkolman@redhat.com>
|
||||
Date: Tue, 17 Mar 2015 15:41:51 +0100
|
||||
Subject: [PATCH] Don't mix tabs and spaces for indentation
|
||||
|
||||
While discouraged it is still possible to mix tabs and spaces in Python
|
||||
2, but in Python 3 this cases an error at runtime.
|
||||
---
|
||||
com_redhat_kdump/ks/kdump.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index d83da32..6929c9b 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -88,7 +88,7 @@ def setup(self, storage, ksdata, instClass):
|
||||
if self.enabled:
|
||||
storage.bootloader.boot_args.add('crashkernel=%s' % self.reserveMB)
|
||||
ksdata.packages.packageList.append("kexec-tools")
|
||||
- if self.enablefadump and os.path.exists(FADUMP_CAPABLE_FILE):
|
||||
+ if self.enablefadump and os.path.exists(FADUMP_CAPABLE_FILE):
|
||||
storage.bootloader.boot_args.add('fadump=on')
|
||||
|
||||
def handle_header(self, lineno, args):
|
||||
30
dont-put-options-after-the-end-of-the-addon-section.patch
Normal file
30
dont-put-options-after-the-end-of-the-addon-section.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 0c68135bd14788bc6b3f7f901eb2d2cb8ba76f79 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kolman <martin.kolman@gmail.com>
|
||||
Date: Mon, 7 Sep 2015 14:46:42 +0200
|
||||
Subject: [PATCH] Don't put options after the %end of the %addon section
|
||||
|
||||
Otherwise the installation describing kickstart will not be valid.
|
||||
This can resulting in various issues such, as Initial Setup refusing
|
||||
to run due to invalid kickstart file.
|
||||
---
|
||||
com_redhat_kdump/ks/kdump.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index 6929c9b..34f46a2 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -54,11 +54,11 @@ def __str__(self):
|
||||
if self.reserveMB:
|
||||
addon_str += " --reserve-mb='%s'" % self.reserveMB
|
||||
|
||||
- addon_str += "\n%s\n%%end\n" % self.content.strip()
|
||||
-
|
||||
if self.enablefadump:
|
||||
addon_str += " --enablefadump"
|
||||
|
||||
+ addon_str += "\n%s\n%%end\n" % self.content.strip()
|
||||
+
|
||||
return addon_str
|
||||
|
||||
def setup(self, storage, ksdata, instClass):
|
||||
57
dont-use-the-local-storage-object.patch
Normal file
57
dont-use-the-local-storage-object.patch
Normal file
@ -0,0 +1,57 @@
|
||||
From 5ff2c303eee42b38db75e538c196741d0e9e29d6 Mon Sep 17 00:00:00 2001
|
||||
From: Vendula Poncova <vponcova@redhat.com>
|
||||
Date: Tue, 11 Feb 2020 11:33:08 +0100
|
||||
Subject: [PATCH] Don't use the local storage object
|
||||
|
||||
If the local storage object is not available, don't set it up. It means that
|
||||
Anaconda uses the DBus Storage module and it is enough to set up the extra
|
||||
arguments of the Bootloader module.
|
||||
---
|
||||
com_redhat_kdump/ks/kdump.py | 16 ++++++++++++++--
|
||||
1 file changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index 09f727b..167edba 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -70,7 +70,11 @@ def setup(self, storage, ksdata, payload):
|
||||
if not kernel_arguments.is_enabled("kdump_addon"):
|
||||
return
|
||||
|
||||
+ # Update the package list.
|
||||
+ if self.enabled:
|
||||
+ ksdata.packages.packageList.append("kexec-tools")
|
||||
|
||||
+ # Update the bootloader arguments.
|
||||
bootloader_proxy = STORAGE.get_proxy(BOOTLOADER)
|
||||
|
||||
# Clear any existing crashkernel bootloader arguments
|
||||
@@ -83,10 +87,18 @@ def setup(self, storage, ksdata, payload):
|
||||
# Ensure that the amount is an amount in MB
|
||||
if self.reserveMB[-1] != 'M':
|
||||
self.reserveMB += 'M'
|
||||
- new_args.append(' crashkernel=%s' % self.reserveMB)
|
||||
+ new_args.append('crashkernel=%s' % self.reserveMB)
|
||||
+
|
||||
+ if self.enablefadump and os.path.exists(FADUMP_CAPABLE_FILE):
|
||||
+ new_args.append('fadump=on')
|
||||
|
||||
bootloader_proxy.SetExtraArguments(new_args)
|
||||
|
||||
+ # If the local storage object is not available, skip.
|
||||
+ # FIXME: This is a temporary workaround.
|
||||
+ if not storage:
|
||||
+ return
|
||||
+
|
||||
# Do the same thing with the storage.bootloader.boot_args set
|
||||
if storage.bootloader.boot_args:
|
||||
crashargs = [arg for arg in storage.bootloader.boot_args \
|
||||
@@ -95,7 +107,7 @@ def setup(self, storage, ksdata, payload):
|
||||
|
||||
if self.enabled:
|
||||
storage.bootloader.boot_args.add('crashkernel=%s' % self.reserveMB)
|
||||
- ksdata.packages.packageList.append("kexec-tools")
|
||||
+
|
||||
if self.enablefadump and os.path.exists(FADUMP_CAPABLE_FILE):
|
||||
storage.bootloader.boot_args.add('fadump=on')
|
||||
|
||||
25
fix-an-unittest-error.patch
Normal file
25
fix-an-unittest-error.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 653265118d4fa3a0043a03405fbcb8fa601daaa7 Mon Sep 17 00:00:00 2001
|
||||
From: Kairui Song <kasong@redhat.com>
|
||||
Date: Thu, 28 Mar 2019 11:37:57 +0800
|
||||
Subject: [PATCH] Fix an unittest error
|
||||
|
||||
There is no mock object passing in so this will raise an error.
|
||||
|
||||
Signed-off-by: Kairui Song <kasong@redhat.com>
|
||||
---
|
||||
test/unittests/test_kickstart.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/test/unittests/test_kickstart.py b/test/unittests/test_kickstart.py
|
||||
index 7b61e96..77bde43 100644
|
||||
--- a/test/unittests/test_kickstart.py
|
||||
+++ b/test/unittests/test_kickstart.py
|
||||
@@ -29,7 +29,7 @@ def new_ks_addon_data_test(self):
|
||||
ks_addon_data = new_ks_addon_data()
|
||||
self.assertIsNotNone(ks_addon_data)
|
||||
|
||||
- def ks_default_to_str_test(self, _MockMemoryBounds):
|
||||
+ def ks_default_to_str_test(self):
|
||||
ks_addon_data = new_ks_addon_data()
|
||||
kdump_check_ks(self, ks_addon_data, ["--disable"])
|
||||
|
||||
29
fix-an-unknown-error.patch
Normal file
29
fix-an-unknown-error.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From d3e2e0ebcb2f9ba803576e48e7b9c752cc7e9f1a Mon Sep 17 00:00:00 2001
|
||||
From: Tong Li <tonli@redhat.com>
|
||||
Date: Mon, 12 Dec 2016 13:10:08 +0800
|
||||
Subject: [PATCH] Fix 'an unknown error has occurred' issue when selecting
|
||||
languages using non-latin characters
|
||||
|
||||
Now when kdump_anaconda_addon is enabled and languages which use non-latin
|
||||
characters are selected in anaconda, e.g. Chinese and Japanese, it will
|
||||
raise an error and unable to continue to finish the installation process.
|
||||
This is because 'gettext.ldgettext' will return a byte object when
|
||||
translation includes non-latin character, while anaconda's core code
|
||||
requires a string. To fix this, we apply the mothod used by pyanaconda,
|
||||
which is invoking gettext after getting a translation instance. This can
|
||||
make sure that a str object will be returned.
|
||||
---
|
||||
com_redhat_kdump/i18n.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/i18n.py b/com_redhat_kdump/i18n.py
|
||||
index a8cd27a..0c1cbd9 100644
|
||||
--- a/com_redhat_kdump/i18n.py
|
||||
+++ b/com_redhat_kdump/i18n.py
|
||||
@@ -23,5 +23,5 @@
|
||||
|
||||
import gettext
|
||||
|
||||
-_ = lambda x: gettext.ldgettext("kdump-anaconda-addon", x)
|
||||
+_ = lambda x: gettext.translation("kdump-anaconda-addon", fallback=True).gettext(x) if x != "" else ""
|
||||
N_ = lambda x: x
|
||||
135
fix-bug-1053550.patch
Normal file
135
fix-bug-1053550.patch
Normal file
@ -0,0 +1,135 @@
|
||||
From 173b1d1060c1e2ef1e4db9fa36ed3b8112482cc4 Mon Sep 17 00:00:00 2001
|
||||
From: Tong Li <tonli@redhat.com>
|
||||
Date: Tue, 8 Nov 2016 16:10:05 +0800
|
||||
Subject: [PATCH] Fix bug #1053550
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1053550
|
||||
|
||||
"Latn" is the script code according to ISO 15924 used by CLDR and libicu.
|
||||
But glibc locales spell it "latin" and "Latn" doesnt' work with gettext.
|
||||
So when Serbian in latin script is selected in anaconda while installing,
|
||||
translations can't be displayed correctly in the kdump configuration addon.
|
||||
---
|
||||
po/sr@latin.po | 114 +++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 114 insertions(+)
|
||||
create mode 100644 po/sr@latin.po
|
||||
|
||||
diff --git a/po/sr@latin.po b/po/sr@latin.po
|
||||
new file mode 100644
|
||||
index 0000000..bbe478f
|
||||
--- /dev/null
|
||||
+++ b/po/sr@latin.po
|
||||
@@ -0,0 +1,114 @@
|
||||
+# Serbian(Latin) translations for kexec-tools
|
||||
+# Copyright (C) 2007 Red Hat, Inc.
|
||||
+# This file is distributed under the same license as the kexec-tools package.
|
||||
+# Miloš Komarčević <kmilos@gmail.com>, 2007.
|
||||
+msgid ""
|
||||
+msgstr ""
|
||||
+"Project-Id-Version: PACKAGE VERSION\n"
|
||||
+"Report-Msgid-Bugs-To: \n"
|
||||
+"POT-Creation-Date: 2014-11-12 16:19+0800\n"
|
||||
+"PO-Revision-Date: 2007-03-10 08:02-0500\n"
|
||||
+"Last-Translator: Miloš Komarčević <kmilos@gmail.com>\n"
|
||||
+"Language-Team: Serbian (sr) <fedora@prevod.org>\n"
|
||||
+"Language: sr-Latn\n"
|
||||
+"MIME-Version: 1.0\n"
|
||||
+"Content-Type: text/plain; charset=UTF-8\n"
|
||||
+"Content-Transfer-Encoding: 8bit\n"
|
||||
+"X-Generator: Zanata 2.0.2\n"
|
||||
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
|
||||
+
|
||||
+#: ../com_redhat_kdump/ks/kdump.py:120
|
||||
+#, python-format
|
||||
+msgid "Invalid value %s for --reserve-mb"
|
||||
+msgstr ""
|
||||
+
|
||||
+#: ../com_redhat_kdump/tui/spokes/kdump.py:57
|
||||
+msgid "Kdump"
|
||||
+msgstr "Kdump"
|
||||
+
|
||||
+#: ../com_redhat_kdump/tui/spokes/kdump.py:85
|
||||
+#: ../com_redhat_kdump/gui/spokes/kdump.py:131
|
||||
+msgid "Kdump is enabled"
|
||||
+msgstr ""
|
||||
+
|
||||
+#: ../com_redhat_kdump/tui/spokes/kdump.py:87
|
||||
+#: ../com_redhat_kdump/gui/spokes/kdump.py:133
|
||||
+msgid "Kdump is disabled"
|
||||
+msgstr ""
|
||||
+
|
||||
+#: ../com_redhat_kdump/gui/spokes/kdump.py:47
|
||||
+msgid "_KDUMP"
|
||||
+msgstr ""
|
||||
+
|
||||
+#: tmp/kdump.glade.h:1
|
||||
+msgid "KDUMP"
|
||||
+msgstr ""
|
||||
+
|
||||
+#: tmp/kdump.glade.h:2
|
||||
+msgid ""
|
||||
+"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
|
||||
+"kdump will capture information from your system that can be invaluable in "
|
||||
+"determining the cause of the crash. Note that kdump does require reserving a "
|
||||
+"portion of system memory that will be unavailable for other uses."
|
||||
+msgstr ""
|
||||
+"Kdump je mehanizam za izbačaj kraha jezgra. U slučaju kraha sistema, kdump "
|
||||
+"će sakupiti podatke od sistema koji mogu biti od neprocenjive pomoći u "
|
||||
+"određivanju uzroka kraha. Primetite da kdump zahteva zauzimanje dela "
|
||||
+"sistemske memorije koji neće biti dostupan za drugu upotrebu."
|
||||
+
|
||||
+#: tmp/kdump.glade.h:3
|
||||
+msgid "Memory To Be _Reserved (MB):"
|
||||
+msgstr ""
|
||||
+
|
||||
+#: tmp/kdump.glade.h:4
|
||||
+#, fuzzy
|
||||
+msgid "Total System Memory (MB):"
|
||||
+msgstr "_Ukupna memorija sistema (MB):"
|
||||
+
|
||||
+#: tmp/kdump.glade.h:5
|
||||
+#, fuzzy
|
||||
+msgid "Usable System Memory (MB):"
|
||||
+msgstr "_Upotrebljiva memorija sistema (MB):"
|
||||
+
|
||||
+#: tmp/kdump.glade.h:6
|
||||
+msgid "_Enable kdump"
|
||||
+msgstr ""
|
||||
+
|
||||
+#: tmp/kdump.glade.h:7
|
||||
+msgid "_Enable dump mode fadump"
|
||||
+msgstr ""
|
||||
+
|
||||
+#, fuzzy
|
||||
+#~ msgid "Kdump Memory Reservation:"
|
||||
+#~ msgstr "_Kdump memorija (MB):"
|
||||
+
|
||||
+#~ msgid "%s"
|
||||
+#~ msgstr "%s"
|
||||
+
|
||||
+#~ msgid ""
|
||||
+#~ "Sorry, your system does not have enough memory for kdump to be viable!"
|
||||
+#~ msgstr ""
|
||||
+#~ "Žalim, sistem ne poseduje dovoljno memorije kako bi kdump bio moguć!"
|
||||
+
|
||||
+#, fuzzy
|
||||
+#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
|
||||
+#~ msgstr "Žalim, Xen jezgra trenutno ne podržavaju kdump!"
|
||||
+
|
||||
+#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
|
||||
+#~ msgstr "Žalim, %s arhitektura trenutno ne podržava kdump!"
|
||||
+
|
||||
+#, fuzzy
|
||||
+#~ msgid ""
|
||||
+#~ "Changing Kdump settings requires rebooting the system to reallocate "
|
||||
+#~ "memory accordingly. Would you like to continue with this change and "
|
||||
+#~ "reboot the system after firstboot is complete?"
|
||||
+#~ msgstr ""
|
||||
+#~ "Izmena Kdump podešavanja zahteva ponovno pokretanje sistema kako bi se "
|
||||
+#~ "shodno zauzela memorija. %sDa li želite da nastavite sa ovom izmenom i "
|
||||
+#~ "ponovo pokrenete sistem nakon što se firstboot završi?"
|
||||
+
|
||||
+#~ msgid "Error! No bootloader config file found, aborting configuration!"
|
||||
+#~ msgstr ""
|
||||
+#~ "Greška! Nije pronađena datoteka podešavanja pokretačkog programa, "
|
||||
+#~ "obustavljam podešavanje!"
|
||||
220
fix-import-after-Anaconda-refactoring.patch
Normal file
220
fix-import-after-Anaconda-refactoring.patch
Normal file
@ -0,0 +1,220 @@
|
||||
From 78830ebefc25f616145da2b1534f879f4cabca29 Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Konecny <jkonecny@redhat.com>
|
||||
Date: Fri, 19 Jan 2018 11:41:39 +0100
|
||||
Subject: [PATCH 1/3] Fix import after Anaconda refactoring
|
||||
|
||||
iutil -> core.util
|
||||
|
||||
Introduced in anaconda-28.18.1.
|
||||
---
|
||||
com_redhat_kdump/ks/kdump.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index ec4ab35..4f734e4 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
import os.path
|
||||
from pyanaconda.addons import AddonData
|
||||
-from pyanaconda import iutil
|
||||
+from pyanaconda.core import util
|
||||
from pyanaconda.flags import flags
|
||||
|
||||
from pykickstart.options import KSOptionParser
|
||||
@@ -138,4 +138,4 @@ def execute(self, storage, ksdata, instClass, users, payload):
|
||||
else:
|
||||
action = "disable"
|
||||
|
||||
- iutil.execWithRedirect("systemctl", [action, "kdump.service"], root=iutil.getSysroot())
|
||||
+ util.execWithRedirect("systemctl", [action, "kdump.service"], root=util.getSysroot())
|
||||
|
||||
From d0a30e26ca7176db949038402effa0523cae3fc2 Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Konecny <jkonecny@redhat.com>
|
||||
Date: Fri, 19 Jan 2018 11:45:32 +0100
|
||||
Subject: [PATCH 2/3] Fix unused dependency and code style
|
||||
|
||||
Minor issues I found in the code.
|
||||
---
|
||||
com_redhat_kdump/common.py | 1 -
|
||||
com_redhat_kdump/ks/kdump.py | 2 +-
|
||||
2 files changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/common.py b/com_redhat_kdump/common.py
|
||||
index d45304e..1b79186 100644
|
||||
--- a/com_redhat_kdump/common.py
|
||||
+++ b/com_redhat_kdump/common.py
|
||||
@@ -18,7 +18,6 @@
|
||||
#
|
||||
# Red Hat Author(s): David Shea <dshea@redhat.com>
|
||||
#
|
||||
-import os
|
||||
import re
|
||||
__all__ = ["getReservedMemory", "getTotalMemory", "getMemoryBounds"]
|
||||
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index 4f734e4..84ec5f9 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -125,7 +125,7 @@ def handle_header(self, lineno, args):
|
||||
|
||||
# Store the parsed arguments
|
||||
self.enabled = opts.enabled
|
||||
- self.reserveMB =opts.reserveMB
|
||||
+ self.reserveMB = opts.reserveMB
|
||||
self.enablefadump = opts.enablefadump
|
||||
|
||||
def execute(self, storage, ksdata, instClass, users, payload):
|
||||
|
||||
From 8d18fd069b8b63b2ff031f47103ec879ab85f22d Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Konecny <jkonecny@redhat.com>
|
||||
Date: Fri, 19 Jan 2018 16:50:04 +0100
|
||||
Subject: [PATCH 3/3] Migrate TUI spoke to new Simpleline solution
|
||||
|
||||
Anaconda migrated to Simpleline which is old Anaconda TUI promoted to
|
||||
separate library.
|
||||
---
|
||||
com_redhat_kdump/tui/spokes/kdump.py | 106 +++++++++++++++++++--------
|
||||
1 file changed, 76 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/tui/spokes/kdump.py b/com_redhat_kdump/tui/spokes/kdump.py
|
||||
index e220f07..dea0b14 100644
|
||||
--- a/com_redhat_kdump/tui/spokes/kdump.py
|
||||
+++ b/com_redhat_kdump/tui/spokes/kdump.py
|
||||
@@ -26,50 +26,36 @@
|
||||
|
||||
from pyanaconda.flags import flags
|
||||
from pyanaconda.ui.categories.system import SystemCategory
|
||||
-from pyanaconda.ui.tui.spokes import EditTUISpoke
|
||||
-from pyanaconda.ui.tui.spokes import EditTUISpokeEntry as Entry
|
||||
+from pyanaconda.ui.tui.spokes import NormalTUISpoke
|
||||
+from pyanaconda.ui.tui.tuiobject import Dialog
|
||||
+from simpleline.render.widgets import CheckboxWidget, EntryWidget
|
||||
+from simpleline.render.containers import ListColumnContainer
|
||||
+from simpleline.render.screen import InputState
|
||||
from com_redhat_kdump.common import getMemoryBounds
|
||||
from com_redhat_kdump.i18n import N_, _
|
||||
from com_redhat_kdump.constants import FADUMP_CAPABLE_FILE
|
||||
|
||||
__all__ = ["KdumpSpoke"]
|
||||
|
||||
-class _re:
|
||||
- def __init__(self, patten):
|
||||
- self.re = re.compile(patten)
|
||||
+class KdumpSpoke(NormalTUISpoke):
|
||||
+ category = SystemCategory
|
||||
|
||||
- def match(self, key):
|
||||
- if self.re.match(key):
|
||||
- self.low, self.up, self.step = getMemoryBounds()
|
||||
- if key[-1] == 'M':
|
||||
- key = key[:-1]
|
||||
- key = int(key)
|
||||
- if key <= self.up and key >= self.low :
|
||||
- return True
|
||||
- return False
|
||||
+ def __init__(self, data, storage, payload, instclass):
|
||||
+ super().__init__(data, storage, payload, instclass)
|
||||
+ self.title = N_("Kdump")
|
||||
+ self._addon_data = self.data.addons.com_redhat_kdump
|
||||
|
||||
-# Allow a string of digits optionally followed by 'M'
|
||||
-RESERVE_VALID = _re(r'^(\d+M?)$')
|
||||
+ self._lower, self._upper, self._step = getMemoryBounds()
|
||||
+ # Allow a string of digits optionally followed by 'M'
|
||||
+ self._reserve_check_re = re.compile(r'^(\d+M?)$')
|
||||
|
||||
-class KdumpSpoke(EditTUISpoke):
|
||||
- title = N_("Kdump")
|
||||
- category = SystemCategory
|
||||
- lower, upper ,_step = getMemoryBounds()
|
||||
- edit_fields = [
|
||||
- Entry("Enable kdump", "enabled", EditTUISpoke.CHECK, True),
|
||||
- Entry("Enable dump mode fadump", "enablefadump", EditTUISpoke.CHECK, os.path.exists(FADUMP_CAPABLE_FILE) and (lambda self,args: args.enabled)),
|
||||
- Entry("Reserve amount (%d - %d MB)" % (lower, upper), "reserveMB", RESERVE_VALID, lambda self,args: args.enabled)
|
||||
- ]
|
||||
+ self._container = None
|
||||
|
||||
@classmethod
|
||||
def should_run(cls, environment, data):
|
||||
# the KdumpSpoke should run only if requested
|
||||
return flags.cmdline.getbool("kdump_addon", default=False)
|
||||
|
||||
- def __init__(self, app, data, storage, payload, instclass):
|
||||
- EditTUISpoke.__init__(self, app, data, storage, payload, instclass)
|
||||
- self.args = self.data.addons.com_redhat_kdump
|
||||
-
|
||||
def apply(self):
|
||||
pass
|
||||
|
||||
@@ -79,8 +65,68 @@ def completed(self):
|
||||
|
||||
@property
|
||||
def status(self):
|
||||
- if self.args.enabled:
|
||||
+ if self._addon_data.enabled:
|
||||
state = _("Kdump is enabled")
|
||||
else:
|
||||
state = _("Kdump is disabled")
|
||||
return state
|
||||
+
|
||||
+ def refresh(self, args=None):
|
||||
+ super().refresh(args)
|
||||
+
|
||||
+ self._container = ListColumnContainer(1)
|
||||
+ self.window.add(self._container)
|
||||
+
|
||||
+ self._create_enable_checkbox()
|
||||
+
|
||||
+ if self._addon_data.enabled:
|
||||
+ self._create_fadump_checkbox()
|
||||
+ self._create_reserve_amount_text_widget()
|
||||
+
|
||||
+ self.window.add_separator()
|
||||
+
|
||||
+ def _create_enable_checkbox(self):
|
||||
+ enable_kdump_checkbox = CheckboxWidget(title=_("Enable kdump"),
|
||||
+ completed=self._addon_data.enabled)
|
||||
+ self._container.add(enable_kdump_checkbox, self._set_enabled)
|
||||
+
|
||||
+ def _create_fadump_checkbox(self):
|
||||
+ if not os.path.exists(FADUMP_CAPABLE_FILE):
|
||||
+ return
|
||||
+
|
||||
+ enable_fadump_checkbox = CheckboxWidget(title=_("Enable dump mode fadump"),
|
||||
+ completed=self._addon_data.enablefadump)
|
||||
+ self._container.add(enable_fadump_checkbox, self._set_fadump_enable)
|
||||
+
|
||||
+ def _create_reserve_amount_text_widget(self):
|
||||
+ title = _("Reserve amount (%d - %d MB)" % (self._lower, self._upper))
|
||||
+ reserve_amount_entry = EntryWidget(title=title, value=self._addon_data.reserveMB)
|
||||
+ self._container.add(reserve_amount_entry, self._get_reserve_amount)
|
||||
+
|
||||
+ def _set_enabled(self, data):
|
||||
+ self._addon_data.enabled = not self._addon_data.enabled
|
||||
+
|
||||
+ def _set_fadump_enable(self, data):
|
||||
+ self._addon_data.enablefadump = not self._addon_data.enablefadump
|
||||
+
|
||||
+ def _get_reserve_amount(self, data):
|
||||
+ text = "Reserve amount (%d - %d MB)" % (self._lower, self._upper)
|
||||
+ dialog = Dialog(title=text, conditions=[self._check_reserve_valid])
|
||||
+
|
||||
+ self._addon_data.reserveMB = dialog.run()
|
||||
+
|
||||
+ def _check_reserve_valid(self, key, report_func):
|
||||
+ if self._reserve_check_re.match(key):
|
||||
+ if key[-1] == 'M':
|
||||
+ key = key[:-1]
|
||||
+ key = int(key)
|
||||
+ if self._upper >= key >= self._lower:
|
||||
+ return True
|
||||
+ return False
|
||||
+
|
||||
+ def input(self, args, key):
|
||||
+ if self._container.process_user_input(key):
|
||||
+ self.redraw()
|
||||
+ return InputState.PROCESSED
|
||||
+ else:
|
||||
+ return super().input(args, key)
|
||||
BIN
kdump-anaconda-addon-005.tar.gz
Normal file
BIN
kdump-anaconda-addon-005.tar.gz
Normal file
Binary file not shown.
Binary file not shown.
@ -1,14 +1,41 @@
|
||||
%global git_commit_hash c109552a1b48f893ce5c29c157c70c6a22f86e1c
|
||||
|
||||
Name: kdump-anaconda-addon
|
||||
Version: 005
|
||||
Release: 2
|
||||
Release: 3
|
||||
Summary: Anaconda addon for configuring kdump.
|
||||
License: GPLv2
|
||||
URL: https://github.com/daveyoung/kdump-anaconda-addon
|
||||
Source0: https://github.com/daveyoung/kdump-anaconda-addon/archive/%{git_commit_hash}/kdump-anaconda-addon-c109552.tar.gz
|
||||
Source0: https://github.com/daveyoung/kdump-anaconda-addon/archive/kdump-anaconda-addon-005.tar.gz
|
||||
|
||||
BuildRequires: intltool gettext
|
||||
Patch6000: update-translation-files.patch
|
||||
Patch6001: set-helpFile-for-the-kdump-spoke.patch
|
||||
Patch6002: deleteing-the-untranslated-po-files.patch
|
||||
Patch6003: delete-old-files-before-updating-new-addon.patch
|
||||
Patch6004: dont-mix-tabs-and-spaces-for-indentation.patch
|
||||
Patch6005: add-kdump-spoke-icon.patch
|
||||
Patch6006: update-kdump-svg-again.patch
|
||||
Patch6007: update-kdump-icon.patch
|
||||
Patch6008: use-mizmo-replacement-icon-for-kdump-addon.patch
|
||||
Patch6009: call-getMemoryBounds-to-the-match-method.patch
|
||||
Patch6010: dont-put-options-after-the-end-of-the-addon-section.patch
|
||||
Patch6011: adapt-to-blivet-2-0-API.patch
|
||||
Patch6012: show-range-of-valid-reserved-memory-values-in-TUI.patch
|
||||
Patch6013: dont-call-pyanaconda-function-for-total-memory.patch
|
||||
Patch6014: fix-bug-1053550.patch
|
||||
Patch6015: add-support-for-new-Anaconda-addon-methods.patch
|
||||
Patch6016: fix-an-unknown-error.patch
|
||||
Patch6017: pykickstart3-support.patch
|
||||
Patch6018: fix-import-after-Anaconda-refactoring.patch
|
||||
Patch6019: use-anaconda-bootloader-module-for-boot-options-setting.patch
|
||||
Patch6020: make-it-possible-to-prevent-systemctl-invocation.patch
|
||||
Patch6021: remove-install-classes.patch
|
||||
Patch6022: add-some-unit-tests.patch
|
||||
Patch6023: fix-an-unittest-error.patch
|
||||
Patch6024: replace-getSysroot.patch
|
||||
Patch6025: use-kernel-arguments-instead-of-cmdline.patch
|
||||
Patch6026: dont-use-the-local-storage-object.patch
|
||||
|
||||
BuildRequires: intltool gettext git
|
||||
Requires: anaconda >= 29.24 hicolor-icon-theme
|
||||
|
||||
Obsoletes: kexec-tools-anaconda-addon < 2.0.17-9
|
||||
@ -22,7 +49,7 @@ com_redhat_kdump directory into /usr/share/anaconda/addons on your
|
||||
installation media.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{name}-%{git_commit_hash}
|
||||
%autosetup -n %{name}-%{version} -p1 -Sgit
|
||||
|
||||
%build
|
||||
|
||||
@ -47,6 +74,9 @@ installation media.
|
||||
%{_datadir}/icons/hicolor/scalable/apps/kdump.svg
|
||||
|
||||
%changelog
|
||||
* Wed Jul 1 2020 fengtao <fengtao40@huawei.com> - 005-3
|
||||
- backport some patches.
|
||||
|
||||
* Mon Oct 21 2019 openEuler Buildteam <buildteam@openeuler.org> - 005-2
|
||||
- Package rebuild.
|
||||
|
||||
|
||||
43
make-it-possible-to-prevent-systemctl-invocation.patch
Normal file
43
make-it-possible-to-prevent-systemctl-invocation.patch
Normal file
@ -0,0 +1,43 @@
|
||||
From d411f7d635f999c2d67a0a0f4c64cd0db1252e9b Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kolman <mkolman@redhat.com>
|
||||
Date: Wed, 25 Jul 2018 16:08:41 +0200
|
||||
Subject: [PATCH] Make it possible to prevent systemctl invocation via
|
||||
kickstart
|
||||
|
||||
There are cases such as creation of very minimal containers where
|
||||
there might be no systemctl inside the installation chroot.
|
||||
|
||||
In such a case we need to assure that systemctl is not called
|
||||
or else the installation will fail. Unfortunately at the moment
|
||||
kdump will try to always call systemctl unless the whole addon
|
||||
is marked as disabled in the boot options and it's not possible
|
||||
to override this behavior via kickstart.
|
||||
|
||||
So change the logic a bit so that when %addon com_redhat_kdump --disable
|
||||
is used in kickstart will have the same effect (systemctl will not be
|
||||
called).
|
||||
|
||||
Resolves: rhbz#1608359
|
||||
---
|
||||
com_redhat_kdump/ks/kdump.py | 7 ++-----
|
||||
1 file changed, 2 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index 496c322..fa1bfee 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -137,12 +137,9 @@ def handle_header(self, lineno, args):
|
||||
|
||||
def execute(self, storage, ksdata, instClass, users, payload):
|
||||
# the KdumpSpoke should run only if requested
|
||||
- if not flags.cmdline.getbool("kdump_addon", default=False):
|
||||
+ if not flags.cmdline.getbool("kdump_addon", default=False) or not self.enabled:
|
||||
return
|
||||
|
||||
- if self.enabled:
|
||||
- action = "enable"
|
||||
- else:
|
||||
- action = "disable"
|
||||
+ action = "enable"
|
||||
|
||||
util.execWithRedirect("systemctl", [action, "kdump.service"], root=util.getSysroot())
|
||||
60
pykickstart3-support.patch
Normal file
60
pykickstart3-support.patch
Normal file
@ -0,0 +1,60 @@
|
||||
From fcdbae91a98c1ec0c4ba576b0bd5a9f4b0b70c60 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kolman <mkolman@redhat.com>
|
||||
Date: Mon, 4 Dec 2017 19:31:25 +0100
|
||||
Subject: [PATCH] Pykickstart 3 support
|
||||
|
||||
Pykickstart 3 uses Argparse as the option parser, and there is
|
||||
the new requirement for specifying when the given command has been
|
||||
introduced, which can be used for kickstart file validation and/or
|
||||
to generate documentation.
|
||||
|
||||
For more information about Pykickstart 2 to 3 porting see:
|
||||
https://github.com/rhinstaller/pykickstart/blob/master/docs/2to3
|
||||
|
||||
So change the Kdump addon kickstart parsing code accordingly.
|
||||
---
|
||||
com_redhat_kdump/ks/kdump.py | 24 +++++++++++++-----------
|
||||
1 file changed, 13 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index ec4ab35..99e9a66 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -26,6 +26,7 @@
|
||||
|
||||
from pykickstart.options import KSOptionParser
|
||||
from pykickstart.errors import KickstartParseError, formatErrorMsg
|
||||
+from pykickstart.version import F27
|
||||
from com_redhat_kdump.common import getMemoryBounds
|
||||
from com_redhat_kdump.i18n import _
|
||||
from com_redhat_kdump.constants import FADUMP_CAPABLE_FILE
|
||||
@@ -92,17 +93,18 @@ def setup(self, storage, ksdata, instClass, payload):
|
||||
storage.bootloader.boot_args.add('fadump=on')
|
||||
|
||||
def handle_header(self, lineno, args):
|
||||
- op = KSOptionParser()
|
||||
- op.add_option("--enable", action="store_true", default=True,
|
||||
- dest="enabled", help="Enable kdump")
|
||||
- op.add_option("--enablefadump", action="store_true", default=False,
|
||||
- dest="enablefadump", help="Enable dump mode fadump")
|
||||
- op.add_option("--disable", action="store_false",
|
||||
- dest="enabled", help="Disable kdump")
|
||||
- op.add_option("--reserve-mb", type="string", dest="reserveMB",
|
||||
- default="128", help="Amount of memory in MB to reserve for kdump.")
|
||||
-
|
||||
- (opts, extra) = op.parse_args(args=args, lineno=lineno)
|
||||
+ op = KSOptionParser(prog="addon com_redhat_kdump", version=F27,
|
||||
+ description="Configure the Kdump Addon.")
|
||||
+ op.add_argument("--enable", action="store_true", default=True,
|
||||
+ version=F27, dest="enabled", help="Enable kdump")
|
||||
+ op.add_argument("--enablefadump", action="store_true", default=False,
|
||||
+ version=F27, dest="enablefadump", help="Enable dump mode fadump")
|
||||
+ op.add_argument("--disable", action="store_false",
|
||||
+ version=F27, dest="enabled", help="Disable kdump")
|
||||
+ op.add_argument("--reserve-mb", type=str, dest="reserveMB",
|
||||
+ version=F27, default="128", help="Amount of memory in MB to reserve for kdump.")
|
||||
+
|
||||
+ (opts, extra) = op.parse_known_args(args=args, lineno=lineno)
|
||||
|
||||
# Reject any additional arguments
|
||||
if extra:
|
||||
65
remove-install-classes.patch
Normal file
65
remove-install-classes.patch
Normal file
@ -0,0 +1,65 @@
|
||||
From 07a69ab652ffc418e9366d7fca338b0633a1b75c Mon Sep 17 00:00:00 2001
|
||||
From: Vendula Poncova <vponcova@redhat.com>
|
||||
Date: Thu, 6 Dec 2018 17:26:15 +0100
|
||||
Subject: [PATCH] Remove install classes
|
||||
|
||||
Anaconda removes the install classes from the code. They are
|
||||
replaced with cofiguration files.
|
||||
---
|
||||
com_redhat_kdump/gui/spokes/kdump.py | 4 ++--
|
||||
com_redhat_kdump/ks/kdump.py | 4 ++--
|
||||
com_redhat_kdump/tui/spokes/kdump.py | 4 ++--
|
||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/gui/spokes/kdump.py b/com_redhat_kdump/gui/spokes/kdump.py
|
||||
index 7a52b46..c8f5c9b 100644
|
||||
--- a/com_redhat_kdump/gui/spokes/kdump.py
|
||||
+++ b/com_redhat_kdump/gui/spokes/kdump.py
|
||||
@@ -53,8 +53,8 @@ def should_run(cls, environment, data):
|
||||
# the KdumpSpoke should run only if requested
|
||||
return flags.cmdline.getbool("kdump_addon", default=False)
|
||||
|
||||
- def __init__(self, data, storage, payload, instclass):
|
||||
- NormalSpoke.__init__(self, data, storage, payload, instclass)
|
||||
+ def __init__(self, *args):
|
||||
+ NormalSpoke.__init__(self, *args)
|
||||
self._reserveMem = 0
|
||||
|
||||
def initialize(self):
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index fa1bfee..6cc664f 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -64,7 +64,7 @@ def __str__(self):
|
||||
|
||||
return addon_str
|
||||
|
||||
- def setup(self, storage, ksdata, instClass, payload):
|
||||
+ def setup(self, storage, ksdata, payload):
|
||||
# the kdump addon should run only if requested
|
||||
if not flags.cmdline.getbool("kdump_addon", default=False):
|
||||
return
|
||||
@@ -135,7 +135,7 @@ def handle_header(self, lineno, args):
|
||||
self.reserveMB = opts.reserveMB
|
||||
self.enablefadump = opts.enablefadump
|
||||
|
||||
- def execute(self, storage, ksdata, instClass, users, payload):
|
||||
+ def execute(self, storage, ksdata, users, payload):
|
||||
# the KdumpSpoke should run only if requested
|
||||
if not flags.cmdline.getbool("kdump_addon", default=False) or not self.enabled:
|
||||
return
|
||||
diff --git a/com_redhat_kdump/tui/spokes/kdump.py b/com_redhat_kdump/tui/spokes/kdump.py
|
||||
index dea0b14..871f71d 100644
|
||||
--- a/com_redhat_kdump/tui/spokes/kdump.py
|
||||
+++ b/com_redhat_kdump/tui/spokes/kdump.py
|
||||
@@ -40,8 +40,8 @@
|
||||
class KdumpSpoke(NormalTUISpoke):
|
||||
category = SystemCategory
|
||||
|
||||
- def __init__(self, data, storage, payload, instclass):
|
||||
- super().__init__(data, storage, payload, instclass)
|
||||
+ def __init__(self, *args):
|
||||
+ super().__init__(*args)
|
||||
self.title = N_("Kdump")
|
||||
self._addon_data = self.data.addons.com_redhat_kdump
|
||||
|
||||
30
replace-getSysroot.patch
Normal file
30
replace-getSysroot.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 758589858d45f8c81c37cf484ba6e3f606257fd9 Mon Sep 17 00:00:00 2001
|
||||
From: Vendula Poncova <vponcova@redhat.com>
|
||||
Date: Thu, 11 Jul 2019 17:43:10 +0200
|
||||
Subject: [PATCH] Replace getSysroot
|
||||
|
||||
Use conf.target.system_root instead of the function getSysroot to
|
||||
get the path to the system root. The function getSysroot will be
|
||||
removed.
|
||||
---
|
||||
com_redhat_kdump/ks/kdump.py | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index 53878b9..0adb5e5 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -22,6 +22,7 @@
|
||||
import os.path
|
||||
from pyanaconda.addons import AddonData
|
||||
from pyanaconda.core import util
|
||||
+from pyanaconda.core.configuration.anaconda import conf
|
||||
from pyanaconda.flags import flags
|
||||
from pyanaconda.modules.common.constants.services import STORAGE
|
||||
from pyanaconda.modules.common.constants.objects import BOOTLOADER
|
||||
@@ -143,4 +144,4 @@ def execute(self, storage, ksdata, users, payload):
|
||||
|
||||
action = "enable"
|
||||
|
||||
- util.execWithRedirect("systemctl", [action, "kdump.service"], root=util.getSysroot())
|
||||
+ util.execWithRedirect("systemctl", [action, "kdump.service"], root=conf.target.system_root)
|
||||
24
set-helpFile-for-the-kdump-spoke.patch
Normal file
24
set-helpFile-for-the-kdump-spoke.patch
Normal file
@ -0,0 +1,24 @@
|
||||
From e397cca17cc029c41b207eebb9a77b3fe4ee7727 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kolman <martin.kolman@gmail.com>
|
||||
Date: Fri, 16 Jan 2015 17:34:14 +0100
|
||||
Subject: [PATCH] Set helpFile for the kdump spoke
|
||||
|
||||
This makes it possible to show help content for the kdump addon screen.
|
||||
Also the RHEL7 Installation Guide already has content for the kdump addon screen (KdumpSpoke.xml)
|
||||
and this change is needed for it to be displayed.
|
||||
---
|
||||
com_redhat_kdump/gui/spokes/kdump.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/com_redhat_kdump/gui/spokes/kdump.py b/com_redhat_kdump/gui/spokes/kdump.py
|
||||
index 029e6ba..9b2e731 100644
|
||||
--- a/com_redhat_kdump/gui/spokes/kdump.py
|
||||
+++ b/com_redhat_kdump/gui/spokes/kdump.py
|
||||
@@ -41,6 +41,7 @@ class KdumpSpoke(NormalSpoke):
|
||||
builderObjects = ["KdumpWindow", "advancedConfigBuffer"]
|
||||
mainWidgetName = "KdumpWindow"
|
||||
uiFile = "kdump.glade"
|
||||
+ helpFile = "KdumpSpoke.xml"
|
||||
translationDomain = "kdump-anaconda-addon"
|
||||
|
||||
icon = "computer-fail-symbolic"
|
||||
29
show-range-of-valid-reserved-memory-values-in-TUI.patch
Normal file
29
show-range-of-valid-reserved-memory-values-in-TUI.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From 3efb61effdb2dc92f9670bf25c5c8b24eef557f7 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Kolman <mkolman@redhat.com>
|
||||
Date: Thu, 19 May 2016 18:20:31 +0200
|
||||
Subject: [PATCH] Show range of valid reserved memory values in TUI
|
||||
|
||||
Show range of valid reserved memory values in TUI
|
||||
to make it easier for the user to select a correct value.
|
||||
---
|
||||
com_redhat_kdump/tui/spokes/kdump.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/tui/spokes/kdump.py b/com_redhat_kdump/tui/spokes/kdump.py
|
||||
index 7a74011..fad1482 100644
|
||||
--- a/com_redhat_kdump/tui/spokes/kdump.py
|
||||
+++ b/com_redhat_kdump/tui/spokes/kdump.py
|
||||
@@ -56,11 +56,11 @@ def match(self, key):
|
||||
class KdumpSpoke(EditTUISpoke):
|
||||
title = N_("Kdump")
|
||||
category = SystemCategory
|
||||
-
|
||||
+ lower, upper ,_step = getMemoryBounds()
|
||||
edit_fields = [
|
||||
Entry("Enable kdump", "enabled", EditTUISpoke.CHECK, True),
|
||||
Entry("Enable dump mode fadump", "enablefadump", EditTUISpoke.CHECK, os.path.exists(FADUMP_CAPABLE_FILE) and (lambda self,args: args.enabled)),
|
||||
- Entry("Reserve amount(MB)", "reserveMB", RESERVE_VALID, lambda self,args: args.enabled)
|
||||
+ Entry("Reserve amount (%d - %d MB)" % (lower, upper), "reserveMB", RESERVE_VALID, lambda self,args: args.enabled)
|
||||
]
|
||||
|
||||
@classmethod
|
||||
255
update-kdump-icon.patch
Normal file
255
update-kdump-icon.patch
Normal file
@ -0,0 +1,255 @@
|
||||
From d16915fca79f890926591a179100f34cc5699efd Mon Sep 17 00:00:00 2001
|
||||
From: Dave Young <dyoung@redhat.com>
|
||||
Date: Mon, 13 Jul 2015 11:04:03 +0800
|
||||
Subject: [PATCH] Update kdump icon
|
||||
|
||||
rmarshall@redhat.com reported the icon exhibits a rough-edge and pixelation
|
||||
along the interior edges between the thing outer line and the solid black
|
||||
inserts.
|
||||
|
||||
Xiaoxue updated the icon again without the outer ring.
|
||||
---
|
||||
kdump.svg | 198 +++++++++++++++++++-----------------------------------
|
||||
1 file changed, 70 insertions(+), 128 deletions(-)
|
||||
|
||||
diff --git a/kdump.svg b/kdump.svg
|
||||
index 30493bf..bef8e17 100644
|
||||
--- a/kdump.svg
|
||||
+++ b/kdump.svg
|
||||
@@ -27,7 +27,7 @@
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
- <dc:title></dc:title>
|
||||
+ <dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
@@ -46,158 +46,100 @@
|
||||
inkscape:window-height="851"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
- inkscape:zoom="5.2619095"
|
||||
- inkscape:cx="29.358045"
|
||||
- inkscape:cy="41.521755"
|
||||
+ inkscape:zoom="1"
|
||||
+ inkscape:cx="44.125181"
|
||||
+ inkscape:cy="20.454697"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
- inkscape:current-layer="svg2" />
|
||||
+ inkscape:current-layer="layer2" />
|
||||
<g
|
||||
- id="g4558"
|
||||
- transform="matrix(-0.01200035,0.4031479,-0.40315051,-0.01200027,264.16902,-296.78649)">
|
||||
- <g
|
||||
- transform="matrix(0.77251542,0.13871563,-0.13871563,0.77251542,212.91427,27.530304)"
|
||||
- id="g4347-4">
|
||||
- <circle
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:38.24825287;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
- id="path4149-8"
|
||||
- cx="894.74286"
|
||||
- cy="516.98846"
|
||||
- r="73.277237" />
|
||||
- <g
|
||||
- id="g4341-1"
|
||||
- transform="matrix(0.91602888,0.40111234,-0.40111234,0.91602888,282.41444,-315.33313)">
|
||||
- <path
|
||||
- inkscape:transform-center-y="25.847908"
|
||||
- inkscape:transform-center-x="-62.253906"
|
||||
- d="m 970.86855,522.83392 a 73.943687,73.661713 0 0 1 -4.45935,25.19379"
|
||||
- sodipodi:open="true"
|
||||
- sodipodi:end="0.34906585"
|
||||
- sodipodi:start="0"
|
||||
- sodipodi:ry="73.661713"
|
||||
- sodipodi:rx="73.943687"
|
||||
- sodipodi:cy="522.83392"
|
||||
- sodipodi:cx="896.92487"
|
||||
- sodipodi:type="arc"
|
||||
- id="path4149-6-3"
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:38.52220154;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
- transform="matrix(0.99998455,-0.00555799,-0.00557927,0.99998444,0,0)" />
|
||||
- <path
|
||||
- transform="matrix(-0.00830894,-0.99996548,0.99996508,0.00835658,0,0)"
|
||||
- inkscape:transform-center-y="-62.14529"
|
||||
- inkscape:transform-center-x="-25.954041"
|
||||
- d="m -436.06636,891.56036 a 74.103806,73.681358 0 0 1 -4.46901,25.20051"
|
||||
- sodipodi:open="true"
|
||||
- sodipodi:end="0.34906585"
|
||||
- sodipodi:start="0"
|
||||
- sodipodi:ry="73.681358"
|
||||
- sodipodi:rx="74.103806"
|
||||
- sodipodi:cy="891.56036"
|
||||
- sodipodi:cx="-510.17017"
|
||||
- sodipodi:type="arc"
|
||||
- id="path4149-6-6-3"
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:38.56903076;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
- <path
|
||||
- transform="matrix(-0.0058691,0.99998278,-0.99998291,0.00584556,0,0)"
|
||||
- inkscape:transform-center-y="62.930974"
|
||||
- inkscape:transform-center-x="25.505292"
|
||||
- d="m 595.40512,-898.84338 a 73.561676,73.857903 0 0 1 -4.43631,25.26089"
|
||||
- sodipodi:open="true"
|
||||
- sodipodi:end="0.34906585"
|
||||
- sodipodi:start="0"
|
||||
- sodipodi:ry="73.857903"
|
||||
- sodipodi:rx="73.561676"
|
||||
- sodipodi:cy="-898.84338"
|
||||
- sodipodi:cx="521.84344"
|
||||
- sodipodi:type="arc"
|
||||
- id="path4149-6-7-7"
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:38.47369766;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
- <path
|
||||
- transform="matrix(-0.99998293,-0.00584267,-0.00581933,-0.99998307,0,0)"
|
||||
- inkscape:transform-center-y="-25.415865"
|
||||
- inkscape:transform-center-x="62.706896"
|
||||
- d="m -818.4943,-512.62762 a 73.302452,73.596291 0 0 1 -4.42068,25.17141"
|
||||
- sodipodi:open="true"
|
||||
- sodipodi:end="0.34906585"
|
||||
- sodipodi:start="0"
|
||||
- sodipodi:ry="73.596291"
|
||||
- sodipodi:rx="73.302452"
|
||||
- sodipodi:cy="-512.62762"
|
||||
- sodipodi:cx="-891.79675"
|
||||
- sodipodi:type="arc"
|
||||
- id="path4149-6-7-1-0"
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:38.33777618;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
- </g>
|
||||
- <circle
|
||||
- r="97.60952"
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:3.68694615;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
- id="path4149-8-6"
|
||||
- cx="894.74286"
|
||||
- cy="516.98846" />
|
||||
- </g>
|
||||
+ inkscape:groupmode="layer"
|
||||
+ id="layer2"
|
||||
+ inkscape:label="Layer 2">
|
||||
+ <ellipse
|
||||
+ cy="-37.948605"
|
||||
+ cx="24.773201"
|
||||
+ id="path4149-8"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:12.26437855;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ transform="matrix(-0.20594481,0.97856361,-0.97856414,-0.20594226,0,0)"
|
||||
+ rx="23.496424"
|
||||
+ ry="23.496565" />
|
||||
<g
|
||||
- id="g4552">
|
||||
+ style="fill:none;fill-opacity:1"
|
||||
+ transform="matrix(-0.15804756,0.22130765,-0.2213091,-0.15804654,286.66481,-83.453469)"
|
||||
+ id="g4341-1">
|
||||
<path
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
- id="path4149-6-7-1-0-0"
|
||||
+ transform="matrix(0.99998455,-0.00555799,-0.00557927,0.99998444,0,0)"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:45.4210968;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ id="path4149-6-3"
|
||||
sodipodi:type="arc"
|
||||
- sodipodi:cx="-980.75238"
|
||||
- sodipodi:cy="9.2112637"
|
||||
- sodipodi:rx="57.513161"
|
||||
- sodipodi:ry="57.513161"
|
||||
+ sodipodi:cx="892.04803"
|
||||
+ sodipodi:cy="520.64441"
|
||||
+ sodipodi:rx="87.186172"
|
||||
+ sodipodi:ry="86.853699"
|
||||
sodipodi:start="0"
|
||||
sodipodi:end="0.34906585"
|
||||
sodipodi:open="true"
|
||||
- d="m -923.23922,9.2112637 a 57.513161,57.513161 0 0 1 -3.46847,19.6706593"
|
||||
- inkscape:transform-center-x="53.411556"
|
||||
- inkscape:transform-center-y="-50.905574"
|
||||
- transform="matrix(-0.83071751,-0.55669419,0.55669419,-0.83071751,0,0)" />
|
||||
+ d="m 979.23421,520.64441 a 87.186172,86.853699 0 0 1 -5.25797,29.70571"
|
||||
+ inkscape:transform-center-x="-73.402883"
|
||||
+ inkscape:transform-center-y="30.476983" />
|
||||
<path
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
- id="path4149-6-7-1-0-0-9"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:45.47630692;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ id="path4149-6-6-3"
|
||||
sodipodi:type="arc"
|
||||
- sodipodi:cx="11.623063"
|
||||
- sodipodi:cy="-995.41547"
|
||||
- sodipodi:rx="57.513161"
|
||||
- sodipodi:ry="57.513161"
|
||||
+ sodipodi:cx="-508.51367"
|
||||
+ sodipodi:cy="886.56494"
|
||||
+ sodipodi:rx="87.374962"
|
||||
+ sodipodi:ry="86.876862"
|
||||
sodipodi:start="0"
|
||||
sodipodi:end="0.34906585"
|
||||
sodipodi:open="true"
|
||||
- d="m 69.136224,-995.41547 a 57.513161,57.513161 0 0 1 -3.468468,19.67066"
|
||||
- inkscape:transform-center-x="50.905598"
|
||||
- inkscape:transform-center-y="53.41154"
|
||||
- transform="matrix(-0.55669419,0.83071751,-0.83071751,-0.55669419,0,0)" />
|
||||
+ d="m -421.13871,886.56494 a 87.374962,86.876862 0 0 1 -5.26935,29.71364"
|
||||
+ inkscape:transform-center-x="-30.602114"
|
||||
+ inkscape:transform-center-y="-73.274815"
|
||||
+ transform="matrix(-0.00830894,-0.99996548,0.99996508,0.00835658,0,0)" />
|
||||
<path
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
- id="path4149-6-7-1-0-0-9-9"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:45.28371048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ id="path4149-6-7-7"
|
||||
sodipodi:type="arc"
|
||||
- sodipodi:cx="1015.775"
|
||||
- sodipodi:cy="-3.1571906"
|
||||
- sodipodi:rx="57.513161"
|
||||
- sodipodi:ry="57.513161"
|
||||
+ sodipodi:cx="516.29486"
|
||||
+ sodipodi:cy="-891.09454"
|
||||
+ sodipodi:rx="86.706924"
|
||||
+ sodipodi:ry="86.806252"
|
||||
sodipodi:start="0"
|
||||
sodipodi:end="0.34906585"
|
||||
sodipodi:open="true"
|
||||
- d="m 1073.2882,-3.1571906 a 57.513161,57.513161 0 0 1 -3.4685,19.6706596"
|
||||
- inkscape:transform-center-x="-53.411617"
|
||||
- inkscape:transform-center-y="50.90565"
|
||||
- transform="matrix(0.83071751,0.55669419,-0.55669419,0.83071751,0,0)" />
|
||||
+ d="m 603.00179,-891.09454 a 86.706924,86.806252 0 0 1 -5.22907,29.68948"
|
||||
+ inkscape:transform-center-x="30.154045"
|
||||
+ inkscape:transform-center-y="73.74507"
|
||||
+ transform="matrix(-0.0016694,0.99999861,-0.99999861,0.00166749,0,0)" />
|
||||
<path
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
- id="path4149-6-7-1-0-0-9-9-8"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:45.28165054;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ id="path4149-6-7-1-0"
|
||||
sodipodi:type="arc"
|
||||
- sodipodi:cx="23.169399"
|
||||
- sodipodi:cy="1000.4084"
|
||||
- sodipodi:rx="57.513161"
|
||||
- sodipodi:ry="57.513161"
|
||||
+ sodipodi:cx="-888.4314"
|
||||
+ sodipodi:cy="-512.94012"
|
||||
+ sodipodi:rx="86.661537"
|
||||
+ sodipodi:ry="86.843796"
|
||||
sodipodi:start="0"
|
||||
sodipodi:end="0.34906585"
|
||||
sodipodi:open="true"
|
||||
- d="m 80.68256,1000.4084 a 57.513161,57.513161 0 0 1 -3.468468,19.6706"
|
||||
- inkscape:transform-center-x="-50.905627"
|
||||
- inkscape:transform-center-y="-53.411632"
|
||||
- transform="matrix(0.55669419,-0.83071751,0.83071751,0.55669419,0,0)" />
|
||||
+ d="m -801.76986,-512.94012 a 86.661537,86.843796 0 0 1 -5.22633,29.70232"
|
||||
+ inkscape:transform-center-x="73.849926"
|
||||
+ inkscape:transform-center-y="-30.108015"
|
||||
+ transform="matrix(-0.9999953,-0.00306549,-0.00305905,-0.99999532,0,0)" />
|
||||
</g>
|
||||
</g>
|
||||
+ <g
|
||||
+ id="g4558"
|
||||
+ transform="matrix(-0.0103092,0.3463344,-0.34633664,-0.01030914,230.14282,-249.23914)">
|
||||
+ <g
|
||||
+ id="g4552" />
|
||||
+ </g>
|
||||
+ <g
|
||||
+ inkscape:groupmode="layer"
|
||||
+ id="layer1"
|
||||
+ inkscape:label="Layer 1"
|
||||
+ style="display:inline" />
|
||||
</svg>
|
||||
182
update-kdump-svg-again.patch
Normal file
182
update-kdump-svg-again.patch
Normal file
@ -0,0 +1,182 @@
|
||||
From 6115ca79de0d0eb0ad261d5f49f0421df4c50e3a Mon Sep 17 00:00:00 2001
|
||||
From: Dave Young <dyoung@redhat.com>
|
||||
Date: Thu, 11 Jun 2015 14:10:00 +0800
|
||||
Subject: [PATCH] Update kdump.svg again
|
||||
|
||||
During test we found the icon color theme is different from other icons.
|
||||
|
||||
So I asked xiazhang@redhat.com to create a new one. Kudos to her.
|
||||
---
|
||||
kdump.svg | 91 ++++++++++++++++++++++++++++---------------------------
|
||||
1 file changed, 46 insertions(+), 45 deletions(-)
|
||||
|
||||
diff --git a/kdump.svg b/kdump.svg
|
||||
index 0386a6f..30493bf 100644
|
||||
--- a/kdump.svg
|
||||
+++ b/kdump.svg
|
||||
@@ -46,9 +46,9 @@
|
||||
inkscape:window-height="851"
|
||||
id="namedview4"
|
||||
showgrid="false"
|
||||
- inkscape:zoom="7.8203125"
|
||||
- inkscape:cx="61.89011"
|
||||
- inkscape:cy="33.133205"
|
||||
+ inkscape:zoom="5.2619095"
|
||||
+ inkscape:cx="29.358045"
|
||||
+ inkscape:cy="41.521755"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
@@ -60,77 +60,78 @@
|
||||
transform="matrix(0.77251542,0.13871563,-0.13871563,0.77251542,212.91427,27.530304)"
|
||||
id="g4347-4">
|
||||
<circle
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#bebebe;stroke-width:38.24825287;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:38.24825287;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path4149-8"
|
||||
cx="894.74286"
|
||||
cy="516.98846"
|
||||
r="73.277237" />
|
||||
<g
|
||||
id="g4341-1"
|
||||
- transform="matrix(0.91602888,0.40111234,-0.40111234,0.91602888,282.5304,-315.51091)">
|
||||
+ transform="matrix(0.91602888,0.40111234,-0.40111234,0.91602888,282.41444,-315.33313)">
|
||||
<path
|
||||
- inkscape:transform-center-y="25.514067"
|
||||
- inkscape:transform-center-x="-62.177687"
|
||||
- d="m 968.17134,517.07208 a 73.277237,73.277237 0 0 1 -4.41916,25.06229"
|
||||
+ inkscape:transform-center-y="25.847908"
|
||||
+ inkscape:transform-center-x="-62.253906"
|
||||
+ d="m 970.86855,522.83392 a 73.943687,73.661713 0 0 1 -4.45935,25.19379"
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="0.34906585"
|
||||
sodipodi:start="0"
|
||||
- sodipodi:ry="73.277237"
|
||||
- sodipodi:rx="73.277237"
|
||||
- sodipodi:cy="517.07208"
|
||||
- sodipodi:cx="894.8941"
|
||||
+ sodipodi:ry="73.661713"
|
||||
+ sodipodi:rx="73.943687"
|
||||
+ sodipodi:cy="522.83392"
|
||||
+ sodipodi:cx="896.92487"
|
||||
sodipodi:type="arc"
|
||||
id="path4149-6-3"
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ededed;stroke-width:38.2480011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:38.52220154;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ transform="matrix(0.99998455,-0.00555799,-0.00557927,0.99998444,0,0)" />
|
||||
<path
|
||||
- transform="matrix(0,-1,1,0,0,0)"
|
||||
- inkscape:transform-center-y="-62.17768"
|
||||
- inkscape:transform-center-x="-25.514029"
|
||||
- d="m -443.62041,894.86908 a 73.277237,73.277237 0 0 1 -4.41916,25.06229"
|
||||
+ transform="matrix(-0.00830894,-0.99996548,0.99996508,0.00835658,0,0)"
|
||||
+ inkscape:transform-center-y="-62.14529"
|
||||
+ inkscape:transform-center-x="-25.954041"
|
||||
+ d="m -436.06636,891.56036 a 74.103806,73.681358 0 0 1 -4.46901,25.20051"
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="0.34906585"
|
||||
sodipodi:start="0"
|
||||
- sodipodi:ry="73.277237"
|
||||
- sodipodi:rx="73.277237"
|
||||
- sodipodi:cy="894.86908"
|
||||
- sodipodi:cx="-516.89764"
|
||||
+ sodipodi:ry="73.681358"
|
||||
+ sodipodi:rx="74.103806"
|
||||
+ sodipodi:cy="891.56036"
|
||||
+ sodipodi:cx="-510.17017"
|
||||
sodipodi:type="arc"
|
||||
id="path4149-6-6-3"
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ededed;stroke-width:38.2480011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:38.56903076;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
- transform="matrix(0,1,-1,0,0,0)"
|
||||
- inkscape:transform-center-y="62.17771"
|
||||
- inkscape:transform-center-x="25.514044"
|
||||
- d="m 590.37434,-895.65582 a 73.277237,73.277237 0 0 1 -4.41915,25.06229"
|
||||
+ transform="matrix(-0.0058691,0.99998278,-0.99998291,0.00584556,0,0)"
|
||||
+ inkscape:transform-center-y="62.930974"
|
||||
+ inkscape:transform-center-x="25.505292"
|
||||
+ d="m 595.40512,-898.84338 a 73.561676,73.857903 0 0 1 -4.43631,25.26089"
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="0.34906585"
|
||||
sodipodi:start="0"
|
||||
- sodipodi:ry="73.277237"
|
||||
- sodipodi:rx="73.277237"
|
||||
- sodipodi:cy="-895.65582"
|
||||
- sodipodi:cx="517.09711"
|
||||
+ sodipodi:ry="73.857903"
|
||||
+ sodipodi:rx="73.561676"
|
||||
+ sodipodi:cy="-898.84338"
|
||||
+ sodipodi:cx="521.84344"
|
||||
sodipodi:type="arc"
|
||||
id="path4149-6-7-7"
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ededed;stroke-width:38.2480011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:38.47369766;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
- transform="scale(-1,-1)"
|
||||
- inkscape:transform-center-y="-25.514021"
|
||||
- inkscape:transform-center-x="62.177687"
|
||||
- d="m -821.4655,-516.80084 a 73.277237,73.277237 0 0 1 -4.41916,25.06229"
|
||||
+ transform="matrix(-0.99998293,-0.00584267,-0.00581933,-0.99998307,0,0)"
|
||||
+ inkscape:transform-center-y="-25.415865"
|
||||
+ inkscape:transform-center-x="62.706896"
|
||||
+ d="m -818.4943,-512.62762 a 73.302452,73.596291 0 0 1 -4.42068,25.17141"
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="0.34906585"
|
||||
sodipodi:start="0"
|
||||
- sodipodi:ry="73.277237"
|
||||
- sodipodi:rx="73.277237"
|
||||
- sodipodi:cy="-516.80084"
|
||||
- sodipodi:cx="-894.74274"
|
||||
+ sodipodi:ry="73.596291"
|
||||
+ sodipodi:rx="73.302452"
|
||||
+ sodipodi:cy="-512.62762"
|
||||
+ sodipodi:cx="-891.79675"
|
||||
sodipodi:type="arc"
|
||||
id="path4149-6-7-1-0"
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ededed;stroke-width:38.2480011;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:38.33777618;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</g>
|
||||
<circle
|
||||
r="97.60952"
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#bebebe;stroke-width:3.68694615;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:3.68694615;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path4149-8-6"
|
||||
cx="894.74286"
|
||||
cy="516.98846" />
|
||||
@@ -138,7 +139,7 @@
|
||||
<g
|
||||
id="g4552">
|
||||
<path
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#bebebe;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path4149-6-7-1-0-0"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="-980.75238"
|
||||
@@ -153,7 +154,7 @@
|
||||
inkscape:transform-center-y="-50.905574"
|
||||
transform="matrix(-0.83071751,-0.55669419,0.55669419,-0.83071751,0,0)" />
|
||||
<path
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#bebebe;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path4149-6-7-1-0-0-9"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="11.623063"
|
||||
@@ -168,7 +169,7 @@
|
||||
inkscape:transform-center-y="53.41154"
|
||||
transform="matrix(-0.55669419,0.83071751,-0.83071751,-0.55669419,0,0)" />
|
||||
<path
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#bebebe;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path4149-6-7-1-0-0-9-9"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="1015.775"
|
||||
@@ -183,7 +184,7 @@
|
||||
inkscape:transform-center-y="50.90565"
|
||||
transform="matrix(0.83071751,0.55669419,-0.55669419,0.83071751,0,0)" />
|
||||
<path
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#bebebe;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
+ style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
id="path4149-6-7-1-0-0-9-9-8"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:cx="23.169399"
|
||||
5041
update-translation-files.patch
Normal file
5041
update-translation-files.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,50 @@
|
||||
From 30efb24192b167466814a380e855b9ecf97d7fc8 Mon Sep 17 00:00:00 2001
|
||||
From: Radek Vykydal <rvykydal@redhat.com>
|
||||
Date: Mon, 25 Jun 2018 15:55:17 +0200
|
||||
Subject: [PATCH] Use anaconda bootloader module for boot options setting
|
||||
(#1594827)
|
||||
|
||||
---
|
||||
com_redhat_kdump/ks/kdump.py | 15 ++++++++++-----
|
||||
1 file changed, 10 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index d9aaa7b..496c322 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -23,6 +23,8 @@
|
||||
from pyanaconda.addons import AddonData
|
||||
from pyanaconda.core import util
|
||||
from pyanaconda.flags import flags
|
||||
+from pyanaconda.modules.common.constants.services import STORAGE
|
||||
+from pyanaconda.modules.common.constants.objects import BOOTLOADER
|
||||
|
||||
from pykickstart.options import KSOptionParser
|
||||
from pykickstart.errors import KickstartParseError, formatErrorMsg
|
||||
@@ -67,18 +69,21 @@ def setup(self, storage, ksdata, instClass, payload):
|
||||
if not flags.cmdline.getbool("kdump_addon", default=False):
|
||||
return
|
||||
|
||||
+ bootloader_proxy = STORAGE.get_proxy(BOOTLOADER)
|
||||
+
|
||||
# Clear any existing crashkernel bootloader arguments
|
||||
- if ksdata.bootloader.appendLine:
|
||||
- ksdata.bootloader.appendLine = ' '.join(
|
||||
- (arg for arg in ksdata.bootloader.appendLine.split() \
|
||||
- if not arg.startswith('crashkernel=')))
|
||||
+ extra_args = bootloader_proxy.ExtraArguments
|
||||
+ new_args = [arg for arg in extra_args
|
||||
+ if not arg.startswith('crashkernel=')]
|
||||
|
||||
# Copy our reserved amount to the bootloader arguments
|
||||
if self.enabled:
|
||||
# Ensure that the amount is an amount in MB
|
||||
if self.reserveMB[-1] != 'M':
|
||||
self.reserveMB += 'M'
|
||||
- ksdata.bootloader.appendLine += ' crashkernel=%s' % self.reserveMB
|
||||
+ new_args.append(' crashkernel=%s' % self.reserveMB)
|
||||
+
|
||||
+ bootloader_proxy.SetExtraArguments(new_args)
|
||||
|
||||
# Do the same thing with the storage.bootloader.boot_args set
|
||||
if storage.bootloader.boot_args:
|
||||
107
use-kernel-arguments-instead-of-cmdline.patch
Normal file
107
use-kernel-arguments-instead-of-cmdline.patch
Normal file
@ -0,0 +1,107 @@
|
||||
From 5b9a9528e744a040ef1650cd31d8a1d20ccd341b Mon Sep 17 00:00:00 2001
|
||||
From: Vladimir Slavik <vslavik@redhat.com>
|
||||
Date: Wed, 8 Jan 2020 20:04:38 +0100
|
||||
Subject: [PATCH] Use kernel_arguments instead of cmdline
|
||||
|
||||
Changes all usages of pyanaconda.flags.cmdline to
|
||||
pyanaconda.kernel.kernel_arguments.
|
||||
|
||||
Requires pyanaconda >=32.18
|
||||
---
|
||||
com_redhat_kdump/gui/spokes/kdump.py | 4 ++--
|
||||
com_redhat_kdump/ks/kdump.py | 7 ++++---
|
||||
com_redhat_kdump/tui/spokes/kdump.py | 4 ++--
|
||||
test/unittests/utils.py | 2 +-
|
||||
4 files changed, 9 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/com_redhat_kdump/gui/spokes/kdump.py b/com_redhat_kdump/gui/spokes/kdump.py
|
||||
index c8f5c9b..01dfb0b 100644
|
||||
--- a/com_redhat_kdump/gui/spokes/kdump.py
|
||||
+++ b/com_redhat_kdump/gui/spokes/kdump.py
|
||||
@@ -24,7 +24,7 @@
|
||||
import os.path
|
||||
from gi.repository import Gtk
|
||||
|
||||
-from pyanaconda.flags import flags
|
||||
+from pyanaconda.core.kernel import kernel_arguments
|
||||
from pyanaconda.ui.categories.system import SystemCategory
|
||||
from pyanaconda.ui.gui.spokes import NormalSpoke
|
||||
from pyanaconda.ui.gui.utils import fancy_set_sensitive
|
||||
@@ -51,7 +51,7 @@ class KdumpSpoke(NormalSpoke):
|
||||
@classmethod
|
||||
def should_run(cls, environment, data):
|
||||
# the KdumpSpoke should run only if requested
|
||||
- return flags.cmdline.getbool("kdump_addon", default=False)
|
||||
+ return kernel_arguments.is_enabled("kdump_addon")
|
||||
|
||||
def __init__(self, *args):
|
||||
NormalSpoke.__init__(self, *args)
|
||||
diff --git a/com_redhat_kdump/ks/kdump.py b/com_redhat_kdump/ks/kdump.py
|
||||
index 0adb5e5..09f727b 100644
|
||||
--- a/com_redhat_kdump/ks/kdump.py
|
||||
+++ b/com_redhat_kdump/ks/kdump.py
|
||||
@@ -23,7 +23,7 @@
|
||||
from pyanaconda.addons import AddonData
|
||||
from pyanaconda.core import util
|
||||
from pyanaconda.core.configuration.anaconda import conf
|
||||
-from pyanaconda.flags import flags
|
||||
+from pyanaconda.core.kernel import kernel_arguments
|
||||
from pyanaconda.modules.common.constants.services import STORAGE
|
||||
from pyanaconda.modules.common.constants.objects import BOOTLOADER
|
||||
|
||||
@@ -67,9 +67,10 @@ def __str__(self):
|
||||
|
||||
def setup(self, storage, ksdata, payload):
|
||||
# the kdump addon should run only if requested
|
||||
- if not flags.cmdline.getbool("kdump_addon", default=False):
|
||||
+ if not kernel_arguments.is_enabled("kdump_addon"):
|
||||
return
|
||||
|
||||
+
|
||||
bootloader_proxy = STORAGE.get_proxy(BOOTLOADER)
|
||||
|
||||
# Clear any existing crashkernel bootloader arguments
|
||||
@@ -139,7 +140,7 @@ def handle_header(self, lineno, args):
|
||||
|
||||
def execute(self, storage, ksdata, users, payload):
|
||||
# the KdumpSpoke should run only if requested
|
||||
- if not flags.cmdline.getbool("kdump_addon", default=False) or not self.enabled:
|
||||
+ if not kernel_arguments.is_enabled("kdump_addon") or not self.enabled:
|
||||
return
|
||||
|
||||
action = "enable"
|
||||
diff --git a/com_redhat_kdump/tui/spokes/kdump.py b/com_redhat_kdump/tui/spokes/kdump.py
|
||||
index 871f71d..c35fd0f 100644
|
||||
--- a/com_redhat_kdump/tui/spokes/kdump.py
|
||||
+++ b/com_redhat_kdump/tui/spokes/kdump.py
|
||||
@@ -24,7 +24,7 @@
|
||||
import os.path
|
||||
import re
|
||||
|
||||
-from pyanaconda.flags import flags
|
||||
+from pyanaconda.core.kernel import kernel_arguments
|
||||
from pyanaconda.ui.categories.system import SystemCategory
|
||||
from pyanaconda.ui.tui.spokes import NormalTUISpoke
|
||||
from pyanaconda.ui.tui.tuiobject import Dialog
|
||||
@@ -54,7 +54,7 @@ def __init__(self, *args):
|
||||
@classmethod
|
||||
def should_run(cls, environment, data):
|
||||
# the KdumpSpoke should run only if requested
|
||||
- return flags.cmdline.getbool("kdump_addon", default=False)
|
||||
+ return kernel_arguments.is_enabled("kdump_addon")
|
||||
|
||||
def apply(self):
|
||||
pass
|
||||
diff --git a/test/unittests/utils.py b/test/unittests/utils.py
|
||||
index 64ae1a0..10ba8c7 100644
|
||||
--- a/test/unittests/utils.py
|
||||
+++ b/test/unittests/utils.py
|
||||
@@ -4,7 +4,7 @@
|
||||
from com_redhat_kdump import common
|
||||
|
||||
def enable_kdump_addon_in_anaconda():
|
||||
- return patch('pyanaconda.flags.cmdline.getbool', return_value=True)
|
||||
+ return patch('pyanaconda.kernel.kernel_arguments.is_enabled', return_value=True)
|
||||
|
||||
class KdumpTestCase(unittest.TestCase):
|
||||
def setUp(self):
|
||||
262
use-mizmo-replacement-icon-for-kdump-addon.patch
Normal file
262
use-mizmo-replacement-icon-for-kdump-addon.patch
Normal file
@ -0,0 +1,262 @@
|
||||
From 59f9b73ff3a144274ec3fce3ef5f65a7298424c7 Mon Sep 17 00:00:00 2001
|
||||
From: Dave Young <dyoung@redhat.com>
|
||||
Date: Thu, 23 Jul 2015 10:41:53 +0800
|
||||
Subject: [PATCH] Use mizmo's replacement icon for kdump addon
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The life preserver has is that as an icon life preservers are generally
|
||||
used to either symbolize 'help' or 'docs.'
|
||||
|
||||
Máirín Duffy designed a better icon, it shows a little blip in a heart beat
|
||||
with a magnifying class examining it, it uses components of the
|
||||
gnome-symbolic-theme so it would match the other icons in the hub.
|
||||
---
|
||||
kdump.svg | 210 ++++++++++++++++++++++++++----------------------------
|
||||
1 file changed, 102 insertions(+), 108 deletions(-)
|
||||
|
||||
diff --git a/kdump.svg b/kdump.svg
|
||||
index bef8e17..8b3aaa3 100644
|
||||
--- a/kdump.svg
|
||||
+++ b/kdump.svg
|
||||
@@ -9,137 +9,131 @@
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
- id="svg2"
|
||||
+ id="svg7384"
|
||||
+ sodipodi:docname="kdump.svg"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
- width="64"
|
||||
- height="64"
|
||||
- viewBox="0 0 64 64"
|
||||
- sodipodi:docname="kdump.svg"
|
||||
- inkscape:export-filename="/Users/snow/Desktop/RHEL7-kdump"
|
||||
- inkscape:export-xdpi="126.703"
|
||||
- inkscape:export-ydpi="126.703">
|
||||
+ height="16"
|
||||
+ width="16">
|
||||
<metadata
|
||||
- id="metadata8">
|
||||
+ id="metadata90">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
- <dc:title />
|
||||
+ <dc:title>Gnome Symbolic Icon Theme</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
- <defs
|
||||
- id="defs6" />
|
||||
<sodipodi:namedview
|
||||
- pagecolor="#ffffff"
|
||||
- bordercolor="#666666"
|
||||
+ inkscape:cy="6.1661"
|
||||
+ pagecolor="#555753"
|
||||
borderopacity="1"
|
||||
- objecttolerance="10"
|
||||
- gridtolerance="10"
|
||||
+ showborder="true"
|
||||
+ inkscape:bbox-paths="false"
|
||||
guidetolerance="10"
|
||||
- inkscape:pageopacity="0"
|
||||
+ inkscape:object-paths="true"
|
||||
+ inkscape:window-width="2560"
|
||||
+ showguides="false"
|
||||
+ inkscape:object-nodes="true"
|
||||
+ inkscape:snap-bbox="true"
|
||||
inkscape:pageshadow="2"
|
||||
- inkscape:window-width="1440"
|
||||
- inkscape:window-height="851"
|
||||
- id="namedview4"
|
||||
+ inkscape:guide-bbox="true"
|
||||
+ inkscape:snap-nodes="false"
|
||||
+ bordercolor="#cc0000"
|
||||
+ objecttolerance="10"
|
||||
+ id="namedview88"
|
||||
showgrid="false"
|
||||
- inkscape:zoom="1"
|
||||
- inkscape:cx="44.125181"
|
||||
- inkscape:cy="20.454697"
|
||||
- inkscape:window-x="0"
|
||||
- inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
- inkscape:current-layer="layer2" />
|
||||
+ inkscape:window-x="2560"
|
||||
+ inkscape:snap-global="true"
|
||||
+ inkscape:window-y="0"
|
||||
+ gridtolerance="10"
|
||||
+ inkscape:window-height="1403"
|
||||
+ inkscape:snap-to-guides="true"
|
||||
+ inkscape:current-layer="layer12"
|
||||
+ inkscape:snap-bbox-midpoints="false"
|
||||
+ inkscape:zoom="45.254834"
|
||||
+ inkscape:cx="9.864577"
|
||||
+ inkscape:snap-grids="true"
|
||||
+ inkscape:pageopacity="1"
|
||||
+ borderlayer="false"
|
||||
+ inkscape:showpageshadow="false">
|
||||
+ <inkscape:grid
|
||||
+ spacingx="1px"
|
||||
+ spacingy="1px"
|
||||
+ id="grid4866"
|
||||
+ empspacing="2"
|
||||
+ enabled="true"
|
||||
+ type="xygrid"
|
||||
+ snapvisiblegridlinesonly="true"
|
||||
+ visible="true" />
|
||||
+ </sodipodi:namedview>
|
||||
+ <title
|
||||
+ id="title9167">Gnome Symbolic Icon Theme</title>
|
||||
+ <defs
|
||||
+ id="defs7386" />
|
||||
<g
|
||||
+ inkscape:label="status"
|
||||
+ transform="translate(-140.0002,-645.96875)"
|
||||
inkscape:groupmode="layer"
|
||||
- id="layer2"
|
||||
- inkscape:label="Layer 2">
|
||||
- <ellipse
|
||||
- cy="-37.948605"
|
||||
- cx="24.773201"
|
||||
- id="path4149-8"
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#030303;stroke-width:12.26437855;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
- transform="matrix(-0.20594481,0.97856361,-0.97856414,-0.20594226,0,0)"
|
||||
- rx="23.496424"
|
||||
- ry="23.496565" />
|
||||
- <g
|
||||
- style="fill:none;fill-opacity:1"
|
||||
- transform="matrix(-0.15804756,0.22130765,-0.2213091,-0.15804654,286.66481,-83.453469)"
|
||||
- id="g4341-1">
|
||||
- <path
|
||||
- transform="matrix(0.99998455,-0.00555799,-0.00557927,0.99998444,0,0)"
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:45.4210968;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
- id="path4149-6-3"
|
||||
- sodipodi:type="arc"
|
||||
- sodipodi:cx="892.04803"
|
||||
- sodipodi:cy="520.64441"
|
||||
- sodipodi:rx="87.186172"
|
||||
- sodipodi:ry="86.853699"
|
||||
- sodipodi:start="0"
|
||||
- sodipodi:end="0.34906585"
|
||||
- sodipodi:open="true"
|
||||
- d="m 979.23421,520.64441 a 87.186172,86.853699 0 0 1 -5.25797,29.70571"
|
||||
- inkscape:transform-center-x="-73.402883"
|
||||
- inkscape:transform-center-y="30.476983" />
|
||||
- <path
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:45.47630692;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
- id="path4149-6-6-3"
|
||||
- sodipodi:type="arc"
|
||||
- sodipodi:cx="-508.51367"
|
||||
- sodipodi:cy="886.56494"
|
||||
- sodipodi:rx="87.374962"
|
||||
- sodipodi:ry="86.876862"
|
||||
- sodipodi:start="0"
|
||||
- sodipodi:end="0.34906585"
|
||||
- sodipodi:open="true"
|
||||
- d="m -421.13871,886.56494 a 87.374962,86.876862 0 0 1 -5.26935,29.71364"
|
||||
- inkscape:transform-center-x="-30.602114"
|
||||
- inkscape:transform-center-y="-73.274815"
|
||||
- transform="matrix(-0.00830894,-0.99996548,0.99996508,0.00835658,0,0)" />
|
||||
- <path
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:45.28371048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
- id="path4149-6-7-7"
|
||||
- sodipodi:type="arc"
|
||||
- sodipodi:cx="516.29486"
|
||||
- sodipodi:cy="-891.09454"
|
||||
- sodipodi:rx="86.706924"
|
||||
- sodipodi:ry="86.806252"
|
||||
- sodipodi:start="0"
|
||||
- sodipodi:end="0.34906585"
|
||||
- sodipodi:open="true"
|
||||
- d="m 603.00179,-891.09454 a 86.706924,86.806252 0 0 1 -5.22907,29.68948"
|
||||
- inkscape:transform-center-x="30.154045"
|
||||
- inkscape:transform-center-y="73.74507"
|
||||
- transform="matrix(-0.0016694,0.99999861,-0.99999861,0.00166749,0,0)" />
|
||||
- <path
|
||||
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#dedede;stroke-width:45.28165054;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
|
||||
- id="path4149-6-7-1-0"
|
||||
- sodipodi:type="arc"
|
||||
- sodipodi:cx="-888.4314"
|
||||
- sodipodi:cy="-512.94012"
|
||||
- sodipodi:rx="86.661537"
|
||||
- sodipodi:ry="86.843796"
|
||||
- sodipodi:start="0"
|
||||
- sodipodi:end="0.34906585"
|
||||
- sodipodi:open="true"
|
||||
- d="m -801.76986,-512.94012 a 86.661537,86.843796 0 0 1 -5.22633,29.70232"
|
||||
- inkscape:transform-center-x="73.849926"
|
||||
- inkscape:transform-center-y="-30.108015"
|
||||
- transform="matrix(-0.9999953,-0.00306549,-0.00305905,-0.99999532,0,0)" />
|
||||
- </g>
|
||||
- </g>
|
||||
+ id="layer9"
|
||||
+ style="display:inline" />
|
||||
<g
|
||||
- id="g4558"
|
||||
- transform="matrix(-0.0103092,0.3463344,-0.34633664,-0.01030914,230.14282,-249.23914)">
|
||||
- <g
|
||||
- id="g4552" />
|
||||
+ inkscape:label="devices"
|
||||
+ transform="translate(-140.0002,-645.96875)"
|
||||
+ inkscape:groupmode="layer"
|
||||
+ id="layer10" />
|
||||
+ <g
|
||||
+ inkscape:label="apps"
|
||||
+ transform="translate(-140.0002,-645.96875)"
|
||||
+ inkscape:groupmode="layer"
|
||||
+ id="layer11" />
|
||||
+ <g
|
||||
+ inkscape:label="actions"
|
||||
+ transform="translate(-140.0002,-645.96875)"
|
||||
+ inkscape:groupmode="layer"
|
||||
+ id="layer12">
|
||||
+ <path
|
||||
+ inkscape:connector-curvature="0"
|
||||
+ d="m 147.51093,646.99554 c -3.02886,0 -5.51073,2.47905 -5.51073,5.50447 0,3.02541 2.48187,5.50446 5.51073,5.50446 3.02885,0 5.51072,-2.47905 5.51072,-5.50446 0,-3.02542 -2.48187,-5.50447 -5.51072,-5.50447 z m 0,2.00893 c 1.94735,0 3.49951,1.55039 3.49951,3.49554 0,1.94514 -1.55216,3.49553 -3.49951,3.49553 -1.94736,0 -3.49952,-1.55039 -3.49952,-3.49553 0,-1.94515 1.55216,-3.49554 3.49952,-3.49554 z"
|
||||
+ id="path27918"
|
||||
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:1.55467153;marker:none;enable-background:new" />
|
||||
+ <path
|
||||
+ inkscape:connector-curvature="0"
|
||||
+ d="m 150.46025,655.25 c -0.81187,0.14729 -1.10617,1.15894 -0.5,1.71875 l 3.35225,3.75 c 0.95834,0.93804 2.36512,-0.50001 1.40625,-1.4375 l -3.35225,-3.75 c -0.23555,-0.24021 -0.57609,-0.3459 -0.90625,-0.28125 z"
|
||||
+ id="path27941"
|
||||
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;display:inline;overflow:visible;visibility:visible;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:2;marker:none;enable-background:new"
|
||||
+ sodipodi:nodetypes="cccccc" />
|
||||
+ <path
|
||||
+ sodipodi:nodetypes="cccccccccccccccccccccc"
|
||||
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:'Bitstream Vera Sans';-inkscape-font-specification:'Bitstream Vera Sans';text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;display:inline;overflow:visible;visibility:visible;opacity:0.3;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:1;marker:none;enable-background:accumulate"
|
||||
+ id="path9312"
|
||||
+ d="m 146.5942,649.95937 c 0.16632,0.0474 0.29632,0.17742 0.34375,0.34375 l 1.6875,3.67763 0.875,-0.77096 c 0.0917,-0.13477 0.24328,-0.2164 0.40625,-0.21875 l 4.49975,0 0.5,0 0,1 -0.5,0 -4.24975,0 -1.3125,1.16521 c -0.24683,0.32275 -0.75513,0.23198 -0.875,-0.15625 l -1.53125,-3.02225 -1.0625,1.66954 c -0.0668,0.20296 -0.25511,0.34108 -0.46875,0.34375 l -3.50025,0 -0.5,0 0,-1 0.5,0 3.12525,0 1.4375,-2.68791 c 0.0756,-0.26915 0.3572,-0.42404 0.625,-0.34376 z"
|
||||
+ inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
+ inkscape:label="places"
|
||||
+ transform="translate(-140.0002,-645.96875)"
|
||||
+ inkscape:groupmode="layer"
|
||||
+ id="layer13" />
|
||||
+ <g
|
||||
+ inkscape:label="mimetypes"
|
||||
+ transform="translate(-140.0002,-645.96875)"
|
||||
+ inkscape:groupmode="layer"
|
||||
+ id="layer14" />
|
||||
+ <g
|
||||
+ inkscape:label="emblems"
|
||||
+ transform="translate(-140.0002,-645.96875)"
|
||||
+ inkscape:groupmode="layer"
|
||||
+ id="layer15"
|
||||
+ style="display:inline" />
|
||||
+ <g
|
||||
+ inkscape:label="categories"
|
||||
+ transform="translate(-140.0002,-645.96875)"
|
||||
inkscape:groupmode="layer"
|
||||
- id="layer1"
|
||||
- inkscape:label="Layer 1"
|
||||
+ id="g4953"
|
||||
style="display:inline" />
|
||||
</svg>
|
||||
Loading…
x
Reference in New Issue
Block a user