openSUSE Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2014
- 1 participants
- 1675 discussions
Hello community,
here is the log from the commit of package amanda for openSUSE:Factory checked in at 2014-09-17 21:24:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/amanda (Old)
and /work/SRC/openSUSE:Factory/.amanda.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "amanda"
Changes:
--------
--- /work/SRC/openSUSE:Factory/amanda/amanda.changes 2014-07-21 22:35:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.amanda.new/amanda.changes 2014-09-17 21:25:16.000000000 +0200
@@ -1,0 +2,42 @@
+Tue Sep 16 20:21:58 UTC 2014 - darin(a)darins.net
+
+- wrap %post permissions routines in conditionals for SLES
+
+-------------------------------------------------------------------
+Mon Sep 15 16:15:42 UTC 2014 - darin(a)darins.net
+
+- update to 3.3.6
+ * ambsdtar
+ new application that use BSD tar to do the backup.
+
+ 3.3.5 release notes
+ * faster 'verify' command.
+ fix parsing of config override arguments.
+ * amsamba
+ Add REGEX-MATCH property.
+ * amvault
+ Print progress status.
+ * ndmp device
+ INDIRECT property default to yes.
+
+ 3.3.4 release notes
+ * amreport
+ new --format argument
+ new 'json' and 'json_raw' format.
+ * amanda.conf
+ new REPORT-FORMAT option.
+ * amtape
+ new 'verify' command.
+ * amadmin
+ new 'force-level-1' command.
+ * ampgsql
+ Add VERBOSE property.
+ * S3 device
+ handle DURABLE_REDUCED_AVAILABILITY for google storage.
+
+ See ChangeLog for a full listing of changes:
+ /usr/share/doc/packages/amanda/ChangeLog
+
+- removed amanda-gets.patch, applied upstream
+
+-------------------------------------------------------------------
Old:
----
amanda-3.3.3.tar.bz2
amanda-gets.patch
New:
----
amanda-3.3.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ amanda.spec ++++++
--- /var/tmp/diff_new_pack.qcMzQk/_old 2014-09-17 21:25:18.000000000 +0200
+++ /var/tmp/diff_new_pack.qcMzQk/_new 2014-09-17 21:25:18.000000000 +0200
@@ -24,7 +24,7 @@
%endif
Name: amanda
-Version: 3.3.3
+Version: 3.3.6
Release: 0
PreReq: pwdutils permissions
@@ -57,7 +57,7 @@
License: GPL-3.0+
Group: Productivity/Archiving/Backup
-Source: %{name}-%{version}.tar.bz2
+Source: %{name}-%{version}.tar.gz
#amanda-SuSE.tar.bz2 contain init scripts, config examples
Source1: %{name}-SuSE.tar.bz2
Source2: amanda-howto-collection.pdf.tar.bz2
@@ -65,7 +65,6 @@
Patch3: amanda-2.6.1p1-shellbang.patch
Patch4: amanda-2.6.1p1-return_val.patch
Patch6: amanda-2.6.1p1-avoid-perl-provides.patch
-Patch8: amanda-gets.patch
Patch9: amanda-3.3.2-returnvalues.patch
Patch10: amanda-automake_add_missing.patch
Patch11: amanda-3.3.3-noundefbool.patch
@@ -82,7 +81,6 @@
%patch3
%patch4
%patch6 -p1
-%patch8 -p1
%patch9 -p1
%patch10
%patch11
@@ -176,9 +174,16 @@
%endif
%post
+%if 0%{?set_permissions:1}
%set_permissions /usr/sbin/amcheck /usr/lib/amanda/calcsize /usr/lib/amanda/rundump /usr/lib/amanda/planner /usr/lib/amanda/runtar /usr/lib/amanda/dumper /usr/lib/amanda/killpgrp
+%else
+%run_permissions
+%endif
+
+%if 0%{?suse_version} >= 1120
%verifyscript
%verify_permissions -f /usr/lib/amanda/suidlist
+%endif
%files
%defattr(-,root,root)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package genius for openSUSE:Factory checked in at 2014-09-17 21:24:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/genius (Old)
and /work/SRC/openSUSE:Factory/.genius.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "genius"
Changes:
--------
--- /work/SRC/openSUSE:Factory/genius/genius.changes 2013-06-29 19:39:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.genius.new/genius.changes 2014-09-17 21:25:13.000000000 +0200
@@ -1,0 +2,28 @@
+Sat Sep 13 07:58:00 UTC 2014 - zaitor(a)opensuse.org
+
+- Update to version 1.0.18:
+ + New general functions: KroneckerProduct (alias TensorProduct),
+ NewtonsMethod, HalleysMethod, LambertW, LambertWm1,
+ NonzeroColumns, NonzeroElements, DisplayVariables, PrintTable,
+ SetElement, SetVElement.
+ + New plotting functions: PlotCanvasFreeze/PlotCanvasThaw to
+ improve flicker if doing animations with genius, and
+ LinePlotDrawPoints function to draw just points without the
+ line. While plotting errors are no longer forced into a dialog,
+ and presence of errors is indicated in the graph window below
+ the graph.
+ + Allow setting color in LinePlotDrawLine with RGB vector. When
+ the vector building notation is done with floats and the final
+ number is within 2^-20 times the step size of the goal, assume
+ there were roundoff errors and still add it, just like for
+ loops, so something like 1.0:0.1:3.0 now works.
+ + Implement subsecond precision in wait function.
+ + Fix memory corruption error triggered in nested floating point
+ for loops with a floating point step.
+ + Few minor bug fixes and fix some more compile warnings in
+ gtkextra.
+ + Streamline the compiled file format (saves about 30kb).
+ + A few improvements to the documentation.
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
genius-1.0.17.tar.xz
New:
----
genius-1.0.18.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ genius.spec ++++++
--- /var/tmp/diff_new_pack.1wa0qP/_old 2014-09-17 21:25:15.000000000 +0200
+++ /var/tmp/diff_new_pack.1wa0qP/_new 2014-09-17 21:25:15.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package genius
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: genius
-Version: 1.0.17
+Version: 1.0.18
Release: 0
Summary: General purpose calculator and mathematics tool
License: GPL-3.0+
++++++ genius-1.0.17.tar.xz -> genius-1.0.18.tar.xz ++++++
++++ 157859 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package nodejs for openSUSE:Factory checked in at 2014-09-17 21:24:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nodejs (Old)
and /work/SRC/openSUSE:Factory/.nodejs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nodejs"
Changes:
--------
--- /work/SRC/openSUSE:Factory/nodejs/nodejs.changes 2014-08-25 11:06:28.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.nodejs.new/nodejs.changes 2014-09-17 21:25:10.000000000 +0200
@@ -1,0 +2,23 @@
+Wed Sep 17 06:28:02 UTC 2014 - i(a)marguerite.su
+
+- update version 0.10.32
+ * v8: fix a crash introduced by previous release
+ * configure: add --openssl-no-asm flag
+ * crypto: use domains for any callback-taking method
+ * http: do not send `0\r\n\r\n` in TE HEAD responses
+ * querystring: fix unescape override
+ * url: Add support for RFC 3490 separators
+
+-------------------------------------------------------------------
+Wed Sep 10 12:14:13 UTC 2014 - jgleissner(a)suse.com
+
+- do not install NPM
+- use /usr/lib/node_modules instead of /usr/lib64/node_modules even
+ on x86_64 (node modules are not binary)
+- drop patch: nodejs-lib64path.patch and nodejs-libpath.patch
+ * installing in /usr/lib64 doesn't really make sense for non-binary files
+- drop patch: node-gyp-addon-gypi.patch and
+ nodejs-add_missing_shebang_to_read-package-json.patch
+ * they were patching npm files, which is separate now
+
+-------------------------------------------------------------------
Old:
----
node-gyp-addon-gypi.patch
node-v0.10.31.tar.gz
nodejs-add_missing_shebang_to_read-package-json.patch
nodejs-lib64path.patch
nodejs-libpath.patch
New:
----
node-v0.10.32.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nodejs.spec ++++++
--- /var/tmp/diff_new_pack.Xj72Cw/_old 2014-09-17 21:25:13.000000000 +0200
+++ /var/tmp/diff_new_pack.Xj72Cw/_new 2014-09-17 21:25:13.000000000 +0200
@@ -17,7 +17,7 @@
Name: nodejs
-Version: 0.10.31
+Version: 0.10.32
Release: 0
Summary: Evented I/O for V8 JavaScript
License: MIT
@@ -25,11 +25,7 @@
Url: http://www.nodejs.org
Source: http://nodejs.org/dist/v%{version}/node-v%{version}.tar.gz
Source1: macros.nodejs
-Patch0: nodejs-lib64path.patch
-Patch2: nodejs-libpath.patch
-Patch4: node-gyp-addon-gypi.patch
-Patch6: nodejs-openssl-missing-api.patch
-Patch7: nodejs-add_missing_shebang_to_read-package-json.patch
+Patch1: nodejs-openssl-missing-api.patch
BuildRequires: curl
BuildRequires: gcc-c++
BuildRequires: procps
@@ -39,12 +35,13 @@
%else
BuildRequires: openssl-devel
%endif
-BuildRequires: fdupes
+BuildRequires: libopenssl-devel
BuildRequires: pkg-config
BuildRequires: python
BuildRequires: zlib-devel
-Provides: npm = %{version}
-Obsoletes: npm < %{version}
+#BuildRequires: v8-devel
+#BuildRequires: libcares-devel
+
#we need ABI virtual provides where SONAMEs aren't enough/not present so deps
#break when binary compatibility is broken
%global nodejs_abi 0.10
@@ -71,16 +68,21 @@
Provides an easy way to build scalable network programs
http://nodejs.org
+
+%package docs
+Summary: Node.js API documentation
+Group: Documentation/Other
+%if 0%{?suse_version} >= 1200
+# using noarch subpackage seems to break debuginfo on older releases
+BuildArch: noarch
+%endif
+
+%description docs
+The API documentation for the Node.js JavaScript runtime.
+
%prep
%setup -q -n node-v%{version}
-%if %{_lib} == "lib64"
-%patch0 -p1
-%else
-%patch2 -p1
-%endif
-%patch4 -p1
-%patch6
-%patch7 -p1
+%patch1 -p0
# Make sure nothing gets included from bundled deps:
# We only delete the source and header files, because
# the remaining build scripts are still used.
@@ -89,14 +91,6 @@
find deps/$dir -name *.[ch] -delete
done
-# fix permissions of some files
-find ./deps/npm/node_modules/request/ -type f -exec chmod 0644 {} \;
-
-chmod -x deps/v8/include/v8-debug.h
-chmod 0644 ./deps/npm/node_modules/uid-number/get-uid-gid.js
-chmod 0644 ./deps/npm/node_modules/npmconf/node_modules/config-chain/index.js
-chmod 0755 ./deps/npm/scripts/release.sh
-
# remove .orig file
find . -name "*.orig" -type f -delete -print
@@ -109,46 +103,24 @@
--prefix=%{_prefix} \
--shared-openssl \
--shared-zlib \
- --gdb
-
-### --shared-v8 \
+ --gdb \
+ --without-npm \
+ --without-dtrace
+# --shared-v8 \
+# --shared-cares
make %{?_smp_mflags}
%install
%{?make_install} %{!?make_install:make install DESTDIR=$RPM_BUILD_ROOT}
-# npm man page
-cp -p deps/npm/man/man1/npm.1 %{buildroot}/%{_mandir}/man1
-#install development headers
-#FIXME: we probably don't really need *.h but node-gyp downloads the whole
-#freaking source tree so I can't be sure ATM
-mkdir -p %{buildroot}%{_includedir}/node
-cp -p src/*.h %{buildroot}%{_includedir}/node
-# Since we're using included V8, devel package would be incomplete without V8 headers
-cp -pR deps/v8/include/*.h %{buildroot}%{_includedir}/node
-cp -pR deps/uv/include/* %{buildroot}%{_includedir}/node
#node-gyp needs common.gypi too
mkdir -p %{buildroot}%{_datadir}/node
cp -p common.gypi %{buildroot}%{_datadir}/node
-find '%{buildroot}%{_libdir}/' -type f -name .travis.yml -delete
-find '%{buildroot}%{_libdir}/' -type f -name .npmignore -delete
-find '%{buildroot}%{_libdir}/' -type f -name .gitmodules -delete
-find '%{buildroot}%{_libdir}/' -type f -name Makefile -delete
-find '%{buildroot}%{_libdir}/' -type f \( -name .jshintrc -o -name pylintrc \) -delete
-find '%{buildroot}%{_libdir}/' -type f \( -name '*.cmd' -o -name '*.bat' \) -delete
-find '%{buildroot}%{_libdir}/node_modules/' -type d -name tests | while read d; do rm -rf "$d"; done
-find '%{buildroot}%{_libdir}/node_modules/' -type d -name tools | while read d; do rm -rf "$d"; done
-find '%{buildroot}%{_libdir}/node_modules/' -type d \( -name example -o -name examples \) | while read d; do rm -rf "$d"; done
-rm '%{buildroot}%{_libdir}/node_modules/npm/node_modules/node-gyp/gyp/gyp_dummy.c'
-rm '%{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/http-signature/.dir-locals.el'
-rm -rf '%{buildroot}%{_libdir}/node_modules/npm/node_modules/request/node_modules/node-uuid/benchmark'
-find '%{buildroot}%{_libdir}/node_modules/' -type f -name '*_test*' -delete
-
# Documentation
install -d %{buildroot}%{_docdir}/%{name}
-cp -r doc/* %{buildroot}%{_docdir}/%{name}/
+cp -r doc/api %{buildroot}%{_docdir}/%{name}/
cp -r {AUTHORS,ChangeLog,CONTRIBUTING.md,LICENSE,README.md} %{buildroot}%{_docdir}/%{name}/
# RPM macros
@@ -156,28 +128,31 @@
install -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm
# Own nodejs_modulesdir
-%ifarch x86_64 ppc64
install -d %{buildroot}%{_prefix}/lib/node_modules
-%endif
-%fdupes %{buildroot}%{_libdir}/node_modules
-%fdupes %{buildroot}%{_docdir}/%{name}
+# fix permission
+chmod 0644 %{buildroot}%{_includedir}/node/v8-debug.h
%files
%defattr(-, root, root)
-%doc %{_docdir}/%{name}
%config %{_sysconfdir}/rpm/macros.nodejs
%{_bindir}/node
-%{_bindir}/npm
-%{_libdir}/node_modules
-%ifarch x86_64 ppc64
-%dir %{_prefix}/lib/node_modules
-%endif
+%{_prefix}/lib/node_modules
%{_mandir}/man1/*
+%dir %{_docdir}/%{name}
+%{_docdir}/%{name}/AUTHORS
+%{_docdir}/%{name}/ChangeLog
+%{_docdir}/%{name}/CONTRIBUTING.md
+%{_docdir}/%{name}/LICENSE
+%{_docdir}/%{name}/README.md
%files devel
%defattr(-, root, root)
%{_includedir}/node
%{_datadir}/node
+%files docs
+%defattr(-,root,root)
+%{_docdir}/%{name}/api
+
%changelog
++++++ macros.nodejs ++++++
--- /var/tmp/diff_new_pack.Xj72Cw/_old 2014-09-17 21:25:13.000000000 +0200
+++ /var/tmp/diff_new_pack.Xj72Cw/_new 2014-09-17 21:25:13.000000000 +0200
@@ -4,6 +4,8 @@
%nodejs_requires \
Requires: nodejs
+%nodejs_arches %{ix86} x86_64 %{arm}
+
%nodejs_install \
mkdir -p %{buildroot}%{nodejs_modulesdir} \
npm_config_prefix=%{buildroot}%{_prefix} npm install -g %{S:0}
++++++ node-v0.10.31.tar.gz -> node-v0.10.32.tar.gz ++++++
/work/SRC/openSUSE:Factory/nodejs/node-v0.10.31.tar.gz /work/SRC/openSUSE:Factory/.nodejs.new/node-v0.10.32.tar.gz differ: char 5, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package lua for openSUSE:Factory checked in at 2014-09-17 21:24:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lua (Old)
and /work/SRC/openSUSE:Factory/.lua.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lua"
Changes:
--------
--- /work/SRC/openSUSE:Factory/lua/lua.changes 2014-09-15 17:40:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lua.new/lua.changes 2014-09-17 21:25:09.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Sep 17 15:04:25 UTC 2014 - i(a)marguerite.su
+
+- the %dir is still needed.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lua.spec ++++++
--- /var/tmp/diff_new_pack.RkhkS4/_old 2014-09-17 21:25:10.000000000 +0200
+++ /var/tmp/diff_new_pack.RkhkS4/_new 2014-09-17 21:25:10.000000000 +0200
@@ -168,6 +168,10 @@
%files
%defattr(-,root,root)
%doc README
+%dir %{_libdir}/lua
+%dir %{_libdir}/lua/%{major_version}
+%dir %{_datadir}/lua
+%dir %{_datadir}/lua/%{major_version}
%{_bindir}/lua%{major_version}
%{_bindir}/luac%{major_version}
%{_mandir}/man1/lua%{major_version}.1.gz
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Test-Class for openSUSE:Factory checked in at 2014-09-17 21:24:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Test-Class (Old)
and /work/SRC/openSUSE:Factory/.perl-Test-Class.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Test-Class"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Test-Class/perl-Test-Class.changes 2013-12-22 19:37:22.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Test-Class.new/perl-Test-Class.changes 2014-09-17 21:25:08.000000000 +0200
@@ -1,0 +2,20 @@
+Mon Sep 15 12:52:34 UTC 2014 - coolo(a)suse.com
+
+- updated to 0.46
+ - fix new teardown tests for MSWin32
+
+ 0.45 [2014-07-05]
+ - bump minimum required version of Test::More (RT#96951)
+
+ 0.44 [2014-07-04]
+ - run teardown method even if test method dies, as in version 0.37 and
+ earlier
+
+ 0.43 [2014-06-25]
+ - specify test prereqs as test_requires rather than build_requires
+
+ 0.42 or the "how did I get stuck with co-maint?" release [2014-05-07]
+ - properly handle thrown exceptions that stringify to the empty string
+ before or after chomping (Karen Etheridge, PR#11)
+
+-------------------------------------------------------------------
Old:
----
Test-Class-0.41.tar.gz
New:
----
Test-Class-0.46.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Test-Class.spec ++++++
--- /var/tmp/diff_new_pack.Q9zt4U/_old 2014-09-17 21:25:09.000000000 +0200
+++ /var/tmp/diff_new_pack.Q9zt4U/_new 2014-09-17 21:25:09.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Test-Class
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,36 +17,27 @@
Name: perl-Test-Class
-Version: 0.41
+Version: 0.46
Release: 0
%define cpan_name Test-Class
Summary: Easily create test classes in an xUnit/JUnit style
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Test-Class/
-Source: http://www.cpan.org/authors/id/R/RJ/RJBS/%{cpan_name}-%{version}.tar.gz
+Source: http://www.cpan.org/authors/id/E/ET/ETHER/%{cpan_name}-%{version}.tar.gz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(MRO::Compat) >= 0.11
-BuildRequires: perl(Module::Build) >= 0.4200
+BuildRequires: perl(Module::Build) >= 0.4004
BuildRequires: perl(Test::Builder) >= 0.78
BuildRequires: perl(Test::Exception) >= 0.25
BuildRequires: perl(Test::More) >= 0.78
-BuildRequires: perl(Test::Simple) >= 0.78
-#BuildRequires: perl(Base::Test)
-#BuildRequires: perl(Foo)
-#BuildRequires: perl(SomeClassThatDefinesNew)
-#BuildRequires: perl(Test::Class)
-#BuildRequires: perl(Test::Class::Load)
-#BuildRequires: perl(TestClassLoadSubclass)
-#BuildRequires: perl(Test::Class::MethodInfo)
-#BuildRequires: perl(Tests::Foo)
+BuildRequires: perl(Test::Simple) >= 1.001002
Requires: perl(MRO::Compat) >= 0.11
Requires: perl(Test::Builder) >= 0.78
-Requires: perl(Test::More) >= 0.78
-Requires: perl(Test::Simple) >= 0.78
+Requires: perl(Test::Simple) >= 1.001002
%{perl_requires}
%description
@@ -80,6 +71,6 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes LICENSE README xt
+%doc Changes README xt
%changelog
++++++ Test-Class-0.41.tar.gz -> Test-Class-0.46.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/Build.PL new/Test-Class-0.46/Build.PL
--- old/Test-Class-0.41/Build.PL 2013-11-30 15:38:49.000000000 +0100
+++ new/Test-Class-0.46/Build.PL 2014-07-07 02:19:23.000000000 +0200
@@ -1,4 +1,4 @@
-use Module::Build;
+use Module::Build 0.4004; # test_requires
use strict;
use warnings;
@@ -11,19 +11,32 @@
my $build = Module::Build->new(
module_name => 'Test::Class',
license => 'perl',
+ configure_requires => {
+ 'Module::Build' => '0.4004',
+ },
requires => {
'perl' => '5.008001',
'Attribute::Handlers' => '0.77',
'MRO::Compat' => '0.11',
'Storable' => '2.04',
- 'Test::Simple' => '0.78',
+ 'Test::Simple' => '1.001002',
'Test::Builder' => $tb_v,
'Test::Builder::Tester' => '1.02',
- 'Test::More' => '0.78',
+ 'Carp' => '0',
+ 'File::Find' => '0',
+ 'File::Spec' => '0',
+ 'constant' => '0',
+ 'strict' => '0',
+ 'warnings' => '0',
},
- build_requires => {
+ test_requires => {
'Test::Exception' => '0.25',
'IO::File' => '1.09',
+ 'Test::More' => '0.78',
+ 'Fcntl' => '0',
+ 'Test' => '0',
+ 'base' => '0',
+ 'overload' => '0',
},
meta_merge => {
resources => {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/Changes new/Test-Class-0.46/Changes
--- old/Test-Class-0.41/Changes 2013-11-30 15:38:49.000000000 +0100
+++ new/Test-Class-0.46/Changes 2014-07-07 02:19:23.000000000 +0200
@@ -1,5 +1,22 @@
Changes for Perl extension Test-Class
+0.46 [2014-07-06]
+ - fix new teardown tests for MSWin32
+
+0.45 [2014-07-05]
+ - bump minimum required version of Test::More (RT#96951)
+
+0.44 [2014-07-04]
+ - run teardown method even if test method dies, as in version 0.37 and
+ earlier
+
+0.43 [2014-06-25]
+ - specify test prereqs as test_requires rather than build_requires
+
+0.42 or the "how did I get stuck with co-maint?" release [2014-05-07]
+ - properly handle thrown exceptions that stringify to the empty string
+ before or after chomping (Karen Etheridge, PR#11)
+
0.41 or the "0.99 was a bad year" release [2013-11-30]
- require a newer Test::Builder if 0.99 is installed RT#90699
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/LICENSE new/Test-Class-0.46/LICENSE
--- old/Test-Class-0.41/LICENSE 2013-11-30 15:38:49.000000000 +0100
+++ new/Test-Class-0.46/LICENSE 1970-01-01 01:00:00.000000000 +0100
@@ -1,378 +0,0 @@
-
-Terms of Perl itself
-
-a) the GNU General Public License as published by the Free
- Software Foundation; either version 1, or (at your option) any
- later version, or
-b) the "Artistic License"
-
-----------------------------------------------------------------------------
-
-The General Public License (GPL)
-Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave,
-Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute
-verbatim copies of this license document, but changing it is not allowed.
-
-Preamble
-
-The licenses for most software are designed to take away your freedom to share
-and change it. By contrast, the GNU General Public License is intended to
-guarantee your freedom to share and change free software--to make sure the
-software is free for all its users. This General Public License applies to most of
-the Free Software Foundation's software and to any other program whose
-authors commit to using it. (Some other Free Software Foundation software is
-covered by the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
-When we speak of free software, we are referring to freedom, not price. Our
-General Public Licenses are designed to make sure that you have the freedom
-to distribute copies of free software (and charge for this service if you wish), that
-you receive source code or can get it if you want it, that you can change the
-software or use pieces of it in new free programs; and that you know you can do
-these things.
-
-To protect your rights, we need to make restrictions that forbid anyone to deny
-you these rights or to ask you to surrender the rights. These restrictions
-translate to certain responsibilities for you if you distribute copies of the
-software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis or for a
-fee, you must give the recipients all the rights that you have. You must make
-sure that they, too, receive or can get the source code. And you must show
-them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and (2) offer
-you this license which gives you legal permission to copy, distribute and/or
-modify the software.
-
-Also, for each author's protection and ours, we want to make certain that
-everyone understands that there is no warranty for this free software. If the
-software is modified by someone else and passed on, we want its recipients to
-know that what they have is not the original, so that any problems introduced by
-others will not reflect on the original authors' reputations.
-
-Finally, any free program is threatened constantly by software patents. We wish
-to avoid the danger that redistributors of a free program will individually obtain
-patent licenses, in effect making the program proprietary. To prevent this, we
-have made it clear that any patent must be licensed for everyone's free use or
-not licensed at all.
-
-The precise terms and conditions for copying, distribution and modification
-follow.
-
-GNU GENERAL PUBLIC LICENSE
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND
-MODIFICATION
-
-0. This License applies to any program or other work which contains a notice
-placed by the copyright holder saying it may be distributed under the terms of
-this General Public License. The "Program", below, refers to any such program
-or work, and a "work based on the Program" means either the Program or any
-derivative work under copyright law: that is to say, a work containing the
-Program or a portion of it, either verbatim or with modifications and/or translated
-into another language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not covered by
-this License; they are outside its scope. The act of running the Program is not
-restricted, and the output from the Program is covered only if its contents
-constitute a work based on the Program (independent of having been made by
-running the Program). Whether that is true depends on what the Program does.
-
-1. You may copy and distribute verbatim copies of the Program's source code as
-you receive it, in any medium, provided that you conspicuously and appropriately
-publish on each copy an appropriate copyright notice and disclaimer of warranty;
-keep intact all the notices that refer to this License and to the absence of any
-warranty; and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and you may at
-your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it, thus
-forming a work based on the Program, and copy and distribute such
-modifications or work under the terms of Section 1 above, provided that you also
-meet all of these conditions:
-
-a) You must cause the modified files to carry prominent notices stating that you
-changed the files and the date of any change.
-
-b) You must cause any work that you distribute or publish, that in whole or in
-part contains or is derived from the Program or any part thereof, to be licensed
-as a whole at no charge to all third parties under the terms of this License.
-
-c) If the modified program normally reads commands interactively when run, you
-must cause it, when started running for such interactive use in the most ordinary
-way, to print or display an announcement including an appropriate copyright
-notice and a notice that there is no warranty (or else, saying that you provide a
-warranty) and that users may redistribute the program under these conditions,
-and telling the user how to view a copy of this License. (Exception: if the
-Program itself is interactive but does not normally print such an announcement,
-your work based on the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If identifiable
-sections of that work are not derived from the Program, and can be reasonably
-considered independent and separate works in themselves, then this License,
-and its terms, do not apply to those sections when you distribute them as
-separate works. But when you distribute the same sections as part of a whole
-which is a work based on the Program, the distribution of the whole must be on
-the terms of this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest your rights to
-work written entirely by you; rather, the intent is to exercise the right to control
-the distribution of derivative or collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program with the
-Program (or with a work based on the Program) on a volume of a storage or
-distribution medium does not bring the other work under the scope of this
-License.
-
-3. You may copy and distribute the Program (or a work based on it, under
-Section 2) in object code or executable form under the terms of Sections 1 and 2
-above provided that you also do one of the following:
-
-a) Accompany it with the complete corresponding machine-readable source
-code, which must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange; or,
-
-b) Accompany it with a written offer, valid for at least three years, to give any
-third party, for a charge no more than your cost of physically performing source
-distribution, a complete machine-readable copy of the corresponding source
-code, to be distributed under the terms of Sections 1 and 2 above on a medium
-customarily used for software interchange; or,
-
-c) Accompany it with the information you received as to the offer to distribute
-corresponding source code. (This alternative is allowed only for noncommercial
-distribution and only if you received the program in object code or executable
-form with such an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for making
-modifications to it. For an executable work, complete source code means all the
-source code for all modules it contains, plus any associated interface definition
-files, plus the scripts used to control compilation and installation of the
-executable. However, as a special exception, the source code distributed need
-not include anything that is normally distributed (in either source or binary form)
-with the major components (compiler, kernel, and so on) of the operating system
-on which the executable runs, unless that component itself accompanies the
-executable.
-
-If distribution of executable or object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the source
-code from the same place counts as distribution of the source code, even though
-third parties are not compelled to copy the source along with the object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program except as
-expressly provided under this License. Any attempt otherwise to copy, modify,
-sublicense or distribute the Program is void, and will automatically terminate
-your rights under this License. However, parties who have received copies, or
-rights, from you under this License will not have their licenses terminated so long
-as such parties remain in full compliance.
-
-5. You are not required to accept this License, since you have not signed it.
-However, nothing else grants you permission to modify or distribute the Program
-or its derivative works. These actions are prohibited by law if you do not accept
-this License. Therefore, by modifying or distributing the Program (or any work
-based on the Program), you indicate your acceptance of this License to do so,
-and all its terms and conditions for copying, distributing or modifying the
-Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the Program),
-the recipient automatically receives a license from the original licensor to copy,
-distribute or modify the Program subject to these terms and conditions. You
-may not impose any further restrictions on the recipients' exercise of the rights
-granted herein. You are not responsible for enforcing compliance by third parties
-to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent infringement
-or for any other reason (not limited to patent issues), conditions are imposed on
-you (whether by court order, agreement or otherwise) that contradict the
-conditions of this License, they do not excuse you from the conditions of this
-License. If you cannot distribute so as to satisfy simultaneously your obligations
-under this License and any other pertinent obligations, then as a consequence
-you may not distribute the Program at all. For example, if a patent license would
-not permit royalty-free redistribution of the Program by all those who receive
-copies directly or indirectly through you, then the only way you could satisfy
-both it and this License would be to refrain entirely from distribution of the
-Program.
-
-If any portion of this section is held invalid or unenforceable under any particular
-circumstance, the balance of the section is intended to apply and the section as
-a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any patents or other
-property right claims or to contest validity of any such claims; this section has
-the sole purpose of protecting the integrity of the free software distribution
-system, which is implemented by public license practices. Many people have
-made generous contributions to the wide range of software distributed through
-that system in reliance on consistent application of that system; it is up to the
-author/donor to decide if he or she is willing to distribute software through any
-other system and a licensee cannot impose that choice.
-
-This section is intended to make thoroughly clear what is believed to be a
-consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain countries
-either by patents or by copyrighted interfaces, the original copyright holder who
-places the Program under this License may add an explicit geographical
-distribution limitation excluding those countries, so that distribution is permitted
-only in or among countries not thus excluded. In such case, this License
-incorporates the limitation as if written in the body of this License.
-
-9. The Free Software Foundation may publish revised and/or new versions of the
-General Public License from time to time. Such new versions will be similar in
-spirit to the present version, but may differ in detail to address new problems or
-concerns.
-
-Each version is given a distinguishing version number. If the Program specifies a
-version number of this License which applies to it and "any later version", you
-have the option of following the terms and conditions either of that version or of
-any later version published by the Free Software Foundation. If the Program does
-not specify a version number of this License, you may choose any version ever
-published by the Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs
-whose distribution conditions are different, write to the author to ask for
-permission. For software which is copyrighted by the Free Software Foundation,
-write to the Free Software Foundation; we sometimes make exceptions for this.
-Our decision will be guided by the two goals of preserving the free status of all
-derivatives of our free software and of promoting the sharing and reuse of
-software generally.
-
-NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS
-NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
-COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
-"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
-IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
-ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE,
-YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
-CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
-TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY
-WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS
-PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
-(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
-OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS
-BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-END OF TERMS AND CONDITIONS
-
-
-----------------------------------------------------------------------------
-
-The Artistic License
-
-Preamble
-
-The intent of this document is to state the conditions under which a Package
-may be copied, such that the Copyright Holder maintains some semblance of
-artistic control over the development of the package, while giving the users of the
-package the right to use and distribute the Package in a more-or-less customary
-fashion, plus the right to make reasonable modifications.
-
-Definitions:
-
-- "Package" refers to the collection of files distributed by the Copyright
- Holder, and derivatives of that collection of files created through textual
- modification.
-- "Standard Version" refers to such a Package if it has not been modified,
- or has been modified in accordance with the wishes of the Copyright
- Holder.
-- "Copyright Holder" is whoever is named in the copyright or copyrights for
- the package.
-- "You" is you, if you're thinking about copying or distributing this Package.
-- "Reasonable copying fee" is whatever you can justify on the basis of
- media cost, duplication charges, time of people involved, and so on. (You
- will not be required to justify it to the Copyright Holder, but only to the
- computing community at large as a market that must bear the fee.)
-- "Freely Available" means that no fee is charged for the item itself, though
- there may be fees involved in handling the item. It also means that
- recipients of the item may redistribute it under the same conditions they
- received it.
-
-1. You may make and give away verbatim copies of the source form of the
-Standard Version of this Package without restriction, provided that you duplicate
-all of the original copyright notices and associated disclaimers.
-
-2. You may apply bug fixes, portability fixes and other modifications derived from
-the Public Domain or from the Copyright Holder. A Package modified in such a
-way shall still be considered the Standard Version.
-
-3. You may otherwise modify your copy of this Package in any way, provided
-that you insert a prominent notice in each changed file stating how and when
-you changed that file, and provided that you do at least ONE of the following:
-
- a) place your modifications in the Public Domain or otherwise
- make them Freely Available, such as by posting said modifications
- to Usenet or an equivalent medium, or placing the modifications on
- a major archive site such as ftp.uu.net, or by allowing the
- Copyright Holder to include your modifications in the Standard
- Version of the Package.
-
- b) use the modified Package only within your corporation or
- organization.
-
- c) rename any non-standard executables so the names do not
- conflict with standard executables, which must also be provided,
- and provide a separate manual page for each non-standard
- executable that clearly documents how it differs from the Standard
- Version.
-
- d) make other distribution arrangements with the Copyright Holder.
-
-4. You may distribute the programs of this Package in object code or executable
-form, provided that you do at least ONE of the following:
-
- a) distribute a Standard Version of the executables and library
- files, together with instructions (in the manual page or equivalent)
- on where to get the Standard Version.
-
- b) accompany the distribution with the machine-readable source of
- the Package with your modifications.
-
- c) accompany any non-standard executables with their
- corresponding Standard Version executables, giving the
- non-standard executables non-standard names, and clearly
- documenting the differences in manual pages (or equivalent),
- together with instructions on where to get the Standard Version.
-
- d) make other distribution arrangements with the Copyright Holder.
-
-5. You may charge a reasonable copying fee for any distribution of this Package.
-You may charge any fee you choose for support of this Package. You may not
-charge a fee for this Package itself. However, you may distribute this Package in
-aggregate with other (possibly commercial) programs as part of a larger
-(possibly commercial) software distribution provided that you do not advertise
-this Package as a product of your own.
-
-6. The scripts and library files supplied as input to or produced as output from
-the programs of this Package do not automatically fall under the copyright of this
-Package, but belong to whomever generated them, and may be sold
-commercially, and may be aggregated with this Package.
-
-7. C or perl subroutines supplied by you and linked into this Package shall not
-be considered part of this Package.
-
-8. The name of the Copyright Holder may not be used to endorse or promote
-products derived from this software without specific prior written permission.
-
-9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.
-
-The End
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/MANIFEST new/Test-Class-0.46/MANIFEST
--- old/Test-Class-0.41/MANIFEST 2013-11-30 15:38:49.000000000 +0100
+++ new/Test-Class-0.46/MANIFEST 2014-07-07 02:19:23.000000000 +0200
@@ -3,8 +3,11 @@
lib/Test/Class.pm
lib/Test/Class/Load.pm
lib/Test/Class/MethodInfo.pm
-LICENSE
+Makefile.PL
MANIFEST This list of files
+META.json
+META.yml
+README
t/00-load.t
t/20-load-classes.t
t/21-load-subclassed.t
@@ -38,6 +41,8 @@
t/run_all_tests.t
t/runtests.t
t/runtests_die.t
+t/runtests_die_empty.t
+t/runtests_die_nearlyempty.t
t/runtests_extra.t
t/runtests_noplan.t
t/runtests_of.t
@@ -53,6 +58,7 @@
t/spaces.t
t/startup.t
t/startup_that_dies.t
+t/teardown-when-test-dies.t
t/test-libs/fail/MyFail.pm
t/test-libs/lib1/Tests/Foo.pm
t/test-libs/lib1/Tests/Foo/Bar.pm
@@ -76,7 +82,3 @@
xt/pmv.t
xt/pod.t
xt/spelling.t
-Makefile.PL
-README
-META.yml
-META.json
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/META.json new/Test-Class-0.46/META.json
--- old/Test-Class-0.41/META.json 2013-11-30 15:38:49.000000000 +0100
+++ new/Test-Class-0.46/META.json 2014-07-07 02:19:23.000000000 +0200
@@ -4,7 +4,7 @@
"Adrian Howard <adrianh(a)quietstars.com>, Curtis \"Ovid\" Poe, <ovid at cpan.org>, Mark Morgan <makk384(a)gmail.com>."
],
"dynamic_config" : 1,
- "generated_by" : "Module::Build version 0.4203",
+ "generated_by" : "Module::Build version 0.4205",
"license" : [
"perl_5"
],
@@ -14,42 +14,52 @@
},
"name" : "Test-Class",
"prereqs" : {
- "build" : {
- "requires" : {
- "IO::File" : "1.09",
- "Test::Exception" : "0.25"
- }
- },
"configure" : {
"requires" : {
- "Module::Build" : "0.42"
+ "Module::Build" : "0.4004"
}
},
"runtime" : {
"requires" : {
"Attribute::Handlers" : "0.77",
+ "Carp" : "0",
+ "File::Find" : "0",
+ "File::Spec" : "0",
"MRO::Compat" : "0.11",
"Storable" : "2.04",
"Test::Builder" : "0.78",
"Test::Builder::Tester" : "1.02",
+ "Test::Simple" : "1.001002",
+ "constant" : "0",
+ "perl" : "5.008001",
+ "strict" : "0",
+ "warnings" : "0"
+ }
+ },
+ "test" : {
+ "requires" : {
+ "Fcntl" : "0",
+ "IO::File" : "1.09",
+ "Test" : "0",
+ "Test::Exception" : "0.25",
"Test::More" : "0.78",
- "Test::Simple" : "0.78",
- "perl" : "5.008001"
+ "base" : "0",
+ "overload" : "0"
}
}
},
"provides" : {
"Test::Class" : {
"file" : "lib/Test/Class.pm",
- "version" : "0.41"
+ "version" : "0.46"
},
"Test::Class::Load" : {
"file" : "lib/Test/Class/Load.pm",
- "version" : "0.41"
+ "version" : "0.46"
},
"Test::Class::MethodInfo" : {
"file" : "lib/Test/Class/MethodInfo.pm",
- "version" : "0.41"
+ "version" : "0.46"
}
},
"release_status" : "stable",
@@ -61,5 +71,5 @@
"url" : "http://github.com/adrianh/test-class/"
}
},
- "version" : "0.41"
+ "version" : "0.46"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/META.yml new/Test-Class-0.46/META.yml
--- old/Test-Class-0.41/META.yml 2013-11-30 15:38:49.000000000 +0100
+++ new/Test-Class-0.46/META.yml 2014-07-07 02:19:23.000000000 +0200
@@ -1,39 +1,49 @@
---
abstract: 'Easily create test classes in an xUnit/JUnit style'
author:
- - "Adrian Howard <adrianh(a)quietstars.com>, Curtis \"Ovid\" Poe, <ovid at cpan.org>, Mark Morgan <makk384(a)gmail.com>."
+ - 'Adrian Howard <adrianh(a)quietstars.com>, Curtis "Ovid" Poe, <ovid at cpan.org>, Mark Morgan <makk384(a)gmail.com>.'
build_requires:
- IO::File: 1.09
- Test::Exception: 0.25
+ Fcntl: '0'
+ IO::File: '1.09'
+ Test: '0'
+ Test::Exception: '0.25'
+ Test::More: '0.78'
+ base: '0'
+ overload: '0'
configure_requires:
- Module::Build: 0.42
+ Module::Build: '0.4004'
dynamic_config: 1
-generated_by: 'Module::Build version 0.4203, CPAN::Meta::Converter version 2.132830'
+generated_by: 'Module::Build version 0.4205, CPAN::Meta::Converter version 2.141520'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
+ version: '1.4'
name: Test-Class
provides:
Test::Class:
file: lib/Test/Class.pm
- version: 0.41
+ version: '0.46'
Test::Class::Load:
file: lib/Test/Class/Load.pm
- version: 0.41
+ version: '0.46'
Test::Class::MethodInfo:
file: lib/Test/Class/MethodInfo.pm
- version: 0.41
+ version: '0.46'
requires:
- Attribute::Handlers: 0.77
- MRO::Compat: 0.11
- Storable: 2.04
- Test::Builder: 0.78
- Test::Builder::Tester: 1.02
- Test::More: 0.78
- Test::Simple: 0.78
- perl: 5.008001
+ Attribute::Handlers: '0.77'
+ Carp: '0'
+ File::Find: '0'
+ File::Spec: '0'
+ MRO::Compat: '0.11'
+ Storable: '2.04'
+ Test::Builder: '0.78'
+ Test::Builder::Tester: '1.02'
+ Test::Simple: '1.001002'
+ constant: '0'
+ perl: '5.008001'
+ strict: '0'
+ warnings: '0'
resources:
license: http://dev.perl.org/licenses/
repository: http://github.com/adrianh/test-class/
-version: 0.41
+version: '0.46'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/Makefile.PL new/Test-Class-0.46/Makefile.PL
--- old/Test-Class-0.41/Makefile.PL 2013-11-30 15:38:49.000000000 +0100
+++ new/Test-Class-0.46/Makefile.PL 2014-07-07 02:19:23.000000000 +0200
@@ -1,4 +1,4 @@
-# Note: this file was auto-generated by Module::Build::Compat version 0.4203
+# Note: this file was auto-generated by Module::Build::Compat version 0.4205
require 5.008001;
use ExtUtils::MakeMaker;
WriteMakefile
@@ -7,14 +7,17 @@
'VERSION_FROM' => 'lib/Test/Class.pm',
'PREREQ_PM' => {
'Attribute::Handlers' => '0.77',
- 'IO::File' => '1.09',
+ 'Carp' => '0',
+ 'File::Find' => '0',
+ 'File::Spec' => '0',
'MRO::Compat' => '0.11',
'Storable' => '2.04',
'Test::Builder' => '0.78',
'Test::Builder::Tester' => '1.02',
- 'Test::Exception' => '0.25',
- 'Test::More' => '0.78',
- 'Test::Simple' => '0.78'
+ 'Test::Simple' => '1.001002',
+ 'constant' => '0',
+ 'strict' => '0',
+ 'warnings' => '0'
},
'INSTALLDIRS' => 'site',
'EXE_FILES' => [],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/lib/Test/Class/Load.pm new/Test-Class-0.46/lib/Test/Class/Load.pm
--- old/Test-Class-0.41/lib/Test/Class/Load.pm 2013-11-30 15:38:49.000000000 +0100
+++ new/Test-Class-0.46/lib/Test/Class/Load.pm 2014-07-07 02:19:23.000000000 +0200
@@ -7,7 +7,7 @@
use File::Find;
use File::Spec;
-our $VERSION = '0.41';
+our $VERSION = '0.46';
# Override to get your own filter
sub is_test_class {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/lib/Test/Class/MethodInfo.pm new/Test-Class-0.46/lib/Test/Class/MethodInfo.pm
--- old/Test-Class-0.41/lib/Test/Class/MethodInfo.pm 2013-11-30 15:38:49.000000000 +0100
+++ new/Test-Class-0.46/lib/Test/Class/MethodInfo.pm 2014-07-07 02:19:23.000000000 +0200
@@ -4,7 +4,7 @@
package Test::Class::MethodInfo;
use Carp;
-our $VERSION = '0.41';
+our $VERSION = '0.46';
sub new {
my ( $class, %param ) = @_;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/lib/Test/Class.pm new/Test-Class-0.46/lib/Test/Class.pm
--- old/Test-Class-0.41/lib/Test/Class.pm 2013-11-30 15:38:49.000000000 +0100
+++ new/Test-Class-0.46/lib/Test/Class.pm 2014-07-07 02:19:23.000000000 +0200
@@ -11,7 +11,7 @@
use Test::Builder;
use Test::Class::MethodInfo;
-our $VERSION = '0.41';
+our $VERSION = '0.46';
my $Check_block_has_run;
{
@@ -60,7 +60,7 @@
my ( $self, $class ) = @_;
my $test_info = _test_info($self)
or die "Test::Class internals seem confused. Did you override "
- . "new() in a sub-class or via multiple inheritence?\n";
+ . "new() in a sub-class or via multiple inheritance?\n";
return values %{ $test_info->{$class} };
};
@@ -252,6 +252,7 @@
$message .= " (for test method '$Current_method')"
if defined $Current_method && $method ne $Current_method;
_show_header($self, @$tests);
+ chomp $exception;
$Builder->ok(0, "$message died ($exception)");
_threw_exception( $self, $method => 1 );
};
@@ -289,19 +290,18 @@
$skip_reason = eval {$self->$method};
$skip_reason = $method unless $skip_reason;
my $exception = $@;
- chomp($exception) if $exception;
my $num_done = $Builder->current_test - $num_start;
my $num_expected = _total_num_tests($self, $method);
$num_expected = $num_done if $num_expected eq NO_PLAN;
if ($num_done == $num_expected) {
_exception_failure($self, $method, $exception, $tests)
- unless $exception eq '';
+ if $exception;
} elsif ($num_done > $num_expected) {
my $class = ref $self;
$Builder->diag("expected $num_expected test(s) in $class\::$method, $num_done completed\n");
} else {
until (($Builder->current_test - $num_start) >= $num_expected) {
- if ($exception ne '') {
+ if ($exception) {
_exception_failure($self, $method, $exception, $tests);
$skip_reason = "$method died";
$exception = '';
@@ -391,6 +391,7 @@
_show_header($t, @tests) unless _has_no_tests($t, $method);
$all_passed = 0 unless _run_method($t, $method, \@tests);
if ( _threw_exception( $t, $method ) ) {
+ next if ($method eq $test);
my $num_to_skip = _total_num_tests($t, @methods_to_run);
$Builder->skip( "$method died" ) for ( 1 .. $num_to_skip );
last;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/t/runtests_die_empty.t new/Test-Class-0.46/t/runtests_die_empty.t
--- old/Test-Class-0.41/t/runtests_die_empty.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Class-0.46/t/runtests_die_empty.t 2014-07-07 02:19:23.000000000 +0200
@@ -0,0 +1,41 @@
+#! /usr/bin/perl -T
+
+use strict;
+use warnings;
+
+package Object;
+use overload
+ bool => sub { 1 }, # there is an exception here even if it stringifies as empty!
+ '""' => 'as_string',
+ fallback => 1;
+sub new {
+ my ($class, %args) = @_;
+ bless { %args }, $class;
+}
+sub as_string {
+ return defined $_[0]->{message}
+ ? $_[0]->{message}
+ : '';
+}
+
+package Foo;
+use Test::More;
+use base qw(Test::Class);
+
+sub die_empty : Test(1) {
+ die Object->new();
+ fail 'we should never get here';
+}
+
+package main;
+use Test::Builder::Tester tests => 1;
+$ENV{TEST_VERBOSE}=0;
+
+my $filename = sub { return (caller)[1] }->();
+
+test_out( "not ok 1 - die_empty died ()");
+test_err( "# Failed test 'die_empty died ()'" );
+test_err( "# at $filename line 40.");
+test_err( "# (in Foo->die_empty)" );
+Foo->runtests;
+test_test("we can handle an exception that stringifies to the empty string");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/t/runtests_die_nearlyempty.t new/Test-Class-0.46/t/runtests_die_nearlyempty.t
--- old/Test-Class-0.41/t/runtests_die_nearlyempty.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Class-0.46/t/runtests_die_nearlyempty.t 2014-07-07 02:19:23.000000000 +0200
@@ -0,0 +1,37 @@
+#! /usr/bin/perl -T
+
+use strict;
+use warnings;
+
+package Foo;
+use Test::More;
+use base qw(Test::Class);
+
+sub die_one_cr : Test(1) {
+ die "\n";
+ fail 'we should never get here';
+}
+
+sub die_two_cr : Test(1) {
+ die "\n\n";
+ fail 'we should never get here';
+}
+
+package main;
+use Test::Builder::Tester tests => 1;
+$ENV{TEST_VERBOSE}=0;
+
+my $filename = sub { return (caller)[1] }->();
+
+test_out( "not ok 1 - die_one_cr died ()");
+test_err( "# Failed test 'die_one_cr died ()'" );
+test_err( "# at $filename line 36.");
+test_err( "# (in Foo->die_one_cr)" );
+test_out( "not ok 2 - die_two_cr died (");
+test_out( "# )");
+test_err( "# Failed test 'die_two_cr died (" );
+test_err( "# )'");
+test_err( "# at $filename line 36.");
+test_err( "# (in Foo->die_two_cr)" );
+Foo->runtests;
+test_test("early die with nearly-empty messages handled");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Class-0.41/t/teardown-when-test-dies.t new/Test-Class-0.46/t/teardown-when-test-dies.t
--- old/Test-Class-0.41/t/teardown-when-test-dies.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Class-0.46/t/teardown-when-test-dies.t 2014-07-07 02:19:23.000000000 +0200
@@ -0,0 +1,29 @@
+#! /usr/bin/perl
+
+use strict;
+use warnings;
+
+my $line;
+{
+ package TeardownWhenTestDies;
+ use base qw(Test::Class);
+ use Test::More;
+
+ sub setup_that_runs : Test( setup => 1 ) { ok(1, "setup works"); }
+
+ sub my_test_method : Tests {
+ BEGIN { $line = __LINE__ } die "oops!";
+ }
+
+ sub teardown_that_runs : Test( teardown => 1 ) {
+ ok(1, 'teardown is run');
+ }
+}
+
+use Test::Builder::Tester tests => 1;
+
+test_out("ok 1 - setup works\nnot ok 2 - my_test_method died (oops! at ${\ __FILE__ } line $line.)\nok 3 - teardown is run");
+test_fail( +2 );
+test_err( "# (in TeardownWhenTestDies->my_test_method)" );
+Test::Class->runtests;
+test_test("exception in method, but teardown is still run");
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Email-Address for openSUSE:Factory checked in at 2014-09-17 21:24:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Email-Address (Old)
and /work/SRC/openSUSE:Factory/.perl-Email-Address.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Email-Address"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Email-Address/perl-Email-Address.changes 2014-02-12 07:04:56.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Email-Address.new/perl-Email-Address.changes 2014-09-17 21:25:06.000000000 +0200
@@ -1,0 +2,20 @@
+Mon Sep 15 12:52:34 UTC 2014 - coolo(a)suse.com
+
+- updated to 1.905
+ - additional change to avoid slowdown; this addresses CVE-2014-0477
+ change provided by Bastian Blank <waldi(a)debian.org>
+
+ 1.904 2014-06-14 00:21:21-04:00 America/New_York (TRIAL RELEASE)
+ - avoid being fooled by an addr-like string in the phrase
+ - avoid a slowdown by avoiding backtracking into the phrase
+
+ 1.903 2014-04-17 21:02:14-04:00 America/New_York
+ - correctly parenthesize false comment "0" (sigh)
+
+ 1.902 2014-04-17 10:45:11-04:00 America/New_York
+ - when formatting an address where phrase is empty but comment is not,
+ do not include "" for the phrase; just omit it
+ - when formatting and address where comment lacks enclosing parens, add
+ them
+
+-------------------------------------------------------------------
Old:
----
Email-Address-1.901.tar.gz
New:
----
Email-Address-1.905.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Email-Address.spec ++++++
--- /var/tmp/diff_new_pack.G5rb33/_old 2014-09-17 21:25:08.000000000 +0200
+++ /var/tmp/diff_new_pack.G5rb33/_new 2014-09-17 21:25:08.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Email-Address
-Version: 1.901
+Version: 1.905
Release: 0
%define cpan_name Email-Address
Summary: RFC 2822 Address Parsing and Creation
++++++ Email-Address-1.901.tar.gz -> Email-Address-1.905.tar.gz ++++++
++++ 1670 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package wxMaxima for openSUSE:Factory checked in at 2014-09-17 21:24:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wxMaxima (Old)
and /work/SRC/openSUSE:Factory/.wxMaxima.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wxMaxima"
Changes:
--------
--- /work/SRC/openSUSE:Factory/wxMaxima/wxMaxima.changes 2013-06-05 13:22:42.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.wxMaxima.new/wxMaxima.changes 2014-09-17 21:25:05.000000000 +0200
@@ -1,0 +2,9 @@
+Wed Sep 17 10:26:31 UTC 2014 - badshah400(a)gmail.com
+
+- Update to verson 14.09.0:
+ + No detailed changelog available
+- Packaging changes:
+ + Adapt to source tarball name change from wxMaxima to wxmaxima
+ + Add rpmlintrc file as source.
+
+-------------------------------------------------------------------
Old:
----
wxMaxima-13.04.2.tar.gz
New:
----
wxmaxima-14.09.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wxMaxima.spec ++++++
--- /var/tmp/diff_new_pack.lTece4/_old 2014-09-17 21:25:06.000000000 +0200
+++ /var/tmp/diff_new_pack.lTece4/_new 2014-09-17 21:25:06.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package wxMaxima
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,15 +16,18 @@
#
+%define tarname wxmaxima
+
Name: wxMaxima
-Version: 13.04.2
+Version: 14.09.0
Release: 0
Summary: Graphical User Interface for the maxima Computer Algebra System
License: GPL-2.0+
Group: Productivity/Scientific/Math
Url: http://wxmaxima.sourceforge.net/
-Source0: http://download.sourceforge.net/wxmaxima/%{name}-%{version}.tar.gz
+Source0: http://download.sourceforge.net/wxmaxima/%{tarname}-%{version}.tar.gz
Source1: wxmaxima.desktop
+Source2: %{name}-rpmlintrc
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: fdupes
@@ -71,7 +74,7 @@
Documents can be saved and edited again later.
%prep
-%setup -q
+%setup -q -n %{tarname}-%{version}
%build
autoreconf -i
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package sblim-sfcb for openSUSE:Factory checked in at 2014-09-17 21:24:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sblim-sfcb (Old)
and /work/SRC/openSUSE:Factory/.sblim-sfcb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sblim-sfcb"
Changes:
--------
--- /work/SRC/openSUSE:Factory/sblim-sfcb/sblim-sfcb.changes 2014-05-16 18:17:38.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.sblim-sfcb.new/sblim-sfcb.changes 2014-09-17 21:25:02.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Sep 17 09:25:37 UTC 2014 - kkaempf(a)suse.com
+
+- call service_add_pre unconditionally
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sblim-sfcb.spec ++++++
--- /var/tmp/diff_new_pack.DwEkT5/_old 2014-09-17 21:25:05.000000000 +0200
+++ /var/tmp/diff_new_pack.DwEkT5/_new 2014-09-17 21:25:05.000000000 +0200
@@ -255,11 +255,10 @@
then
rm -rf %{_datadir}/sfcb/CIM
fi
+
# follow http://en.opensuse.org/openSUSE:Systemd_packaging_guidelines
%if 0%{?has_systemd}
-if [ -f /var/lib/systemd/migrated/%{name} ]; then
%service_add_pre sfcbd.service
-fi
%endif
%post
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-network for openSUSE:Factory checked in at 2014-09-17 21:24:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-network (Old)
and /work/SRC/openSUSE:Factory/.yast2-network.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-network"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-network/yast2-network.changes 2014-09-10 07:28:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-network.new/yast2-network.changes 2014-09-17 21:25:00.000000000 +0200
@@ -1,0 +2,28 @@
+Wed Sep 17 15:26:59 CEST 2014 - locilka(a)suse.com
+
+- Do not check for / install packages in inst-sys (bnc#888130)
+- 3.1.99
+
+-------------------------------------------------------------------
+Tue Sep 16 15:22:29 CEST 2014 - locilka(a)suse.com
+
+- Remote administration adjusted to warn users that they need to
+ restart display manager manually if it's needed (bnc#893606)
+- 3.1.98
+
+-------------------------------------------------------------------
+Fri Sep 12 11:44:46 UTC 2014 - mfilka(a)suse.com
+
+- bnc#894089
+ - update udev rules correctly when changing device names for more
+ than one net device
+- 3.1.97
+
+-------------------------------------------------------------------
+Fri Sep 12 09:03:27 UTC 2014 - ancor(a)suse.com
+
+- Changed the remote administration module to get the list of
+ required packages from yast2-packager (bnc#896178).
+- 3.1.96
+
+-------------------------------------------------------------------
Old:
----
yast2-network-3.1.95.tar.bz2
New:
----
yast2-network-3.1.99.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-network.spec ++++++
--- /var/tmp/diff_new_pack.Tgybrx/_old 2014-09-17 21:25:02.000000000 +0200
+++ /var/tmp/diff_new_pack.Tgybrx/_new 2014-09-17 21:25:02.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-network
-Version: 3.1.95
+Version: 3.1.99
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -46,6 +46,9 @@
# Storage::IsDeviceOnNetwork
BuildRequires: yast2-storage >= 2.21.11
Requires: yast2-storage >= 2.21.11
+# Packages::vnc_packages
+BuildRequires: yast2-packager >= 3.1.47
+Requires: yast2-packager >= 3.1.47
# testsuite
BuildRequires: rubygem(rspec)
++++++ yast2-network-3.1.95.tar.bz2 -> yast2-network-3.1.99.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/package/yast2-network.changes new/yast2-network-3.1.99/package/yast2-network.changes
--- old/yast2-network-3.1.95/package/yast2-network.changes 2014-09-08 11:13:24.000000000 +0200
+++ new/yast2-network-3.1.99/package/yast2-network.changes 2014-09-17 16:02:12.000000000 +0200
@@ -1,4 +1,32 @@
-------------------------------------------------------------------
+Wed Sep 17 15:26:59 CEST 2014 - locilka(a)suse.com
+
+- Do not check for / install packages in inst-sys (bnc#888130)
+- 3.1.99
+
+-------------------------------------------------------------------
+Tue Sep 16 15:22:29 CEST 2014 - locilka(a)suse.com
+
+- Remote administration adjusted to warn users that they need to
+ restart display manager manually if it's needed (bnc#893606)
+- 3.1.98
+
+-------------------------------------------------------------------
+Fri Sep 12 11:44:46 UTC 2014 - mfilka(a)suse.com
+
+- bnc#894089
+ - update udev rules correctly when changing device names for more
+ than one net device
+- 3.1.97
+
+-------------------------------------------------------------------
+Fri Sep 12 09:03:27 UTC 2014 - ancor(a)suse.com
+
+- Changed the remote administration module to get the list of
+ required packages from yast2-packager (bnc#896178).
+- 3.1.96
+
+-------------------------------------------------------------------
Mon Sep 8 08:55:09 UTC 2014 - mvidner(a)suse.com
- Use a more flexible rubygem requirement syntax (bnc#895069)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/package/yast2-network.spec new/yast2-network-3.1.99/package/yast2-network.spec
--- old/yast2-network-3.1.95/package/yast2-network.spec 2014-09-08 11:13:24.000000000 +0200
+++ new/yast2-network-3.1.99/package/yast2-network.spec 2014-09-17 16:02:12.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-network
-Version: 3.1.95
+Version: 3.1.99
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -46,6 +46,9 @@
# Storage::IsDeviceOnNetwork
BuildRequires: yast2-storage >= 2.21.11
Requires: yast2-storage >= 2.21.11
+# Packages::vnc_packages
+BuildRequires: yast2-packager >= 3.1.47
+Requires: yast2-packager >= 3.1.47
# testsuite
BuildRequires: rubygem(rspec)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/src/include/network/lan/udev.rb new/yast2-network-3.1.99/src/include/network/lan/udev.rb
--- old/yast2-network-3.1.95/src/include/network/lan/udev.rb 2014-09-08 11:13:24.000000000 +0200
+++ new/yast2-network-3.1.99/src/include/network/lan/udev.rb 2014-09-17 16:02:12.000000000 +0200
@@ -8,17 +8,41 @@
# Functions for handling udev rules
module Yast
module NetworkLanUdevInclude
+
+ # Creates default udev rule for given NIC.
+ #
+ # Udev rule is based on device's MAC.
+ #
+ # @return [Array] an udev rule
def GetDefaultUdevRule(dev_name, dev_mac)
default_rule = [
"SUBSYSTEM==\"net\"",
"ACTION==\"add\"",
"DRIVERS==\"?*\"",
- Builtins.sformat("ATTR{address}==\"%1\"", dev_mac),
+ "ATTR{address}==\"#{dev_mac}\"",
"ATTR{type}==\"1\"",
- Builtins.sformat("NAME=\"%1\"", dev_name)
+ "NAME=\"#{dev_name}\""
]
+ end
+
+ # Updates existing key in a rule to new value.
+ # Modifies rule and returns it.
+ # If key is not found, rule is unchanged.
+ def update_udev_rule_key(rule, key, value)
+ return rule if rule.nil? || rule.empty?
+
+ raise ArgumentError if key.nil?
+ raise ArgumentError if value.nil?
+
+ i = rule.find_index { |k| k =~ /^#{key}/ }
+
+ if i
+ rule[i] = rule[i].gsub(/#{key}={1,2}"([^"]*)"/) do |m|
+ m.gsub($1, value)
+ end
+ end
- deep_copy(default_rule)
+ rule
end
# Removes (key,operator,value) tripplet from given udev rule.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/src/include/network/routines.rb new/yast2-network-3.1.99/src/include/network/routines.rb
--- old/yast2-network-3.1.95/src/include/network/routines.rb 2014-09-08 11:13:24.000000000 +0200
+++ new/yast2-network-3.1.99/src/include/network/routines.rb 2014-09-17 16:02:12.000000000 +0200
@@ -51,6 +51,7 @@
Yast.import "Mode"
Yast.import "IP"
Yast.import "TypeRepository"
+ Yast.import "Stage"
end
# Abort function
@@ -135,7 +136,17 @@
def PackagesInstall(packages)
packages = deep_copy(packages)
return :next if packages == []
- Builtins.y2debug("Checking packages: %1", packages)
+
+ log.info "Checking packages: #{packages}"
+
+ # bnc#888130 In inst-sys, there is no RPM database to check
+ # If the required package is part of the inst-sys, it will work,
+ # if not, package can't be installed anyway
+ #
+ # Ideas:
+ # - check /.packages.* for presence of the required package
+ # - use `extend` to load the required packages on-the-fly
+ return :next if Stage.initial
Yast.import "Package"
return :next if Package.InstalledAll(packages)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/src/lib/network/edit_nic_name.rb new/yast2-network-3.1.99/src/lib/network/edit_nic_name.rb
--- old/yast2-network-3.1.95/src/lib/network/edit_nic_name.rb 2014-09-08 11:13:24.000000000 +0200
+++ new/yast2-network-3.1.99/src/lib/network/edit_nic_name.rb 2014-09-17 16:02:12.000000000 +0200
@@ -76,6 +76,8 @@
end
# update udev rules and other config
+ # FIXME: it changes udev key used for device identification
+ # and / or its value only, name is changed elsewhere
LanItems.ReplaceItemUdev(@old_key, rule_key, rule_value)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/src/modules/LanItems.rb new/yast2-network-3.1.99/src/modules/LanItems.rb
--- old/yast2-network-3.1.95/src/modules/LanItems.rb 2014-09-08 11:13:24.000000000 +0200
+++ new/yast2-network-3.1.99/src/modules/LanItems.rb 2014-09-17 16:02:12.000000000 +0200
@@ -533,10 +533,6 @@
deep_copy(new_rules)
end
- def SetItemUdev(rule_key, rule_val)
- ReplaceItemUdev(rule_key, rule_key, rule_val)
- end
-
# Updates device name.
#
# It updates device's udev rules and config name.
@@ -546,7 +542,8 @@
# Returns new name
def SetItemName( itemId, name)
if name && !name.empty?
- SetItemUdev("NAME", name)
+ updated_rule = update_udev_rule_key(GetItemUdevRule(itemId), "NAME", name)
+ @Items[itemId]["udev"]["net"] = updated_rule
else
# rewrite rule for empty name is meaningless
@Items[itemId].delete("udev")
@@ -2663,7 +2660,6 @@
publish :function => :GetItemUdevRule, :type => "list <string> (integer)"
publish :function => :GetItemUdev, :type => "string (string)"
publish :function => :ReplaceItemUdev, :type => "list <string> (string, string, string)"
- publish :function => :SetItemUdev, :type => "list <string> (string, string)"
publish :function => :WriteUdevRules, :type => "void ()"
publish :function => :GetModified, :type => "boolean ()"
publish :function => :SetModified, :type => "void ()"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/src/modules/Remote.rb new/yast2-network-3.1.99/src/modules/Remote.rb
--- old/yast2-network-3.1.95/src/modules/Remote.rb 2014-09-08 11:13:24.000000000 +0200
+++ new/yast2-network-3.1.99/src/modules/Remote.rb 2014-09-17 16:02:12.000000000 +0200
@@ -39,6 +39,8 @@
PKG_CONTAINING_FW_SERVICES = "xorg-x11-Xvnc"
+ GRAPHICAL_TARGET = "graphical"
+
def main
Yast.import "UI"
textdomain "network"
@@ -46,6 +48,7 @@
Yast.import "Label"
Yast.import "Mode"
Yast.import "Package"
+ Yast.import "Packages"
Yast.import "Service"
Yast.import "SuSEFirewall"
Yast.import "Progress"
@@ -53,6 +56,7 @@
Yast.import "String"
Yast.import "FileUtils"
Yast.import "Message"
+ Yast.import "SystemdTarget"
Yast.include self, "network/routines.rb"
@@ -261,7 +265,7 @@
Ops.set(m, "changed", true)
Ops.set(m, "enabled", @allow_administration)
server_args = Ops.get_string(m, "server_args", "")
- if @allow_administration
+ if IsEnabled()
# use none authentication, xdm will take care of it
Ops.set(m, "server_args", SetSecurityType(server_args, @SEC_NONE))
else
@@ -306,17 +310,29 @@
Progress.set(current_progress)
ProgressNextStage(_("Configuring display manager..."))
+ return false unless configure_display_manager
- if @allow_administration
- # Install required packages
- packages = ["xinetd", "xorg-x11", PKG_CONTAINING_FW_SERVICES]
+ if Mode.normal
+ ProgressNextStage(_("Restarting the service..."))
+ restart_services
+ Progress.NextStage
+ end
- #At least one windowmanager must be installed (#427044)
- #If none is, there, use icewm as fallback
- #Package::Installed uses rpm -q --whatprovides
- packages << "icewm" unless Package.Installed("windowmanager")
+ true
+ end
- if !Package.InstallAll(packages)
+ # Updates the VNC and xdm configuration
+ #
+ # Called from #Write. Ensures that required packages are installed,
+ # enables xinetd and xdm and writes the configuration files, reporting
+ # any error in the process.
+ #
+ # @return [Boolean] true if success, false otherwise
+ def configure_display_manager
+
+ if IsEnabled()
+ # Install required packages
+ if !Package.InstallAll(Packages.vnc_packages)
log.error "Installing of required packages failed"
return false
end
@@ -341,56 +357,56 @@
# Set DISPLAYMANAGER_REMOTE_ACCESS in sysconfig/displaymanager
SCR.Write(
path(".sysconfig.displaymanager.DISPLAYMANAGER_REMOTE_ACCESS"),
- @allow_administration ? "yes" : "no"
+ IsEnabled() ? "yes" : "no"
)
SCR.Write(
path(".sysconfig.displaymanager.DISPLAYMANAGER_ROOT_LOGIN_REMOTE"),
- @allow_administration ? "yes" : "no"
+ IsEnabled() ? "yes" : "no"
)
SCR.Write(path(".sysconfig.displaymanager"), nil)
- #Query xinetd presence here (it might not have been even installed before)
- have_xinetd = Package.Installed("xinetd")
-
#Do this only if package xinetd is installed (#256385)
- return false if have_xinetd && !WriteXinetd()
+ return false if Package.Installed("xinetd") && !WriteXinetd()
- if Mode.normal
- ProgressNextStage(_("Restarting the service..."))
+ true
+ end
- if @allow_administration
- SCR.Write(path(".etc.inittab.id"), "5:initdefault:")
- SCR.Write(path(".etc.inittab"), nil)
-
- #if allow_administration is set to true, xinetd must be already installed
- Report.Error(Message.CannotRestartService(XINETD_SERVICE)) unless Service.Restart(XINETD_SERVICE)
- Report.Error(Message.CannotRestartService(XDM_SERVICE_NAME)) unless Service.Restart(XDM_SERVICE_NAME)
- else
- if have_xinetd
- # xinetd may be needed for other services so we never turn it
- # off. It will exit anyway if no services are configured.
- # If it is running, restart it.
- Service.Restart(XINETD_SERVICE) if Service.active?(XINETD_SERVICE)
- end
- end
+ def restart_display_manager
+ if Service.active?(XDM_SERVICE_NAME)
+ Report.Error(Message.CannotRestartService(XDM_SERVICE_NAME)) unless Service.Reload(XDM_SERVICE_NAME)
+ Report.Warning(
+ _(
+ "Your display manager must be restarted.\n" +
+ "To take the changes in remote administration into account, \n" +
+ "please restart it manually or log out and log in again."
+ )
+ )
+ else
+ Report.Error(Message.CannotRestartService(XDM_SERVICE_NAME)) unless Service.Restart(XDM_SERVICE_NAME)
+ end
+ end
- # do not call '$service reload' for gdm - use SuSEconfig
- # TODO: confirm that it's still needed
- if @default_dm != "gdm"
- Service.Reload(XDM_SERVICE_NAME)
- end
+ # Restarts xinetd and xdm, reporting errors to the user
+ def restart_services
+ if IsEnabled()
+ SystemdTarget.set_default(GRAPHICAL_TARGET)
- Progress.NextStage
- end
+ Report.Error(Message.CannotRestartService(XINETD_SERVICE)) unless Service.Restart(XINETD_SERVICE)
- true
+ restart_display_manager
+ else
+ # xinetd may be needed for other services so we never turn it
+ # off. It will exit anyway if no services are configured.
+ # If it is running, restart it.
+ Service.Reload(XINETD_SERVICE) if Service.active?(XINETD_SERVICE)
+ end
end
# Create summary
# @return summary text
def Summary
# description in proposal
- @allow_administration ? _("Remote administration is enabled.") : _("Remote administration is disabled.")
+ IsEnabled() ? _("Remote administration is enabled.") : _("Remote administration is disabled.")
end
publish :variable => :SEC_NONE, :type => "const string"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/test/Makefile.am new/yast2-network-3.1.99/test/Makefile.am
--- old/yast2-network-3.1.95/test/Makefile.am 2014-09-08 11:13:24.000000000 +0200
+++ new/yast2-network-3.1.99/test/Makefile.am 2014-09-17 16:02:12.000000000 +0200
@@ -13,7 +13,9 @@
suse_firewall_4_network_test.rb \
widgets_test.rb \
complex_test.rb \
- read_hardware_test.rb
+ read_hardware_test.rb \
+ udev_test.rb \
+ remote_test.rb
TEST_EXTENSIONS = .rb
RB_LOG_COMPILER = rspec --format doc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/test/SCRStub.rb new/yast2-network-3.1.99/test/SCRStub.rb
--- old/yast2-network-3.1.95/test/SCRStub.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-network-3.1.99/test/SCRStub.rb 2014-09-17 16:02:12.000000000 +0200
@@ -0,0 +1,60 @@
+require 'yaml'
+
+# Helpers for stubbing several agent operations.
+#
+# Must be included in the configure section of RSpec.
+#
+# @example usage
+# RSpec.configure do |c|
+# c.include SCRStub
+# end
+#
+# describe "Keyboard" do
+# it "uses loadkeys" do
+# expect_to_execute(/loadkeys/)
+# Keyboard.Set
+# end
+# end
+#
+module SCRStub
+ DATA_PATH = File.join(File.expand_path(File.dirname(__FILE__)), "data")
+
+ # Ensures that non-stubbed SCR calls still work as expected after including
+ # the module in the testsuite
+ def self.included(testsuite)
+ testsuite.before(:each) do
+ allow(Yast::SCR).to receive(:Read).and_call_original
+ allow(Yast::SCR).to receive(:Write).and_call_original
+ allow(Yast::SCR).to receive(:Execute).and_call_original
+ end
+ end
+
+ # Stub all calls to SCR.Write storing the value for future comparison
+ def stub_scr_write
+ @written_values = {}
+ allow(Yast::SCR).to receive(:Write) do |*args|
+ @written_values[args[0].to_s] = args[1]
+ end
+ end
+
+ # Value written by a stubbed call to SCR.Read
+ #
+ # @param key used in the call to SCR.Write
+ def written_value_for(key)
+ @written_values[key]
+ end
+
+ # Stubs calls to SCR.Read returning the object stored in the corresponding
+ # yaml file.
+ #
+ # Yaml files are stored in the scr_read subdirectory of the data directory
+ # and named after the yast path (without the leading '.').
+ #
+ # @return Object
+ def stub_scr_read(path_name)
+ file = File.join(DATA_PATH, "scr_read", path_name[1..-1]+".yml")
+ info = YAML.load_file(file)
+ path = Yast::Path.new(path_name)
+ allow(Yast::SCR).to receive(:Read).with(path).and_return info
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/test/data/scr_read/etc.xinetd_conf.services.yml new/yast2-network-3.1.99/test/data/scr_read/etc.xinetd_conf.services.yml
--- old/yast2-network-3.1.95/test/data/scr_read/etc.xinetd_conf.services.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-network-3.1.99/test/data/scr_read/etc.xinetd_conf.services.yml 2014-09-17 16:02:12.000000000 +0200
@@ -0,0 +1,88 @@
+---
+- comment: |2
+ default: off
+ description: An echo server. This is the tcp version.
+ comment_inside: ''
+ enabled: false
+ group: ''
+ iid: 1:/etc/xinetd.d/echo
+ protocol: tcp
+ rpc_version: ''
+ script: echo
+ server: ''
+ server_args: ''
+ service: echo
+ socket_type: stream
+ unparsed: "\ttype\t\t= INTERNAL\n\tid\t\t= echo-stream\n\tFLAGS\t\t= IPv6 IPv4\n"
+ user: root
+ wait: false
+- comment: |2
+ default: off
+ description: An echo server. This is the udp version.
+ comment_inside: ''
+ enabled: false
+ group: ''
+ iid: 1:/etc/xinetd.d/echo-udp
+ protocol: udp
+ rpc_version: ''
+ script: echo-udp
+ server: ''
+ server_args: ''
+ service: echo
+ socket_type: dgram
+ unparsed: "\ttype\t\t= INTERNAL UNLISTED\n\tid\t\t= echo-dgram\n\tport\t\t= 7\n\tFLAGS\t\t=
+ IPv6 IPv4\n"
+ user: root
+ wait: true
+- comment: |2
+ default: off
+ description: An internal xinetd service, listing active services.
+ comment_inside: ''
+ enabled: false
+ group: ''
+ iid: 1:/etc/xinetd.d/services
+ protocol: tcp
+ rpc_version: ''
+ script: services
+ server: ''
+ server_args: ''
+ service: services
+ socket_type: stream
+ unparsed: "\ttype\t\t= INTERNAL UNLISTED\n\tport\t\t= 9098\n\tonly_from\t= 127.0.0.1\n\tFLAGS\t\t=
+ IPv6 IPv4\n"
+ user: ''
+ wait: false
+- comment: " default: off\n description: This serves out a VNC connection which starts
+ at a KDM login \\\n\tprompt. This VNC connection has a resolution of 1024x768,
+ 16bit depth.\n"
+ comment_inside: ''
+ enabled: false
+ group: ''
+ iid: 1:/etc/xinetd.d/vnc
+ protocol: tcp
+ rpc_version: ''
+ script: vnc
+ server: "/usr/bin/Xvnc"
+ server_args: "-noreset -inetd -once -query localhost -geometry 1024x768 -securitytypes
+ none"
+ service: vnc1
+ socket_type: stream
+ unparsed: "\ttype\t\t= UNLISTED\n\tport\t\t= 5901\n"
+ user: nobody
+ wait: false
+- comment: " default: off\n description: This serves out the vncviewer Java applet
+ for the VNC \\\n\tserver running on port 5901, (vnc port 1).\n"
+ comment_inside: ''
+ enabled: false
+ group: ''
+ iid: 45:/etc/xinetd.d/vnc
+ protocol: tcp
+ rpc_version: ''
+ script: vnc
+ server: "/usr/bin/vnc_inetd_httpd"
+ server_args: 1024 768 5901 -securitytypes none
+ service: vnchttpd1
+ socket_type: stream
+ unparsed: "\ttype\t\t= UNLISTED\n\tport\t\t= 5801\n"
+ user: nobody
+ wait: false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/test/remote_test.rb new/yast2-network-3.1.99/test/remote_test.rb
--- old/yast2-network-3.1.95/test/remote_test.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-network-3.1.99/test/remote_test.rb 2014-09-17 16:02:12.000000000 +0200
@@ -0,0 +1,250 @@
+#!/usr/bin/env rspec
+
+ENV["Y2DIR"] = File.expand_path("../../src", __FILE__)
+
+require "yast"
+require_relative "SCRStub"
+
+module Yast
+ import "Remote"
+ import "Linuxrc"
+ import "Package"
+ import "Packages"
+
+ RSpec.configure do |c|
+ c.include SCRStub
+ end
+
+ describe Remote do
+ describe ".Reset" do
+ context "on vnc installation" do
+ before do
+ allow(Linuxrc).to receive(:vnc).and_return true
+ end
+
+ it "enables remote administration" do
+ Remote.Reset
+ expect(Remote.IsEnabled).to eql(true)
+ end
+ end
+
+ context "on local installation" do
+ before do
+ allow(Linuxrc).to receive(:vnc).and_return false
+ end
+
+ it "disables remote administration" do
+ Remote.Reset
+ expect(Remote.IsEnabled).to eql(false)
+ end
+ end
+ end
+
+ describe ".configure_display_manager" do
+ before do
+ stub_scr_write
+ stub_scr_read(".etc.xinetd_conf.services")
+ allow(Package).to receive(:Installed).with("xinetd").and_return true
+ end
+
+ context "with VNC enabled" do
+ before do
+ Remote.Enable
+ end
+
+ it "installs packages provided by Packages.vnc_packages" do
+ allow(Service).to receive(:Enable).and_return true
+
+ expect(Packages).to receive(:vnc_packages).and_return %w(some names)
+ expect(Package).to receive(:InstallAll).with(%w(some names)).and_return true
+ expect(Remote.configure_display_manager).to eql(true)
+ end
+
+ it "enables the services" do
+ allow(Packages).to receive(:vnc_packages)
+ allow(Package).to receive(:InstallAll).and_return true
+
+ expect(Service).to receive(:Enable).with("display-manager").and_return true
+ expect(Service).to receive(:Enable).with("xinetd").and_return true
+ expect(Remote.configure_display_manager).to eql(true)
+ end
+
+ it "writes the VNC configuration" do
+ allow(Packages).to receive(:vnc_packages)
+ allow(Service).to receive(:Enable).twice.and_return true
+ allow(Package).to receive(:InstallAll).and_return true
+
+ expect(Remote.configure_display_manager).to eql(true)
+
+ expect(written_value_for(".sysconfig.displaymanager.DISPLAYMANAGER_REMOTE_ACCESS")).to eq("yes")
+ expect(written_value_for(".sysconfig.displaymanager.DISPLAYMANAGER_ROOT_LOGIN_REMOTE")).to eq("yes")
+
+ # vnc1 and vnchttp1 services are enabled
+ services = written_value_for(".etc.xinetd_conf.services")
+ services = services.select {|s| s["service"] =~ /vnc/ }
+ expect(services.map {|s| s["enabled"]}).to eq([true, true])
+ end
+ end
+
+ context "with VNC disabled" do
+ before do
+ Remote.Disable
+ end
+
+ it "does not install packages" do
+ expect(Package).to_not receive(:InstallAll)
+ expect(Remote.configure_display_manager).to eql(true)
+ end
+
+ it "does not enable services" do
+ expect(Service).to_not receive(:Enable)
+ expect(Remote.configure_display_manager).to eql(true)
+ end
+
+ it "updates the configuration to not use VNC" do
+ expect(Remote.configure_display_manager).to eql(true)
+
+ expect(written_value_for(".sysconfig.displaymanager.DISPLAYMANAGER_REMOTE_ACCESS")).to eq("no")
+ expect(written_value_for(".sysconfig.displaymanager.DISPLAYMANAGER_ROOT_LOGIN_REMOTE")).to eq("no")
+
+ # vnc1 and vnchttp1 services are enabled
+ services = written_value_for(".etc.xinetd_conf.services")
+ services = services.select {|s| s["service"] =~ /vnc/ }
+ expect(services.map {|s| s["enabled"]}).to eq([false, false])
+ end
+ end
+ end
+
+ # TODO: this whole describe block is just a direct translation from the old
+ # testsuite. I needs to be rewritten to better describe the behavior of
+ # the method
+ describe ".SetSecurityTpe" do
+ let(:result) { Remote.SetSecurityType(server_args, sec_type) }
+ let(:default_xvnc_args) {
+ "-noreset -inetd -once -query localhost -geometry 1024x768 -depth 16"
+ }
+
+ context "with invalid sec_type parameter" do
+ let(:sec_type) { "INVALID" }
+
+ context "with empty arguments" do
+ let(:server_args) { "" }
+
+ it "returns empty arguments" do
+ expect(result).to eq("")
+ end
+ end
+
+ context "with default arguments from Xvnc package" do
+ let(:server_args) { default_xvnc_args }
+
+ it "returns the provided arguments" do
+ expect(result).to eq(server_args)
+ end
+ end
+ end
+
+ context "with a valid sec_type parameter" do
+ let(:sec_type) { Remote.SEC_NONE }
+
+ context "with empty arguments" do
+ let(:server_args) { "" }
+
+ it "returns only the corresponding 'securitytypes' argument" do
+ expect(result).to eq("-securitytypes none")
+ end
+ end
+
+ context "with default arguments from Xvnc package" do
+ let(:server_args) { default_xvnc_args }
+
+ it "returns the provided arguments plus the corresponding 'securitytypes'" do
+ expect(result).to eq("#{server_args} -securitytypes none")
+ end
+ end
+
+ context "with arguments including a space-separated 'securitytype'" do
+ let(:server_args) { "-securitytpes vncauth #{default_xvnc_args}" }
+
+ it "strips the 'securitytypes' argument and adds the correct one" do
+ expect(result).to eq("#{server_args} -securitytypes none")
+ end
+ end
+
+ context "with two dashes and upper case 'securitytypes' as argument" do
+ let(:server_args) { "--securityTypes=VNCAUTH" }
+
+ it "ignores the provided 'securitytypes' argument and returns the correct one" do
+ expect(result).to eq("-securitytypes none")
+ end
+ end
+
+ context "with 'securitytpes' argument present twice and with camel case" do
+ let(:server_args) { "securityTypes=VNCAUTH -rfbauth /var/lib/nobody/.vnc/passwd -securitytypes=vncauth" }
+
+ it "strips both occurrences of 'securitytypes' and adds the correct one" do
+ expect(result).to eq("-rfbauth /var/lib/nobody/.vnc/passwd -securitytypes none")
+ end
+ end
+ end
+ end
+
+ describe "#restart_services" do
+ context "when remote administration is being enabled" do
+ before(:each) do
+ Remote.Enable()
+ allow(Service).to receive(:active?).with("display-manager").and_return(active_display_manager)
+ end
+
+ context "when display-manager service is active" do
+ let(:active_display_manager) { true }
+
+ it "adjusts xinetd and display-manager services and warns the user" do
+ expect(SystemdTarget).to receive(:set_default).with("graphical").and_return(true)
+ expect(Service).to receive(:Restart).with("xinetd").and_return(true)
+ expect(Service).to receive(:Reload).with("display-manager").and_return(true)
+ expect(Report).to receive(:Warning)
+ Remote.restart_services
+ end
+ end
+
+ context "when display-manager service is inactive" do
+ let(:active_display_manager) { false }
+
+ it "adjusts xinetd and display-manager services" do
+ expect(SystemdTarget).to receive(:set_default).with("graphical").and_return(true)
+ expect(Service).to receive(:Restart).with("xinetd").and_return(true)
+ expect(Service).to receive(:Restart).with("display-manager").and_return(true)
+ Remote.restart_services
+ end
+ end
+ end
+
+ context "when remote adminitration is being disabled" do
+ before(:each) do
+ Remote.Disable()
+ allow(Service).to receive(:active?).with("xinetd").and_return(active_xinetd)
+ end
+
+ context "xinetd is active" do
+ let(:active_xinetd) { true }
+
+ it "reloads the xinetd service" do
+ expect(Service).to receive(:Reload).with("xinetd").and_return(true)
+ Remote.restart_services
+ end
+ end
+
+ context "xinetd is inactive" do
+ let(:active_xinetd) { false }
+
+ it "does nothing with services" do
+ expect(Service).not_to receive(:Reload)
+ Remote.restart_services
+ end
+ end
+ end
+ end
+
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/test/routines_test.rb new/yast2-network-3.1.99/test/routines_test.rb
--- old/yast2-network-3.1.95/test/routines_test.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-network-3.1.99/test/routines_test.rb 2014-09-17 16:02:12.000000000 +0200
@@ -0,0 +1,37 @@
+#! /usr/bin/env rspec
+
+ENV["Y2DIR"] = File.expand_path("../../src", __FILE__)
+
+require "yast"
+
+include Yast
+
+Yast.include self, "network/routines.rb"
+
+Yast.import "Stage"
+Yast.import "Package"
+
+describe "#PackagesInstall" do
+ context "when list of packages is empty" do
+ it "returns :next without checking anything" do
+ expect(PackagesInstall([])).to eq(:next)
+ expect(Package).not_to receive(:InstalledAll)
+ end
+ end
+
+ context "in inst-sys" do
+ it "returns :next without checking anything" do
+ allow(Stage).to receive(:stage).and_return("initial")
+ expect(PackagesInstall(["1", "2", "3"])).to eq(:next)
+ expect(Package).not_to receive(:InstalledAll)
+ end
+ end
+
+ context "on a running system" do
+ it "checks whether all packages are installed and returns a symbol :next or :abort" do
+ allow(Stage).to receive(:stage).and_return("normal")
+ expect(Package).to receive(:InstalledAll).and_return(true)
+ expect(PackagesInstall(["1", "2", "3"])).to eq(:next)
+ end
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/test/udev_test.rb new/yast2-network-3.1.99/test/udev_test.rb
--- old/yast2-network-3.1.95/test/udev_test.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-network-3.1.99/test/udev_test.rb 2014-09-17 16:02:12.000000000 +0200
@@ -0,0 +1,59 @@
+#!/usr/bin/env rspec
+
+require_relative "test_helper"
+
+require "yast"
+
+include Yast::UIShortcuts
+include Yast::I18n
+include Yast
+
+Yast.import "LanItems"
+Yast.import "Stage"
+
+# creating a wrapper for Yast's 'header' file
+$LOAD_PATH.unshift File.expand_path('../../src', __FILE__)
+require "include/network/lan/udev"
+
+class NetworkLanComplexUdev
+ extend Yast::NetworkLanUdevInclude
+end
+
+describe "NetworkLanUdevInclude::update_udev_rule_key" do
+ before(:each) do
+ @default_rule = NetworkLanComplexUdev.GetDefaultUdevRule(
+ "default1",
+ "00:11:22:33:44:55"
+ )
+ end
+
+ it "updates existing assignment key to new value" do
+ new_name = "renamed2"
+
+ updated_rule = NetworkLanComplexUdev.update_udev_rule_key(
+ @default_rule,
+ "NAME",
+ new_name
+ )
+ expect(updated_rule).to include "NAME=\"#{new_name}\""
+ end
+
+ it "updates existing comparison key to new value" do
+ new_subsystem = "hdd"
+
+ updated_rule = NetworkLanComplexUdev.update_udev_rule_key(
+ @default_rule,
+ "SUBSYSTEM",
+ new_subsystem
+ )
+ expect(updated_rule).to include "SUBSYSTEM==\"#{new_subsystem}\""
+ end
+
+ it "returns unchanged rule when key is not found" do
+ expect(NetworkLanComplexUdev.update_udev_rule_key(
+ @default_rule,
+ "NONEXISTENT_UDEV_KEY",
+ "value"
+ )).to eql @default_rule
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/testsuite/tests/remote.out new/yast2-network-3.1.99/testsuite/tests/remote.out
--- old/yast2-network-3.1.95/testsuite/tests/remote.out 2014-09-08 11:13:24.000000000 +0200
+++ new/yast2-network-3.1.99/testsuite/tests/remote.out 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-Read .target.tmpdir nil
-Log Failed to set temporary directory: nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/testsuite/tests/remote.rb new/yast2-network-3.1.99/testsuite/tests/remote.rb
--- old/yast2-network-3.1.95/testsuite/tests/remote.rb 2014-09-08 11:13:24.000000000 +0200
+++ new/yast2-network-3.1.99/testsuite/tests/remote.rb 1970-01-01 01:00:00.000000000 +0100
@@ -1,81 +0,0 @@
-# encoding: utf-8
-
-module Yast
- class RemoteClient < Client
- def main
- Yast.import "Assert"
- Yast.import "Testsuite"
-
- @READ = {
- "probe" => { "architecture" => "i386" },
- "sysconfig" => { "console" => { "CONSOLE_ENCODING" => "UTF-8" } }
- }
-
- @EXEC = {
- "target" => {
- "bash_output" => {
- "exit" => 0,
- "stdout" => "charset=UTF-8",
- "stderr" => ""
- }
- }
- }
-
- Yast.import "Remote"
-
- # currently used default server_args from Xvnc package
- @default_server_args = "-noreset -inetd -once -query localhost -geometry 1024x768 -depth 16"
- @none_result = Builtins.sformat("-securitytypes %1", Remote.SEC_NONE)
-
- # empty args
- @server_args_empty = ""
- # default args from Xvnc
- @server_args_0 = @default_server_args
- # two dashes, upper case in option value
- @server_args_1 = "--securityTypes=VNCAUTH"
- # securitytypes present twice, camel case in option name.
- @server_args_2 = "securityTypes=VNCAUTH -rfbauth /var/lib/nobody/.vnc/passwd -securitytypes=vncauth"
- # space separated option and value
- @server_args_3 = Ops.add("-securitytypes none ", @default_server_args)
-
- # ********** Remote::SetSecurityType ********** //
-
- Assert.Equal(
- @none_result,
- Remote.SetSecurityType(@server_args_empty, Remote.SEC_NONE)
- )
- Assert.Equal(
- Builtins.sformat("%1 %2", @default_server_args, @none_result),
- Remote.SetSecurityType(@server_args_0, Remote.SEC_NONE)
- )
- Assert.Equal(
- @none_result,
- Remote.SetSecurityType(@server_args_1, Remote.SEC_NONE)
- )
- Assert.Equal(
- Builtins.sformat(
- "-rfbauth /var/lib/nobody/.vnc/passwd %1",
- @none_result
- ),
- Remote.SetSecurityType(@server_args_2, Remote.SEC_NONE)
- )
- Assert.Equal(
- Builtins.sformat("%1 %2", @default_server_args, @none_result),
- Remote.SetSecurityType(@server_args_3, Remote.SEC_NONE)
- )
-
- Assert.Equal(
- @server_args_empty,
- Remote.SetSecurityType(@server_args_empty, "INVALID")
- )
- Assert.Equal(
- @default_server_args,
- Remote.SetSecurityType(@default_server_args, "INVALID")
- )
-
- nil
- end
- end
-end
-
-Yast::RemoteClient.new.main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-network-3.1.95/testsuite/tests/udev.rb new/yast2-network-3.1.99/testsuite/tests/udev.rb
--- old/yast2-network-3.1.95/testsuite/tests/udev.rb 2014-09-08 11:13:24.000000000 +0200
+++ new/yast2-network-3.1.99/testsuite/tests/udev.rb 2014-09-17 16:02:12.000000000 +0200
@@ -75,15 +75,6 @@
LanItems.FindAndSelect("eth1")
- @new_rules = LanItems.SetItemUdev("NAME", "nic_name")
- Assert.Equal(true, Builtins.contains(@new_rules, "NAME=\"nic_name\""))
-
- @new_rules = LanItems.SetItemUdev("KERNELS", "0000:00:19.x")
- Assert.Equal(
- true,
- Builtins.contains(@new_rules, "KERNELS==\"0000:00:19.x\"")
- )
-
@new_rules = LanItems.ReplaceItemUdev(
"KERNELS",
"ATTR{address}",
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package skelcd-openSUSE for openSUSE:Factory checked in at 2014-09-17 21:24:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/skelcd-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.skelcd-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "skelcd-openSUSE"
Changes:
--------
--- /work/SRC/openSUSE:Factory/skelcd-openSUSE/skelcd-openSUSE-non-OSS.changes 2014-06-10 14:35:46.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.skelcd-openSUSE.new/skelcd-openSUSE-non-OSS.changes 2014-09-17 21:24:58.000000000 +0200
@@ -1,0 +2,16 @@
+Wed Sep 17 07:58:19 UTC 2014 - coolo(a)suse.com
+
+- modernize the text of README.BETA
+
+-------------------------------------------------------------------
+Mon Sep 15 05:26:34 UTC 2014 - belphegor(a)belbel.or.jp
+
+- replace all of #VERSION# tags when they exist twice or more
+ within one line
+
+-------------------------------------------------------------------
+Tue Jul 8 07:39:26 UTC 2014 - rschweikert(a)suse.com
+
+- make the .es and .ru license files world readable
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/skelcd-openSUSE/skelcd-openSUSE.changes 2014-07-13 17:15:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.skelcd-openSUSE.new/skelcd-openSUSE.changes 2014-09-17 21:24:58.000000000 +0200
@@ -1,0 +2,11 @@
+Wed Sep 17 07:58:19 UTC 2014 - coolo(a)suse.com
+
+- modernize the text of README.BETA
+
+-------------------------------------------------------------------
+Mon Sep 15 05:26:34 UTC 2014 - belphegor(a)belbel.or.jp
+
+- replace all of #VERSION# tags when they exist twice or more
+ within one line
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ skelcd-openSUSE-non-OSS.spec ++++++
--- /var/tmp/diff_new_pack.JHAZvG/_old 2014-09-17 21:25:00.000000000 +0200
+++ /var/tmp/diff_new_pack.JHAZvG/_new 2014-09-17 21:25:00.000000000 +0200
@@ -89,7 +89,7 @@
ls -la
for i in README ; do
sed -e "s@#DATE#@$DATE_ENG@" \
- -e"s@#VERSION#@$BUILD_DISTRIBUTION_VERSION@" $RPM_SOURCE_DIR/$i \
+ -e"s@#VERSION#@$BUILD_DISTRIBUTION_VERSION@g" $RPM_SOURCE_DIR/$i \
> $RPM_BUILD_ROOT/CD1/$i
# but Mac linebreaks
%ifarch ppc
@@ -107,7 +107,7 @@
# Add infos to license files
for i in license-SL/license*; do
sed -i -e "s@#DATE#@$DATE_ENG@" \
- -e"s@#VERSION#@$BUILD_DISTRIBUTION_VERSION@" $i
+ -e"s@#VERSION#@$BUILD_DISTRIBUTION_VERSION@g" $i
done
pushd license-SL
touch no-acceptance-needed
skelcd-openSUSE.spec: same change
++++++ skelcd.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd/READMEs/README.BETA new/skelcd/READMEs/README.BETA
--- old/skelcd/READMEs/README.BETA 2011-05-31 06:45:38.000000000 +0200
+++ new/skelcd/READMEs/README.BETA 2014-09-17 09:58:02.000000000 +0200
@@ -1,12 +1,12 @@
- openSUSE Beta Distribution version BETA_DIST_VERSION
+ openSUSE Beta Distribution
- You are installing Factory, the future openSUSE version not the
- stable present one. If you know this, thanks for your help
- in testing openSUSE Factory. It's extremely important for us to
- have this version widely tested and we are going to help you as
- much as possible. But of course don't expect Factory to work as
- bugfree as the stable version.
+ You are installing the future openSUSE version not the stable
+ present one. If you know this, thanks for your help in testing
+ openSUSE. It's extremely important for us to have this version
+ widely tested and we are going to help you as much as possible.
+ But of course don't expect development versions to work as bugfree
+ as the stable version.
Use this BETA distribution at your own risk! We recommend it for
testing, porting and evaluation purposes but not for any critical
@@ -18,19 +18,6 @@
If you want to talk about this distribution with others, you can
discuss on the mailing list opensuse-factory(a)opensuse.org
- Sources for development releases are not distributed via mirrors
- to reduce the bandwidth and storage on these mirrors.
-
- You can always find the latest source at
- http://download.opensuse.org/factory/
-
- For full information on how to get the source code, please read:
- http://en.opensuse.org/Source_code
-
- To request the source for a specific release of openSUSE on DVD,
- e-mail to sourcedvd(a)suse.de. Please note that we will charge $15 or
- 15 Euros to cover our costs of distribution.
-
Use this distribution at your own risk - and remember to
have a lot of fun! :)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package snapper for openSUSE:Factory checked in at 2014-09-17 21:24:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/snapper (Old)
and /work/SRC/openSUSE:Factory/.snapper.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "snapper"
Changes:
--------
--- /work/SRC/openSUSE:Factory/snapper/snapper.changes 2014-09-08 21:28:12.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.snapper.new/snapper.changes 2014-09-17 21:24:56.000000000 +0200
@@ -4,0 +5 @@
+- version 0.2.4
Old:
----
snapper-0.2.3.tar.bz2
New:
----
snapper-0.2.4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ snapper.spec ++++++
--- /var/tmp/diff_new_pack.28McyB/_old 2014-09-17 21:24:57.000000000 +0200
+++ /var/tmp/diff_new_pack.28McyB/_new 2014-09-17 21:24:57.000000000 +0200
@@ -17,7 +17,7 @@
Name: snapper
-Version: 0.2.3
+Version: 0.2.4
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: snapper-%{version}.tar.bz2
++++++ snapper-0.2.3.tar.bz2 -> snapper-0.2.4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.2.3/VERSION new/snapper-0.2.4/VERSION
--- old/snapper-0.2.3/VERSION 2014-06-24 11:07:29.000000000 +0200
+++ new/snapper-0.2.4/VERSION 2014-09-15 11:42:45.000000000 +0200
@@ -1 +1 @@
-0.2.3
+0.2.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.2.3/client/snapper.cc new/snapper-0.2.4/client/snapper.cc
--- old/snapper-0.2.3/client/snapper.cc 2014-07-01 11:10:53.000000000 +0200
+++ new/snapper-0.2.4/client/snapper.cc 2014-09-12 11:53:52.000000000 +0200
@@ -1588,7 +1588,8 @@
if ((opt = opts.find("version")) != opts.end())
{
- cout << "snapper " << VERSION << endl;
+ cout << "snapper " << Snapper::compileVersion() << endl;
+ cout << "flags " << Snapper::compileFlags() << endl;
exit(EXIT_SUCCESS);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.2.3/server/Client.cc new/snapper-0.2.4/server/Client.cc
--- old/snapper-0.2.3/server/Client.cc 2014-08-01 09:54:24.000000000 +0200
+++ new/snapper-0.2.4/server/Client.cc 2014-09-12 11:53:52.000000000 +0200
@@ -1367,25 +1367,8 @@
}
hoho << "compile options:";
- hoho << " VERSION " VERSION;
-#ifdef ENABLE_BTRFS
- hoho << " ENABLE_BTRFS";
-#endif
-#ifdef ENABLE_LVM
- hoho << " ENABLE_LVM";
-#endif
-#ifdef ENABLE_EXT4
- hoho << " ENABLE_EXT4";
-#endif
-#ifdef ENABLE_XATTRS
- hoho << " ENABLE_XATTRS";
-#endif
-#ifdef ENABLE_ROLLBACK
- hoho << " ENABLE_ROLLBACK";
-#endif
-#ifdef HAVE_LIBBTRFS
- hoho << " HAVE_LIBBTRFS";
-#endif
+ hoho << " version " + string(Snapper::compileVersion());
+ hoho << " flags " + string(Snapper::compileFlags());
hoho.close_array();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.2.3/snapper/Snapper.cc new/snapper-0.2.4/snapper/Snapper.cc
--- old/snapper-0.2.3/snapper/Snapper.cc 2014-09-01 15:40:38.000000000 +0200
+++ new/snapper-0.2.4/snapper/Snapper.cc 2014-09-12 11:53:52.000000000 +0200
@@ -728,4 +728,50 @@
return !best_match.empty();
}
+
+ const char*
+ Snapper::compileVersion()
+ {
+ return VERSION;
+ }
+
+
+ const char*
+ Snapper::compileFlags()
+ {
+ return
+
+#ifndef ENABLE_BTRFS
+ "no-"
+#endif
+ "btrfs,"
+
+#ifndef ENABLE_LVM
+ "no-"
+#endif
+ "lvm,"
+
+#ifndef ENABLE_EXT4
+ "no-"
+#endif
+ "ext4,"
+
+#ifndef ENABLE_XATTRS
+ "no-"
+#endif
+ "xattrs,"
+
+#ifndef ENABLE_ROLLBACK
+ "no-"
+#endif
+ "rollback,"
+
+#ifndef ENABLE_BTRFS_QUOTA
+ "no-"
+#endif
+ "btrfs-quota"
+
+ ;
+ }
+
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/snapper-0.2.3/snapper/Snapper.h new/snapper-0.2.4/snapper/Snapper.h
--- old/snapper-0.2.3/snapper/Snapper.h 2014-04-10 12:28:10.000000000 +0200
+++ new/snapper-0.2.4/snapper/Snapper.h 2014-09-12 11:53:52.000000000 +0200
@@ -170,6 +170,9 @@
void syncAcl() const;
+ static const char* compileVersion();
+ static const char* compileFlags();
+
private:
void filter1(list<Snapshots::iterator>& tmp, time_t min_age);
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package cryptsetup for openSUSE:Factory checked in at 2014-09-17 21:24:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cryptsetup (Old)
and /work/SRC/openSUSE:Factory/.cryptsetup.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cryptsetup"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cryptsetup/cryptsetup.changes 2014-08-27 22:18:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.cryptsetup.new/cryptsetup.changes 2014-09-17 21:24:54.000000000 +0200
@@ -1,0 +2,17 @@
+Sun Sep 14 21:50:33 UTC 2014 - asterios.dramis(a)gmail.com
+
+- version 1.6.6
+ * LUKS: Fix keyslot device access for devices which
+ do not support direct IO operations. (Regression in 1.6.5.)
+ * LUKS: Fallback to old temporary keyslot device mapping method
+ if hash (for ESSIV) is not supported by userspace crypto
+ library. (Regression in 1.6.5.)
+ * Properly activate device with discard (TRIM for SSDs)
+ if requested even if dm_crypt module is not yet loaded.
+ Only if discard is not supported by the old kernel then
+ the discard option is ignored.
+ * Fix some static analysis build warnings (scan-build).
+ * Report crypto lib version only once (and always add kernel
+ version) in debug output.
+
+-------------------------------------------------------------------
Old:
----
cryptsetup-1.6.5.tar.sign
cryptsetup-1.6.5.tar.xz
New:
----
cryptsetup-1.6.6.tar.sign
cryptsetup-1.6.6.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cryptsetup.spec ++++++
--- /var/tmp/diff_new_pack.1rB7hC/_old 2014-09-17 21:24:56.000000000 +0200
+++ /var/tmp/diff_new_pack.1rB7hC/_new 2014-09-17 21:24:56.000000000 +0200
@@ -19,7 +19,7 @@
%define so_ver 4
Name: cryptsetup
-Version: 1.6.5
+Version: 1.6.6
Release: 0
Summary: Set Up dm-crypt Based Encrypted Block Devices
License: SUSE-GPL-2.0-with-openssl-exception and LGPL-2.0+
@@ -154,7 +154,7 @@
%defattr(-,root,root)
%{_libdir}/libcryptsetup.so.%{so_ver}*
-%files -n libcryptsetup4-hmac
+%files -n libcryptsetup%{so_ver}-hmac
%defattr(-,root,root)
%{_libdir}/.libcryptsetup.so.%{so_ver}*hmac
++++++ cryptsetup-1.6.5.tar.xz -> cryptsetup-1.6.6.tar.xz ++++++
++++ 7557 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package patterns-openSUSE for openSUSE:Factory checked in at 2014-09-17 21:24:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/patterns-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.patterns-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patterns-openSUSE"
Changes:
--------
--- /work/SRC/openSUSE:Factory/patterns-openSUSE/patterns-openSUSE.changes 2014-09-10 07:28:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.patterns-openSUSE.new/patterns-openSUSE.changes 2014-09-17 21:24:51.000000000 +0200
@@ -1,0 +2,5 @@
+Sat Sep 13 10:18:28 UTC 2014 - dap.darkness(a)gmail.com
+
+- Added new leechcraft plugins; deleted p100q (obsoleted).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ patterns-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.NwhU01/_old 2014-09-17 21:24:53.000000000 +0200
+++ /var/tmp/diff_new_pack.NwhU01/_new 2014-09-17 21:24:53.000000000 +0200
@@ -3270,12 +3270,15 @@
Recommends: leechcraft-pogooglue
Recommends: leechcraft-poshuku-autosearch
Recommends: leechcraft-poshuku-cleanweb
+Recommends: leechcraft-poshuku-dcac
Recommends: leechcraft-poshuku-fatape
Recommends: leechcraft-poshuku-filescheme
Recommends: leechcraft-poshuku-fua
Recommends: leechcraft-poshuku-keywords
Recommends: leechcraft-poshuku-onlinebookmarks-delicious
Recommends: leechcraft-poshuku-onlinebookmarks-readitlater
+Recommends: leechcraft-poshuku-qrd
+Recommends: leechcraft-poshuku-speeddial
Recommends: leechcraft-seekthru
Recommends: leechcraft-summary
Recommends: leechcraft-tabsessionmanager
@@ -3307,11 +3310,16 @@
Recommends: leechcraft-hotstreams
Recommends: leechcraft-knowhow
Recommends: leechcraft-lastfmscrobble
+Recommends: leechcraft-lmp-brainslugz
Recommends: leechcraft-lmp-dumbsync
+Recommends: leechcraft-lmp-fradj
Recommends: leechcraft-lmp-graffiti
+Recommends: leechcraft-lmp-httstream
Recommends: leechcraft-lmp-mp3tunes
+Recommends: leechcraft-lmp-mtpsync
Recommends: leechcraft-musiczombie
Recommends: leechcraft-vgrabber
+Recommends: leechcraft-vtyulc
Recommends: leechcraft-xproxy
Suggests: leechcraft-anhero
Suggests: leechcraft-kinotify
@@ -3339,6 +3347,7 @@
Recommends: leechcraft-anhero
Recommends: leechcraft-advancednotifications
Recommends: leechcraft-azoth-acetamide
+Recommends: leechcraft-azoth-astrality
Recommends: leechcraft-azoth-adiumstyles
Recommends: leechcraft-azoth-autoidler
Recommends: leechcraft-azoth-autopaste
@@ -3354,13 +3363,15 @@
Recommends: leechcraft-azoth-lastseen
Recommends: leechcraft-azoth-metacontacts
Recommends: leechcraft-azoth-modnok
+Recommends: leechcraft-azoth-mucommands
+Recommends: leechcraft-azoth-murm
Recommends: leechcraft-azoth-nativeemoticons
-Recommends: leechcraft-azoth-p100q
Recommends: leechcraft-azoth-rosenthal
Recommends: leechcraft-azoth-shx
Recommends: leechcraft-azoth-standardstyles
Recommends: leechcraft-azoth-vader
Recommends: leechcraft-azoth-velvetbird
+Recommends: leechcraft-azoth-woodpecker
Recommends: leechcraft-azoth-xoox
Recommends: leechcraft-azoth-xtazy
Recommends: leechcraft-azoth-zheet
@@ -3402,17 +3413,27 @@
Requires: leechcraft-xproxy
Recommends: leechcraft-advancednotifications
Recommends: leechcraft-aggregator-bodyfetch
+Recommends: leechcraft-aggregator-webaccess
Recommends: leechcraft-anhero
Recommends: leechcraft-bittorrent
+Recommends: leechcraft-blasq
+Recommends: leechcraft-blasq-spegnersi
+Recommends: leechcraft-blasq-deathnote
+Recommends: leechcraft-blasq-rappor
+Recommends: leechcraft-blasq-vangog
Recommends: leechcraft-blogique-metida
+Recommends: leechcraft-certmgr
Recommends: leechcraft-dbusmanager
Recommends: leechcraft-dolozhee
+Recommends: leechcraft-htthare
+Recommends: leechcraft-imgaste
Recommends: leechcraft-knowhow
Recommends: leechcraft-netstoremanager-googledrive
Recommends: leechcraft-newlife
Recommends: leechcraft-pogooglue
Recommends: leechcraft-seekthru
Recommends: leechcraft-summary
+Recommends: leechcraft-xtazy
%description leechcraft_netutils
@@ -3438,6 +3459,7 @@
Recommends: leechcraft-dbusmanager
Recommends: leechcraft-dolozhee
Recommends: leechcraft-knowhow
+Recommends: leechcraft-monocle-dik
Recommends: leechcraft-monocle-fxb
Recommends: leechcraft-monocle-pdf
Recommends: leechcraft-monocle-postrus
@@ -3467,11 +3489,14 @@
Recommends: leechcraft-anhero
Recommends: leechcraft-auscrie
Recommends: leechcraft-cstp
+Recommends: leechcraft-devmon
Recommends: leechcraft-dbusmanager
Recommends: leechcraft-dolozhee
Recommends: leechcraft-dumbeep
+Recommends: leechcraft-eleeminator
Recommends: leechcraft-gacts
Recommends: leechcraft-glance
+Recommends: leechcraft-harbinger
Recommends: leechcraft-historyholder
Recommends: leechcraft-kinotify
Recommends: leechcraft-knowhow
@@ -3480,6 +3505,7 @@
Recommends: leechcraft-newlife
Recommends: leechcraft-pintab
Recommends: leechcraft-pogooglue
+Recommends: leechcraft-rosenthal
Recommends: leechcraft-secman-simplestorage
Recommends: leechcraft-seekthru
Recommends: leechcraft-summary
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package swig for openSUSE:Factory checked in at 2014-09-17 21:24:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/swig (Old)
and /work/SRC/openSUSE:Factory/.swig.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "swig"
Changes:
--------
--- /work/SRC/openSUSE:Factory/swig/swig.changes 2014-08-29 17:42:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.swig.new/swig.changes 2014-09-17 21:24:49.000000000 +0200
@@ -1,0 +2,5 @@
+Sun Sep 14 15:34:33 UTC 2014 - schwab(a)linux-m68k.org
+
+- Fix syntax error in find command
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ swig.spec ++++++
--- /var/tmp/diff_new_pack.ubPOZb/_old 2014-09-17 21:24:50.000000000 +0200
+++ /var/tmp/diff_new_pack.ubPOZb/_new 2014-09-17 21:24:50.000000000 +0200
@@ -146,7 +146,7 @@
# fix perms
chmod -x %{buildroot}%{docpath}/Manual/*
-find %{buildroot}%{_libdir}/swig -name '*.h' -perm +111 | \
+find %{buildroot}%{_libdir}/swig -name '*.h' -perm /111 | \
xargs --no-run-if-empty chmod -x
ln -s %{_libdir}/swig/examples %{buildroot}%{docpath}/Examples
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package xapian-core for openSUSE:Factory checked in at 2014-09-17 21:24:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xapian-core (Old)
and /work/SRC/openSUSE:Factory/.xapian-core.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xapian-core"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xapian-core/xapian-core.changes 2014-05-01 07:53:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xapian-core.new/xapian-core.changes 2014-09-17 21:24:48.000000000 +0200
@@ -1,0 +2,5 @@
+Thu Sep 11 16:20:33 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Add baselibs.conf, needed by baloo 32bit libraries
+
+-------------------------------------------------------------------
New:
----
baselibs.conf
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xapian-core.spec ++++++
--- /var/tmp/diff_new_pack.AFvRUc/_old 2014-09-17 21:24:49.000000000 +0200
+++ /var/tmp/diff_new_pack.AFvRUc/_new 2014-09-17 21:24:49.000000000 +0200
@@ -24,6 +24,7 @@
Group: Productivity/Databases/Servers
Url: http://www.xapian.org/
Source: http://www.oligarchy.co.uk/xapian/%{version}/%{name}-%{version}.tar.xz
+Source1: baselibs.conf
BuildRequires: automake
BuildRequires: fdupes
BuildRequires: gcc-c++
++++++ baselibs.conf ++++++
libxapian22--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package MozillaThunderbird for openSUSE:Factory checked in at 2014-09-17 21:24:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaThunderbird (Old)
and /work/SRC/openSUSE:Factory/.MozillaThunderbird.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaThunderbird"
Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaThunderbird/MozillaThunderbird.changes 2014-09-04 07:56:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/MozillaThunderbird.changes 2014-09-17 21:24:33.000000000 +0200
@@ -1,0 +2,8 @@
+Tue Sep 9 12:53:41 UTC 2014 - wolfgang(a)rosenauer.org
+
+- update to Thunderbird 31.1.1
+ * Fixed an issue where mailing lists with spaces in their names
+ couldn't be autocompleted (bmo#1060901)
+ * Fixed an occasional startup crash (bmo#1005336)
+
+-------------------------------------------------------------------
Old:
----
l10n-31.1.0.tar.xz
thunderbird-31.1.0-source.tar.xz
New:
----
l10n-31.1.1.tar.xz
thunderbird-31.1.1-source.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaThunderbird.spec ++++++
--- /var/tmp/diff_new_pack.cwPLBk/_old 2014-09-17 21:24:48.000000000 +0200
+++ /var/tmp/diff_new_pack.cwPLBk/_new 2014-09-17 21:24:48.000000000 +0200
@@ -17,7 +17,7 @@
#
-%define mainversion 31.1.0
+%define mainversion 31.1.1
%define update_channel release
%if %suse_version > 1210
@@ -70,7 +70,7 @@
%endif
Version: %{mainversion}
Release: 0
-%define releasedate 2014082900
+%define releasedate 2014090900
Provides: thunderbird = %{version}
%if %{with_kde}
# this is needed to match this package with the kde4 helper package without the main package
++++++ compare-locales.tar.xz ++++++
++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.cwPLBk/_old 2014-09-17 21:24:48.000000000 +0200
+++ /var/tmp/diff_new_pack.cwPLBk/_new 2014-09-17 21:24:48.000000000 +0200
@@ -2,8 +2,8 @@
CHANNEL="esr31"
BRANCH="releases/comm-$CHANNEL"
-RELEASE_TAG="THUNDERBIRD_31_1_0_RELEASE"
-VERSION="31.1.0"
+RELEASE_TAG="THUNDERBIRD_31_1_1_RELEASE"
+VERSION="31.1.1"
echo "cloning $BRANCH..."
hg clone http://hg.mozilla.org/$BRANCH thunderbird
++++++ l10n-31.1.0.tar.xz -> l10n-31.1.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/l10n-31.1.0.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/l10n-31.1.1.tar.xz differ: char 25, line 1
++++++ thunderbird-31.1.0-source.tar.xz -> thunderbird-31.1.1-source.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaThunderbird/thunderbird-31.1.0-source.tar.xz /work/SRC/openSUSE:Factory/.MozillaThunderbird.new/thunderbird-31.1.1-source.tar.xz differ: char 25, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-packager for openSUSE:Factory checked in at 2014-09-17 21:24:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-packager (Old)
and /work/SRC/openSUSE:Factory/.yast2-packager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-packager"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-packager/yast2-packager.changes 2014-09-07 11:10:06.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-packager.new/yast2-packager.changes 2014-09-17 21:24:31.000000000 +0200
@@ -1,0 +2,10 @@
+Thu Sep 11 08:09:16 UTC 2014 - ancor(a)suse.com
+
+- Improved automatic selection of packages for remote
+ administration (VNC) and for installation with remote X11.
+ Fixes bnc#896185 and bnc#895070.
+- Enabled access to those selections from other yast modules.
+ First step to fix bnc#896178.
+- 3.1.47
+
+-------------------------------------------------------------------
Old:
----
yast2-packager-3.1.46.tar.bz2
New:
----
yast2-packager-3.1.47.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.LG2O1i/_old 2014-09-17 21:24:32.000000000 +0200
+++ /var/tmp/diff_new_pack.LG2O1i/_new 2014-09-17 21:24:32.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-packager
-Version: 3.1.46
+Version: 3.1.47
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ yast2-packager-3.1.46.tar.bz2 -> yast2-packager-3.1.47.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.46/package/yast2-packager.changes new/yast2-packager-3.1.47/package/yast2-packager.changes
--- old/yast2-packager-3.1.46/package/yast2-packager.changes 2014-09-05 17:30:41.000000000 +0200
+++ new/yast2-packager-3.1.47/package/yast2-packager.changes 2014-09-12 11:18:10.000000000 +0200
@@ -1,4 +1,14 @@
-------------------------------------------------------------------
+Thu Sep 11 08:09:16 UTC 2014 - ancor(a)suse.com
+
+- Improved automatic selection of packages for remote
+ administration (VNC) and for installation with remote X11.
+ Fixes bnc#896185 and bnc#895070.
+- Enabled access to those selections from other yast modules.
+ First step to fix bnc#896178.
+- 3.1.47
+
+-------------------------------------------------------------------
Fri Sep 5 14:53:10 UTC 2014 - lslezak(a)suse.cz
- /etc/sysconfig/kernel:INITRD_MODULES has been dropped, do not
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.46/package/yast2-packager.spec new/yast2-packager-3.1.47/package/yast2-packager.spec
--- old/yast2-packager-3.1.46/package/yast2-packager.spec 2014-09-05 17:30:41.000000000 +0200
+++ new/yast2-packager-3.1.47/package/yast2-packager.spec 2014-09-12 11:18:10.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-packager
-Version: 3.1.46
+Version: 3.1.47
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.46/src/modules/Packages.rb new/yast2-packager-3.1.47/src/modules/Packages.rb
--- old/yast2-packager-3.1.46/src/modules/Packages.rb 2014-09-05 17:30:41.000000000 +0200
+++ new/yast2-packager-3.1.47/src/modules/Packages.rb 2014-09-12 11:18:11.000000000 +0200
@@ -16,6 +16,12 @@
# All known types of resolvables
RESOLVABLE_TYPES = [:product, :patch, :package, :pattern, :language]
+ # Minimum set of packages required to enable VNC server
+ VNC_BASE_PACKAGES = ["xorg-x11", "xorg-x11-Xvnc", "xorg-x11-fonts", "xinetd"]
+ # Default window manager for VNC if none is installed
+ DEFAULT_WM = "icewm"
+ # Minimum set of packages required for installation with remote X11 server
+ REMOTE_X11_BASE_PACKAGES = [ "xorg-x11-server", "xorg-x11-fonts", "icewm" ]
def main
Yast.import "UI"
@@ -922,7 +928,6 @@
"xorg-x11-server",
"xorg-x11-server-glx",
"libusb",
- "sax2-tools",
"yast2-x11"
]
end
@@ -938,17 +943,9 @@
def modePackages
packages = []
- if Linuxrc.vnc
- packages.concat [ "yast2-qt", "xorg-x11-Xvnc",
- "xorg-x11-fonts", "icewm", "sax2-tools", "yast2-x11", "xinetd" ]
- end
-
+ packages.concat(vnc_packages) if Linuxrc.vnc
#this means we have a remote X server
- if Linuxrc.display_ip
- packages.concat [ "yast2-qt", "xorg-x11-server", "xorg-x11-fonts",
- "icewm", "sax2-tools", "yast2-x11" ]
- end
-
+ packages.concat(remote_x11_packages) if Linuxrc.display_ip
packages << "sbl" if Linuxrc.braille
packages << "openssh" if Linuxrc.usessh
@@ -2549,6 +2546,29 @@
nil
end
+ # List of packages expected to be installed in order to enable
+ # remote administration (VNC)
+ #
+ # @return Array<String>
+ def vnc_packages
+ packages = VNC_BASE_PACKAGES.dup
+ # At least one windowmanager must be installed (#427044)
+ # If none is there, use a fallback
+ packages << DEFAULT_WM unless has_window_manager?
+ packages << "yast2-x11" if Mode.autoinst
+ packages
+ end
+
+ # List of packages expected to be installed in order to use
+ # a remote X11 server
+ #
+ # @return Array<String>
+ def remote_x11_packages
+ packages = REMOTE_X11_BASE_PACKAGES.dup
+ packages << "yast2-x11" if Mode.autoinst
+ packages
+ end
+
private
# Reads product feature defined by parameters, logs what it gets
@@ -2640,6 +2660,8 @@
publish :function => :SelectKernelPackages, :type => "void ()"
publish :function => :default_patterns, :type => "list <string> ()"
publish :function => :log_software_selection, :type => "void ()"
+ publish :function => :vnc_packages, :type => "list <string> ()"
+ publish :function => :remote_x11_packages, :type => "list <string> ()"
private
@@ -2677,6 +2699,13 @@
def kept_products(products)
products.select { |product| product["status"] == :installed }
end
+
+ # Checks if a window manager is installed or selected for installation
+ #
+ # @return [Boolean] true if there is a window manager
+ def has_window_manager?
+ Pkg.IsSelected("windowmanager") || Pkg.IsProvided("windowmanager")
+ end
end
Packages = PackagesClass.new
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.46/test/packages_test.rb new/yast2-packager-3.1.47/test/packages_test.rb
--- old/yast2-packager-3.1.46/test/packages_test.rb 2014-09-05 17:30:42.000000000 +0200
+++ new/yast2-packager-3.1.47/test/packages_test.rb 2014-09-12 11:18:11.000000000 +0200
@@ -10,6 +10,8 @@
Yast.import "SCR"
Yast.import "Product"
Yast.import "ProductFeatures"
+Yast.import "Linuxrc"
+Yast.import "Pkg"
SCR_STRING_PATH = Yast::Path.new(".target.string")
SCR_BASH_PATH = Yast::Path.new(".target.bash")
@@ -378,4 +380,152 @@
end
end
+ describe "#vnc_packages" do
+ let(:packages) { Yast::Packages.vnc_packages.sort.uniq }
+ let(:base_packages) { ["xinetd", "xorg-x11", "xorg-x11-Xvnc", "xorg-x11-fonts"] }
+ let(:base_packages_and_wm) { ["icewm"] + base_packages }
+
+ context "during installation" do
+ before do
+ allow(Yast::Pkg).to receive(:IsProvided).and_return false
+ allow(Yast::Mode).to receive(:mode).and_return "installation"
+ end
+
+ context "with window manager already selected" do
+ before do
+ allow(Yast::Pkg).to receive(:IsSelected).and_return true
+ end
+
+ it "includes xinetd and xorg" do
+ expect(packages).to eq(base_packages)
+ end
+ end
+
+ context "without window manager selected" do
+ before do
+ allow(Yast::Pkg).to receive(:IsSelected).and_return false
+ end
+
+ it "includes xinetd, xorg and icewm" do
+ expect(packages).to eq(base_packages_and_wm)
+ end
+ end
+ end
+
+ context "during autoinstallation" do
+ before do
+ allow(Yast::Pkg).to receive(:IsProvided).and_return false
+ allow(Yast::Mode).to receive(:mode).and_return "autoinstallation"
+ end
+
+ context "with window manager already selected" do
+ before do
+ allow(Yast::Pkg).to receive(:IsSelected).and_return true
+ end
+
+ it "includes xinetd, xorg and yast2-x11" do
+ expect(packages).to eq(base_packages + ["yast2-x11"])
+ end
+ end
+
+ context "without window manager selected" do
+ before do
+ allow(Yast::Pkg).to receive(:IsSelected).and_return false
+ end
+
+ it "includes xinetd, xorg and icewm" do
+ expect(packages).to eq(base_packages_and_wm + ["yast2-x11"])
+ end
+ end
+ end
+
+ context "in normal mode" do
+ before do
+ allow(Yast::Pkg).to receive(:IsSelected).and_return false
+ allow(Yast::Mode).to receive(:mode).and_return "normal"
+ end
+
+ context "with window manager already installed" do
+ before do
+ allow(Yast::Pkg).to receive(:IsProvided).and_return true
+ end
+
+ it "includes xinetd and xorg" do
+ expect(packages).to eq(base_packages)
+ end
+ end
+
+ context "without window manager installed" do
+ before do
+ allow(Yast::Pkg).to receive(:IsProvided).and_return false
+ end
+
+ it "includes xinetd, xorg and icewm" do
+ expect(packages).to eq(base_packages_and_wm)
+ end
+ end
+ end
+ end
+
+ describe "#modePackages" do
+ before do
+ allow(Yast::Linuxrc).to receive(:vnc).and_return vnc
+ allow(Yast::Linuxrc).to receive(:display_ip).and_return display_ip
+ allow(Yast::Linuxrc).to receive(:braille).and_return braille
+ allow(Yast::Linuxrc).to receive(:usessh).and_return usessh
+ allow(Yast::Mode).to receive(:mode).and_return mode
+ end
+ let(:packages) { Yast::Packages.modePackages.sort.uniq }
+
+ context "on a boring local regular installation" do
+ let(:vnc) { false }
+ let(:display_ip) { false }
+ let(:braille) { false }
+ let(:usessh) { false }
+ let(:mode) { "installation" }
+
+ it "returns an empty array" do
+ expect(packages).to be_empty
+ end
+ end
+
+ context "over ssh with a remote X server" do
+ let(:vnc) { false }
+ let(:display_ip) { true }
+ let(:braille) { false }
+ let(:usessh) { true }
+ let(:xorg_icewm_and_ssh) {
+ ["icewm", "openssh", "xorg-x11-fonts", "xorg-x11-server"]
+ }
+
+ context "during installation" do
+ let(:mode) { "installation" }
+
+ it "includes xorg, icewm and openssh" do
+ expect(packages).to eq(xorg_icewm_and_ssh)
+ end
+ end
+
+ context "during autoinstallation" do
+ let(:mode) { "autoinstallation" }
+
+ it "includes xorg, icewm, openssh and yast2-x11" do
+ expect(packages).to eq(xorg_icewm_and_ssh + ["yast2-x11"])
+ end
+ end
+ end
+
+ context "on vnc installation" do
+ let(:vnc) { true }
+ let(:display_ip) { false }
+ let(:braille) { false }
+ let(:usessh) { false }
+ let(:mode) { "installation" }
+
+ it "relies on #vnc_packages" do
+ expect(Yast::Packages).to receive(:vnc_packages).and_return %w(five names)
+ expect(packages).to eq(%w(five names))
+ end
+ end
+ end
end
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package wicked for openSUSE:Factory checked in at 2014-09-17 21:23:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wicked (Old)
and /work/SRC/openSUSE:Factory/.wicked.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wicked"
Changes:
--------
--- /work/SRC/openSUSE:Factory/wicked/wicked.changes 2014-09-12 15:25:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.wicked.new/wicked.changes 2014-09-17 21:23:54.000000000 +0200
@@ -1,0 +2,26 @@
+Wed Sep 17 11:03:10 UTC 2014 - pwieczorkiewicz(a)suse.com
+
+- version 0.6.9
+- ifstatus: address status reporting improvements, adding --verbose
+ parameter
+- addrconf: correctly fetch lease info flags, disarmed old auto6
+ code, added prerequires (bnc#894885)
+- fsm: Do not destroy schema requirements on rearm
+- ipv6: added accept-ra sysctl support, auto6 code clean-up
+- ifconfig: fixed lease updater allocation
+
+-------------------------------------------------------------------
+Tue Sep 16 03:25:28 UTC 2014 - mt(a)suse.de
+
+- version 0.6.8
+- ifup,reload,status: return setup-in-progress code,
+ fix exit code override when systemd in picture and
+ disable pulling device status from addresses
+- ifstatus: report slaves device as enslaved
+- fixed to not reset master device name on success
+- lower printout of debug messages (bnc#891036)
+- nanny: correctly initialize timeout variable to
+ busy wait instead to wasting cpu using poll with
+ a 0 timeout (bnc#895970)
+
+-------------------------------------------------------------------
Old:
----
wicked-0.6.7.tar.bz2
New:
----
wicked-0.6.9.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wicked.spec ++++++
--- /var/tmp/diff_new_pack.ANsyeL/_old 2014-09-17 21:23:55.000000000 +0200
+++ /var/tmp/diff_new_pack.ANsyeL/_new 2014-09-17 21:23:55.000000000 +0200
@@ -18,7 +18,7 @@
%define release_prefix %{?snapshot:%{snapshot}}%{!?snapshot:0}
Name: wicked
-Version: 0.6.7
+Version: 0.6.9
Release: %{release_prefix}.0.0
Summary: Network configuration infrastructure
License: GPL-2.0
++++++ wicked-0.6.7.tar.bz2 -> wicked-0.6.9.tar.bz2 ++++++
++++ 3084 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2 for openSUSE:Factory checked in at 2014-09-17 21:23:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2 (Old)
and /work/SRC/openSUSE:Factory/.yast2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2/yast2.changes 2014-09-07 11:10:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2.new/yast2.changes 2014-09-17 21:23:52.000000000 +0200
@@ -1,0 +2,14 @@
+Wed Sep 17 09:16:23 CEST 2014 - schubi(a)suse.de
+
+- Checking nil for repository name. (bnc#896466)
+- 3.1.107
+
+-------------------------------------------------------------------
+Tue Sep 16 12:58:53 UTC 2014 - ancor(a)suse.com
+
+- Added an extra help message when authentication against a
+ registration server fails while refreshing repositories
+ (bnc#895719)
+- 3.1.106
+
+-------------------------------------------------------------------
Old:
----
yast2-3.1.105.tar.bz2
New:
----
yast2-3.1.107.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2.spec ++++++
--- /var/tmp/diff_new_pack.KwR0qT/_old 2014-09-17 21:23:53.000000000 +0200
+++ /var/tmp/diff_new_pack.KwR0qT/_new 2014-09-17 21:23:53.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2
-Version: 3.1.105
+Version: 3.1.107
Release: 0
Url: https://github.com/yast/yast-yast2
++++++ yast2-3.1.105.tar.bz2 -> yast2-3.1.107.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.105/library/packages/src/modules/PackageCallbacks.rb new/yast2-3.1.107/library/packages/src/modules/PackageCallbacks.rb
--- old/yast2-3.1.105/library/packages/src/modules/PackageCallbacks.rb 2014-09-06 07:47:23.000000000 +0200
+++ new/yast2-3.1.107/library/packages/src/modules/PackageCallbacks.rb 2014-09-17 09:31:10.000000000 +0200
@@ -32,6 +32,7 @@
# $Id$
#
require "yast"
+require "uri"
module Yast
class PackageCallbacksClass < Module
@@ -2538,6 +2539,23 @@
def Authentication(url, msg, username, password)
+
+ # FIXME after SLE12 release
+ # The following 'if' block is a workaround for bnc#895719 that should be
+ # extracted to a proper private method (not sure if it will work as
+ # expected being a callback) and adapted to use normal _() instead of
+ # dgettext()
+ url_query = URI(url).query
+ if url_query
+ url_params = Hash[URI.decode_www_form(url_query)]
+ if url_params.has_key?("credentials")
+ # Seems to be the url of a registration server, so add the tip to msg
+ tip = Builtins.dgettext("registration",
+ "Check that this system is known to the registration server.")
+ msg = "#{tip}\n#{msg}"
+ end
+ end
+
popup = VBox(
HSpacing(50), # enforce width
VSpacing(0.1),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.105/library/packages/src/modules/SignatureCheckDialogs.rb new/yast2-3.1.107/library/packages/src/modules/SignatureCheckDialogs.rb
--- old/yast2-3.1.105/library/packages/src/modules/SignatureCheckDialogs.rb 2014-09-06 07:47:23.000000000 +0200
+++ new/yast2-3.1.107/library/packages/src/modules/SignatureCheckDialogs.rb 2014-09-17 09:31:10.000000000 +0200
@@ -974,7 +974,7 @@
"(%2):"
),
Ops.get_locale(repo, "name", _("Unknown")),
- repo["url"] ? repo["url"].scan(/.{1,59}/).join("\n") :
+ repo && repo["url"] ? repo["url"].scan(/.{1,59}/).join("\n") :
_("Unknown")
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.105/package/yast2.changes new/yast2-3.1.107/package/yast2.changes
--- old/yast2-3.1.105/package/yast2.changes 2014-09-06 07:47:23.000000000 +0200
+++ new/yast2-3.1.107/package/yast2.changes 2014-09-17 09:31:10.000000000 +0200
@@ -1,4 +1,18 @@
-------------------------------------------------------------------
+Wed Sep 17 09:16:23 CEST 2014 - schubi(a)suse.de
+
+- Checking nil for repository name. (bnc#896466)
+- 3.1.107
+
+-------------------------------------------------------------------
+Tue Sep 16 12:58:53 UTC 2014 - ancor(a)suse.com
+
+- Added an extra help message when authentication against a
+ registration server fails while refreshing repositories
+ (bnc#895719)
+- 3.1.106
+
+-------------------------------------------------------------------
Fri Sep 5 14:32:23 UTC 2014 - lslezak(a)suse.cz
- do not write /etc/sysconfig/kernel:INITRD_MODULES, it has been
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-3.1.105/package/yast2.spec new/yast2-3.1.107/package/yast2.spec
--- old/yast2-3.1.105/package/yast2.spec 2014-09-06 07:47:23.000000000 +0200
+++ new/yast2-3.1.107/package/yast2.spec 2014-09-17 09:31:10.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2
-Version: 3.1.105
+Version: 3.1.107
Release: 0
URL: https://github.com/yast/yast-yast2
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package dbus-1 for openSUSE:Factory checked in at 2014-09-17 21:23:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dbus-1 (Old)
and /work/SRC/openSUSE:Factory/.dbus-1.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dbus-1"
Changes:
--------
--- /work/SRC/openSUSE:Factory/dbus-1/dbus-1-x11.changes 2014-07-27 08:25:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.dbus-1.new/dbus-1-x11.changes 2014-09-17 21:23:50.000000000 +0200
@@ -1,0 +2,46 @@
+Tue Sep 16 16:21:06 UTC 2014 - fstrba(a)suse.com
+
+- Update to 1.8.8:
+ + Security fixes:
+ - Do not accept an extra fd in the padding of a cmsg message,
+ which could lead to a 4-byte heap buffer overrun. (CVE-2014-3635,
+ fdo#83622, bnc#896453; Simon McVittie)
+ - Reduce default for maximum Unix file descriptors passed per
+ message from 1024 to 16, preventing a uid with the default maximum
+ number of connections from exhausting the system bus' file
+ descriptors under Linux's default rlimit. Distributors or system
+ administrators with a more restrictive fd limit may wish to reduce
+ these limits further.
+ Additionally, on Linux this prevents a second denial of service
+ in which the dbus-daemon can be made to exceed the maximum number
+ of fds per sendmsg() and disconnect the process that would have
+ received them. (CVE-2014-3636, fdo#82820, bnc#896453; Alban Crequy)
+ - Disconnect connections that still have a fd pending unmarshalling
+ after a new configurable limit, pending_fd_timeout (defaulting to
+ 150 seconds), removing the possibility of creating an abusive
+ connection that cannot be disconnected by setting up a circular
+ reference to a connection's file descriptor. (CVE-2014-3637,
+ fdo#80559, bnc#896453; Alban Crequy)
+ - Reduce default for maximum pending replies per connection from
+ 8192 to 128, mitigating an algorithmic complexity
+ denial-of-service attack (CVE-2014-3638, fdo#81053, bnc#896453;
+ Alban Crequy)
+ - Reduce default for authentication timeout on the system bus from
+ 30 seconds to 5 seconds, avoiding denial of service by using up
+ all unauthenticated connection slots; and when all unauthenticated
+ connection slots are used up, make new connection attempts block
+ instead of disconnecting them. (CVE-2014-3639, fdo#80919,
+ bnc#896453; Alban Crequy)
+ + Other fixes:
+ - Check for libsystemd from systemd >= 209, falling back to the
+ older separate libraries if not found (Umut Tezduyar Lindskog,
+ Simon McVittie)
+ - On Linux, use prctl() to disable core dumps from a test executable
+ that deliberately raises SIGSEGV to test dbus-daemon's handling
+ of that condition (fdo#83772, Simon McVittie)
+ - Fix compilation with --enable-stats (fdo#81043, Gentoo #507232;
+ Alban Crequy)
+ - Improve documentation for running tests on Windows (fdo#41252,
+ Ralf Habacker)
+
+-------------------------------------------------------------------
@@ -19 +65 @@
- - On Linux ≥ 2.6.37-rc4, if sendmsg() fails with ETOOMANYREFS,
+ - On Linux >= 2.6.37-rc4, if sendmsg() fails with ETOOMANYREFS,
dbus-1.changes: same change
Old:
----
dbus-1.8.6.tar.gz
New:
----
dbus-1.8.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dbus-1-x11.spec ++++++
--- /var/tmp/diff_new_pack.LfTtZy/_old 2014-09-17 21:23:51.000000000 +0200
+++ /var/tmp/diff_new_pack.LfTtZy/_new 2014-09-17 21:23:51.000000000 +0200
@@ -46,7 +46,7 @@
BuildRequires: libexpat-devel
BuildRequires: libtool
BuildRequires: pkg-config
-Version: 1.8.6
+Version: 1.8.8
Release: 0
#
Source0: http://dbus.freedesktop.org/releases/dbus/%{_name}-%{version}.tar.gz
dbus-1.spec: same change
++++++ dbus-1.8.6.tar.gz -> dbus-1.8.8.tar.gz ++++++
++++ 1909 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/NEWS new/dbus-1.8.8/NEWS
--- old/dbus-1.8.6/NEWS 2014-06-30 15:17:34.000000000 +0200
+++ new/dbus-1.8.8/NEWS 2014-09-15 13:42:33.000000000 +0200
@@ -1,3 +1,60 @@
+D-Bus 1.8.8 (2014-09-16)
+==
+
+The "smashy smashy egg man" release.
+
+Security fixes:
+
+• Do not accept an extra fd in the padding of a cmsg message, which
+ could lead to a 4-byte heap buffer overrun.
+ (CVE-2014-3635, fd.o #83622; Simon McVittie)
+
+• Reduce default for maximum Unix file descriptors passed per message
+ from 1024 to 16, preventing a uid with the default maximum number of
+ connections from exhausting the system bus' file descriptors under
+ Linux's default rlimit. Distributors or system administrators with a
+ more restrictive fd limit may wish to reduce these limits further.
+
+ Additionally, on Linux this prevents a second denial of service
+ in which the dbus-daemon can be made to exceed the maximum number
+ of fds per sendmsg() and disconnect the process that would have
+ received them.
+ (CVE-2014-3636, fd.o #82820; Alban Crequy)
+
+• Disconnect connections that still have a fd pending unmarshalling after
+ a new configurable limit, pending_fd_timeout (defaulting to 150 seconds),
+ removing the possibility of creating an abusive connection that cannot be
+ disconnected by setting up a circular reference to a connection's
+ file descriptor.
+ (CVE-2014-3637, fd.o #80559; Alban Crequy)
+
+• Reduce default for maximum pending replies per connection from 8192 to 128,
+ mitigating an algorithmic complexity denial-of-service attack
+ (CVE-2014-3638, fd.o #81053; Alban Crequy)
+
+• Reduce default for authentication timeout on the system bus from
+ 30 seconds to 5 seconds, avoiding denial of service by using up
+ all unauthenticated connection slots; and when all unauthenticated
+ connection slots are used up, make new connection attempts block
+ instead of disconnecting them.
+ (CVE-2014-3639, fd.o #80919; Alban Crequy)
+
+Other fixes:
+
+• Check for libsystemd from systemd >= 209, falling back to
+ the older separate libraries if not found (Umut Tezduyar Lindskog,
+ Simon McVittie)
+
+• On Linux, use prctl() to disable core dumps from a test executable
+ that deliberately raises SIGSEGV to test dbus-daemon's handling
+ of that condition (fd.o #83772, Simon McVittie)
+
+• Fix compilation with --enable-stats (fd.o #81043, Gentoo #507232;
+ Alban Crequy)
+
+• Improve documentation for running tests on Windows (fd.o #41252,
+ Ralf Habacker)
+
D-Bus 1.8.6 (2014-06-02)
==
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/README.win new/dbus-1.8.8/README.win
--- old/dbus-1.8.6/README.win 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/README.win 2014-09-09 20:51:47.000000000 +0200
@@ -13,7 +13,7 @@
Supported compilers
-------------------
-On windows Microsoft Visual Studio 2010 (Express and professional variants)
+On windows Microsoft Visual Studio 2010 (Express and professional variants)
and mingw-w64|32 are known to work.
Building
@@ -30,14 +30,19 @@
Tests
-----
+ - run complete test suite
+ make check
+ or
+ ctest [-V]
+
- dbus library check
- bin\test-dbus.exe <build-root>\test\data
+ ctest [-V] -R test-dbus
- bus daemon check
- bin\test-bus.exe <build-root>\test\data
+ ctest [-V] -R test-bus
- check available names
- bin\test_names.exe
+ ctest [-V] -R test-names
- check if dbus-daemon is accessable
bin\dbus-send.exe --session --type=method_call --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.ListNames method return sender=org.freedesktop.DBus -> dest=:1.4 array [ string "org.freedesktop.DBus"string ":1.4"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/bus.c new/dbus-1.8.8/bus/bus.c
--- old/dbus-1.8.6/bus/bus.c 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/bus/bus.c 2014-09-15 13:29:28.000000000 +0200
@@ -39,6 +39,7 @@
#include <dbus/dbus-hash.h>
#include <dbus/dbus-credentials.h>
#include <dbus/dbus-internals.h>
+#include <dbus/dbus-server-protected.h>
#ifdef DBUS_CYGWIN
#include <signal.h>
@@ -68,6 +69,7 @@
unsigned int keep_umask : 1;
unsigned int allow_anonymous : 1;
unsigned int systemd_activation : 1;
+ dbus_bool_t watches_enabled;
};
static dbus_int32_t server_data_slot = -1;
@@ -758,6 +760,8 @@
goto failed;
}
+ context->watches_enabled = TRUE;
+
context->registry = bus_registry_new (context);
if (context->registry == NULL)
{
@@ -1237,6 +1241,12 @@
}
int
+bus_context_get_pending_fd_timeout (BusContext *context)
+{
+ return context->limits.pending_fd_timeout;
+}
+
+int
bus_context_get_max_completed_connections (BusContext *context)
{
return context->limits.max_completed_connections;
@@ -1658,3 +1668,36 @@
_dbus_verbose ("security policy allowing message\n");
return TRUE;
}
+
+void
+bus_context_check_all_watches (BusContext *context)
+{
+ DBusList *link;
+ dbus_bool_t enabled = TRUE;
+
+ if (bus_connections_get_n_incomplete (context->connections) >=
+ bus_context_get_max_incomplete_connections (context))
+ {
+ enabled = FALSE;
+ }
+
+ if (context->watches_enabled == enabled)
+ return;
+
+ context->watches_enabled = enabled;
+
+ for (link = _dbus_list_get_first_link (&context->servers);
+ link != NULL;
+ link = _dbus_list_get_next_link (&context->servers, link))
+ {
+ /* A BusContext might contains several DBusServer (if there are
+ * several <listen> configuration items) and a DBusServer might
+ * contain several DBusWatch in its DBusWatchList (if getaddrinfo
+ * returns several addresses on a dual IPv4-IPv6 stack or if
+ * systemd passes several fds).
+ * We want to enable/disable them all.
+ */
+ DBusServer *server = link->data;
+ _dbus_server_toggle_all_watches (server, enabled);
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/bus.h new/dbus-1.8.8/bus/bus.h
--- old/dbus-1.8.6/bus/bus.h 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/bus/bus.h 2014-09-15 13:29:28.000000000 +0200
@@ -54,6 +54,7 @@
long max_message_unix_fds; /**< Max number of unix fds of a single message*/
int activation_timeout; /**< How long to wait for an activation to time out */
int auth_timeout; /**< How long to wait for an authentication to time out */
+ int pending_fd_timeout; /**< How long to wait for a D-Bus message with a fd to time out */
int max_completed_connections; /**< Max number of authorized connections */
int max_incomplete_connections; /**< Max number of incomplete connections */
int max_connections_per_user; /**< Max number of connections auth'd as same user */
@@ -106,6 +107,7 @@
DBusError *error);
int bus_context_get_activation_timeout (BusContext *context);
int bus_context_get_auth_timeout (BusContext *context);
+int bus_context_get_pending_fd_timeout (BusContext *context);
int bus_context_get_max_completed_connections (BusContext *context);
int bus_context_get_max_incomplete_connections (BusContext *context);
int bus_context_get_max_connections_per_user (BusContext *context);
@@ -125,5 +127,6 @@
DBusConnection *proposed_recipient,
DBusMessage *message,
DBusError *error);
+void bus_context_check_all_watches (BusContext *context);
#endif /* BUS_BUS_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/config-parser.c new/dbus-1.8.8/bus/config-parser.c
--- old/dbus-1.8.6/bus/config-parser.c 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/bus/config-parser.c 2014-09-15 13:29:28.000000000 +0200
@@ -438,7 +438,12 @@
* and legitimate auth will fail. If interactive auth (ask user for
* password) is allowed, then potentially it has to be quite long.
*/
- parser->limits.auth_timeout = 30000; /* 30 seconds */
+ parser->limits.auth_timeout = 5000; /* 5 seconds */
+
+ /* Do not allow a fd to stay forever in dbus-daemon
+ * https://bugs.freedesktop.org/show_bug.cgi?id=80559
+ */
+ parser->limits.pending_fd_timeout = 150000; /* 2.5 minutes */
parser->limits.max_incomplete_connections = 64;
parser->limits.max_connections_per_user = 256;
@@ -467,7 +472,7 @@
/* this is effectively a limit on message queue size for messages
* that require a reply
*/
- parser->limits.max_replies_per_connection = 1024*8;
+ parser->limits.max_replies_per_connection = 128;
}
parser->refcount = 1;
@@ -1902,6 +1907,12 @@
must_be_int = TRUE;
parser->limits.auth_timeout = value;
}
+ else if (strcmp (name, "pending_fd_timeout") == 0)
+ {
+ must_be_positive = TRUE;
+ must_be_int = TRUE;
+ parser->limits.pending_fd_timeout = value;
+ }
else if (strcmp (name, "reply_timeout") == 0)
{
must_be_positive = TRUE;
@@ -3108,6 +3119,7 @@
|| a->max_message_unix_fds == b->max_message_unix_fds
|| a->activation_timeout == b->activation_timeout
|| a->auth_timeout == b->auth_timeout
+ || a->pending_fd_timeout == b->pending_fd_timeout
|| a->max_completed_connections == b->max_completed_connections
|| a->max_incomplete_connections == b->max_incomplete_connections
|| a->max_connections_per_user == b->max_connections_per_user
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/connection.c new/dbus-1.8.8/bus/connection.c
--- old/dbus-1.8.6/bus/connection.c 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/bus/connection.c 2014-09-15 13:30:32.000000000 +0200
@@ -33,6 +33,7 @@
#include <dbus/dbus-list.h>
#include <dbus/dbus-hash.h>
#include <dbus/dbus-timeout.h>
+#include <dbus/dbus-connection-internal.h>
/* Trim executed commands to this length; we want to keep logs readable */
#define MAX_LOG_COMMAND_LEN 50
@@ -102,6 +103,8 @@
int peak_match_rules;
int peak_bus_names;
#endif
+ int n_pending_unix_fds;
+ DBusTimeout *pending_unix_fds_timeout;
} BusConnectionData;
static dbus_bool_t bus_pending_reply_expired (BusExpireList *list,
@@ -268,6 +271,15 @@
dbus_connection_set_dispatch_status_function (connection,
NULL, NULL, NULL);
+
+ if (d->pending_unix_fds_timeout)
+ {
+ _dbus_loop_remove_timeout (bus_context_get_loop (d->connections->context),
+ d->pending_unix_fds_timeout);
+ _dbus_timeout_unref (d->pending_unix_fds_timeout);
+ }
+ d->pending_unix_fds_timeout = NULL;
+ _dbus_connection_set_pending_fds_function (connection, NULL, NULL);
bus_connection_remove_transactions (connection);
@@ -293,6 +305,10 @@
_dbus_list_remove_link (&d->connections->incomplete, d->link_in_connection_list);
d->link_in_connection_list = NULL;
d->connections->n_incomplete -= 1;
+
+ /* If we have dropped below the max. number of incomplete
+ * connections, start accept()ing again */
+ bus_context_check_all_watches (d->connections->context);
}
_dbus_assert (d->connections->n_incomplete >= 0);
@@ -588,6 +604,42 @@
return FALSE;
}
+static void
+check_pending_fds_cb (DBusConnection *connection)
+{
+ BusConnectionData *d = BUS_CONNECTION_DATA (connection);
+ int n_pending_unix_fds_old = d->n_pending_unix_fds;
+ int n_pending_unix_fds_new;
+
+ n_pending_unix_fds_new = _dbus_connection_get_pending_fds_count (connection);
+
+ _dbus_verbose ("Pending fds count changed on connection %p: %d -> %d\n",
+ connection, n_pending_unix_fds_old, n_pending_unix_fds_new);
+
+ if (n_pending_unix_fds_old == 0 && n_pending_unix_fds_new > 0)
+ {
+ _dbus_timeout_set_interval (d->pending_unix_fds_timeout,
+ bus_context_get_pending_fd_timeout (d->connections->context));
+ _dbus_timeout_set_enabled (d->pending_unix_fds_timeout, TRUE);
+ }
+
+ if (n_pending_unix_fds_old > 0 && n_pending_unix_fds_new == 0)
+ {
+ _dbus_timeout_set_enabled (d->pending_unix_fds_timeout, FALSE);
+ }
+
+
+ d->n_pending_unix_fds = n_pending_unix_fds_new;
+}
+
+static dbus_bool_t
+pending_unix_fds_timeout_cb (void *data)
+{
+ DBusConnection *connection = data;
+ dbus_connection_close (connection);
+ return TRUE;
+}
+
dbus_bool_t
bus_connections_setup_connection (BusConnections *connections,
DBusConnection *connection)
@@ -683,36 +735,38 @@
}
}
+ /* Setup pending fds timeout (see #80559) */
+ d->pending_unix_fds_timeout = _dbus_timeout_new (100, /* irrelevant */
+ pending_unix_fds_timeout_cb,
+ connection, NULL);
+ if (d->pending_unix_fds_timeout == NULL)
+ goto out;
+
+ _dbus_timeout_set_enabled (d->pending_unix_fds_timeout, FALSE);
+ if (!_dbus_loop_add_timeout (bus_context_get_loop (connections->context),
+ d->pending_unix_fds_timeout))
+ goto out;
+
+ _dbus_connection_set_pending_fds_function (connection,
+ (DBusPendingFdsChangeFunction) check_pending_fds_cb,
+ connection);
+
_dbus_list_append_link (&connections->incomplete, d->link_in_connection_list);
connections->n_incomplete += 1;
dbus_connection_ref (connection);
- /* Note that we might disconnect ourselves here, but it only takes
- * effect on return to the main loop. We call this to free up
- * expired connections if possible, and to queue the timeout for our
- * own expiration.
- */
bus_connections_expire_incomplete (connections);
- /* And we might also disconnect ourselves here, but again it
- * only takes effect on return to main loop.
- */
- if (connections->n_incomplete >
- bus_context_get_max_incomplete_connections (connections->context))
- {
- _dbus_verbose ("Number of incomplete connections exceeds max, dropping oldest one\n");
-
- _dbus_assert (connections->incomplete != NULL);
- /* Disconnect the oldest unauthenticated connection. FIXME
- * would it be more secure to drop a *random* connection? This
- * algorithm seems to mean that if someone can create new
- * connections quickly enough, they can keep anyone else from
- * completing authentication. But random may or may not really
- * help with that, a more elaborate solution might be required.
- */
- dbus_connection_close (connections->incomplete->data);
- }
+ /* The listening socket is removed from the main loop,
+ * i.e. does not accept(), while n_incomplete is at its
+ * maximum value; so we shouldn't get here in that case */
+ _dbus_assert (connections->n_incomplete <=
+ bus_context_get_max_incomplete_connections (connections->context));
+
+ /* If we have the maximum number of incomplete connections,
+ * stop accept()ing any more, to avert a DoS. See fd.o #80919 */
+ bus_context_check_all_watches (d->connections->context);
retval = TRUE;
@@ -744,6 +798,13 @@
dbus_connection_set_dispatch_status_function (connection,
NULL, NULL, NULL);
+ if (d->pending_unix_fds_timeout)
+ _dbus_timeout_unref (d->pending_unix_fds_timeout);
+
+ d->pending_unix_fds_timeout = NULL;
+
+ _dbus_connection_set_pending_fds_function (connection, NULL, NULL);
+
if (d->link_in_connection_list != NULL)
{
_dbus_assert (d->link_in_connection_list->next == NULL);
@@ -1419,6 +1480,10 @@
_dbus_assert (d->connections->n_incomplete >= 0);
_dbus_assert (d->connections->n_completed > 0);
+ /* If we have dropped below the max. number of incomplete
+ * connections, start accept()ing again */
+ bus_context_check_all_watches (d->connections->context);
+
/* See if we can remove the timeout */
bus_connections_expire_incomplete (d->connections);
@@ -2348,7 +2413,6 @@
return TRUE;
}
-#ifdef DBUS_ENABLE_STATS
int
bus_connections_get_n_active (BusConnections *connections)
{
@@ -2361,6 +2425,7 @@
return connections->n_incomplete;
}
+#ifdef DBUS_ENABLE_STATS
int
bus_connections_get_total_match_rules (BusConnections *connections)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/connection.h new/dbus-1.8.8/bus/connection.h
--- old/dbus-1.8.6/bus/connection.h 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/bus/connection.h 2014-09-15 13:28:36.000000000 +0200
@@ -139,9 +139,10 @@
void *data,
DBusFreeFunction free_data_function);
-/* called by stats.c, only present if DBUS_ENABLE_STATS */
int bus_connections_get_n_active (BusConnections *connections);
int bus_connections_get_n_incomplete (BusConnections *connections);
+
+/* called by stats.c, only present if DBUS_ENABLE_STATS */
int bus_connections_get_total_match_rules (BusConnections *connections);
int bus_connections_get_peak_match_rules (BusConnections *connections);
int bus_connections_get_peak_match_rules_per_conn (BusConnections *connections);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/session.conf.in new/dbus-1.8.8/bus/session.conf.in
--- old/dbus-1.8.6/bus/session.conf.in 2014-01-25 13:39:24.000000000 +0100
+++ new/dbus-1.8.8/bus/session.conf.in 2014-09-15 13:29:28.000000000 +0200
@@ -49,9 +49,11 @@
<limit name="max_outgoing_bytes">1000000000</limit>
<limit name="max_outgoing_unix_fds">250000000</limit>
<limit name="max_message_size">1000000000</limit>
- <limit name="max_message_unix_fds">@DEFAULT_MESSAGE_UNIX_FDS@</limit>
+ <!-- We do not override max_message_unix_fds here since the in-kernel
+ limit is also relatively low -->
<limit name="service_start_timeout">120000</limit>
<limit name="auth_timeout">240000</limit>
+ <limit name="pending_fd_timeout">150000</limit>
<limit name="max_completed_connections">100000</limit>
<limit name="max_incomplete_connections">10000</limit>
<limit name="max_connections_per_user">100000</limit>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/bus/stats.c new/dbus-1.8.8/bus/stats.c
--- old/dbus-1.8.6/bus/stats.c 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/bus/stats.c 2014-09-04 16:42:01.000000000 +0200
@@ -40,6 +40,7 @@
DBusMessage *message,
DBusError *error)
{
+ BusContext *context;
BusConnections *connections;
DBusMessage *reply = NULL;
DBusMessageIter iter, arr_iter;
@@ -48,7 +49,8 @@
_DBUS_ASSERT_ERROR_IS_CLEAR (error);
- connections = bus_context_get_connections (transaction->context);
+ context = bus_transaction_get_context (transaction);
+ connections = bus_context_get_connections (context);
reply = _dbus_asv_new_method_return (message, &iter, &arr_iter);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/cmake/CMakeLists.txt new/dbus-1.8.8/cmake/CMakeLists.txt
--- old/dbus-1.8.6/cmake/CMakeLists.txt 2014-03-03 16:41:30.000000000 +0100
+++ new/dbus-1.8.8/cmake/CMakeLists.txt 2014-09-15 13:27:24.000000000 +0200
@@ -417,10 +417,6 @@
set (DBUS_USER )
-# In Autotools this has a different default on QNX, but there seems little
-# point in replicating that here; if you're on an unusual Unix, use Autotools.
-set (DEFAULT_MESSAGE_UNIX_FDS 1024)
-
# This won't work on Windows. It's not meant to - the system bus is
# meaningless on Windows anyway.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/cmake/config.h.cmake new/dbus-1.8.8/cmake/config.h.cmake
--- old/dbus-1.8.6/cmake/config.h.cmake 2014-03-03 16:41:30.000000000 +0100
+++ new/dbus-1.8.8/cmake/config.h.cmake 2014-09-15 13:27:24.000000000 +0200
@@ -82,8 +82,6 @@
# define DBUS_ENABLE_X11_AUTOLAUNCH 1
#endif
-#define DBUS_DEFAULT_MESSAGE_UNIX_FDS @DEFAULT_MESSAGE_UNIX_FDS@
-
#define _DBUS_VA_COPY_ASSIGN(a1,a2) { a1 = a2; }
#cmakedefine DBUS_VA_COPY_FUNC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/config.h.in new/dbus-1.8.8/config.h.in
--- old/dbus-1.8.6/config.h.in 2014-06-30 15:24:27.000000000 +0200
+++ new/dbus-1.8.8/config.h.in 2014-09-15 13:47:02.000000000 +0200
@@ -39,9 +39,6 @@
/* Directory for installing DBUS data files */
#undef DBUS_DATADIR
-/* Default for dbus_connection_get_max_message_unix_fds() */
-#undef DBUS_DEFAULT_MESSAGE_UNIX_FDS
-
/* Disable assertion checking */
#undef DBUS_DISABLE_ASSERT
@@ -269,6 +266,12 @@
/* Have POSIX function getpwnam_r */
#undef HAVE_POSIX_GETPWNAM_R
+/* Define to 1 if you have the `prctl' function. */
+#undef HAVE_PRCTL
+
+/* Define to 1 if you have the `raise' function. */
+#undef HAVE_RAISE
+
/* SELinux support */
#undef HAVE_SELINUX
@@ -317,6 +320,9 @@
/* Define to 1 if you have the <sys/inotify.h> header file. */
#undef HAVE_SYS_INOTIFY_H
+/* Define to 1 if you have the <sys/prctl.h> header file. */
+#undef HAVE_SYS_PRCTL_H
+
/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/configure.ac new/dbus-1.8.8/configure.ac
--- old/dbus-1.8.6/configure.ac 2014-06-30 15:17:56.000000000 +0200
+++ new/dbus-1.8.8/configure.ac 2014-09-15 13:42:50.000000000 +0200
@@ -3,7 +3,7 @@
m4_define([dbus_major_version], [1])
m4_define([dbus_minor_version], [8])
-m4_define([dbus_micro_version], [6])
+m4_define([dbus_micro_version], [8])
m4_define([dbus_version],
[dbus_major_version.dbus_minor_version.dbus_micro_version])
AC_INIT([dbus],[dbus_version],[https://bugs.freedesktop.org/enter_bug.cgi?p…
@@ -37,7 +37,7 @@
## increment any time the source changes; set to
## 0 if you increment CURRENT
-LT_REVISION=6
+LT_REVISION=7
## increment if any interfaces have been added; set to 0
## if any interfaces have been changed or removed. removal has
@@ -598,6 +598,10 @@
AC_CHECK_DECLS([LOG_PERROR], [], [], [[#include <syslog.h>]])
fi
+# For test-segfault.c
+AC_CHECK_HEADERS_ONCE([sys/prctl.h])
+AC_CHECK_FUNCS_ONCE([prctl raise])
+
#### Check for broken poll; taken from Glib's configure
AC_MSG_CHECKING([for broken poll])
@@ -1143,10 +1147,13 @@
if test x$enable_systemd = xno ; then
have_systemd=no;
else
- PKG_CHECK_MODULES(SYSTEMD,
- [libsystemd-login >= 32, libsystemd-daemon >= 32, libsystemd-journal >= 32],
- have_systemd=yes,
- have_systemd=no)
+ PKG_CHECK_MODULES([SYSTEMD],
+ [libsystemd >= 209],
+ [have_systemd=yes],
+ [PKG_CHECK_MODULES([SYSTEMD],
+ [libsystemd-login >= 32, libsystemd-daemon >= 32, libsystemd-journal >= 32],
+ [have_systemd=yes],
+ [have_systemd=no])])
fi
if test x$have_systemd = xyes; then
@@ -1235,17 +1242,6 @@
AC_DEFINE([WITH_VALGRIND], [1], [Define to add Valgrind instrumentation])
fi
-# Determine maximum number of Unix fds which may be passed
-AS_CASE([$host_os],
- [*qnx*],
- [DEFAULT_MESSAGE_UNIX_FDS=256],
- [*],
- [DEFAULT_MESSAGE_UNIX_FDS=1024])
-AC_DEFINE_UNQUOTED([DBUS_DEFAULT_MESSAGE_UNIX_FDS],
- [$DEFAULT_MESSAGE_UNIX_FDS],
- [Default for dbus_connection_get_max_message_unix_fds()])
-AC_SUBST([DEFAULT_MESSAGE_UNIX_FDS])
-
#### Set up final flags
LIBDBUS_LIBS="$THREAD_LIBS $NETWORK_libs"
AC_SUBST([LIBDBUS_LIBS])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-connection-internal.h new/dbus-1.8.8/dbus/dbus-connection-internal.h
--- old/dbus-1.8.6/dbus/dbus-connection-internal.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-connection-internal.h 2014-09-15 13:30:29.000000000 +0200
@@ -44,6 +44,8 @@
/** default timeout value when waiting for a message reply, 25 seconds */
#define _DBUS_DEFAULT_TIMEOUT_VALUE (25 * 1000)
+typedef void (* DBusPendingFdsChangeFunction) (void *data);
+
void _dbus_connection_lock (DBusConnection *connection);
void _dbus_connection_unlock (DBusConnection *connection);
DBusConnection * _dbus_connection_ref_unlocked (DBusConnection *connection);
@@ -100,6 +102,10 @@
DBusMutex **io_path_mutex_loc,
DBusCondVar **dispatch_cond_loc,
DBusCondVar **io_path_cond_loc);
+int _dbus_connection_get_pending_fds_count (DBusConnection *connection);
+void _dbus_connection_set_pending_fds_function (DBusConnection *connection,
+ DBusPendingFdsChangeFunction callback,
+ void *data);
/* if DBUS_ENABLE_STATS */
void _dbus_connection_get_stats (DBusConnection *connection,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-connection.c new/dbus-1.8.8/dbus/dbus-connection.c
--- old/dbus-1.8.6/dbus/dbus-connection.c 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-connection.c 2014-09-15 13:30:29.000000000 +0200
@@ -2549,6 +2549,33 @@
dbus_pending_call_unref (pending);
}
+/**
+ * Return how many file descriptors are pending in the loader
+ *
+ * @param connection the connection
+ */
+int
+_dbus_connection_get_pending_fds_count (DBusConnection *connection)
+{
+ return _dbus_transport_get_pending_fds_count (connection->transport);
+}
+
+/**
+ * Register a function to be called whenever the number of pending file
+ * descriptors in the loader change.
+ *
+ * @param connection the connection
+ * @param callback the callback
+ */
+void
+_dbus_connection_set_pending_fds_function (DBusConnection *connection,
+ DBusPendingFdsChangeFunction callback,
+ void *data)
+{
+ _dbus_transport_set_pending_fds_function (connection->transport,
+ callback, data);
+}
+
/** @} */
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-internals.h new/dbus-1.8.8/dbus/dbus-internals.h
--- old/dbus-1.8.6/dbus/dbus-internals.h 2014-04-28 15:59:29.000000000 +0200
+++ new/dbus-1.8.8/dbus/dbus-internals.h 2014-09-15 13:31:02.000000000 +0200
@@ -371,7 +371,7 @@
#define _DBUS_PASTE(a, b) _DBUS_PASTE2 (a, b)
#define _DBUS_STATIC_ASSERT(expr) \
typedef struct { char _assertion[(expr) ? 1 : -1]; } \
- _DBUS_PASTE (_DBUS_STATIC_ASSERT_, __LINE__)
+ _DBUS_PASTE (_DBUS_STATIC_ASSERT_, __LINE__) _DBUS_GNUC_UNUSED
DBUS_END_DECLS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-macros.h new/dbus-1.8.8/dbus/dbus-macros.h
--- old/dbus-1.8.6/dbus/dbus-macros.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-macros.h 2014-09-15 13:31:02.000000000 +0200
@@ -69,9 +69,12 @@
__attribute__((__format__ (__printf__, format_idx, arg_idx)))
#define _DBUS_GNUC_NORETURN \
__attribute__((__noreturn__))
+#define _DBUS_GNUC_UNUSED \
+ __attribute__((__unused__))
#else /* !__GNUC__ */
#define _DBUS_GNUC_PRINTF( format_idx, arg_idx )
#define _DBUS_GNUC_NORETURN
+#define _DBUS_GNUC_UNUSED
#endif /* !__GNUC__ */
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-message-internal.h new/dbus-1.8.8/dbus/dbus-message-internal.h
--- old/dbus-1.8.6/dbus/dbus-message-internal.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-message-internal.h 2014-09-15 13:30:29.000000000 +0200
@@ -96,6 +96,10 @@
void _dbus_message_loader_set_max_message_unix_fds(DBusMessageLoader *loader,
long n);
long _dbus_message_loader_get_max_message_unix_fds(DBusMessageLoader *loader);
+int _dbus_message_loader_get_pending_fds_count (DBusMessageLoader *loader);
+void _dbus_message_loader_set_pending_fds_function (DBusMessageLoader *loader,
+ void (* callback) (void *),
+ void *data);
typedef struct DBusInitialFDs DBusInitialFDs;
DBusInitialFDs *_dbus_check_fdleaks_enter (void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-message-private.h new/dbus-1.8.8/dbus/dbus-message-private.h
--- old/dbus-1.8.6/dbus/dbus-message-private.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-message-private.h 2014-09-15 13:30:29.000000000 +0200
@@ -80,6 +80,8 @@
int *unix_fds; /**< File descriptors that have been read from the transport but not yet been handed to any message. Array will be allocated at first use. */
unsigned n_unix_fds_allocated; /**< Number of file descriptors this array has space for */
unsigned n_unix_fds; /**< Number of valid file descriptors in array */
+ void (* unix_fds_change) (void *); /**< Notify when the pending fds change */
+ void *unix_fds_change_data;
#endif
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-message.c new/dbus-1.8.8/dbus/dbus-message.c
--- old/dbus-1.8.6/dbus/dbus-message.c 2014-06-11 13:24:39.000000000 +0200
+++ new/dbus-1.8.8/dbus/dbus-message.c 2014-09-15 13:30:29.000000000 +0200
@@ -35,6 +35,7 @@
#include "dbus-list.h"
#include "dbus-threads-internal.h"
#ifdef HAVE_UNIX_FD_PASSING
+#include "dbus-sysdeps.h"
#include "dbus-sysdeps-unix.h"
#endif
@@ -4058,6 +4059,9 @@
loader->n_unix_fds += n_fds;
loader->unix_fds_outstanding = FALSE;
+
+ if (n_fds && loader->unix_fds_change)
+ loader->unix_fds_change (loader->unix_fds_change_data);
#else
_dbus_assert_not_reached("Platform doesn't support unix fd passing");
#endif
@@ -4205,6 +4209,9 @@
message->n_unix_fds_allocated = message->n_unix_fds = n_unix_fds;
loader->n_unix_fds -= n_unix_fds;
memmove (loader->unix_fds, loader->unix_fds + n_unix_fds, loader->n_unix_fds * sizeof (loader->unix_fds[0]));
+
+ if (loader->unix_fds_change)
+ loader->unix_fds_change (loader->unix_fds_change_data);
}
else
message->unix_fds = NULL;
@@ -4498,6 +4505,40 @@
return loader->max_message_unix_fds;
}
+/**
+ * Return how many file descriptors are pending in the loader
+ *
+ * @param loader the loader
+ */
+int
+_dbus_message_loader_get_pending_fds_count (DBusMessageLoader *loader)
+{
+#ifdef HAVE_UNIX_FD_PASSING
+ return loader->n_unix_fds;
+#else
+ return 0;
+#endif
+}
+
+/**
+ * Register a function to be called whenever the number of pending file
+ * descriptors in the loader change.
+ *
+ * @param loader the loader
+ * @param callback the callback
+ * @param data the data for the callback
+ */
+void
+_dbus_message_loader_set_pending_fds_function (DBusMessageLoader *loader,
+ void (* callback) (void *),
+ void *data)
+{
+#ifdef HAVE_UNIX_FD_PASSING
+ loader->unix_fds_change = callback;
+ loader->unix_fds_change_data = data;
+#endif
+}
+
static DBusDataSlotAllocator slot_allocator =
_DBUS_DATA_SLOT_ALLOCATOR_INIT (_DBUS_LOCK_NAME (message_slots));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-server-protected.h new/dbus-1.8.8/dbus/dbus-server-protected.h
--- old/dbus-1.8.6/dbus/dbus-server-protected.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-server-protected.h 2014-09-15 13:28:36.000000000 +0200
@@ -99,9 +99,8 @@
DBusWatch *watch);
void _dbus_server_remove_watch (DBusServer *server,
DBusWatch *watch);
-void _dbus_server_toggle_watch (DBusServer *server,
- DBusWatch *watch,
- dbus_bool_t enabled);
+void _dbus_server_toggle_all_watches (DBusServer *server,
+ dbus_bool_t enabled);
dbus_bool_t _dbus_server_add_timeout (DBusServer *server,
DBusTimeout *timeout);
void _dbus_server_remove_timeout (DBusServer *server,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-server.c new/dbus-1.8.8/dbus/dbus-server.c
--- old/dbus-1.8.6/dbus/dbus-server.c 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-server.c 2014-09-15 13:28:36.000000000 +0200
@@ -312,26 +312,17 @@
}
/**
- * Toggles a watch and notifies app via server's
- * DBusWatchToggledFunction if available. It's an error to call this
- * function on a watch that was not previously added.
+ * Toggles all watch and notifies app via server's
+ * DBusWatchToggledFunction if available.
*
* @param server the server.
- * @param watch the watch to toggle.
* @param enabled whether to enable or disable
*/
void
-_dbus_server_toggle_watch (DBusServer *server,
- DBusWatch *watch,
- dbus_bool_t enabled)
+_dbus_server_toggle_all_watches (DBusServer *server,
+ dbus_bool_t enabled)
{
- _dbus_assert (watch != NULL);
-
- HAVE_LOCK_CHECK (server);
- protected_change_watch (server, watch,
- NULL, NULL,
- _dbus_watch_list_toggle_watch,
- enabled);
+ _dbus_watch_list_toggle_all_watches (server->watches, enabled);
}
/** Function to be called in protected_change_timeout() with refcount held */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-sysdeps-unix.c new/dbus-1.8.8/dbus/dbus-sysdeps-unix.c
--- old/dbus-1.8.6/dbus/dbus-sysdeps-unix.c 2014-04-28 15:59:54.000000000 +0200
+++ new/dbus-1.8.8/dbus/dbus-sysdeps-unix.c 2014-09-15 13:31:12.000000000 +0200
@@ -320,6 +320,12 @@
m.msg_control = alloca(m.msg_controllen);
memset(m.msg_control, 0, m.msg_controllen);
+ /* Do not include the padding at the end when we tell the kernel
+ * how much we're willing to receive. This avoids getting
+ * the padding filled with additional fds that we weren't expecting,
+ * if a (potentially malicious) sender included them. (fd.o #83622) */
+ m.msg_controllen = CMSG_LEN (*n_fds * sizeof(int));
+
again:
bytes_read = recvmsg(fd, &m, 0
@@ -359,18 +365,49 @@
for (cm = CMSG_FIRSTHDR(&m); cm; cm = CMSG_NXTHDR(&m, cm))
if (cm->cmsg_level == SOL_SOCKET && cm->cmsg_type == SCM_RIGHTS)
{
- unsigned i;
-
- _dbus_assert(cm->cmsg_len <= CMSG_LEN(*n_fds * sizeof(int)));
- *n_fds = (cm->cmsg_len - CMSG_LEN(0)) / sizeof(int);
+ size_t i;
+ int *payload = (int *) CMSG_DATA (cm);
+ size_t payload_len_bytes = (cm->cmsg_len - CMSG_LEN (0));
+ size_t payload_len_fds = payload_len_bytes / sizeof (int);
+ size_t fds_to_use;
+
+ /* Every non-negative int fits in a size_t without truncation,
+ * and we already know that *n_fds is non-negative, so
+ * casting (size_t) *n_fds is OK */
+ _DBUS_STATIC_ASSERT (sizeof (size_t) >= sizeof (int));
+
+ if (_DBUS_LIKELY (payload_len_fds <= (size_t) *n_fds))
+ {
+ /* The fds in the payload will fit in our buffer */
+ fds_to_use = payload_len_fds;
+ }
+ else
+ {
+ /* Too many fds in the payload. This shouldn't happen
+ * any more because we're setting m.msg_controllen to
+ * the exact number we can accept, but be safe and
+ * truncate. */
+ fds_to_use = (size_t) *n_fds;
+
+ /* Close the excess fds to avoid DoS: if they stayed open,
+ * someone could send us an extra fd per message
+ * and we'd eventually run out. */
+ for (i = fds_to_use; i < payload_len_fds; i++)
+ {
+ close (payload[i]);
+ }
+ }
- memcpy(fds, CMSG_DATA(cm), *n_fds * sizeof(int));
+ memcpy (fds, payload, fds_to_use * sizeof (int));
found = TRUE;
+ /* This cannot overflow because we have chosen fds_to_use
+ * to be <= *n_fds */
+ *n_fds = (int) fds_to_use;
/* Linux doesn't tell us whether MSG_CMSG_CLOEXEC actually
worked, hence we need to go through this list and set
CLOEXEC everywhere in any case */
- for (i = 0; i < *n_fds; i++)
+ for (i = 0; i < fds_to_use; i++)
_dbus_fd_set_close_on_exec(fds[i]);
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-sysdeps.h new/dbus-1.8.8/dbus/dbus-sysdeps.h
--- old/dbus-1.8.6/dbus/dbus-sysdeps.h 2014-06-30 15:08:47.000000000 +0200
+++ new/dbus-1.8.8/dbus/dbus-sysdeps.h 2014-09-15 13:27:24.000000000 +0200
@@ -558,6 +558,14 @@
const char *
_dbus_replace_install_prefix (const char *configure_time_path);
+/* Do not set this too high: it is a denial-of-service risk.
+ * See <https://bugs.freedesktop.org/show_bug.cgi?id=82820>
+ *
+ * (This needs to be in the non-Unix-specific header so that
+ * the config-parser can use it.)
+ */
+#define DBUS_DEFAULT_MESSAGE_UNIX_FDS 16
+
/** @} */
DBUS_END_DECLS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-transport.c new/dbus-1.8.8/dbus/dbus-transport.c
--- old/dbus-1.8.6/dbus/dbus-transport.c 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-transport.c 2014-09-15 13:30:29.000000000 +0200
@@ -1512,6 +1512,33 @@
transport->allow_anonymous = value != FALSE;
}
+/**
+ * Return how many file descriptors are pending in the loader
+ *
+ * @param transport the transport
+ */
+int
+_dbus_transport_get_pending_fds_count (DBusTransport *transport)
+{
+ return _dbus_message_loader_get_pending_fds_count (transport->loader);
+}
+
+/**
+ * Register a function to be called whenever the number of pending file
+ * descriptors in the loader change.
+ *
+ * @param transport the transport
+ * @param callback the callback
+ */
+void
+_dbus_transport_set_pending_fds_function (DBusTransport *transport,
+ void (* callback) (void *),
+ void *data)
+{
+ _dbus_message_loader_set_pending_fds_function (transport->loader,
+ callback, data);
+}
+
#ifdef DBUS_ENABLE_STATS
void
_dbus_transport_get_stats (DBusTransport *transport,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-transport.h new/dbus-1.8.8/dbus/dbus-transport.h
--- old/dbus-1.8.6/dbus/dbus-transport.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-transport.h 2014-09-15 13:30:29.000000000 +0200
@@ -97,6 +97,10 @@
const char **mechanisms);
void _dbus_transport_set_allow_anonymous (DBusTransport *transport,
dbus_bool_t value);
+int _dbus_transport_get_pending_fds_count (DBusTransport *transport);
+void _dbus_transport_set_pending_fds_function (DBusTransport *transport,
+ void (* callback) (void *),
+ void *data);
/* if DBUS_ENABLE_STATS */
void _dbus_transport_get_stats (DBusTransport *transport,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-watch.c new/dbus-1.8.8/dbus/dbus-watch.c
--- old/dbus-1.8.6/dbus/dbus-watch.c 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-watch.c 2014-09-15 13:28:36.000000000 +0200
@@ -455,6 +455,27 @@
}
/**
+ * Sets all watches to the given enabled state, invoking the
+ * application's DBusWatchToggledFunction if appropriate.
+ *
+ * @param watch_list the watch list.
+ * @param enabled #TRUE to enable
+ */
+void
+_dbus_watch_list_toggle_all_watches (DBusWatchList *watch_list,
+ dbus_bool_t enabled)
+{
+ DBusList *link;
+
+ for (link = _dbus_list_get_first_link (&watch_list->watches);
+ link != NULL;
+ link = _dbus_list_get_next_link (&watch_list->watches, link))
+ {
+ _dbus_watch_list_toggle_watch (watch_list, link->data, enabled);
+ }
+}
+
+/**
* Sets the handler for the watch.
*
* @todo this function only exists because of the weird
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/dbus/dbus-watch.h new/dbus-1.8.8/dbus/dbus-watch.h
--- old/dbus-1.8.6/dbus/dbus-watch.h 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/dbus/dbus-watch.h 2014-09-15 13:28:36.000000000 +0200
@@ -76,6 +76,8 @@
void _dbus_watch_list_toggle_watch (DBusWatchList *watch_list,
DBusWatch *watch,
dbus_bool_t enabled);
+void _dbus_watch_list_toggle_all_watches (DBusWatchList *watch_list,
+ dbus_bool_t enabled);
dbus_bool_t _dbus_watch_get_enabled (DBusWatch *watch);
dbus_bool_t _dbus_watch_get_oom_last_time (DBusWatch *watch);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/doc/dbus-daemon.1.xml.in new/dbus-1.8.8/doc/dbus-daemon.1.xml.in
--- old/dbus-1.8.6/doc/dbus-daemon.1.xml.in 2014-01-25 13:39:25.000000000 +0100
+++ new/dbus-1.8.8/doc/dbus-daemon.1.xml.in 2014-09-15 13:29:28.000000000 +0200
@@ -528,6 +528,10 @@
"auth_timeout" : milliseconds (thousandths) a
connection is given to
authenticate
+ "pending_fd_timeout" : milliseconds (thousandths) a
+ fd is given to be transmitted to
+ dbus-daemon before disconnecting the
+ connection
"max_completed_connections" : max number of authenticated connections
"max_incomplete_connections" : max number of unauthenticated
connections
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.8.6/test/test-segfault.c new/dbus-1.8.8/test/test-segfault.c
--- old/dbus-1.8.6/test/test-segfault.c 2014-01-25 13:39:26.000000000 +0100
+++ new/dbus-1.8.8/test/test-segfault.c 2014-09-15 13:26:23.000000000 +0200
@@ -9,18 +9,34 @@
#include <sys/resource.h>
#endif
+#ifdef HAVE_SYS_PRCTL_H
+#include <sys/prctl.h>
+#endif
+
int
main (int argc, char **argv)
{
char *p;
#if HAVE_SETRLIMIT
+ /* No core dumps please, we know we crashed. */
struct rlimit r = { 0, };
getrlimit (RLIMIT_CORE, &r);
r.rlim_cur = 0;
setrlimit (RLIMIT_CORE, &r);
-
+#endif
+
+#if defined(HAVE_PRCTL) && defined(PR_SET_DUMPABLE)
+ /* Really, no core dumps please. On Linux, if core_pattern is
+ * set to a pipe (for abrt/apport/corekeeper/etc.), RLIMIT_CORE of 0
+ * is ignored (deliberately, so people can debug init(8) and other
+ * early stuff); but Linux has PR_SET_DUMPABLE, so we can avoid core
+ * dumps anyway. */
+ prctl (PR_SET_DUMPABLE, 0, 0, 0, 0);
+#endif
+
+#ifdef HAVE_RAISE
raise (SIGSEGV);
#endif
p = NULL;
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package pesign-obs-integration for openSUSE:Factory checked in at 2014-09-17 21:23:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pesign-obs-integration (Old)
and /work/SRC/openSUSE:Factory/.pesign-obs-integration.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pesign-obs-integration"
Changes:
--------
--- /work/SRC/openSUSE:Factory/pesign-obs-integration/pesign-obs-integration.changes 2014-09-06 12:18:24.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.pesign-obs-integration.new/pesign-obs-integration.changes 2014-09-17 21:23:47.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 16 17:08:36 CEST 2014 - mls(a)suse.de
+
+- fall back to project cert in the followup spec if it
+ exists
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pesign-repackage.spec.in ++++++
--- /var/tmp/diff_new_pack.KSyxVs/_old 2014-09-17 21:23:48.000000000 +0200
+++ /var/tmp/diff_new_pack.KSyxVs/_new 2014-09-17 21:23:48.000000000 +0200
@@ -90,6 +90,9 @@
cat >cert.crt <<EOF
@CERT@
EOF
+if test "$(wc -l <cert.crt)" -le 1 -a -s %_sourcedir/_projectcert.crt ; then
+ cp %_sourcedir/_projectcert.crt cert.crt
+fi
if test "$(wc -l <cert.crt)" -gt 1; then
openssl x509 -inform PEM -in cert.crt -outform DER -out cert.x509
cert=cert.x509
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libstorage for openSUSE:Factory checked in at 2014-09-17 21:23:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libstorage (Old)
and /work/SRC/openSUSE:Factory/.libstorage.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libstorage"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libstorage/libstorage.changes 2014-09-10 17:02:20.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libstorage.new/libstorage.changes 2014-09-17 21:23:45.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 16 13:16:50 CEST 2014 - aschnell(a)suse.de
+
+- fixed using DM disks for LVM (bnc#896729)
+- 2.25.15
+
+-------------------------------------------------------------------
Old:
----
libstorage-2.25.14.tar.bz2
New:
----
libstorage-2.25.15.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libstorage.spec ++++++
--- /var/tmp/diff_new_pack.ywdJvS/_old 2014-09-17 21:23:46.000000000 +0200
+++ /var/tmp/diff_new_pack.ywdJvS/_new 2014-09-17 21:23:46.000000000 +0200
@@ -17,7 +17,7 @@
Name: libstorage
-Version: 2.25.14
+Version: 2.25.15
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: libstorage-%{version}.tar.bz2
++++++ libstorage-2.25.14.tar.bz2 -> libstorage-2.25.15.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.14/VERSION new/libstorage-2.25.15/VERSION
--- old/libstorage-2.25.14/VERSION 2014-06-22 13:54:13.000000000 +0200
+++ new/libstorage-2.25.15/VERSION 2014-09-16 16:42:18.000000000 +0200
@@ -1 +1 @@
-2.25.14
+2.25.15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.14/storage/LvmVg.cc new/libstorage-2.25.15/storage/LvmVg.cc
--- old/libstorage-2.25.14/storage/LvmVg.cc 2014-09-05 10:45:53.000000000 +0200
+++ new/libstorage-2.25.15/storage/LvmVg.cc 2014-09-16 16:42:18.000000000 +0200
@@ -446,14 +446,14 @@
return( ret );
}
+
int
LvmVg::extendVg( const string& dev )
{
- list<string> l;
- l.push_back( dev );
- return( extendVg( l ) );
+ return extendVg(list<string>({ dev }));
}
+
int
LvmVg::extendVg( const list<string>& devs )
{
@@ -462,8 +462,6 @@
y2mil( "this:" << *this );
checkConsistency();
- list<string>::const_iterator i=devs.begin();
- list<Pv>::iterator p;
if( readonly() )
{
ret = LVM_CHANGE_READONLY;
@@ -472,6 +470,9 @@
{
ret = LVM_LIST_EMPTY;
}
+
+ list<string>::const_iterator i=devs.begin();
+ list<Pv>::iterator p;
while( ret==0 && i!=devs.end() )
{
string d = normalizeDevice( *i );
@@ -508,7 +509,7 @@
{
Pv pvn;
unsigned long long s = getStorage()->deviceSize( d );
- pe = (s - 4000)/pe_size;
+ pe = s > 4000 ? (s - 4000) / pe_size : 0;
pvn.num_pe = pvn.free_pe = pe;
pvn.device = d;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.14/storage/Storage.cc new/libstorage-2.25.15/storage/Storage.cc
--- old/libstorage-2.25.14/storage/Storage.cc 2014-09-09 17:23:28.000000000 +0200
+++ new/libstorage-2.25.15/storage/Storage.cc 2014-09-16 16:42:18.000000000 +0200
@@ -6518,18 +6518,30 @@
return( ret );
}
-bool Storage::knownDevice( const string& dev, bool disks_allowed )
+
+ bool
+ Storage::knownDevice(const string& dev, bool disks_allowed)
{
- bool ret=true;
- ConstVolIterator v;
- if( !findVolume( dev, v ) )
- {
- ret = disks_allowed && findDisk( dev )!=dEnd();
+ bool ret = false;
+ ConstVolIterator v;
+ if (findVolume(dev, v))
+ {
+ ret = true;
+ }
+ else if (disks_allowed)
+ {
+ if (findDisk(dev) != dEnd())
+ ret = true;
+ else if (findDmPartCo(dev) != dmpCoEnd())
+ ret = true;
+ else if (findMdPartCo(dev) != mdpCoEnd())
+ ret = true;
}
- y2mil("dev:" << dev << " ret:" << ret);
- return( ret );
+ y2mil("dev:" << dev << " ret:" << ret);
+ return ret;
}
+
bool Storage::setDmcryptData( const string& dev, const string& dm,
unsigned dmnum, unsigned long long siz,
storage::EncryptType typ )
@@ -6582,28 +6594,34 @@
return( ret );
}
-bool Storage::canUseDevice( const string& dev, bool disks_allowed )
+
+ bool
+ Storage::canUseDevice(const string& dev, bool disks_allowed)
{
- bool ret=true;
- ConstVolIterator v;
- if( !findVolume( dev, v ) )
- {
- if( disks_allowed )
- {
- DiskIterator i = findDisk( dev );
- ret = i != dEnd() && !i->isUsedBy() && i->numPartitions() == 0;
- }
- else
- ret = false;
- }
- else
- {
- ret = v->canUseDevice();
+ bool ret = false;
+ ConstVolIterator v;
+ if (findVolume(dev, v))
+ {
+ ret = v->canUseDevice();
+ }
+ else if (disks_allowed)
+ {
+ ConstDiskIterator i1 = findDisk(dev);
+ ConstDmPartCoIterator i2 = findDmPartCo(dev);
+ ConstMdPartCoIterator i3 = findMdPartCo(dev);
+
+ if (i1 != dEnd())
+ ret = !i1->isUsedBy() && i1->numPartitions() == 0;
+ else if (i2 != dmpCoEnd())
+ ret = !i2->isUsedBy() && i2->numPartitions() == 0;
+ else if (i3 != mdpCoEnd())
+ ret = !i3->isUsedBy() && i3->numPartitions() == 0;
}
- y2mil("dev:" << dev << " ret:" << ret);
- return( ret );
+ y2mil("dev:" << dev << " ret:" << ret);
+ return ret;
}
+
const Device*
Storage::deviceByNumber( unsigned long maj, unsigned long min ) const
{
@@ -6629,20 +6647,31 @@
return ret;
}
-unsigned long long Storage::deviceSize( const string& dev )
+
+ unsigned long long
+ Storage::deviceSize(const string& dev)
{
- unsigned long long ret=0;
- ConstVolIterator v;
- if( !findVolume( dev, v ) )
+ unsigned long long ret = 0;
+ ConstVolIterator v;
+ if (findVolume(dev, v))
{
- DiskIterator i = findDisk( dev );
- if( i!=dEnd() )
- ret = i->sizeK();
+ ret = v->sizeK();
}
- else
- ret = v->sizeK();
- y2mil("dev:" << dev << " ret:" << ret);
- return( ret );
+ else
+ {
+ ConstDiskIterator i1 = findDisk(dev);
+ ConstDmPartCoIterator i2 = findDmPartCo(dev);
+ ConstMdPartCoIterator i3 = findMdPartCo(dev);
+
+ if (i1 != dEnd())
+ ret = i1->sizeK();
+ else if (i2 != dmpCoEnd())
+ ret = i2->sizeK();
+ else if (i3 != mdpCoEnd())
+ ret = i3->sizeK();
+ }
+ y2mil("dev:" << dev << " ret:" << ret);
+ return ret;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.25.14/storage/gen_md5sum.cc new/libstorage-2.25.15/storage/gen_md5sum.cc
--- old/libstorage-2.25.14/storage/gen_md5sum.cc 2014-09-09 17:23:36.000000000 +0200
+++ new/libstorage-2.25.15/storage/gen_md5sum.cc 2014-09-16 16:43:35.000000000 +0200
@@ -1,5 +1,5 @@
-#define SOURCES_MD5SUM "9fbc6cde91f471eef5a92b261a690292"
-#define SOURCES_MD5_DATE " Tue 9 Sep 17:23:36 CEST 2014 "
+#define SOURCES_MD5SUM "2c7b22c16d38d390274f11a3a58c5234"
+#define SOURCES_MD5_DATE " Tue 16 Sep 16:43:35 CEST 2014 "
namespace storage
{
const char* GetSourceMd5() { return SOURCES_MD5SUM; }
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package skelcd-control-openSUSE for openSUSE:Factory checked in at 2014-09-17 21:23:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/skelcd-control-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.skelcd-control-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "skelcd-control-openSUSE"
Changes:
--------
--- /work/SRC/openSUSE:Factory/skelcd-control-openSUSE/skelcd-control-openSUSE-promo.changes 2014-08-05 21:11:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.skelcd-control-openSUSE.new/skelcd-control-openSUSE-promo.changes 2014-09-17 21:23:43.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Sep 15 11:00:27 UTC 2014 - coolo(a)suse.com
+
+- remove clients from 2nd stage that no longer exist. For now we keep
+ the 2nd stage
+- 13.2.15
+
+-------------------------------------------------------------------
skelcd-control-openSUSE.changes: same change
Old:
----
skelcd-control-openSUSE-13.2.14.tar.bz2
New:
----
skelcd-control-openSUSE-13.2.15.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ skelcd-control-openSUSE-promo.spec ++++++
--- /var/tmp/diff_new_pack.otTngu/_old 2014-09-17 21:23:44.000000000 +0200
+++ /var/tmp/diff_new_pack.otTngu/_new 2014-09-17 21:23:44.000000000 +0200
@@ -77,7 +77,7 @@
Url: https://github.com/yast/skelcd-control-openSUSE
AutoReqProv: off
-Version: 13.2.14
+Version: 13.2.15
Release: 0
Summary: The openSUSE Installation Control file
License: MIT
++++++ skelcd-control-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.otTngu/_old 2014-09-17 21:23:44.000000000 +0200
+++ /var/tmp/diff_new_pack.otTngu/_new 2014-09-17 21:23:44.000000000 +0200
@@ -77,7 +77,7 @@
Url: https://github.com/yast/skelcd-control-openSUSE
AutoReqProv: off
-Version: 13.2.14
+Version: 13.2.15
Release: 0
Summary: The openSUSE Installation Control file
License: MIT
++++++ skelcd-control-openSUSE-13.2.14.tar.bz2 -> skelcd-control-openSUSE-13.2.15.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd-control-openSUSE-13.2.14/control/control.openSUSE.xml new/skelcd-control-openSUSE-13.2.15/control/control.openSUSE.xml
--- old/skelcd-control-openSUSE-13.2.14/control/control.openSUSE.xml 2014-08-04 16:33:44.000000000 +0200
+++ new/skelcd-control-openSUSE-13.2.15/control/control.openSUSE.xml 2014-09-16 15:22:10.000000000 +0200
@@ -954,26 +954,6 @@
<label>Configuration</label>
</module>
<module>
- <label>Automatic Configuration</label>
- <name>automatic_configuration</name>
- <enable_back>no</enable_back>
- <enable_next>no</enable_next>
- </module>
- <!-- BNC #547931: Steps are enabled again -->
- <module>
- <label>Users</label>
- <name>auth</name>
- </module>
- <module>
- <label>Users</label>
- <name>user</name>
- </module>
- <module>
- <name>user_non_interactive</name>
- <!-- BNC #401319, define client to call explicitly -->
- <execute>inst_user</execute>
- </module>
- <module>
<name>live_cleanup</name>
<enable_back>no</enable_back>
</module>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd-control-openSUSE-13.2.14/package/skelcd-control-openSUSE.changes new/skelcd-control-openSUSE-13.2.15/package/skelcd-control-openSUSE.changes
--- old/skelcd-control-openSUSE-13.2.14/package/skelcd-control-openSUSE.changes 2014-08-04 16:33:44.000000000 +0200
+++ new/skelcd-control-openSUSE-13.2.15/package/skelcd-control-openSUSE.changes 2014-09-16 15:22:10.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Mon Sep 15 11:00:27 UTC 2014 - coolo(a)suse.com
+
+- remove clients from 2nd stage that no longer exist. For now we keep
+ the 2nd stage
+- 13.2.15
+
+-------------------------------------------------------------------
Mon Aug 4 16:18:25 CEST 2014 - locilka(a)suse.com
- Added yast2-firewall to inst-sys dependencies - required for
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd-control-openSUSE-13.2.14/package/skelcd-control-openSUSE.spec new/skelcd-control-openSUSE-13.2.15/package/skelcd-control-openSUSE.spec
--- old/skelcd-control-openSUSE-13.2.14/package/skelcd-control-openSUSE.spec 2014-08-04 16:33:44.000000000 +0200
+++ new/skelcd-control-openSUSE-13.2.15/package/skelcd-control-openSUSE.spec 2014-09-16 15:22:10.000000000 +0200
@@ -76,7 +76,7 @@
Url: https://github.com/yast/skelcd-control-openSUSE
AutoReqProv: off
-Version: 13.2.14
+Version: 13.2.15
Release: 0
Summary: The openSUSE Installation Control file
License: MIT
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package aalib for openSUSE:Factory checked in at 2014-09-17 21:23:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/aalib (Old)
and /work/SRC/openSUSE:Factory/.aalib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aalib"
Changes:
--------
--- /work/SRC/openSUSE:Factory/aalib/aalib.changes 2013-03-24 21:32:32.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.aalib.new/aalib.changes 2014-09-17 21:23:39.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 15 16:56:57 UTC 2014 - crrodriguez(a)opensuse.org
+
+- Use pkgconfig(x11) not metapackage xorg-x11-devel
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ aalib.spec ++++++
--- /var/tmp/diff_new_pack.6s2N5X/_old 2014-09-17 21:23:40.000000000 +0200
+++ /var/tmp/diff_new_pack.6s2N5X/_new 2014-09-17 21:23:40.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package aalib
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%define lname libaa1
BuildRequires: libtool
BuildRequires: ncurses-devel
-BuildRequires: xorg-x11-devel
+BuildRequires: pkgconfig(x11)
%if 0%{?suse_version} > 1130
BuildRequires: gpm-devel
%else
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kbd for openSUSE:Factory checked in at 2014-09-17 21:23:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kbd (Old)
and /work/SRC/openSUSE:Factory/.kbd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kbd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kbd/kbd.changes 2014-08-25 11:54:35.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kbd.new/kbd.changes 2014-09-17 21:23:37.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Sep 4 17:51:54 UTC 2014 - jw(a)owncloud.com
+
+- added /usr/bin/kbd, a simple userfriedly keymap switcher.
+ From https://github.com/jnweiger/kbd-wrapper
+
+-------------------------------------------------------------------
New:
----
kbd.pl
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kbd.spec ++++++
--- /var/tmp/diff_new_pack.LGAwP6/_old 2014-09-17 21:23:38.000000000 +0200
+++ /var/tmp/diff_new_pack.LGAwP6/_new 2014-09-17 21:23:38.000000000 +0200
@@ -39,6 +39,7 @@
Source11: fbtest.c
Source12: fbtest.8
Source13: guess_encoding.pl
+Source14: kbd.pl
Source42: convert-kbd-mac.sed
Source43: repack_kbd.sh
Patch0: kbd-1.15.2-prtscr_no_sigquit.patch
@@ -230,6 +231,7 @@
install -m 755 fbtest %{buildroot}/%{_sbindir}
install -m 644 %{SOURCE12} %{buildroot}/%{_mandir}/man8/
install -m 755 %{SOURCE13} %{buildroot}/%{_bindir}/guess_encoding
+install -m 755 %{SOURCE14} %{buildroot}/%{_bindir}/kbd
#UsrMerge
mkdir -p %{buildroot}/bin
mkdir -p %{buildroot}/sbin
@@ -376,6 +378,7 @@
%{_bindir}/unicode_stop
%{_bindir}/kbdrate
%{_bindir}/guess_encoding
+%{_bindir}/kbd
%{_bindir}/clrunimap
%{_bindir}/getunimap
%{_bindir}/outpsfheader
++++++ kbd.pl ++++++
#! /usr/bin/perl -w
#
# simple script to switch the keyboard language
# (c) 2014 jw(a)owncloud.om
my $sysconffile = '/etc/sysconfig/keyboard';
my $mapdir = '/usr/share/kbd/keymaps/i386';
my $version = '1.0';
my $what = shift || '-h';
my $v = slurp_sysconf($sysconffile);
my $m = find_maps();
my $l = {
'english' => 'us.map',
'german' => 'de-latin1-nodeadkeys.map',
'french' => 'fr-latin1.map',
'spanish' => 'es.map',
'italian' => 'it.map',
'dutch' => 'nl.map',
};
for my $k (keys %$l)
{
# zap non-installed languages from our pretty printed list.
delete $l->{$k} unless $m->{$l->{$k}} or $m->{"$l->{$k}.gz"};
}
if ($what eq '-h')
{
print qq{kbd Version $version
Usage: $0 [option] [mapping]
Available options are:
-l list typical language mappings.
-a list all maps
-h print this usage
Specify as a mapping either a language name (seen with -l)
or a mapping name (seen with -a). For a mapping name, add a .map suffix.
Current keymap: $v->{KEYTABLE}
};
exit 0;
}
if ($what eq '-l')
{
for my $k (sort keys %$l)
{
printf "%-10s %s\n", $k, $l->{$k};
}
exit 0;
}
if ($what eq '-a' || $what eq '-m')
{
my @k = map { $1 if /(.*).map(.gz)?$/ } sort keys %$m;
print "current keymap: $v->{KEYTABLE}\n";
print "available keymaps: @k\n";
print "\n\nuse '$0 MAPNAME' to change.\n";
exit 0;
}
$what = $l->{$what} if $l->{$what};
$what = "$what.gz" if $m->{"$what.gz"};
$what = "$what.map" if $m->{"$what.map"};
$what = "$what.map.gz" if $m->{"$what.map.gz"};
die "$what: keymap not found.\n Try $0 -h\n" unless $m->{$what};
write_sysconf($sysconffile, { 'KEYTABLE' => $what } );
# system("kbd_mode -u"); # switch to unicode. Should be the default anyway.
system("loadkeys $what"); # now set the keymap.
# FIXME: is that all?
# mayb also do: systemctl restart kbd.service
exit 0;
###################################################################
sub find_maps
{
my $maps;
opendir DIR, $mapdir or die "$0: cannot readdir $mapdir: !$\n";
my @d = grep { -d "$mapdir/$_" && !/^\./ } readdir DIR;
closedir DIR;
for my $d (@d)
{
opendir DIR, "$mapdir/$d" or die "$0: cannot readdir $mapdir/$d: !$\n";
my @f = grep { /\.map(.gz)?$/ } readdir DIR;
closedir DIR;
for my $f (@f)
{
$maps->{$f} = "$d/$f";
}
}
return $maps;
}
sub slurp_sysconf
{
my ($file) = @_;
my $vals;
open my $fd, "<", $file or die "$0: cannot read config file $file: $!\n";
while (defined(my $line = <$fd>))
{
chomp $line;
$vals->{$1} = $2 if $line =~ m{^([A-Z_]+)\s*=\s*"(.*)"};
}
close $fd;
return $vals;
}
sub write_sysconf
{
my ($file, $vals) = @_;
my @sysconf = ();
open my $fd, "<", $file or die "$0: cannot read config file $file: $!\n";
while (defined(my $line = <$fd>))
{
chomp $line;
push @sysconf, $line;
}
close $fd;
open $fd, ">", $file or die "$0: cannot write config file $file: $!\n";
for my $line (@sysconf)
{
if ($line =~ m{^([A-Z_]+)\s*=\s*"(.*)"})
{
my ($keyword,$value) = ($1,$2);
if (defined $vals->{$keyword})
{
$line =~ s{\Q$value\E}{$vals->{$keyword}};
}
}
print $fd "$line\n";
}
close $fd or die "$0: could not write config file $file: $!\n";
}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0