openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- 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
July 2014
- 1 participants
- 1416 discussions
Hello community,
here is the log from the commit of package kiwi for openSUSE:Factory checked in at 2014-07-31 21:50:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kiwi (Old)
and /work/SRC/openSUSE:Factory/.kiwi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kiwi/kiwi.changes 2014-07-26 12:19:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes 2014-07-31 21:50:10.000000000 +0200
@@ -1,0 +2,133 @@
+Thu Jul 31 11:22:28 CEST 2014 - ms(a)suse.de
+
+- v5.06.135 released
+
+-------------------------------------------------------------------
+Thu Jul 31 10:56:08 CEST 2014 - ms(a)suse.de
+
+- Be more clear in variable assignment with regards to name vs. content
+
+-------------------------------------------------------------------
+Thu Jul 31 00:13:23 CEST 2014 - ms(a)suse.de
+
+- Improve logging of errors for session scripts
+ kiwi creates session scripts running in screen logging all
+ output to the kiwi logfile. In case of an error we only want
+ to see the stderr information and not the entire history
+
+-------------------------------------------------------------------
+Wed Jul 30 23:21:22 CEST 2014 - ms(a)suse.de
+
+- DB: rebuild documentation
+
+-------------------------------------------------------------------
+Wed Jul 30 23:00:03 CEST 2014 - ms(a)suse.de
+
+- Fixed typo in message texts
+
+-------------------------------------------------------------------
+Wed Jul 30 19:47:04 CEST 2014 - ms(a)suse.de
+
+- Update bash completion
+ Added possible options for --upgrade
+
+-------------------------------------------------------------------
+Wed Jul 30 19:27:52 CEST 2014 - ms(a)suse.de
+
+- Delete git from Recommends list in the spec file
+ SUSE by default installs all recommended packages which
+ increases the amount of software installed when kiwi is
+ installed by an unnecessary number of packages
+
+-------------------------------------------------------------------
+Wed Jul 30 19:24:37 CEST 2014 - ms(a)suse.de
+
+- Fixed logging module
+ * delete obsolete and unused code from KIWILog
+ * make sure error log messages are printed on stderr
+ * delete obsolete --log-port option
+
+-------------------------------------------------------------------
+Wed Jul 30 16:06:21 CEST 2014 - ms(a)suse.de
+
+- use count information from IO::Select to loop through
+ available data for reading
+
+-------------------------------------------------------------------
+Tue Jul 29 20:43:06 CEST 2014 - ms(a)suse.de
+
+- Fixed OEM installer for LVM on LUKS images
+
+-------------------------------------------------------------------
+Tue Jul 29 13:00:17 CEST 2014 - ms(a)suse.de
+
+- Make sure LUKS encoding is not applied if the given device
+ already contains a LUKS container
+
+-------------------------------------------------------------------
+Tue Jul 29 11:57:13 CEST 2014 - ms(a)suse.de
+
+- Don't call losetup with stderr redirected to stdout if the
+ show option is used. potential error messages could then
+ affect the standard output
+
+-------------------------------------------------------------------
+Tue Jul 29 10:09:56 CEST 2014 - ms(a)suse.de
+
+- Added check for given type name on the commandline compared to
+ the selected build type in the checkType global function.
+ If the commandline specified type is valid but not specified
+ in the configuration kiwi exits
+
+-------------------------------------------------------------------
+Tue Jul 29 09:27:08 CEST 2014 - ms(a)suse.de
+
+- Call cryptsetup in one central encoding function in
+ KIWIBoot for disk based images
+
+-------------------------------------------------------------------
+Tue Jul 29 09:02:02 CEST 2014 - ms(a)suse.de
+
+- Add info messages for intermediate steps when creating the
+ disk layout such like information about creation of md raid
+ or luks extensions
+
+-------------------------------------------------------------------
+Mon Jul 28 21:17:32 CEST 2014 - ms(a)suse.de
+
+- Support LUKS extension with LVM
+
+-------------------------------------------------------------------
+Mon Jul 28 17:50:40 CEST 2014 - ms(a)suse.de
+
+- Avoid blocking IO in callCmd if large chunks of data arrive
+
+-------------------------------------------------------------------
+Mon Jul 28 15:45:00 CEST 2014 - adrian(a)suse.de
+
+- fix open3 usage
+
+-------------------------------------------------------------------
+Mon Jul 28 15:33:47 CEST 2014 - ms(a)suse.de
+
+- Fixed --help output for disk-alignment
+ The option value must be given in KBytes but the help did
+ not explain that and the default value information used the
+ wrong unit too
+
+-------------------------------------------------------------------
+Mon Jul 28 15:08:09 CEST 2014 - adrian(a)suse.de
+
+- avoid warnings when rpm-md repos are disabled
+
+-------------------------------------------------------------------
+Mon Jul 28 15:07:47 CEST 2014 - adrian(a)suse.de
+
+- avoid warnings when an info value is unset
+
+-------------------------------------------------------------------
+Mon Jul 28 11:14:53 CEST 2014 - adrian(a)suse.de
+
+- fail when a product plugin dir is configured, but does not exist
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kiwi.spec ++++++
--- /var/tmp/diff_new_pack.eUJopS/_old 2014-07-31 21:50:14.000000000 +0200
+++ /var/tmp/diff_new_pack.eUJopS/_new 2014-07-31 21:50:14.000000000 +0200
@@ -26,7 +26,7 @@
Group: System/Management
Url: http://github.com/openSUSE/kiwi
Name: kiwi
-Version: 5.06.134
+Version: 5.06.135
Release: 0
Provides: kiwi-schema = 6.1
# requirements to build packages
@@ -107,7 +107,6 @@
%if 0%{?suse_version}
Recommends: db45-utils
Recommends: db48-utils
-Recommends: git
%endif
# obsoletes
Obsoletes: kiwi-desc-usbboot <= 4.81
++++++ kiwi-docu.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/kiwi/kiwi-docu.tar.bz2 /work/SRC/openSUSE:Factory/.kiwi.new/kiwi-docu.tar.bz2 differ: char 11, line 1
++++++ kiwi-repo.tar.bz2 ++++++
++++++ kiwi.tar.bz2 ++++++
++++ 2624 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 xdg-utils for openSUSE:Factory checked in at 2014-07-31 21:50:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xdg-utils (Old)
and /work/SRC/openSUSE:Factory/.xdg-utils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xdg-utils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xdg-utils/xdg-utils.changes 2014-01-13 17:20:18.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xdg-utils.new/xdg-utils.changes 2014-07-31 21:50:06.000000000 +0200
@@ -1,0 +2,11 @@
+Mon Jun 30 14:54:19 UTC 2014 - fcrozat(a)suse.com
+
+- Update to 20140630:
+ * manpage for xdg-su and xdg-terminal
+ * xdg-terminal: better support for screen and rxvt variants
+ * add xdg-settings tool
+ * improve KDE detection
+ * xdg-open: various fixes
+ * xdg-screensaver: use D-Bus api to lock GNOME screensaver
+
+-------------------------------------------------------------------
Old:
----
xdg-utils-20140109.tar.xz
New:
----
xdg-utils-20140630.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xdg-utils.spec ++++++
--- /var/tmp/diff_new_pack.upOPfI/_old 2014-07-31 21:50:06.000000000 +0200
+++ /var/tmp/diff_new_pack.upOPfI/_new 2014-07-31 21:50:06.000000000 +0200
@@ -16,7 +16,6 @@
#
-
Name: xdg-utils
BuildRequires: make
BuildRequires: xmlto
@@ -26,7 +25,7 @@
Summary: Utilities to uniformly interface desktop environments
License: MIT
Group: System/GUI/Other
-Version: 20140109
+Version: 20140630
Release: 0
BuildArch: noarch
Url: http://portland.freedesktop.org/
@@ -90,7 +89,9 @@
%{_mandir}/man1/xdg-icon-resource.1*
%{_mandir}/man1/xdg-mime.1*
%{_mandir}/man1/xdg-open.1*
+%{_mandir}/man1/xdg-terminal.1*
%{_mandir}/man1/xdg-screensaver.1*
%{_mandir}/man1/xdg-settings.1*
+%{_mandir}/man1/xdg-su.1*
%changelog
++++++ xdg-utils-20140109.tar.xz -> xdg-utils-20140630.tar.xz ++++++
++++ 7137 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 SuSEfirewall2 for openSUSE:Factory checked in at 2014-07-31 21:50:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/SuSEfirewall2 (Old)
and /work/SRC/openSUSE:Factory/.SuSEfirewall2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "SuSEfirewall2"
Changes:
--------
--- /work/SRC/openSUSE:Factory/SuSEfirewall2/SuSEfirewall2.changes 2014-06-18 07:47:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.SuSEfirewall2.new/SuSEfirewall2.changes 2014-07-31 21:50:03.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Jul 31 08:51:43 UTC 2014 - meissner(a)suse.com
+
+- SuSEfirewall2, ACCEPT from services is a local variable, otherwise
+ "ACCEPT" would be used a service name (bnc#889406 bnc#889555 bnc#887040)
+
+-------------------------------------------------------------------
Old:
----
SuSEfirewall2-3.6.309.tar.bz2
New:
----
SuSEfirewall2-3.6.310.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ SuSEfirewall2.spec ++++++
--- /var/tmp/diff_new_pack.aEEyoe/_old 2014-07-31 21:50:04.000000000 +0200
+++ /var/tmp/diff_new_pack.aEEyoe/_new 2014-07-31 21:50:04.000000000 +0200
@@ -18,7 +18,7 @@
Name: SuSEfirewall2
-Version: 3.6.309
+Version: 3.6.310
Release: 0
Url: http://en.opensuse.org/SuSEfirewall2
PreReq: %fillup_prereq %insserv_prereq /bin/sed textutils fileutils grep filesystem
++++++ SuSEfirewall2-3.6.309.tar.bz2 -> SuSEfirewall2-3.6.310.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/SuSEfirewall2-3.6.309/SuSEfirewall2 new/SuSEfirewall2-3.6.310/SuSEfirewall2
--- old/SuSEfirewall2-3.6.309/SuSEfirewall2 2014-06-11 10:45:57.000000000 +0200
+++ new/SuSEfirewall2-3.6.310/SuSEfirewall2 2014-07-31 10:50:49.000000000 +0200
@@ -1261,6 +1261,7 @@
local BROADCAST=''
local RELATED=''
local MODULES=''
+ local ACCEPT=''
# XXX: could use a sub shell in order to enforce use of known variables only
if [ ! -r $CONFIGURATIONSDIR_0/$config ] || ! . $CONFIGURATIONSDIR_0/$config; then
--
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 desktop-data-openSUSE for openSUSE:Factory checked in at 2014-07-31 21:49:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/desktop-data-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.desktop-data-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "desktop-data-openSUSE"
Changes:
--------
--- /work/SRC/openSUSE:Factory/desktop-data-openSUSE/desktop-data-openSUSE.changes 2014-03-01 21:20:38.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.desktop-data-openSUSE.new/desktop-data-openSUSE.changes 2014-07-31 21:50:00.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Jul 30 07:29:09 UTC 2014 - gber(a)opensuse.org
+
+- adapt package-manager.desktop to the removal of
+ /usr/bin/package-manager, it now only serves as a shortcut to
+ YaST's package installer (bnc#871978)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ desktop-data.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/desktop-data-openSUSE/desktop-data.tar.bz2 /work/SRC/openSUSE:Factory/.desktop-data-openSUSE.new/desktop-data.tar.bz2 differ: char 11, 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 man for openSUSE:Factory checked in at 2014-07-31 21:49:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/man (Old)
and /work/SRC/openSUSE:Factory/.man.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "man"
Changes:
--------
--- /work/SRC/openSUSE:Factory/man/man.changes 2014-06-25 11:47:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.man.new/man.changes 2014-07-31 21:49:59.000000000 +0200
@@ -1,0 +2,11 @@
+Thu Jul 31 08:33:00 UTC 2014 - werner(a)suse.de
+
+- The former change had added the patch man-MAN_POSIXLY_CORRECT-man1.dif
+
+-------------------------------------------------------------------
+Tue Jul 29 19:40:08 UTC 2014 - auxsvr(a)gmail.com
+
+- Added description of MAN_POSIXLY_CORRECT in man.man1,
+ patch man-MAN_POSIXLY_CORRECT-man1.dif (bnc#786679)
+
+-------------------------------------------------------------------
New:
----
man-MAN_POSIXLY_CORRECT-man1.dif
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ man.spec ++++++
--- /var/tmp/diff_new_pack.sIptb9/_old 2014-07-31 21:50:00.000000000 +0200
+++ /var/tmp/diff_new_pack.sIptb9/_new 2014-07-31 21:50:00.000000000 +0200
@@ -60,6 +60,8 @@
Patch7: man-db-2.6.3-chinese.dif
Patch9: man-db-2.6.5-zio.dif
Patch10: man-db-2.6.3-listall.dif
+# PATCH-FIX-SUSE Fixes the documentation for bnc#786679
+Patch11: man-MAN_POSIXLY_CORRECT-man1.dif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%global _sysconfdir /etc
@@ -85,6 +87,7 @@
%patch9 -p0 -b .zio
%patch10 -p0 -b .listall
%patch0 -p0 -b .0
+%patch11 -p0
%build
gettextize --force --copy --no-changelog
++++++ man-MAN_POSIXLY_CORRECT-man1.dif ++++++
--- man/man1/man.man1.bak 2014-07-29 19:12:02.574014758 +0300
+++ man/man1/man.man1 2014-07-29 19:14:06.522076369 +0300
@@ -1327,6 +1327,14 @@
.RB $ MAN_KEEP_STDERR
is set to any non-empty value, error output will be displayed as usual.
.TP
+.if !'po4a'hide' .BR MAN_POSIXLY_CORRECT
+If many man pages are available corresponding to the requested one,
+.B %man%
+will display them in a list, unless
+.RB $ MAN_POSIXLY_CORRECT
+is set, in which case the first page in the list will be displayed
+automatically.
+.TP
.if !'po4a'hide' .BR LANG , " LC_MESSAGES"
Depending on system and implementation, either or both of
.RB $ LANG
--
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 linuxrc for openSUSE:Factory checked in at 2014-07-31 21:49:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/linuxrc (Old)
and /work/SRC/openSUSE:Factory/.linuxrc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "linuxrc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/linuxrc/linuxrc.changes 2014-07-31 10:04:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.linuxrc.new/linuxrc.changes 2014-07-31 21:49:58.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Jul 31 10:29:07 CEST 2014 - snwint(a)suse.de
+
+- fix point-to-point interface handling (bnc #889580)
+- 5.0.8
+
+-------------------------------------------------------------------
Old:
----
linuxrc-5.0.7.tar.xz
New:
----
linuxrc-5.0.8.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ linuxrc.spec ++++++
--- /var/tmp/diff_new_pack.sRI2rJ/_old 2014-07-31 21:49:59.000000000 +0200
+++ /var/tmp/diff_new_pack.sRI2rJ/_new 2014-07-31 21:49:59.000000000 +0200
@@ -25,9 +25,9 @@
Summary: SUSE Installation Program
License: GPL-3.0+
Group: System/Boot
-Version: 5.0.7
+Version: 5.0.8
Release: 0
-Source: linuxrc-5.0.7.tar.xz
+Source: linuxrc-5.0.8.tar.xz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
++++++ linuxrc-5.0.7.tar.xz -> linuxrc-5.0.8.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.7/VERSION new/linuxrc-5.0.8/VERSION
--- old/linuxrc-5.0.7/VERSION 2014-07-30 10:56:55.000000000 +0200
+++ new/linuxrc-5.0.8/VERSION 2014-07-31 10:29:00.000000000 +0200
@@ -1 +1 @@
-5.0.7
+5.0.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.7/auto2.c new/linuxrc-5.0.8/auto2.c
--- old/linuxrc-5.0.7/auto2.c 2014-07-25 18:13:49.000000000 +0200
+++ new/linuxrc-5.0.8/auto2.c 2014-07-31 10:28:30.000000000 +0200
@@ -584,7 +584,7 @@
{
if(!net_config_needed(0)) return;
- check_ptp(NULL);
+ check_ptp(config.ifcfg.manual->device);
if( ((net_config_mask() & 3) == 3) || (config.ifcfg.manual->ptp && ((net_config_mask() & 1) == 1)) ) {
/* we have IP & netmask (or just IP for PTP devices) */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.7/changelog new/linuxrc-5.0.8/changelog
--- old/linuxrc-5.0.7/changelog 2014-07-30 10:56:57.000000000 +0200
+++ new/linuxrc-5.0.8/changelog 2014-07-31 10:29:02.000000000 +0200
@@ -1,4 +1,9 @@
-2014-07-30: HEAD
+2014-07-31: HEAD
+ - Merge pull request #16 from openSUSE/sw_0004
+ - fix point-to-point interface handling (bnc #889580)
+ - fix point-to-point interface handling (bnc #889580)
+
+2014-07-30: 5.0.7
- Merge pull request #15 from openSUSE/sw_0003
- pass along hostname if explicitly set (bnc #889374)
- pass along hostname if explicitly set (bnc #889374)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.7/net.c new/linuxrc-5.0.8/net.c
--- old/linuxrc-5.0.7/net.c 2014-07-28 16:37:52.000000000 +0200
+++ new/linuxrc-5.0.8/net.c 2014-07-31 10:28:30.000000000 +0200
@@ -777,7 +777,7 @@
if(choice > 0) {
str_copy(&config.ifcfg.manual->device, item_devs[choice - 1]);
- check_ptp(NULL);
+ check_ptp(config.ifcfg.manual->device);
if(item_hds && item_hds[choice - 1]) {
hd = item_hds[choice - 1];
@@ -813,17 +813,17 @@
*/
int net_input_data()
{
- if((config.net.setup & NS_HOSTIP)) {
- if(net_get_ip(
- "Enter your IP address with network prefix.\n\n"
- "You can enter more than one, separated by space, if necessary.\n"
- "Leave empty for autoconfig.\n\n"
- "Examples: 192.168.5.77/24 2001:db8:75:fff::3/64",
- &config.ifcfg.manual->ip, 1) == 2
- ) return -1;
- }
-
if(config.ifcfg.manual->ptp) {
+ if((config.net.setup & NS_HOSTIP)) {
+ if(net_get_ip(
+ "Enter your IP address.\n\n"
+ "You can enter more than one, separated by space, if necessary.\n"
+ "Leave empty for autoconfig.\n\n"
+ "Examples: 192.168.5.77 2001:db8:75:fff::3",
+ &config.ifcfg.manual->ip, 0) == 2
+ ) return -1;
+ }
+
if(net_get_ip(
"Enter the IP address of the PLIP partner.\n\n"
"Examples: 192.168.5.77 2001:db8:75:fff::3",
@@ -831,32 +831,42 @@
) return -1;
}
else {
- if((config.net.setup & NS_GATEWAY)) {
+ if((config.net.setup & NS_HOSTIP)) {
if(net_get_ip(
- "Enter your gateway IP address.\n\n"
+ "Enter your IP address with network prefix.\n\n"
"You can enter more than one, separated by space, if necessary.\n"
- "Leave empty if you don't need one.\n\n"
- "Examples: 192.168.5.77 2001:db8:75:fff::3",
- &config.ifcfg.manual->gw, 0) == 2
+ "Leave empty for autoconfig.\n\n"
+ "Examples: 192.168.5.77/24 2001:db8:75:fff::3/64",
+ &config.ifcfg.manual->ip, 1) == 2
) return -1;
}
- if((config.net.setup & NS_NAMESERVER)) {
+ if((config.net.setup & NS_GATEWAY)) {
if(net_get_ip(
- "Enter your name server IP address.\n\n"
+ "Enter your gateway IP address.\n\n"
"You can enter more than one, separated by space, if necessary.\n"
"Leave empty if you don't need one.\n\n"
"Examples: 192.168.5.77 2001:db8:75:fff::3",
- &config.ifcfg.manual->ns, 0) == 2
+ &config.ifcfg.manual->gw, 0) == 2
) return -1;
-
- dia_input2(
- "Enter your search domains, separated by a space.",
- &config.ifcfg.manual->domain, 40, 0
- );
}
}
+ if((config.net.setup & NS_NAMESERVER)) {
+ if(net_get_ip(
+ "Enter your name server IP address.\n\n"
+ "You can enter more than one, separated by space, if necessary.\n"
+ "Leave empty if you don't need one.\n\n"
+ "Examples: 192.168.5.77 2001:db8:75:fff::3",
+ &config.ifcfg.manual->ns, 0) == 2
+ ) return -1;
+
+ dia_input2(
+ "Enter your search domains, separated by a space.",
+ &config.ifcfg.manual->domain, 40, 0
+ );
+ }
+
return 0;
}
@@ -2582,14 +2592,12 @@
/*
- * Check if interface is a ptp interface and set config.ifcfg.manual accordingly.
+ * Check if interface is a ptp interface and set config.ifcfg.manual->ptp accordingly.
*/
unsigned check_ptp(char *ifname)
{
unsigned ptp = 0;
- if(!ifname) ifname = config.net.device;
-
if(
ifname &&
(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/linuxrc-5.0.7/url.c new/linuxrc-5.0.8/url.c
--- old/linuxrc-5.0.7/url.c 2014-07-25 18:13:49.000000000 +0200
+++ new/linuxrc-5.0.8/url.c 2014-07-31 10:28:30.000000000 +0200
@@ -2290,7 +2290,7 @@
if((config.net.do_setup & DS_SETUP)) auto2_user_netconfig();
if(!config.ifcfg.if_up) {
- check_ptp(NULL);
+ check_ptp(config.ifcfg.manual->device);
if(config.ifcfg.manual->dhcp && !config.ifcfg.manual->ptp) {
net_dhcp();
--
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-07-31 21:49:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-07-30 07:35:03.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-packager.new/yast2-packager.changes 2014-07-31 21:49:22.000000000 +0200
@@ -1,0 +2,21 @@
+Thu Jul 31 14:43:16 CEST 2014 - locilka(a)suse.com
+
+- Added user confirmation for aborting the repositories dialogs
+ (bnc#886662)
+- 3.1.38
+
+-------------------------------------------------------------------
+Thu Jul 31 11:18:09 UTC 2014 - jsrain(a)suse.cz
+
+- added product rename sle-hae -> sle-ha to the list (bnc#889745)
+- 3.1.37
+
+-------------------------------------------------------------------
+Wed Jul 30 06:57:47 UTC 2014 - ancor(a)suse.com
+
+- Refactored kernelCmdLinePackages to rely on .proc.cmdline agent
+ (bnc#889365)
+- Added dependency on yast2 >= 3.1.89 (fixed agent)
+- 3.1.36
+
+-------------------------------------------------------------------
Old:
----
yast2-packager-3.1.35.tar.bz2
New:
----
yast2-packager-3.1.38.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-packager.spec ++++++
--- /var/tmp/diff_new_pack.1ouL9S/_old 2014-07-31 21:49:23.000000000 +0200
+++ /var/tmp/diff_new_pack.1ouL9S/_new 2014-07-31 21:49:23.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-packager
-Version: 3.1.35
+Version: 3.1.38
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -43,8 +43,8 @@
# Pkg::SetZConfig()
Requires: yast2-pkg-bindings >= 2.21.8
-# HwDetection
-Requires: yast2 >= 3.1.19
+# Fixed .proc.cmdline agent
+Requires: yast2 >= 3.1.89
# unzipping license file
Requires: unzip
++++++ yast2-packager-3.1.35.tar.bz2 -> yast2-packager-3.1.38.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.35/package/yast2-packager.changes new/yast2-packager-3.1.38/package/yast2-packager.changes
--- old/yast2-packager-3.1.35/package/yast2-packager.changes 2014-07-29 18:09:45.000000000 +0200
+++ new/yast2-packager-3.1.38/package/yast2-packager.changes 2014-07-31 15:44:43.000000000 +0200
@@ -1,4 +1,25 @@
-------------------------------------------------------------------
+Thu Jul 31 14:43:16 CEST 2014 - locilka(a)suse.com
+
+- Added user confirmation for aborting the repositories dialogs
+ (bnc#886662)
+- 3.1.38
+
+-------------------------------------------------------------------
+Thu Jul 31 11:18:09 UTC 2014 - jsrain(a)suse.cz
+
+- added product rename sle-hae -> sle-ha to the list (bnc#889745)
+- 3.1.37
+
+-------------------------------------------------------------------
+Wed Jul 30 06:57:47 UTC 2014 - ancor(a)suse.com
+
+- Refactored kernelCmdLinePackages to rely on .proc.cmdline agent
+ (bnc#889365)
+- Added dependency on yast2 >= 3.1.89 (fixed agent)
+- 3.1.36
+
+-------------------------------------------------------------------
Tue Jul 29 15:52:43 UTC 2014 - lslezak(a)suse.cz
- ag_zypp_repos - do not try parsing directory entries in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.35/package/yast2-packager.spec new/yast2-packager-3.1.38/package/yast2-packager.spec
--- old/yast2-packager-3.1.35/package/yast2-packager.spec 2014-07-29 18:09:45.000000000 +0200
+++ new/yast2-packager-3.1.38/package/yast2-packager.spec 2014-07-31 15:44:43.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-packager
-Version: 3.1.35
+Version: 3.1.38
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -42,8 +42,8 @@
# Pkg::SetZConfig()
Requires: yast2-pkg-bindings >= 2.21.8
-# HwDetection
-Requires: yast2 >= 3.1.19
+# Fixed .proc.cmdline agent
+Requires: yast2 >= 3.1.89
# unzipping license file
Requires: unzip
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.35/src/modules/AddOnProduct.rb new/yast2-packager-3.1.38/src/modules/AddOnProduct.rb
--- old/yast2-packager-3.1.35/src/modules/AddOnProduct.rb 2014-07-29 18:09:45.000000000 +0200
+++ new/yast2-packager-3.1.38/src/modules/AddOnProduct.rb 2014-07-31 15:44:44.000000000 +0200
@@ -136,7 +136,8 @@
"SUSE_SLES" => [ "SLES" ],
# SLED or Workstation extension
"SUSE_SLED" => [ "SLED", "sle-we" ],
- "sle-haegeo" => [ "sle-ha-geo" ]
+ "sle-haegeo" => [ "sle-ha-geo" ],
+ "sle-hae" => [ "sle-ha" ]
}
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.35/src/modules/Packages.rb new/yast2-packager-3.1.38/src/modules/Packages.rb
--- old/yast2-packager-3.1.35/src/modules/Packages.rb 2014-07-29 18:09:45.000000000 +0200
+++ new/yast2-packager-3.1.38/src/modules/Packages.rb 2014-07-31 15:44:44.000000000 +0200
@@ -970,24 +970,25 @@
ret = []
add_biosdevname = false
- cmdline = Convert.to_string(
- SCR.Read(path(".target.string"), "/proc/cmdline")
- )
-
- options = cmdline.split(/\s/)
+ options = SCR.Read(path(".proc.cmdline"))
+ option = options.grep(/^biosdevname=/i).first
+ if option
+ value = option[/^biosdevname=(\d+)/i, 1]
+ else #missing biosdevname option
+ value = nil
+ end
- if Builtins.contains(options, "biosdevname=1")
+ if value == "1"
Builtins.y2milestone("Biosdevname explicitly enabled")
add_biosdevname = true
- elsif Builtins.contains(options, "biosdevname=0")
+ elsif value == "0"
Builtins.y2milestone("Biosdevname explicitly disabled")
add_biosdevname = false
else
Builtins.y2milestone("Missing biosdevname option, autodetecting...")
add_biosdevname = true if DellSystem()
end
-
- ret = Builtins.add(ret, "biosdevname") if add_biosdevname
+ ret << "biosdevname" if add_biosdevname
Builtins.y2milestone("Packages added by kernel command line: %1", ret)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.35/src/modules/SourceDialogs.rb new/yast2-packager-3.1.38/src/modules/SourceDialogs.rb
--- old/yast2-packager-3.1.35/src/modules/SourceDialogs.rb 2014-07-29 18:09:45.000000000 +0200
+++ new/yast2-packager-3.1.38/src/modules/SourceDialogs.rb 2014-07-31 15:44:44.000000000 +0200
@@ -77,6 +77,7 @@
Yast.import "IP"
Yast.import "ProductControl"
Yast.import "ProductFeatures"
+ Yast.import "Stage"
# common functions / data
@@ -112,6 +113,11 @@
"<p>If the repository is on multiple media,\nset the location of the first media of the set.</p>\n"
)
+ # Belongs to a constant, but can't be there because of `fun_ref`
+ @default_cwm_fallback_functions = {
+ :abort => fun_ref(method(:confirm_abort?), "boolean ()")
+ }
+
# NFS editation widget
@nfs_details_content = VBox(
@@ -1956,6 +1962,7 @@
@display_addon_checkbox ? HSpacing(3) : Empty()
end
+ # FIXME: two almost same definitions in the same function smell bad
def SelectRadioWidgetOpt(download_widget)
contents = HBox(
HStretch(),
@@ -2142,25 +2149,27 @@
true
end
+ # Handles Ui events in New repository type selection dialog
+ #
+ # @param [String] widget key
+ # @param [Hash] event description
+ # @return [Symbol]
def SelectHandle(key, event)
- event = deep_copy(event)
- # reset the preselected URL when going back
- @_url = "" if Ops.get(event, "ID") == :back
-
- if !(Ops.get(event, "ID") == :next || Ops.get(event, "ID") == :ok)
- RefreshTypeWidgets() if event["ID"] == :add_addon
+ case event["ID"]
+ when :back
+ # reset the preselected URL when going back
+ @_url = ""
+ when :next, :ok
+ return nil
+ when :add_addon
+ RefreshTypeWidgets()
return nil
end
- selected = Convert.to_symbol(UI.QueryWidget(Id(:type), :CurrentButton))
-
# TODO: disable "download" option when CD or DVD source is selected
- return nil if selected == nil
- if selected == :slp || selected == :cd || selected == :dvd ||
- selected == :comm_repos
- return :finish
- end
+ selected = UI.QueryWidget(Id(:type), :CurrentButton)
+ return :finish if [:slp, :cd, :dvd, :comm_repos].include?(selected)
nil
end
@@ -2494,7 +2503,7 @@
"caption" => caption,
"back_button" => Label.BackButton,
"next_button" => Label.NextButton,
- "fallback_functions" => {}
+ "fallback_functions" => @default_cwm_fallback_functions,
}
)
end
@@ -2515,7 +2524,7 @@
"caption" => caption,
"back_button" => Label.BackButton,
"next_button" => Label.NextButton,
- "fallback_functions" => {}
+ "fallback_functions" => @default_cwm_fallback_functions,
}
)
end
@@ -2558,7 +2567,7 @@
"caption" => caption,
"back_button" => Label.BackButton,
"next_button" => Label.NextButton,
- "fallback_functions" => {}
+ "fallback_functions" => @default_cwm_fallback_functions,
}
)
Builtins.y2milestone("Type dialog returned %1", ret)
@@ -2582,7 +2591,7 @@
"caption" => caption,
"back_button" => Label.BackButton,
"next_button" => Label.NextButton,
- "fallback_functions" => {}
+ "fallback_functions" => @default_cwm_fallback_functions,
}
)
@@ -2592,6 +2601,13 @@
deep_copy(ret)
end
+ # Returns boolean whether user confirmed to abort the configuration
+ #
+ # @return [Boolean] whether to abort
+ def confirm_abort?
+ (Stage.initial ? Popup.ConfirmAbort(:painless) : Popup.ReallyAbort(SourceManager.Modified()))
+ end
+
publish :function => :SetURL, :type => "void (string)"
publish :function => :SetURLType, :type => "void (string, boolean)"
publish :function => :GetURL, :type => "string ()"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.35/test/data/cmdline-biosdevname_0/proc/cmdline new/yast2-packager-3.1.38/test/data/cmdline-biosdevname_0/proc/cmdline
--- old/yast2-packager-3.1.35/test/data/cmdline-biosdevname_0/proc/cmdline 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-packager-3.1.38/test/data/cmdline-biosdevname_0/proc/cmdline 2014-07-31 15:44:44.000000000 +0200
@@ -0,0 +1,2 @@
+install=cd:// vga=0x314 biosdevname=0
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.35/test/data/cmdline-biosdevname_1/proc/cmdline new/yast2-packager-3.1.38/test/data/cmdline-biosdevname_1/proc/cmdline
--- old/yast2-packager-3.1.35/test/data/cmdline-biosdevname_1/proc/cmdline 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-packager-3.1.38/test/data/cmdline-biosdevname_1/proc/cmdline 2014-07-31 15:44:44.000000000 +0200
@@ -0,0 +1 @@
+install=cd:// vga=0x314 biosDevName=1 anotheroption
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.35/test/data/cmdline-biosdevname_10/proc/cmdline new/yast2-packager-3.1.38/test/data/cmdline-biosdevname_10/proc/cmdline
--- old/yast2-packager-3.1.35/test/data/cmdline-biosdevname_10/proc/cmdline 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-packager-3.1.38/test/data/cmdline-biosdevname_10/proc/cmdline 2014-07-31 15:44:44.000000000 +0200
@@ -0,0 +1 @@
+install=cd:// vga=0x314 biosDevName=10 anotheroption
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.35/test/data/cmdline-biosdevname_nil/proc/cmdline new/yast2-packager-3.1.38/test/data/cmdline-biosdevname_nil/proc/cmdline
--- old/yast2-packager-3.1.35/test/data/cmdline-biosdevname_nil/proc/cmdline 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-packager-3.1.38/test/data/cmdline-biosdevname_nil/proc/cmdline 2014-07-31 15:44:44.000000000 +0200
@@ -0,0 +1 @@
+install=cd:// vga=0x314
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-packager-3.1.35/test/packages_test.rb new/yast2-packager-3.1.38/test/packages_test.rb
--- old/yast2-packager-3.1.35/test/packages_test.rb 2014-07-29 18:09:45.000000000 +0200
+++ new/yast2-packager-3.1.38/test/packages_test.rb 2014-07-31 15:44:44.000000000 +0200
@@ -28,6 +28,13 @@
YAML.load_file(file_name)
end
+def set_root_path(directory)
+ root = File.join(DATA_PATH, directory)
+ check_version = false
+ handle = Yast::WFM.SCROpen("chroot=#{root}:scr", check_version)
+ Yast::WFM.SCRSetDefault(handle)
+end
+
PRODUCTS_FROM_ZYPP = load_zypp('products.yml').freeze
describe Yast::Packages do
@@ -38,40 +45,37 @@
describe "#kernelCmdLinePackages" do
before(:each) do
# default value
- Yast::SCR.stub(:Read).and_return(nil)
Yast::Product.stub(:Product).and_return(nil)
end
+ after(:each) do
+ # set_root_path is always called and it opens a SCR instance
+ # that needs to be closed
+ Yast::WFM.SCRClose(Yast::WFM.SCRGetDefault)
+ end
+
context "when biosdevname behavior explicitly defined on the Kenel command line" do
it "returns biosdevname within the list of required packages" do
- Yast::SCR.stub(:Read).with(
- SCR_STRING_PATH,"/proc/cmdline"
- ).and_return("install=cd:// vga=0x314 biosdevname=1")
+ set_root_path("cmdline-biosdevname_1")
expect(Yast::Packages.kernelCmdLinePackages.include?("biosdevname")).to be_true
end
- it "returns biosdevname within the list of required packages with new line at the end" do
- Yast::SCR.stub(:Read).with(
- SCR_STRING_PATH,"/proc/cmdline"
- ).and_return("install=cd:// vga=0x314\nbiosdevname=1\n")
- expect(Yast::Packages.kernelCmdLinePackages.include?("biosdevname")).to be_true
+ it "does not return biosdevname within the list of required packages" do
+ set_root_path("cmdline-biosdevname_0")
+ expect(Yast::Packages.kernelCmdLinePackages.include?("biosdevname")).to be_false
end
- it "does not return biosdevname within the list of required packages" do
- Yast::SCR.stub(:Read).with(
- SCR_STRING_PATH,"/proc/cmdline"
- ).and_return("install=cd:// vga=0x314 biosdevname=0")
+ it "does not return biosdevname within the list of required packages then value is invalid" do
+ set_root_path("cmdline-biosdevname_10")
expect(Yast::Packages.kernelCmdLinePackages.include?("biosdevname")).to be_false
end
end
context "when biosdevname behavior not defined on the Kernel command line" do
+ before { set_root_path("cmdline-biosdevname_nil") }
+
context "and running on a Dell system" do
it "returns biosdevname within the list of packages" do
- Yast::SCR.stub(:Read).with(
- Yast::Path.new(".target.string"),
- "/proc/cmdline"
- ).and_return("install=cd:// vga=0x314")
# 0 means `grep` succeeded
Yast::SCR.stub(:Execute).with(SCR_BASH_PATH, CHECK_FOR_DELL_SYSTEM).and_return(0)
expect(Yast::Packages.kernelCmdLinePackages.include?("biosdevname")).to be_true
@@ -80,10 +84,6 @@
context "and running on a non-Dell system" do
it "does not return biosdevname within the list of packages" do
- Yast::SCR.stub(:Read).with(
- Yast::Path.new(".target.string"),
- "/proc/cmdline"
- ).and_return("install=cd:// vga=0x314")
# 1 means `grep` has not succeeded
Yast::SCR.stub(:Execute).with(SCR_BASH_PATH, CHECK_FOR_DELL_SYSTEM).and_return(1)
expect(Yast::Packages.kernelCmdLinePackages.include?("biosdevname")).to be_false
--
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 systemd for openSUSE:Factory checked in at 2014-07-31 21:49:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
and /work/SRC/openSUSE:Factory/.systemd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes 2014-07-29 21:21:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes 2014-07-31 21:49:16.000000000 +0200
@@ -1,0 +2,50 @@
+Thu Jul 31 07:55:47 UTC 2014 - rmilasan(a)suse.com
+
+- Rename:
+ udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
+ to
+ 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
+
+-------------------------------------------------------------------
+Wed Jul 30 21:10:21 UTC 2014 - jeffm(a)suse.com
+
+- udev: use device mapper target name for btrfs device ready (bnc#888215).
+- Add udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
+
+-------------------------------------------------------------------
+Wed Jul 30 12:53:07 UTC 2014 - werner(a)suse.de
+
+- Add patch tomcat6-var-lock-subsys-legacy.patch to add the
+ compatibility directory /var/lock/subsys (bnc#889357)
+
+-------------------------------------------------------------------
+Wed Jul 30 11:45:21 UTC 2014 - werner(a)suse.de
+
+- Add portabiltiy patch
+ 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
+
+-------------------------------------------------------------------
+Wed Jul 30 11:32:23 UTC 2014 - werner(a)suse.de
+
+- Port and add upstream patch
+ 0001-sysv-order-initscripts-which-provide-network-before-.patch
+ 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch
+ 0003-keymap-Annotate-all-micmute-workarounds.patch
+
+-------------------------------------------------------------------
+Wed Jul 30 11:10:34 UTC 2014 - werner(a)suse.de
+
+- Add patch tty-ask-password-agent-on-console.patch that is for system
+ console do ask passphrases on all devices of the console (bnc#886211)
+
+-------------------------------------------------------------------
+Wed Jul 30 11:02:27 UTC 2014 - werner(a)suse.de
+
+- Add former SUSE and/now upstream patches (bnc#889297)
+ 1056-udevd-add-event-timeout-commandline-option.patch
+ 1057-udev-unify-event-timeout-handling.patch
+ 1058-udev-unify-event-timeout-handling.patch (backport for
+ compatibility if patch 1022 is not applied)
+ 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch
+
+-------------------------------------------------------------------
systemd.changes: same change
New:
----
0001-sysv-order-initscripts-which-provide-network-before-.patch
0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch
0003-keymap-Annotate-all-micmute-workarounds.patch
1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
1056-udevd-add-event-timeout-commandline-option.patch
1057-udev-unify-event-timeout-handling.patch
1058-udev-unify-event-timeout-handling.patch
1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch
1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
tomcat6-var-lock-subsys-legacy.patch
tty-ask-password-agent-on-console.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemd-mini.spec ++++++
--- /var/tmp/diff_new_pack.zhRoHH/_old 2014-07-31 21:49:20.000000000 +0200
+++ /var/tmp/diff_new_pack.zhRoHH/_new 2014-07-31 21:49:20.000000000 +0200
@@ -749,6 +749,16 @@
Patch360: 0008-shell-completion-prevent-mangling-unit-names-bash.patch
# PATCH-FIX-UPSTREAM added at 2014/07/28
Patch361: 0009-journald-always-add-syslog-facility-for-messages-com.patch
+# PATCH-FIX-SUSE For system console do ask passphrases on all devices of the console
+Patch362: tty-ask-password-agent-on-console.patch
+# PATCH-FIX-UPSTREAM added at 2014/07/30
+Patch363: 0001-sysv-order-initscripts-which-provide-network-before-.patch
+# PATCH-FIX-UPSTREAM added at 2014/07/30
+Patch364: 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch
+# PATCH-FIX-UPSTREAM added at 2014/07/30
+Patch365: 0003-keymap-Annotate-all-micmute-workarounds.patch
+# PATCH-FIX-SUSE Provide the /var/lock/subsys at start (bnc#889357)
+Patch366: tomcat6-var-lock-subsys-legacy.patch
# UDEV PATCHES
# ============
@@ -864,6 +874,18 @@
Patch1053: 1053-better-checks-in-write_net_rules.patch
# PATCH-FIX-SUSE 0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch
Patch1054: 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
+# PATCH-FIX-SUSE 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
+Patch1055: 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch
+# PATCH-FIX-UPSTREAM 1056-udevd-add-event-timeout-commandline-option.patch
+Patch1056: 1056-udevd-add-event-timeout-commandline-option.patch
+# PATCH-FIX-UPSTREAM 1057-udev-unify-event-timeout-handling.patch
+Patch1057: 1057-udev-unify-event-timeout-handling.patch
+# PATCH-FIX-UPSTREAM 1058-udev-unify-event-timeout-handling.patch
+Patch1058: 1058-udev-unify-event-timeout-handling.patch
+# PATCH-FIX-UPSTREAM 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch
+Patch1059: 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch
+# PATCH-FIX-SUSE 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
+Patch1060: 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@@ -1384,6 +1406,11 @@
%patch359 -p0
%patch360 -p0
%patch361 -p0
+%patch362 -p1
+%patch363 -p0
+%patch364 -p0
+%patch365 -p0
+%patch366 -p1
# udev patches
%patch1001 -p1
@@ -1456,7 +1483,17 @@
%patch1053 -p1
%if %{with blkrrpart}
%patch1054 -p0
+%else
+%patch1055 -p1
+%endif
+%patch1056 -p0
+%if %{with udevsettle}
+%patch1057 -p0
+%else
+%patch1058 -p0
%endif
+%patch1059 -p0
+%patch1060 -p1
# ensure generate files are removed
rm -f units/emergency.service
systemd.spec: same change
++++++ 0001-sysv-order-initscripts-which-provide-network-before-.patch ++++++
Based on 805b573fad06b845502e76f3db3a0efa7583149d Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn(a)redhat.com>
Date: Wed, 23 Jul 2014 12:49:14 +0200
Subject: [PATCH] sysv: order initscripts which provide $network before
network.target
Due to recent changes where $network "maps" to network-online.target
it is not guaranteed that initscript which provides networking will
be terminated after network.target during shutdown which is against LSB.
---
src/core/service.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- src/core/service.c
+++ src/core/service.c 2014-07-30 11:27:16.074235995 +0000
@@ -820,7 +820,7 @@ static int service_load_sysv_path(Servic
if (unit_name_to_type(m) == UNIT_SERVICE)
r = unit_merge_by_name(u, m);
- else
+ else {
/* NB: SysV targets
* which are provided
* by a service are
@@ -835,6 +835,9 @@ static int service_load_sysv_path(Servic
* in the SysV
* services! */
r = unit_add_two_dependencies_by_name(u, UNIT_BEFORE, UNIT_WANTS, m, NULL, true);
+ if (r >= 0 && streq(m, SPECIAL_NETWORK_ONLINE_TARGET))
+ r = unit_add_dependency_by_name(u, UNIT_BEFORE, SPECIAL_NETWORK_TARGET, NULL, true);
+ }
if (r < 0)
log_error_unit(u->id,
++++++ 0002-keymap-Add-microphone-mute-keymap-for-Dell-Latitude.patch ++++++
>From 1f6d36f267186c0e3184bab4c7eca48481c6faab Mon Sep 17 00:00:00 2001
From: Hui Wang <hui.wang(a)canonical.com>
Date: Wed, 30 Jul 2014 16:09:08 +0800
Subject: [PATCH] keymap: Add microphone mute keymap for Dell Latitude
On the Dell Latitude, the mic mute key event is generated by wmi
driver, the keycode assigned to this hotkey from kernel is
KEY_MICMUTE (248), this keycode is too big for xorg to handle,
in the xorg, the XF86AudioMicMute is assigned to F20.
Please refer to 4e648ea0 of xkeyboard-config.
BugLink: https://bugs.launchpad.net/bugs/1326684
BugLink: https://bugs.launchpad.net/bugs/1339998
Signed-off-by: Hui Wang <hui.wang(a)canonical.com>
Signed-off-by: Martin Pitt <martin.pitt(a)ubuntu.com>
---
hwdb/60-keyboard.hwdb | 4 ++++
1 file changed, 4 insertions(+)
diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb
index c7ff4e4..70e372b 100644
--- hwdb/60-keyboard.hwdb
+++ hwdb/60-keyboard.hwdb
@@ -229,6 +229,10 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr*
KEYBOARD_KEY_8c=!unknown
+# Dell Latitude microphone mute
+keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*
+ KEYBOARD_KEY_150=f20 # Mic mute toggle
+
###########################################################
# Everex
###########################################################
--
1.7.9.2
++++++ 0003-keymap-Annotate-all-micmute-workarounds.patch ++++++
>From d946bb53f94713241004810de92cc37f1e19c2d2 Mon Sep 17 00:00:00 2001
From: Martin Pitt <martin.pitt(a)ubuntu.com>
Date: Wed, 30 Jul 2014 10:54:23 +0200
Subject: [PATCH] keymap: Annotate all micmute workarounds
Add a comment to all assignments to f20 that this actually should be "micmute"
in a future when we aren't limited by X.org's key code limiations any more.
---
hwdb/60-keyboard.hwdb | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git hwdb/60-keyboard.hwdb hwdb/60-keyboard.hwdb
index 70e372b..cbbbf2c 100644
--- hwdb/60-keyboard.hwdb
+++ hwdb/60-keyboard.hwdb
@@ -231,7 +231,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr*
# Dell Latitude microphone mute
keyboard:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*
- KEYBOARD_KEY_150=f20 # Mic mute toggle
+ KEYBOARD_KEY_150=f20 # Mic mute toggle, should be micmute
###########################################################
# Everex
@@ -505,7 +505,7 @@ keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*
KEYBOARD_KEY_15=volumedown
KEYBOARD_KEY_16=mute
KEYBOARD_KEY_17=prog1
- KEYBOARD_KEY_1a=f20
+ KEYBOARD_KEY_1a=f20 # Microphone mute button; should be micmute
# ThinkPad Keyboard with TrackPoint
keyboard:usb:v17EFp6009*
@@ -573,7 +573,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*Y550*:pvr*
keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*U300s*:pvr*
KEYBOARD_KEY_f1=f21
- KEYBOARD_KEY_ce=f20
+ KEYBOARD_KEY_ce=f20 # micmute
keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr*
KEYBOARD_KEY_a0=!mute
@@ -809,7 +809,7 @@ keyboard:dmi:bvn*:bvr*:bd*:svnOLPC:pnXO:*
KEYBOARD_KEY_f3=f17
KEYBOARD_KEY_f2=f18
KEYBOARD_KEY_f1=f19
- KEYBOARD_KEY_f0=f20
+ KEYBOARD_KEY_f0=f20 # micmute
KEYBOARD_KEY_ef=f21
KEYBOARD_KEY_ee=chat
KEYBOARD_KEY_e4=chat
--
1.7.9.2
++++++ 1055-let-9719859c07aa13539ed2cd4b31972cd30f678543-apply.patch ++++++
Exist only to be able to apply the patch
1056-udevd-add-event-timeout-commandline-option.patch
without the BLKRRPART ioctl patches.
--- systemd-210/src/udev/udevd.c
+++ systemd-210/src/udev/udevd.c 2014-07-30 11:52:34.318235685 +0000
@@ -1311,16 +1311,16 @@ int main(int argc, char *argv[])
if (worker->state != WORKER_RUNNING)
continue;
- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * 1000 * 1000) {
+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) {
log_error("worker [%u] %s timeout; kill it", worker->pid,
worker->event ? worker->event->devpath : "<idle>");
kill(worker->pid, SIGKILL);
worker->state = WORKER_KILLED;
+
/* drop reference taken for state 'running' */
worker_unref(worker);
if (worker->event) {
- log_error("seq %llu '%s' killed",
- udev_device_get_seqnum(worker->event->dev), worker->event->devpath);
+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath);
worker->event->exitcode = -64;
event_queue_delete(worker->event, true);
worker->event = NULL;
++++++ 1056-udevd-add-event-timeout-commandline-option.patch ++++++
>From 9719859c07aa13539ed2cd4b31972cd30f678543 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 29 Jul 2014 09:06:14 +0200
Subject: [PATCH] udevd: add --event-timeout commandline option
Some events take longer than the default 30 seconds. Killing those
events will leave the machine halfway configured.
Add a commandline option '--event-timeout' to handle these cases.
---
man/systemd-udevd.service.xml | 19 +++++++++++++++++++
src/udev/udevd.c | 12 +++++++++++-
2 files changed, 30 insertions(+), 1 deletion(-)
diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml
index f44b7a0..8de43b1 100644
--- man/systemd-udevd.service.xml
+++ man/systemd-udevd.service.xml
@@ -44,6 +44,7 @@
<arg><option>--debug</option></arg>
<arg><option>--children-max=</option></arg>
<arg><option>--exec-delay=</option></arg>
+ <arg><option>--event-timeout=</option></arg>
<arg><option>--resolve-names=early|late|never</option></arg>
<arg><option>--version</option></arg>
<arg><option>--help</option></arg>
@@ -96,6 +97,15 @@
</varlistentry>
<varlistentry>
+ <term><option>--event-timeout=</option></term>
+ <listitem>
+ <para>Wait for the event to finish up to the given
+ number of seconds. After this time the event will
+ be terminated. Default is 30.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><option>--resolve-names=</option></term>
<listitem>
<para>Specify when systemd-udevd should resolve names of users and groups.
@@ -156,6 +166,15 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><varname>udev.event-timeout=</varname></term>
+ <term><varname>rd.udev.event-timeout=</varname></term>
+ <listitem>
+ <para>Wait for events to finish up to the given number
+ of seconds. This option might be useful if events are
+ terminated due to a timeout in large configurations.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><varname>net.ifnames=</varname></term>
<listitem>
<para>Network interfaces are renamed to give them predictable names
diff --git src/udev/udevd.c src/udev/udevd.c
index db935d6..c5dd739 100644
--- src/udev/udevd.c
+++ src/udev/udevd.c
@@ -74,6 +74,7 @@ static bool reload;
static int children;
static int children_max;
static int exec_delay;
+static int event_timeout = 30;
static sigset_t sigmask_orig;
static UDEV_LIST(event_list);
static UDEV_LIST(worker_list);
@@ -312,6 +313,9 @@ static void worker_new(struct event *event)
}
}
+ if (event_timeout != 30)
+ udev_event->timeout_usec = event_timeout * USEC_PER_SEC;
+
/* apply rules, create node, symlinks */
udev_event_execute_rules(udev_event, rules, &sigmask_orig);
@@ -1009,6 +1013,8 @@ static void kernel_cmdline_options(struct udev *udev)
children_max = strtoul(opt + 18, NULL, 0);
} else if (startswith(opt, "udev.exec-delay=")) {
exec_delay = strtoul(opt + 16, NULL, 0);
+ } else if (startswith(opt, "udev.event-timeout=")) {
+ event_timeout = strtoul(opt + 16, NULL, 0);
}
free(s);
@@ -1026,6 +1032,7 @@ int main(int argc, char *argv[])
{ "debug", no_argument, NULL, 'D' },
{ "children-max", required_argument, NULL, 'c' },
{ "exec-delay", required_argument, NULL, 'e' },
+ { "event-timeout", required_argument, NULL, 't' },
{ "resolve-names", required_argument, NULL, 'N' },
{ "help", no_argument, NULL, 'h' },
{ "version", no_argument, NULL, 'V' },
@@ -1069,6 +1076,9 @@ int main(int argc, char *argv[])
case 'e':
exec_delay = strtoul(optarg, NULL, 0);
break;
+ case 't':
+ event_timeout = strtoul(optarg, NULL, 0);
+ break;
case 'D':
debug = true;
log_set_max_level(LOG_DEBUG);
@@ -1406,7 +1416,7 @@ int main(int argc, char *argv[])
if (worker->state != WORKER_RUNNING)
continue;
- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * USEC_PER_SEC) {
+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) {
log_error("worker [%u] %s timeout; kill it", worker->pid,
worker->event ? worker->event->devpath : "<idle>");
kill(worker->pid, SIGKILL);
--
1.7.9.2
++++++ 1057-udev-unify-event-timeout-handling.patch ++++++
>From dd5eddd28a74a49607a8fffcaf960040dba98479 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay(a)vrfy.org>
Date: Tue, 29 Jul 2014 15:18:27 +0200
Subject: [PATCH] udev: unify event timeout handling
---
man/systemd-udevd.service.xml | 7 +++---
man/udev.xml | 7 ------
src/test/test-udev.c | 5 ++--
src/udev/udev-event.c | 53 ++++++++++++++++++++++-------------------
src/udev/udev-rules.c | 38 ++++++++---------------------
src/udev/udev.h | 8 +++----
src/udev/udevadm-test.c | 2 +-
src/udev/udevd.c | 32 ++++++++++---------------
8 files changed, 61 insertions(+), 91 deletions(-)
diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml
index 8de43b1..3053dc7 100644
--- man/systemd-udevd.service.xml
+++ man/systemd-udevd.service.xml
@@ -99,9 +99,8 @@
<varlistentry>
<term><option>--event-timeout=</option></term>
<listitem>
- <para>Wait for the event to finish up to the given
- number of seconds. After this time the event will
- be terminated. Default is 30.</para>
+ <para>Set the number of seconds to wait for events to finish. After
+ this time the event will be terminated. The default is 30 seconds.</para>
</listitem>
</varlistentry>
@@ -171,7 +170,7 @@
<listitem>
<para>Wait for events to finish up to the given number
of seconds. This option might be useful if events are
- terminated due to a timeout in large configurations.</para>
+ terminated due to kernel drivers taking too long to initialize.</para>
</listitem>
</varlistentry>
<varlistentry>
diff --git man/udev.xml man/udev.xml
index 4e5f8f0..123c073 100644
--- man/udev.xml
+++ man/udev.xml
@@ -516,13 +516,6 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><option>event_timeout=</option></term>
- <listitem>
- <para>Number of seconds an event waits for operations to finish before
- giving up and terminating itself.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term><option>string_escape=<replaceable>none|replace</replaceable></option></term>
<listitem>
<para>Usually control and other possibly unsafe characters are replaced
diff --git src/test/test-udev.c src/test/test-udev.c
index b057cc8..26d6537 100644
--- src/test/test-udev.c
+++ src/test/test-udev.c
@@ -80,7 +80,6 @@ out:
return err;
}
-
int main(int argc, char *argv[]) {
_cleanup_udev_unref_ struct udev *udev = NULL;
_cleanup_udev_event_unref_ struct udev_event *event = NULL;
@@ -155,8 +154,8 @@ int main(int argc, char *argv[]) {
}
}
- udev_event_execute_rules(event, rules, &sigmask_orig);
- udev_event_execute_run(event, NULL);
+ udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig);
+ udev_event_execute_run(event, USEC_PER_SEC, NULL);
out:
if (event != NULL && event->fd_signal >= 0)
close(event->fd_signal);
diff --git src/udev/udev-event.c src/udev/udev-event.c
index 5213a4a..6ad80d5 100644
--- src/udev/udev-event.c
+++ src/udev/udev-event.c
@@ -48,7 +48,6 @@ struct udev_event *udev_event_new(struct udev_device *dev)
udev_list_init(udev, &event->seclabel_list, false);
event->fd_signal = -1;
event->birth_usec = now(CLOCK_MONOTONIC);
- event->timeout_usec = 30 * 1000 * 1000;
return event;
}
@@ -422,9 +421,10 @@ static int spawn_exec(struct udev_event *event,
}
static void spawn_read(struct udev_event *event,
- const char *cmd,
- int fd_stdout, int fd_stderr,
- char *result, size_t ressize)
+ usec_t timeout_usec,
+ const char *cmd,
+ int fd_stdout, int fd_stderr,
+ char *result, size_t ressize)
{
size_t respos = 0;
int fd_ep = -1;
@@ -467,15 +467,15 @@ static void spawn_read(struct udev_event *event,
struct epoll_event ev[4];
int i;
- if (event->timeout_usec > 0) {
+ if (timeout_usec > 0) {
usec_t age_usec;
age_usec = now(CLOCK_MONOTONIC) - event->birth_usec;
- if (age_usec >= event->timeout_usec) {
+ if (age_usec >= timeout_usec) {
log_error("timeout '%s'", cmd);
goto out;
}
- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000;
+ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC;
} else {
timeout = -1;
}
@@ -543,8 +543,9 @@ out:
close(fd_ep);
}
-static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid)
-{
+static int spawn_wait(struct udev_event *event,
+ usec_t timeout_usec,
+ const char *cmd, pid_t pid) {
struct pollfd pfd[1];
int err = 0;
@@ -555,14 +556,14 @@ static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid)
int timeout;
int fdcount;
- if (event->timeout_usec > 0) {
+ if (timeout_usec > 0) {
usec_t age_usec;
age_usec = now(CLOCK_MONOTONIC) - event->birth_usec;
- if (age_usec >= event->timeout_usec)
+ if (age_usec >= timeout_usec)
timeout = 1000;
else
- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000;
+ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC;
} else {
timeout = -1;
}
@@ -657,9 +658,9 @@ out:
}
int udev_event_spawn(struct udev_event *event,
+ usec_t timeout_usec,
const char *cmd, char **envp, const sigset_t *sigmask,
- char *result, size_t ressize)
-{
+ char *result, size_t ressize) {
struct udev *udev = event->udev;
int outpipe[2] = {-1, -1};
int errpipe[2] = {-1, -1};
@@ -728,11 +729,13 @@ int udev_event_spawn(struct udev_event *event,
errpipe[WRITE_END] = -1;
}
- spawn_read(event, cmd,
- outpipe[READ_END], errpipe[READ_END],
- result, ressize);
+ spawn_read(event,
+ timeout_usec,
+ cmd,
+ outpipe[READ_END], errpipe[READ_END],
+ result, ressize);
- err = spawn_wait(event, cmd, pid);
+ err = spawn_wait(event, timeout_usec, cmd, pid);
}
out:
@@ -776,8 +779,9 @@ static int rename_netif(struct udev_event *event)
return r;
}
-void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
-{
+void udev_event_execute_rules(struct udev_event *event,
+ usec_t timeout_usec,
+ struct udev_rules *rules, const sigset_t *sigmask) {
struct udev_device *dev = event->dev;
if (udev_device_get_subsystem(dev) == NULL)
@@ -791,7 +795,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules
if (major(udev_device_get_devnum(dev)) != 0)
udev_watch_end(event->udev, dev);
- udev_rules_apply_to_event(rules, event, sigmask);
+ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask);
if (major(udev_device_get_devnum(dev)) != 0)
udev_node_remove(dev);
@@ -808,7 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules
udev_watch_end(event->udev, event->dev_db);
}
- udev_rules_apply_to_event(rules, event, sigmask);
+ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask);
/* rename a new network interface, if needed */
if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") &&
@@ -883,8 +887,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules
}
}
-void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)
-{
+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) {
struct udev_list_entry *list_entry;
udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) {
@@ -907,7 +910,7 @@ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)
udev_event_apply_format(event, cmd, program, sizeof(program));
envp = udev_device_get_properties_envp(event->dev);
- udev_event_spawn(event, program, envp, sigmask, NULL, 0);
+ udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0);
}
}
}
diff --git src/udev/udev-rules.c src/udev/udev-rules.c
index 9864016..aacde38 100644
--- src/udev/udev-rules.c
+++ src/udev/udev-rules.c
@@ -137,7 +137,6 @@ enum token_type {
TK_M_PARENTS_MAX,
TK_M_TEST, /* val, mode_t */
- TK_M_EVENT_TIMEOUT, /* int */
TK_M_PROGRAM, /* val */
TK_M_IMPORT_FILE, /* val */
TK_M_IMPORT_PROG, /* val */
@@ -201,7 +200,6 @@ struct token {
uid_t uid;
gid_t gid;
int devlink_prio;
- int event_timeout;
int watch;
enum udev_builtin_cmd builtin_cmd;
};
@@ -275,7 +273,6 @@ static const char *token_str(enum token_type type)
[TK_M_PARENTS_MAX] = "M PARENTS_MAX",
[TK_M_TEST] = "M TEST",
- [TK_M_EVENT_TIMEOUT] = "M EVENT_TIMEOUT",
[TK_M_PROGRAM] = "M PROGRAM",
[TK_M_IMPORT_FILE] = "M IMPORT_FILE",
[TK_M_IMPORT_PROG] = "M IMPORT_PROG",
@@ -409,9 +406,6 @@ static void dump_token(struct udev_rules *rules, struct token *token)
case TK_A_SECLABEL:
log_debug("%s %s '%s' '%s'", token_str(type), operation_str(op), attr, value);
break;
- case TK_M_EVENT_TIMEOUT:
- log_debug("%s %u", token_str(type), token->key.event_timeout);
- break;
case TK_A_GOTO:
log_debug("%s '%s' %u", token_str(type), value, token->key.rule_goto);
break;
@@ -627,8 +621,9 @@ static int import_file_into_properties(struct udev_device *dev, const char *file
return 0;
}
-static int import_program_into_properties(struct udev_event *event, const char *program, const sigset_t *sigmask)
-{
+static int import_program_into_properties(struct udev_event *event,
+ usec_t timeout_usec,
+ const char *program, const sigset_t *sigmask) {
struct udev_device *dev = event->dev;
char **envp;
char result[UTIL_LINE_SIZE];
@@ -636,7 +631,7 @@ static int import_program_into_properties(struct udev_event *event, const char *
int err;
envp = udev_device_get_properties_envp(dev);
- err = udev_event_spawn(event, program, envp, sigmask, result, sizeof(result));
+ err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result));
if (err < 0)
return err;
@@ -942,9 +937,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type,
case TK_A_MODE_ID:
token->key.mode = *(mode_t *)data;
break;
- case TK_M_EVENT_TIMEOUT:
- token->key.event_timeout = *(int *)data;
- break;
case TK_RULE:
case TK_M_PARENTS_MIN:
case TK_M_PARENTS_MAX:
@@ -1462,14 +1454,6 @@ static int add_rule(struct udev_rules *rules, char *line,
rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio);
}
- pos = strstr(value, "event_timeout=");
- if (pos != NULL) {
- int tout = atoi(&pos[strlen("event_timeout=")]);
-
- rule_add_key(&rule_tmp, TK_M_EVENT_TIMEOUT, op, NULL, &tout);
- }
-
- pos = strstr(value, "string_escape=");
if (pos != NULL) {
pos = &pos[strlen("string_escape=")];
if (startswith(pos, "none"))
@@ -1829,8 +1813,10 @@ enum escape_type {
ESCAPE_REPLACE,
};
-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask)
-{
+int udev_rules_apply_to_event(struct udev_rules *rules,
+ struct udev_event *event,
+ usec_t timeout_usec,
+ const sigset_t *sigmask) {
struct token *cur;
struct token *rule;
enum escape_type esc = ESCAPE_UNSET;
@@ -2024,10 +2010,6 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
goto nomatch;
break;
}
- case TK_M_EVENT_TIMEOUT:
- log_debug("OPTIONS event_timeout=%u", cur->key.event_timeout);
- event->timeout_usec = cur->key.event_timeout * 1000 * 1000;
- break;
case TK_M_PROGRAM: {
char program[UTIL_PATH_SIZE];
char **envp;
@@ -2042,7 +2024,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
rules_str(rules, rule->rule.filename_off),
rule->rule.filename_line);
- if (udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)) < 0) {
+ if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) {
if (cur->key.op != OP_NOMATCH)
goto nomatch;
} else {
@@ -2078,7 +2060,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
rules_str(rules, rule->rule.filename_off),
rule->rule.filename_line);
- if (import_program_into_properties(event, import, sigmask) != 0)
+ if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0)
if (cur->key.op != OP_NOMATCH)
goto nomatch;
break;
diff --git src/udev/udev.h src/udev/udev.h
index 62538bc..4aca70b 100644
--- src/udev/udev.h
+++ src/udev/udev.h
@@ -43,7 +43,6 @@ struct udev_event {
struct udev_list run_list;
int exec_delay;
usec_t birth_usec;
- usec_t timeout_usec;
int fd_signal;
unsigned int builtin_run;
unsigned int builtin_ret;
@@ -72,7 +71,7 @@ struct udev_rules;
struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names);
struct udev_rules *udev_rules_unref(struct udev_rules *rules);
bool udev_rules_check_timestamp(struct udev_rules *rules);
-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask);
+int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask);
int udev_rules_apply_static_dev_perms(struct udev_rules *rules);
/* udev-event.c */
@@ -82,10 +81,11 @@ size_t udev_event_apply_format(struct udev_event *event, const char *src, char *
int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string,
char *result, size_t maxsize, int read_value);
int udev_event_spawn(struct udev_event *event,
+ usec_t timeout_usec,
const char *cmd, char **envp, const sigset_t *sigmask,
char *result, size_t ressize);
-void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
-void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset);
+void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset);
+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset);
int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]);
/* udev-watch.c */
diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c
index 6a2f548..52cc26c 100644
--- src/udev/udevadm-test.c
+++ src/udev/udevadm-test.c
@@ -138,7 +138,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
goto out;
}
- udev_event_execute_rules(event, rules, &sigmask_orig);
+ udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig);
udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev))
printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry));
diff --git src/udev/udevd.c src/udev/udevd.c
index c5dd739..dee7a87 100644
--- src/udev/udevd.c
+++ src/udev/udevd.c
@@ -74,7 +74,7 @@ static bool reload;
static int children;
static int children_max;
static int exec_delay;
-static int event_timeout = 30;
+static usec_t event_timeout_usec = 30 * USEC_PER_SEC;
static sigset_t sigmask_orig;
static UDEV_LIST(event_list);
static UDEV_LIST(worker_list);
@@ -313,13 +313,10 @@ static void worker_new(struct event *event)
}
}
- if (event_timeout != 30)
- udev_event->timeout_usec = event_timeout * USEC_PER_SEC;
-
/* apply rules, create node, symlinks */
- udev_event_execute_rules(udev_event, rules, &sigmask_orig);
+ udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig);
- udev_event_execute_run(udev_event, &sigmask_orig);
+ udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig);
/* apply/restore inotify watch */
if (udev_event->inotify_watch) {
@@ -1014,15 +1011,14 @@ static void kernel_cmdline_options(struct udev *udev)
} else if (startswith(opt, "udev.exec-delay=")) {
exec_delay = strtoul(opt + 16, NULL, 0);
} else if (startswith(opt, "udev.event-timeout=")) {
- event_timeout = strtoul(opt + 16, NULL, 0);
+ event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC;
}
free(s);
}
}
-int main(int argc, char *argv[])
-{
+int main(int argc, char *argv[]) {
struct udev *udev;
sigset_t mask;
int daemonize = false;
@@ -1077,7 +1073,7 @@ int main(int argc, char *argv[])
exec_delay = strtoul(optarg, NULL, 0);
break;
case 't':
- event_timeout = strtoul(optarg, NULL, 0);
+ event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC;
break;
case 'D':
debug = true;
@@ -1103,6 +1099,7 @@ int main(int argc, char *argv[])
" --debug\n"
" --children-max=<maximum number of workers>\n"
" --exec-delay=<seconds to wait before executing RUN=>\n"
+ " --event-timeout=<seconds to wait before terminating an event>\n"
" --resolve-names=early|late|never\n"
" --version\n"
" --help\n"
@@ -1416,20 +1413,17 @@ int main(int argc, char *argv[])
if (worker->state != WORKER_RUNNING)
continue;
- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) {
- log_error("worker [%u] %s timeout; kill it", worker->pid,
- worker->event ? worker->event->devpath : "<idle>");
+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) {
+ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath);
kill(worker->pid, SIGKILL);
worker->state = WORKER_KILLED;
/* drop reference taken for state 'running' */
worker_unref(worker);
- if (worker->event) {
- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath);
- worker->event->exitcode = -64;
- event_queue_delete(worker->event);
- worker->event = NULL;
- }
+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath);
+ worker->event->exitcode = -64;
+ event_queue_delete(worker->event);
+ worker->event = NULL;
}
}
--
1.7.9.2
++++++ 1058-udev-unify-event-timeout-handling.patch ++++++
Based on dd5eddd28a74a49607a8fffcaf960040dba98479 Mon Sep 17 00:00:00 2001
From: Kay Sievers <kay(a)vrfy.org>
Date: Tue, 29 Jul 2014 15:18:27 +0200
Subject: [PATCH] udev: unify event timeout handling
---
man/systemd-udevd.service.xml | 7 +++---
man/udev.xml | 7 ------
src/test/test-udev.c | 5 ++--
src/udev/udev-event.c | 53 ++++++++++++++++++++++-------------------
src/udev/udev-rules.c | 38 ++++++++---------------------
src/udev/udev.h | 8 +++----
src/udev/udevadm-test.c | 2 +-
src/udev/udevd.c | 32 ++++++++++---------------
8 files changed, 61 insertions(+), 91 deletions(-)
diff --git man/systemd-udevd.service.xml man/systemd-udevd.service.xml
index 8de43b1..3053dc7 100644
--- man/systemd-udevd.service.xml
+++ man/systemd-udevd.service.xml
@@ -99,9 +99,8 @@
<varlistentry>
<term><option>--event-timeout=</option></term>
<listitem>
- <para>Wait for the event to finish up to the given
- number of seconds. After this time the event will
- be terminated. Default is 30.</para>
+ <para>Set the number of seconds to wait for events to finish. After
+ this time the event will be terminated. The default is 30 seconds.</para>
</listitem>
</varlistentry>
@@ -171,7 +170,7 @@
<listitem>
<para>Wait for events to finish up to the given number
of seconds. This option might be useful if events are
- terminated due to a timeout in large configurations.</para>
+ terminated due to kernel drivers taking too long to initialize.</para>
</listitem>
</varlistentry>
<varlistentry>
diff --git man/udev.xml man/udev.xml
index 4e5f8f0..123c073 100644
--- man/udev.xml
+++ man/udev.xml
@@ -516,13 +516,6 @@
</listitem>
</varlistentry>
<varlistentry>
- <term><option>event_timeout=</option></term>
- <listitem>
- <para>Number of seconds an event waits for operations to finish before
- giving up and terminating itself.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
<term><option>string_escape=<replaceable>none|replace</replaceable></option></term>
<listitem>
<para>Usually control and other possibly unsafe characters are replaced
diff --git src/test/test-udev.c src/test/test-udev.c
index b057cc8..26d6537 100644
--- src/test/test-udev.c
+++ src/test/test-udev.c
@@ -80,7 +80,6 @@ out:
return err;
}
-
int main(int argc, char *argv[]) {
_cleanup_udev_unref_ struct udev *udev = NULL;
_cleanup_udev_event_unref_ struct udev_event *event = NULL;
@@ -155,8 +154,8 @@ int main(int argc, char *argv[]) {
}
}
- udev_event_execute_rules(event, rules, &sigmask_orig);
- udev_event_execute_run(event, NULL);
+ udev_event_execute_rules(event, USEC_PER_SEC, rules, &sigmask_orig);
+ udev_event_execute_run(event, USEC_PER_SEC, NULL);
out:
if (event != NULL && event->fd_signal >= 0)
close(event->fd_signal);
diff --git src/udev/udev-event.c src/udev/udev-event.c
index 5213a4a..6ad80d5 100644
--- src/udev/udev-event.c
+++ src/udev/udev-event.c
@@ -48,7 +48,6 @@ struct udev_event *udev_event_new(struct udev_device *dev)
udev_list_init(udev, &event->seclabel_list, false);
event->fd_signal = -1;
event->birth_usec = now(CLOCK_MONOTONIC);
- event->timeout_usec = 30 * 1000 * 1000;
return event;
}
@@ -422,9 +421,10 @@ static int spawn_exec(struct udev_event *event,
}
static void spawn_read(struct udev_event *event,
- const char *cmd,
- int fd_stdout, int fd_stderr,
- char *result, size_t ressize)
+ usec_t timeout_usec,
+ const char *cmd,
+ int fd_stdout, int fd_stderr,
+ char *result, size_t ressize)
{
size_t respos = 0;
int fd_ep = -1;
@@ -467,15 +467,15 @@ static void spawn_read(struct udev_event *event,
struct epoll_event ev[4];
int i;
- if (event->timeout_usec > 0) {
+ if (timeout_usec > 0) {
usec_t age_usec;
age_usec = now(CLOCK_MONOTONIC) - event->birth_usec;
- if (age_usec >= event->timeout_usec) {
+ if (age_usec >= timeout_usec) {
log_error("timeout '%s'", cmd);
goto out;
}
- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000;
+ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC;
} else {
timeout = -1;
}
@@ -543,8 +543,9 @@ out:
close(fd_ep);
}
-static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid)
-{
+static int spawn_wait(struct udev_event *event,
+ usec_t timeout_usec,
+ const char *cmd, pid_t pid) {
struct pollfd pfd[1];
int err = 0;
@@ -555,14 +556,14 @@ static int spawn_wait(struct udev_event *event, const char *cmd, pid_t pid)
int timeout;
int fdcount;
- if (event->timeout_usec > 0) {
+ if (timeout_usec > 0) {
usec_t age_usec;
age_usec = now(CLOCK_MONOTONIC) - event->birth_usec;
- if (age_usec >= event->timeout_usec)
+ if (age_usec >= timeout_usec)
timeout = 1000;
else
- timeout = ((event->timeout_usec - age_usec) / 1000) + 1000;
+ timeout = ((timeout_usec - age_usec) / USEC_PER_MSEC) + MSEC_PER_SEC;
} else {
timeout = -1;
}
@@ -657,9 +658,9 @@ out:
}
int udev_event_spawn(struct udev_event *event,
+ usec_t timeout_usec,
const char *cmd, char **envp, const sigset_t *sigmask,
- char *result, size_t ressize)
-{
+ char *result, size_t ressize) {
struct udev *udev = event->udev;
int outpipe[2] = {-1, -1};
int errpipe[2] = {-1, -1};
@@ -728,11 +729,13 @@ int udev_event_spawn(struct udev_event *event,
errpipe[WRITE_END] = -1;
}
- spawn_read(event, cmd,
- outpipe[READ_END], errpipe[READ_END],
- result, ressize);
+ spawn_read(event,
+ timeout_usec,
+ cmd,
+ outpipe[READ_END], errpipe[READ_END],
+ result, ressize);
- err = spawn_wait(event, cmd, pid);
+ err = spawn_wait(event, timeout_usec, cmd, pid);
}
out:
@@ -776,8 +779,9 @@ static int rename_netif(struct udev_event *event)
return r;
}
-void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigmask)
-{
+void udev_event_execute_rules(struct udev_event *event,
+ usec_t timeout_usec,
+ struct udev_rules *rules, const sigset_t *sigmask) {
struct udev_device *dev = event->dev;
if (udev_device_get_subsystem(dev) == NULL)
@@ -791,7 +795,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules
if (major(udev_device_get_devnum(dev)) != 0)
udev_watch_end(event->udev, dev);
- udev_rules_apply_to_event(rules, event, sigmask);
+ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask);
if (major(udev_device_get_devnum(dev)) != 0)
udev_node_remove(dev);
@@ -808,7 +812,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules
udev_watch_end(event->udev, event->dev_db);
}
- udev_rules_apply_to_event(rules, event, sigmask);
+ udev_rules_apply_to_event(rules, event, timeout_usec, sigmask);
/* rename a new network interface, if needed */
if (udev_device_get_ifindex(dev) > 0 && streq(udev_device_get_action(dev), "add") &&
@@ -883,8 +887,7 @@ void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules
}
}
-void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)
-{
+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask) {
struct udev_list_entry *list_entry;
udev_list_entry_foreach(list_entry, udev_list_get_entry(&event->run_list)) {
@@ -907,7 +910,7 @@ void udev_event_execute_run(struct udev_event *event, const sigset_t *sigmask)
udev_event_apply_format(event, cmd, program, sizeof(program));
envp = udev_device_get_properties_envp(event->dev);
- udev_event_spawn(event, program, envp, sigmask, NULL, 0);
+ udev_event_spawn(event, timeout_usec, program, envp, sigmask, NULL, 0);
}
}
}
diff --git src/udev/udev-rules.c src/udev/udev-rules.c
index 9864016..aacde38 100644
--- src/udev/udev-rules.c
+++ src/udev/udev-rules.c
@@ -137,7 +137,6 @@ enum token_type {
TK_M_PARENTS_MAX,
TK_M_TEST, /* val, mode_t */
- TK_M_EVENT_TIMEOUT, /* int */
TK_M_PROGRAM, /* val */
TK_M_IMPORT_FILE, /* val */
TK_M_IMPORT_PROG, /* val */
@@ -201,7 +200,6 @@ struct token {
uid_t uid;
gid_t gid;
int devlink_prio;
- int event_timeout;
int watch;
enum udev_builtin_cmd builtin_cmd;
};
@@ -275,7 +273,6 @@ static const char *token_str(enum token_type type)
[TK_M_PARENTS_MAX] = "M PARENTS_MAX",
[TK_M_TEST] = "M TEST",
- [TK_M_EVENT_TIMEOUT] = "M EVENT_TIMEOUT",
[TK_M_PROGRAM] = "M PROGRAM",
[TK_M_IMPORT_FILE] = "M IMPORT_FILE",
[TK_M_IMPORT_PROG] = "M IMPORT_PROG",
@@ -409,9 +406,6 @@ static void dump_token(struct udev_rules *rules, struct token *token)
case TK_A_SECLABEL:
log_debug("%s %s '%s' '%s'", token_str(type), operation_str(op), attr, value);
break;
- case TK_M_EVENT_TIMEOUT:
- log_debug("%s %u", token_str(type), token->key.event_timeout);
- break;
case TK_A_GOTO:
log_debug("%s '%s' %u", token_str(type), value, token->key.rule_goto);
break;
@@ -627,8 +621,9 @@ static int import_file_into_properties(struct udev_device *dev, const char *file
return 0;
}
-static int import_program_into_properties(struct udev_event *event, const char *program, const sigset_t *sigmask)
-{
+static int import_program_into_properties(struct udev_event *event,
+ usec_t timeout_usec,
+ const char *program, const sigset_t *sigmask) {
struct udev_device *dev = event->dev;
char **envp;
char result[UTIL_LINE_SIZE];
@@ -636,7 +631,7 @@ static int import_program_into_properties(struct udev_event *event, const char *
int err;
envp = udev_device_get_properties_envp(dev);
- err = udev_event_spawn(event, program, envp, sigmask, result, sizeof(result));
+ err = udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result));
if (err < 0)
return err;
@@ -942,9 +937,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type,
case TK_A_MODE_ID:
token->key.mode = *(mode_t *)data;
break;
- case TK_M_EVENT_TIMEOUT:
- token->key.event_timeout = *(int *)data;
- break;
case TK_RULE:
case TK_M_PARENTS_MIN:
case TK_M_PARENTS_MAX:
@@ -1462,14 +1454,6 @@ static int add_rule(struct udev_rules *rules, char *line,
rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio);
}
- pos = strstr(value, "event_timeout=");
- if (pos != NULL) {
- int tout = atoi(&pos[strlen("event_timeout=")]);
-
- rule_add_key(&rule_tmp, TK_M_EVENT_TIMEOUT, op, NULL, &tout);
- }
-
- pos = strstr(value, "string_escape=");
if (pos != NULL) {
pos = &pos[strlen("string_escape=")];
if (startswith(pos, "none"))
@@ -1829,8 +1813,10 @@ enum escape_type {
ESCAPE_REPLACE,
};
-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask)
-{
+int udev_rules_apply_to_event(struct udev_rules *rules,
+ struct udev_event *event,
+ usec_t timeout_usec,
+ const sigset_t *sigmask) {
struct token *cur;
struct token *rule;
enum escape_type esc = ESCAPE_UNSET;
@@ -2024,10 +2010,6 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
goto nomatch;
break;
}
- case TK_M_EVENT_TIMEOUT:
- log_debug("OPTIONS event_timeout=%u", cur->key.event_timeout);
- event->timeout_usec = cur->key.event_timeout * 1000 * 1000;
- break;
case TK_M_PROGRAM: {
char program[UTIL_PATH_SIZE];
char **envp;
@@ -2042,7 +2024,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
rules_str(rules, rule->rule.filename_off),
rule->rule.filename_line);
- if (udev_event_spawn(event, program, envp, sigmask, result, sizeof(result)) < 0) {
+ if (udev_event_spawn(event, timeout_usec, program, envp, sigmask, result, sizeof(result)) < 0) {
if (cur->key.op != OP_NOMATCH)
goto nomatch;
} else {
@@ -2078,7 +2060,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event
rules_str(rules, rule->rule.filename_off),
rule->rule.filename_line);
- if (import_program_into_properties(event, import, sigmask) != 0)
+ if (import_program_into_properties(event, timeout_usec, import, sigmask) != 0)
if (cur->key.op != OP_NOMATCH)
goto nomatch;
break;
diff --git src/udev/udev.h src/udev/udev.h
index 62538bc..4aca70b 100644
--- src/udev/udev.h
+++ src/udev/udev.h
@@ -43,7 +43,6 @@ struct udev_event {
struct udev_list run_list;
int exec_delay;
usec_t birth_usec;
- usec_t timeout_usec;
int fd_signal;
unsigned int builtin_run;
unsigned int builtin_ret;
@@ -72,7 +71,7 @@ struct udev_rules;
struct udev_rules *udev_rules_new(struct udev *udev, int resolve_names);
struct udev_rules *udev_rules_unref(struct udev_rules *rules);
bool udev_rules_check_timestamp(struct udev_rules *rules);
-int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, const sigset_t *sigmask);
+int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event, usec_t timeout_usec, const sigset_t *sigmask);
int udev_rules_apply_static_dev_perms(struct udev_rules *rules);
/* udev-event.c */
@@ -82,10 +81,11 @@ size_t udev_event_apply_format(struct udev_event *event, const char *src, char *
int udev_event_apply_subsys_kernel(struct udev_event *event, const char *string,
char *result, size_t maxsize, int read_value);
int udev_event_spawn(struct udev_event *event,
+ usec_t timeout_usec,
const char *cmd, char **envp, const sigset_t *sigmask,
char *result, size_t ressize);
-void udev_event_execute_rules(struct udev_event *event, struct udev_rules *rules, const sigset_t *sigset);
-void udev_event_execute_run(struct udev_event *event, const sigset_t *sigset);
+void udev_event_execute_rules(struct udev_event *event, usec_t timeout_usec, struct udev_rules *rules, const sigset_t *sigset);
+void udev_event_execute_run(struct udev_event *event, usec_t timeout_usec, const sigset_t *sigset);
int udev_build_argv(struct udev *udev, char *cmd, int *argc, char *argv[]);
/* udev-watch.c */
diff --git src/udev/udevadm-test.c src/udev/udevadm-test.c
index 6a2f548..52cc26c 100644
--- src/udev/udevadm-test.c
+++ src/udev/udevadm-test.c
@@ -138,7 +138,7 @@ static int adm_test(struct udev *udev, int argc, char *argv[])
goto out;
}
- udev_event_execute_rules(event, rules, &sigmask_orig);
+ udev_event_execute_rules(event, 30 * USEC_PER_SEC, rules, &sigmask_orig);
udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev))
printf("%s=%s\n", udev_list_entry_get_name(entry), udev_list_entry_get_value(entry));
diff --git src/udev/udevd.c src/udev/udevd.c
index c5dd739..dee7a87 100644
--- src/udev/udevd.c
+++ src/udev/udevd.c
@@ -74,7 +74,7 @@ static bool reload;
static int children;
static int children_max;
static int exec_delay;
-static int event_timeout = 30;
+static usec_t event_timeout_usec = 30 * USEC_PER_SEC;
static sigset_t sigmask_orig;
static UDEV_LIST(event_list);
static UDEV_LIST(worker_list);
@@ -313,13 +313,10 @@ static void worker_new(struct event *event)
}
}
- if (event_timeout != 30)
- udev_event->timeout_usec = event_timeout * USEC_PER_SEC;
-
/* apply rules, create node, symlinks */
- udev_event_execute_rules(udev_event, rules, &sigmask_orig);
+ udev_event_execute_rules(udev_event, event_timeout_usec, rules, &sigmask_orig);
- udev_event_execute_run(udev_event, &sigmask_orig);
+ udev_event_execute_run(udev_event, event_timeout_usec, &sigmask_orig);
/* apply/restore inotify watch */
if (udev_event->inotify_watch) {
@@ -1014,15 +1011,14 @@ static void kernel_cmdline_options(struct udev *udev)
} else if (startswith(opt, "udev.exec-delay=")) {
exec_delay = strtoul(opt + 16, NULL, 0);
} else if (startswith(opt, "udev.event-timeout=")) {
- event_timeout = strtoul(opt + 16, NULL, 0);
+ event_timeout_usec = strtoul(opt + 16, NULL, 0) * USEC_PER_SEC;
}
free(s);
}
}
-int main(int argc, char *argv[])
-{
+int main(int argc, char *argv[]) {
struct udev *udev;
sigset_t mask;
int daemonize = false;
@@ -1077,7 +1073,7 @@ int main(int argc, char *argv[])
exec_delay = strtoul(optarg, NULL, 0);
break;
case 't':
- event_timeout = strtoul(optarg, NULL, 0);
+ event_timeout_usec = strtoul(optarg, NULL, 0) * USEC_PER_SEC;
break;
case 'D':
debug = true;
@@ -1103,6 +1099,7 @@ int main(int argc, char *argv[])
" --debug\n"
" --children-max=<maximum number of workers>\n"
" --exec-delay=<seconds to wait before executing RUN=>\n"
+ " --event-timeout=<seconds to wait before terminating an event>\n"
" --resolve-names=early|late|never\n"
" --version\n"
" --help\n"
@@ -1416,20 +1413,17 @@ int main(int argc, char *argv[])
if (worker->state != WORKER_RUNNING)
continue;
- if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout * USEC_PER_SEC) {
- log_error("worker [%u] %s timeout; kill it", worker->pid,
- worker->event ? worker->event->devpath : "<idle>");
+ if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > event_timeout_usec) {
+ log_error("worker [%u] %s timeout; kill it", worker->pid, worker->event->devpath);
kill(worker->pid, SIGKILL);
worker->state = WORKER_KILLED;
/* drop reference taken for state 'running' */
worker_unref(worker);
- if (worker->event) {
- log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath);
- worker->event->exitcode = -64;
- event_queue_delete(worker->event, true);
- worker->event = NULL;
- }
+ log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath);
+ worker->event->exitcode = -64;
+ event_queue_delete(worker->event, true);
+ worker->event = NULL;
}
}
--
1.7.9.2
++++++ 1059-udev-fixup-commit-dd5eddd28a74a49607a8fffcaf960040db.patch ++++++
>From 9f20a8a376f924c8eb5423cfc1f98644fc1e2d1a Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Wed, 30 Jul 2014 10:10:46 +0200
Subject: [PATCH] udev: fixup commit dd5eddd28a74a49607a8fffcaf960040dba98479
Commit dd5eddd28a74a49607a8fffcaf960040dba98479 accidentally
removed one line too many.
---
src/udev/udev-rules.c | 1 +
1 file changed, 1 insertion(+)
diff --git src/udev/udev-rules.c src/udev/udev-rules.c
index 59bc124..cc56215 100644
--- src/udev/udev-rules.c
+++ src/udev/udev-rules.c
@@ -1436,6 +1436,7 @@ static int add_rule(struct udev_rules *rules, char *line,
rule_add_key(&rule_tmp, TK_A_DEVLINK_PRIO, op, NULL, &prio);
}
+ pos = strstr(value, "string_escape=");
if (pos != NULL) {
pos = &pos[strlen("string_escape=")];
if (startswith(pos, "none"))
--
1.7.9.2
++++++ 1060-udev-use-device-mapper-target-name-for-btrfs-device-ready.patch ++++++
From: Jeff Mahoney <jeffm(a)suse.com>
Subject: udev: use device mapper target name for btrfs device ready
References: bnc#888215
When udev gets a change event for a block device, it calls the builtin
btrfs helper to scan it for a btrfs file system. If the file system was
mounted using a device mapper node, mount(8) will have looked up the
device mapper table and used the /dev/mapper/<name> node for mount.
If something like partprobe runs, and then causes change events to be
handled, the btrfs ready event is handled using /dev/dm-N instead of
the device mapper named node. Btrfs caches the last name passed to
the scanning ioctl and uses that to report the device name for
things like /proc/mounts.
So, after running partprobe we go from:
/dev/mapper/test-test on /mnt type btrfs (rw,relatime,space_cache)
... to ...
/dev/dm-0 on /mnt type btrfs (rw,relatime,space_cache)
This doesn't apply only to LVM device, but multipath as well.
If the device is a DM device, udev will have already cached the table name
from sysfs and we can use that to pass /dev/mapper/<name> to the builtin
so that the correct name is used.
Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
---
rules/64-btrfs.rules | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/rules/64-btrfs.rules
+++ b/rules/64-btrfs.rules
@@ -6,7 +6,8 @@ ENV{ID_FS_TYPE}!="btrfs", GOTO="btrfs_en
ENV{SYSTEMD_READY}=="0", GOTO="btrfs_end"
# let the kernel know about this btrfs filesystem, and check if it is complete
-IMPORT{builtin}="btrfs ready $devnode"
+ENV{DM_NAME}=="", IMPORT{builtin}="btrfs ready $devnode"
+ENV{DM_NAME}=="?*", IMPORT{builtin}="btrfs ready /dev/mapper/$env{DM_NAME}"
# mark the device as not ready to be used by the system
ENV{ID_BTRFS_READY}=="0", ENV{SYSTEMD_READY}="0"
++++++ tomcat6-var-lock-subsys-legacy.patch ++++++
Provide /run/lock/subsys directory to be able to provide the
/var/lock/subsys via the symbolic link /var/lock (bnc#889357)
---
tmpfiles.d/legacy.conf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- systemd-210/tmpfiles.d/legacy.conf
+++ systemd-210/tmpfiles.d/legacy.conf 2014-07-30 12:36:36.862735670 +0000
@@ -16,7 +16,7 @@ d /run/lock 0775 root lock -
# /run/lock/subsys is used for serializing SysV service execution, and
# hence without use on SysV-less systems.
-#d /run/lock/subsys 0755 root root -
+d /run/lock/subsys 0755 root root -
# /run/lock/lockdev is used to serialize access to tty devices via
# LCK..xxx style lock files, For more information see:
++++++ tty-ask-password-agent-on-console.patch ++++++
---
src/tty-ask-password-agent/tty-ask-password-agent.c | 190 +++++++++++++++++++-
1 file changed, 185 insertions(+), 5 deletions(-)
--- systemd-210/src/tty-ask-password-agent/tty-ask-password-agent.c
+++ systemd-210/src/tty-ask-password-agent/tty-ask-password-agent.c 2014-07-30 10:48:43.602052750 +0000
@@ -28,8 +28,12 @@
#include <sys/poll.h>
#include <sys/inotify.h>
#include <unistd.h>
+#include <sys/prctl.h>
#include <getopt.h>
+#include <signal.h>
+#include <sys/wait.h>
#include <sys/signalfd.h>
+#include <sys/mman.h>
#include <fcntl.h>
#include "util.h"
@@ -41,6 +45,9 @@
#include "ask-password-api.h"
#include "strv.h"
#include "build.h"
+#include "fileio.h"
+#include "macro.h"
+#include "list.h"
static enum {
ACTION_LIST,
@@ -49,6 +56,21 @@ static enum {
ACTION_WALL
} arg_action = ACTION_QUERY;
+struct console {
+ LIST_FIELDS(struct console, handle);
+ char *tty;
+ pid_t pid;
+ int id;
+};
+
+static volatile uint32_t *usemask;
+static volatile sig_atomic_t sigchild;
+static void chld_handler(int sig)
+{
+ (void)sig;
+ sigchild++;
+}
+
static bool arg_plymouth = false;
static bool arg_console = false;
@@ -246,12 +268,77 @@ finish:
return r;
}
+static const char *current_dev = "/dev/console";
+static LIST_HEAD(struct console, consoles);
+static int collect_consoles(void) {
+ _cleanup_free_ char *active = NULL;
+ char *w, *state;
+ struct console *c;
+ size_t l;
+ int id;
+ int r;
+
+ r = read_one_line_file("/sys/class/tty/console/active", &active);
+ if (r < 0)
+ return r;
+
+ id = 0;
+ FOREACH_WORD(w, l, active, state) {
+ _cleanup_free_ char *tty = NULL;
+
+ if (strneq(w, "tty0", l)) {
+ if (read_one_line_file("/sys/class/tty/tty0/active", &tty) >= 0) {
+ w = tty;
+ l = strlen(tty);
+ }
+ }
+
+ c = malloc0(sizeof(struct console)+5+l+1);
+ if (!c) {
+ log_oom();
+ continue;
+ }
+
+ c->tty = ((char*)c)+sizeof(struct console);
+ stpncpy(stpcpy(c->tty, "/dev/"),w,l);
+ c->id = id++;
+
+ LIST_PREPEND(handle, consoles, c);
+ }
+
+ if (!consoles) {
+
+ c = malloc0(sizeof(struct console));
+ if (!c) {
+ log_oom();
+ return -ENOMEM;
+ }
+
+ c->tty = (char *)current_dev;
+ c->id = id++;
+
+ LIST_PREPEND(handle, consoles, c);
+ }
+
+ return 0;
+}
+
+static void free_consoles(void) {
+ struct console *c;
+ LIST_FOREACH(handle, c, consoles) {
+ LIST_REMOVE(handle, consoles, c);
+ free(c);
+ }
+ LIST_HEAD_INIT(consoles);
+}
+
static int parse_password(const char *filename, char **wall) {
char *socket_name = NULL, *message = NULL, *packet = NULL;
uint64_t not_after = 0;
unsigned pid = 0;
int socket_fd = -1;
bool accept_cached = false;
+ size_t packet_length = 0;
const ConfigTableItem items[] = {
{ "Ask", "Socket", config_parse_string, 0, &socket_name },
@@ -323,7 +410,6 @@ static int parse_password(const char *fi
struct sockaddr sa;
struct sockaddr_un un;
} sa = {};
- size_t packet_length = 0;
assert(arg_action == ACTION_QUERY ||
arg_action == ACTION_WATCH);
@@ -365,7 +451,7 @@ static int parse_password(const char *fi
char *password = NULL;
if (arg_console)
- if ((tty_fd = acquire_terminal("/dev/console", false, false, false, (usec_t) -1)) < 0) {
+ if ((tty_fd = acquire_terminal(current_dev, false, false, true, (usec_t) -1)) < 0) {
r = tty_fd;
goto finish;
}
@@ -386,6 +472,7 @@ static int parse_password(const char *fi
strcpy(packet+1, password);
}
+ memset(password, 0, strlen(password));
free(password);
}
}
@@ -423,6 +510,7 @@ finish:
if (socket_fd >= 0)
close_nointr_nofail(socket_fd);
+ memset(packet, 0, packet_length);
free(packet);
free(socket_name);
free(message);
@@ -726,8 +814,10 @@ static int parse_argv(int argc, char *ar
}
int main(int argc, char *argv[]) {
+ int id = 0;
int r;
+ LIST_HEAD_INIT(consoles);
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
@@ -737,11 +827,99 @@ int main(int argc, char *argv[]) {
if ((r = parse_argv(argc, argv)) <= 0)
goto finish;
+ usemask = (uint32_t*) mmap(NULL, sizeof(uint32_t), PROT_READ|PROT_WRITE,
+ MAP_ANONYMOUS|MAP_SHARED, -1, 0);
+
if (arg_console) {
- setsid();
- release_terminal();
- }
+ if (!arg_plymouth && arg_action != ACTION_WALL &&
+ arg_action != ACTION_LIST) {
+ struct console *c;
+ struct sigaction sig = {
+ .sa_handler = chld_handler,
+ .sa_flags = SA_NOCLDSTOP|SA_RESTART,
+ };
+ struct sigaction oldsig;
+ sigset_t set, oldset;
+ int status = 0;
+ pid_t job;
+
+ collect_consoles();
+
+ if (!consoles->handle_next) {
+ consoles->pid = 0;
+ c = consoles;
+ goto nofork;
+ }
+ assert_se(sigemptyset(&set) == 0);
+ assert_se(sigaddset(&set, SIGHUP) == 0);
+ assert_se(sigaddset(&set, SIGCHLD) == 0);
+ assert_se(sigemptyset(&sig.sa_mask) == 0);
+
+ assert_se(sigprocmask(SIG_UNBLOCK, &set, &oldset) == 0);
+ assert_se(sigaction(SIGCHLD, &sig, &oldsig) == 0);
+ sig.sa_handler = SIG_DFL;
+ assert_se(sigaction(SIGHUP, &sig, NULL) == 0);
+ LIST_FOREACH(handle, c, consoles) {
+
+ switch ((c->pid = fork())) {
+ case 0:
+ if (prctl(PR_SET_PDEATHSIG, SIGHUP) < 0)
+ _exit(EXIT_FAILURE);
+ zero(sig);
+ assert_se(sigprocmask(SIG_UNBLOCK, &oldset, NULL) == 0);
+ assert_se(sigaction(SIGCHLD, &oldsig, NULL) == 0);
+ /* fall through */
+ nofork:
+ setsid();
+ release_terminal();
+ id = c->id;
+ *usemask |= (1<<id);
+ current_dev = c->tty;
+ goto forked; /* child */
+ case -1:
+ log_error("Failed to query password: %s", strerror(errno));
+ return EXIT_FAILURE;
+ default:
+ break;
+ }
+ }
+
+ r = 0;
+ while ((job = wait(&status))) {
+ if (job < 0) {
+ if (errno != EINTR)
+ break;
+ continue;
+ }
+ LIST_FOREACH(handle, c, consoles) {
+ if (c->pid == job) {
+ *usemask &= ~(1<<c->id);
+ continue;
+ }
+ if (kill(c->pid, 0) < 0) {
+ *usemask &= ~(1<<c->id);
+ continue;
+ }
+ if (*usemask & (1<<c->id))
+ continue;
+ kill(c->pid, SIGHUP);
+ usleep(50000);
+ kill(c->pid, SIGKILL);
+ }
+
+ if (WIFEXITED(status) && !r)
+ r = WEXITSTATUS(status);
+ }
+ free_consoles();
+ return r != 0 ? EXIT_FAILURE : EXIT_SUCCESS; /* parent */
+
+ } else {
+ setsid();
+ release_terminal();
+ }
+ }
+forked:
if (arg_action == ACTION_WATCH ||
arg_action == ACTION_WALL)
r = watch_passwords();
@@ -751,6 +929,8 @@ int main(int argc, char *argv[]) {
if (r < 0)
log_error("Error: %s", strerror(-r));
+ free_consoles();
+ *usemask &= ~(1<<id);
finish:
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
}
--
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 DirectFB for openSUSE:Factory checked in at 2014-07-31 21:49:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/DirectFB (Old)
and /work/SRC/openSUSE:Factory/.DirectFB.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "DirectFB"
Changes:
--------
--- /work/SRC/openSUSE:Factory/DirectFB/DirectFB.changes 2014-05-02 20:52:14.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.DirectFB.new/DirectFB.changes 2014-07-31 21:49:12.000000000 +0200
@@ -1,0 +2,21 @@
+Wed Jul 30 14:53:51 UTC 2014 - pgajdos(a)suse.com
+
+- baselibs.conf again
+
+-------------------------------------------------------------------
+Wed Jul 30 14:47:36 UTC 2014 - pgajdos(a)suse.com
+
+- do not build nsc driver (unclear license, outdated)
+ [bnc#860256] (internal)
+
+-------------------------------------------------------------------
+Tue Jul 29 07:54:40 UTC 2014 - pgajdos(a)suse.com
+
+- update to version 1.7.5:
+ * libdirect: Fix deadlock using a fallback flag for removing a
+ signal handler.
+ * Core: Fix order of CoreSystemFuncs initialisation
+ * API: Add DSPF_ARGB8565 and DSPF_ABGR to DFB_COLOR_IS_RGB
+ * etc. see ChangeLog
+
+-------------------------------------------------------------------
Old:
----
DirectFB-1.7.4.tar.gz
New:
----
DirectFB-1.7.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ DirectFB.spec ++++++
--- /var/tmp/diff_new_pack.mgDCuQ/_old 2014-07-31 21:49:14.000000000 +0200
+++ /var/tmp/diff_new_pack.mgDCuQ/_new 2014-07-31 21:49:14.000000000 +0200
@@ -16,12 +16,12 @@
#
-%global directfbdir %{_libdir}/directfb-1.7-4
-%global libdirectfb libdirectfb-1_7-4
-%global libdfb lib++dfb-1_7-4
+%global directfbdir %{_libdir}/directfb-1.7-5
+%global libdirectfb libdirectfb-1_7-5
+%global libdfb lib++dfb-1_7-5
Name: DirectFB
-Version: 1.7.4
+Version: 1.7.5
Release: 0
Summary: Graphics Library for Framebuffer Devices
License: LGPL-2.1+
@@ -248,7 +248,7 @@
--enable-sse \
%endif
%ifarch ppc64 ppc
- --with-gfxdrivers="ati128 cle266 cyber5k gl i810 mach64 matrox neomagic nsc nvidia pxa3xx radeon sis315 tdfx unichrome" \
+ --with-gfxdrivers="ati128 cle266 cyber5k gl i810 mach64 matrox neomagic nvidia pxa3xx radeon sis315 tdfx unichrome" \
%endif
%ifarch s390 s390x
--with-gfxdrivers=none --with-inputdrivers=none --disable-video4linux --disable-fbdev \
@@ -257,7 +257,7 @@
--with-gfxdrivers="gl gles2 nvidia omap" \
%endif
%ifarch %{ix86} x86_64
- --with-gfxdrivers="all" \
+ --with-gfxdrivers="ati128 ep9x gles2 i810 i830 mach64 matrox neomagic nvidia pxa3xx sis315 tdfx vdpau gl" \
%endif
--enable-x11 \
--enable-unique \
++++++ DirectFB-1.7.4.tar.gz -> DirectFB-1.7.5.tar.gz ++++++
++++ 13973 lines of diff (skipped)
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.mgDCuQ/_old 2014-07-31 21:49:15.000000000 +0200
+++ /var/tmp/diff_new_pack.mgDCuQ/_new 2014-07-31 21:49:15.000000000 +0200
@@ -1,4 +1,4 @@
-libdirectfb-1_7-4
+libdirectfb-1_7-5
DirectFB-devel
requires -DirectFB-<targettype>
- requires "libdirectfb-1_7-4-<targettype> = <version>"
+ requires "libdirectfb-1_7-5-<targettype> = <version>"
--
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 xf86-input-evdev for openSUSE:Factory checked in at 2014-07-31 21:49:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-input-evdev (Old)
and /work/SRC/openSUSE:Factory/.xf86-input-evdev.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-input-evdev"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-input-evdev/xf86-input-evdev.changes 2014-06-02 07:04:14.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xf86-input-evdev.new/xf86-input-evdev.changes 2014-07-31 21:49:11.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Jul 30 00:24:10 UTC 2014 - stefan.bruens(a)rwth-aachen.de
+
+- enable multitouch support (missing libmtdev build dependency),
+ fixes bnc#889469
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xf86-input-evdev.spec ++++++
--- /var/tmp/diff_new_pack.2nQAlr/_old 2014-07-31 21:49:12.000000000 +0200
+++ /var/tmp/diff_new_pack.2nQAlr/_new 2014-07-31 21:49:12.000000000 +0200
@@ -33,6 +33,7 @@
BuildRequires: pkgconfig(inputproto)
BuildRequires: pkgconfig(libevdev) >= 0.4
BuildRequires: pkgconfig(libudev)
+BuildRequires: pkgconfig(mtdev)
BuildRequires: pkgconfig(xorg-macros) >= 1.8
BuildRequires: pkgconfig(xorg-server)
BuildRequires: pkgconfig(xproto)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0