From ddbc41e41f7b0a9b17319a4c27359319ddf1157f9a468f56d1deafc0e5138c59 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Tue, 6 Feb 2018 12:07:11 +0000 Subject: [PATCH] Accepting request 573247 from home:LPechacek:branches:filesystems Making the defrag plugin Python 2+3 compatible. https://bugzilla.suse.com/show_bug.cgi?id=1070322 https://github.com/kdave/btrfsmaintenance/pull/47 OBS-URL: https://build.opensuse.org/request/show/573247 OBS-URL: https://build.opensuse.org/package/show/filesystems/btrfsmaintenance?expand=0&rev=33 --- btrfsmaintenance.changes | 5 ++++ btrfsmaintenance.spec | 4 +++- python3-support-bsc1070322.diff | 41 +++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 python3-support-bsc1070322.diff diff --git a/btrfsmaintenance.changes b/btrfsmaintenance.changes index 07f57a8..4024538 100644 --- a/btrfsmaintenance.changes +++ b/btrfsmaintenance.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Feb 5 15:13:00 UTC 2018 - lpechacek@suse.com + +- Move the defrag plugin over to Python 3. (bsc#1070322) + ------------------------------------------------------------------- Mon Jan 15 00:00:00 CET 2018 - dsterba@suse.cz diff --git a/btrfsmaintenance.spec b/btrfsmaintenance.spec index 9b2a389..8dcda5a 100644 --- a/btrfsmaintenance.spec +++ b/btrfsmaintenance.spec @@ -29,9 +29,10 @@ License: GPL-2.0 Group: System/Base Url: https://github.com/kdave/btrfsmaintenance Source0: %{name}-%{version}.tar.bz2 +Patch0: python3-support-bsc1070322.diff BuildRequires: systemd Requires: btrfsprogs -Requires: zypp-plugin-python +Requires: python3-zypp-plugin Requires: libzypp(plugin:commit) Supplements: btrfsprogs BuildArch: noarch @@ -43,6 +44,7 @@ on selected mountpoints or directories. %prep %setup -q +%patch0 -p1 %build diff --git a/python3-support-bsc1070322.diff b/python3-support-bsc1070322.diff new file mode 100644 index 0000000..004be06 --- /dev/null +++ b/python3-support-bsc1070322.diff @@ -0,0 +1,41 @@ +Index: btrfsmaintenance-0.4/btrfs-defrag-plugin.py +=================================================================== +--- btrfsmaintenance-0.4.orig/btrfs-defrag-plugin.py ++++ btrfsmaintenance-0.4/btrfs-defrag-plugin.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python3 + + # This plugin defragments rpm files after update. + # +@@ -17,14 +17,19 @@ + # contiguous space, the bigger the extent is, the worse and the extent + # size hint is not reached anyway + +-from sys import stderr ++import sys ++if sys.version_info[0] >= 3: ++ from builtins import str ++ popen_kwargs = { 'encoding': 'ascii' } ++else: ++ popen_kwargs = { } + from zypp_plugin import Plugin + import subprocess + + DEBUG=False + EXTENT_SIZE=64*1024*1024 + LOGFILE='/tmp/btrfs-defrag-plugin.log' +-PATH=subprocess.check_output(["rpm", "--eval", "%_dbpath"]).strip() ++PATH=subprocess.check_output(["rpm", "--eval", "%_dbpath"], **popen_kwargs).strip() + + def dbg(args): + if not DEBUG: return +@@ -34,7 +39,7 @@ def dbg(args): + f.close() + + def qx(args): +- out=subprocess.Popen(args, shell=True, stdout=subprocess.PIPE).stdout ++ out=subprocess.Popen(args, shell=True, stdout=subprocess.PIPE, **popen_kwargs).stdout + outstr="".join(out.readlines()) + out.close() + return outstr