Hello community, here is the log from the commit of package cpuset for openSUSE:Factory checked in at 2016-01-01 19:48:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cpuset (Old) and /work/SRC/openSUSE:Factory/.cpuset.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cpuset" Changes: -------- --- /work/SRC/openSUSE:Factory/cpuset/cpuset.changes 2014-06-01 19:41:45.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.cpuset.new/cpuset.changes 2016-01-01 19:51:03.000000000 +0100 @@ -1,0 +2,20 @@ +Wed Dec 30 12:00:50 UTC 2015 - [email protected] + +- Remove obsolete 'Authors' section from cpuset.spec. + +------------------------------------------------------------------- +Tue Dec 29 07:41:24 UTC 2015 - [email protected] + +- Merge new cpuset upstream. Update URL, and add post v1.5.6 fixes. + +- New patches: + Fix-crash-with-SCHED_IDLE-policy.patch (bnc#959992) + Handle-unknown-scheduler-policy-codes-gracefully.patch (bnc#959992) + Parse-proc-pid-stat-properly.patch + Docu-remove-mention-about-nonexistent-option.patch (bnc#957323) + Docu-fix-asciidoc-build-error.patch + Update-URLs-after-project-migration.patch + Docu-fixed-a-typo.patch + Fix-typo-in-setup-py.patch + +------------------------------------------------------------------- New: ---- Docu-fix-asciidoc-build-error.patch Docu-fixed-a-typo.patch Docu-remove-mention-about-nonexistent-option.patch Fix-crash-with-SCHED_IDLE-policy.patch Fix-typo-in-setup-py.patch Handle-unknown-scheduler-policy-codes-gracefully.patch Parse-proc-pid-stat-properly.patch Update-URLs-after-project-migration.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cpuset.spec ++++++ --- /var/tmp/diff_new_pack.H80B8g/_old 2016-01-01 19:51:04.000000000 +0100 +++ /var/tmp/diff_new_pack.H80B8g/_new 2016-01-01 19:51:04.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package cpuset # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2008-2011 Novell, Inc. Waltham, MA, USA # # All modifications and additions to the file contributed by third parties @@ -21,19 +21,30 @@ Version: 1.5.6 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build -Url: http://code.google.com/p/cpuset +Url: https://github.com/lpechacek/cpuset Summary: Allows manipulation of cpusets on system and provides higher level functions License: GPL-2.0 Group: System/Management Source: %{name}-%{version}.tar.gz Patch0: cset-make-it-handle-cgroup-mounts.patch +Patch1: Fix-crash-with-SCHED_IDLE-policy.patch +Patch2: Handle-unknown-scheduler-policy-codes-gracefully.patch +Patch3: Parse-proc-pid-stat-properly.patch +Patch4: Docu-remove-mention-about-nonexistent-option.patch +Patch5: Docu-fix-asciidoc-build-error.patch +Patch6: Update-URLs-after-project-migration.patch +Patch7: Docu-fixed-a-typo.patch +Patch8: Fix-typo-in-setup-py.patch BuildRequires: python-devel + %if 0%{?suse_version} > 0 %py_requires %endif + %{!?python_sitelib: %define python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} %description + Cpuset is a Python application to make using the cpusets facilities in the Linux kernel easier. The actual included command is called cset and it allows manipulation of cpusets on the system and provides higher @@ -43,6 +54,14 @@ %prep %setup %patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 %build CFLAGS="%{optflags}" \ @@ -53,6 +72,7 @@ # Install binaries, but do not install docs via setup.py %{__python} setup.py install --root=%{buildroot} --prefix=%{_prefix} --install-data=/eraseme %{__rm} -rf %{buildroot}/eraseme + # Install documentation %{__mkdir_p} %{buildroot}/%{_defaultdocdir}/cpuset %{__cp} NEWS README INSTALL AUTHORS COPYING cset.init.d %{buildroot}/%{_defaultdocdir}/cpuset/ @@ -64,6 +84,9 @@ %{__mkdir} %{buildroot}/%{_defaultdocdir}/cpuset/html %{__cp} *.html %{buildroot}/%{_defaultdocdir}/cpuset/html/ +%clean +%{__rm} -rf %{buildroot} + %files %defattr(-,root,root) %{_bindir}/cset ++++++ Docu-fix-asciidoc-build-error.patch ++++++ >From 9fb11328779ec31bd7034b3a6099d8cfb4510be4 Mon Sep 17 00:00:00 2001 From: Libor Pechacek <[email protected]> Date: Wed, 23 Dec 2015 14:01:54 +0100 Subject: [PATCH] Docu: fix asciidoc build error References: Signed-off-by: Libor Pechacek <[email protected]> Signed-off-by: Mike Galbraith <[email protected]> --- doc/tutorial.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/doc/tutorial.txt +++ b/doc/tutorial.txt @@ -1,5 +1,5 @@ Cpuset (cset) Tutorial -###################### +====================== Alex Tsariounov <[email protected]> + Copyright (c) 2009-2011 Novell Inc., cset v1.5.6 + ++++++ Docu-fixed-a-typo.patch ++++++ ++++ 928 lines (skipped) ++++++ Docu-remove-mention-about-nonexistent-option.patch ++++++ ++++ 916 lines (skipped) ++++++ Fix-crash-with-SCHED_IDLE-policy.patch ++++++ >From de1ae0d598c29b2ae056234f8ecd003e86314871 Mon Sep 17 00:00:00 2001 From: Libor Pechacek <[email protected]> Date: Tue, 22 Dec 2015 09:46:00 +0100 Subject: [PATCH] Fix crash with SCHED_IDLE policy References: bnc#959992 There are two new schduling policies to be recognized by cset. SCHED_ISO and SCHED_IDLE. The former is not yet implemented in Linux kernel so we write out '???' when we encounter its code. For the latter there is the string 'idl'. Signed-off-by: Libor Pechacek <[email protected]> Signed-off-by: Mike Galbraith <[email protected]> --- cpuset/commands/proc.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --- a/cpuset/commands/proc.py +++ b/cpuset/commands/proc.py @@ -684,7 +684,7 @@ options = [make_option('-l', '--list', def task_detail(pid, width=70): # scheduler policy definitions - policy = ['o', 'f', 'r', 'b'] + policy = ['o', 'f', 'r', 'b', '?', 'i'] # stat location definitions statdef = { 'pid': 0, @@ -732,6 +732,11 @@ options = [make_option('-l', '--list', out2.append('th') elif stat[statdef['rtpolicy']] == '3': out2.append('at') + # SCHED_ISO is reserved but not yet implemented as of Linux v4.4 + elif stat[statdef['rtpolicy']] == '4': + out2.append('??') + elif stat[statdef['rtpolicy']] == '5': + out2.append('dl') else: if int(stat[statdef['rtpriority']]) < 10: out2.append('_') ++++++ Fix-typo-in-setup-py.patch ++++++ From: Mike Galbraith <[email protected]> Subject: Fix type in setup.py to get make [rpm/srcrpm] working Date: Tue Dec 29 07:45:23 CET 2015 References: Signed-off-by: Mike Galbraith <[email protected]> --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ setup(name = 'cpuset', license = 'GPLv2', author = 'Alex Tsariounov', author_email = '[email protected]', - url = 'https://github.com/lpechacek/cpuset' + url = 'https://github.com/lpechacek/cpuset', description = 'Allows manipluation of cpusets and provides higher level functions.', long_description = \ 'Cpuset is a Python application to make using the cpusets facilities in the Linux\n' ++++++ Handle-unknown-scheduler-policy-codes-gracefully.patch ++++++ >From 0dab14e927137f4cb8d311b6cbae77343fa95ee0 Mon Sep 17 00:00:00 2001 From: Libor Pechacek <[email protected]> Date: Tue, 22 Dec 2015 12:50:55 +0100 Subject: [PATCH] Handle unknown scheduler policy codes gracefully References: bnc#959992 Prevent unhandled exception upon reading unknown scheduler policy code from /proc/<pid>/stat. Signed-off-by: Libor Pechacek <[email protected]> Signed-off-by: Mike Galbraith <[email protected]> --- cpuset/commands/proc.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/cpuset/commands/proc.py +++ b/cpuset/commands/proc.py @@ -727,7 +727,8 @@ options = [make_option('-l', '--list', out2 = [] out2.append(stdict['State'].split()[0]) - out2.append(policy[int(stat[statdef['rtpolicy']])]) + policy_code=int(stat[statdef['rtpolicy']]) + out2.append(policy[policy_code] if policy_code<len(policy) else '?') if stat[statdef['rtpolicy']] == '0': out2.append('th') elif stat[statdef['rtpolicy']] == '3': ++++++ Parse-proc-pid-stat-properly.patch ++++++ >From 226c8185d4f59cdbcc2116b7bf5df1f44fc59aa4 Mon Sep 17 00:00:00 2001 From: Libor Pechacek <[email protected]> Date: Tue, 22 Dec 2015 15:10:55 +0100 Subject: [PATCH] Parse /proc/<pid>/stat properly References: Process names can contain spaces. Handle these cases correctly. Signed-off-by: Libor Pechacek <[email protected]> Signed-off-by: Mike Galbraith <[email protected]> --- cpuset/commands/proc.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --- a/cpuset/commands/proc.py +++ b/cpuset/commands/proc.py @@ -711,7 +711,12 @@ options = [make_option('-l', '--list', except: pass # sometimes, we get an extra \n out of this file... stat = file('/proc/'+pid+'/stat', 'r').readline() - stat = stat.split() + # we assume parentheses appear only around the name + stat_right_paren = stat.rfind(')') + stat_left_paren = stat.find('(') + stat = [stat[:stat_left_paren-1]] + \ + [stat[stat_left_paren:stat_right_paren+1]] + \ + stat[stat_right_paren+2:].split() cmdline = file('/proc/'+pid+'/cmdline').readline() # assume that a zero delimits the cmdline (it does now...) cmdline = cmdline.replace('\0', ' ') ++++++ Update-URLs-after-project-migration.patch ++++++ ++++ 2109 lines (skipped)
