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
April 2014
- 1 participants
- 1084 discussions
Hello community,
here is the log from the commit of package wxWidgets for openSUSE:Factory checked in at 2014-04-23 17:34:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wxWidgets (Old)
and /work/SRC/openSUSE:Factory/.wxWidgets.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wxWidgets"
Changes:
--------
wxWidgets-wxcontainer.changes: same change
wxWidgets-wxcontainer24c.changes: same change
--- /work/SRC/openSUSE:Factory/wxWidgets/wxWidgets.changes 2013-10-06 14:33:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.wxWidgets.new/wxWidgets.changes 2014-04-23 17:34:15.000000000 +0200
@@ -1,0 +2,10 @@
+Fri Apr 4 10:11:30 UTC 2014 - seiler(a)b1-systems.de
+
+- removed unneeded 32bit packages (*-compat-lib*) which has no libraries
+
+-------------------------------------------------------------------
+Mon Feb 17 13:57:03 UTC 2014 - seiler(a)b1-systems.de
+
+- added baselibs.conf to add *-32bit packages
+
+-------------------------------------------------------------------
New:
----
baselibs.conf
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wxWidgets-ansi.spec ++++++
--- /var/tmp/diff_new_pack.YxeE5x/_old 2014-04-23 17:34:16.000000000 +0200
+++ /var/tmp/diff_new_pack.YxeE5x/_new 2014-04-23 17:34:16.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package wxWidgets-ansi
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -106,6 +106,7 @@
# This script is not used during build, but it makes possible to
# identify and backport wxPython fixes to wxWidgets.
Source6: wxpython-mkdiff.sh
+Source50: baselibs.conf
Patch0: wxGTK-2.6.3.3-decl.patch
Patch1: wxGTK-enable-wxrc.patch
# PATCH-FEATURE-OPENSUSE wxWidgets-config-force-rpath.patch sbrabec(a)suse.cz -- Force rpath use for installed libraries.
wxWidgets-wxcontainer.spec: same change
wxWidgets-wxcontainer24c.spec: same change
++++++ wxWidgets.spec ++++++
--- /var/tmp/diff_new_pack.YxeE5x/_old 2014-04-23 17:34:16.000000000 +0200
+++ /var/tmp/diff_new_pack.YxeE5x/_new 2014-04-23 17:34:16.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package wxWidgets
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -116,6 +116,7 @@
Patch4: wxWidgets-find-wx-provides-bash3.patch
# PATCH-FIX-UPSTREAM wxWidgets-to-wxpython-2.8.12.1.patch sbrabec(a)suse.cz -- wxPython changes backport.
Patch5: wxWidgets-to-wxpython-2.8.12.1.patch
+Source50: baselibs.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: SDL-devel
BuildRequires: autoconf
++++++ baselibs.conf ++++++
libwx_base-2_8-0-wxcontainer
libwx_base_net-2_8-0-wxcontainer
libwx_base_xml-2_8-0-wxcontainer
libwx_baseu-2_8-0-stl
libwx_baseu-2_8-0-wxcontainer
libwx_baseu-2_8-0-wxcontainer24c
libwx_baseu_net-2_8-0-stl
libwx_baseu_net-2_8-0-wxcontainer
libwx_baseu_net-2_8-0-wxcontainer24c
libwx_baseu_xml-2_8-0-stl
libwx_baseu_xml-2_8-0-wxcontainer
libwx_baseu_xml-2_8-0-wxcontainer24c
libwx_gtk2_adv-2_8-0-wxcontainer
libwx_gtk2_aui-2_8-0-wxcontainer
libwx_gtk2_core-2_8-0-wxcontainer
libwx_gtk2_fl-2_8-0-wxcontainer
libwx_gtk2_gizmos-2_8-0-wxcontainer
libwx_gtk2_gizmos_xrc-2_8-0-wxcontainer
libwx_gtk2_gl-2_8-0-wxcontainer
libwx_gtk2_html-2_8-0-wxcontainer
libwx_gtk2_media-2_8-0-wxcontainer
libwx_gtk2_mmedia-2_8-0-wxcontainer
libwx_gtk2_ogl-2_8-0-wxcontainer
libwx_gtk2_plot-2_8-0-wxcontainer
libwx_gtk2_qa-2_8-0-wxcontainer
libwx_gtk2_richtext-2_8-0-wxcontainer
libwx_gtk2_stc-2_8-0-wxcontainer
libwx_gtk2_svg-2_8-0-wxcontainer
libwx_gtk2_xrc-2_8-0-wxcontainer
libwx_gtk2u_adv-2_8-0-stl
libwx_gtk2u_adv-2_8-0-wxcontainer
libwx_gtk2u_adv-2_8-0-wxcontainer24c
libwx_gtk2u_aui-2_8-0-stl
libwx_gtk2u_aui-2_8-0-wxcontainer
libwx_gtk2u_aui-2_8-0-wxcontainer24c
libwx_gtk2u_core-2_8-0-stl
libwx_gtk2u_core-2_8-0-wxcontainer
libwx_gtk2u_core-2_8-0-wxcontainer24c
libwx_gtk2u_fl-2_8-0-wxcontainer
libwx_gtk2u_fl-2_8-0-wxcontainer24c
libwx_gtk2u_gizmos-2_8-0-stl
libwx_gtk2u_gizmos-2_8-0-wxcontainer
libwx_gtk2u_gizmos-2_8-0-wxcontainer24c
libwx_gtk2u_gizmos_xrc-2_8-0-stl
libwx_gtk2u_gizmos_xrc-2_8-0-wxcontainer
libwx_gtk2u_gizmos_xrc-2_8-0-wxcontainer24c
libwx_gtk2u_gl-2_8-0-stl
libwx_gtk2u_gl-2_8-0-wxcontainer
libwx_gtk2u_gl-2_8-0-wxcontainer24c
libwx_gtk2u_html-2_8-0-stl
libwx_gtk2u_html-2_8-0-wxcontainer
libwx_gtk2u_html-2_8-0-wxcontainer24c
libwx_gtk2u_media-2_8-0-stl
libwx_gtk2u_media-2_8-0-wxcontainer
libwx_gtk2u_media-2_8-0-wxcontainer24c
libwx_gtk2u_mmedia-2_8-0-stl
libwx_gtk2u_mmedia-2_8-0-wxcontainer
libwx_gtk2u_mmedia-2_8-0-wxcontainer24c
libwx_gtk2u_ogl-2_8-0-wxcontainer
libwx_gtk2u_ogl-2_8-0-wxcontainer24c
libwx_gtk2u_plot-2_8-0-stl
libwx_gtk2u_plot-2_8-0-wxcontainer
libwx_gtk2u_plot-2_8-0-wxcontainer24c
libwx_gtk2u_qa-2_8-0-stl
libwx_gtk2u_qa-2_8-0-wxcontainer
libwx_gtk2u_qa-2_8-0-wxcontainer24c
libwx_gtk2u_richtext-2_8-0-stl
libwx_gtk2u_richtext-2_8-0-wxcontainer
libwx_gtk2u_richtext-2_8-0-wxcontainer24c
libwx_gtk2u_stc-2_8-0-stl
libwx_gtk2u_stc-2_8-0-wxcontainer
libwx_gtk2u_stc-2_8-0-wxcontainer24c
libwx_gtk2u_svg-2_8-0-stl
libwx_gtk2u_svg-2_8-0-wxcontainer
libwx_gtk2u_svg-2_8-0-wxcontainer24c
libwx_gtk2u_xrc-2_8-0-stl
libwx_gtk2u_xrc-2_8-0-wxcontainer
libwx_gtk2u_xrc-2_8-0-wxcontainer24c
wxWidgets-ansi-plugin-sound_sdl-2_8-wxcontainer
wxWidgets-plugin-sound_sdlu-2_8-stl
wxWidgets-wxcontainer-plugin-sound_sdlu-2_8-wxcontainer
wxWidgets-wxcontainer24c-plugin-sound_sdlu-2_8-wxcontainer24c
--
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 python3-IPython for openSUSE:Factory checked in at 2014-04-23 17:33:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-IPython (Old)
and /work/SRC/openSUSE:Factory/.python3-IPython.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-IPython"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-IPython/python3-IPython.changes 2014-03-09 18:43:58.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-IPython.new/python3-IPython.changes 2014-04-23 17:33:33.000000000 +0200
@@ -1,0 +2,23 @@
+Thu Apr 3 00:25:38 UTC 2014 - arun(a)gmx.de
+
+- updated to 2.0.0
+
+ The principal milestones of 2.0 are:
+
+ * interactive widgets for the notebook
+ * directory navigation in the notebook dashboard
+ * persistent URLs for notebooks
+ * a new modal user interface in the notebook
+ * a security model for notebooks
+
+ more details at http://ipython.org/ipython-doc/2/whatsnew/version2.0.html
+
+ * changes in spec file:
+ - manual remove binaries that don't end in *3
+ - added dependencies matplotlib, numpydoc, updated version for tornado
+ - logger, color and irunner are not provided anymore, remove from file list
+ - Copying is now in rst format
+ - name and location of desktop files changed
+ - removed if case for >12.2 version, since IPython only builds for >12.2
+
+-------------------------------------------------------------------
Old:
----
ipython-1.2.1.tar.gz
New:
----
ipython-2.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-IPython.spec ++++++
--- /var/tmp/diff_new_pack.SV7jGp/_old 2014-04-23 17:33:34.000000000 +0200
+++ /var/tmp/diff_new_pack.SV7jGp/_new 2014-04-23 17:33:34.000000000 +0200
@@ -18,7 +18,7 @@
%define modname IPython
Name: python3-%{modname}
-Version: 1.2.1
+Version: 2.0.0
Release: 0
Source0: https://pypi.python.org/packages/source/i/ipython/ipython-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -34,7 +34,9 @@
BuildRequires: python3-curses
BuildRequires: python3-devel
BuildRequires: python3-distribute
+BuildRequires: python3-matplotlib
BuildRequires: python3-nose >= 0.10.1
+BuildRequires: python3-numpydoc
BuildRequires: python3-opengl
BuildRequires: python3-pymongo
BuildRequires: python3-pyzmq-devel >= 2.1.11
@@ -58,8 +60,8 @@
Requires: python3-Pygments
Requires: python3-qt4
#ipython notebook
-BuildRequires: python3-tornado >= 2.0
-Requires: python3-tornado >= 2.0
+BuildRequires: python3-tornado >= 3.1
+Requires: python3-tornado >= 3.1
#documentation
BuildRequires: graphviz
BuildRequires: graphviz-gnome
@@ -115,7 +117,7 @@
# move automatically installed documentation to the right directory
install -d -m 755 %{buildroot}%{_docdir}/
-mv -f %{buildroot}/usr/share/doc/ipython/ %{buildroot}%{_docdir}/%{name}
+#mv -f %{buildroot}/usr/share/doc/IPython/ %{buildroot}%{_docdir}/%{name}
# does not seem to work with python 3
#make docs
@@ -134,9 +136,16 @@
rm -f %{buildroot}/%{python3_sitelib}/IPython/.git_commit_info.ini
rm -f %{buildroot}/%{_docdir}/%{name}/manual/.buildinfo
+# remove all executables that don't follow the bin/*3 convention for python3
+rm %{buildroot}/%{_bindir}/ipcluster
+rm %{buildroot}/%{_bindir}/ipcontroller
+rm %{buildroot}/%{_bindir}/ipengine
+rm %{buildroot}/%{_bindir}/iptest
+rm %{buildroot}/%{_bindir}/ipython
+
# Fix .desktop files for python 3
-mv examples/core/ipython-qtconsole.desktop ./ipython3-qtconsole.desktop
-mv examples/core/ipython.desktop ./ipython3.desktop
+mv examples/IPython\ Kernel/ipython.desktop ./ipython3.desktop
+mv examples/IPython\ Kernel/ipython-qtconsole.desktop ./ipython3-qtconsole.desktop
sed -i 's/Python/Python 3/g' *.desktop
sed -i 's/ipython/ipython3/g' *.desktop
@@ -163,36 +172,26 @@
%files
%defattr(-,root,root)
-%doc COPYING.txt README.rst
+%doc COPYING.rst README.rst
%{_bindir}/ipcluster3
%{_bindir}/ipcontroller3
%{_bindir}/ipengine3
-%{_bindir}/iplogger3
%{_bindir}/iptest3
%{_bindir}/ipython3
-%{_bindir}/irunner3
-%{_bindir}/pycolor3
%{_mandir}/man1/ipcluster3.1.gz
%{_mandir}/man1/ipcontroller3.1.gz
%{_mandir}/man1/ipengine3.1.gz
-%{_mandir}/man1/iplogger3.1.gz
%{_mandir}/man1/ipython3.1.gz
-%{_mandir}/man1/irunner3.1.gz
-%{_mandir}/man1/pycolor3.1.gz
%{_datadir}/applications/ipython3-qtconsole.desktop
-#%{_datadir}/applications/ipython3-sh.desktop
%{_datadir}/applications/ipython3.desktop
%{_datadir}/icons/hicolor/
%{python3_sitelib}/%{modname}
%{python3_sitelib}/ipython-%{version}-py*.egg-info
-%if 0%{?suse_version} > 1220
-%exclude %{_docdir}/%{name}/examples/
-%endif
%files doc
%defattr(-,root,root)
%doc %{_docdir}/%{name}
-%exclude %{_docdir}/%{name}/COPYING.txt
+%exclude %{_docdir}/%{name}/COPYING.rst
%exclude %{_docdir}/%{name}/README.rst
%changelog
++++++ ipython-1.2.1.tar.gz -> ipython-2.0.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/python3-IPython/ipython-1.2.1.tar.gz /work/SRC/openSUSE:Factory/.python3-IPython.new/ipython-2.0.0.tar.gz differ: char 5, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package phonon-backend-gstreamer for openSUSE:Factory checked in at 2014-04-23 17:33:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/phonon-backend-gstreamer (Old)
and /work/SRC/openSUSE:Factory/.phonon-backend-gstreamer.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "phonon-backend-gstreamer"
Changes:
--------
--- /work/SRC/openSUSE:Factory/phonon-backend-gstreamer/phonon-backend-gstreamer.changes 2014-04-04 16:41:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.phonon-backend-gstreamer.new/phonon-backend-gstreamer.changes 2014-04-23 17:33:12.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Apr 18 00:06:59 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Update tarball to latest snapshot
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ phonon-backend-gstreamer.spec ++++++
--- /var/tmp/diff_new_pack.0SyKuG/_old 2014-04-23 17:33:12.000000000 +0200
+++ /var/tmp/diff_new_pack.0SyKuG/_new 2014-04-23 17:33:12.000000000 +0200
@@ -20,7 +20,7 @@
%define _phonon_version 4.7.1
Name: phonon-backend-gstreamer
-Version: 4.7.2~git20140403
+Version: 4.7.2~git20140418
Release: 0
Summary: Phonon Multimedia Platform Abstraction
License: LGPL-2.1 or LGPL-3.0
++++++ phonon-backend-gstreamer-4.7.2git.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-gstreamer-4.7.2git/gstreamer/videowidget.cpp new/phonon-backend-gstreamer-4.7.2git/gstreamer/videowidget.cpp
--- old/phonon-backend-gstreamer-4.7.2git/gstreamer/videowidget.cpp 2014-04-02 17:35:01.000000000 +0200
+++ new/phonon-backend-gstreamer-4.7.2git/gstreamer/videowidget.cpp 2014-04-08 20:10:01.000000000 +0200
@@ -18,6 +18,7 @@
#include "videowidget.h"
#include <QtCore/QEvent>
+#include <QtCore/QThread>
#include <QtGui/QResizeEvent>
#include <QtGui/QPalette>
#include <QtGui/QImage>
@@ -89,6 +90,18 @@
render->setOverlay();
}
+void Gstreamer::VideoWidget::syncX()
+{
+ Q_ASSERT(QThread::currentThread() == QApplication::instance()->thread());
+
+#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
+#warning syncx
+// QApplication::syncX();
+#else
+ QApplication::syncX();
+#endif
+}
+
void VideoWidget::finalizeLink()
{
connect(root()->pipeline(), SIGNAL(mouseOverActive(bool)), this, SLOT(mouseOverActive(bool)));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-gstreamer-4.7.2git/gstreamer/videowidget.h new/phonon-backend-gstreamer-4.7.2git/gstreamer/videowidget.h
--- old/phonon-backend-gstreamer-4.7.2git/gstreamer/videowidget.h 2014-04-02 17:35:01.000000000 +0200
+++ new/phonon-backend-gstreamer-4.7.2git/gstreamer/videowidget.h 2014-04-08 20:10:01.000000000 +0200
@@ -87,6 +87,7 @@
public slots:
void setMovieSize(const QSize &size);
void mouseOverActive(bool active);
+ void syncX();
protected:
virtual void keyPressEvent(QKeyEvent *event);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/phonon-backend-gstreamer-4.7.2git/gstreamer/x11renderer.cpp new/phonon-backend-gstreamer-4.7.2git/gstreamer/x11renderer.cpp
--- old/phonon-backend-gstreamer-4.7.2git/gstreamer/x11renderer.cpp 2014-04-02 17:35:01.000000000 +0200
+++ new/phonon-backend-gstreamer-4.7.2git/gstreamer/x11renderer.cpp 2014-04-08 20:10:01.000000000 +0200
@@ -176,14 +176,7 @@
#endif
) {
WId windowId = m_renderWidget->winId();
- // Even if we have created a winId at this point, other X applications
- // need to be aware of it.
-#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
-#warning syncx
-// QApplication::syncX();
-#else
- QApplication::syncX();
-#endif // QT_VERSION
+
#if GST_VERSION >= GST_VERSION_CHECK (1,0,0,0)
gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(m_videoSink), windowId);
#elif GST_VERSION >= GST_VERSION_CHECK(0,10,31,0)
@@ -198,12 +191,11 @@
void X11Renderer::windowExposed()
{
-#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
-#warning syncx
-// QApplication::syncX();
-#else
- QApplication::syncX();
-#endif //QT_VERSION
+ // This can be invoked within a callchain in an arbitrary thread, so make
+ // sure we call syncX() from the main thread
+ QMetaObject::invokeMethod(m_videoWidget, "syncX",
+ Qt::QueuedConnection);
+
if (m_videoSink &&
#if GST_VERSION < GST_VERSION_CHECK (1,0,0,0)
GST_IS_X_OVERLAY(m_videoSink)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Try-Tiny for openSUSE:Factory checked in at 2014-04-23 17:32:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Try-Tiny (Old)
and /work/SRC/openSUSE:Factory/.perl-Try-Tiny.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Try-Tiny"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Try-Tiny/perl-Try-Tiny.changes 2014-02-12 07:07:26.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Try-Tiny.new/perl-Try-Tiny.changes 2014-04-23 17:32:49.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Apr 21 20:24:52 UTC 2014 - mardnh(a)gmx.de
+
+- updated to 0.21
+ - 0.21 2014-04-15
+ - also skip the test if Capture::Tiny is too old (Martin Popel, #17)
+
+ - 0.20 2014-03-21
+ - documentation updates (Flimm, #15)
+
+-------------------------------------------------------------------
Old:
----
Try-Tiny-0.19.tar.gz
New:
----
Try-Tiny-0.21.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Try-Tiny.spec ++++++
--- /var/tmp/diff_new_pack.nRcSfJ/_old 2014-04-23 17:32:50.000000000 +0200
+++ /var/tmp/diff_new_pack.nRcSfJ/_new 2014-04-23 17:32:50.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Try-Tiny
-Version: 0.19
+Version: 0.21
Release: 0
%define cpan_name Try-Tiny
Summary: Minimal try/catch with proper preservation of $@
++++++ Try-Tiny-0.19.tar.gz -> Try-Tiny-0.21.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/Changes new/Try-Tiny-0.21/Changes
--- old/Try-Tiny-0.19/Changes 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/Changes 2014-04-15 15:46:31.000000000 +0200
@@ -1,5 +1,11 @@
Revision history for Try-Tiny
+0.21 2014-04-15
+ - also skip the test if Capture::Tiny is too old (Martin Popel, #17)
+
+0.20 2014-03-21
+ - documentation updates (Flimm, #15)
+
0.19 2014-01-22
- fix an obscure issue with loading modules during global destruction
(ilmari, #11)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/MANIFEST new/Try-Tiny-0.21/MANIFEST
--- old/Try-Tiny-0.19/MANIFEST 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/MANIFEST 2014-04-15 15:46:31.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.012.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.014.
Changes
LICENSE
MANIFEST
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/META.json new/Try-Tiny-0.21/META.json
--- old/Try-Tiny-0.19/META.json 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/META.json 2014-04-15 15:46:31.000000000 +0200
@@ -5,7 +5,7 @@
"Jesse Luehrs <doy(a)tozt.net>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 5.012, CPAN::Meta::Converter version 2.120921",
+ "generated_by" : "Dist::Zilla version 5.014, CPAN::Meta::Converter version 2.140640",
"license" : [
"mit"
],
@@ -23,6 +23,8 @@
"develop" : {
"requires" : {
"Pod::Coverage::TrustPod" : "0",
+ "Test::More" : "0",
+ "Test::NoTabs" : "0",
"Test::Pod" : "1.41",
"Test::Pod::Coverage" : "1.08"
}
@@ -45,7 +47,7 @@
"File::Spec" : "0",
"IO::Handle" : "0",
"IPC::Open3" : "0",
- "Test::More" : "0.88",
+ "Test::More" : "0",
"if" : "0"
}
}
@@ -53,7 +55,7 @@
"provides" : {
"Try::Tiny" : {
"file" : "lib/Try/Tiny.pm",
- "version" : "0.19"
+ "version" : "0.21"
}
},
"release_status" : "stable",
@@ -68,91 +70,101 @@
"web" : "https://github.com/doy/try-tiny"
}
},
- "version" : "0.19",
+ "version" : "0.21",
"x_Dist_Zilla" : {
"perl" : {
- "version" : "5.018001"
+ "version" : "5.018002"
},
"plugins" : [
{
"class" : "Dist::Zilla::Plugin::GatherDir",
"name" : "@DOY/GatherDir",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::PruneCruft",
"name" : "@DOY/PruneCruft",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::ManifestSkip",
"name" : "@DOY/ManifestSkip",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
"name" : "@DOY/MetaYAML",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@DOY/License",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::Readme",
"name" : "@DOY/Readme",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::RunExtraTests",
+ "config" : {
+ "Dist::Zilla::Role::TestRunner" : {
+ "default_jobs" : 1
+ }
+ },
"name" : "@DOY/RunExtraTests",
- "version" : "0.011"
+ "version" : "0.018"
},
{
"class" : "Dist::Zilla::Plugin::ExecDir",
"name" : "@DOY/ExecDir",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::ShareDir",
"name" : "@DOY/ShareDir",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::MakeMaker",
+ "config" : {
+ "Dist::Zilla::Role::TestRunner" : {
+ "default_jobs" : 1
+ }
+ },
"name" : "@DOY/MakeMaker",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@DOY/Manifest",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::TestRelease",
"name" : "@DOY/TestRelease",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
"name" : "@DOY/ConfirmRelease",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "@DOY/MetaConfig",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "@DOY/MetaJSON",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::NextRelease",
"name" : "@DOY/NextRelease",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::CheckChangesHasContent",
@@ -162,7 +174,7 @@
{
"class" : "Dist::Zilla::Plugin::PkgVersion",
"name" : "@DOY/PkgVersion",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::Authority",
@@ -172,17 +184,27 @@
{
"class" : "Dist::Zilla::Plugin::PodCoverageTests",
"name" : "@DOY/PodCoverageTests",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "@DOY/PodSyntaxTests",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::NoTabsTests",
+ "config" : {
+ "Dist::Zilla::Plugin::Test::NoTabs" : {
+ "module_finder" : [
+ ":InstallModules"
+ ],
+ "script_finder" : [
+ ":ExecFiles"
+ ]
+ }
+ },
"name" : "@DOY/NoTabsTests",
- "version" : "0.01"
+ "version" : "0.06"
},
{
"class" : "Dist::Zilla::Plugin::EOLTests",
@@ -193,6 +215,7 @@
"class" : "Dist::Zilla::Plugin::Test::Compile",
"config" : {
"Dist::Zilla::Plugin::Test::Compile" : {
+ "filename" : "t/00-compile.t",
"module_finder" : [
":InstallModules"
],
@@ -202,7 +225,7 @@
}
},
"name" : "@DOY/Test::Compile",
- "version" : "2.021"
+ "version" : "2.039"
},
{
"class" : "Dist::Zilla::Plugin::Metadata",
@@ -212,27 +235,27 @@
{
"class" : "Dist::Zilla::Plugin::MetaResources",
"name" : "@DOY/MetaResources",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::Git::Check",
"name" : "@DOY/Git::Check",
- "version" : "2.014"
+ "version" : "2.020"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
"name" : "@DOY/Git::Commit",
- "version" : "2.014"
+ "version" : "2.020"
},
{
"class" : "Dist::Zilla::Plugin::Git::Tag",
"name" : "@DOY/Git::Tag",
- "version" : "2.014"
+ "version" : "2.020"
},
{
"class" : "Dist::Zilla::Plugin::Git::NextVersion",
"name" : "@DOY/Git::NextVersion",
- "version" : "2.014"
+ "version" : "2.020"
},
{
"class" : "Dist::Zilla::Plugin::ContributorsFromGit",
@@ -241,28 +264,129 @@
},
{
"class" : "Dist::Zilla::Plugin::MetaProvides::Package",
+ "config" : {
+ "Dist::Zilla::Plugin::MetaProvides::Package" : {
+ "finder_objects" : [
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : "@DOY/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
+ "version" : "5.014"
+ }
+ ]
+ },
+ "Dist::Zilla::Role::MetaProvider::Provider" : {
+ "inherit_missing" : "1",
+ "inherit_version" : "1",
+ "meta_noindex" : "1"
+ }
+ },
"name" : "@DOY/MetaProvides::Package",
- "version" : "1.14000003"
+ "version" : "2.000001"
},
{
"class" : "Dist::Zilla::Plugin::PodWeaver",
+ "config" : {
+ "Dist::Zilla::Plugin::PodWeaver" : {
+ "finder" : [
+ ":InstallModules",
+ ":ExecFiles"
+ ],
+ "plugins" : [
+ {
+ "class" : "Pod::Weaver::Plugin::EnsurePod5",
+ "name" : "@CorePrep/EnsurePod5",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Plugin::H1Nester",
+ "name" : "@CorePrep/H1Nester",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Plugin::SingleEncoding",
+ "name" : "@Default/SingleEncoding",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Name",
+ "name" : "@Default/Name",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Version",
+ "name" : "@Default/Version",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Region",
+ "name" : "@Default/prelude",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Generic",
+ "name" : "SYNOPSIS",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Generic",
+ "name" : "DESCRIPTION",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Generic",
+ "name" : "OVERVIEW",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Collect",
+ "name" : "ATTRIBUTES",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Collect",
+ "name" : "METHODS",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Collect",
+ "name" : "FUNCTIONS",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Leftovers",
+ "name" : "@Default/Leftovers",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Region",
+ "name" : "@Default/postlude",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Authors",
+ "name" : "@Default/Authors",
+ "version" : "4.006"
+ },
+ {
+ "class" : "Pod::Weaver::Section::Legal",
+ "name" : "@Default/Legal",
+ "version" : "4.006"
+ }
+ ]
+ }
+ },
"name" : "@DOY/PodWeaver",
- "version" : "3.101642"
+ "version" : "4.005"
},
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@DOY/UploadToCPAN",
- "version" : "5.012"
- },
- {
- "class" : "Dist::Zilla::Plugin::ContributorsFromGit",
- "name" : "ContributorsFromGit",
- "version" : "0.006"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::AutoPrereqs",
"name" : "AutoPrereqs",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
@@ -273,7 +397,7 @@
}
},
"name" : "Prereqs",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
@@ -284,47 +408,52 @@
}
},
"name" : "TestRecommends",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":AllFiles",
- "version" : "5.012"
+ "version" : "5.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":NoFiles",
- "version" : "5.012"
+ "version" : "5.014"
+ },
+ {
+ "class" : "Dist::Zilla::Plugin::FinderCode",
+ "name" : "@DOY/MetaProvides::Package/AUTOVIV/:InstallModulesPM",
+ "version" : "5.014"
}
],
"zilla" : {
@@ -332,14 +461,15 @@
"config" : {
"is_trial" : "0"
},
- "version" : "5.012"
+ "version" : "5.014"
}
},
"x_authority" : "cpan:NUFFIN",
"x_contributors" : [
"Alex <alex(a)koban.(none)>",
"Andrew Yates <ayates(a)haddock.local>",
- "Dagfinn Ilmari Manns\u00e5ker <ilmari(a)ilmari.org>",
+ "Dagfinn Ilmari Mannsåker <ilmari(a)ilmari.org>",
+ "David Lowe <davidl(a)lokku.com>",
"Glenn Fowler <cebjyre(a)cpan.org>",
"Graham Knop <haarg(a)haarg.org>",
"Hans Dieter Pearcey <hdp(a)weftsoar.net>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/META.yml new/Try-Tiny-0.21/META.yml
--- old/Try-Tiny-0.19/META.yml 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/META.yml 2014-04-15 15:46:31.000000000 +0200
@@ -4,190 +4,280 @@
- 'Yuval Kogman <nothingmuch(a)woobling.org>'
- 'Jesse Luehrs <doy(a)tozt.net>'
build_requires:
- File::Spec: 0
- IO::Handle: 0
- IPC::Open3: 0
- Test::More: 0.88
- if: 0
+ File::Spec: '0'
+ IO::Handle: '0'
+ IPC::Open3: '0'
+ Test::More: '0'
+ if: '0'
configure_requires:
- ExtUtils::MakeMaker: 6.30
+ ExtUtils::MakeMaker: '6.30'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.012, CPAN::Meta::Converter version 2.120921'
+generated_by: 'Dist::Zilla version 5.014, CPAN::Meta::Converter version 2.140640'
license: mit
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
+ version: '1.4'
name: Try-Tiny
provides:
Try::Tiny:
file: lib/Try/Tiny.pm
- version: 0.19
+ version: '0.21'
requires:
- Carp: 0
- Exporter: 5.57
- constant: 0
- perl: 5.006
- strict: 0
- warnings: 0
+ Carp: '0'
+ Exporter: '5.57'
+ constant: '0'
+ perl: '5.006'
+ strict: '0'
+ warnings: '0'
resources:
bugtracker: https://github.com/doy/try-tiny/issues
homepage: http://metacpan.org/release/Try-Tiny
repository: git://github.com/doy/try-tiny.git
-version: 0.19
+version: '0.21'
x_Dist_Zilla:
perl:
- version: 5.018001
+ version: '5.018002'
plugins:
-
class: Dist::Zilla::Plugin::GatherDir
name: '@DOY/GatherDir'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::PruneCruft
name: '@DOY/PruneCruft'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::ManifestSkip
name: '@DOY/ManifestSkip'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::MetaYAML
name: '@DOY/MetaYAML'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::License
name: '@DOY/License'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::Readme
name: '@DOY/Readme'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::RunExtraTests
+ config:
+ Dist::Zilla::Role::TestRunner:
+ default_jobs: 1
name: '@DOY/RunExtraTests'
- version: 0.011
+ version: '0.018'
-
class: Dist::Zilla::Plugin::ExecDir
name: '@DOY/ExecDir'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::ShareDir
name: '@DOY/ShareDir'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::MakeMaker
+ config:
+ Dist::Zilla::Role::TestRunner:
+ default_jobs: 1
name: '@DOY/MakeMaker'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::Manifest
name: '@DOY/Manifest'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::TestRelease
name: '@DOY/TestRelease'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::ConfirmRelease
name: '@DOY/ConfirmRelease'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::MetaConfig
name: '@DOY/MetaConfig'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::MetaJSON
name: '@DOY/MetaJSON'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::NextRelease
name: '@DOY/NextRelease'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::CheckChangesHasContent
name: '@DOY/CheckChangesHasContent'
- version: 0.006
+ version: '0.006'
-
class: Dist::Zilla::Plugin::PkgVersion
name: '@DOY/PkgVersion'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::Authority
name: '@DOY/Authority'
- version: 1.006
+ version: '1.006'
-
class: Dist::Zilla::Plugin::PodCoverageTests
name: '@DOY/PodCoverageTests'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::PodSyntaxTests
name: '@DOY/PodSyntaxTests'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::NoTabsTests
+ config:
+ Dist::Zilla::Plugin::Test::NoTabs:
+ module_finder:
+ - ':InstallModules'
+ script_finder:
+ - ':ExecFiles'
name: '@DOY/NoTabsTests'
- version: 0.01
+ version: '0.06'
-
class: Dist::Zilla::Plugin::EOLTests
name: '@DOY/EOLTests'
- version: 0.02
+ version: '0.02'
-
class: Dist::Zilla::Plugin::Test::Compile
config:
Dist::Zilla::Plugin::Test::Compile:
+ filename: t/00-compile.t
module_finder:
- ':InstallModules'
script_finder:
- ':ExecFiles'
name: '@DOY/Test::Compile'
- version: 2.021
+ version: '2.039'
-
class: Dist::Zilla::Plugin::Metadata
name: '@DOY/Metadata'
- version: 3.03
+ version: '3.03'
-
class: Dist::Zilla::Plugin::MetaResources
name: '@DOY/MetaResources'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::Git::Check
name: '@DOY/Git::Check'
- version: 2.014
+ version: '2.020'
-
class: Dist::Zilla::Plugin::Git::Commit
name: '@DOY/Git::Commit'
- version: 2.014
+ version: '2.020'
-
class: Dist::Zilla::Plugin::Git::Tag
name: '@DOY/Git::Tag'
- version: 2.014
+ version: '2.020'
-
class: Dist::Zilla::Plugin::Git::NextVersion
name: '@DOY/Git::NextVersion'
- version: 2.014
+ version: '2.020'
-
class: Dist::Zilla::Plugin::ContributorsFromGit
name: '@DOY/ContributorsFromGit'
- version: 0.006
+ version: '0.006'
-
class: Dist::Zilla::Plugin::MetaProvides::Package
+ config:
+ Dist::Zilla::Plugin::MetaProvides::Package:
+ finder_objects:
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: '@DOY/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
+ version: '5.014'
+ Dist::Zilla::Role::MetaProvider::Provider:
+ inherit_missing: '1'
+ inherit_version: '1'
+ meta_noindex: '1'
name: '@DOY/MetaProvides::Package'
- version: 1.14000003
+ version: '2.000001'
-
class: Dist::Zilla::Plugin::PodWeaver
+ config:
+ Dist::Zilla::Plugin::PodWeaver:
+ finder:
+ - ':InstallModules'
+ - ':ExecFiles'
+ plugins:
+ -
+ class: Pod::Weaver::Plugin::EnsurePod5
+ name: '@CorePrep/EnsurePod5'
+ version: '4.006'
+ -
+ class: Pod::Weaver::Plugin::H1Nester
+ name: '@CorePrep/H1Nester'
+ version: '4.006'
+ -
+ class: Pod::Weaver::Plugin::SingleEncoding
+ name: '@Default/SingleEncoding'
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Name
+ name: '@Default/Name'
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Version
+ name: '@Default/Version'
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Region
+ name: '@Default/prelude'
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Generic
+ name: SYNOPSIS
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Generic
+ name: DESCRIPTION
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Generic
+ name: OVERVIEW
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Collect
+ name: ATTRIBUTES
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Collect
+ name: METHODS
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Collect
+ name: FUNCTIONS
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Leftovers
+ name: '@Default/Leftovers'
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Region
+ name: '@Default/postlude'
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Authors
+ name: '@Default/Authors'
+ version: '4.006'
+ -
+ class: Pod::Weaver::Section::Legal
+ name: '@Default/Legal'
+ version: '4.006'
name: '@DOY/PodWeaver'
- version: 3.101642
+ version: '4.005'
-
class: Dist::Zilla::Plugin::UploadToCPAN
name: '@DOY/UploadToCPAN'
- version: 5.012
- -
- class: Dist::Zilla::Plugin::ContributorsFromGit
- name: ContributorsFromGit
- version: 0.006
+ version: '5.014'
-
class: Dist::Zilla::Plugin::AutoPrereqs
name: AutoPrereqs
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::Prereqs
config:
@@ -195,7 +285,7 @@
phase: runtime
type: requires
name: Prereqs
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::Prereqs
config:
@@ -203,49 +293,54 @@
phase: test
type: recommends
name: TestRecommends
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':IncModules'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':MainModule'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':AllFiles'
- version: 5.012
+ version: '5.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':NoFiles'
- version: 5.012
+ version: '5.014'
+ -
+ class: Dist::Zilla::Plugin::FinderCode
+ name: '@DOY/MetaProvides::Package/AUTOVIV/:InstallModulesPM'
+ version: '5.014'
zilla:
class: Dist::Zilla::Dist::Builder
config:
- is_trial: 0
- version: 5.012
+ is_trial: '0'
+ version: '5.014'
x_authority: cpan:NUFFIN
x_contributors:
- 'Alex <alex(a)koban.(none)>'
- 'Andrew Yates <ayates(a)haddock.local>'
- 'Dagfinn Ilmari Mannsåker <ilmari(a)ilmari.org>'
+ - 'David Lowe <davidl(a)lokku.com>'
- 'Glenn Fowler <cebjyre(a)cpan.org>'
- 'Graham Knop <haarg(a)haarg.org>'
- 'Hans Dieter Pearcey <hdp(a)weftsoar.net>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/Makefile.PL new/Try-Tiny-0.21/Makefile.PL
--- old/Try-Tiny-0.19/Makefile.PL 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/Makefile.PL 2014-04-15 15:46:31.000000000 +0200
@@ -1,5 +1,5 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.012.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.014.
use strict;
use warnings;
@@ -31,10 +31,10 @@
"File::Spec" => 0,
"IO::Handle" => 0,
"IPC::Open3" => 0,
- "Test::More" => "0.88",
+ "Test::More" => 0,
"if" => 0
},
- "VERSION" => "0.19",
+ "VERSION" => "0.21",
"test" => {
"TESTS" => "t/*.t"
}
@@ -47,7 +47,7 @@
"File::Spec" => 0,
"IO::Handle" => 0,
"IPC::Open3" => 0,
- "Test::More" => "0.88",
+ "Test::More" => 0,
"constant" => 0,
"if" => 0,
"strict" => 0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/README new/Try-Tiny-0.21/README
--- old/Try-Tiny-0.19/README 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/README 2014-04-15 15:46:31.000000000 +0200
@@ -1,7 +1,7 @@
This archive contains the distribution Try-Tiny,
-version 0.19:
+version 0.21:
minimal try/catch with proper preservation of $@
@@ -12,5 +12,5 @@
The MIT (X11) License
-This README file was generated by Dist::Zilla::Plugin::Readme v5.012.
+This README file was generated by Dist::Zilla::Plugin::Readme v5.014.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/dist.ini new/Try-Tiny-0.21/dist.ini
--- old/Try-Tiny-0.19/dist.ini 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/dist.ini 2014-04-15 15:46:31.000000000 +0200
@@ -9,14 +9,10 @@
dist = Try-Tiny
repository = github
authority = cpan:NUFFIN
-bugtracker_web = https://github.com/doy/try-tiny/issues
-bugtracker_mailto =
done_testing = 0
Git::Tag_tag_format = %N-%v
Git::NextVersion_version_regexp = ^Try-Tiny-(.+)$
-[ContributorsFromGit]
-
[AutoPrereqs]
; tests optionally require 5.010
skip = ^perl$
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/lib/Try/Tiny.pm new/Try-Tiny-0.21/lib/Try/Tiny.pm
--- old/Try-Tiny-0.19/lib/Try/Tiny.pm 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/lib/Try/Tiny.pm 2014-04-15 15:46:31.000000000 +0200
@@ -2,7 +2,7 @@
BEGIN {
$Try::Tiny::AUTHORITY = 'cpan:NUFFIN';
}
-$Try::Tiny::VERSION = '0.19';
+$Try::Tiny::VERSION = '0.21';
use 5.006;
# ABSTRACT: minimal try/catch with proper preservation of $@
@@ -174,13 +174,15 @@
=pod
+=encoding UTF-8
+
=head1 NAME
Try::Tiny - minimal try/catch with proper preservation of $@
=head1 VERSION
-version 0.19
+version 0.21
=head1 SYNOPSIS
@@ -244,6 +246,13 @@
which cannot be handled using local. You can add as many C<finally> blocks to a
given C<try> block as you like.
+Note that adding a C<finally> block without a preceding C<catch> block
+suppresses any errors. This behaviour is consistent with using a standalone
+C<eval>, but it is not consistent with C<try>/C<finally> patterns found in
+other programming languages, such as Java, Python, Javascript or C#. If you
+learnt the C<try>/C<finally> pattern from one of these languages, watch out for
+this.
+
=head1 EXPORTS
All functions are exported by default using L<Exporter>.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/t/00-compile.t new/Try-Tiny-0.21/t/00-compile.t
--- old/Try-Tiny-0.19/t/00-compile.t 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/t/00-compile.t 2014-04-15 15:46:31.000000000 +0200
@@ -1,9 +1,10 @@
+use 5.006;
use strict;
use warnings;
-# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.021
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.039
-use Test::More 0.88;
+use Test::More tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
@@ -11,28 +12,31 @@
'Try/Tiny.pm'
);
-my @scripts = (
-);
# no fake home requested
+my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib';
+
+use File::Spec;
use IPC::Open3;
use IO::Handle;
-use File::Spec;
+
+open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
my @warnings;
for my $lib (@module_files)
{
- open my $stdout, '>', File::Spec->devnull or die $!;
- open my $stdin, '<', File::Spec->devnull or die $!;
+ # see L<perlfaq8/How can I capture STDERR from an external command?>
my $stderr = IO::Handle->new;
- my $pid = open3($stdin, $stdout, $stderr, qq{$^X -Mblib -e"require q[$lib]"});
+ my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]");
+ binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+ my @_warnings = <$stderr>;
waitpid($pid, 0);
- is($? >> 8, 0, "$lib loaded ok");
+ is($?, 0, "$lib loaded ok");
- if (my @_warnings = <$stderr>)
+ if (@_warnings)
{
warn @_warnings;
push @warnings, @_warnings;
@@ -44,5 +48,3 @@
is(scalar(@warnings), 0, 'no warnings found') if $ENV{AUTHOR_TESTING};
-
-done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/t/global_destruction_load.t new/Try-Tiny-0.21/t/global_destruction_load.t
--- old/Try-Tiny-0.19/t/global_destruction_load.t 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/t/global_destruction_load.t 2014-04-15 15:46:31.000000000 +0200
@@ -3,8 +3,8 @@
use Test::More;
BEGIN {
- plan skip_all => 'Capture::Tiny required'
- unless eval { require Capture::Tiny; 1 };
+ plan skip_all => 'Capture::Tiny 0.12 required'
+ unless eval { require Capture::Tiny; Capture::Tiny->VERSION(0.12); 1 };
plan tests => 3;
Capture::Tiny->import(qw(capture_stderr));
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/xt/release/no-tabs.t new/Try-Tiny-0.21/xt/release/no-tabs.t
--- old/Try-Tiny-0.19/xt/release/no-tabs.t 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/xt/release/no-tabs.t 2014-04-15 15:46:31.000000000 +0200
@@ -1,8 +1,14 @@
use strict;
use warnings;
-use Test::More;
-eval 'use Test::NoTabs';
-plan skip_all => 'Test::NoTabs required' if $@;
+# this test was generated with Dist::Zilla::Plugin::NoTabsTests 0.06
-all_perl_files_ok();
+use Test::More 0.88;
+use Test::NoTabs;
+
+my @files = (
+ 'lib/Try/Tiny.pm'
+);
+
+notabs_ok($_) foreach @files;
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/xt/release/pod-coverage.t new/Try-Tiny-0.21/xt/release/pod-coverage.t
--- old/Try-Tiny-0.19/xt/release/pod-coverage.t 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/xt/release/pod-coverage.t 2014-04-15 15:46:31.000000000 +0200
@@ -1,14 +1,7 @@
#!perl
# This file was automatically generated by Dist::Zilla::Plugin::PodCoverageTests.
-use Test::More;
-
-eval "use Test::Pod::Coverage 1.08";
-plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD coverage"
- if $@;
-
-eval "use Pod::Coverage::TrustPod";
-plan skip_all => "Pod::Coverage::TrustPod required for testing POD coverage"
- if $@;
+use Test::Pod::Coverage 1.08;
+use Pod::Coverage::TrustPod;
all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' });
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Try-Tiny-0.19/xt/release/pod-syntax.t new/Try-Tiny-0.21/xt/release/pod-syntax.t
--- old/Try-Tiny-0.19/xt/release/pod-syntax.t 2014-01-23 02:52:39.000000000 +0100
+++ new/Try-Tiny-0.21/xt/release/pod-syntax.t 2014-04-15 15:46:31.000000000 +0200
@@ -1,8 +1,6 @@
#!perl
# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
use Test::More;
-
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
+use Test::Pod 1.41;
all_pod_files_ok();
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-MIME-Types for openSUSE:Factory checked in at 2014-04-23 17:32:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-MIME-Types (Old)
and /work/SRC/openSUSE:Factory/.perl-MIME-Types.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-MIME-Types"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-MIME-Types/perl-MIME-Types.changes 2012-02-14 13:09:38.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-MIME-Types.new/perl-MIME-Types.changes 2014-04-23 17:32:43.000000000 +0200
@@ -1,0 +2,65 @@
+Mon Apr 21 14:41:59 UTC 2014 - mardnh(a)gmx.de
+
+- update to version 2.04
+
+ - version 2.04: Thu Sep 12 15:46:28 CEST 2013
+ Fixes:
+ - one more localize $_ in ::Types::_read_db()
+ rt.cpan.org#87856 [Gerda Shank]
+
+ - version 2.03: Wed Sep 4 17:12:27 CEST 2013
+ Improvements:
+ - typo in docs, rt.cpan.org#88394 [Gregor Herrmann, Debian]
+ - require perl 5.8.8, because <:encoding [cpantesters]
+ - updated IANA
+ - a bit more DESCRIPTION
+
+ - version 2.02: Sun Aug 18 12:49:23 CEST 2013
+ Fixes:
+ - localize DB and $_ in ::Types::_read_db()
+ rt.cpan.org#87856 [Gerda Shank]
+
+ - version 2.01: Sat Aug 3 01:07:27 CEST 2013
+ Improvements:
+ - add dummy ::Types::create_type_index() because
+ Catalyst-Plugin-Static-Simple calls it :(
+
+ - version 2.00: Fri Aug 2 17:44:53 CEST 2013
+ Changes:
+ - the mime information is now collected from various sources, amongst
+ them IANA. Therefore, some types may use different x-'s
+ #types up from 995 to 2096
+ - a separate table is built for the extension-to-type mapping.
+ #exts up from 734 to 1425
+ - the memory foot-print and start-up speed should have improved
+ considerably.
+
+ Improvements:
+ - added bin/collect_types
+ - 3 typos. rt.cpan.org#86847 [D Steinbrunner]
+ - add ::Type::isVendor(), ::isExperimental(), ::isPersonal on request
+ by rt.cpan.org#87062 [Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯]
+ - cleaned-up Exporter syntax of (very) old interface.
+ - added ::Types::listTypes()
+
+ - version 1.38: Fri Jan 11 09:58:08 CET 2013
+ - add application/vnd.ms-excel.template.macroEnabled.12 and five
+ related from http://filext.com/faq/office_mime_types.php
+ rt.cpan.org#82616 [M Jemmeson]
+
+ - version 1.37: Fri Dec 21 11:33:53 CET 2012:
+ - all mime.types files agree that perl scripts should use
+ application/x-perl. Hence removed text/x-perl
+ rt.cpan.org#82100 [Kent Fredric]
+
+ - version 1.36: Wed Oct 31 20:34:42 CET 2012
+ - xlsx and friends had encoding 'binary' (since version 1.30),
+ but should have been 'base64'
+ rt.cpan.org#80529 [Douglas Wilson]
+
+ - version 1.35: Tue Jun 19 20:37:21 CEST 2012
+ - added video/webm and audio/webm, although not (yet) IANA registered.
+ [Kurian Jose Aerthail]
+
+
+-------------------------------------------------------------------
Old:
----
MIME-Types-1.34.tar.gz
New:
----
MIME-Types-2.04.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-MIME-Types.spec ++++++
--- /var/tmp/diff_new_pack.NtOjII/_old 2014-04-23 17:32:43.000000000 +0200
+++ /var/tmp/diff_new_pack.NtOjII/_new 2014-04-23 17:32:43.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-MIME-Types
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,14 @@
Name: perl-MIME-Types
-Version: 1.34
+Version: 2.04
Release: 0
+%define cpan_name MIME-Types
Summary: MIME-Type Determination
License: GPL-1.0+ or Artistic-1.0
Group: Development/Libraries/Perl
-Url: http://cpan.org/modules/by-module/MIME/
-Source: MIME-Types-%{version}.tar.gz
+Url: http://www.cpan.org/modules/by-module/MIME/
+Source: http://www.cpan.org/modules/by-module/MIME/%{cpan_name}-%{version}.tar.gz
BuildRequires: perl
BuildRequires: perl-macros
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ MIME-Types-1.34.tar.gz -> MIME-Types-2.04.tar.gz ++++++
++++ 6007 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 perl-Devel-Declare for openSUSE:Factory checked in at 2014-04-23 17:32:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Devel-Declare (Old)
and /work/SRC/openSUSE:Factory/.perl-Devel-Declare.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Devel-Declare"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Devel-Declare/perl-Devel-Declare.changes 2014-03-09 18:37:46.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Devel-Declare.new/perl-Devel-Declare.changes 2014-04-23 17:32:38.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Apr 21 20:03:12 UTC 2014 - mardnh(a)gmx.de
+
+- updated to 0.006016
+ - fixed syntax error in a test
+
+-------------------------------------------------------------------
Old:
----
Devel-Declare-0.006015.tar.gz
New:
----
Devel-Declare-0.006016.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Devel-Declare.spec ++++++
--- /var/tmp/diff_new_pack.dJ7atD/_old 2014-04-23 17:32:39.000000000 +0200
+++ /var/tmp/diff_new_pack.dJ7atD/_new 2014-04-23 17:32:39.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Devel-Declare
-Version: 0.006015
+Version: 0.006016
Release: 0
%define cpan_name Devel-Declare
Summary: Adding keywords to perl, in perl
++++++ Devel-Declare-0.006015.tar.gz -> Devel-Declare-0.006016.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/Changes new/Devel-Declare-0.006016/Changes
--- old/Devel-Declare-0.006015/Changes 2014-02-03 03:53:29.000000000 +0100
+++ new/Devel-Declare-0.006016/Changes 2014-04-01 05:00:48.000000000 +0200
@@ -1,5 +1,8 @@
Revision history for Devel-Declare
+0.006016 - 2014-03-31
+ - fixed syntax error in a test
+
0.006015 - 2014-02-02
- fix use of wrong sprintf formatting codes (Zefram, RT#91983)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/META.json new/Devel-Declare-0.006016/META.json
--- old/Devel-Declare-0.006015/META.json 2014-02-03 03:54:04.000000000 +0100
+++ new/Devel-Declare-0.006016/META.json 2014-04-01 05:01:12.000000000 +0200
@@ -4,7 +4,7 @@
"Matt S Trout - <mst(a)shadowcat.co.uk> - original author"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 6.88, CPAN::Meta::Converter version 2.133380",
+ "generated_by" : "ExtUtils::MakeMaker version 6.94, CPAN::Meta::Converter version 2.140640",
"license" : [
"perl_5"
],
@@ -55,5 +55,5 @@
"web" : "http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/Devel-Declare.git"
}
},
- "version" : "0.006015"
+ "version" : "0.006016"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/META.yml new/Devel-Declare-0.006016/META.yml
--- old/Devel-Declare-0.006015/META.yml 2014-02-03 03:54:04.000000000 +0100
+++ new/Devel-Declare-0.006016/META.yml 2014-04-01 05:01:12.000000000 +0200
@@ -3,30 +3,30 @@
author:
- 'Matt S Trout - <mst(a)shadowcat.co.uk> - original author'
build_requires:
- B::Hooks::OP::Check: 0.19
- Test::More: 0.88
- Test::Requires: 0
+ B::Hooks::OP::Check: '0.19'
+ Test::More: '0.88'
+ Test::Requires: '0'
configure_requires:
- B::Hooks::OP::Check: 0.19
- ExtUtils::Depends: 0.302
+ B::Hooks::OP::Check: '0.19'
+ ExtUtils::Depends: '0.302'
dynamic_config: 0
-generated_by: 'ExtUtils::MakeMaker version 6.88, CPAN::Meta::Converter version 2.133380'
+generated_by: 'ExtUtils::MakeMaker version 6.94, CPAN::Meta::Converter version 2.140640'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
+ version: '1.4'
name: Devel-Declare
no_index:
directory:
- t
- inc
requires:
- B::Hooks::EndOfScope: 0.05
- B::Hooks::OP::Check: 0.19
- Scalar::Util: 1.11
- Sub::Name: 0
- perl: 5.008001
+ B::Hooks::EndOfScope: '0.05'
+ B::Hooks::OP::Check: '0.19'
+ Scalar::Util: '1.11'
+ Sub::Name: '0'
+ perl: '5.008001'
resources:
bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Devel-Declare
repository: git://git.shadowcat.co.uk/p5sagit/Devel-Declare.git
-version: 0.006015
+version: '0.006016'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/lib/Devel/Declare/Context/Simple.pm new/Devel-Declare-0.006016/lib/Devel/Declare/Context/Simple.pm
--- old/Devel-Declare-0.006015/lib/Devel/Declare/Context/Simple.pm 2014-02-03 03:52:23.000000000 +0100
+++ new/Devel-Declare-0.006016/lib/Devel/Declare/Context/Simple.pm 2014-04-01 04:57:25.000000000 +0200
@@ -6,7 +6,7 @@
use B::Hooks::EndOfScope;
use Carp qw/confess/;
-our $VERSION = '0.006015';
+our $VERSION = '0.006016';
sub new {
my $class = shift;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/lib/Devel/Declare/MethodInstaller/Simple.pm new/Devel-Declare-0.006016/lib/Devel/Declare/MethodInstaller/Simple.pm
--- old/Devel-Declare-0.006015/lib/Devel/Declare/MethodInstaller/Simple.pm 2014-02-03 03:52:23.000000000 +0100
+++ new/Devel-Declare-0.006016/lib/Devel/Declare/MethodInstaller/Simple.pm 2014-04-01 04:57:25.000000000 +0200
@@ -7,7 +7,7 @@
use strict;
use warnings;
-our $VERSION = '0.006015';
+our $VERSION = '0.006016';
sub install_methodhandler {
my $class = shift;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/lib/Devel/Declare.pm new/Devel-Declare-0.006016/lib/Devel/Declare.pm
--- old/Devel-Declare-0.006015/lib/Devel/Declare.pm 2014-02-03 03:52:23.000000000 +0100
+++ new/Devel-Declare-0.006016/lib/Devel/Declare.pm 2014-04-01 04:57:25.000000000 +0200
@@ -5,7 +5,7 @@
use warnings;
use 5.008001;
-our $VERSION = '0.006015';
+our $VERSION = '0.006016';
use constant DECLARE_NAME => 1;
use constant DECLARE_PROTO => 2;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/build_sub_installer.t new/Devel-Declare-0.006016/t/build_sub_installer.t
--- old/Devel-Declare-0.006015/t/build_sub_installer.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/build_sub_installer.t 2014-03-31 18:40:26.000000000 +0200
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use Test::More 'no_plan';
+use Test::More;
use Devel::Declare ();
@@ -18,3 +18,5 @@
}
is($args, 'woot', 'sub installer worked');
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/combi.t new/Devel-Declare-0.006016/t/combi.t
--- old/Devel-Declare-0.006015/t/combi.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/combi.t 2014-03-31 18:40:32.000000000 +0200
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use Test::More 'no_plan';
+use Test::More;
sub method :lvalue {my $sv;}
@@ -29,3 +29,5 @@
};
ok(1, "Survived compilation");
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/ctx-simple.t new/Devel-Declare-0.006016/t/ctx-simple.t
--- old/Devel-Declare-0.006015/t/ctx-simple.t 2014-02-03 03:39:25.000000000 +0100
+++ new/Devel-Declare-0.006016/t/ctx-simple.t 2014-03-31 18:43:57.000000000 +0200
@@ -1,3 +1,5 @@
+use strict;
+use warnings;
use Devel::Declare ();
{
@@ -131,7 +133,7 @@
}
-use Test::More 'no_plan';
+use Test::More;
my $o = DeclareTest->new(attr => "value");
@@ -171,3 +173,4 @@
is_deeply([ map { $_->() } @test_list ], [ 1, 2, 3, 4], 'binding ok');
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/eval.t new/Devel-Declare-0.006016/t/eval.t
--- old/Devel-Declare-0.006015/t/eval.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/eval.t 2014-03-31 18:40:46.000000000 +0200
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use Test::More 'no_plan';
+use Test::More;
sub method {
my ($usepack, $name, $inpack, $sub) = @_;
@@ -22,4 +22,4 @@
is( __PACKAGE__->bar, 42 );
-
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/fail.t new/Devel-Declare-0.006016/t/fail.t
--- old/Devel-Declare-0.006015/t/fail.t 2014-02-03 03:39:25.000000000 +0100
+++ new/Devel-Declare-0.006016/t/fail.t 2014-03-31 18:40:52.000000000 +0200
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use Test::More 'no_plan';
+use Test::More;
use Devel::Declare::MethodInstaller::Simple;
BEGIN {
@@ -29,3 +29,5 @@
eval 'method møø() { return "foo" }';
like($@, qr/Illegal\sdeclaration\sof\ssubroutine\smain\:\:m/, 'with unicode');
};
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/lines.t new/Devel-Declare-0.006016/t/lines.t
--- old/Devel-Declare-0.006015/t/lines.t 2014-02-03 03:39:25.000000000 +0100
+++ new/Devel-Declare-0.006016/t/lines.t 2014-03-31 18:38:55.000000000 +0200
@@ -2,7 +2,7 @@
use warnings;
use Test::More;
-use Test::Requires 'B:Compiling';
+use Test::Requires 'B::Compiling';
plan tests => 5;
my @lines;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/methinstaller-simple.t new/Devel-Declare-0.006016/t/methinstaller-simple.t
--- old/Devel-Declare-0.006015/t/methinstaller-simple.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/methinstaller-simple.t 2014-03-31 18:43:23.000000000 +0200
@@ -1,7 +1,6 @@
-#!/usr/bin/perl -w
-
use strict;
-use Test::More 'no_plan';
+use warnings;
+use Test::More;
my $Have_Devel_BeginLift;
BEGIN {
@@ -124,3 +123,4 @@
is_deeply([ map { $_->() } @test_list ], [ 1, 2, 3, 4], 'binding ok');
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/method-no-semi.t new/Devel-Declare-0.006016/t/method-no-semi.t
--- old/Devel-Declare-0.006015/t/method-no-semi.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/method-no-semi.t 2014-03-31 18:44:46.000000000 +0200
@@ -1,3 +1,5 @@
+use strict;
+use warnings;
use Devel::Declare ();
{
@@ -154,7 +156,7 @@
}
-use Test::More 'no_plan';
+use Test::More;
my $o = DeclareTest->new(attr => "value");
@@ -177,3 +179,5 @@
is($o->$test_method2('this'), 'DeclareTest2, this', 'anon method with proto ok');
is_deeply([ map { $_->() } @test_list ], [ 1, 2, 3, 4], 'binding ok');
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/method.t new/Devel-Declare-0.006016/t/method.t
--- old/Devel-Declare-0.006015/t/method.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/method.t 2014-03-31 18:45:00.000000000 +0200
@@ -1,3 +1,5 @@
+use strict;
+use warnings;
use Devel::Declare ();
{
@@ -138,7 +140,7 @@
}
-use Test::More 'no_plan';
+use Test::More;
my $o = DeclareTest->new(attr => "value");
@@ -161,3 +163,5 @@
is($o->$test_method2('this'), 'DeclareTest2, this', 'anon method with proto ok');
is_deeply([ map { $_->() } @test_list ], [ 1, 2, 3, 4], 'binding ok');
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/new.t new/Devel-Declare-0.006016/t/new.t
--- old/Devel-Declare-0.006015/t/new.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/new.t 2014-03-31 18:45:11.000000000 +0200
@@ -1,5 +1,7 @@
+use strict;
+use warnings;
use Devel::Declare ();
-use Test::More qw(no_plan);
+use Test::More;
{
package FoomHandlers;
@@ -101,3 +103,5 @@
::is(foom KABOOM (zoom), "happy foom: KABOOM; zoom", "foom KABOOM (zoom)");
}
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/pack.t new/Devel-Declare-0.006016/t/pack.t
--- old/Devel-Declare-0.006015/t/pack.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/pack.t 2014-03-31 18:41:24.000000000 +0200
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use Test::More 'no_plan';
+use Test::More;
sub class { $_[0]->(); }
@@ -20,3 +20,5 @@
is($packname, 'Foo::Bar', 'Package saved ok');
is(__PACKAGE__, 'main', 'Package scoped correctly');
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/padstuff.t new/Devel-Declare-0.006016/t/padstuff.t
--- old/Devel-Declare-0.006015/t/padstuff.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/padstuff.t 2014-03-31 18:41:30.000000000 +0200
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use Test::More 'no_plan';
+use Test::More;
sub action (&) { return shift; }
@@ -20,3 +20,5 @@
$a->("SELF", "CONTEXT");
is($args, "SELF, CONTEXT", "args passed ok");
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/proto.t new/Devel-Declare-0.006016/t/proto.t
--- old/Devel-Declare-0.006015/t/proto.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/proto.t 2014-03-31 18:41:35.000000000 +0200
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use Test::More 'no_plan';
+use Test::More;
sub fun :lvalue { return my $sv; }
@@ -24,3 +24,5 @@
is($foo->(), '$a, $b: woot', 'proto declarator ok');
is(X(), 'what?', 'X sub restored ok');
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/simple.t new/Devel-Declare-0.006016/t/simple.t
--- old/Devel-Declare-0.006015/t/simple.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/simple.t 2014-03-31 18:41:41.000000000 +0200
@@ -1,6 +1,6 @@
use strict;
use warnings;
-use Test::More 'no_plan';
+use Test::More;
sub method {
my ($usepack, $name, $inpack, $sub) = @_;
@@ -34,3 +34,4 @@
is($args1, 'main, 1, 2', 'Method bar args ok');
is($args2, 'main, 3, 4', 'Method baz args ok');
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/statement.t new/Devel-Declare-0.006016/t/statement.t
--- old/Devel-Declare-0.006015/t/statement.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/statement.t 2014-03-31 18:45:30.000000000 +0200
@@ -1,5 +1,7 @@
+use strict;
+use warnings;
use Devel::Declare ();
-use Test::More qw(no_plan);
+use Test::More;
{
package FoomHandlers;
@@ -110,3 +112,5 @@
::ok(1, 'Compiled as statement ok');
}
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Devel-Declare-0.006015/t/sugar.t new/Devel-Declare-0.006016/t/sugar.t
--- old/Devel-Declare-0.006015/t/sugar.t 2013-05-05 08:13:28.000000000 +0200
+++ new/Devel-Declare-0.006016/t/sugar.t 2014-03-31 18:45:38.000000000 +0200
@@ -1,3 +1,5 @@
+use strict;
+use warnings;
use Devel::Declare;
BEGIN {
@@ -64,7 +66,7 @@
}
-use Test::More 'no_plan';
+use Test::More;
my $o = DeclareTest->new(attr => "value");
@@ -87,3 +89,5 @@
is($o->$test_method2('this'), 'DeclareTest2, this', 'anon method with proto ok');
#warn map { $_->() } @test_list;
+
+done_testing;
--
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 milou for openSUSE:Factory checked in at 2014-04-23 17:32:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/milou (Old)
and /work/SRC/openSUSE:Factory/.milou.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "milou"
Changes:
--------
--- /work/SRC/openSUSE:Factory/milou/milou.changes 2014-04-03 17:10:54.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.milou.new/milou.changes 2014-04-23 17:32:30.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Apr 17 17:05:06 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Update to v0.1
+ * No upstream changelog
+- Droped %kde4_akonadi_requires, not required anymore
+
+-------------------------------------------------------------------
Old:
----
milou-0.0.1~eb14c9e.tar.xz
New:
----
milou-0.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ milou.spec ++++++
--- /var/tmp/diff_new_pack.zlZctp/_old 2014-04-23 17:32:31.000000000 +0200
+++ /var/tmp/diff_new_pack.zlZctp/_new 2014-04-23 17:32:31.000000000 +0200
@@ -17,7 +17,7 @@
Name: milou
-Version: 0.0.1~eb14c9e
+Version: 0.1
Release: 0
Summary: A dedicated search application built on top of Baloo
License: GPL-2.0+ and LGPL-2.1+
@@ -31,7 +31,6 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%kde4_runtime_requires
%kde4_pimlibs_requires
-%kde4_akonadi_requires
%description
A dedicated search application built on top of Baloo
@@ -47,12 +46,18 @@
%kde4_makeinstall -C build
%fdupes -s %buildroot
%kde_post_install
+ # milou doesn't provide any development files, so remove the devel symlink
+ rm -rf %buildroot%{_kde4_libdir}/libmilou.so
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc COPYING*
%{_kde4_appsdir}/plasma/plasmoids/
-%{_kde4_libdir}/libmilou.so
+%{_kde4_libdir}/libmilou.so.*
%{_kde4_modulesdir}/imports/
%{_kde4_modulesdir}/milou*.so
%{_kde4_servicesdir}/*milou*.desktop
++++++ milou-0.0.1~eb14c9e.tar.xz -> milou-0.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/CMakeLists.txt new/milou-0.1/CMakeLists.txt
--- old/milou-0.0.1~eb14c9e/CMakeLists.txt 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/CMakeLists.txt 2014-04-17 11:31:07.000000000 +0200
@@ -2,6 +2,7 @@
find_package(KDE4 REQUIRED)
find_package(Baloo REQUIRED)
+find_package(KFileMetaData REQUIRED)
find_package(KdepimLibs)
set_package_properties(KdepimLibs PROPERTIES DESCRIPTION "KDE PIM Libraries"
@@ -17,6 +18,7 @@
${QT_INCLUDES}
${KDE4_INCLUDES}
${BALOO_INCLUDE_DIR}
+ ${KFILEMETADATA_INCLUDE_DIR}
${CMAKE_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/lib
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/Messages.sh new/milou-0.1/Messages.sh
--- old/milou-0.0.1~eb14c9e/Messages.sh 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/Messages.sh 2014-04-17 11:31:07.000000000 +0200
@@ -1,2 +1,2 @@
#! /usr/bin/env bash
-$XGETTEXT `find . -name "*.cpp" -o -name "*.qml" | grep -v "/test/"` -o $podir/milou.pot
+$XGETTEXT `find . -name "*.cpp" -o -name "*.qml" | grep -v "/test/"` -o $podir/plasma_applet_milou_applet.pot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/CMakeLists.txt new/milou-0.1/lib/CMakeLists.txt
--- old/milou-0.0.1~eb14c9e/lib/CMakeLists.txt 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/CMakeLists.txt 2014-04-17 11:31:07.000000000 +0200
@@ -17,6 +17,8 @@
kde4_add_library(milou SHARED ${lib_SRCS})
+set_target_properties(milou PROPERTIES VERSION 0.1 SOVERSION 0.1)
+
target_link_libraries (milou
${QT_QTSCRIPT_LIBRARY}
${QT_QTDECLARATIVE_LIBRARY}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/abstractsource.cpp new/milou-0.1/lib/abstractsource.cpp
--- old/milou-0.0.1~eb14c9e/lib/abstractsource.cpp 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/abstractsource.cpp 2014-04-17 11:31:07.000000000 +0200
@@ -23,7 +23,7 @@
#include "abstractsource.h"
#include <KGlobal>
-static const KCatalogLoader loader("milou");
+static const KCatalogLoader loader("plasma_applet_milou_applet");
using namespace Milou;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/miloupreviewplugin.desktop new/milou-0.1/lib/miloupreviewplugin.desktop
--- old/milou-0.0.1~eb14c9e/lib/miloupreviewplugin.desktop 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/miloupreviewplugin.desktop 2014-04-17 11:31:07.000000000 +0200
@@ -11,7 +11,9 @@
Comment[fr]=Module externe d'aperçu Milou
Comment[hu]=Milou előnézet bővítmény
Comment[ko]=Milou 미리 보기 플러그인
+Comment[nds]=Milou-Vöransichtmoduul
Comment[nl]=Milou voorbeeld-plug-in
+Comment[pl]=Wtyczka podglądu Milou
Comment[pt]='Plugin' de Antevisão do Milou
Comment[pt_BR]=Plugin de previsão do Milou
Comment[sk]=Plugin náhľadu Milou
@@ -19,3 +21,4 @@
Comment[uk]=Додаток попереднього перегляду Milou
Comment[x-test]=xxMilou Preview Pluginxx
Comment[zh_CN]=Milou 预览插件
+Comment[zh_TW]=Milou 預覽外掛程式
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/previews/milouapplicationpreview.desktop new/milou-0.1/lib/previews/milouapplicationpreview.desktop
--- old/milou-0.0.1~eb14c9e/lib/previews/milouapplicationpreview.desktop 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/previews/milouapplicationpreview.desktop 2014-04-17 11:31:07.000000000 +0200
@@ -5,12 +5,15 @@
Name=Milou Application Preview Plugin
Name[da]=Forhåndsvisning-plugin til programmet Milou
Name[de]=Milou-Vorschaumodul für Anwendungen
+Name[el]=Πρόσθετο προεπισκόπησης εφαρμογής Milou
Name[es]=Complemento de vista previa de aplicaciones de Milou
Name[fi]=Miloun sovellusten esikatseluliitännäinen
Name[fr]=Module externe d'aperçu d'application pour Milou
Name[hu]=Milou alkalmazás előnézet bővítmény
Name[ko]=Milou 프로그램 미리 보기 플러그인
+Name[nds]=Milou-Programmvöransichtmoduul
Name[nl]=Milou voorbeeld-plug-in voor toepassing
+Name[pl]=Wtyczka podglądu programu Milou
Name[pt]='Plugin' de Antevisão de Aplicações do Milou
Name[pt_BR]=Plugin de previsão de aplicativos do Milou
Name[sk]=Plugin náhľadu aplikácie Milou
@@ -18,3 +21,4 @@
Name[uk]=Додаток попереднього перегляду програм Milou
Name[x-test]=xxMilou Application Preview Pluginxx
Name[zh_CN]=Milou 程序预览插件
+Name[zh_TW]=Milou 應用程式預覽外掛程式
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/previews/milouaudiopreview.desktop new/milou-0.1/lib/previews/milouaudiopreview.desktop
--- old/milou-0.0.1~eb14c9e/lib/previews/milouaudiopreview.desktop 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/previews/milouaudiopreview.desktop 2014-04-17 11:31:07.000000000 +0200
@@ -12,7 +12,9 @@
Name[fr]=Module externe d'aperçu audio Milou
Name[hu]=Milou hang előnézet bővítmény
Name[ko]=Milou 오디오 미리 보기 플러그인
+Name[nds]=Milou-Audiovöransichtmoduul
Name[nl]=Milou audio-voorbeeld-plug-in
+Name[pl]=Wtyczka podglądu dźwięku Milou
Name[pt]='Plugin' de Antevisão de Áudio do Milou
Name[pt_BR]=Plugin de previsão de áudio do Milou
Name[sk]=Plugin náhľadu zvuku Milou
@@ -20,6 +22,7 @@
Name[uk]=Додаток попереднього прослуховування Milou
Name[x-test]=xxMilou Audio Preview Pluginxx
Name[zh_CN]=Milou 音频预览插件
+Name[zh_TW]=Milou 音效預覽外掛程式
Comment=Preview generated for audio files
Comment[bs]=Prikaz generiran za audio datoteke
Comment[da]=Forhåndslytning genereret for lydfiler
@@ -30,7 +33,9 @@
Comment[fr]=Aperçu généré pour les fichiers audio
Comment[hu]=Hangfájlokhoz előállított előnézet
Comment[ko]=오디오 파일에서 생성된 미리 보기
+Comment[nds]=För Audiodateien opstellt Vöransicht
Comment[nl]=Gegenereerd voorbeeld voor muziekbestanden
+Comment[pl]=Podgląd utworzony dla plików dźwiękowych
Comment[pt]=Antevisão gerada para os ficheiros de áudio
Comment[pt_BR]=Previsão gerada para os arquivos de áudio
Comment[sk]=Náhľad generovaný pre audio súbory
@@ -38,3 +43,4 @@
Comment[uk]=Створено дані попереднього прослуховування для звукових файлів
Comment[x-test]=xxPreview generated for audio filesxx
Comment[zh_CN]=音频文件预览
+Comment[zh_TW]=音效檔預覽
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/previews/miloubookmarkpreview.desktop new/milou-0.1/lib/previews/miloubookmarkpreview.desktop
--- old/milou-0.0.1~eb14c9e/lib/previews/miloubookmarkpreview.desktop 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/previews/miloubookmarkpreview.desktop 2014-04-17 11:31:07.000000000 +0200
@@ -12,7 +12,9 @@
Name[fr]=Module externe d'aperçu des signets pour Milou
Name[hu]=Milou könyvjelző előnézet bővítmény
Name[ko]=Milou 책갈피 미리 보기
+Name[nds]=Milou-Leestekenvöransichtmoduul
Name[nl]=Milou voorbeeld-plug-in voor bladwijzer
+Name[pl]=Wtyczka podglądu zakładek Milou
Name[pt]='Plugin' de Antevisão de Favoritos do Milou
Name[pt_BR]=Plugin de previsão de favoritos do Milou
Name[sk]=Plugin náhľadu záložky Milou
@@ -20,6 +22,7 @@
Name[uk]=Додаток попереднього перегляду закладок Milou
Name[x-test]=xxMilou Bookmark Preview Pluginxx
Name[zh_CN]=Milou 书签预览插件
+Name[zh_TW]=Milou 書籤預覽外掛程式
Comment=Preview generated for bookmarks
Comment[bs]=Prikaz generiran za oznake
Comment[da]=Forhåndsvisning genereret for bogmærker
@@ -30,7 +33,9 @@
Comment[fr]=Aperçu généré pour les signets
Comment[hu]=Könyvjelzőkhöz előállított előnézet
Comment[ko]=책갈피에서 생성된 미리 보기
+Comment[nds]=För Leestekens opstellt Vöransicht
Comment[nl]=Gegenereerd voorbeeld voor bladwijzers
+Comment[pl]=Podgląd utworzony dla zakładek
Comment[pt]=Antevisão gerada para os favoritos
Comment[pt_BR]=Previsão gerada para os favoritos
Comment[sk]=Náhľad vygenerovaný pre záložky
@@ -38,3 +43,4 @@
Comment[uk]=Створено дані попереднього перегляду для закладок
Comment[x-test]=xxPreview generated for bookmarksxx
Comment[zh_CN]=书签预览
+Comment[zh_TW]=書籤預覽
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/previews/milouemailpreview.desktop new/milou-0.1/lib/previews/milouemailpreview.desktop
--- old/milou-0.0.1~eb14c9e/lib/previews/milouemailpreview.desktop 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/previews/milouemailpreview.desktop 2014-04-17 11:31:07.000000000 +0200
@@ -12,7 +12,9 @@
Name[fr]=Module externe d'aperçu de courriel pour Milou
Name[hu]=Milou e-mail előnézet bővítmény
Name[ko]=Milou 이메일 미리 보기 플러그인
+Name[nds]=Milou-Nettpostvöransichtmoduul
Name[nl]=Milou voorbeeld-plug-in voor e-mail
+Name[pl]=Wtyczka podglądu poczty Milou
Name[pt]='Plugin' de Antevisão de E-Mail do Milou
Name[pt_BR]=Plugin de previsão de e-mail do Milou
Name[sk]=Plugin náhľadu e-mailu Milou
@@ -20,6 +22,7 @@
Name[uk]=Додаток попереднього перегляду електронної пошти Milou
Name[x-test]=xxMilou Email Preview Pluginxx
Name[zh_CN]=Milou 电子邮件预览插件
+Name[zh_TW]=Milou 電子郵件預覽外掛程式
Comment=Preview generated for emails
Comment[bs]=Prikaz generiran za e-postu
Comment[da]=Forhåndsvisning genereret for e-mails
@@ -30,7 +33,9 @@
Comment[fr]=Aperçu généré pour les courriels
Comment[hu]=E-mailekhez előállított előnézet
Comment[ko]=이메일에서 생성된 미리 보기
+Comment[nds]=För Nettbreven opstellt Vöransicht
Comment[nl]=Gegenereerd voorbeeld voor e-mails
+Comment[pl]=Podgląd utworzony dla poczty
Comment[pt]=Antevisão gerada para as mensagens de e-mail
Comment[pt_BR]=Previsão gerada para os e-mails
Comment[sk]=Náhľad vygenerovaný pre e-maily
@@ -38,3 +43,4 @@
Comment[uk]=Створено дані попереднього перегляду для повідомлень електронної пошти
Comment[x-test]=xxPreview generated for emailsxx
Comment[zh_CN]=电子邮件预览
+Comment[zh_TW]=電子郵件預覽
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/previews/miloufilepreview.desktop new/milou-0.1/lib/previews/miloufilepreview.desktop
--- old/milou-0.0.1~eb14c9e/lib/previews/miloufilepreview.desktop 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/previews/miloufilepreview.desktop 2014-04-17 11:31:07.000000000 +0200
@@ -5,12 +5,15 @@
Name=Milou File Preview Plugin
Name[da]=Forhåndsvisning-plugin til filer til Milou
Name[de]=Milou-Vorschaumodul für Dateien
+Name[el]=Πρόσθετο προεπισκόπησης αρχείων Milou
Name[es]=Complemento de vista previa de archivos de Milou
Name[fi]=Miloun tiedostojen esikatseluliitännäinen
Name[fr]=Module externe d'aperçu de fichier pour Milou
Name[hu]=Milou fájl előnézet bővítmény
Name[ko]=Milou 파일 미리 보기 플러그인
+Name[nds]=Milou-Dateivöransichtmoduul
Name[nl]=Voorbeeld-plug-in van Milou-bestand
+Name[pl]=Wtyczka podglądu plików Milou
Name[pt]='Plugin' de Antevisão de Ficheiros do Milou
Name[pt_BR]=Plugin de previsão de arquivos do Milou
Name[sk]=Plugin náhľadu súboru Milou
@@ -18,3 +21,4 @@
Name[uk]=Додаток попереднього перегляду файлів Milou
Name[x-test]=xxMilou File Preview Pluginxx
Name[zh_CN]=Milou 文件预览插件
+Name[zh_TW]=Milou 檔案預覽外掛程式
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/previews/milouimagepreview.desktop new/milou-0.1/lib/previews/milouimagepreview.desktop
--- old/milou-0.0.1~eb14c9e/lib/previews/milouimagepreview.desktop 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/previews/milouimagepreview.desktop 2014-04-17 11:31:07.000000000 +0200
@@ -12,7 +12,9 @@
Name[fr]=Module externe d'aperçu d'images pour Milou
Name[hu]=Milou kép előnézet bővítmény
Name[ko]=Milou 그림 미리 보기 플러그인
+Name[nds]=Milou-Bildvöransichtmoduul
Name[nl]=Milou voorbeeld-plug-in voor afbeeldingen
+Name[pl]=Wtyczka podglądu obrazów Milou
Name[pt]='Plugin' de Antevisão de Imagens do Milou
Name[pt_BR]=Plugin de previsão de imagem do Milou
Name[sk]=Plugin náhľadu obrázku Milou
@@ -20,6 +22,7 @@
Name[uk]=Додаток попереднього перегляду зображень Milou
Name[x-test]=xxMilou Image Preview Pluginxx
Name[zh_CN]=Milou 图片预览插件
+Name[zh_TW]=Milou 影像預覽外掛程式
Comment=Preview generated for image files
Comment[bs]=Prikaz generiran za sliku datoteke
Comment[da]=Forhåndsvisning genereret for billedfiler
@@ -30,7 +33,9 @@
Comment[fr]=Aperçu généré pour les fichiers image
Comment[hu]=Képfájlokhoz előállított előnézet
Comment[ko]=그림 파일에서 생성된 미리 보기
+Comment[nds]=För Bilddateien opstellt Vöransicht
Comment[nl]=Gegenereerd voorbeeld voor afbeeldingsbestanden
+Comment[pl]=Podgląd utworzony dla plików obrazów
Comment[pt]=Antevisão gerada para os ficheiros de imagem
Comment[pt_BR]=Previsão gerada para os arquivos de imagem
Comment[sk]=Náhľad vygenerovaný pre súbory obrázkov
@@ -38,3 +43,4 @@
Comment[uk]=Створено дані попереднього перегляду для файлів зображень
Comment[x-test]=xxPreview generated for image filesxx
Comment[zh_CN]=图片文件预览
+Comment[zh_TW]=影像檔預覽
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/previews/milouokularpreview.desktop new/milou-0.1/lib/previews/milouokularpreview.desktop
--- old/milou-0.0.1~eb14c9e/lib/previews/milouokularpreview.desktop 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/previews/milouokularpreview.desktop 2014-04-17 11:31:07.000000000 +0200
@@ -12,7 +12,9 @@
Name[fr]=Module externe d'aperçu Okular pour Milou
Name[hu]=Milou Okular előnézet bővítmény
Name[ko]=Milou Okular 미리 보기 플러그인
+Name[nds]=Milou-Okularvöransichtmoduul
Name[nl]=Milou voorbeeld-plug-in voor Okular
+Name[pl]=Wtyczka podglądu Okular Milou
Name[pt]='Plugin' de Antevisão do Okular do Milou
Name[pt_BR]=Plugin de previsão do Okular do Milou
Name[sk]=Plugin náhľadu Okular Milou
@@ -20,17 +22,20 @@
Name[uk]=Додаток попереднього перегляду файлів Okular Milou
Name[x-test]=xxMilou Okular Preview Pluginxx
Name[zh_CN]=Milou Okular 预览插件
+Name[zh_TW]=Milou Okular 預覽外掛程式
Comment=Preview generated for documents via Okular
Comment[bs]=Prikaz generiran za dokumente putem Okular
Comment[da]=Forhåndsvisning genereret for dokumenter via Okular
Comment[de]=Vorschau für Dokumente mit Okular generieren
Comment[el]=Παραγόμενη προεπισκόπηση για έγγραφα μέσω του Okular
Comment[es]=Vista previa generada para documentos usando Okular
-Comment[fi]=Okularin asiakirjoille generoima esikatselu
+Comment[fi]=Okularin tiedostoille generoima esikatselu
Comment[fr]=Aperçu généré pour des documents via Okular
Comment[hu]=Az Okularból származó dokumentumokhoz előállított előnézet
Comment[ko]=Okular에서 생성된 문서 미리 보기
+Comment[nds]=För Dokumenten över Okular opstellt Vöransicht
Comment[nl]=Gegenereerd voorbeeld voor documenten met Okular
+Comment[pl]=Podgląd utworzony dla dokumentów przez Okular
Comment[pt]=Antevisão gerada para os documentos, usando o Okular
Comment[pt_BR]=Previsão gerada para documentos usando o Okular
Comment[sk]=Náhľad vygenerovaný pre dokumenty cez Okular
@@ -38,3 +43,4 @@
Comment[uk]=За допомогою Okular створено дані попереднього перегляду для документів
Comment[x-test]=xxPreview generated for documents via Okularxx
Comment[zh_CN]=通过 Okular 生成文档预览
+Comment[zh_TW]=透過 Okular 顯示文件的預覽
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/previews/miloutextpreview.desktop new/milou-0.1/lib/previews/miloutextpreview.desktop
--- old/milou-0.0.1~eb14c9e/lib/previews/miloutextpreview.desktop 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/previews/miloutextpreview.desktop 2014-04-17 11:31:07.000000000 +0200
@@ -12,7 +12,9 @@
Name[fr]=Module externe d'aperçu de texte pour Milou
Name[hu]=Milou szöveg előnézet bővítmény
Name[ko]=Milou 텍스트 미리 보기 플러그인
+Name[nds]=Milou-Textvöransichtmoduul
Name[nl]=Milou voorbeeld-plug-in voor tekst
+Name[pl]=Wtyczka podglądu tekstu Milou
Name[pt]='Plugin' de Antevisão de Texto do Milou
Name[pt_BR]=Plugin de previsão de texto do Milou
Name[sk]=Plugin náhľadu textu Milou
@@ -20,6 +22,7 @@
Name[uk]=Додаток попереднього перегляду тексту Milou
Name[x-test]=xxMilou Text Preview Pluginxx
Name[zh_CN]=Milou 文本预览插件
+Name[zh_TW]=Milou 文字預覽外掛程式
Comment=Preview generated for text files
Comment[bs]=Prikaz generiran za tekstualne datoteke
Comment[da]=Forhåndsvisning genereret for tekstfiler
@@ -30,7 +33,9 @@
Comment[fr]=Aperçu généré pour les fichiers texte
Comment[hu]=Szövegfájlokhoz előállított előnézet
Comment[ko]=텍스트 파일에서 생성된 미리 보기
+Comment[nds]=För Textdateien opstellt Vöransicht
Comment[nl]=Gegenereerd voorbeeld voor tekstbestanden
+Comment[pl]=Podgląd utworzony dla plików tekstowych
Comment[pt]=Antevisão gerada para os ficheiros de texto
Comment[pt_BR]=Previsão gerada para os arquivos de texto
Comment[sk]=Náhľad vygenerovaný pre textové súbory
@@ -38,3 +43,4 @@
Comment[uk]=Створено дані попереднього перегляду для текстових файлів
Comment[x-test]=xxPreview generated for text filesxx
Comment[zh_CN]=文本文件预览
+Comment[zh_TW]=文字檔預覽
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/previews/videos/milouvideopreview.desktop new/milou-0.1/lib/previews/videos/milouvideopreview.desktop
--- old/milou-0.0.1~eb14c9e/lib/previews/videos/milouvideopreview.desktop 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/previews/videos/milouvideopreview.desktop 2014-04-17 11:31:07.000000000 +0200
@@ -12,7 +12,9 @@
Name[fr]=Module externe d'aperçu vidéo pour Milou
Name[hu]=Milou videó előnézet bővítmény
Name[ko]=Milou 동영상 미리 보기 플러그인
+Name[nds]=Milou-Videovöransichtmoduul
Name[nl]=Milou voorbeeld-plug-in voor video
+Name[pl]=Wtyczka podglądu filmów Milou
Name[pt]='Plugin' de Antevisão de Vídeo do Milou
Name[pt_BR]=Plugin de previsão de vídeo do Milou
Name[sk]=Plugin náhľadu videa Milou
@@ -20,6 +22,7 @@
Name[uk]=Додаток попереднього перегляду відео Milou
Name[x-test]=xxMilou Video Preview Pluginxx
Name[zh_CN]=Milou 视频预览插件
+Name[zh_TW]=Milou 影片預覽外掛程式
Comment=Preview generated for videos
Comment[bs]=Prikaz generiran za video signal
Comment[da]=Forhåndsvisning genereret for videoer
@@ -30,7 +33,9 @@
Comment[fr]=Aperçu généré pour des vidéos
Comment[hu]=Videókhoz előállított előnézet
Comment[ko]=동영상에서 생성된 미리 보기
+Comment[nds]=För Videos opstellt Vöransicht
Comment[nl]=Gegenereerd voorbeeld voor video's
+Comment[pl]=Podgląd utworzony dla filmów
Comment[pt]=Antevisão gerada para os vídeos
Comment[pt_BR]=Previsão gerada para os vídeos
Comment[sk]=Náhľad vygenerovaný pre videá
@@ -38,3 +43,4 @@
Comment[uk]=Створено дані попереднього перегляду для відео
Comment[x-test]=xxPreview generated for videosxx
Comment[zh_CN]=视频文件预览
+Comment[zh_TW]=影片檔預覽
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/qml/qmlplugins.cpp new/milou-0.1/lib/qml/qmlplugins.cpp
--- old/milou-0.0.1~eb14c9e/lib/qml/qmlplugins.cpp 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/qml/qmlplugins.cpp 2014-04-17 11:31:07.000000000 +0200
@@ -32,6 +32,8 @@
void QmlPlugins::initializeEngine(QDeclarativeEngine *engine, const char *uri)
{
+ Q_UNUSED(engine);
+ Q_UNUSED(uri);
}
void QmlPlugins::registerTypes(const char *uri)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/lib/test/test.cpp new/milou-0.1/lib/test/test.cpp
--- old/milou-0.0.1~eb14c9e/lib/test/test.cpp 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/lib/test/test.cpp 2014-04-17 11:31:07.000000000 +0200
@@ -75,9 +75,11 @@
KApplication app;
SourcesModel* model = new SourcesModel();
- ModelTest* mt = new ModelTest(model);
model->setQueryLimit(20);
+ ModelTest* mt = new ModelTest(model);
+ Q_UNUSED(mt);
+
TestObject obj("Summer");
obj.model = model;
obj.timer.start();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/plasmoid/package/contents/ui/ResultDelegate.qml new/milou-0.1/plasmoid/package/contents/ui/ResultDelegate.qml
--- old/milou-0.0.1~eb14c9e/plasmoid/package/contents/ui/ResultDelegate.qml 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/plasmoid/package/contents/ui/ResultDelegate.qml 2014-04-17 11:31:07.000000000 +0200
@@ -39,6 +39,7 @@
onContainsMouseChanged: {
if (containsMouse) {
+ listView.currentIndex = index
preview.mimetype = model.previewType;
preview.url = model.previewUrl;
urlLabel.text = model.previewLabel
@@ -50,12 +51,6 @@
}
}
- // FIXME
- // This has been done so that the current item looks selected
- // We need a proper fix in PlasmaComponents.ListItem to show the currentItem
- // as selected
- opacity: ListView.isCurrentItem ? 0.5 : 1
-
PlasmaComponents.ListItem {
id: listItem
enabled: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/plasmoid/package/contents/ui/ResultsView.qml new/milou-0.1/plasmoid/package/contents/ui/ResultsView.qml
--- old/milou-0.0.1~eb14c9e/plasmoid/package/contents/ui/ResultsView.qml 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/plasmoid/package/contents/ui/ResultsView.qml 2014-04-17 11:31:07.000000000 +0200
@@ -35,6 +35,8 @@
property alias queryString: resultModel.queryString
clip: true
+ highlight: PlasmaComponents.Highlight {}
+ highlightMoveDuration: 0
// This is used to keep track if the user has pressed enter before
// the first result has been shown, in the case the first result should
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/milou-0.0.1~eb14c9e/plasmoid/package/metadata.desktop new/milou-0.1/plasmoid/package/metadata.desktop
--- old/milou-0.0.1~eb14c9e/plasmoid/package/metadata.desktop 2014-03-20 17:48:36.000000000 +0100
+++ new/milou-0.1/plasmoid/package/metadata.desktop 2014-04-17 11:31:07.000000000 +0200
@@ -10,7 +10,9 @@
Name[fr]=Milou
Name[hu]=Milou
Name[ko]=Milou
+Name[nds]=Milou
Name[nl]=Milou
+Name[pl]=Milou
Name[pt]=Milou
Name[pt_BR]=Milou
Name[sk]=Milou
@@ -18,6 +20,7 @@
Name[uk]=Milou
Name[x-test]=xxMilouxx
Name[zh_CN]=Milou
+Name[zh_TW]=Milou
Comment=Applet for finding anything
Comment[bs]=Aplet za pronalaženje bilo cega
Comment[cs]=Applet pro hledání čehokoliv
@@ -29,7 +32,9 @@
Comment[fr]=Applet pour trouver n'importe quoi
Comment[hu]=Kisalkalmazás bármi megtalálásához
Comment[ko]=모든 것을 찾는 애플릿
+Comment[nds]=Lüttprogramm för't Söken vun allens
Comment[nl]=Applet voor zoeken naar van alles
+Comment[pl]=Aplet do znajdowania rzeczy dowolnych
Comment[pt]='Applet' para pesquisar de tudo
Comment[pt_BR]=Miniaplicativo para encontrar qualquer coisa
Comment[sk]=Applet na hľadanie všetkého
@@ -37,6 +42,7 @@
Comment[uk]=Аплет для пошуку будь-чого
Comment[x-test]=xxApplet for finding anythingxx
Comment[zh_CN]=可以寻找任何东西的小程序
+Comment[zh_TW]=尋找任何東西的小程式
Type=Service
ServiceTypes=Plasma/Applet
Icon=nepomuk
--
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 kdelibs3 for openSUSE:Factory checked in at 2014-04-23 17:32:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdelibs3 (Old)
and /work/SRC/openSUSE:Factory/.kdelibs3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdelibs3"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdelibs3/kdelibs3.changes 2014-01-13 10:53:14.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kdelibs3.new/kdelibs3.changes 2014-04-23 17:32:17.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Apr 15 09:32:22 UTC 2014 - sweet_f_a(a)gmx.de
+
+- use globally installed up-to-date ssl certificates (bnc#873680)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdelibs3.spec ++++++
--- /var/tmp/diff_new_pack.bMIWLe/_old 2014-04-23 17:32:20.000000000 +0200
+++ /var/tmp/diff_new_pack.bMIWLe/_new 2014-04-23 17:32:20.000000000 +0200
@@ -22,6 +22,7 @@
BuildRequires: aspell-devel
BuildRequires: automake
BuildRequires: avahi-compat-mDNSResponder-devel
+BuildRequires: ca-certificates
BuildRequires: cups-devel
BuildRequires: db-devel
BuildRequires: fdupes
@@ -72,6 +73,7 @@
Obsoletes: kdelibs3-64bit
%endif
#
+Requires: ca-certificates
Requires: hicolor-icon-theme
Requires: kdelibs3-default-style
Requires: openssl
@@ -530,6 +532,9 @@
ln -sf ../../lib64/kde3/plugins \
$RPM_BUILD_ROOT/opt/kde3/lib/kde3/plugins-lib64
%endif
+ # use globally installed up-to-date ssl certificates
+ rm -f $RPM_BUILD_ROOT/opt/kde3/share/apps/kssl/ca-bundle.crt
+ ln -s /etc/ssl/ca-bundle.pem $RPM_BUILD_ROOT/opt/kde3/share/apps/kssl/ca-bundle.crt
#
# add missing directories
#
--
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 hostapd for openSUSE:Factory checked in at 2014-04-23 17:32:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hostapd (Old)
and /work/SRC/openSUSE:Factory/.hostapd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hostapd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/hostapd/hostapd.changes 2013-10-03 15:47:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.hostapd.new/hostapd.changes 2014-04-23 17:32:06.000000000 +0200
@@ -1,0 +2,8 @@
+Wed Apr 16 15:50:48 UTC 2014 - i(a)marguerite.su
+
+- update version 2.1
+ * see http://hostap.epitest.fi/cgit/hostap/log/ for details.
+- change hostapd.diff to hostapd-2.1-defconfig.patch
+- remove patch: hostapd-tmp.diff, no longer needed.
+
+-------------------------------------------------------------------
Old:
----
hostapd-2.0.tar.gz
hostapd-be-host_to_le.patch
hostapd-tmp.diff
hostapd.diff
New:
----
hostapd-2.1-be-host_to_le.patch
hostapd-2.1-defconfig.patch
hostapd-2.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hostapd.spec ++++++
--- /var/tmp/diff_new_pack.w9SVIC/_old 2014-04-23 17:32:07.000000000 +0200
+++ /var/tmp/diff_new_pack.w9SVIC/_new 2014-04-23 17:32:07.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package hostapd
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,15 +24,14 @@
Summary: Turns Your WLAN Card into a WPA capable Access Point
License: GPL-2.0 or BSD-3-Clause
Group: Hardware/Wifi
-Version: 2.0
+Version: 2.1
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Url: http://hostap.epitest.fi/
Source: http://hostap.epitest.fi/releases/hostapd-%{version}.tar.gz
Source1: hostapd.service
-Patch0: hostapd.diff
-Patch1: hostapd-tmp.diff
-Patch2: hostapd-be-host_to_le.patch
+Patch0: hostapd-2.1-defconfig.patch
+Patch1: hostapd-2.1-be-host_to_le.patch
%{?systemd_requires}
%description
@@ -48,7 +47,6 @@
%setup -q -n hostapd-%{version}
%patch0 -p1
%patch1 -p1
-%patch2 -p1
cd hostapd
cp defconfig .config
++++++ hostapd-2.1-be-host_to_le.patch ++++++
Index: hostapd-2.1/src/utils/common.h
===================================================================
--- hostapd-2.1.orig/src/utils/common.h
+++ hostapd-2.1/src/utils/common.h
@@ -208,6 +208,7 @@ static inline unsigned int wpa_swap_32(u
#define host_to_le32(n) bswap_32(n)
#define be_to_host32(n) (n)
#define host_to_be32(n) (n)
+#define host_to_le32(n) bswap_32(n)
#define le_to_host64(n) bswap_64(n)
#define host_to_le64(n) bswap_64(n)
#define be_to_host64(n) (n)
++++++ hostapd-2.1-defconfig.patch ++++++
Index: hostapd-2.1/hostapd/defconfig
===================================================================
--- hostapd-2.1.orig/hostapd/defconfig
+++ hostapd-2.1/hostapd/defconfig
@@ -43,7 +43,7 @@ CONFIG_DRIVER_NL80211=y
#LIBS_c += -L/usr/local/lib
# Driver interface for no driver (e.g., RADIUS server only)
-#CONFIG_DRIVER_NONE=y
+CONFIG_DRIVER_NONE=y
# IEEE 802.11F/IAPP
CONFIG_IAPP=y
@@ -58,7 +58,7 @@ CONFIG_PEERKEY=y
# This version is an experimental implementation based on IEEE 802.11w/D1.0
# draft and is subject to change since the standard has not yet been finalized.
# Driver support is also needed for IEEE 802.11w.
-#CONFIG_IEEE80211W=y
+CONFIG_IEEE80211W=y
# Integrated EAP server
CONFIG_EAP=y
@@ -82,52 +82,52 @@ CONFIG_EAP_GTC=y
CONFIG_EAP_TTLS=y
# EAP-SIM for the integrated EAP server
-#CONFIG_EAP_SIM=y
+CONFIG_EAP_SIM=y
# EAP-AKA for the integrated EAP server
-#CONFIG_EAP_AKA=y
+CONFIG_EAP_AKA=y
# EAP-AKA' for the integrated EAP server
# This requires CONFIG_EAP_AKA to be enabled, too.
-#CONFIG_EAP_AKA_PRIME=y
+CONFIG_EAP_AKA_PRIME=y
# EAP-PAX for the integrated EAP server
-#CONFIG_EAP_PAX=y
+CONFIG_EAP_PAX=y
# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK)
-#CONFIG_EAP_PSK=y
+CONFIG_EAP_PSK=y
# EAP-pwd for the integrated EAP server (secure authentication with a password)
-#CONFIG_EAP_PWD=y
+CONFIG_EAP_PWD=y
# EAP-SAKE for the integrated EAP server
-#CONFIG_EAP_SAKE=y
+CONFIG_EAP_SAKE=y
# EAP-GPSK for the integrated EAP server
-#CONFIG_EAP_GPSK=y
+CONFIG_EAP_GPSK=y
# Include support for optional SHA256 cipher suite in EAP-GPSK
-#CONFIG_EAP_GPSK_SHA256=y
+CONFIG_EAP_GPSK_SHA256=y
# EAP-FAST for the integrated EAP server
# Note: If OpenSSL is used as the TLS library, OpenSSL 1.0 or newer is needed
# for EAP-FAST support. Older OpenSSL releases would need to be patched, e.g.,
# with openssl-0.9.8x-tls-extensions.patch, to add the needed functions.
-#CONFIG_EAP_FAST=y
+CONFIG_EAP_FAST=y
# Wi-Fi Protected Setup (WPS)
-#CONFIG_WPS=y
+CONFIG_WPS=y
# Enable WSC 2.0 support
-#CONFIG_WPS2=y
+CONFIG_WPS2=y
# Enable UPnP support for external WPS Registrars
-#CONFIG_WPS_UPNP=y
+CONFIG_WPS_UPNP=y
# Enable WPS support with NFC config method
-#CONFIG_WPS_NFC=y
+CONFIG_WPS_NFC=y
# EAP-IKEv2
-#CONFIG_EAP_IKEV2=y
+CONFIG_EAP_IKEV2=y
# Trusted Network Connect (EAP-TNC)
-#CONFIG_EAP_TNC=y
+CONFIG_EAP_TNC=y
# EAP-EKE for the integrated EAP server
#CONFIG_EAP_EKE=y
@@ -138,27 +138,27 @@ CONFIG_PKCS12=y
# RADIUS authentication server. This provides access to the integrated EAP
# server from external hosts using RADIUS.
-#CONFIG_RADIUS_SERVER=y
+CONFIG_RADIUS_SERVER=y
# Build IPv6 support for RADIUS operations
CONFIG_IPV6=y
# IEEE Std 802.11r-2008 (Fast BSS Transition)
-#CONFIG_IEEE80211R=y
+CONFIG_IEEE80211R=y
# Use the hostapd's IEEE 802.11 authentication (ACL), but without
# the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211)
-#CONFIG_DRIVER_RADIUS_ACL=y
+CONFIG_DRIVER_RADIUS_ACL=y
# IEEE 802.11n (High Throughput) support
-#CONFIG_IEEE80211N=y
+CONFIG_IEEE80211N=y
# Wireless Network Management (IEEE Std 802.11v-2011)
# Note: This is experimental and not complete implementation.
-#CONFIG_WNM=y
+CONFIG_WNM=y
# IEEE 802.11ac (Very High Throughput) support
-#CONFIG_IEEE80211AC=y
+CONFIG_IEEE80211AC=y
# Remove debugging code that is printing out debug messages to stdout.
# This can be used to reduce the size of the hostapd considerably if debugging
@@ -186,7 +186,7 @@ CONFIG_IPV6=y
# Enable support for fully dynamic VLANs. This enables hostapd to
# automatically create bridge and VLAN interfaces if necessary.
-#CONFIG_FULL_DYNAMIC_VLAN=y
+CONFIG_FULL_DYNAMIC_VLAN=y
# Use netlink-based kernel API for VLAN operations instead of ioctl()
# Note: This requires libnl 3.1 or newer.
@@ -256,11 +256,11 @@ CONFIG_IPV6=y
# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1)
# can be enabled to get a stronger construction of messages when block ciphers
# are used.
-#CONFIG_TLSV11=y
+CONFIG_TLSV11=y
# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2)
# can be enabled to enable use of stronger crypto algorithms.
-#CONFIG_TLSV12=y
+CONFIG_TLSV12=y
# If CONFIG_TLS=internal is used, additional library and include paths are
# needed for LibTomMath. Alternatively, an integrated, minimal version of
@@ -281,13 +281,13 @@ CONFIG_IPV6=y
# Interworking (IEEE 802.11u)
# This can be used to enable functionality to improve interworking with
# external networks.
-#CONFIG_INTERWORKING=y
+CONFIG_INTERWORKING=y
# Hotspot 2.0
-#CONFIG_HS20=y
+CONFIG_HS20=y
# Enable SQLite database support in hlr_auc_gw, EAP-SIM DB, and eap_user_file
-#CONFIG_SQLITE=y
+CONFIG_SQLITE=y
# Testing options
# This can be used to enable some testing options (see also the example
++++++ hostapd-2.0.tar.gz -> hostapd-2.1.tar.gz ++++++
++++ 55580 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 digikam for openSUSE:Factory checked in at 2014-04-23 17:31:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/digikam (Old)
and /work/SRC/openSUSE:Factory/.digikam.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "digikam"
Changes:
--------
--- /work/SRC/openSUSE:Factory/digikam/digikam.changes 2013-10-29 09:21:36.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.digikam.new/digikam.changes 2014-04-23 17:31:48.000000000 +0200
@@ -1,0 +2,29 @@
+Mon Apr 21 00:35:31 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Update to 4.0.0~beta4
+ digikam:
+ - General : New Tags Manager window for easy tags management.
+ - General : New images quality sorter tool, based on blur,
+ noise, and compression analysis.
+ - General : Multiple selection and multiple drag-n-drop
+ capabilities on Tags Manager and Tags View from sidebars.
+ - General : Drop of Qt3Support classes. Now digiKam is
+ pure Qt4 implementation.
+ - Metadata : Support for writing face rectangles in Windows
+ Live Photo format.
+ - Editor : Port of canvas to Qt Model/view.
+ - Showfoto : Port of Thumbbar to Qt Model/view.
+ kipi-plugins:
+ - General: New tool to export collection to Google Drive cloud service.
+ - General: New tool to export collection to DropBox cloud service.
+ - MediaWiki: allow removal of metadata/GPS coordinates before uploading.
+ - MediaWiki: graphical interface improvements.
+ * See NEWS file for more details
+- Drop rajceexport-stop-crashing-when-uploaded-nothing.patch, merged
+ upstream
+- Drop libsoprano-devel and shared-desktop-ontologies-devel BuildRequires
+- Disable gstreamer-0_10-plugins-qt-devel Buildrequires for 13.2+,
+ until we get qgstreamer with gstreamer 1.0 API support
+- Remove unused parts of the spec (UpdatedApps repo no longer exists)
+
+-------------------------------------------------------------------
Old:
----
digikam-3.5.0.tar.bz2
rajceexport-stop-crashing-when-uploaded-nothing.patch
New:
----
digikam-4.0.0-beta4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ digikam.spec ++++++
--- /var/tmp/diff_new_pack.e78r5s/_old 2014-04-23 17:31:51.000000000 +0200
+++ /var/tmp/diff_new_pack.e78r5s/_new 2014-04-23 17:31:51.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package digikam
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,14 @@
Name: digikam
-Version: 3.5.0
+Version: 4.0.0~beta4
Release: 0
+%define rversion 4.0.0-beta4
Summary: A KDE Photo Manager
License: GPL-2.0+
Group: Productivity/Graphics/Viewers
Url: http://www.digikam.org/
-Source0: ftp://ftp.kde.org/pub/kde/stable/digikam/digikam-%{version}.tar.bz2
+Source0: http://download.kde.org/unstable/%{name}/%{name}-%{rversion}.tar.bz2
# PATCH-FIX-OPENSUSE digikam-buildtime.patch -- Remove build time references so build-compare can do its work
Patch0: digikam-buildtime.patch
# PATCH-FIX-OPENSUSE remove-gplv2-only.patch idoenmez(a)suse.de bnc#711963 -- Remove GPLv2 only files from the build system
@@ -32,8 +33,6 @@
Patch5: digikam_no_build_vkontakte.diff
# PATCH-FIX-UPSTREAM digikam-3.0.0.no-kdcraw.version-check.patch -- version check for libkdcraw currently broken
Patch6: digikam-3.0.0.no-kdcraw.version-check.patch
-# PATCH-FIX-UPSTREAM rajceexport-stop-crashing-when-uploaded-nothing.patch -- rajceexport: stop crashing when uploaded nothing
-Patch7: rajceexport-stop-crashing-when-uploaded-nothing.patch
BuildRequires: ImageMagick-devel
BuildRequires: bison
BuildRequires: boost-devel
@@ -41,7 +40,10 @@
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: gdk-pixbuf-devel
+# TODO bring gstreamer-plugins-qt back for 13.2+ once we have them with gst1.0
+%if 0%{?suse_version} < 1320
BuildRequires: gstreamer-0_10-plugins-qt-devel
+%endif
BuildRequires: lensfun-devel
%if 0%{?suse_version} > 1230
BuildRequires: libeigen3-devel
@@ -63,17 +65,13 @@
BuildRequires: libkvkontakte-devel
BuildRequires: liblcms-devel
BuildRequires: liblqr-devel
-%if 0%{?suse_version} > 1220
BuildRequires: libpgf-devel
-%endif
BuildRequires: libqca2-devel
BuildRequires: libqjson-devel
-BuildRequires: libsoprano-devel
BuildRequires: libusb-1_0-devel
BuildRequires: libusb-compat-devel
BuildRequires: marble-devel
BuildRequires: opencv-devel >= 2.4.5
-BuildRequires: shared-desktop-ontologies-devel
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(glu)
%if 0%{?suse_version}
@@ -225,14 +223,11 @@
%lang_package -n libkgeomap
%prep
-%setup -q
+%setup -q -n %{name}-%{rversion}
%patch0
%patch3
%patch5
%patch6 -p1
-pushd extra/kipi-plugins
-%patch7 -p1
-popd
# Remove build time references so build-compare can do its work
FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y')
@@ -246,14 +241,7 @@
popd
%build
-%if !0%{?kde_updatedapps}
-%if 0%{?suse_version} >= 1310
- EXTRA_FLAGS=""
-%endif
-%cmake_kde4 -d build -- -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=FALSE -DENABLE_INTERNALMYSQL=FALSE $EXTRA_FLAGS
-%else
-%cmake_kde4 -d build -- -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=TRUE -DENABLE_INTERNALMYSQL=FALSE
-%endif
+%cmake_kde4 -d build -- -DDIGIKAMSC_USE_PRIVATE_KDEGRAPHICS=FALSE -DENABLE_INTERNALMYSQL=FALSE
# there are files in there that are so heavy to the compiler, that one is enough
%make_jobs VERBOSE=1
@@ -266,10 +254,7 @@
rm -f %{buildroot}%{_kde4_libdir}/libkipiplugins.so
# Not needed
-rm -f %{buildroot}%{_kde4_libdir}/libPropertyBrowser.a
-rm -f %{buildroot}%{_kde4_libdir}/libHUpnp.a
-rm -f %{buildroot}%{_kde4_libdir}/libHUpnpAv.a
-rm -f %{buildroot}%{_kde4_libdir}/libQtSoap.a
+rm -fv %{buildroot}%{_kde4_libdir}/*.a
%if 0%{?suse_version}
%suse_update_desktop_file -r %{name} Qt KDE Graphics Photography
@@ -357,20 +342,13 @@
%{_kde4_modulesdir}/kio_digikammapimages.so
%{_kde4_modulesdir}/kio_digikamsearch.so
%{_kde4_modulesdir}/kio_digikamtags.so
-%{_kde4_servicesdir}/digikamalbums.protocol
-%{_kde4_servicesdir}/digikamdates.protocol
-%{_kde4_servicesdir}/digikamimageplugin_*.desktop
-%{_kde4_servicesdir}/digikammapimages.protocol
-%{_kde4_servicesdir}/digikamsearch.protocol
-%{_kde4_servicesdir}/digikamtags.protocol
+%{_kde4_servicesdir}/digikam*
%{_kde4_servicetypesdir}/digikamimageplugin.desktop
%files doc
%defattr(-,root,root,-)
%doc COPYING.DOC
-%doc %{_kde4_htmldir}/en/digikam/
-%doc %{_kde4_htmldir}/en/showfoto/
-%doc %{_kde4_htmldir}/en/kipi-plugins/
+%doc %{_kde4_htmldir}/*/
%doc %{_mandir}/man1/cleanup_digikamdb.1%{ext_man}
%doc %{_mandir}/man1/digitaglinktree.1%{ext_man}
@@ -398,31 +376,8 @@
%{_kde4_configkcfgdir}/photolayoutseditor.kcfg
%dir %{_kde4_iconsdir}/hicolor/24x24/apps
%{_kde4_iconsdir}/hicolor/*/actions/*.*
+%{_kde4_iconsdir}/hicolor/*/apps/kipi-*.*
%exclude %{_kde4_iconsdir}/hicolor/*/apps/kipi-gpsimagetag.png
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-debianscreenshots.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-dlna.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-dngconverter.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-expoblending.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-facebook.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-flash.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-flickr.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-gallery.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-hq.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-imageshack.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-imgur.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-jalbum.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-metadataedit.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-ogl.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-panorama.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-picasa.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-piwigo.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-rajce.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-shwup.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-slideshow.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-smugmug.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-timeadjust.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-wikimedia.*
-%{_kde4_iconsdir}/hicolor/*/apps/kipi-zooomr.*
%{_kde4_iconsdir}/hicolor/*/apps/photolayoutseditor.*
%{_kde4_iconsdir}/hicolor/*/apps/rawconverter.*
%{_kde4_iconsdir}/oxygen/*/apps/rawconverter.*
@@ -497,183 +452,4 @@
%{_kde4_libdir}/pkgconfig/libmediawiki.pc
%{_kde4_appsdir}/cmake/modules/FindMediawiki.cmake
-%if 0%{?kde_updatedapps}
-
-%package -n libkdcraw20
-Version: 4.7.50
-Release: 0
-Summary: Shared library interface around dcraw
-License: LGPL-2.1+
-Group: Development/Libraries/KDE
-%requires_ge libqt4-x11
-
-%description -n libkdcraw20
-Libkdcraw is a C++ interface around dcraw binary program used to decode
-RAW picture files. The library documentation is available on header
-files.
-
-This library is used by kipi-plugins, digiKam and others kipi host
-programs.
-
-%files -n libkdcraw20
-%defattr(-,root,root)
-%{_kde4_libdir}/libkdcraw.so.*
-%{_kde4_appsdir}/libkdcraw/
-%{_kde4_iconsdir}/hicolor/*/apps/kdcraw.png
-
-%post -n libkdcraw20 -p /sbin/ldconfig
-
-%postun -n libkdcraw20 -p /sbin/ldconfig
-
-%package -n libkdcraw-devel
-Version: 4.7.50
-Release: 0
-Summary: Shared library interface around dcraw
-License: LGPL-2.1+
-Group: Development/Libraries/KDE
-Requires: libkdcraw20 = %{version}
-
-%description -n libkdcraw-devel
-Libkdcraw is a C++ interface around dcraw binary program used to decode
-RAW picture files. The library documentation is available on header
-files.
-
-This library is used by kipi-plugins, digiKam and others kipi host
-programs.
-
-%files -n libkdcraw-devel
-%defattr(-,root,root)
-%{_kde4_libdir}/libkdcraw.so
-%{_kde4_includedir}/libkdcraw/
-%{_kde4_libdir}/pkgconfig/libkdcraw.pc
-
-%package -n libkipi8
-Version: 4.7.50
-Release: 0
-Summary: KDE Image Plug-In Interface
-License: BSD-3-Clause and GPL-2.0+ and LGPL-2.1+ and MIT
-Group: Development/Libraries/KDE
-Recommends: libkipi8-lang = %{version}
-%requires_ge libqt4-x11
-
-%description -n libkipi8
-This package provides a generic KDE image plug-in interface used by
-some KDE image applications. Plug-ins for this interface are in the
-kipi-plugins package.
-
-%files -n libkipi8
-%defattr(-,root,root)
-%{_kde4_libdir}/libkipi.so.*
-%{_kde4_appsdir}/kipi/
-%{_kde4_iconsdir}/hicolor/*/apps/kipi.png
-%{_kde4_servicetypesdir}/kipiplugin.desktop
-
-%post -n libkipi8 -p /sbin/ldconfig
-
-%postun -n libkipi8 -p /sbin/ldconfig
-
-%lang_package -n libkipi8
-
-%files -n libkipi8-lang -f libkipi.lang
-%defattr(-,root,root,-)
-
-%package -n libkipi-devel
-Version: 4.7.50
-Release: 0
-Summary: KDE Image Plugin Interface
-License: BSD-3-Clause and GPL-2.0+ and LGPL-2.1+ and MIT
-Group: Development/Libraries/KDE
-Requires: libkipi8 = %{version}
-
-%description -n libkipi-devel
-This package provides a generic KDE Image Plug-in Interface used by
-some KDE image applications. Plug-ins for this interface are in the
-kipi-plugins package.
-
-%files -n libkipi-devel
-%defattr(-,root,root)
-%{_kde4_libdir}/libkipi.so
-%{_kde4_includedir}/libkipi/
-%{_kde4_libdir}/pkgconfig/libkipi.pc
-
-%package -n libkexiv2-10
-Version: 4.7.50
-Release: 0
-Summary: Library to manipulate picture meta data
-License: GPL-2.0+
-Group: Development/Libraries/KDE
-
-%description -n libkexiv2-10
-Libkexiv2 is a wrapper around Exiv2 library to manipulate pictures
-metadata.
-
-%files -n libkexiv2-10
-%defattr(-,root,root)
-%{_kde4_appsdir}/libkexiv2/
-%{_kde4_libdir}/libkexiv2.so.*
-
-%package -n libkexiv2-devel
-Version: 4.7.50
-Release: 0
-Summary: Library to manipulate picture meta data
-License: GPL-2.0+
-Group: Development/Libraries/KDE
-Requires: libkexiv2-10 = %{version}
-%requires_ge libqt4-x11
-
-%description -n libkexiv2-devel
-Libkexiv2 is a wrapper around Exiv2 library to manipulate pictures
-metadata.
-
-%files -n libkexiv2-devel
-%defattr(-,root,root)
-%{_kde4_libdir}/libkexiv2.so
-%{_kde4_includedir}/libkexiv2/
-%{_kde4_libdir}/pkgconfig/libkexiv2.pc
-
-%post -n libkexiv2-10 -p /sbin/ldconfig
-
-%postun -n libkexiv2-10 -p /sbin/ldconfig
-
-%package -n libksane0
-Version: 4.7.50
-Release: 0
-Summary: KDE scan library
-License: GPL-2.0+
-Group: Productivity/Graphics/Other
-
-%description -n libksane0
-This package contains a library to add scan support to KDE
-applications.
-
-%post -n libksane0 -p /sbin/ldconfig
-
-%postun -n libksane0 -p /sbin/ldconfig
-
-%files -n libksane0
-%defattr(-,root,root)
-%_kde4_libdir/libksane.so.*
-
-%package -n libksane-devel
-Version: 4.7.50
-Release: 0
-Summary: KDE scan library - Development Files
-License: GPL-2.0+
-Group: Development/Libraries/KDE
-Requires: libksane0 = %{version}
-Requires: sane-backends-devel
-
-%description -n libksane-devel
-This package contains a library to add scan support to KDE
-applications.
-
-%files -n libksane-devel
-%defattr(-,root,root)
-%{_kde4_includedir}/libksane/
-%{_kde4_libdir}/pkgconfig/libksane.pc
-%{_kde4_libdir}/libksane.so
-%{_kde4_libdir}/cmake/KSane/
-
-%endif
-
%changelog
++++++ digikam_no_build_vkontakte.diff ++++++
--- /var/tmp/diff_new_pack.e78r5s/_old 2014-04-23 17:31:51.000000000 +0200
+++ /var/tmp/diff_new_pack.e78r5s/_new 2014-04-23 17:31:51.000000000 +0200
@@ -1,6 +1,6 @@
--- CMakeLists.txt 2012-01-03 01:42:09.000000000 +0100
+++ CMakeLists.txt 2012-01-05 13:49:28.920827859 +0100
-@@ -70,7 +70,6 @@
+@@ -134,7 +134,6 @@ SET(CMAKE_MODULE_PATH
${CMAKE_SOURCE_DIR}/extra/libkgeomap/cmake/modules
${CMAKE_SOURCE_DIR}/extra/libmediawiki/cmake/modules
${CMAKE_SOURCE_DIR}/extra/libkface/cmake/modules
@@ -8,7 +8,7 @@
${CMAKE_SOURCE_DIR}/cmake/modules
${CMAKE_MODULE_PATH}
)
-@@ -85,7 +84,6 @@
+@@ -149,7 +148,6 @@ ENDIF()
SET(KFACE_LOCAL_DIR extra/libkface)
SET(KGEOMAP_LOCAL_DIR extra/libkgeomap)
SET(MEDIAWIKI_LOCAL_DIR extra/libmediawiki)
@@ -18,7 +18,7 @@
ADD_SUBDIRECTORY(core)
--- extra/CMakeLists.txt 2012-01-03 01:31:52.000000000 +0100
+++ extra/CMakeLists.txt 2012-01-05 13:49:38.665828606 +0100
-@@ -33,7 +33,6 @@
+@@ -33,7 +33,6 @@ IF(${ENABLE_PRIVATE_KDEGRAPHICS})
ENDIF()
MACRO_OPTIONAL_ADD_SUBDIRECTORY(libmediawiki)
++++++ remove-gplv2-only.patch ++++++
--- /var/tmp/diff_new_pack.e78r5s/_old 2014-04-23 17:31:51.000000000 +0200
+++ /var/tmp/diff_new_pack.e78r5s/_new 2014-04-23 17:31:51.000000000 +0200
@@ -2,7 +2,7 @@
===================================================================
--- extra/kipi-plugins/gpssync/CMakeLists.txt.orig
+++ extra/kipi-plugins/gpssync/CMakeLists.txt
-@@ -33,10 +33,8 @@ SET(kipiplugin_gpssync_PART_SRCS
+@@ -32,10 +32,8 @@ SET(kipiplugin_gpssync_PART_SRCS
IF(KDE4_BUILD_TESTS)
INCLUDE_DIRECTORIES(BEFORE "${CMAKE_CURRENT_SOURCE_DIR}/borrowed")
--
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 ConsoleKit for openSUSE:Factory checked in at 2014-04-23 17:31:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ConsoleKit (Old)
and /work/SRC/openSUSE:Factory/.ConsoleKit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ConsoleKit"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ConsoleKit/ConsoleKit-doc.changes 2014-01-23 15:39:11.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ConsoleKit.new/ConsoleKit-doc.changes 2014-04-23 17:31:40.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Apr 15 10:08:29 UTC 2014 - aj(a)suse.com
+
+- ConsoleKit was moved to /run, fix filelist for this as well.
+
+-------------------------------------------------------------------
ConsoleKit.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ConsoleKit-doc.spec ++++++
--- /var/tmp/diff_new_pack.scEmHA/_old 2014-04-23 17:31:41.000000000 +0200
+++ /var/tmp/diff_new_pack.scEmHA/_new 2014-04-23 17:31:41.000000000 +0200
@@ -192,7 +192,7 @@
%{_sbindir}/*
%{_mandir}/man8/pam_ck_connector.8.gz
/%{_lib}/security
-%ghost %_localstatedir/run/ConsoleKit
+%ghost /run/ConsoleKit
%{_datadir}/polkit-1/actions/org.freedesktop.consolekit.policy
%{_datadir}/dbus-1/interfaces/org.freedesktop.ConsoleKit.Manager.xml
%{_datadir}/dbus-1/interfaces/org.freedesktop.ConsoleKit.Seat.xml
++++++ ConsoleKit.spec ++++++
--- /var/tmp/diff_new_pack.scEmHA/_old 2014-04-23 17:31:41.000000000 +0200
+++ /var/tmp/diff_new_pack.scEmHA/_new 2014-04-23 17:31:41.000000000 +0200
@@ -192,7 +192,7 @@
%{_sbindir}/*
%{_mandir}/man8/pam_ck_connector.8.gz
/%{_lib}/security
-%ghost %_localstatedir/run/ConsoleKit
+%ghost /run/ConsoleKit
%{_datadir}/polkit-1/actions/org.freedesktop.consolekit.policy
%{_datadir}/dbus-1/interfaces/org.freedesktop.ConsoleKit.Manager.xml
%{_datadir}/dbus-1/interfaces/org.freedesktop.ConsoleKit.Seat.xml
--
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 chromium for openSUSE:Factory checked in at 2014-04-23 17:31:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chromium (Old)
and /work/SRC/openSUSE:Factory/.chromium.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium"
Changes:
--------
--- /work/SRC/openSUSE:Factory/chromium/chromium.changes 2014-04-12 08:33:54.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.chromium.new/chromium.changes 2014-04-23 17:31:32.000000000 +0200
@@ -39,0 +40,7 @@
+- No longer build against system libraries as that Chromium works
+ a lot better and crashes less on websites than with system libs
+
+- Added package depot_tools.tar.gz as that the chromium build now
+ requires it during the initial build phase. It just contains some
+ utilities and nothing from it is being installed.
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
--
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 apper for openSUSE:Factory checked in at 2014-04-23 17:31:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apper (Old)
and /work/SRC/openSUSE:Factory/.apper.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apper"
Changes:
--------
--- /work/SRC/openSUSE:Factory/apper/apper.changes 2013-11-11 14:43:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.apper.new/apper.changes 2014-04-23 17:31:09.000000000 +0200
@@ -1,0 +2,13 @@
+Sun Apr 20 20:12:45 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Update to 0.8.2
+ * Better Apstream support
+ * Fixed translation catalog loading
+ * Fixed memleak
+ * Fixed accepting multiple license agreements
+- Drop 0001-Fix-accept-multiple-licenses.dif and
+ 0002-Load-the-main-apper-catalog-for-the-applet.diff, merged upstream
+- Drop checks for no longer supported versions
+- Add Source URL
+
+-------------------------------------------------------------------
Old:
----
0001-Fix-accept-multiple-licenses.diff
0002-Load-the-main-apper-catalog-for-the-applet.diff
apper-0.8.1.tar.bz2
New:
----
apper-0.8.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apper.spec ++++++
--- /var/tmp/diff_new_pack.klyoTE/_old 2014-04-23 17:31:10.000000000 +0200
+++ /var/tmp/diff_new_pack.klyoTE/_new 2014-04-23 17:31:10.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package apper
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,29 +16,19 @@
#
-%if 0%{?suse_version} < 1310
-%define split_plasmoid 1
-%else
-%define split_plasmoid 0
-%endif
-
Name: apper
Summary: KDE interface for PackageKit
License: GPL-2.0+ and LGPL-3.0+
Group: System/Packages
-Version: 0.8.1
+Version: 0.8.2
Release: 0
-Source0: %{name}-%{version}.tar.bz2
+Source0: http://download.kde.org/stable/%{name}/%{version}/src/%{name}-%{version}.ta…
Source1: 10-opensuse-org.packagekit.updater.js
Patch0: apper-ui-fixes.diff
# https://bugzilla.novell.com/show_bug.cgi?id=729164
Patch1: apper-no-dbus-service.diff
# setting proxy requires polkit permissions - for very little gain
Patch2: apper-no-user-proxy.diff
-# PATCH-FIX-UPSTREAM 0001-Fix-accept-multiple-licenses.diff bnc#847346, kde#326619
-Patch3: 0001-Fix-accept-multiple-licenses.diff
-# PATCH-FIX-UPSTREAM 0002-Load-the-main-apper-catalog-for-the-applet.diff
-Patch4: 0002-Load-the-main-apper-catalog-for-the-applet.diff
Url: http://kde-apps.org/content/show.php/Apper?content=84745
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: PackageKit-Qt-devel >= 0.8.8
@@ -48,51 +38,25 @@
Recommends: %{name}-lang = %{version}
Provides: org.freedesktop.PackageKit.service
Requires: PackageKit >= 0.8.8
-# last used in 11.3
-Provides: kupdateapplet = 0.9.18
-Obsoletes: kupdateapplet <= 0.9.17
-# last used in 11.0
-Provides: kde4-opensuse-updater = 0.8
-Obsoletes: kde4-opensuse-updater < 0.8
-
-# last used in 11.3
-Obsoletes: kpackagekit < %{version}
-Provides: kpackagekit = %{version}
-%if !%{split_plasmoid}
Obsoletes: apper-plasmoid < %{version}
Provides: apper-plasmoid = %{version}
-%endif
%kde4_runtime_requires
%description
KDE interface for PackageKit package management.
-%if %{split_plasmoid}
-%package plasmoid
-Summary: Plasmoid for the Apper Package management
-Group: System/Packages
-Requires: %{name} = %{version}
-
-%description plasmoid
-The Plasmoids for the Apper Package Management
-%endif
-
%lang_package
%prep
%setup -q
%patch1 -p1
%patch2 -p1
-%patch3 -p1
-%patch4 -p1
%build
%cmake_kde4 -d build -- -DSCREENSHOT_PROVIDER=openSUSE
%make_jobs
%install
-cd build
-%makeinstall
-cd ..
+%kde4_makeinstall -C build
# avoid confusion with yast
%suse_update_desktop_file -C "Install, Update or Remove Software Packages" -N "Apper Software Management" %{buildroot}/%{_kde4_servicesdir}/kcm_apper.desktop
@@ -120,33 +84,25 @@
%files
%defattr(-,root,root)
%doc COPYING TODO
-%_kde4_libexecdir/apper-pk-session
-%_kde4_appsdir/apperd/
-%_kde4_appsdir/apper/
-%_kde4_bindir/apper
-%dir %_kde4_libdir/apper
-%_kde4_applicationsdir/apper*.desktop
-%_kde4_servicesdir/kcm_apper.desktop
-%_kde4_servicesdir/kded/apperd.desktop
+%{_kde4_libexecdir}/apper-pk-session
+%{_kde4_appsdir}/apperd/
+%{_kde4_appsdir}/apper/
+%{_kde4_bindir}/apper
+%dir %{_kde4_libdir}/apper
+%{_kde4_applicationsdir}/apper*.desktop
+%{_kde4_servicesdir}/kcm_apper.desktop
+%{_kde4_servicesdir}/kded/apperd.desktop
%{_kde4_datadir}/dbus-1/services/kde-org.freedesktop.PackageKit.service
-%if !%{split_plasmoid}
-%_kde4_appsdir/plasma/
-%_kde4_servicesdir/plasma-applet-org.packagekit.updater.desktop
+%{_kde4_appsdir}/plasma/
+%{_kde4_servicesdir}/plasma-applet-org.packagekit.updater.desktop
%{_kde4_appsdir}/plasma-desktop/updates/10-opensuse-org.packagekit.updater.js
-%endif
%doc %{_kde4_mandir}/man1/*
-%_kde4_libdir/%{name}/libapper.so
-%_kde4_modulesdir/*.so
+%{_kde4_libdir}/%{name}/libapper.so
+%{_kde4_modulesdir}/*.so
%config %{_kde4_sysconfdir}/ld.so.conf.d/apper.conf
-%_kde4_modulesdir/imports/org/kde/%{name}/
-
-%if %{split_plasmoid}
-%files plasmoid
-%defattr(-,root,root)
-%_kde4_appsdir/plasma/
-%_kde4_servicesdir/plasma-applet-org.packagekit.updater.desktop
-%{_kde4_appsdir}/plasma-desktop/updates/10-opensuse-org.packagekit.updater.js
-%endif
+%{_kde4_modulesdir}/imports/org/kde/%{name}/
+%dir %{_kde4_datadir}/appdata
+%{_kde4_datadir}/appdata/apper.appdata.xml
%files lang -f %{name}.lang
%defattr(-,root,root)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package akonadi-runtime for openSUSE:Factory checked in at 2014-04-23 17:31:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/akonadi-runtime (Old)
and /work/SRC/openSUSE:Factory/.akonadi-runtime.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "akonadi-runtime"
Changes:
--------
--- /work/SRC/openSUSE:Factory/akonadi-runtime/akonadi-runtime.changes 2014-04-08 22:36:54.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.akonadi-runtime.new/akonadi-runtime.changes 2014-04-23 17:31:02.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 22 10:09:03 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Added 0001-Remove-the-invalid-GID-part-from-PartTable-before-st.patch,
+ resolves migration problems from earlier akonadi versions, kde#331867
+
+-------------------------------------------------------------------
New:
----
0001-Remove-the-invalid-GID-part-from-PartTable-before-st.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ akonadi-runtime.spec ++++++
--- /var/tmp/diff_new_pack.n0JvTK/_old 2014-04-23 17:31:03.000000000 +0200
+++ /var/tmp/diff_new_pack.n0JvTK/_new 2014-04-23 17:31:03.000000000 +0200
@@ -25,6 +25,8 @@
Group: System/GUI/KDE
Url: http://akonadi-project.org
Source: http://download.kde.org/stable/%{rname}/src/%{rname}-%{version}.tar.bz2
+# PATCH-FIX-UPSTREAM 0001-Remove-the-invalid-GID-part-from-PartTable-before-st.patch -- resolves migration problems from earlier akonadi versions, kde#331867
+Patch0: 0001-Remove-the-invalid-GID-part-from-PartTable-before-st.patch
BuildRequires: boost-devel
BuildRequires: cmake >= 2.8.8
BuildRequires: fdupes
@@ -68,6 +70,7 @@
%prep
%setup -q -n %{rname}-%{version}
+%patch0 -p1
%build
%cmake_kde4 -d build -- -DCONFIG_INSTALL_DIR=/etc -DINSTALL_QSQLITE_IN_QT_PREFIX=TRUE -DWITH_SOPRANO=FALSE
++++++ 0001-Remove-the-invalid-GID-part-from-PartTable-before-st.patch ++++++
>From 4ca8b846baaad48ebbd723f6411f9571a3b0f5ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20Vr=C3=A1til?= <dvratil(a)redhat.com>
Date: Tue, 22 Apr 2014 11:28:07 +0200
Subject: [PATCH 1/1] Remove the invalid GID part from PartTable before
starting PartTable migration
More people than we expected have invalid 'GID' part in their PartTable,
which breaks migration to schema 25, because it expects all part types
to have a valid name.
To work around this fact, we DELETE all parts with name 'GID' from PartTable
before starting the actual migration. This will not fix the migration for
people with other invalid parts, but I haven't heard of any such. To make
this completely bullet-proof, we would need to iterate through all entries,
which would be massively slower than current INSERT INTO ... SELECT FROM approach.
Distributions, this is a good choice for backporting into 1.12.1 ;-)
BUG: 331867
FIXED-IN: 1.12.2
---
server/src/storage/dbupdater.cpp | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/server/src/storage/dbupdater.cpp b/server/src/storage/dbupdater.cpp
index ccaf584..d6368b5 100644
--- a/server/src/storage/dbupdater.cpp
+++ b/server/src/storage/dbupdater.cpp
@@ -261,6 +261,15 @@ bool DbUpdater::complexUpdate_25()
}
}
+ {
+ // It appears that more users than expected have the invalid "GID" part in their
+ // PartTable, which breaks the migration below (see BKO#331867), so we apply this
+ // wanna-be fix to remove the invalid part before we start the actual migration.
+ QueryBuilder qb( QLatin1String( "PartTable" ), QueryBuilder::Delete );
+ qb.addValueCondition( QLatin1String( "PartTable.name" ), Query::Equals, QLatin1String( "GID" ) );
+ qb.exec();
+ }
+
akDebug() << "Creating a PartTable_new";
{
TableDescription description;
--
1.9.2
--
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 rpmlint for openSUSE:Factory checked in at 2014-04-23 17:28:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpmlint (Old)
and /work/SRC/openSUSE:Factory/.rpmlint.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpmlint"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rpmlint/rpmlint.changes 2014-04-06 09:56:35.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rpmlint.new/rpmlint.changes 2014-04-23 17:28:17.000000000 +0200
@@ -1,0 +2,10 @@
+Tue Apr 22 06:04:00 UTC 2014 - krahmer(a)suse.com
+
+- adding baloo DBUS service file (missing in last request) (bnc#866131)
+
+-------------------------------------------------------------------
+Wed Apr 16 13:02:10 UTC 2014 - krahmer(a)suse.com
+
+- adding baloo DBUS config, formerly nepomuk (bnc#866131)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ config ++++++
--- /var/tmp/diff_new_pack.RhEEL6/_old 2014-04-23 17:28:18.000000000 +0200
+++ /var/tmp/diff_new_pack.RhEEL6/_new 2014-04-23 17:28:18.000000000 +0200
@@ -608,7 +608,10 @@
"org.neard.conf",
"org.neard.service",
# networkmanager-openswan (bnc#808549)
- "nm-openswan-service.conf"
+ "nm-openswan-service.conf",
+ # baloo, formerly nepomuk (bnc#866131)
+ "org.kde.baloo.filewatch.conf",
+ "org.kde.baloo.filewatch.service"
))
setOption("PAMModules.WhiteList", (
--
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 fcoe-utils for openSUSE:Factory checked in at 2014-04-23 17:28:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fcoe-utils (Old)
and /work/SRC/openSUSE:Factory/.fcoe-utils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fcoe-utils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/fcoe-utils/fcoe-utils.changes 2014-04-05 14:42:42.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.fcoe-utils.new/fcoe-utils.changes 2014-04-23 17:28:15.000000000 +0200
@@ -1,0 +2,17 @@
+Fri Apr 11 15:08:04 CEST 2014 - hare(a)suse.de
+
+- Replace patches with upstream version
+ Remove: 0025-systemctl-cannot-start-fcoemon.socket.patch
+ Add: 0028-systemctl-cannot-start-fcoemon.socket.patch
+- Pull in patches from upstream:
+ * Really break out of recv_loop in fipvlan (bnc#870300)
+ Add: 0026-FIPVLAN-Really-break-out-of-the-recv_loop-upon-fip_r.patch
+ * Update documentation
+ Add: 0025-doc-Update-QUICKSTART-INSTALL-docs-for-systemd-init-.patch
+ Add: 0027-man-Fix-typo-in-fcoemon-documentation.patch
+- Add dependency on libhbalinux2 (bnc#873066)
+- Correctly handle options when invoking fcoemon (bnc#872732)
+ Add: 0029-fcoemon-Correctly-handle-options-in-the-service-file.patch
+- Include bnx2fc to SUPPORTED_DRIVERS (bnc#872741)
+
+-------------------------------------------------------------------
Old:
----
0025-systemctl-cannot-start-fcoemon.socket.patch
New:
----
0025-doc-Update-QUICKSTART-INSTALL-docs-for-systemd-init-.patch
0026-FIPVLAN-Really-break-out-of-the-recv_loop-upon-fip_r.patch
0027-man-Fix-typo-in-fcoemon-documentation.patch
0028-systemctl-cannot-start-fcoemon.socket.patch
0029-fcoemon-Correctly-handle-options-in-the-service-file.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fcoe-utils.spec ++++++
--- /var/tmp/diff_new_pack.Ajxgw5/_old 2014-04-23 17:28:16.000000000 +0200
+++ /var/tmp/diff_new_pack.Ajxgw5/_new 2014-04-23 17:28:16.000000000 +0200
@@ -24,10 +24,11 @@
BuildRequires: libhbalinux2-devel
BuildRequires: libtool
BuildRequires: open-lldp-devel
+BuildRequires: systemd-devel
Requires: device-mapper
Requires: iproute
+Requires: libhbalinux2
Requires: open-lldp
-BuildRequires: systemd-devel
%systemd_requires
Version: 1.0.29
Release: 0
@@ -36,7 +37,6 @@
Group: System/Daemons
# git://open-fcoe.org/fcoe/fcoe-utils.git
Source0: %{name}-%{version}.tar.xz
-Source2: fcoe.config
# Patches from git repository
Patch1: 0001-man-Fix-small-typo-regarding-fcf-option.patch
Patch2: 0002-Don-t-call-AM_INIT_AUTOMAKE-twice.patch
@@ -55,8 +55,6 @@
Patch15: 0015-fipvlan-break-out-of-receive-loop-on-error.patch
Patch16: 0016-fipvlan-handle-errors-from-fip-socket-creation.patch
Patch17: 0017-fipvlan-filter-interfaces-from-rtnl_getlink.patch
-
-# Patches to be upstreamed
Patch18: 0018-Add-missing-DESTDIR-when-installing-bash-completion.patch
Patch19: 0019-Fix-build-with-Wl-as-needed.patch
Patch20: 0020-Fix-integer-formatting.patch
@@ -64,7 +62,13 @@
Patch22: 0022-fcnsq-Fixup-64bit-integer-handling.patch
Patch23: 0023-fcoemon-add-systemd-service-file.patch
Patch24: 0024-fcoemon-systemd-socket-activation.patch
-Patch25: 0025-systemctl-cannot-start-fcoemon.socket.patch
+Patch25: 0025-doc-Update-QUICKSTART-INSTALL-docs-for-systemd-init-.patch
+Patch26: 0026-FIPVLAN-Really-break-out-of-the-recv_loop-upon-fip_r.patch
+Patch27: 0027-man-Fix-typo-in-fcoemon-documentation.patch
+
+# Patches to be upstreamed
+Patch28: 0028-systemctl-cannot-start-fcoemon.socket.patch
+Patch29: 0029-fcoemon-Correctly-handle-options-in-the-service-file.patch
# Patches from Fedora
Patch101: fcoe-utils-1.0.29-make.patch
@@ -102,6 +106,10 @@
%patch23 -p1
%patch24 -p1
%patch25 -p1
+%patch26 -p1
+%patch27 -p1
+%patch28 -p1
+%patch29 -p1
%patch101 -p1
%build
@@ -117,9 +125,6 @@
# unitfile
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcfcoe
-# config
-install -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/fcoe/config
-
# contrib files
mkdir -p %{buildroot}%{_libexecdir}/fcoe
for file in \
++++++ 0018-Add-missing-DESTDIR-when-installing-bash-completion.patch ++++++
--- /var/tmp/diff_new_pack.Ajxgw5/_old 2014-04-23 17:28:16.000000000 +0200
+++ /var/tmp/diff_new_pack.Ajxgw5/_new 2014-04-23 17:28:16.000000000 +0200
@@ -1,9 +1,10 @@
-From 51cfb504c434a8a0a1df9fa7c3cd9000c4e53d92 Mon Sep 17 00:00:00 2001
+From 0e5d536b20ed481d5a057e9bfee772b4c53bdb0f Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
-Date: Fri, 6 Dec 2013 11:08:23 +0100
-Subject: Add missing 'DESTDIR' when installing bash completion
+Date: Fri, 6 Dec 2013 19:51:51 +0000
+Subject: build: Add missing 'DESTDIR' when installing bash completion
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
+Signed-off-by: Robert Love <robert.w.love(a)intel.com>
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
++++++ 0019-Fix-build-with-Wl-as-needed.patch ++++++
--- /var/tmp/diff_new_pack.Ajxgw5/_old 2014-04-23 17:28:16.000000000 +0200
+++ /var/tmp/diff_new_pack.Ajxgw5/_new 2014-04-23 17:28:16.000000000 +0200
@@ -1,12 +1,13 @@
-From a76be731a5e5262abf0c8deadf8f4f541559b9f8 Mon Sep 17 00:00:00 2001
+From 9869390ff1a6ecca1e6599e37128a07d237655e6 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
-Date: Fri, 6 Dec 2013 11:23:34 +0100
-Subject: Fix build with '-Wl,--as-needed'
+Date: Fri, 6 Dec 2013 19:51:52 +0000
+Subject: build: Fix build with '-Wl,--as-needed'
The libraries need to be specified correctly to get '--as-needed'
to work.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
+Signed-off-by: Robert Love <robert.w.love(a)intel.com>
---
Makefile.am | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
++++++ 0025-doc-Update-QUICKSTART-INSTALL-docs-for-systemd-init-.patch ++++++
>From fa308a68bda455d7305fc194d716ebc06b6f26c7 Mon Sep 17 00:00:00 2001
From: Robert Love <robert.w.love(a)intel.com>
Date: Wed, 18 Dec 2013 11:51:35 -0800
Subject: doc: Update QUICKSTART/INSTALL docs for systemd init file install
Update installation instructions so that systemd init files
may be installed.
Signed-off-by: Robert Love <robert.w.love(a)intel.com>
---
INSTALL | 3 +++
QUICKSTART | 3 +++
2 files changed, 6 insertions(+)
diff --git a/INSTALL b/INSTALL
index 3abdf07..ea8c95e 100644
--- a/INSTALL
+++ b/INSTALL
@@ -19,6 +19,9 @@ DEPENDENCIES
1) Bootstrap, configure, make and make install
# ./bootstrap.sh
+ Either execute the next line for System V init script install
# rpm --eval "%configure" | sh
+ or the following line to install systemd unit scripts
+ # rpm --eval "%configure --with-systemdsystemunitdir=/" | sh
# make
# make install
diff --git a/QUICKSTART b/QUICKSTART
index 6fc82b3..c001bc1 100644
--- a/QUICKSTART
+++ b/QUICKSTART
@@ -201,7 +201,10 @@ PROCESS
2) Bootstrap, configure, make and make install
# cd fcoe-utils
# ./bootstrap.sh
+ Either execute the next line for System V init script install
# rpm --eval "%configure" | sh
+ or the following line to install systemd unit scripts
+ # rpm --eval "%configure --with-systemdsystemunitdir=/" | sh
# make
# make install
--
1.8.1.4
++++++ 0026-FIPVLAN-Really-break-out-of-the-recv_loop-upon-fip_r.patch ++++++
>From f90bbd76499b71a62f1e7c4ec68a62008031ee8e Mon Sep 17 00:00:00 2001
From: Eddie Wai <eddie.wai(a)broadcom.com>
Date: Wed, 5 Mar 2014 14:42:28 +0000
Subject: FIPVLAN: Really break out of the recv_loop upon fip_recv error
This patch adds additional code to break out of the recv_loop's while
loop upon fip_recv error. This completes the fix from
commit 78ea81aaef57b5b40fdc86335a7e6a432a72ad48.
Without this, we have seen cases where the recv_loop gets
stuck looping indefinitely.
Signed-off-by: Eddie Wai <eddie.wai(a)broadcom.com>
Signed-off-by: Robert Love <robert.w.love(a)intel.com>
---
fipvlan.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fipvlan.c b/fipvlan.c
index 1b8492d..cc71412 100644
--- a/fipvlan.c
+++ b/fipvlan.c
@@ -792,6 +792,8 @@ static void recv_loop(int timeout)
break;
}
}
+ if (i < pfd_len)
+ break;
}
}
--
1.8.1.4
++++++ 0027-man-Fix-typo-in-fcoemon-documentation.patch ++++++
>From 4982e604dab3f350f3a3ca20b3c001f8ee66fdc2 Mon Sep 17 00:00:00 2001
From: Robert Love <robert.w.love(a)intel.com>
Date: Sat, 25 Jan 2014 03:10:21 +0000
Subject: man: Fix typo in fcoemon documentation
"module" was misspelled "modlue." This patch fixes it.
Signed-off-by: Robert Love <robert.w.love(a)intel.com>
---
doc/fcoemon.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/fcoemon.txt b/doc/fcoemon.txt
index 09ee5a2..7ccf892 100644
--- a/doc/fcoemon.txt
+++ b/doc/fcoemon.txt
@@ -56,7 +56,7 @@ OPTIONS
*-d*, *--debug*::
Enable debugging messages.
*-l*, *--legacy*::
- Force fcoemon to use the legacy /sys/modlue/libfcoe/parameters/
+ Force fcoemon to use the legacy /sys/module/libfcoe/parameters/
interface. The default is to use the newer /sys/bus/fcoe/ interfaces
if they are available.
*-s*, *--syslog*::
--
1.8.1.4
++++++ 0025-systemctl-cannot-start-fcoemon.socket.patch -> 0028-systemctl-cannot-start-fcoemon.socket.patch ++++++
--- /work/SRC/openSUSE:Factory/fcoe-utils/0025-systemctl-cannot-start-fcoemon.socket.patch 2014-04-05 14:42:42.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.fcoe-utils.new/0028-systemctl-cannot-start-fcoemon.socket.patch 2014-04-23 17:28:15.000000000 +0200
@@ -1,4 +1,4 @@
-From 913faf7761a8fb004d44b5515b14efb0f60e9fa9 Mon Sep 17 00:00:00 2001
+From 444f3c66ee5a2b59a563d78cb70db7da2326d446 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 21 Mar 2014 14:46:40 +0100
Subject: systemctl cannot start fcoemon.socket
++++++ 0029-fcoemon-Correctly-handle-options-in-the-service-file.patch ++++++
>From 5216ae2ef4434d92ff3d49c4d5a7b73b438aee2d Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Fri, 11 Apr 2014 15:38:26 +0200
Subject: fcoemon: Correctly handle options in the service file
When runnig under systemd we can't really modify the arguments
to provide an 'FCOEMON_OPTS' variable. Instead we should be
modifying fcoemon --debug and --syslog to accept 'yes' or 'no'
as parameters; that way we can use the variables directly.
References: bnc#872732
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
doc/fcoemon.txt | 6 +++---
etc/systemd/fcoe.service | 4 ++--
fcoemon.c | 24 +++++++++++++++---------
3 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/doc/fcoemon.txt b/doc/fcoemon.txt
index 7ccf892..7449601 100644
--- a/doc/fcoemon.txt
+++ b/doc/fcoemon.txt
@@ -53,13 +53,13 @@ OPTIONS
-------
*-f*, *--foreground*::
Run *fcoemon* in the foreground.
-*-d*, *--debug*::
- Enable debugging messages.
+*-d*, *--debug=yes|no*::
+ Enable or disable debugging messages.
*-l*, *--legacy*::
Force fcoemon to use the legacy /sys/module/libfcoe/parameters/
interface. The default is to use the newer /sys/bus/fcoe/ interfaces
if they are available.
-*-s*, *--syslog*::
+*-s*, *--syslog=yes|no*::
Use syslogd for logging. The default behavior is to log to stdout
and stderr.
*-h*, *--help*::
diff --git a/etc/systemd/fcoe.service b/etc/systemd/fcoe.service
index 5e5c8a2..2e10bcd 100644
--- a/etc/systemd/fcoe.service
+++ b/etc/systemd/fcoe.service
@@ -4,9 +4,9 @@ After=syslog.target network.target
[Service]
Type=simple
-EnvironmentFile=/etc/sysconfig/fcoe
+EnvironmentFile=/etc/fcoe/config
ExecStartPre=/sbin/modprobe -qa $SUPPORTED_DRIVERS
-ExecStart=/usr/sbin/fcoemon $FCOEMON_OPTS
+ExecStart=/usr/sbin/fcoemon --debug=$DEBUG --syslog=$SYSLOG
[Install]
WantedBy=multi-user.target
diff --git a/fcoemon.c b/fcoemon.c
index 5e4f8d7..23fc2f6 100644
--- a/fcoemon.c
+++ b/fcoemon.c
@@ -336,9 +336,9 @@ static int fcoe_vid_from_ifname(const char *ifname);
* Table for getopt_long(3).
*/
static struct option fcm_options[] = {
- {"debug", 0, NULL, 'd'},
+ {"debug", 1, NULL, 'd'},
{"legacy", 0, NULL, 'l'},
- {"syslog", 0, NULL, 's'},
+ {"syslog", 1, NULL, 's'},
{"exec", 1, NULL, 'e'},
{"foreground", 0, NULL, 'f'},
{"version", 0, NULL, 'v'},
@@ -3192,9 +3192,9 @@ static void fcm_usage(void)
{
printf("Usage: %s\n"
"\t [-f|--foreground]\n"
- "\t [-d|--debug]\n"
+ "\t [-d|--debug=yes|no]\n"
"\t [-l|--legacy]\n"
- "\t [-s|--syslog]\n"
+ "\t [-s|--syslog=yes|no]\n"
"\t [-v|--version]\n"
"\t [-h|--help]\n\n", progname);
exit(1);
@@ -3648,22 +3648,28 @@ int main(int argc, char **argv)
sa_log_flags = 0;
openlog(sa_log_prefix, LOG_CONS, LOG_DAEMON);
- while ((c = getopt_long(argc, argv, "fdhlsv",
+ while ((c = getopt_long(argc, argv, "fd:hls:v",
fcm_options, NULL)) != -1) {
switch (c) {
case 'f':
fcm_fg = 1;
break;
case 'd':
- fcoe_config.debug = 1;
- enable_debug_log(1);
+ if (!strncmp(optarg, "yes", 3) ||
+ !strncmp(optarg, "YES", 3)) {
+ fcoe_config.debug = 1;
+ enable_debug_log(1);
+ }
break;
case 'l':
force_legacy = true;
break;
case 's':
- fcoe_config.use_syslog = 1;
- enable_syslog(1);
+ if (!strncmp(optarg, "yes", 3) ||
+ !strncmp(optarg, "YES", 3)) {
+ fcoe_config.use_syslog = 1;
+ enable_syslog(1);
+ }
break;
case 'v':
printf("%s\n", FCOE_UTILS_VERSION);
--
1.8.1.4
++++++ fcoe.config ++++++
--- /var/tmp/diff_new_pack.Ajxgw5/_old 2014-04-23 17:28:16.000000000 +0200
+++ /var/tmp/diff_new_pack.Ajxgw5/_new 2014-04-23 17:28:16.000000000 +0200
@@ -1,5 +1,5 @@
# All supported drivers listed here are loaded when service starts
-SUPPORTED_DRIVERS="libfc fcoe"
+SUPPORTED_DRIVERS="libfc fcoe bnx2fc"
# Add --debug to enable debug messages
FCOEMON_OPTS="--syslog"
--
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 nfs-utils for openSUSE:Factory checked in at 2014-04-23 17:28:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nfs-utils (Old)
and /work/SRC/openSUSE:Factory/.nfs-utils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nfs-utils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/nfs-utils/nfs-utils.changes 2014-03-20 06:53:37.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.nfs-utils.new/nfs-utils.changes 2014-04-23 17:28:14.000000000 +0200
@@ -1,0 +2,10 @@
+Wed Apr 16 15:24:27 UTC 2014 - trenn(a)suse.de
+
+- Remove mkinitrd bits -> we use dracut now which already has
+ nfs stuff provided in its package in:
+ /usr/lib/dracut/modules.d/95nfs/
+ Remove sources:
+ - mkinitrd-boot.sh
+ - mkinitrd-setup.sh
+
+-------------------------------------------------------------------
Old:
----
mkinitrd-boot.sh
mkinitrd-setup.sh
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nfs-utils.spec ++++++
--- /var/tmp/diff_new_pack.EcjEUA/_old 2014-04-23 17:28:15.000000000 +0200
+++ /var/tmp/diff_new_pack.EcjEUA/_new 2014-04-23 17:28:15.000000000 +0200
@@ -16,6 +16,7 @@
#
+
Name: nfs-utils
BuildRequires: device-mapper-devel
BuildRequires: e2fsprogs-devel
@@ -58,8 +59,6 @@
Source6: README.NFSv4
Source7: fw-client
Source8: fw-server
-Source9: mkinitrd-setup.sh
-Source10: mkinitrd-boot.sh
Source11: idmapd.conf
Source12: start-statd
Source13: nfs-utils.rpmlintrc
@@ -203,9 +202,6 @@
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services
install -m 0644 %{SOURCE7} ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services/nfs-client
install -m 0644 %{SOURCE8} ${RPM_BUILD_ROOT}/etc/sysconfig/SuSEfirewall2.d/services/nfs-kernel-server
-install -d $RPM_BUILD_ROOT/lib/mkinitrd/scripts
-install -m 755 %{S:9} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/setup-nfs.sh
-install -m 755 %{S:10} $RPM_BUILD_ROOT/lib/mkinitrd/scripts/boot-nfs.sh
install -m 755 %{S:12} $RPM_BUILD_ROOT/usr/sbin/start-statd
install -m 644 utils/mount/nfsmount.conf $RPM_BUILD_ROOT/etc/nfsmount.conf
#
@@ -232,7 +228,6 @@
mv /var/lock/subsys/nfsserver-rpc.idmapd /run/nfs
fi
###
-[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup
%{fillup_and_insserv -n nfs nfs}
#
%set_permissions /sbin/mount.nfs
@@ -244,7 +239,6 @@
%postun -n nfs-client
%restart_on_update nfs
-[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup
%insserv_cleanup
%service_del_postun nfs
@@ -281,10 +275,6 @@
%config /etc/init.d/nfs
%config /etc/idmapd.conf
%config /etc/nfsmount.conf
-%dir /lib/mkinitrd
-%dir /lib/mkinitrd/scripts
-/lib/mkinitrd/scripts/setup-nfs.sh
-/lib/mkinitrd/scripts/boot-nfs.sh
%verify(not mode) %attr(0755,root,root) /sbin/mount.nfs
/sbin/mount.nfs4
/sbin/umount.nfs
--
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 tk for openSUSE:Factory checked in at 2014-04-23 17:28:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tk (Old)
and /work/SRC/openSUSE:Factory/.tk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tk"
Changes:
--------
--- /work/SRC/openSUSE:Factory/tk/tk.changes 2013-10-23 10:15:03.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.tk.new/tk.changes 2014-04-23 17:28:12.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Mar 31 02:35:59 UTC 2014 - badshah400(a)gmail.com
+
+- Add tk-fix-pkgconfig-file.patch to fix undefined linker flag
+ (@TK_LIBS@) in tk.pc pkgconfig file; patch sent upstream, see
+ https://core.tcl.tk/tcl/tktview?name=5bcb5026ad51abb7 .
+
+-------------------------------------------------------------------
New:
----
tk-fix-pkgconfig-file.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tk.spec ++++++
--- /var/tmp/diff_new_pack.ve4eCZ/_old 2014-04-23 17:28:13.000000000 +0200
+++ /var/tmp/diff_new_pack.ve4eCZ/_new 2014-04-23 17:28:13.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package tk
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -52,6 +52,8 @@
Source3: http://tkcon.cvs.sourceforge.net/tkcon/tkcon/tkcon.tcl
Patch0: %name.patch
Patch1: tk-8.5.12-fix-xft.patch
+# PATCH-FIX-UPSTREAM tk-fix-pkgconfig-file.patch badshah400(a)gmail.com -- Fix undefined token (@TK_LIBS@) in linker flag in pkgconfig file; patch sent upstream
+Patch2: tk-fix-pkgconfig-file.patch
%description
Tk is a graphical user interface toolkit that takes developing desktop
@@ -99,6 +101,7 @@
%setup -q -n %name%version
%patch0
%patch1 -p1
+%patch2 -p1
%build
cd unix
++++++ tk-fix-pkgconfig-file.patch ++++++
https://core.tcl.tk/tcl/tktview?name=5bcb5026ad51abb7
Index: tk8.6.1/unix/tk.pc.in
===================================================================
--- tk8.6.1.orig/unix/tk.pc.in
+++ tk8.6.1/unix/tk.pc.in
@@ -11,5 +11,5 @@ URL: http://www.tcl.tk/
Version: @TK_VERSION@
Requires:
Conflicts:
-Libs: -L${libdir} @TK_LIBS@
+Libs: -L${libdir} @TK_LIB_FLAG@
Cflags: -I${includedir}
--
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 python-numpy for openSUSE:Factory checked in at 2014-04-23 17:28:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-numpy (Old)
and /work/SRC/openSUSE:Factory/.python-numpy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-numpy"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-numpy/python-numpy-doc.changes 2014-02-04 22:46:56.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-numpy.new/python-numpy-doc.changes 2014-04-23 17:28:09.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Apr 14 05:24:31 UTC 2014 - arun(a)gmx.de
+
+- bugfix release 1.8.1
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python-numpy/python-numpy.changes 2013-12-08 19:46:08.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-numpy.new/python-numpy.changes 2014-04-23 17:28:09.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Apr 14 05:23:39 UTC 2014 - arun(a)gmx.de
+
+- bugfix release 1.8.1
+
+-------------------------------------------------------------------
Old:
----
numpy-1.8.0.tar.gz
New:
----
numpy-1.8.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-numpy-doc.spec ++++++
--- /var/tmp/diff_new_pack.UKOJQu/_old 2014-04-23 17:28:10.000000000 +0200
+++ /var/tmp/diff_new_pack.UKOJQu/_new 2014-04-23 17:28:10.000000000 +0200
@@ -19,7 +19,7 @@
%define modname numpy
Name: python-%{modname}-doc
%define docname numpydoc
-Version: 1.8.0
+Version: 1.8.1
Release: 0
%define docvers 0.4
Url: http://sourceforge.net/projects/numpy
++++++ python-numpy.spec ++++++
--- /var/tmp/diff_new_pack.UKOJQu/_old 2014-04-23 17:28:10.000000000 +0200
+++ /var/tmp/diff_new_pack.UKOJQu/_new 2014-04-23 17:28:10.000000000 +0200
@@ -20,7 +20,7 @@
%define modname numpy
Name: python-%{modname}
-Version: 1.8.0
+Version: 1.8.1
Release: 0
Url: http://sourceforge.net/projects/numpy
Summary: NumPy array processing for numbers, strings, records and objects
++++++ numpy-1.8.0.tar.gz -> numpy-1.8.1.tar.gz ++++++
++++ 31958 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 vdr for openSUSE:Factory checked in at 2014-04-22 17:09:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vdr (Old)
and /work/SRC/openSUSE:Factory/.vdr.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vdr"
Changes:
--------
--- /work/SRC/openSUSE:Factory/vdr/vdr.changes 2013-03-05 16:34:53.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.vdr.new/vdr.changes 2014-04-22 17:09:22.000000000 +0200
@@ -1,0 +2,92 @@
+Tue Apr 22 10:38:57 UTC 2014 - seife+obs(a)b1-systems.com
+
+- remove support for ancient distributions
+- list of patches which fix stuff:
+ vdr-1.7.21-pluginmissing.patch - don't die on missing plugin
+ vdr-1.7.29-menuselection.patch
+ vdr-1.7.36-wareagle.patch - wareagle icons
+ vdr-2.0.6-wareagle-fix.patch
+ vdr-2.0.3-dynamite.patch - allow the dynamite plugin
+ vdr-2.0.4-MainMenuHooks-v1_0_1.patch
+
+-------------------------------------------------------------------
+Thu Apr 10 21:40:38 UTC 2014 - seife+obs(a)b1-systems.com
+
+- vdr.macros: remove vdr_old_plugin_* and vdr_install_plugin_*,
+ all current users are converted now
+
+-------------------------------------------------------------------
+Sun Apr 6 21:57:34 UTC 2014 - seife+obs(a)b1-systems.com
+
+- fix broken record filenames in e.g. streamdev, bug in wareagle
+ patch (vdr-2.0.6-wareagle-fix.patch)
+
+-------------------------------------------------------------------
+Wed Apr 2 16:19:07 UTC 2014 - seife+obs(a)b1-systems.com
+
+- small fix for classic runvdr init script
+- recommend instead of suggest runvdr-extreme on >=12.1, vdr-runvdr
+ on < 12.2
+
+-------------------------------------------------------------------
+Sun Mar 30 18:31:26 UTC 2014 - seife+obs(a)b1-systems.com
+
+- fix build on SLES11
+- remove unused vdr_old_dvbapi.diff and Make.config
+
+-------------------------------------------------------------------
+Sun Mar 30 16:34:31 UTC 2014 - seife+obs(a)b1-systems.com
+
+- split off init script into vdr-runvdr package
+ It is recommended to use runvdr-extreme-systemd instead
+
+-------------------------------------------------------------------
+Sun Mar 30 12:05:23 UTC 2014 - seife+obs(a)b1-systems.com
+
+- avoid putting build time into locale files, causing republishing
+- install msgmerge wrapper to /usr/share/vdr to make it usable
+ by plugins
+
+-------------------------------------------------------------------
+Sun Mar 30 02:02:25 UTC 2014 - seife+obs(a)b1-systems.com
+
+- update to vdr 2.0.6
+ - see HISTORY file for changes
+ - vdrapi version bumped to 2.0.6
+
+-------------------------------------------------------------------
+Sat Mar 29 20:12:03 UTC 2014 - seife+obs(a)b1-systems.com
+
+- vdr.macros: allow empty srcdir in vdr_old_plugin_make
+
+-------------------------------------------------------------------
+Sat Mar 29 19:07:25 UTC 2014 - seife+obs(a)b1-systems.com
+
+- vdr.macros: set vdr_includedir back to /usr/include/vdr
+
+-------------------------------------------------------------------
+Sat Mar 29 16:32:55 UTC 2014 - seife+obs(a)b1-systems.com
+
+- remove plugin build macros
+
+-------------------------------------------------------------------
+Sun Jan 12 12:02:45 UTC 2014 - wagner-thomas(a)gmx.at
+
+- Update to vdr 2.0.5
+
+-------------------------------------------------------------------
+Tue Nov 26 16:06:50 UTC 2013 - hpj(a)urpla.net
+
+- Update to vdr 2.0.4
+
+-------------------------------------------------------------------
+Tue Jun 4 21:33:54 UTC 2013 - hpj(a)urpla.net
+
+- Adjust vdr macros
+
+-------------------------------------------------------------------
+Tue Jun 4 21:12:42 UTC 2013 - hpj(a)urpla.net
+
+- Update to vdr 2.0.2
+
+-------------------------------------------------------------------
Old:
----
channels.conf
vdr-1.6.0-1.diff
vdr-1.6.0-2.diff
vdr-1.6.0-bnc786040-use-v4l2.patch
vdr-1.6.0-const.diff
vdr-1.6.0-gcc46.patch
vdr-1.6.0-kernel-2.6.29.diff
vdr-1.6.0-ncurses.diff
vdr-1.6.0.tar.bz2
vdr-FcFontSort-72c5ec3.diff
vdr-gcc47.patch
New:
----
msgmerge
vdr-1.7.21-pluginmissing.patch
vdr-1.7.29-menuselection.patch
vdr-1.7.36-wareagle.patch
vdr-2.0.3-dynamite.patch
vdr-2.0.4-MainMenuHooks-v1_0_1.patch
vdr-2.0.6-wareagle-fix.patch
vdr-2.0.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vdr.spec ++++++
--- /var/tmp/diff_new_pack.GMVz5z/_old 2014-04-22 17:09:23.000000000 +0200
+++ /var/tmp/diff_new_pack.GMVz5z/_new 2014-04-22 17:09:23.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package vdr
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,28 +17,29 @@
Name: vdr
+BuildRequires: doxygen
+BuildRequires: fdupes
BuildRequires: fontconfig-devel
BuildRequires: freetype2-devel
BuildRequires: gcc-c++
+BuildRequires: graphviz
+BuildRequires: libcap-devel
BuildRequires: libjpeg-devel
+BuildRequires: linux-glibc-devel
BuildRequires: ncurses-devel
-%if %suse_version > 1000
-BuildRequires: libcap-devel
-%else
-BuildRequires: libcap
-%endif
+BuildRequires: pkg-config
#
%define vdrname vdr
-%define vdr_apiversion 1.6.0
+%define vdr_apiversion 2.0.6
%define vdr_localedir %{_datadir}/vdr/locale
-%define vdr_libdir %{_libdir}/vdr/
+%define vdr_libdir %{_libdir}/vdr
%define vdr_includedir %{_includedir}/vdr
%define vdr_videodir /var/spool/video
%define vdr_sysconfdir /etc/vdr
#
Url: http://www.tvdr.de/
-PreReq: /usr/sbin/useradd %fillup_prereq %insserv_prereq
-Version: 1.6.0
+PreReq: /usr/sbin/useradd
+Version: 2.0.6
Release: 0
Summary: Video Disk Recorder
License: GPL-2.0+
@@ -48,12 +49,11 @@
Source2: sysconfig.vdr
Source3: vdr-shutdown.sh
Source4: runvdr
-#Source5: README.SuSE-vdr
+Source5: remote.conf
Source6: openvt.diff
Source7: vdr-genindex.c
-Source8: channels.conf
-Source9: remote.conf
Source10: vdr.macros
+Source42: msgmerge
# generated from wiki page
Source90: README.SuSE-vdr.txt
Source91: README.SuSE-vdr.html
@@ -61,24 +61,25 @@
Source93: vdr-fetchwikipage
Source94: vdr-renderwikipage
Source95: vdr-doc.desktop
-Patch0: ftp://ftp.tvdr.de/vdr/Developer/vdr-1.6.0-1.diff
-Patch1: ftp://ftp.tvdr.de/vdr/Developer/vdr-1.6.0-2.diff
-Patch20: vdr-1.6.0-ncurses.diff
-Patch21: vdr-1.6.0-kernel-2.6.29.diff
-Patch22: vdr-1.6.0-const.diff
-# PATCH-FIX-UPSTREAM vdr-1.6.0-gcc46.patch idoenmez(a)suse.de -- Fix compilation with gcc 4.6
-Patch23: vdr-1.6.0-gcc46.patch
-# PATCH-FIX-UPSTREAM vdr-gcc47.patch dimstar(a)opensuse.org -- Fix build with gcc 4.7.
-Patch25: vdr-gcc47.patch
-# UPSTREAM 72c5ec3 to make it work with fontconfig-2.9
-Patch26: vdr-FcFontSort-72c5ec3.diff
-# PATCH-FIX-Upstream vdr-1.6.0-bnc786040-use-v4l2.patch seife(a)novel.slipkontur.de -- use v4l2.
-Patch27: vdr-1.6.0-bnc786040-use-v4l2.patch
+#
+Patch1: vdr-1.7.29-menuselection.patch
+Patch2: vdr-1.7.21-pluginmissing.patch
+Patch3: vdr-1.7.36-wareagle.patch
+Patch4: vdr-2.0.3-dynamite.patch
+Patch5: vdr-2.0.4-MainMenuHooks-v1_0_1.patch
+Patch6: vdr-2.0.6-wareagle-fix.patch
+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Provides: vdr-devel
Provides: vdr(abi) = %vdr_apiversion
+Obsoletes: vdr(abi) < %vdr_apiversion
+Provides: vdrapi = %vdr_apiversion
Requires: xorg-x11-fonts-scalable
-Recommends: vdr-plugins dvb
+%if 0%{?suse_version} >= 1220
+Recommends: runvdr-extreme-systemd
+%else
+Recommends: vdr-runvdr
+%endif
%package devel
Summary: Video Disk Recorder
@@ -86,86 +87,52 @@
PreReq: vdr = %version
%description
-Video Disk Recorder (VDR) is a digital satellite (DVB) receiver
-program. It can record MPEG2 streams, as well as output the stream to
-TV.
-
-
-
-Authors:
---------
- Klaus Schmidinger <Klaus.Schmidinger(a)tvdr.de>
- Carsten Koch <Carsten.Koch(a)icem.de>
- Plamen Ganev <pganev(a)com-it.net>
- Heino Goldenstein <heino.goldenstein(a)microplex.de>
- Guido Fiala <gfiala(a)s.netic.de>
- Robert Schneider <Robert.Schneider(a)lotus.com>
- Niels de Carpentier <niels(a)casema.net>
- Martin Hammerschmid <martin(a)hammerschmid.com>
- Bastian Guse <bastian(a)nocopy.de>
- Matthias Schniedermeyer <ms(a)citd.de>
- Miha Setina <mihasetina(a)softhome.net>
- Alberto Carraro <bertocar(a)tin.it>
- Deti Fliegl <deti(a)fliegl.de>
- Dave Chapman <dave(a)dchapman.com>
- Hans-Peter Raschke <Hans-Peter.Raschke(a)Wintermann-DatenService.de>
- Peter Hofmann <software(a)pxh.de>
- Axel Gruber <axel(a)agm.de>
- Arnold Niessen <niessen(a)iae.nl> <arnold.niessen(a)philips.com>
- Jürgen Sauer <jojo(a)automatix.de>
- Benjamin Reichardt <reichard(a)math.uni-goettingen.de>
- Henning Holtschneider <hh(a)holtschneider.com>
+Version 2.0 of VDR, the Linux Video Disk Recorder provides HDTV support, the
+Transport Stream recording format, DVB subtitles, ATSC support, and improved
+Electronic Program Guides handling.
%description devel
-Video Disk Recorder (VDR) is a digital satellite (DVB) receiver
-program. It can record MPEG2 streams, as well as output the stream to
-TV.
-
+Development files for VDR, needed for building plugins, including API documentation.
+%package runvdr
+Summary: Init script for VDR
+Group: Hardware/TV
+PreReq: vdr = %version
+PreReq: %fillup_prereq %insserv_prereq
-Authors:
---------
- Klaus Schmidinger <Klaus.Schmidinger(a)tvdr.de>
- Carsten Koch <Carsten.Koch(a)icem.de>
- Plamen Ganev <pganev(a)com-it.net>
- Heino Goldenstein <heino.goldenstein(a)microplex.de>
- Guido Fiala <gfiala(a)s.netic.de>
- Robert Schneider <Robert.Schneider(a)lotus.com>
- Niels de Carpentier <niels(a)casema.net>
- Martin Hammerschmid <martin(a)hammerschmid.com>
- Bastian Guse <bastian(a)nocopy.de>
- Matthias Schniedermeyer <ms(a)citd.de>
- Miha Setina <mihasetina(a)softhome.net>
- Alberto Carraro <bertocar(a)tin.it>
- Deti Fliegl <deti(a)fliegl.de>
- Dave Chapman <dave(a)dchapman.com>
- Hans-Peter Raschke <Hans-Peter.Raschke(a)Wintermann-DatenService.de>
- Peter Hofmann <software(a)pxh.de>
- Axel Gruber <axel(a)agm.de>
- Arnold Niessen <niessen(a)iae.nl> <arnold.niessen(a)philips.com>
- Jürgen Sauer <jojo(a)automatix.de>
- Benjamin Reichardt <reichard(a)math.uni-goettingen.de>
- Henning Holtschneider <hh(a)holtschneider.com>
+%description runvdr
+The "classic" SUSE start script for VDR. Not recommended, use runvdr-extreme-systemd instead.
%prep
%setup -q -n vdr-%{version}
-cp %{SOURCE1} .
-cp %{SOURCE2} .
-cp %{SOURCE4} .
+cp %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} .
+#
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
#
cat > Make.config <<EOF
### The C compiler options:
CFLAGS = $RPM_OPT_FLAGS -fPIC -Wall
-CXXFLAGS = -fPIC $RPM_OPT_FLAGS -Wall -Woverloaded-virtual
+CXXFLAGS = $RPM_OPT_FLAGS -fPIC -Wall -Werror=overloaded-virtual -Wparentheses
### The directory environment:
-MANDIR = %{_mandir}
+PREFIX = %{_prefix}
BINDIR = %{_bindir}
+INCDIR = %{_includedir}
+LIBDIR = %{vdr_libdir}
LOCDIR = %{vdr_localedir}
+MANDIR = %{_mandir}
+PCDIR = %{_libdir}/pkgconfig
+RESDIR = %{_datadir}/vdr
+
VIDEODIR = %{vdr_videodir}
-REMOTE = LIRC
-PLUGINLIBDIR = %{vdr_libdir}
+CONFDIR = %{vdr_sysconfdir}
+CACHEDIR = %{_localstatedir}/cache/vdr
+LIRC_DEVICE = /var/run/lirc/lircd
VDR_USER = vdr
-WITH_CAPABILITIES = 1
EOF
#
APIVERSION=`sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$/\1/p' config.h`
@@ -173,67 +140,45 @@
echo "*** APIVERSION must be $APIVERSION, fix definition!"
false
fi
-%patch0 -p1
-%patch1 -p1
-%patch20 -p1
-%patch21 -p1
-%patch22 -p1
-%patch23
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
+# for some reason, graphviz doesn't like png here
+sed -i 's|^\(DOT_IMAGE_FORMAT\s\+= \).*$|\1svg|g
+ s|^\(INTERACTIVE_SVG\s\+= \).*$|\1YES|g' Doxyfile
+# do not include build date in locale files
+cp -a %{SOURCE42} .
+chmod 0755 msgmerge
%build
-#cp %{SOURCE5} README.SuSE
-cp %{SOURCE6} .
-cp %{SOURCE7} .
+# to use msgmerge script
+export PATH=`pwd`:$PATH
make %{?jobs:-j%jobs}
make plugins
+make srcdoc
gcc -o vdr-genindex %{optflags} -funroll-loops vdr-genindex.c
%install
-install -d -m 755 %{buildroot}%{_mandir}/man{1,5}
-install -d -m 755 %{buildroot}%{_sbindir}
-install -d -m 755 %{buildroot}%{_bindir}
-install -d -m 755 %{buildroot}%{vdr_sysconfdir}
-install -d -m 755 %{buildroot}%{vdr_sysconfdir}/plugins
-install -d -m 755 %{buildroot}%{vdr_videodir}
-install -d -m 755 %{buildroot}%{vdr_libdir}
-install -d -m 755 %{buildroot}%{vdr_includedir}
-install -d -m 755 %{buildroot}%{vdr_includedir}/libsi
-make MANDIR=%{buildroot}%{_mandir} \
- BINDIR=%{buildroot}%{_sbindir} \
- VIDEODIR=%{buildroot}%{vdr_videodir} \
- PLUGINLIBDIR=%{buildroot}%{vdr_libdir} \
- LOCDIR=%{buildroot}%{vdr_localedir} \
- install
-#
+%makeinstall
install -m 644 *.conf %{buildroot}%{vdr_sysconfdir}
-for i in epg2html.pl svdrpsend.pl PLUGINS/src/sky/getskyepg.pl; do
- install -m 755 $i %{buildroot}%{_bindir}/${i##*/}
-done
-install -m 644 *.h %{buildroot}%{vdr_includedir}
-install -m 644 libsi/*.h %{buildroot}%{vdr_includedir}/libsi
install -m 644 Make.config %{buildroot}%{vdr_includedir}
-ln -s . %{buildroot}%{vdr_includedir}/vdr
-ln -s . %{buildroot}%{vdr_includedir}/include
-install -m 755 PLUGINS/lib/* %{buildroot}%{vdr_libdir}/
-install -m 755 %{SOURCE3} %{buildroot}%{vdr_sysconfdir}/shutdown.sh
-#sysconfig&init
+install -m 755 vdr-shutdown.sh %{buildroot}%{vdr_sysconfdir}/shutdown.sh
+install -d -m 755 %{buildroot}%{_localstatedir}/cache/vdr
+# sysconfig&init for vdr-runvdr
install -d -m 755 %{buildroot}/var/adm/fillup-templates
install -m 644 sysconfig.vdr %{buildroot}/var/adm/fillup-templates/sysconfig.vdr
install -d -m 755 %{buildroot}/etc/init.d
+install -d -m 755 %{buildroot}%{_sbindir}
install -m 755 rcvdr %{buildroot}/etc/init.d/vdr
-ln -s ../../etc/init.d/vdr %{buildroot}%{_sbindir}/rcvdr
+# ln -s ../../etc/init.d/vdr %%{buildroot}%%{_sbindir}/rcvdr
+ln -s service %{buildroot}%{_sbindir}/rcvdr
# create plugins doc dir
mkdir plugins
-cp -a PLUGINS/src/sky/channels.conf.sky PLUGINS/src/sky/lircd.conf.sky plugins
-cp -a PLUGINS/src/sky/README plugins/README.sky
-cp -a PLUGINS/src/osddemo/README plugins/README.osddemo
-rm %{buildroot}%{_sbindir}/runvdr
+for d in PLUGINS/src; do
+ test -d PLUGINS/src/$d && {
+ for f in README HISTORY COPYING; do
+ test -f PLUGINS/src/$d/$f && cp -a PLUGINS/src/$d/$f plugins/$f.$d
+ done
+ }
+done
install -m 755 runvdr %{buildroot}%{_sbindir}/runvdr
-install -m 644 %{SOURCE8} %{buildroot}%{vdr_sysconfdir}/channels.conf
-install -m 644 %{SOURCE9} %{buildroot}%{vdr_sysconfdir}/remote.conf
install -m 755 vdr-genindex %{buildroot}%{_bindir}
#
# docu
@@ -250,6 +195,11 @@
echo "%%lang(${f%%%%/*}) %{vdr_localedir}/$f"
done >> vdr.lang
#
+# source code docu (installed manually for the sake of fdupes' success)
+install -d -m 755 %{buildroot}%{_docdir}/%{name}-devel
+cp -a srcdoc/html %{buildroot}%{_docdir}/%{name}-devel
+%fdupes %{buildroot}%{_docdir}/%{name}-devel
+#
# rpm macro file
install -d -m 755 %{buildroot}/etc/rpm
cat > %{buildroot}/etc/rpm/macros.vdr <<EOF
@@ -263,6 +213,9 @@
%%vdr_prereq vdr(abi) = %{vdr_apiversion}
EOF
cat %{SOURCE10} >> %{buildroot}/etc/rpm/macros.vdr
+#
+# msgmerge helper for plugins
+install -m 0755 msgmerge %{buildroot}%{_datadir}/vdr/msgmerge
%clean
rm -rf $RPM_BUILD_ROOT
@@ -270,41 +223,49 @@
%pre
/usr/sbin/useradd -r -d %{vdr_videodir} -s /bin/false -c "Video Disk Recorder" -g video vdr 2> /dev/null || :
-%post
+%post runvdr
%{fillup_and_insserv vdr}
-%postun
+%postun runvdr
%{insserv_cleanup}
-%preun
+%preun runvdr
%stop_on_removal
%files -f vdr.lang
%defattr(-,root,root)
%doc README.SuSE README.SuSE.html greenish.css
%doc %{_datadir}/susehelp
-%doc COPYING INSTALL README CONTRIBUTORS HISTORY
+%doc COPYING INSTALL README* UPDATE* CONTRIBUTORS HISTORY
%doc MANUAL channels.conf.* PLUGINS.html plugins
%doc openvt.diff
%attr(755,vdr,root) %dir %{vdr_videodir}
%attr(755,vdr,root) %dir %{vdr_sysconfdir}
+%attr(755,vdr,root) %dir %{_localstatedir}/cache/vdr
%dir %{vdr_libdir}
%dir %{_datadir}/vdr
%dir %{vdr_localedir}
%dir %{vdr_localedir}/*
%dir %{vdr_localedir}/*/LC_MESSAGES
%attr(-,vdr,root) %config(noreplace) %{vdr_sysconfdir}/*
-%{_sbindir}/*
%{_bindir}/*
+%{_sbindir}/rcvdr
%{vdr_libdir}/*
%{_mandir}/man?/*
-/etc/init.d/*
-/var/adm/fillup-templates/*
%files devel
%defattr(-,root,root)
%config /etc/rpm/macros.vdr
-%dir %{vdr_includedir}
-%{vdr_includedir}/*
+%{vdr_includedir}
+%{_includedir}/libsi
+%{_libdir}/pkgconfig/*
+%{_docdir}/%{name}-devel
+%{_datadir}/vdr/msgmerge
+
+%files runvdr
+%defattr(-,root,root)
+/etc/init.d/*
+%{_sbindir}/runvdr
+/var/adm/fillup-templates/*
%changelog
++++++ README.SuSE-vdr.html ++++++
--- /var/tmp/diff_new_pack.GMVz5z/_old 2014-04-22 17:09:23.000000000 +0200
+++ /var/tmp/diff_new_pack.GMVz5z/_new 2014-04-22 17:09:23.000000000 +0200
@@ -33,7 +33,7 @@
Astra-19.2E (DVB-S). You can create you own using dvbscan. For example if you
live in Nuernberg, Germany and want to create a channels.conf for DVB-T you
would run</p>
-<pre> dvbscan -o vdr /usr/share/dvb/scan/dvb-t/de-Nuernberg > /etc/vdr/channels.conf
+<pre> scan -o vdr /usr/share/dvb/scan/dvb-t/de-Nuernberg > /etc/vdr/channels.conf
</pre>
<a name='Using%20vdr%20with%20a%20TV%20set%20attached'></a><h2>Using vdr with a TV set attached</h2>
@@ -84,4 +84,4 @@
<p>Packages for the most recent stable vdr version are available via the
<a href='http://download.opensuse.org/repositories/vdr/'>openSUSE build service</a></p>
-</html></body>
\ No newline at end of file
+</html></body>
++++++ README.SuSE-vdr.txt ++++++
--- /var/tmp/diff_new_pack.GMVz5z/_old 2014-04-22 17:09:23.000000000 +0200
+++ /var/tmp/diff_new_pack.GMVz5z/_new 2014-04-22 17:09:23.000000000 +0200
@@ -14,8 +14,8 @@
• /var/spool/video is the place where recordings are stored. If you are low
on space you should consider putting this on a separate partition.
Recordings can take up several Gigabytes.
- • /usr/lib/vdr contains shared libraries for plugins. If you compile you own
- plugins you need to put them there.
+ • /usr/{lib,lib64}/vdr contains shared libraries for plugins. If you compile
+ you own plugins you need to put them there.
• /usr/include/vdr contains header files necessary to compile plugins.
Start scripts
@@ -36,7 +36,7 @@
live in Nuernberg, Germany and want to create a channels.conf for DVB-T you
would run
- dvbscan -o vdr /usr/share/dvb/scan/dvb-t/de-Nuernberg > /etc/vdr/channels.conf
+ scan -o vdr /usr/share/dvb/scan/dvb-t/de-Nuernberg > /etc/vdr/channels.conf
Using vdr with a TV set attached
++++++ msgmerge ++++++
#!/bin/bash
# wrapper script for msgmerge to avoid changed POT-Creation-Date:
# on every rebuild.
# (C) 2014 Stefan Seyfried, License: WTFPL v2
#
# msgmerge is called like that in vdr makefiles
# msgmerge -U --no-wrap --no-location --backup=none -q -N po/lt_LT.po po/skincurses.pot
ARGS="$@"
NUM=$#
shift $((NUM - 2))
IN="$1"
CREATE=$(grep ^\"POT-Creation-Date: "$IN")
CREATE=${CREATE//\\/\\\\} # double the backslashes...
/usr/bin/msgmerge $ARGS
RET=$?
sed -i -e s#^.POT-Creation-Date:.*#"$CREATE"# "$IN"
exit $RET
++++++ rcvdr ++++++
--- /var/tmp/diff_new_pack.GMVz5z/_old 2014-04-22 17:09:23.000000000 +0200
+++ /var/tmp/diff_new_pack.GMVz5z/_new 2014-04-22 17:09:23.000000000 +0200
@@ -19,7 +19,7 @@
### END INIT INFO
# Check for missing binaries (stale symlinks should not happen)
-VDR_BIN=/usr/sbin/vdr
+VDR_BIN=/usr/bin/vdr
test -x $VDR_BIN || exit 5
# Check for existence of needed config file and read it
@@ -82,10 +82,16 @@
rm -f /var/run/runvdr_exit
/bin/openvt -c "$VDR_VTNUMBER" $doswitch /usr/sbin/runvdr
- sleep 1 && checkproc $VDR_BIN
-
- # Remember status and be verbose
- rc_status -v
+ # especially during system startup, it can take quite some time until vdr is running
+ for i in 1 2 3 4 5 6 7 8 9 10; do
+ sleep 1
+ checkproc $VDR_BIN
+ RET=$?
+ rc_status
+ if [ $RET = 0 ]; then
+ break
+ fi
+ done
;;
stop)
echo -n "Shutting down Video Disk Recorder "
++++++ runvdr ++++++
--- /var/tmp/diff_new_pack.GMVz5z/_old 2014-04-22 17:09:23.000000000 +0200
+++ /var/tmp/diff_new_pack.GMVz5z/_new 2014-04-22 17:09:23.000000000 +0200
@@ -10,7 +10,7 @@
#
# $Id: runvdr 1.11 2003/08/26 16:15:41 kls Exp $
-VDR_BIN="/usr/sbin/vdr"
+VDR_BIN="/usr/bin/vdr"
rcdvb="/usr/sbin/rcdvb"
cd # go home
++++++ sysconfig.vdr ++++++
--- /var/tmp/diff_new_pack.GMVz5z/_old 2014-04-22 17:09:23.000000000 +0200
+++ /var/tmp/diff_new_pack.GMVz5z/_new 2014-04-22 17:09:23.000000000 +0200
@@ -1,3 +1,8 @@
+################################################################
+###### Attention: This is only used by vdr-runvdr package ######
+### runvdr-extreme-systemd is configured in /etc/runvdr.conf ###
+################################################################
+
## Path: Applications/VDR
## Description: VDR digital video recorder configuration
## ServiceRestart: vdr
++++++ vdr-1.7.21-pluginmissing.patch ++++++
diff -ruN vdr-1.7.20/plugin.c vdr-1.7.20.patched//plugin.c
--- vdr-1.7.20/plugin.c 2010-01-06 12:36:46.000000000 +0100
+++ vdr-1.7.20.patched//plugin.c 2011-08-16 23:48:20.264919835 +0200
@@ -317,6 +317,12 @@
char *p = strchr(s, ' ');
if (p)
*p = 0;
+ struct stat st;
+ if (stat (cString::sprintf("%s/%s%s%s%s", directory, LIBVDR_PREFIX, s, SO_INDICATOR, APIVERSION), &st) && errno == ENOENT) {
+ esyslog("WARN: missing plugin '%s'", s);
+ fprintf(stderr, "vdr: missing plugin '%s'\n", s);
+ }
+ else
dlls.Add(new cDll(cString::sprintf("%s/%s%s%s%s", directory, LIBVDR_PREFIX, s, SO_INDICATOR, APIVERSION), Args));
free(s);
}
@@ -325,7 +331,7 @@
{
for (cDll *dll = dlls.First(); dll; dll = dlls.Next(dll)) {
if (!dll->Load(Log))
- return false;
+ ;
}
return true;
}
++++++ vdr-1.7.29-menuselection.patch ++++++
diff -Nru vdr-1.7.29-vanilla/osdbase.c vdr-1.7.29-menuselection/osdbase.c
--- vdr-1.7.29-vanilla/osdbase.c 2012-07-17 22:37:09.000000000 +0300
+++ vdr-1.7.29-menuselection/osdbase.c 2012-07-17 22:44:15.000000000 +0300
@@ -77,6 +77,7 @@
{
isMenu = true;
digit = 0;
+ key_nr = -1;
hasHotkeys = false;
displayMenuItems = 0;
title = NULL;
@@ -126,7 +127,7 @@
digit = -1; // prevents automatic hotkeys - input already has them
if (digit >= 0) {
digit++;
- buffer = cString::sprintf(" %c %s", (digit < 10) ? '0' + digit : ' ' , s);
+ buffer = cString::sprintf(" %2d%s %s", digit, (digit > 9) ? "" : " ", s);
s = buffer;
}
}
@@ -472,20 +473,60 @@
}
}
+#define MENUKEY_TIMEOUT 1500
+
eOSState cOsdMenu::HotKey(eKeys Key)
{
- for (cOsdItem *item = First(); item; item = Next(item)) {
+ bool match = false;
+ bool highlight = false;
+ int item_nr;
+ int i;
+
+ if (Key == kNone) {
+ if (lastActivity.TimedOut())
+ Key = kOk;
+ else
+ return osContinue;
+ }
+ else
+ lastActivity.Set(MENUKEY_TIMEOUT);
+ for (cOsdItem *item = Last(); item; item = Prev(item)) {
const char *s = item->Text();
- if (s && (s = skipspace(s)) != NULL) {
- if (*s == Key - k1 + '1') {
+ i = 0;
+ item_nr = 0;
+ if (s && (s = skipspace(s)) != '\0' && '0' <= s[i] && s[i] <= '9') {
+ do {
+ item_nr = item_nr * 10 + (s[i] - '0');
+ }
+ while ( !((s[++i] == '\t')||(s[i] == ' ')) && (s[i] != '\0') && ('0' <= s[i]) && (s[i] <= '9'));
+ if ((Key == kOk) && (item_nr == key_nr)) {
current = item->Index();
RefreshCurrent();
Display();
cRemote::Put(kOk, true);
+ key_nr = -1;
break;
}
+ else if (Key != kOk) {
+ if (!highlight && (item_nr == (Key - k0))) {
+ highlight = true;
+ current = item->Index();
+ }
+ if (!match && (key_nr == -1) && ((item_nr / 10) == (Key - k0))) {
+ match = true;
+ key_nr = (Key - k0);
+ }
+ else if (((key_nr == -1) && (item_nr == (Key - k0))) || (!match && (key_nr >= 0) && (item_nr == (10 * key_nr + Key - k0)))) {
+ current = item->Index();
+ cRemote::Put(kOk, true);
+ key_nr = -1;
+ break;
+ }
+ }
}
}
+ if ((!match) && (Key != kNone))
+ key_nr = -1;
return osContinue;
}
@@ -524,8 +565,8 @@
}
}
switch (int(Key)) {
- case k0: return osUnknown;
- case k1...k9: return hasHotkeys ? HotKey(Key) : osUnknown;
+ case kNone:
+ case k0...k9: return hasHotkeys ? HotKey(Key) : osUnknown;
case kUp|k_Repeat:
case kUp: CursorUp(); break;
case kDown|k_Repeat:
diff -Nru vdr-1.7.29-vanilla/osdbase.h vdr-1.7.29-menuselection/osdbase.h
--- vdr-1.7.29-vanilla/osdbase.h 2012-07-17 22:37:09.000000000 +0300
+++ vdr-1.7.29-menuselection/osdbase.h 2012-07-17 22:44:15.000000000 +0300
@@ -97,6 +97,8 @@
char *status;
int digit;
bool hasHotkeys;
+ int key_nr;
+ cTimeMs lastActivity;
void DisplayHelp(bool Force = false);
protected:
void SetDisplayMenu(void);
++++++ vdr-1.7.36-wareagle.patch ++++++
diff -ruN vdr-1.7.36.orig/config.c vdr-1.7.36/config.c
--- vdr-1.7.36.orig/config.c 2013-01-27 12:54:57.743017655 +0100
+++ vdr-1.7.36/config.c 2013-01-27 12:56:24.230017960 +0100
@@ -376,6 +376,7 @@
strcpy(OSDLanguage, ""); // default is taken from environment
strcpy(OSDSkin, "lcars");
strcpy(OSDTheme, "default");
+ WarEagleIcons = 1;
PrimaryDVB = 1;
ShowInfoOnChSwitch = 1;
TimeoutRequChInfo = 1;
@@ -578,6 +579,7 @@
if (!strcasecmp(Name, "OSDLanguage")) { strn0cpy(OSDLanguage, Value, sizeof(OSDLanguage)); I18nSetLocale(OSDLanguage); }
else if (!strcasecmp(Name, "OSDSkin")) Utf8Strn0Cpy(OSDSkin, Value, MaxSkinName);
else if (!strcasecmp(Name, "OSDTheme")) Utf8Strn0Cpy(OSDTheme, Value, MaxThemeName);
+ else if (!strcasecmp(Name, "WarEagleIcons")) WarEagleIcons = atoi(Value);
else if (!strcasecmp(Name, "PrimaryDVB")) PrimaryDVB = atoi(Value);
else if (!strcasecmp(Name, "ShowInfoOnChSwitch")) ShowInfoOnChSwitch = atoi(Value);
else if (!strcasecmp(Name, "TimeoutRequChInfo")) TimeoutRequChInfo = atoi(Value);
@@ -684,6 +686,7 @@
Store("OSDLanguage", OSDLanguage);
Store("OSDSkin", OSDSkin);
Store("OSDTheme", OSDTheme);
+ Store("WarEagleIcons", WarEagleIcons);
Store("PrimaryDVB", PrimaryDVB);
Store("ShowInfoOnChSwitch", ShowInfoOnChSwitch);
Store("TimeoutRequChInfo", TimeoutRequChInfo);
diff -ruN vdr-1.7.36.orig/config.h vdr-1.7.36/config.h
--- vdr-1.7.36.orig/config.h 2013-01-27 12:54:57.743017655 +0100
+++ vdr-1.7.36/config.h 2013-01-27 12:56:24.230017960 +0100
@@ -250,6 +250,7 @@
char OSDLanguage[I18N_MAX_LOCALE_LEN];
char OSDSkin[MaxSkinName];
char OSDTheme[MaxThemeName];
+ int WarEagleIcons;
int PrimaryDVB;
int ShowInfoOnChSwitch;
int TimeoutRequChInfo;
diff -ruN vdr-1.7.36.orig/iconpatch.c vdr-1.7.36/iconpatch.c
--- vdr-1.7.36.orig/iconpatch.c 1970-01-01 01:00:00.000000000 +0100
+++ vdr-1.7.36/iconpatch.c 2013-01-27 12:56:24.231017960 +0100
@@ -0,0 +1,27 @@
+#include "iconpatch.h"
+
+#include <langinfo.h>
+#include <locale.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+bool IsLangUtf8(void)
+{
+ char *CodeSet = NULL;
+ if (setlocale(LC_CTYPE, ""))
+ CodeSet = nl_langinfo(CODESET);
+ else {
+ char *LangEnv = getenv("LANG"); // last resort in case locale stuff isn't installed
+ if (LangEnv) {
+ CodeSet = strchr(LangEnv, '.');
+ if (CodeSet)
+ CodeSet++; // skip the dot
+ }
+ }
+
+ if (CodeSet && strcasestr(CodeSet, "UTF-8") != 0)
+ return true;
+
+ return false;
+}
diff -ruN vdr-1.7.36.orig/iconpatch.h vdr-1.7.36/iconpatch.h
--- vdr-1.7.36.orig/iconpatch.h 1970-01-01 01:00:00.000000000 +0100
+++ vdr-1.7.36/iconpatch.h 2013-01-27 12:56:24.231017960 +0100
@@ -0,0 +1,70 @@
+/*
+ * iconpatch.h: Information of iconpatch
+ *
+ * Diese Datei ist die Übersichtsdatei für den Iconpatch.
+ * Hier werden kleine Infos abgelegt.
+ * Der Iconpatch ändert die Dateien:
+ * iconpatch.h
+ * menu.c
+ * recording.c
+ * fontosd.c
+ *
+ */
+
+// Iconpatch-Variablen - Anfang
+#define ICON_NUMBERSIGN "\x23"
+#define ICON_ASTERISK "\x2A"
+#define ICON_GREATER "\x3E"
+#define ICON_EXCLAM "\x21"
+#define ICON_PLUSMINUS "\xB1"
+
+#define ICON_RESUME "\x80"
+#define ICON_DVD "\x81"
+#define ICON_FOLDER "\x82"
+#define ICON_BLANK "\x83"
+#define ICON_CUTTING "\x84"
+#define ICON_MOVE_FILE "\x85"
+#define ICON_MOVE_FOLDER "\x86"
+#define ICON_BAR_START "\x87"
+#define ICON_BAR_FILLED "\x88"
+#define ICON_BAR_CLEAR "\x89"
+#define ICON_BAR_END "\x8A"
+#define ICON_REC "\x8B"
+#define ICON_CLOCK "\x8C"
+#define ICON_TV_CRYPTED "\x8D"
+#define ICON_RADIO "\x8E"
+#define ICON_TV "\x8F"
+#define ICON_NEW "\x90"
+#define ICON_ARROW "\x91"
+#define ICON_RUNNING "\x92"
+#define ICON_VPS "\x93"
+#define ICON_CLOCK_UH "\x94"
+#define ICON_CLOCK_LH "\x95"
+
+// UTF-8 Icons
+#define ICON_RESUME_UTF8 "\uE000"
+#define ICON_DVD_UTF8 "\uE001"
+#define ICON_FOLDER_UTF8 "\uE002"
+#define ICON_BLANK_UTF8 "\uE003"
+#define ICON_CUTTING_UTF8 "\uE004"
+#define ICON_MOVE_FILE_UTF8 "\uE005"
+#define ICON_MOVE_FOLDER_UTF8 "\uE006"
+#define ICON_BAR_START_UTF8 "\uE007"
+#define ICON_BAR_FILLED_UTF8 "\uE008"
+#define ICON_BAR_EMPTY_UTF8 "\uE009"
+#define ICON_BAR_CLOSE_UTF8 "\uE00A"
+#define ICON_REC_UTF8 "\uE00B"
+#define ICON_CLOCK_UTF8 "\uE00C"
+#define ICON_TV_CRYPTED_UTF8 "\uE00D"
+#define ICON_RADIO_UTF8 "\uE00E"
+#define ICON_TV_UTF8 "\uE00F"
+#define ICON_NEW_UTF8 "\uE010"
+#define ICON_ARROW_UTF8 "\uE011"
+#define ICON_RUNNING_UTF8 "\uE012"
+#define ICON_VPS_UTF8 "\uE013"
+#define ICON_CLOCK_UH_UTF8 "\uE014"
+#define ICON_CLOCK_LH_UTF8 "\uE015"
+
+// Iconpatch-Variablen - Ende
+
+bool IsLangUtf8(void);
diff -ruN vdr-1.7.36.orig/Makefile vdr-1.7.36/Makefile
--- vdr-1.7.36.orig/Makefile 2013-01-27 12:54:57.743017655 +0100
+++ vdr-1.7.36/Makefile 2013-01-27 12:57:43.570018239 +0100
@@ -73,6 +73,8 @@
skinclassic.o skinlcars.o skins.o skinsttng.o sourceparams.o sources.o spu.o status.o svdrp.o themes.o thread.o\
timers.o tools.o transfer.o vdr.o videodir.o
+OBJS += iconpatch.o
+
DEFINES += $(CDEFINES)
INCLUDES += $(CINCLUDES)
diff -ruN vdr-1.7.36.orig/menu.c vdr-1.7.36/menu.c
--- vdr-1.7.36.orig/menu.c 2013-01-27 12:54:57.741017655 +0100
+++ vdr-1.7.36/menu.c 2013-01-27 12:56:24.235017960 +0100
@@ -8,6 +8,7 @@
*/
#include "menu.h"
+#include "iconpatch.h"
#include <ctype.h>
#include <limits.h>
#include <math.h>
@@ -316,6 +317,14 @@
if (!channel->GroupSep()) {
if (sortMode == csmProvider)
buffer = cString::sprintf("%d\t%s - %s", channel->Number(), channel->Provider(), channel->Name());
+ else if (Setup.WarEagleIcons) {
+ if (channel->Vpid() == 1 || channel->Vpid() == 0)
+ buffer = cString::sprintf("%d\t%s %-30s", channel->Number(), IsLangUtf8() ? ICON_RADIO_UTF8 : ICON_RADIO, channel->Name());
+ else if (channel->Ca() == 0)
+ buffer = cString::sprintf("%d\t%s %-30s", channel->Number(), IsLangUtf8() ? ICON_TV_UTF8 : ICON_TV, channel->Name());
+ else
+ buffer = cString::sprintf("%d\t%s %-30s", channel->Number(), IsLangUtf8() ? ICON_TV_CRYPTED_UTF8 : ICON_TV_CRYPTED, channel->Name());
+ }
else
buffer = cString::sprintf("%d\t%s", channel->Number(), channel->Name());
}
@@ -1044,8 +1053,8 @@
File++;
else
File = timer->File();
- SetText(cString::sprintf("%c\t%d\t%s%s%s\t%02d:%02d\t%02d:%02d\t%s",
- !(timer->HasFlags(tfActive)) ? ' ' : timer->FirstDay() ? '!' : timer->Recording() ? '#' : '>',
+ SetText(cString::sprintf("%s\t%d\t%s%s%s\t%02d:%02d\t%02d:%02d\t%s",
+ !(timer->HasFlags(tfActive)) ? " " : timer->FirstDay() ? Setup.WarEagleIcons ? IsLangUtf8() ? ICON_ARROW_UTF8 : ICON_ARROW : "!" : timer->Recording() ? Setup.WarEagleIcons ? IsLangUtf8() ? ICON_REC_UTF8 : ICON_REC : "#" : Setup.WarEagleIcons ? IsLangUtf8() ? ICON_CLOCK_UTF8 : ICON_CLOCK : ">",
timer->Channel()->Number(),
*name,
*name && **name ? " " : "",
@@ -1319,7 +1328,12 @@
return r;
}
-static const char *TimerMatchChars = " tT";
+static const char *TimerMatchChars[9] =
+{
+ " ", "t", "T",
+ ICON_BLANK, ICON_CLOCK_UH, ICON_CLOCK,
+ ICON_BLANK_UTF8, ICON_CLOCK_UH_UTF8, ICON_CLOCK_UTF8
+};
bool cMenuScheduleItem::Update(bool Force)
{
@@ -1328,17 +1342,17 @@
Timers.GetMatch(event, &timerMatch);
if (Force || timerMatch != OldTimerMatch) {
cString buffer;
- char t = TimerMatchChars[timerMatch];
- char v = event->Vps() && (event->Vps() - event->StartTime()) ? 'V' : ' ';
- char r = event->SeenWithin(30) && event->IsRunning() ? '*' : ' ';
+ const char *t = Setup.WarEagleIcons ? IsLangUtf8() ? TimerMatchChars[timerMatch+6] : TimerMatchChars[timerMatch+3] : TimerMatchChars[timerMatch];
+ const char *v = event->Vps() && (event->Vps() - event->StartTime()) ? Setup.WarEagleIcons ? IsLangUtf8() ? ICON_VPS_UTF8 : ICON_VPS : "V" : " ";
+ const char *r = event->SeenWithin(30) && event->IsRunning() ? Setup.WarEagleIcons ? IsLangUtf8() ? ICON_RUNNING_UTF8 : ICON_RUNNING : "*" : " ";
const char *csn = channel ? channel->ShortName(true) : NULL;
cString eds = event->GetDateString();
if (channel && withDate)
- buffer = cString::sprintf("%d\t%.*s\t%.*s\t%s\t%c%c%c\t%s", channel->Number(), Utf8SymChars(csn, 999), csn, Utf8SymChars(eds, 6), *eds, *event->GetTimeString(), t, v, r, event->Title());
+ buffer = cString::sprintf("%d\t%.*s\t%.*s\t%s\t%s%s%s\t%s", channel->Number(), Utf8SymChars(csn, 6), csn, Utf8SymChars(eds, 6), *eds, *event->GetTimeString(), t, v, r, event->Title());
else if (channel)
- buffer = cString::sprintf("%d\t%.*s\t%s\t%c%c%c\t%s", channel->Number(), Utf8SymChars(csn, 999), csn, *event->GetTimeString(), t, v, r, event->Title());
+ buffer = cString::sprintf("%d\t%.*s\t%s\t%s%s%s\t%s", channel->Number(), Utf8SymChars(csn, 6), csn, *event->GetTimeString(), t, v, r, event->Title());
else
- buffer = cString::sprintf("%.*s\t%s\t%c%c%c\t%s", Utf8SymChars(eds, 6), *eds, *event->GetTimeString(), t, v, r, event->Title());
+ buffer = cString::sprintf("%.*s\t%s\t%s%s%s\t%s", Utf8SymChars(eds, 6), *eds, *event->GetTimeString(), t, v, r, event->Title());
SetText(buffer);
result = true;
}
@@ -2584,6 +2598,7 @@
Add(new cMenuEditStraItem(tr("Setup.OSD$Skin"), &skinIndex, numSkins, skinDescriptions));
if (themes.NumThemes())
Add(new cMenuEditStraItem(tr("Setup.OSD$Theme"), &themeIndex, themes.NumThemes(), themes.Descriptions()));
+ Add(new cMenuEditBoolItem(tr("Setup.OSD$WarEagle icons"), &data.WarEagleIcons));
Add(new cMenuEditPrcItem( tr("Setup.OSD$Left (%)"), &data.OSDLeftP, 0.0, 0.5));
Add(new cMenuEditPrcItem( tr("Setup.OSD$Top (%)"), &data.OSDTopP, 0.0, 0.5));
Add(new cMenuEditPrcItem( tr("Setup.OSD$Width (%)"), &data.OSDWidthP, 0.5, 1.0));
diff -ruN vdr-1.7.36.orig/recording.c vdr-1.7.36/recording.c
--- vdr-1.7.36.orig/recording.c 2013-01-27 12:54:57.740017655 +0100
+++ vdr-1.7.36/recording.c 2013-01-27 12:56:24.236017960 +0100
@@ -8,6 +8,7 @@
*/
#include "recording.h"
+#include "iconpatch.h"
#include <ctype.h>
#include <dirent.h>
#include <errno.h>
@@ -881,7 +882,7 @@
const char *cRecording::Title(char Delimiter, bool NewIndicator, int Level) const
{
- char New = NewIndicator && IsNew() ? '*' : ' ';
+ const char *New = NewIndicator && IsNew() ? Setup.WarEagleIcons ? IsLangUtf8() ? ICON_NEW_UTF8 : ICON_NEW : "*" : " ";
free(titleBuffer);
titleBuffer = NULL;
if (Level < 0 || Level == HierarchyLevels()) {
++++++ vdr-2.0.3-dynamite.patch ++++++
++++ 810 lines (skipped)
++++++ vdr-2.0.4-MainMenuHooks-v1_0_1.patch ++++++
This is a "patch" for the Video Disk Recorder (VDR).
* History
2010-10-15: Version 1.0.1
- return a cOsdObject instead of its subclass cOsdMenu (thanks to
Joe_D@vdrportal)
- version number defines in config.h now follow the ususal conventions:
MAINMENUHOOKSVERSNUM is now a number, the newly added define
MAINMENUHOOKSVERSION is a string (suggested by gnapheus@vdrportal)
- patch is now based on VDR 1.6.0
- updated documentation
2007-02-26: Version 1.0
- Initial revision.
* Authors:
Tobias Grimm <vdr at e-tobi dot net>
Martin Prochnow <nordlicht at martins-kabuff dot de>
Frank Schmirler <vdrdev at schmirler dot de>
Christian Wieninger <cwieninger at gmx dot de>
* Description:
This patch allows plugins to replace the VDR mainmenus "Schedule",
"Channels", "Timers" and "Recordings" by a different implementation.
The patch is based on a suggestion of Christian Wieninger back in 2006
(http://www.linuxtv.org/pipermail/vdr/2006-March/008234.html) It is
meant to be an interim solution for VDR 1.4 until (maybe) VDR 1.5
introduces an official API for this purpose.
* Installation
Change into the VDR source directory, then issue
patch -p1 < path/to/MainMenuHooks-v1_0_1.patch
and recompile.
* Notes for plugin authors
The following code sample shows the required plugin code for replacing
the original Schedule menu:
bool cMyPlugin::Service(const char *Id, void *Data)
{
cOsdMenu **menu = (cOsdMenu**) Data;
if (MySetup.replaceSchedule &&
strcmp(Id, "MainMenuHooksPatch-v1.0::osSchedule") == 0) {
if (menu)
*menu = (cOsdMenu*) MainMenuAction();
return true;
}
return false;
}
Since patch version 1.0.1 the service call may return a cOsdObject
instead of a cOsdMenu. Use "#ifdef MAINMENUHOOKSVERSION" to detect
version 1.0.1.
A plugin can replace more than one menu at a time. Simply replace the
call to MainMenuAction() in the sample above by appropriate code.
Note that a plugin *should* offer a setup option which allows the user
to enable or disable the replacement. "Disabled" would be a reasonable
default setting. By testing for define MAINMENUHOOKSVERSNUM, a plugin
can leave the setup option out at compiletime.
In case there is an internal problem when trying to open the replacement
menu, it is safe to return true even though Data is NULL. However an
OSD message should indicate the problem to the user.
Feel free to ship this patch along with your plugin. However if you
think you need to modify the patch, we'd encourage you to contact the
authors first or at least use a service id which differs in more than
just the version number.
diff -ru vdr.orig/menu.c vdr/menu.c
--- vdr.orig/menu.c 2013-03-18 09:11:48.000000000 +0000
+++ vdr/menu.c 2013-03-27 17:29:58.767375783 +0000
@@ -3379,15 +3379,31 @@
// Initial submenus:
+ cOsdObject *menu = NULL;
switch (State) {
- case osSchedule: AddSubMenu(new cMenuSchedule); break;
- case osChannels: AddSubMenu(new cMenuChannels); break;
- case osTimers: AddSubMenu(new cMenuTimers); break;
- case osRecordings: AddSubMenu(new cMenuRecordings(NULL, 0, OpenSubMenus)); break;
- case osSetup: AddSubMenu(new cMenuSetup); break;
- case osCommands: AddSubMenu(new cMenuCommands(tr("Commands"), &Commands)); break;
+ case osSchedule:
+ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osSchedule", &menu))
+ menu = new cMenuSchedule;
+ break;
+ case osChannels:
+ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osChannels", &menu))
+ menu = new cMenuChannels;
+ break;
+ case osTimers:
+ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osTimers", &menu))
+ menu = new cMenuTimers;
+ break;
+ case osRecordings:
+ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osRecordings", &menu))
+ menu = new cMenuRecordings(NULL, 0, OpenSubMenus);
+ break;
+ case osSetup: menu = new cMenuSetup; break;
+ case osCommands: menu = new cMenuCommands(tr("Commands"), &Commands); break;
default: break;
}
+ if (menu)
+ if (menu->IsMenu())
+ AddSubMenu((cOsdMenu *) menu);
}
cOsdObject *cMenuMain::PluginOsdObject(void)
@@ -3495,13 +3511,34 @@
eOSState state = cOsdMenu::ProcessKey(Key);
HadSubMenu |= HasSubMenu();
+ cOsdObject *menu = NULL;
switch (state) {
- case osSchedule: return AddSubMenu(new cMenuSchedule);
- case osChannels: return AddSubMenu(new cMenuChannels);
- case osTimers: return AddSubMenu(new cMenuTimers);
- case osRecordings: return AddSubMenu(new cMenuRecordings);
- case osSetup: return AddSubMenu(new cMenuSetup);
- case osCommands: return AddSubMenu(new cMenuCommands(tr("Commands"), &Commands));
+ case osSchedule:
+ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osSchedule", &menu))
+ menu = new cMenuSchedule;
+ else
+ state = osContinue;
+ break;
+ case osChannels:
+ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osChannels", &menu))
+ menu = new cMenuChannels;
+ else
+ state = osContinue;
+ break;
+ case osTimers:
+ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osTimers", &menu))
+ menu = new cMenuTimers;
+ else
+ state = osContinue;
+ break;
+ case osRecordings:
+ if (!cPluginManager::CallFirstService("MainMenuHooksPatch-v1.0::osRecordings", &menu))
+ menu = new cMenuRecordings;
+ else
+ state = osContinue;
+ break;
+ case osSetup: menu = new cMenuSetup; break;
+ case osCommands: menu = new cMenuCommands(tr("Commands"), &Commands); break;
case osStopRecord: if (Interface->Confirm(tr("Stop recording?"))) {
cOsdItem *item = Get(Current());
if (item) {
@@ -3553,6 +3590,12 @@
default: break;
}
}
+ if (menu) {
+ if (menu->IsMenu())
+ return AddSubMenu((cOsdMenu *) menu);
+ pluginOsdObject = menu;
+ return osPlugin;
+ }
if (!HasSubMenu() && Update(HadSubMenu))
Display();
if (Key != kNone) {
diff -ru vdr.orig/config.h vdr/config.h
--- vdr.orig/config.h 2013-03-16 15:12:14.000000000 +0000
+++ vdr/config.h 2013-03-27 17:50:05.204415063 +0000
@@ -36,6 +36,10 @@
// plugins to work with newer versions of the core VDR as long as no
// VDR header files have changed.
+// The MainMenuHook Patch's version number:
+#define MAINMENUHOOKSVERSION "1.0.1"
+#define MAINMENUHOOKSVERSNUM 10001 // Version * 10000 + Major * 100 + Minor
+
#define MAXPRIORITY 99
#define MINPRIORITY (-MAXPRIORITY)
#define LIVEPRIORITY 0 // priority used when selecting a device for live viewing
++++++ vdr-2.0.6-wareagle-fix.patch ++++++
Index: b/recording.c
===================================================================
--- a/recording.c
+++ b/recording.c
@@ -1040,7 +1040,7 @@ const char *cRecording::Title(char Delim
Minutes % 60
);
}
- titleBuffer = strdup(cString::sprintf("%02d.%02d.%02d%c%02d:%02d%s%c%c%s",
+ titleBuffer = strdup(cString::sprintf("%02d.%02d.%02d%c%02d:%02d%s%s%c%s",
t->tm_mday,
t->tm_mon + 1,
t->tm_year % 100,
++++++ vdr-1.6.0.tar.bz2 -> vdr-2.0.6.tar.bz2 ++++++
++++ 95716 lines of diff (skipped)
++++++ vdr-shutdown.sh ++++++
--- /var/tmp/diff_new_pack.GMVz5z/_old 2014-04-22 17:09:24.000000000 +0200
+++ /var/tmp/diff_new_pack.GMVz5z/_new 2014-04-22 17:09:24.000000000 +0200
@@ -6,10 +6,12 @@
timer_fname="$4" # filename for next recording
manual_shutdown="$5" # 1 if shutdown reqested by user
+HALT_OPTIONS="-p"
+
test -f /etc/sysconfig/vdr && . /etc/sysconfig/vdr
if [ "$VDR_SHUTDOWN" = "fast" ]; then
-HALT_OPTIONS="-f"
+ HALT_OPTIONS+=" -f"
fi
# you need to add the following line to /etc/sudoers to make this script work
++++++ vdr.macros ++++++
--- /var/tmp/diff_new_pack.GMVz5z/_old 2014-04-22 17:09:24.000000000 +0200
+++ /var/tmp/diff_new_pack.GMVz5z/_new 2014-04-22 17:09:24.000000000 +0200
@@ -1,28 +1,29 @@
-%vdr_install_plugin() \
-for i in %*; do \
- install -d -m 755 %{buildroot}%{vdr_libdir} \
- install -m 755 libvdr-$i.so %{buildroot}%{vdr_libdir}/libvdr-$i.so.%{vdr_apiversion} \
-done \
+%vdrapi %(pkg-config --variable=apiversion vdr)
+
+%vdr_find_locale \
+echo '%%defattr (644, root, root, 755)' > vdrlocale.files \
+find %{buildroot}%{vdr_localedir} -type f -printf '%%P\\n' | while read f; do \
+ echo "%%lang(${f%%%%/*}) %{vdr_localedir}/$f" \
+done >> vdrlocale.files \
+%{nil}
+
+%vdr_find_locale_name(n:) \
+echo '%%defattr (644, root, root, 755)' > vdrlocale.files \
+find %{buildroot}%{vdr_localedir} -type f -name %{-n*}.mo -printf '%%P\\n' | while read f; do \
+ echo "%%lang(${f%%%%/*}) %{vdr_localedir}/$f" \
+done >> %{-n*}.files \
%{nil}
-# for newer plugins, which automatically add the apiversion during build
-%vdr_install_plugin_new() \
-for i in %*; do \
- install -d -m 755 %{buildroot}%{vdr_libdir} \
- install -m 755 libvdr-$i.so.%{vdr_apiversion} %{buildroot}%{vdr_libdir}/libvdr-$i.so.%{vdr_apiversion} \
-done \
+%vdr_dirs \
+%dir %{_libdir}/vdr \
+%dir %{_datadir}/vdr \
+%dir %{vdr_localedir} \
+%dir %{vdr_localedir}/* \
+%dir %{vdr_localedir}/*/LC_MESSAGES \
%{nil}
-%vdr_install_plugin_locale \
-if [ -d locale ]; then \
- cd locale \
- install -d -m 755 %buildroot%{vdr_localedir} \
- for i in *_*; do \
- install -d -m 755 %buildroot%{vdr_localedir}/$i/LC_MESSAGES \
- install -m 644 $i/LC_MESSAGES/*.mo %buildroot%{vdr_localedir}/$i/LC_MESSAGES \
- done \
- cd .. \
-fi \
+%vdr_dirs_no_locale \
+%dir %{_libdir}/vdr \
%{nil}
%vdr_make() \
--
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 suse-module-tools for openSUSE:Factory checked in at 2014-04-22 16:59:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/suse-module-tools (Old)
and /work/SRC/openSUSE:Factory/.suse-module-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "suse-module-tools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/suse-module-tools/suse-module-tools.changes 2014-04-11 14:40:27.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.suse-module-tools.new/suse-module-tools.changes 2014-04-22 16:59:56.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 15 14:32:55 UTC 2014 - mmarek(a)suse.cz
+
+- weak-modules2: Use lsinitrd to list the modules in an initrd, so
+ that initrds with early microcode work (bnc#873209, bnc#873113).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ weak-modules2 ++++++
--- /var/tmp/diff_new_pack.qMx5kZ/_old 2014-04-22 16:59:57.000000000 +0200
+++ /var/tmp/diff_new_pack.qMx5kZ/_new 2014-04-22 16:59:57.000000000 +0200
@@ -75,7 +75,7 @@
}
filter_basenames() {
- sed -rn 's:/?lib/modules/.*/([^/]*\.ko)$:\1:p'
+ sed -rn 's:.*\<lib/modules/.*/([^/]*\.ko)$:\1:p'
}
# Name of the symlink that makes a module available to a given kernel
@@ -297,8 +297,7 @@
xz -cd "$file"
}
-# test if mkinitrd is needed for $krel. This should be decided by initrd itself
-# actually
+# test if mkinitrd is needed for $krel.
# stdin - list of changed modules ("_kernel_" for the whole kernel)
needs_mkinitrd() {
local krel=$1
@@ -327,7 +326,7 @@
if [ ! -e /boot/initrd-$krel ]; then
return 0
fi
- local initrd_basenames=($( (uncomp /boot/initrd-$krel | cpio -t --quiet | filter_basenames; INITRD_MODULES=; . /etc/sysconfig/kernel &>/dev/null; printf '%s.ko\n' $INITRD_MODULES) | sort -u))
+ local initrd_basenames=($( (lsinitrd /boot/initrd-$krel | filter_basenames; INITRD_MODULES=; . /etc/sysconfig/kernel &>/dev/null; printf '%s.ko\n' $INITRD_MODULES) | sort -u))
local i=($(join <(printf '%s\n' "${changed_basenames[@]}") \
<(printf '%s\n' "${initrd_basenames[@]}") ))
log "changed initrd modules for kernel $krel: ${i[@]-none}"
--
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 mdadm for openSUSE:Factory checked in at 2014-04-22 16:59:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mdadm (Old)
and /work/SRC/openSUSE:Factory/.mdadm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mdadm"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mdadm/mdadm.changes 2014-01-30 12:52:07.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.mdadm.new/mdadm.changes 2014-04-22 16:59:53.000000000 +0200
@@ -1,0 +2,35 @@
+Tue Apr 8 07:38:42 UTC 2014 - nfbrown(a)suse.com
+
+- 0001-systemd-various-fixes-for-boot-with-container-arrays.patch
+ various fixes to improve boot-from-DDF or IMSM
+ (bnc#866660)
+
+-------------------------------------------------------------------
+Wed Apr 2 04:41:53 UTC 2014 - nfbrown(a)suse.com
+
+- 0001-DDF-mark-missing-on-assembly-device-properly.patch
+- 0002-DDF-guard-against-pdnum-being-negative.patch
+- 0003-DDF-fix-possible-mdmon-crash-when-updating-metadata.patch
+- 0004-DDF-Don-t-fail-compare_super_ddf-due-to-re-configure.patch
+ More upstream DDF fixes (bnc#866660)
+
+-------------------------------------------------------------------
+Wed Mar 26 04:00:51 UTC 2014 - nfbrown(a)suse.com
+
+- 0001-mdmon-.service-Change-type-of-process-start-up-to-fo.patch
+- 0003-Work-around-architectures-having-statfs.f_type-defin.patch
+- 0004-DDF-report-seq-counter-as-events.patch
+- 0005-DDF-when-first-activating-an-array-record-any-missin.patch
+ Two fixes for DDF (bnc#866660) and a couple of other upstream fixes
+ just for good measure.
+
+-------------------------------------------------------------------
+Tue Mar 4 22:48:20 UTC 2014 - nfbrown(a)suse.com
+
+- 0001-Assemble-allow-load_devices-to-change-the-st-which-i.patch
+ 0002-Assemble-re-arrange-freeing-of-tst-in-load_devices.patch
+ 0003-Assemble-change-load_devices-to-return-most_recent-s.patch
+ Allow RAID5 to be assembled even when firs device listed recently
+ failed (bnc#865221)
+
+-------------------------------------------------------------------
Old:
----
mdadm.shutdown
New:
----
0001-Assemble-allow-load_devices-to-change-the-st-which-i.patch
0001-DDF-mark-missing-on-assembly-device-properly.patch
0001-mdmon-.service-Change-type-of-process-start-up-to-fo.patch
0001-systemd-various-fixes-for-boot-with-container-arrays.patch
0002-Assemble-re-arrange-freeing-of-tst-in-load_devices.patch
0002-DDF-guard-against-pdnum-being-negative.patch
0003-Assemble-change-load_devices-to-return-most_recent-s.patch
0003-DDF-fix-possible-mdmon-crash-when-updating-metadata.patch
0003-Work-around-architectures-having-statfs.f_type-defin.patch
0004-DDF-Don-t-fail-compare_super_ddf-due-to-re-configure.patch
0004-DDF-report-seq-counter-as-events.patch
0005-DDF-when-first-activating-an-array-record-any-missin.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mdadm.spec ++++++
--- /var/tmp/diff_new_pack.54UjYA/_old 2014-04-22 16:59:54.000000000 +0200
+++ /var/tmp/diff_new_pack.54UjYA/_new 2014-04-22 16:59:54.000000000 +0200
@@ -40,7 +40,6 @@
Source5: mkinitrd-setup.sh
Source6: mkinitrd-boot.sh
Source7: mdadm.cron
-Source8: mdadm.shutdown
Source9: systemd-mdadm-last-resort@.timer
Source10: systemd-mdadm-last-resort@.service
# PATCH-FIX-UPSTREAM config-set-auto_seen-after-processing-the-auto-line.patch upstream-bugfix nfbrown(a)suse.de
@@ -99,6 +98,30 @@
Patch27: systemd-mdmon-set-IMSM_NO_PLATFORM-1.patch
# PATCH-FIX-UPSTREAM mdmon-.service-remove-over-ride-of-Standard-IO.patch nfbrown(a)suse.de
Patch28: mdmon-.service-remove-over-ride-of-Standard-IO.patch
+# PATCH-FIX-UPSTREAM 0001-Assemble-allow-load_devices-to-change-the-st-which-i.patch bnc#865221 nfbrown(a)suse.de
+Patch32: 0001-Assemble-allow-load_devices-to-change-the-st-which-i.patch
+# PATCH-FIX-UPSTREAM 0002-Assemble-re-arrange-freeing-of-tst-in-load_devices.patch bnc#865221 nfbrown(a)suse.de
+Patch33: 0002-Assemble-re-arrange-freeing-of-tst-in-load_devices.patch
+# PATCH-FIX-UPSTREAM 0003-Assemble-change-load_devices-to-return-most_recent-s.patch bnc#865221 nfbrown(a)suse.de
+Patch34: 0003-Assemble-change-load_devices-to-return-most_recent-s.patch
+# PATCH-FIX-UPSTREAM 0001-mdmon-.service-Change-type-of-process-start-up-to-fo.patch nfbrown(a)suse.de
+Patch35: 0001-mdmon-.service-Change-type-of-process-start-up-to-fo.patch
+# PATCH-FIX-UPSTREAM 0003-Work-around-architectures-having-statfs.f_type-defin.patch nfbrown(a)suse.de
+Patch36: 0003-Work-around-architectures-having-statfs.f_type-defin.patch
+# PATCH-FIX-UPSTREAM 0004-DDF-report-seq-counter-as-events.patch bnc#866660 nfbrown(a)suse.de
+Patch37: 0004-DDF-report-seq-counter-as-events.patch
+# PATCH-FIX-UPSTREAM 0005-DDF-when-first-activating-an-array-record-any-missin.patch bnc#866660 nfbrown(a)suse.de
+Patch38: 0005-DDF-when-first-activating-an-array-record-any-missin.patch
+# PATCH-FIX-UPSTREAM 0001-DDF-mark-missing-on-assembly-device-properly.patch bnc#866660 nfbrown(a)suse.de
+Patch39: 0001-DDF-mark-missing-on-assembly-device-properly.patch
+# PATCH-FIX-UPSTREAM 0002-DDF-guard-against-pdnum-being-negative.patch bnc#866660 nfbrown(a)suse.de
+Patch40: 0002-DDF-guard-against-pdnum-being-negative.patch
+# PATCH-FIX-UPSTREAM 0003-DDF-fix-possible-mdmon-crash-when-updating-metadata.patch bnc#866660 nfbrown(a)suse.de
+Patch41: 0003-DDF-fix-possible-mdmon-crash-when-updating-metadata.patch
+# PATCH-FIX-UPSTREAM 0004-DDF-Don-t-fail-compare_super_ddf-due-to-re-configure.patch bnc#866660 nfbrown(a)suse.de
+Patch42: 0004-DDF-Don-t-fail-compare_super_ddf-due-to-re-configure.patch
+# PATCH-FIX-UPSTREAM 0001-systemd-various-fixes-for-boot-with-container-arrays.patch bnc#866660 nfbrown(a)suse.de
+Patch43: 0001-systemd-various-fixes-for-boot-with-container-arrays.patch
%define _udevdir %(pkg-config --variable=udevdir udev)
%define _systemdshutdowndir %{_unitdir}/../system-shutdown
@@ -138,6 +161,18 @@
%patch26 -p1
%patch27 -p1
%patch28 -p1
+%patch32 -p1
+%patch33 -p1
+%patch34 -p1
+%patch35 -p1
+%patch36 -p1
+%patch37 -p1
+%patch38 -p1
+%patch39 -p1
+%patch40 -p1
+%patch41 -p1
+%patch42 -p1
+%patch43 -p1
%build
make %{?_smp_mflags} CC="%__cc" CXFLAGS="$RPM_OPT_FLAGS -Wno-error" SUSE=yes
@@ -157,7 +192,6 @@
install -m 755 %{S:7} %{buildroot}/etc/cron.daily/mdadm
install -m 644 %{S:2} %{buildroot}%{_var}/adm/fillup-templates/
install -d %{buildroot}%{_systemdshutdowndir}
-install -m 755 %{S:8} %{buildroot}%{_systemdshutdowndir}/mdadm.shutdown
install -m 644 %{S:9} %{buildroot}%{_unitdir}/mdadm-last-resort@.timer
install -m 644 %{S:10} %{buildroot}%{_unitdir}/mdadm-last-resort@.service
++++++ 0001-Assemble-allow-load_devices-to-change-the-st-which-i.patch ++++++
>From df842e69a3cb7316a06ba45f8f04d7b9beb0170f Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Tue, 25 Feb 2014 14:54:34 +1100
Subject: [PATCH 1/3] Assemble: allow load_devices to change the 'st' which is
passed in.
The given 'st' might not be best. Making this interface change
will allow load_devices to return a better 'st'.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
Assemble.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
--- mdadm-3.3.orig/Assemble.c
+++ mdadm-3.3/Assemble.c
@@ -551,7 +551,7 @@ struct devs {
};
static int load_devices(struct devs *devices, char *devmap,
- struct mddev_ident *ident, struct supertype *st,
+ struct mddev_ident *ident, struct supertype **stp,
struct mddev_dev *devlist, struct context *c,
struct mdinfo *content,
int mdfd, char *mddev,
@@ -567,6 +567,7 @@ static int load_devices(struct devs *dev
int most_recent = -1;
int bestcnt = 0;
int *best = *bestp;
+ struct supertype *st = *stp;
for (tmpdev = devlist; tmpdev; tmpdev=tmpdev->next) {
char *devname = tmpdev->devname;
@@ -610,6 +611,7 @@ static int load_devices(struct devs *dev
close(mdfd);
free(devices);
free(devmap);
+ *stp = st;
return -1;
}
tst->ss->getinfo_super(tst, content, devmap + devcnt * content->array.raid_disks);
@@ -636,6 +638,7 @@ static int load_devices(struct devs *dev
close(dfd);
free(devices);
free(devmap);
+ *stp = st;
return -1;
}
if (strcmp(c->update, "uuid")==0 &&
@@ -675,6 +678,7 @@ static int load_devices(struct devs *dev
close(mdfd);
free(devices);
free(devmap);
+ *stp = st;
return -1;
}
tst->ss->getinfo_super(tst, content, devmap + devcnt * content->array.raid_disks);
@@ -759,6 +763,7 @@ static int load_devices(struct devs *dev
close(mdfd);
free(devices);
free(devmap);
+ *stp = st;
return -1;
}
if (best[i] == -1
@@ -772,6 +777,7 @@ static int load_devices(struct devs *dev
*most_recentp = most_recent;
*bestcntp = bestcnt;
*bestp = best;
+ *stp = st;
return devcnt;
}
@@ -1432,7 +1438,7 @@ try_again:
/* Ok, no bad inconsistancy, we can try updating etc */
devices = xcalloc(num_devs, sizeof(*devices));
devmap = xcalloc(num_devs, content->array.raid_disks);
- devcnt = load_devices(devices, devmap, ident, st, devlist,
+ devcnt = load_devices(devices, devmap, ident, &st, devlist,
c, content, mdfd, mddev,
&most_recent, &bestcnt, &best, inargv);
if (devcnt < 0)
++++++ 0001-DDF-mark-missing-on-assembly-device-properly.patch ++++++
>From e5a03804dc27e662be94290c62760dbc544c0211 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Tue, 1 Apr 2014 16:15:06 +1100
Subject: [PATCH 1/4] DDF: mark missing-on-assembly device properly.
As well as removing from the array we really should mark
it is 'failed', and mark the array as degraded.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
super-ddf.c | 31 ++++++++++++++++++++++++++++---
1 file changed, 28 insertions(+), 3 deletions(-)
--- mdadm-3.3.orig/super-ddf.c
+++ mdadm-3.3/super-ddf.c
@@ -4117,7 +4117,7 @@ static int ddf_open_new(struct supertype
return 0;
}
-static void handle_missing(struct ddf_super *ddf, int inst)
+static void handle_missing(struct ddf_super *ddf, struct active_array *a, int inst)
{
/* This member array is being activated. If any devices
* are missing they must now be marked as failed.
@@ -4126,7 +4126,9 @@ static void handle_missing(struct ddf_su
unsigned int n_bvd;
struct vcl *vcl;
struct dl *dl;
+ int pd;
int n;
+ int state;
for (n = 0; ; n++) {
vc = find_vdcr(ddf, inst, n, &n_bvd, &vcl);
@@ -4138,7 +4140,30 @@ static void handle_missing(struct ddf_su
if (dl)
/* Found this disk, so not missing */
continue;
- vc->phys_refnum[n_bvd] = cpu_to_be32(0);
+
+ /* Mark the device as failed/missing. */
+ pd = find_phys(ddf, vc->phys_refnum[n_bvd]);
+ if (pd >= 0 && be16_and(ddf->phys->entries[pd].state,
+ cpu_to_be16(DDF_Online))) {
+ be16_clear(ddf->phys->entries[pd].state,
+ cpu_to_be16(DDF_Online));
+ be16_set(ddf->phys->entries[pd].state,
+ cpu_to_be16(DDF_Failed|DDF_Missing));
+ vc->phys_refnum[n_bvd] = cpu_to_be32(0);
+ ddf_set_updates_pending(ddf);
+ }
+
+ /* Mark the array as Degraded */
+ state = get_svd_state(ddf, vcl);
+ if (ddf->virt->entries[inst].state !=
+ ((ddf->virt->entries[inst].state & ~DDF_state_mask)
+ | state)) {
+ ddf->virt->entries[inst].state =
+ (ddf->virt->entries[inst].state & ~DDF_state_mask)
+ | state;
+ a->check_degraded = 1;
+ ddf_set_updates_pending(ddf);
+ }
}
}
@@ -4157,7 +4182,7 @@ static int ddf_set_array_state(struct ac
int inst = a->info.container_member;
int old = ddf->virt->entries[inst].state;
if (consistent == 2) {
- handle_missing(ddf, inst);
+ handle_missing(ddf, a, inst);
/* Should check if a recovery should be started FIXME */
consistent = 1;
if (!is_resync_complete(&a->info))
++++++ 0001-mdmon-.service-Change-type-of-process-start-up-to-fo.patch ++++++
>From 2167de78aab599e7a7a8d057ef04bf18527bc129 Mon Sep 17 00:00:00 2001
From: Pawel Baldysiak <pawel.baldysiak(a)intel.com>
Date: Thu, 6 Mar 2014 15:51:44 +0100
Subject: [PATCH 1/6] mdmon@.service: Change type of process start-up to
'forking'.
Mdadm does not wait enough time when mdmon is started by systemd.
It causes various problems with behaviour of a RAID volume with external metadata.
For example: mdmon does not update a value of checkpoint during migration
and second RAID5 volume is read-only after reboot done during
container reshape (both problems occur with IMSM matadata).
If a type of process start-up is changed to 'forking', systemctl will
wait until mdmon (parent) process exits after calling fork.
This way mdmon will always be fully initialized after start_mdmon
and these problems will not occur.
In this case it is recommended to add a path to PIDFile, so that systemd
does not have to guess a PID of the mdmon process.
Signed-off-by: Pawel Baldysiak <pawel.baldysiak(a)intel.com>
Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz(a)intel.com>
Reviewed-by: Lukasz Dorau <lukasz.dorau(a)intel.com>
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
systemd/mdmon@.service | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/systemd/mdmon@.service b/systemd/mdmon@.service
index 5520cd03137c..304b26e890c7 100644
--- a/systemd/mdmon@.service
+++ b/systemd/mdmon@.service
@@ -14,5 +14,7 @@ Before=initrd-switch-root.target
# mdmon should never complain due to lack of a platform,
# that is mdadm's job if at all.
Environment=IMSM_NO_PLATFORM=1
-ExecStart=/sbin/mdmon --foreground %I
+ExecStart=/sbin/mdmon %I
+Type=forking
+PIDFile=/run/mdadm/%I.pid
KillMode=none
--
1.8.3.1.487.g3e7a5b4
++++++ 0001-systemd-various-fixes-for-boot-with-container-arrays.patch ++++++
>From 8d1d32bb33da1bd08a398d26f364b84e69ac7b41 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Tue, 8 Apr 2014 17:22:18 +1000
Subject: [PATCH] systemd: various fixes for boot with container-arrays.
1/ Add systemd shutdown script to ensure DDF and IMSM are
clean before we actually shutdown
2/ Get udev to tell systemd to run the mdmon(a)mdXXX.service
units when a member array appears.
If we boot off a member array (with dracut at least),
the mdmon started in the initramfs will lose track of
/sys etc, so we need to restart it.
systemd will try to forget about it too (but not actually
kill it because we said not to do this).
Having udev tell it to start it will allow a new mdmon to
run which can see /sys, and systemd will know about it.
3/ Always use --offroot and --takeover when starting mdmon with
systemd
--offroot is needed else shutdown will hang.
--takeover is needed incase an mdmon was started earlier
(e.g. in initramfs).
Neither hurt if they aren't actually needed.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
Makefile | 1 +
systemd/mdadm.shutdown | 4 ++++
systemd/mdmon@.service | 12 ++++++++++--
udev-md-raid-arrays.rules | 4 ++++
4 files changed, 19 insertions(+), 2 deletions(-)
create mode 100644 systemd/mdadm.shutdown
--- mdadm-3.3.orig/Makefile
+++ mdadm-3.3/Makefile
@@ -286,6 +286,7 @@ install-udev: udev-md-raid-arrays.rules
install-systemd: systemd/mdmon@.service
$(INSTALL) -D -m 644 systemd/mdmon@.service $(DESTDIR)$(SYSTEMD_DIR)/mdmon@.service
$(INSTALL) -D -m 644 systemd/mdmonitor.service $(DESTDIR)$(SYSTEMD_DIR)/mdmonitor.service
+ $(INSTALL) -D -m 755 systemd/mdadm.shutdown $(DESTDIR)$(SYSTEMD_DIR)-shutdown/mdadm.shutdown
[ -f /etc/SuSE-release -o -n "$(SUSE)" ] && $(INSTALL) -D -m 755 systemd/SUSE-mdadm_env.sh $(DESTDIR)$(SYSTEMD_DIR)/../scripts/mdadm_env.sh || true
uninstall:
--- /dev/null
+++ mdadm-3.3/systemd/mdadm.shutdown
@@ -0,0 +1,4 @@
+#!/bin/sh
+# We need to ensure all md arrays with external metadata
+# (e.g. IMSM, DDF) are clean before completing the shutdown.
+/sbin/mdadm --wait-clean --scan
--- mdadm-3.3.orig/systemd/mdmon@.service
+++ mdadm-3.3/systemd/mdmon@.service
@@ -14,7 +14,15 @@ Before=initrd-switch-root.target
# mdmon should never complain due to lack of a platform,
# that is mdadm's job if at all.
Environment=IMSM_NO_PLATFORM=1
-ExecStart=/sbin/mdmon %I
+# The mdmon starting in the initramfs (with dracut at least)
+# cannot see sysfs after root is mounted, so we will have to
+# 'takeover'. As the '--offroot --takeover' don't hurt when
+# not necessary, are are useful with root-on-md in dracut,
+# have them always present.
+ExecStart=/sbin/mdmon --offroot --takeover %I
Type=forking
-PIDFile=/run/mdadm/%I.pid
+# Don't set the PIDFile. It isn't necessary (systemd can work
+# it out) and systemd will remove it when transitioning from
+# initramfs to rootfs.
+#PIDFile=/run/mdadm/%I.pid
KillMode=none
--- mdadm-3.3.orig/udev-md-raid-arrays.rules
+++ mdadm-3.3/udev-md-raid-arrays.rules
@@ -34,4 +34,8 @@ ENV{ID_FS_USAGE}=="filesystem|other", EN
ENV{MD_LEVEL}=="raid[1-9]*", ENV{SYSTEMD_WANTS}+="mdmonitor.service"
+# Tell systemd to run mdmon for our container, if we need it.
+ENV{MD_LEVEL}=="raid[1-9]*", ENV{MD_CONTAINER}=="?*", PROGRAM="/usr/bin/readlink $env{MD_CONTAINER}", ENV{MD_MON_THIS}="%c"
+ENV{MD_MON_THIS}=="?*", PROGRAM="/usr/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon(a)%c.service"
+
LABEL="md_end"
++++++ 0002-Assemble-re-arrange-freeing-of-tst-in-load_devices.patch ++++++
>From 9ee314dab91dc8479d2e981d0849ce777f7ea492 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Tue, 25 Feb 2014 14:59:12 +1100
Subject: [PATCH 2/3] Assemble: re-arrange freeing of 'tst' in load_devices().
When we return in error, we need to free(tst), and ->free_super(tst);
Sometimes we didn't.
Also the final ->free_super(tst) should be followed by free(tst)
but wasn't.
Move that file free forward in the code a bit as we will want to use
the tst there in the next patch.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
Assemble.c | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
--- mdadm-3.3.orig/Assemble.c
+++ mdadm-3.3/Assemble.c
@@ -572,6 +572,7 @@ static int load_devices(struct devs *dev
for (tmpdev = devlist; tmpdev; tmpdev=tmpdev->next) {
char *devname = tmpdev->devname;
struct stat stb;
+ struct supertype *tst;
int i;
if (tmpdev->used != 1)
@@ -582,7 +583,6 @@ static int load_devices(struct devs *dev
int dfd;
/* prepare useful information in info structures */
struct stat stb2;
- struct supertype *tst;
int err;
fstat(mdfd, &stb2);
@@ -611,6 +611,8 @@ static int load_devices(struct devs *dev
close(mdfd);
free(devices);
free(devmap);
+ tst->ss->free_super(tst);
+ free(tst);
*stp = st;
return -1;
}
@@ -660,15 +662,13 @@ static int load_devices(struct devs *dev
else
bitmap_done = 1;
}
- tst->ss->free_super(tst);
} else
#endif
{
- struct supertype *tst = dup_super(st);
- int dfd;
- dfd = dev_open(devname,
- tmpdev->disposition == 'I'
- ? O_RDWR : (O_RDWR|O_EXCL));
+ int dfd = dev_open(devname,
+ tmpdev->disposition == 'I'
+ ? O_RDWR : (O_RDWR|O_EXCL));
+ tst = dup_super(st);
if (dfd < 0 || tst->ss->load_super(tst, dfd, NULL) != 0) {
pr_err("cannot re-read metadata from %s - aborting\n",
@@ -678,11 +678,12 @@ static int load_devices(struct devs *dev
close(mdfd);
free(devices);
free(devmap);
+ tst->ss->free_super(tst);
+ free(tst);
*stp = st;
return -1;
}
tst->ss->getinfo_super(tst, content, devmap + devcnt * content->array.raid_disks);
- tst->ss->free_super(tst);
close(dfd);
}
@@ -705,6 +706,8 @@ static int load_devices(struct devs *dev
> devices[most_recent].i.events)
most_recent = devcnt;
}
+ tst->ss->free_super(tst);
+ free(tst);
if (content->array.level == LEVEL_MULTIPATH)
/* with multipath, the raid_disk from the superblock is meaningless */
++++++ 0002-DDF-guard-against-pdnum-being-negative.patch ++++++
>From a44e993e37a76561fa30e932b93d85fab9bcc272 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Wed, 2 Apr 2014 13:34:10 +1100
Subject: [PATCH 2/4] DDF: guard against ->pdnum being negative.
It is conceivable that ->pdnum could be -1, though only if
the metadata is corrupt.
We should be careful not to use it if it is.
Also remove an assignment for pdnum to ->container_member.
This is never used and cannot possibly mean anything.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
super-ddf.c | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
--- mdadm-3.3.orig/super-ddf.c
+++ mdadm-3.3/super-ddf.c
@@ -2465,7 +2465,11 @@ static struct extent *get_extents(struct
struct extent *rv;
int n = 0;
unsigned int i;
- __u16 state = be16_to_cpu(ddf->phys->entries[dl->pdnum].state);
+ __u16 state;
+
+ if (dl->pdnum < 0)
+ return NULL;
+ state = be16_to_cpu(ddf->phys->entries[dl->pdnum].state);
if ((state & (DDF_Online|DDF_Failed|DDF_Missing)) != DDF_Online)
return NULL;
@@ -2900,7 +2904,7 @@ static int remove_from_super_ddf(struct
if (dl->major == dk->major &&
dl->minor == dk->minor)
break;
- if (!dl)
+ if (!dl || dl->pdnum < 0)
return -1;
if (st->update_tail) {
@@ -4096,7 +4100,7 @@ static int ddf_open_new(struct supertype
if (dl->major == dev->disk.major &&
dl->minor == dev->disk.minor)
break;
- if (!dl) {
+ if (!dl || dl->pdnum < 0) {
pr_err("%s: device %d/%d of subarray %d not found in meta data\n",
__func__, dev->disk.major, dev->disk.minor, n);
return -1;
@@ -4728,6 +4732,9 @@ static void ddf_process_update(struct su
for (dl = ddf->dlist; dl; dl = dl->next) {
unsigned int vn = 0;
int in_degraded = 0;
+
+ if (dl->pdnum < 0)
+ continue;
for (vcl = ddf->conflist; vcl ; vcl = vcl->next) {
unsigned int dn, ibvd;
const struct vd_config *conf;
@@ -4991,7 +4998,11 @@ static struct mdinfo *ddf_activate_spare
int is_dedicated = 0;
struct extent *ex;
unsigned int j;
- be16 state = ddf->phys->entries[dl->pdnum].state;
+ be16 state;
+
+ if (dl->pdnum < 0)
+ continue;
+ state = ddf->phys->entries[dl->pdnum].state;
if (be16_and(state,
cpu_to_be16(DDF_Failed|DDF_Missing)) ||
!be16_and(state,
@@ -5082,7 +5093,6 @@ static struct mdinfo *ddf_activate_spare
di->recovery_start = 0;
di->data_offset = pos;
di->component_size = a->info.component_size;
- di->container_member = dl->pdnum;
di->next = rv;
rv = di;
dprintf("%x:%x (%08x) to be %d at %llu\n",
@@ -5140,7 +5150,7 @@ static struct mdinfo *ddf_activate_spare
if (dl->major == di->disk.major
&& dl->minor == di->disk.minor)
break;
- if (!dl) {
+ if (!dl || dl->pdnum < 0) {
pr_err("%s: BUG: can't find disk %d (%d/%d)\n",
__func__, di->disk.raid_disk,
di->disk.major, di->disk.minor);
++++++ 0003-Assemble-change-load_devices-to-return-most_recent-s.patch ++++++
>From 56bbc588f7f0f3bdd3ec23f02109b427c1d3b8f1 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Tue, 25 Feb 2014 15:04:16 +1100
Subject: [PATCH 3/3] Assemble: change load_devices to return most_recent 'st'
value.
This means that
st->ss->getinfo_super(st, content, NULL);
clean = content->array.state & 1;
will get an up-to-date value for 'clean'. This fix allows
tests/03r5assem-failed
to work.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
Assemble.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--- mdadm-3.3.orig/Assemble.c
+++ mdadm-3.3/Assemble.c
@@ -703,8 +703,12 @@ static int load_devices(struct devs *dev
if (devices[devcnt].i.disk.state == 6) {
if (most_recent < 0 ||
devices[devcnt].i.events
- > devices[most_recent].i.events)
+ > devices[most_recent].i.events) {
+ struct supertype *tmp = tst;
+ tst = st;
+ st = tmp;
most_recent = devcnt;
+ }
}
tst->ss->free_super(tst);
free(tst);
++++++ 0003-DDF-fix-possible-mdmon-crash-when-updating-metadata.patch ++++++
>From 188d31ed2b6dc195a4be1f5620ce2e5185d4e789 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Wed, 2 Apr 2014 15:14:43 +1100
Subject: [PATCH 3/4] DDF: fix possible mdmon crash when updating metadata.
Testing 'c' and then using 'vdc' assumes that the two are in sync,
but sometimes they aren't.
Testing 'vdc' is safer.
This avoids a crash in some cases when failing/removing/added devices
to a DDF.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
super-ddf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- mdadm-3.3.orig/super-ddf.c
+++ mdadm-3.3/super-ddf.c
@@ -3000,7 +3000,7 @@ static int __write_ddf_structure(struct
(const struct vd_config **)&vdc,
&dummy);
}
- if (c) {
+ if (vdc) {
dprintf("writing conf record %i on disk %08x for %s/%u\n",
i, be32_to_cpu(d->disk.refnum),
guid_str(vdc->guid),
++++++ 0003-Work-around-architectures-having-statfs.f_type-defin.patch ++++++
>From 76d0f1886fdef89891d617df7e7f3fde89a38e1a Mon Sep 17 00:00:00 2001
From: Jes Sorensen <Jes.Sorensen(a)redhat.com>
Date: Wed, 19 Mar 2014 14:26:02 +0100
Subject: [PATCH 3/6] Work around architectures having statfs.f_type defined as
long
Having RAMFS_MAGIC defined as 0x858458f6 causing problems when trying
to compare it directly against statfs.f_type being cast from long to
unsigned long.
This hack is extremly ugly, but it should at least do the right thing
for every situation.
Thanks to Arnd Bergmann for suggesting the fix.
Signed-off-by: Jes Sorensen <Jes.Sorensen(a)redhat.com>
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
util.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--- mdadm-3.3.orig/util.c
+++ mdadm-3.3/util.c
@@ -1948,9 +1948,13 @@ int in_initrd(void)
{
/* This is based on similar function in systemd. */
struct statfs s;
+ /* statfs.f_type is signed long on s390x and MIPS, causing all
+ sorts of sign extension problems with RAMFS_MAGIC being
+ defined as 0x858458f6 */
return statfs("/", &s) >= 0 &&
((unsigned long)s.f_type == TMPFS_MAGIC ||
- (unsigned long)s.f_type == RAMFS_MAGIC);
+ ((unsigned long)s.f_type & 0xFFFFFFFFUL) ==
+ ((unsigned long)RAMFS_MAGIC & 0xFFFFFFFFUL));
}
void reopen_mddev(int mdfd)
++++++ 0004-DDF-Don-t-fail-compare_super_ddf-due-to-re-configure.patch ++++++
>From f43f5b32991c7f5a188940b00989c27f87feee81 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Wed, 2 Apr 2014 15:26:35 +1100
Subject: [PATCH 4/4] DDF: Don't fail compare_super_ddf due to re-configure
changes.
It is possible that one device has seem some reconfig but the other
hasn't. In that case they are still the "same" DDF, even though
one might be older. Such age will be detected by 'seq' differences.
If A is new and B is old, then it is import that
mdadm -I B
mdadm -I A
doesn't get confused because A has the same uuid as B, but compare_super fails.
So: if the seq numbers are different, then just accept as two
different superblocks.
If they are the same, then look to copy data from new to old.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
super-ddf.c | 44 +++++++++++---------------------------------
1 file changed, 11 insertions(+), 33 deletions(-)
--- mdadm-3.3.orig/super-ddf.c
+++ mdadm-3.3/super-ddf.c
@@ -3937,47 +3937,25 @@ static int compare_super_ddf(struct supe
if (memcmp(first->anchor.guid, second->anchor.guid, DDF_GUID_LEN) != 0)
return 2;
- if (first->max_part != second->max_part ||
- !be16_eq(first->phys->used_pdes, second->phys->used_pdes) ||
- !be16_eq(first->virt->populated_vdes,
- second->virt->populated_vdes)) {
- dprintf("%s: PD/VD number mismatch\n", __func__);
- return 3;
- }
+ /* It is only OK to compare info in the anchor. Anything else
+ * could be changing due to a reconfig so must be ignored.
+ * guid really should be enough anyway.
+ */
- max_pds = be16_to_cpu(first->phys->used_pdes);
- for (dl2 = second->dlist; dl2; dl2 = dl2->next) {
- for (pd = 0; pd < max_pds; pd++)
- if (be32_eq(first->phys->entries[pd].refnum,
- dl2->disk.refnum))
- break;
- if (pd == max_pds) {
- dprintf("%s: no match for disk %08x\n", __func__,
- be32_to_cpu(dl2->disk.refnum));
- return 3;
- }
+ if (!be32_eq(first->active->seq, second->active->seq)) {
+ dprintf("%s: sequence number mismatch %u<->%u\n", __func__,
+ be32_to_cpu(first->active->seq),
+ be32_to_cpu(second->active->seq));
+ return 0;
}
- max_vds = be16_to_cpu(first->active->max_vd_entries);
- for (vl2 = second->conflist; vl2; vl2 = vl2->next) {
- if (!be32_eq(vl2->conf.magic, DDF_VD_CONF_MAGIC))
- continue;
- for (vd = 0; vd < max_vds; vd++)
- if (!memcmp(first->virt->entries[vd].guid,
- vl2->conf.guid, DDF_GUID_LEN))
- break;
- if (vd == max_vds) {
- dprintf("%s: no match for VD config\n", __func__);
- return 3;
- }
- }
- /* FIXME should I look at anything else? */
-
/*
At this point we are fairly sure that the meta data matches.
But the new disk may contain additional local data.
Add it to the super block.
*/
+ max_vds = be16_to_cpu(first->active->max_vd_entries);
+ max_pds = be16_to_cpu(first->phys->used_pdes);
for (vl2 = second->conflist; vl2; vl2 = vl2->next) {
for (vl1 = first->conflist; vl1; vl1 = vl1->next)
if (!memcmp(vl1->conf.guid, vl2->conf.guid,
++++++ 0004-DDF-report-seq-counter-as-events.patch ++++++
>From eba2859f50bc0de6da7938a9ec6cfe4ceef43874 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Wed, 26 Mar 2014 14:19:43 +1100
Subject: [PATCH 4/6] DDF: report seq counter as events.
Also don't treat two devices with different seq numbers as completely
unrelated.
This allows split-brain detection to work properly for ddf.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
super-ddf.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
--- mdadm-3.3.orig/super-ddf.c
+++ mdadm-3.3/super-ddf.c
@@ -1929,6 +1929,8 @@ static void getinfo_super_ddf(struct sup
info->disk.state = (1 << MD_DISK_SYNC) | (1 << MD_DISK_ACTIVE);
else
info->disk.state = 1 << MD_DISK_FAULTY;
+
+ info->events = be32_to_cpu(ddf->active->seq);
} else {
info->disk.number = -1;
info->disk.raid_disk = -1;
@@ -2029,6 +2031,7 @@ static void getinfo_super_ddf_bvd(struct
(be16_to_cpu(ddf->phys->entries[info->disk.number].state) & DDF_Online) &&
!(be16_to_cpu(ddf->phys->entries[info->disk.number].state) & DDF_Failed))
info->disk.state = (1<<MD_DISK_SYNC)|(1<<MD_DISK_ACTIVE);
+ info->events = be32_to_cpu(ddf->active->seq);
}
info->container_member = ddf->currentconf->vcnum;
@@ -3841,7 +3844,7 @@ static struct mdinfo *container_content_
dev->disk.state = (1<<MD_DISK_SYNC)|(1<<MD_DISK_ACTIVE);
dev->recovery_start = MaxSector;
- dev->events = be32_to_cpu(ddf->primary.seq);
+ dev->events = be32_to_cpu(ddf->active->seq);
dev->data_offset =
be64_to_cpu(LBA_OFFSET(ddf, bvd)[iphys]);
dev->component_size = be64_to_cpu(bvd->blocks);
@@ -3928,12 +3931,6 @@ static int compare_super_ddf(struct supe
if (memcmp(first->anchor.guid, second->anchor.guid, DDF_GUID_LEN) != 0)
return 2;
- if (!be32_eq(first->active->seq, second->active->seq)) {
- dprintf("%s: sequence number mismatch %u<->%u\n", __func__,
- be32_to_cpu(first->active->seq),
- be32_to_cpu(second->active->seq));
- return 3;
- }
if (first->max_part != second->max_part ||
!be16_eq(first->phys->used_pdes, second->phys->used_pdes) ||
!be16_eq(first->virt->populated_vdes,
++++++ 0005-DDF-when-first-activating-an-array-record-any-missin.patch ++++++
>From 5a46fcd7f5b1bd1bf190784f112a15f383262af5 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb(a)suse.de>
Date: Wed, 26 Mar 2014 14:26:53 +1100
Subject: [PATCH 5/6] DDF: when first activating an array, record any missing
devices.
We must remember they are missing so that if they re-appear we
don't get confused.
Signed-off-by: NeilBrown <neilb(a)suse.de>
---
super-ddf.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
--- mdadm-3.3.orig/super-ddf.c
+++ mdadm-3.3/super-ddf.c
@@ -511,6 +511,8 @@ static void pr_state(const struct ddf_su
static void _ddf_set_updates_pending(struct ddf_super *ddf, const char *func)
{
+ if (ddf->updates_pending)
+ return;
ddf->updates_pending = 1;
ddf->active->seq = cpu_to_be32((be32_to_cpu(ddf->active->seq)+1));
pr_state(ddf, func);
@@ -4115,6 +4117,31 @@ static int ddf_open_new(struct supertype
return 0;
}
+static void handle_missing(struct ddf_super *ddf, int inst)
+{
+ /* This member array is being activated. If any devices
+ * are missing they must now be marked as failed.
+ */
+ struct vd_config *vc;
+ unsigned int n_bvd;
+ struct vcl *vcl;
+ struct dl *dl;
+ int n;
+
+ for (n = 0; ; n++) {
+ vc = find_vdcr(ddf, inst, n, &n_bvd, &vcl);
+ if (!vc)
+ break;
+ for (dl = ddf->dlist; dl; dl = dl->next)
+ if (be32_eq(dl->disk.refnum, vc->phys_refnum[n_bvd]))
+ break;
+ if (dl)
+ /* Found this disk, so not missing */
+ continue;
+ vc->phys_refnum[n_bvd] = cpu_to_be32(0);
+ }
+}
+
/*
* The array 'a' is to be marked clean in the metadata.
* If '->resync_start' is not ~(unsigned long long)0, then the array is only
@@ -4130,6 +4157,7 @@ static int ddf_set_array_state(struct ac
int inst = a->info.container_member;
int old = ddf->virt->entries[inst].state;
if (consistent == 2) {
+ handle_missing(ddf, inst);
/* Should check if a recovery should be started FIXME */
consistent = 1;
if (!is_resync_complete(&a->info))
--
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 kdump for openSUSE:Factory checked in at 2014-04-22 16:59:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdump (Old)
and /work/SRC/openSUSE:Factory/.kdump.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdump"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdump/kdump.changes 2014-03-31 20:43:28.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdump.new/kdump.changes 2014-04-22 16:59:51.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 15 06:26:08 UTC 2014 - ptesarik(a)suse.cz
+
+- kdump-0.8.10-dracut-xz-opt.patch: Use fast xz compression with
+ dracut (bnc#870549).
+
+-------------------------------------------------------------------
New:
----
kdump-0.8.10-dracut-xz-opt.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdump.spec ++++++
--- /var/tmp/diff_new_pack.DUJcED/_old 2014-04-22 16:59:52.000000000 +0200
+++ /var/tmp/diff_new_pack.DUJcED/_new 2014-04-22 16:59:52.000000000 +0200
@@ -59,6 +59,7 @@
Source: %{name}-%{version}.tar.bz2
Source2: %{name}-%{version}-rpmlintrc
Source3: kdump.service
+Patch1: %{name}-%{version}-dracut-xz-opt.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# rename "kdump-helpers" (10.3) -> "kdump" (11.0/SP2)
Provides: kdump-helpers = %{version}
@@ -96,6 +97,7 @@
%prep
%setup
+%patch1 -p1
%build
export CFLAGS="%optflags"
++++++ kdump-0.8.10-dracut-xz-opt.patch ++++++
From: Petr Tesarik <ptesarik(a)suse.cz>
Subject: Use fast xz compression with dracut
References: bnc#870549
Patch-mainline: queued for v0.8.11
Signed-off-by: Petr Tesarik <ptesarik(a)suse.cz>
---
init/mkdumprd | 1 +
1 file changed, 1 insertion(+)
--- a/init/mkdumprd
+++ b/init/mkdumprd
@@ -124,6 +124,7 @@ function run_dracut()
. /lib/kdump/setup-kdump.functions
DRACUT_ARGS="--force --hostonly --omit 'systemd plymouth resume usrmount'"
+ DRACUT_ARGS="$DRACUT_ARGS --compress='xz -0 --check=crc32'"
# add mount points
kdump_get_mountpoints || return 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-pages for openSUSE:Factory checked in at 2014-04-22 15:47:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/man-pages (Old)
and /work/SRC/openSUSE:Factory/.man-pages.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "man-pages"
Changes:
--------
--- /work/SRC/openSUSE:Factory/man-pages/man-pages.changes 2014-04-17 14:08:27.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.man-pages.new/man-pages.changes 2014-04-22 15:47:11.000000000 +0200
@@ -1,0 +2,13 @@
+Tue Apr 22 07:15:29 UTC 2014 - pgajdos(a)suse.com
+
+- update to version 3.65:
+ * new and rewritten pages:
+ inet_net_pton.3
+ * newly documented interfaces in existing pages
+ fallocate.2: Document FALLOC_FL_COLLAPSE_RANGE
+ prctl.2: Document PR_SET_THP_DISABLE and PR_GET_THP_DISABLE
+ proc.5: Document /proc/[pid]/stack
+ Document /proc/[pid]/clear_refs
+- dropped proc.5.patch (upstreamed)
+
+-------------------------------------------------------------------
Old:
----
man-pages-3.64.tar.xz
man-pages-proc.5.patch
New:
----
man-pages-3.65.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ man-pages.spec ++++++
--- /var/tmp/diff_new_pack.4UBli1/_old 2014-04-22 15:47:12.000000000 +0200
+++ /var/tmp/diff_new_pack.4UBli1/_new 2014-04-22 15:47:12.000000000 +0200
@@ -17,7 +17,7 @@
Name: man-pages
-Version: 3.64
+Version: 3.65
Release: 0
Summary: Linux Manual Pages
License: BSD-3-Clause and GPL-2.0+ and MIT
@@ -29,7 +29,6 @@
Source1: man-pages-addons.tar.bz2
Patch0: man-pages.eal3.diff
Patch3: %{name}_gai.conf-reference.patch
-Patch4: %{name}-proc.5.patch
Patch5: %{name}-tty_ioctl.patch
BuildRequires: fdupes
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -49,7 +48,6 @@
%setup -q -a1
%patch0 -p2
%patch3
-%patch4
%patch5 -p1
find -name "*.orig" | xargs rm -fv
++++++ man-pages-3.64.tar.xz -> man-pages-3.65.tar.xz ++++++
++++ 14679 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 otrs for openSUSE:13.1:Update checked in at 2014-04-22 15:33:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/otrs (Old)
and /work/SRC/openSUSE:13.1:Update/.otrs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "otrs"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.si4lHh/_old 2014-04-22 15:33:36.000000000 +0200
+++ /var/tmp/diff_new_pack.si4lHh/_new 2014-04-22 15:33:36.000000000 +0200
@@ -1 +1 @@
-<link package='otrs.2624' cicount='copy' />
+<link package='otrs.2716' cicount='copy' />
--
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 otrs.2716 for openSUSE:12.3:Update checked in at 2014-04-22 15:33:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/otrs.2716 (Old)
and /work/SRC/openSUSE:12.3:Update/.otrs.2716.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "otrs.2716"
Changes:
--------
New Changes file:
--- /dev/null 2014-04-17 09:46:44.096034755 +0200
+++ /work/SRC/openSUSE:12.3:Update/.otrs.2716.new/otrs.changes 2014-04-22 15:33:33.000000000 +0200
@@ -0,0 +1,2287 @@
+-------------------------------------------------------------------
+Thu Apr 3 22:25:16 UTC 2014 - chris(a)computersalat.de
+
+- fix for bnc#871758 (CVE-2014-2553)
+- update to 3.1.21 2014-04-01
+ fix for OSA-2014-04 (CVE-2014-2553)
+ fix for OSA-2014-05 (CVE-2014-2554)
+ * Fixed bug#10374 - OTRS does not protect against clickjacking.
+ * Fixed bug#10361 - Incorrect handling of special characters in
+ DynamicFields.
+ * Fixed bug#10309 - mails with an empty return-path header must not
+ trigger auto responses in OTRS.
+- rename, rebase and update httpd_conf patch
+
+-------------------------------------------------------------------
+Thu Mar 6 00:54:26 UTC 2014 - chris(a)computersalat.de
+
+- fix for bnc#866476 (CVE-2014-1695)
+- update to 3.1.20
+ (fix for OSA-2014-03, CVE-2014-1695)
+ * Improved HTML filter.
+ - 3.1.19 2014-01-28
+ * Fixed bug#10158 - Missing quoting in State::StateGetStatesByType().
+ * Fixed bug#10099 - Missing challenge token checks on customer interface.
+ * Fixed bug#8489 - setting Tickets per page resets AgentTicketQueue.
+ * Fixed bug#9661 - Useless code in DynamicField backend.
+ * Fixed bug#9622 - Actions in Small ticket overview don't work when cookies
+ are turned off.
+ * Fixed bug#9541 - Package manager cannot use https proxy.
+ * Fixed bug#9594 - No auto-reply sent with multiple From addresses in
+ AgentTicketPhone on PostgreSQL and Oracle.
+ * Fixed bug#3434 - Validity of search time frame not checked by OTRS.
+ * Fixed bug#9596 - On merge and bounce screens is confusing when fill or not
+ 'To', 'Subject' and 'Body' fields.
+ * Fixed bug#9595 - Incomplete page reload handling in merge and bounce.
+ * Fixed bug#3007 - CheckMXRecord and CheckEmailAddresses have no effect on
+ AgentTicketBounce.
+ * Fixed bug#9512 - Database error for invalid date in AgentTicketSearch.
+ * Fixed bug#8835 - No article found for TicketID <TICKET ID> when showing
+ group tickets
+ * Fixed bug#9583 - Dynamic Fields of type Date have timestamp in notifications.
+ * Fixed bug#9579 - SOAP Serializer used in Kernel/GenericInterface/Transport/
+ HTTP/SOAP.pm does not correctly set namespace.
+ * Fixed bug#7359 - Setting pending states via generic agent does not set
+ pending time.
+ * Fixed bug#8380 - Middle name not displayed in AdminCustomerUser.
+ * Fixed bug#9576 - GI TicketSearch Date and Date/Time dynamic fields are
+ ignored.
+ * Changed Dynamic Field SearchFieldParameterBuild() API, LayoutObject is now
+ optional.
+ * Fixed bug#9573 - Date and DateTime dynamic fields not considered in
+ GenericAgent Jobs.
+- rebase perm patch
+
+-------------------------------------------------------------------
+Fri Jul 26 23:46:45 UTC 2013 - chris(a)computersalat.de
+
+- fix for bnc#828850 (CVE-2013-4717, CVE-2013-4718)
+- update to 3.1.18
+ (fix for OSA-2013-05, CVE-2013-4717, CVE-2013-4718)
+ * Fixed bug#9561 - ACL restriction with CustomerID for DynamicFields at new
+ Ticket screen not working.
+ * Fixed bug#9425 - Wrong created date for queue view.
+ * Fixed bug#9125 - AgentTicketSearch dialog does not expand when choosing
+ more search criteria.
+ * Fixed bug#8273 - Copying text in preview mode not possible.
+ * Fixed bug#9557 - Cannot see quoted text in customer ticket zoom.
+ * Fixed bug#9011 - GenericInterface: New value after value mapping can't be 0.
+ * Improved parameter quoting in various places.
+ * Fixed bug#9104 - Group permission for customer subset overwrites permissions
+ for other customers.
+ * Fixed bug#8719 - PasswordMin2Lower2UpperCharacters problem.
+ - 3.1.17
+ (fix for OSA-2013-04, CVE-2013-4088)
+ * Improved permission checks in AgentTicketWatcher.
+ * Fixed bug#9503 - no connection header in soap responses.
+ * Added parameter "-t dbonly" to backup.pl to only backup the database
+ * Fixed bug#9491 - GenericAgent job update with dynamic fields sends
+ Uninitialized value error.
+ * Fixed bug#9462 - Package Management page timeout due to HTTPS disabled on
+ Proxy connections.
+ - 3.1.16
+ (fix for OSA-2013-03, CVE-2013-3551)
+ * Updated Package Manager, that will ensure that packages to be installed
+ meet the quality standards of OTRS Group. This is to guarantee that your
+ package wasn’t modified, which may possibly harm your system or have an
+ influence on the stability and performance of it. All independent package
+ contributors will have to conduct a check of their Add-Ons by OTRS Group
+ in order to take full advantage of the OTRS package verification.
+ * Fixed bug#9387 - Error in a condition with dynamic fields in
+ NotificationEvent.
+ * Fixed bug#9286 - Ticket::ChangeOwnerToEveryone isn't functional, After a
+ AJAX Load the setting is ignored.
+ * Fixed bug#7518 - Escalation Notify by not working properly (follow-up fix).
+ * Fixed bug#7478 - Got an external answer to an internal mail.
+ * Improved permission checks in AgentTicketPhone.
+ * Fixed bug#[9360](http://bugs.otrs.org/show_bug.cgi?id=9360) -
+ DynamicField Names shown in CSV output.
+ * Fixed bug#9384 - Problem with Method ServiceParentsGet of ServiceObject.
+ * Fixed bug#9072 - Reply to email-internal includes customer users email in
+ Cc. field.
+ - 3.1.15
+ * Added Malay translation.
+ * Fixed bug#8960 - AgentTicketSearch.pm SearchProfile problem.
+ * Fixed bug#9182 - Customer Search Function -> If you go into a ticket
+ and go back you got not the search results.
+ * Fixed bug#9198 - Linked search with fulltext AND additional attributes.
+ * Fixed bug#9295 - Article dynamic field is not searchable.
+ * Fixed bug#9312 - LinkObject permission check problem.
+ - 3.1.14
+ (fix for OSA-2013-01, CVE-2013-2625)
+ * Fixed bug#9257 - No notifications to agents with out-of-office set but
+ period not reached.
+ * Improved permission checks in LinkObject.
+ * Fixed bug#9191 - When ticket types are restricted, first available type
+ is selected in AgentTicketActionCommon-based screens.
+ * Updated Turkish translation, thanks to Sefer Şimşek / Network Group!
+ * Fixed bug#9214 - IE10: impossible to open links from rich text articles.
+ * Fixed bug#9218 - Cannot use special characters in TicketHook.
+ * Fixed bug#9056 - Unused SysConfig option Ticket::Frontend::CustomerInfoQueueMaxSize.
+ * Follow-up fix for bug#8533 apache will not start on Fedora.
+ * Fixed bug#9172 - Generic Interface does not work on IIS 7.0.
+ * Updated Czech language translation, thanks to Katerina Bubenickova!
+ * Fixed bug#8865 - Additional empty data column in statistics CSV-Output.
+- update OTRS::ITSM to 3.1.10
+ (fix for OSA-2013-05, CVE-2013-4717, CVE-2013-4718)
+ - update OTRS::ITSM to 3.1.9
+ (fix for OSA-2013-03, CVE-2013-3551)
+ - update OTRS::ITSM to 3.1.8
+ (fix for OSA-2013-01, CVE-2013-2625)
+ (fix for OSA-2013-02, CVE-2013-2637)
+
+-------------------------------------------------------------------
+Tue Feb 19 16:42:56 UTC 2013 - chris(a)computersalat.de
+
+- update to 3.1.13
+ - http://www.otrs.com/en/open-source/community-news/releases-notes/
+ release-notes-otrs-help-desk-3113/
+ - http://source.otrs.org/viewvc.cgi/otrs/CHANGES?revision=1.2260.2.206&view=m…
+ * Fixed bug#9162 - Setting the start day of the week for the datepicker to
+ Sunday does not work.
+ * Fixed bug#9141 - Confused Columns in CustomerTicketSearch (ResultShort).
+ * Fixed bug#9146 - Signed SMIME mails with altered content shows a not clear
+ message.
+ * Fixed bug#9145 - SMIME sign verification errors are not displayed in TicketZoom.
+ * Fixed bug#9140 - Postmaster Filter for empty subjects does not work.
+ * Fixed bug#9121 - Filenames with Unicode NFD are incorrectly reported as NFC
+ by Main::DirectoryRead().
+ * Fixed bug#9108 - Check for opened/closed tickets not working with
+ Ticket::SubjectFormat = Right.
+ * Fixed bug#8839 - DateChecksum followup doesn't get correctly SystemID.
+ * Updated Russian translation, thanks to Vadim Goncharov!
+ * Fixed bug#9101 - Not possible to create dropdown with autocomplete attribute.
+ * Fixed bug#9096 - All services list is shown instead of only default services.
+ * Fixed bug#8470 - otrs.GenericAgent.pl reports: Can't open
+ '/opt/otrs/otrs_vemco/var/tmp/CacheFileStorable/DynamicField/f3b7e10730fb6c9cab5ae0e7f7e034f3'.
+ * Added new translation for Spanish (Colombia), thanks to John Edisson Ortiz Roman!
+ * Fixed bug#9054 - Link Object deletes all links under certain conditions.
+ * Fixed bug#8944 - do not backup the cache.
+ * Fixed bug#9057 - Generating a PDF with bin/otrs.GenerateStats.pl produces lots
+ of warnings.
+ * Fixed bug#8929 - Fix problems with empty ticket search results while
+ Ticket::Frontend::AgentTicketSearch###ExtendedSearchCondition is inactive.
+ * Fixed bug#9042 - Add X-Spam-Score to Ticket.xml.
+ * Fixed bug#9047 - HistoryTicketGet caches info on disk directly.
+ * Fixed bug#8923 - Alert message shown, if parent window is reloaded while
+ bulk action popup is open.
+ * Fixed bug#9030 - Wrong handling of Invalid YAML in Scheduler Tasks.
+ * Updated CKEditor to version 3.6.6.
+ * Updated Polish translation, thanks to Pawel @ ib.pl!
+ * Follow-up fix for bug#8805 - Cron missing as RPM dependency on RHEL.
+ Changed dependency on 'anacron' to 'vixie-cron' on RHEL5.
+ * Fixed bug#9020 - Generic Ticket Connector does not support attachments with
+ ContentType without charset.
+ * Fixed bug#8545 - Attachment download not possible if pop up of another action is open.
+ * Fixed bug#9009 - Empty Multiselect Dynamic Fields provokes an error.
+ * Fixed bug#8589 - Bulk-Action not possible for single ticket.
+ * Fixed bug#7198 - Broken repository selection width in Package Manager.
+ * Fixed bug#8457 - Error if accessing AgentTicketSearch from AgentTicketPhone in IE8.
+ * Fixed bug#8695 - Table head of Customer Ticket History does not resize on window resize.
+ * Fixed bug#8533 - Apache will not start if you use mod_perl on Fedora 16 or 17.
+ * Fixed bug#8974 - Event Based Notification does not populate REALNAME with
+ Customer User data.
+
+-------------------------------------------------------------------
+Wed Dec 12 17:11:37 UTC 2012 - chris(a)computersalat.de
+
+- update to 3.1.12
+ * Fixed bug#8933 - ArticleStorageInit permission check problem.
+ * Fixed bug#8763 - Please add charset conversion for customer companies.
+ * Fixed bug#1970 - Email attachments of type .msg (Outlook-Message) are converted.
+ * Fixed bug#8955 - Init script might fail on SUSE.
+ * Fixed bug#8936 - Ticket close date is empty when ticket is created in closed state.
+ * Fixed bug#8937 - "$" should be escaped in interpolated strings when javascript is meant.
+ * Fixed bug#8919 - Customer interface search results: ticket can only be accessed
+ via ticket number and subject.
+ * Fixed bug#8850 - CustomerTicketOverview - MouseOver Age isn't always correct.
++++ 2090 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.3:Update/.otrs.2716.new/otrs.changes
New:
----
UPGRADING.SuSE
ZZZAuto.pm
itsm-3.1.10.tar.bz2
itsm.README.de
itsm.README.en
otrs-3.1.21.tar.bz2
otrs-httpd_conf.patch
otrs-perm.patch
otrs-scheduler.init
otrs.README.de
otrs.README.en
otrs.changes
otrs.init
otrs.rpmlintrc
otrs.spec
sysconfig.otrs
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ otrs.spec ++++++
#
# spec file for package otrs
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define otrs_ver 3.1.21
%define itsm_ver 3.1.10
%define itsm_min 3.1
%define otrs_root /srv
%define otrsdoc_dir_files CHANGES COPYING* CREDITS README* UPGRADING.SuSE doc
%define otrsdocs CHANGES CREDITS doc
Name: otrs
Summary: The Open Ticket Request System
License: AGPL-3.0+
Group: Productivity/Networking/Email/Utilities
Version: %{otrs_ver}
Release: 0
Url: http://otrs.org/
AutoReqProv: off
Source: ftp://ftp.otrs.org/pub/otrs/%{name}-%{otrs_ver}.tar.bz2
Source1: itsm-%{itsm_ver}.tar.bz2
Source2: %{name}.rpmlintrc
Source11: sysconfig.%{name}
Source12: %{name}.README.en
Source13: %{name}.README.de
Source14: itsm.README.en
Source15: itsm.README.de
Source16: ZZZAuto.pm
Source17: UPGRADING.SuSE
Source20: %{name}.init
Source21: %{name}-scheduler.init
#atch0: %{name}-3.1.1-init.patch
Patch1: %{name}-httpd_conf.patch
Patch2: %{name}-perm.patch
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: %insserv_prereq %fillup_prereq
PreReq: coreutils mktemp net-tools pwdutils
PreReq: grep sed
PreReq: apache2
BuildRequires: pwdutils
%if 0%{?suse_version} > 1020
BuildRequires: fdupes
%endif
#
Requires: apache2-mod_perl
Requires: fetchmail
Requires: mysql
Requires: mysql-client
Requires: perl
Requires: procmail
Requires: perl(DBD::mysql)
Requires: perl(DBI)
Requires: perl(Digest::MD5)
Requires: perl(GD)
Requires: perl(GD::Graph)
Requires: perl(GD::Text)
Requires: perl(Net::DNS)
Requires: perl(PDF::API2)
#
Recommends: perl(Crypt::SSLeay)
Recommends: perl(Encode::HanExtra)
Recommends: perl(IO::Socket::SSL)
Recommends: perl(JSON::XS)
Recommends: perl(Mail::IMAPClient)
Recommends: perl(Net::SSL)
Recommends: perl(SOAP::Lite)
#
Suggests: perl(Net::LDAP)
Suggests: perl(Text::CSV_XS)
%if "%_vendor" == "suse"
%define VENDOR SUSE
%else
%define VENDOR %_vendor
%endif
%description
OTRS is an Open source Ticket Request System with many features to manage
customer telephone calls and e-mails. It is distributed under the GNU
AFFERO General Public License (AGPL) and tested on Linux, Solaris, AIX,
Windows, FreeBSD, OpenBSD and Mac OS 10.x. Do you receive many e-mails and
want to answer them with a team of agents? You're going to love OTRS!
Feature list: see README
Authors list: see CREDITS
%package doc
Summary: OTRS Documentation
Group: Documentation/Other
%description doc
This package contains the README, Changes and docs for OTRS
Authors list: see CREDITS
%package -n otrs-itsm
Summary: ITIL (R) focused IT service management
Group: Productivity/Networking/Email/Utilities
Version: %{itsm_ver}
Release: 0
Requires: %{name} >= %{itsm_min}
Provides: OTRS::ITSM
Provides: itsm
%description itsm
OTRS::ITSM implements ITIL (R) focused IT service management.
You need a OTRS %{otrs_ver} (http://otrs.org/) installation.
Make sure your database accepts packages over 5 MB in size. A MySQL database
for example accepts packages up to 1 MB by default. In this case, the value for
max_allowed_packet must be increased. The recommended maximum size accepted is
20 MB.
for INSTALL see INSTALL-%{itsm_min}.ITSM
please see README.itsm for further details, which comes with otrs package
Required OTRS::ITSM modules can be found under %{otrs_root}/%{name}/itsm
Authors list: see CREDITS
%prep
%setup -q -n %{name}-%{otrs_ver} -a 1
#patch0
%patch1
%patch2
##### rpmlint
#### incorrect-fsf-address
### http://www.fsf.org/about/contact/
for sdir in bin scripts; do
find ./${sdir} -type f -exec perl -p -i -e 's|^# Foundation.*|# Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA|' {} \;
done
find -name ".cvsignore" -type f | xargs rm -fv
find -name ".htaccess" -type f | xargs rm -fv
%__rm -f UPGRADING
%__cp %{S:17} .
pushd Kernel/Config/Files
%__cp %{S:16} .
%__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g"\
ZZZAuto.pm ../../../scripts/apache2-httpd.include.conf
popd
# fix old otrs_root (/opt)
%__sed -i -e "s,/opt/%{name},%{otrs_root}/%{name},g" \
bin/otrs.SetPermissions.pl \
Kernel/Config/Files/Framework.xml \
Kernel/Config/Defaults.pm \
Kernel/Config.pm.dist \
README \
scripts/apache2-perl-startup.pl \
scripts/restore.pl
## rpmlint:
# wrong-file-end-of-line-encoding
%{__perl} -p -i -e "s|\r\n|\n|" itsm-%{itsm_ver}/INSTALL-%{itsm_min}.ITSM
%build
%{_sbindir}/groupadd -g 88 -r %{name} 2>/dev/null || :
%{_sbindir}/useradd -c "OTRS User" -d %{otrs_root}/%{name} -G %{name},www -g %{name} \
-u 88 -r -s /bin/false %{name} 2>/dev/null || :
# copy config file
%__cp -a Kernel/Config.pm.dist Kernel/Config.pm
cd Kernel/Config/
for file in *.dist
do
%__cp -a $file `basename $file .dist`
done
cd ../../
# copy all crontab dist files
for file in var/cron/*.dist
do
%__mv $file var/cron/`basename $file .dist`
done
%__rm INSTALL{,.RedHat,.SuSE}
#%__mv INSTALL.SuSE INSTALL
%install
export DESTROOT="%{otrs_root}/%{name}/"
%__install -d ${RPM_BUILD_ROOT}${DESTROOT}
%__install -d ${RPM_BUILD_ROOT}%{_sbindir}
%__cp -a . ${RPM_BUILD_ROOT}/${DESTROOT}
for configFile in .fetchmailrc .mailfilter .procmailrc; do
touch ${RPM_BUILD_ROOT}/${DESTROOT}/${configFile}
done
touch $RPM_BUILD_ROOT${DESTROOT}var/log/TicketCounter.log
# add ghost file 'otrs.NagiosCheck.pl'
# otherwise module 'SystemMonitoring' won't install
touch ${RPM_BUILD_ROOT}${DESTROOT}/bin/%{name}.NagiosCheck.pl
# otherwise module 'Survey' won't install
touch ${RPM_BUILD_ROOT}${DESTROOT}/bin/%{name}.SurveyTriggerSendRequests.pl
# install README
for lang in en de; do
%__cp -p "${RPM_SOURCE_DIR}/%{name}.README.${lang}" "README.%{VENDOR}.${lang}"
%__cp -p "${RPM_SOURCE_DIR}/itsm.README.${lang}" "README.itsm.%{VENDOR}.${lang}"
done
# fix @OTRS_ROOT@ in itsm.README.*
for r in $(ls -1 README.itsm.*); do
%__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" $r
done
# remove files that are part of the docdir
pushd ${RPM_BUILD_ROOT}/${DESTROOT}
%__rm -rf %{otrsdoc_dir_files}
%__install -d doc
popd
# remove unneeded files from scripts
pushd ${RPM_BUILD_ROOT}/${DESTROOT}/scripts
%__rm -rf apache{,2}*.conf auto_build* auto_docbuild.sh otrs-scheduler-* redhat-* suse-* *.spec test/* tool
popd
# install permissions file
#__install -D -m0644 %{S:3} ${RPM_BUILD_ROOT}/etc/permissions.d/%{name}
# install sysconfig file and init script
%__install -D -m0644 ${RPM_SOURCE_DIR}/sysconfig.%{name} $RPM_BUILD_ROOT/%{_var}/adm/fillup-templates/sysconfig.%{name}
%__install -D -m0755 %{S:20} ${RPM_BUILD_ROOT}/etc/init.d/%{name}
%__ln_s -f ../../etc/init.d/%{name} ${RPM_BUILD_ROOT}/%{_sbindir}/rc%{name}
%__install -D -m0755 %{S:21} ${RPM_BUILD_ROOT}/etc/init.d/%{name}-scheduler
%__ln_s -f ../../etc/init.d/%{name}-scheduler ${RPM_BUILD_ROOT}/%{_sbindir}/rc%{name}-scheduler
## FIXME - nochown patch obsolete, cause script complete changed
#${RPM_BUILD_ROOT}%{otrs_root}/%{name}/bin/SetPermissions.sh ${RPM_BUILD_ROOT}%{otrs_root}/%{name} %{name} wwwrun %{name} www echo
otrs_apache_conf="scripts/apache2-httpd.include.conf"
%__install -D -m0644 ${otrs_apache_conf} ${RPM_BUILD_ROOT}/etc/apache2/conf.d/%{name}.conf
# OTRS::ITSM
# rename itsm-%{itsm_ver} to itsm
pushd ${RPM_BUILD_ROOT}/${DESTROOT}
%__mv itsm-%{itsm_ver} itsm
popd
%if 0%{?suse_version} > 1020
%fdupes ${RPM_BUILD_ROOT}/%{otrs_root}/%{name}/var
%fdupes ${RPM_BUILD_ROOT}/%{otrs_root}/%{name}/Kernel/cpan-lib
%endif
%preun
%stop_on_removal otrs
:
%pre
# on `rpm -ivh` PARAM is 1
# on `rpm -Uvh` PARAM is 2
if [ -z "`%{_bindir}/getent group %{name} 2>/dev/null`" ]; then
%{_sbindir}/groupadd -g 88 -r %{name} 2>/dev/null
else
if [ `%{_bindir}/id -g %{name}` != 88 ]; then
%{_sbindir}/groupmod -g 88 %{name} 2>/dev/null
fi
fi
if [ -z "`%{_bindir}/getent passwd %{name} 2>/dev/null`" ]; then
%{_sbindir}/useradd -c "OTRS User" -d %{otrs_root}/%{name} -G %{name},www -g %{name} -u 88 -r -s /bin/false %{name} 2>/dev/null
else
if [ `%{_bindir}/id -u %{name}` != 88 ]; then
%{_sbindir}/usermod -c "OTRS User" -d %{otrs_root}/%{name} -G %{name},www -g %{name} -u 88 %{name} 2>/dev/null
fi
fi
%post
# fill otrs sysconfig file
%{fillup_and_insserv -f otrs-scheduler}
%{fillup_and_insserv otrs}
%if 0%{?suse_version}
/usr/sbin/a2enmod perl >/dev/null
%endif
# Update ?
if [ ${FIRST_ARG:-0} -gt 1 ]; then
# OTRS_ROOT changed from /opt to /srv
if [ -f /opt/%{name}/Kernel/Config.pm.rpmsave ]; then
%__mv /opt/%{name}/Kernel/Config.pm.rpmsave %{otrs_root}/%{name}/Kernel/
fi
%{_sbindir}/usermod -d %{otrs_root}/%{name} %{name}
#update sysconfig
%__sed -i -e "s,/opt/%{name},%{otrs_root}/%{name},g" /etc/sysconfig/%{name}
fi
# if rpm is not in update mode
if ! [ ${FIRST_ARG:-0} -gt 1 ]; then
if [ -z "${YAST_IS_RUNNING}" ]; then
for lang in LC_ALL LC_MESSAGE LANG; do
test "${!lang}" && break
done
echo
case "${!lang}" in
de_*)
echo "Hinweise zur Erstkonfiguration von OTRS finden Sie in"
echo "/usr/share/doc/packages/otrs/README.%{VENDOR}.de"
;;
*)
echo "About the initial setup of OTRS, please read"
echo "/usr/share/doc/packages/otrs/README.%{VENDOR}.en"
;;
esac
echo
fi
fi
exit 0
%postun
%restart_on_update otrs-scheduler
%restart_on_update otrs
%restart_on_update apache2
%insserv_cleanup
%clean
%{__rm} -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%doc COPYING* README{,.database,.webserver} README.SUSE.* UPGRADING.SuSE
%dir /etc/apache2
%dir /etc/apache2/conf.d
%config(noreplace) /etc/apache2/conf.d/%{name}.conf
/etc/init.d/%{name}
/usr/sbin/rc%{name}
/etc/init.d/%{name}-scheduler
/usr/sbin/rc%{name}-scheduler
#config /etc/permissions.d/%{name}
%{_var}/adm/fillup-templates/sysconfig.%{name}
###############
## {root,www}
###############
%defattr(0750,root,www,0755)
# bin
%{otrs_root}/%{name}/bin
#exclude %{otrs_root}/%{name}/bin/%{name}.DeleteSessionIDs.pl
#exclude %{otrs_root}/%{name}/bin/%{name}.UnlockTickets.pl
%exclude %{otrs_root}/%{name}/bin/%{name}.GetConfig.pl
%exclude %{otrs_root}/%{name}/bin/%{name}.SetPermissions.pl
#%attr(0700,%{name},%{name}) %{otrs_root}/%{name}/bin/%{name}.DeleteSessionIDs.pl
#%attr(0700,%{name},%{name}) %{otrs_root}/%{name}/bin/%{name}.UnlockTickets.pl
#%attr(0700,%{name},%{name}) %{otrs_root}/%{name}/bin/%{name}.GetConfig.pl
# add ghost file 'otrs.NagiosCheck.pl'
# otherwise module 'SystemMonitoring' won't install
%attr(0750,wwwrun,www) %{otrs_root}/%{name}/bin/%{name}.NagiosCheck.pl
# otherwise module 'Survey' won't install
%attr(0750,wwwrun,www) %{otrs_root}/%{name}/bin/%{name}.SurveyTriggerSendRequests.pl
###############
## {otrs,otrs}
###############
# otrs HOME
%defattr(-,%{name},%{name})
%dir %{otrs_root}/%{name}
%ghost %config(noreplace) %{otrs_root}/%{name}/.fetchmailrc
%ghost %config(noreplace) %{otrs_root}/%{name}/.mailfilter
%ghost %config(noreplace) %{otrs_root}/%{name}/.procmailrc
%{otrs_root}/%{name}/.fetchmailrc.dist
%{otrs_root}/%{name}/.mailfilter.dist
%{otrs_root}/%{name}/.procmailrc.dist
%{otrs_root}/%{name}/ARCHIVE
%{otrs_root}/%{name}/RELEASE
# scripts
%{otrs_root}/%{name}/scripts/*.pl
%{otrs_root}/%{name}/scripts/*.pm
%{otrs_root}/%{name}/scripts/*.sql
%{otrs_root}/%{name}/scripts/database
%{otrs_root}/%{name}/scripts/tools
#%defattr(0755,wwwrun,%{name},0755)
# var/httpd
%dir %{otrs_root}/%{name}/var/httpd
###############
## {otrs,www}
###############
%defattr(0744,%{name},www,0775)
# doc and scripts
%dir %{otrs_root}/%{name}/doc
%dir %{otrs_root}/%{name}/scripts
%dir %{otrs_root}/%{name}/scripts/test
# var
%dir %{otrs_root}/%{name}/var
%{otrs_root}/%{name}/var/logo-%{name}.png
# var/cron
%dir %{otrs_root}/%{name}/var/cron
%config(noreplace) %{otrs_root}/%{name}/var/cron/*
# var/{packages,spool}
%{otrs_root}/%{name}/var/packages
%dir %{otrs_root}/%{name}/var/spool
# var/{article,log,tmp}
#defattr(0644,%{name},www,2775)
%dir %{otrs_root}/%{name}/var/article
%ghost %config(noreplace) %attr(660,%{name},www) %{otrs_root}/%{name}/var/log/TicketCounter.log
%defattr(0644,%{name},www,2775)
%dir %{otrs_root}/%{name}/var/tmp
%defattr(0660,%{name},www,2775)
%dir %{otrs_root}/%{name}/var/log
#%dir %{otrs_root}/%{name}/var/httpd/htdocs/js
#%dir %{otrs_root}/%{name}/var/httpd/htdocs/js/js-cache
#%{otrs_root}/%{name}/var/httpd/htdocs/skins/Agent/default
#%{otrs_root}/%{name}/var/httpd/htdocs/skins/Customer/default
###############
## {wwwrun,www}
###############
# var/tmp/Cache
%defattr(0644,wwwrun,www,0755)
%dir %{otrs_root}/%{name}/var/tmp/Cache
# var/fonts
%{otrs_root}/%{name}/var/fonts
# var/httpd/htdocs
%{otrs_root}/%{name}/var/httpd/htdocs
# var/{session,stats}
%dir %{otrs_root}/%{name}/var/sessions
%dir %{otrs_root}/%{name}/var/stats
%{otrs_root}/%{name}/var/stats/*
# Custom DIR
#defattr(0644,wwwrun,www,0755)
%dir %{otrs_root}/%{name}/Custom
%{otrs_root}/%{name}/Custom/README
# Kernel DIR
#defattr(0644,wwwrun,www,0755)
%dir %{otrs_root}/%{name}/Kernel
%config(noreplace) %attr(0640,wwwrun,www) %{otrs_root}/%{name}/Kernel/Config.pm
%{otrs_root}/%{name}/Kernel/Config.pm.dist
%dir %{otrs_root}/%{name}/Kernel/Config
%{otrs_root}/%{name}/Kernel/Config/Defaults.pm
%config(noreplace) %{otrs_root}/%{name}/Kernel/Config/GenericAgent.pm
%{otrs_root}/%{name}/Kernel/Config/GenericAgent.pm.*
%dir %{otrs_root}/%{name}/Kernel/Config/Files
%{otrs_root}/%{name}/Kernel/Config/Files/Deprecated.xml
%{otrs_root}/%{name}/Kernel/Config/Files/Framework.xml
%{otrs_root}/%{name}/Kernel/Config/Files/GenericInterface.xml
%{otrs_root}/%{name}/Kernel/Config/Files/Scheduler.xml
%{otrs_root}/%{name}/Kernel/Config/Files/Ticket.xml
%{otrs_root}/%{name}/Kernel/GenericInterface
%{otrs_root}/%{name}/Kernel/cpan-lib
%{otrs_root}/%{name}/Kernel/Language.pm
%dir %{otrs_root}/%{name}/Kernel/Language
%config(noreplace) %{otrs_root}/%{name}/Kernel/Language/*.pm
%{otrs_root}/%{name}/Kernel/Modules/
%config(noreplace) %{otrs_root}/%{name}/Kernel/Output/HTML/Standard/*.dtl
#config(noreplace) %{otrs_root}/%{name}/Kernel/Output/HTML/Lite/*.dtl
%dir %{otrs_root}/%{name}/Kernel/Output
%dir %{otrs_root}/%{name}/Kernel/Output/HTML
#dir %{otrs_root}/%{name}/Kernel/Output/HTML/Lite
%dir %{otrs_root}/%{name}/Kernel/Output/HTML/Standard
%{otrs_root}/%{name}/Kernel/Output/HTML/*.pm
%{otrs_root}/%{name}/Kernel/Scheduler.pm
%{otrs_root}/%{name}/Kernel/Scheduler
%{otrs_root}/%{name}/Kernel/System/
#
%files doc
%defattr(644,root,root,755)
%doc %{otrsdocs}
%files itsm
%defattr(-,root,root)
%doc COPYING*
%doc README.itsm*
%doc itsm-%{itsm_ver}/INSTALL-%{itsm_min}.ITSM
%{otrs_root}/%{name}/itsm
%config %attr(0644,wwwrun,www) %{otrs_root}/%{name}/Kernel/Config/Files/ZZZAuto.pm
%changelog
++++++ UPGRADING.SuSE ++++++
# --
# UPGRADING - Upgrading Instructions for OTRS
# Copyright (C) 2001-2012 OTRS AG, http://otrs.org/
# --
# $Id: UPGRADING,v 1.66 2012/02/07 14:10:57 mg Exp $
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --
These instructions are for people upgrading OTRS from "3.0" to "3.1",
and applies both for RPM and source code (tarball) upgrades.
If you are running a lower version of OTRS you have to follow the upgrade path
to 3.0 first (1.1->1.2->1.3->2.0->2.1->2.2->2.3->2.4->3.0->3.1 ...)!
Please note that if you upgrade from OTRS 2.2 or earlier, you have to
take an extra step; please read http://bugs.otrs.org/show_bug.cgi?id=6798
If you need to do a "patch level upgrade", which is an upgrade for instance
from OTRS version 3.1.1 to 3.1.3, you should skip steps 8, 10 and 12-19.
Please note that for upgrades from 3.1.beta1 or 3.1.beta2, an additional step 20
is needed!
If you are using Microsoft SQL Server as the DBMS for OTRS, please refer
to the manual, chapter "Upgrading Microsoft SQL Server Data Types" for instructions
how to upgrade the data types used by OTRS
(http://doc.otrs.org/3.1/en/html/upgrading-mssql-datatypes.html)
1) Stop all relevant services
--------------------------
e. g. (depends on used services):
shell> rccron stop
shell> rcpostfix stop
shell> rcapache2 stop
shell> rcotrs stop
2) Backup everything below $OTRS_HOME (default: OTRS_HOME=/srv/otrs)
-----------------------------------------------------------------
o Kernel/Config.pm
o Kernel/Config/GenericAgent.pm
o Kernel/Config/Files/ZZZAuto.pm
o var/*
o as well as the database
3) Make sure that you have backed up everything ;-)
------------------------------------------------
4) Setup new system (optional)
---------------------------
If possible try this install on a separate machine for testing first.
5) Install the new release (RPM)
------------------------------------
shell> rpm -Uvh otrs-3.1.x-?.noarch.rpm
The RPM-update will keep the old configuration files.
o Kernel/Config.pm
o Kernel/Config/GenericAgent.pm
o Kernel/Config/Files/ZZZAuto.pm (will be overwritten by itsm)
You must use the new files *.rpmnew
o Kernel/Config.pm.rpmnew
cp -a Kernel/Config.pm Kernel/Config.pm.backup
mv Kernel/Config.pm.rpmnew Kernel/Config.pm
then modify Kernel/Config.pm to adapt settings (e.g. DB connection)
6) Own themes
----------
Note: The OTRS themes between 3.0 and 3.1 are NOT compatible, so don't
use your old themes!
Themes are located under $OTRS_HOME/Kernel/Output/HTML/*/*.dtl
(default: OTRS_HOME=/srv/otrs)
7) Apply the database changes
--------------------------
shell> cd $OTRS_HOME
SCHEMA UPDATE PART 1:
=====================
MySQL:
shell> cat scripts/DBUpdate-to-3.1.mysql.sql | mysql -p -f -u root otrs
PostgreSQL 8.2+:
shell> cat scripts/DBUpdate-to-3.1.postgresql.sql | psql otrs
PostgreSQL, older versions:
shell> cat scripts/DBUpdate-to-3.1.postgresql_before_8_2.sql | psql otrs
NOTE: If you use PostgreSQL 8.1 or earlier, you need to activate the new
legacy driver for these older versions. Do this by adding a new
line to your Kernel/Config.pm like this:
$Self->{DatabasePostgresqlBefore82} = 1;
DATABASE MIGRATION SCRIPT
=========================
shell> scripts/DBUpdate-to-3.1.pl
Do not continue the upgrading process if this script did not work properly
for you. Otherwise data loss may occur.
SCHEMA UPDATE PART 2:
=====================
MySQL:
shell> cat scripts/DBUpdate-to-3.1-post.mysql.sql | mysql -p -f -u root otrs
PostgreSQL 8.2+:
shell> cat scripts/DBUpdate-to-3.1-post.postgresql.sql | psql otrs
PostgreSQL, older versions:
shell> cat scripts/DBUpdate-to-3.1-post.postgresql_before_8_2.sql | psql otrs
8) Refresh the configuration cache and delete caches
-------------------------------------------------
Please run:
shell> bin/otrs.RebuildConfig.pl
shell> bin/otrs.DeleteCache.pl
9) Restart your services
---------------------
e. g. (depends on used services):
shell> /etc/init.d/apache start
shell> /etc/init.d/postfix start
shell> /etc/init.d/cron start
shell> /etc/init.d/otrs-scheduler start
shell> /etc/init.d/otrs start
Now you can log into your system.
10) Check installed packages
------------------------
In the package manager, check if all packages are still marked as
correctly installed or if any require reinstallation or even a package upgrade.
11) Check for encoding issues
-------------------------
OTRS 3.1 only allows UTF-8 as internal charset.
Non-UTF-8 installations of OTRS must switch to UTF-8.
12) Escalation events
-----------------
If you want to use the new escalation events in your system, you need to
activate the corresponding GenericAgent job in
Kernel/Config/GenericAcent.pm.
Please look into Kernel/Config/GenericAgent.pm.dist
for an example of how to do this.
13) TicketHistory
-------------
The TicketHistory type TicketFreeTextUpdate was renamed to
TicketDynamicFieldUpdate. If you have any custom reporting using this,
please adjust it.
14) Ticket event handlers
---------------------
The Event name TicketFreeTextUpdate_$Counter was renamed to
TicketDynamicFieldUpdate_$FieldName.
If you have any custom event handlers for these events, please adapt them.
15) DynamicField user preferences module
------------------------------------
If you had one or more active custom settings for "PreferencesGroups###Freetext",
you need to adapt them to work with the new DynamicFields engine. The PrefKey
setting must be changed to "UserDynamicField_DynamicField", where the part after
the _ is the name of the dynamic field. Existing values would need to be renamed
in the database as well.
16) Custom free field default value event handler
---------------------------------------------
If you used the event handler Ticket::EventModulePost###TicketFreeFieldDefault
(not active by default), you'll need to migrate its configuration to the new
setting Ticket::EventModulePost###TicketDynamicFieldDefault.
The configuration of this is slightly different; where you had to specify a
Counter indicating the TicketFreeText number previously, now you need to
specify the name of the DynamicField (for migrated fields, this will be
DynamicField_TicketFreeKey$Counter and DynamicField_TicketFreeText$Counter.
You need two separate entries now if you want to set both the key and the
text field.
17) FreeText/Time based ACLs
------------------------
If you have any ACLs defined which involve freetext or freetime fields,
you need to adjust these ACL definitions.
Please have a look at http://doc.otrs.org/3.1/en/html/acl.html. There you
can find a list of all possible ACL settings. In general, you need to add
the prefix "DynamicField_" to existing free field definitions, and you can
add a new "DynamicField" section to the "Properties" list for situations
when a ticket does not exist yet.
18) Well done!
----------
++++++ ZZZAuto.pm ++++++
# OTRS config file (automaticaly generated!)
# VERSION:1.1
package Kernel::Config::Files::ZZZAuto;
use utf8;
sub Load {
my ($File, $Self) = @_;
$Self->{'SecureMode'} = 1;
$Self->{'DefaultCharset'} = 'utf-8';
$Self->{'DefaultLanguage'} = 'de';
$Self->{'LogModule'} = 'Kernel::System::Log::File';
$Self->{'Package::RepositoryList'} = {
'file://@OTRS_ROOT@/otrs/itsm/packages30/' => '[--OTRS::ITSM 3.0 local repo]',
'file://@OTRS_ROOT@/otrs/itsm/packages31/' => '[--OTRS::ITSM 3.1 local repo]',
'http://ftp.otrs.org/pub/otrs/itsm/packages30/' => '[--OTRS::ITSM 3.0 Master--] http://ftp.otrs.org/',
'http://ftp.otrs.org/pub/otrs/itsm/packages31/' => '[--OTRS::ITSM 3.1 Master--] http://ftp.otrs.org/'
};
$Self->{'Package::RepositoryAccessRegExp'} = '127\\.0\\.0\\.1';
}
1;
++++++ itsm.README.de ++++++
README Datei für OTRS::ITSM
Das Paket otrs-itsm enhält alle notwendigen Module, um Ihre OTRS Installation
mit ITSM zu erweitern.
Hierbei sollten sie folgendes beachten:
- mit der Installation dieses Pakets wird die Datei
@OTRS_ROOT@/otrs/Kernel/Config/Files/ZZZAuto.pm hinzugefügt, welches ein lokales
Repository zur Installation von OTRS::ITSM Modulen zur Verfügung stellt.
Somit muß das OTRS System nicht zwingend eine Verbindung zum Internet haben.
- Falls sie OTRS bereits schon länger in Verwendung haben und auch Anpassungen
vorgenommen haben,dann sollten Sie das lokale Repository via SysConfig
hinzufügen.
-> gehen SIe in den Admin Bereich:
-> wählen Sie SysConfig
-> wählen Sie bei der Gruppenauswahl "Framework (324)"
-> im erscheinenden Ergebnis wählen Sie "Core::Package"
-> Config Einstellungen: Framework -> Core::Package
o aktivieren Sie "Package::RepositoryAccessRegExp:" und belassen Sie
den (Default: 127\.0\.0\.1) Wert
o fügen Sie bei "Package::RepositoryList:" ein neues Repository hinzu
Schlüssel: file://@OTRS_ROOT@/otrs/itsm/packages31/
Inhalt: [--OTRS::ITSM local repo]
-> klicken Sie auf Aktualisieren
Sie können nun in der "Paket Verwaltung" als Quelle "[--OTRS::ITSM local repo]"
auswählen, um OTRS::ITSM zu installieren.
Viel Spaß mit OTRS::ITSM
++++++ itsm.README.en ++++++
README File for OTRS::ITSM
This package holds all needed modules to extend your OTRS with ITSM
You should take care of the following info
- with installing this package, there will be
@OTRS_ROOT/otrs/Kernel/Config/Files/ZZZAuto.pm added, which provides a local repo
for installing all needed ITSM modules.
So your OTRS System does not need to have internet access.
- If you were using your OTRS and you already have done many mods, then you
should add the local repo by hand.
-> go to Admin section
-> choose SysConfig
-> on groups select "Framework (324)"
-> on the results choose "Core::Package"
-> Config settings: Framework -> Core::Package
o activate "Package::RepositoryAccessRegExp:" and leave
(Default: 127\.0\.0\.1) value as is.
o on "Package::RepositoryList:" add a new repo
Key: file://@OTRS_ROOT/otrs/itsm/packages31/
Value: [--OTRS::ITSM local repo]
-> click refresh
Now you are able to select Source "[--OTRS::ITSM local repo]" in
package management and can install OTRS::ITSM modules.
Have fun with OTRS::ITSM
++++++ otrs-httpd_conf.patch ++++++
Index: scripts/apache2-httpd.include.conf
===================================================================
--- scripts/apache2-httpd.include.conf.orig
+++ scripts/apache2-httpd.include.conf
@@ -4,8 +4,8 @@
# --
# agent, admin and customer frontend
-ScriptAlias /otrs/ "/opt/otrs/bin/cgi-bin/"
-Alias /otrs-web/ "/opt/otrs/var/httpd/htdocs/"
+ScriptAlias /otrs/ "@OTRS_ROOT@/otrs/bin/cgi-bin/"
+Alias /otrs-web/ "@OTRS_ROOT@/otrs/var/httpd/htdocs/"
# activate this if you are using an Oracle database
#SetEnv ORACLE_HOME /path/to/your/oracle/
@@ -17,7 +17,7 @@ Alias /otrs-web/ "/opt/otrs/var/httpd/ht
<IfModule mod_perl.c>
# load all otrs modules
- Perlrequire /opt/otrs/scripts/apache2-perl-startup.pl
+ Perlrequire @OTRS_ROOT@/otrs/scripts/apache2-perl-startup.pl
# Apache::Reload - Reload Perl Modules when Changed on Disk
PerlModule Apache2::Reload
@@ -45,26 +45,54 @@ Alias /otrs-web/ "/opt/otrs/var/httpd/ht
</IfModule>
# directory settings
-<Directory "/opt/otrs/bin/cgi-bin/">
+<Directory "@OTRS_ROOT@/otrs/bin/cgi-bin/">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
-<Directory "/opt/otrs/var/httpd/htdocs/">
+<Directory "@OTRS_ROOT@/otrs/var/httpd/htdocs/">
+ Options +FollowSymlinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
+<Directory "@OTRS_ROOT@/otrs/var/httpd/htdocs/js/thirdparty/ckeditor-3.6.6/">
+ #
+ # Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
+ # For licensing, see LICENSE.html or http://ckeditor.com/license
+ #
+
+ #
+ # On some specific Linux installations you could face problems with Firefox.
+ # It could give you errors when loading the editor saying that some illegal
+ # characters were found (three strange chars in the beginning of the file).
+ # This could happen if you map the .js or .css files to PHP, for example.
+ #
+ # Those characters are the Byte Order Mask (BOM) of the Unicode encoded files.
+ # All FCKeditor files are Unicode encoded.
+ #
+
+ AddType application/x-javascript .js
+ AddType text/css .css
+
+ #
+ # If PHP is mapped to handle XML files, you could have some issues. The
+ # following will disable it.
+ #
+
+ AddType text/xml .xml
+</Directory>
+
<IfModule mod_headers.c>
- <Directory "/opt/otrs/var/httpd/htdocs/skins/*/*/css-cache">
+ <Directory "@OTRS_ROOT@/otrs/var/httpd/htdocs/skins/*/*/css-cache">
<FilesMatch "\.(css|CSS)$">
Header set Cache-Control "max-age=2592000 must-revalidate"
</FilesMatch>
</Directory>
- <Directory "/opt/otrs/var/httpd/htdocs/js/js-cache">
+ <Directory "@OTRS_ROOT@/otrs/var/httpd/htdocs/js/js-cache">
<FilesMatch "\.(js|JS)$">
Header set Cache-Control "max-age=2592000 must-revalidate"
</FilesMatch>
++++++ otrs-perm.patch ++++++
Index: Kernel/System/Package.pm
===================================================================
--- Kernel/System/Package.pm.orig
+++ Kernel/System/Package.pm
@@ -2972,7 +2972,7 @@ sub _FileSystemCheck {
}
# create test files in following directories
- for (qw(/bin/ /Kernel/ /Kernel/System/ /Kernel/Output/ /Kernel/Output/HTML/ /Kernel/Modules/)) {
+ for (qw(/Kernel/ /Kernel/System/ /Kernel/Output/ /Kernel/Output/HTML/ /Kernel/Modules/)) {
my $Location = "$Home/$_/check_permissons.$$";
my $Content = 'test';
++++++ otrs-scheduler.init ++++++
#!/bin/sh
#
# Copyright (c) 2012 Scorpio IT, Deidesheim, Germany
# All rights reserved
#
# Author: Christian Wittmer <rpm(a)scorpio-it.net>
#
# /etc/init.d/otrs-scheduler
# and its symbolic link
# /(usr/)sbin/rcotrs-scheduler
#
### BEGIN INIT INFO
# Provides: otrs-scheduler
# Required-Start: smtp
# Should-Start: mysql postgresql
# Required-Stop: smtp
# Should-Stop: mysql postgresql
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: start OTRS Scheduler
# Description: start Scheduler for OTRS
# (Open Ticket Request System)
### END INIT INFO
# Check for existence of needed config file and read it
OTRS_SYSCONFIG=/etc/sysconfig/otrs
test -r $OTRS_SYSCONFIG || { echo "$OTRS_SYSCONFIG not existing";
if [ "$1" = "stop" ]; then exit 0;
else exit 6; fi; }
# Read config
. $OTRS_SYSCONFIG
if [ -z $OTRS_ROOT ]; then
echo "OTRS_ROOT not set";
echo "check config: $OTRS_SYSCONFIG";
exit 6;
fi
if [ -z $OTRS_SCHEDULER ]; then
echo "OTRS_SCHEDULER not set";
echo "check config: $OTRS_SYSCONFIG";
exit 6;
fi
if [ ! -x $OTRS_SCHEDULER ]; then
echo "OTRS_SCHEDULER not executable";
echo "set executable bits for $OTRS_SYSCONFIG";
exit 6;
fi
OTRS_SVC="OTRS Scheduler"
OTRS_USR=${OTRS_USER:="otrs"}
OTRS_GRP=${OTRS_GROUP:="otrs"}
# Shell functions sourced from /etc/rc.status:
# rc_check check and set local and overall rc status
# rc_status check and set local and overall rc status
# rc_status -v be verbose in local rc status and clear it afterwards
# rc_status -v -r ditto and clear both the local and overall rc status
# rc_status -s display "skipped" and exit with status 3
# rc_status -u display "unused" and exit with status 3
# rc_failed set local and overall rc status to failed
# rc_failed <num> set local and overall rc status to <num>
# rc_reset clear both the local and overall rc status
# rc_exit exit appropriate to overall rc status
# rc_active checks whether a service is activated by symlinks
. /etc/rc.status
# Reset status of this service
rc_reset
# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - user had insufficient privileges
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
#
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signaling is not supported) are
# considered a success.
case "$1" in
start)
echo -n "Starting $OTRS_SVC "
## Start daemon with startproc(8). If this fails
## the return value is set appropriately by startproc.
/sbin/startproc -u $OTRS_USR $OTRS_SCHEDULER -a $1
# Remember status and be verbose
rc_status -v
;;
stop)
echo -n "Shutting down $OTRS_SVC "
## Stop daemon with killproc(8) and if this fails
## killproc sets the return value according to LSB.
/sbin/killproc -TERM $OTRS_SCHEDULER
# Remember status and be verbose
rc_status -v
;;
try-restart|condrestart)
## Do a restart only if the service was active before.
## Note: try-restart is now part of LSB (as of 1.9).
## RH has a similar command named condrestart.
if test "$1" = "condrestart"; then
echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
fi
$0 status
if test $? = 0; then
$0 restart
else
rc_reset # Not running is not a failure.
fi
# Remember status and be quiet
rc_status
;;
restart)
## Stop the service and regardless of whether it was
## running or not, start it again.
$0 stop
$0 start
# Remember status and be quiet
rc_status
;;
force-reload)
## Signal the daemon to reload its config. Most daemons
## do this on signal 1 (SIGHUP).
## If it does not support it, restart the service if it
## is running.
echo -n "Reload service $OTRS_SVC "
## if it supports it:
#/sbin/killproc -HUP $OTRS_SCHEDULER
#touch /var/run/FOO.pid
# Remember status and be verbose
#rc_status -v
## Otherwise:
$0 try-restart
# Remember status and be quiet
rc_status
;;
reload)
## Like force-reload, but if daemon does not support
## signaling, do nothing (!)
# If it supports signaling:
echo -n "Reload service $OTRS_SVC "
#/sbin/killproc -HUP $OTRS_SCHEDULER
#touch /var/run/FOO.pid
## Otherwise if it does not support reload:
rc_failed 3
# Remember status and be verbose
rc_status -v
;;
status)
echo -n "Checking for service $OTRS_SVC "
## Check status with checkproc(8), if process is running
## checkproc will return with exit status 0.
# Return value is slightly different for the status command:
# 0 - service up and running
# 1 - service dead, but /var/run/ pid file exists
# 2 - service dead, but /var/lock/ lock file exists
# 3 - service not running (unused)
# 4 - service status unknown :-(
# 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
# NOTE: checkproc returns LSB compliant status values.
/sbin/checkproc $OTRS_SCHEDULER
# NOTE: rc_status knows that we called this init script with
# "status" option and adapts its messages accordingly.
# Remember status and be verbose
rc_status -v
;;
*)
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}"
exit 1
;;
esac
rc_exit
++++++ otrs.README.de ++++++
Hallo,
hier eine Schnellübersicht, wie Sie das OTRS auf Ihrem SUSE Linux zum Laufen
bringen.
Prüfen Sie bitte den "max_allow_packets" Wert in Ihrer MySQL config (my.cnf).
Dieser sollte auf jeden Fall > 1MB sein.
Ich empfehle einen Wert von 8MB oder 16MB.
1) Starten Sie Apache und MySQL mittels
rcapache2 restart && rcmysql restart
2) Rufen Sie http://localhost/otrs/installer.pl in einem web browser auf und
folgen Sie den Anweisungen.
3) Wenn Sie Ihr System neu starten müssen, stellen Sie sicher, dass alle für
OTRS erforderlichen Dienste gestartet werden. Sie gewährleisten dies durch
Aktivieren der Dienste apache2, mysql, otrs-scheduler und otrs mit dem
YaST Runlevel-Editor oder auf der Kommandozeile mittels
insserv apache2
insserv mysql
insserv otrs-scheduler
insserv otrs
4) Remember to have fun!
Für weitergehende Fragen besuchen Sie doch unter http://www.otrs.org die OTRS
web-Seiten. Insoweit Sie professionelle Unterstützung oder Beratung
benötigen, wird ein solcher Dienst durch ((otrs)) unter http://www.otrs.com
seitens des OTRS-Kernteams angeboten.
++++++ otrs.README.en ++++++
Hello,
here is a quick overview, what you have to do, to get the OTRS running on SUSE
Linux.
Please check settings of "max_allow_packets" in your MySQL config (my.cnf).
The value should be > 1MB in any case.
I recommend a value of 8MB or 16MB.
1) Start Apache and MySQL with
rcapache2 restart && rcmysql restart
2) Load http://localhost/otrs/installer.pl with a web browser and follow the
instructions.
3) If you reboot the system, make sure, all services are available. You can
achieve this with the YaST runlevel editor and activating the services
apache2, mysql, otrs-scheduler and otrs or on the command line with
insserv apache2
insserv mysql
insserv otrs-scheduler
insserv otrs
4) Remember to have fun!
For further questions take a look at the http://www.otrs.org website. Or if
you are searching for professional support or consulting regarding OTRS, take
a look at ((otrs)) http://www.otrs.com where the OTRS coreteam offers these
services.
++++++ otrs.init ++++++
#!/bin/sh
#
# Copyright (c) 2012 Scorpio IT, Deidesheim, Germany
# All rights reserved
#
# Author: Christian Wittmer <rpm(a)scorpio-it.net>
#
# /etc/init.d/otrs
# and its symbolic link
# /(usr/)sbin/rcotrs
#
### BEGIN INIT INFO
# Provides: otrs
# Required-Start: apache2
# Should-Start: mysql postgresql otrs-scheduler
# Required-Stop: apache2
# Should-Stop: mysql postgresql otrs-scheduler
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: start OTRS
# Description: start OTRS (Open Ticket Request System)
### END INIT INFO
export LANG=POSIX
PATH="/bin:/usr/bin:/sbin:/usr/sbin"
# Check for existence of needed config file and read it
OTRS_SYSCONFIG=/etc/sysconfig/otrs
test -r $OTRS_SYSCONFIG || { echo "$OTRS_SYSCONFIG not existing";
if [ "$1" = "stop" ]; then exit 0;
else exit 6; fi; }
# Read config
. $OTRS_SYSCONFIG
if [ -z $OTRS_ROOT ]; then
echo "OTRS_ROOT not set";
echo "check config: $OTRS_SYSCONFIG";
exit 6;
fi
if [ -z $OTRS_POSTMASTER ]; then
echo "OTRS_POSTMASTER not set";
echo "check config: $OTRS_SYSCONFIG";
exit 6;
fi
if [ -z $OTRS_CHECKDB ]; then
echo "OTRS_CHECKDB not set";
echo "check config: $OTRS_SYSCONFIG";
exit 6;
fi
if [ -z $OTRS_CLEANUP ]; then
echo "OTRS_CLEANUP not set";
echo "check config: $OTRS_SYSCONFIG";
exit 6;
fi
if [ -z $OTRS_SPOOLDIR ]; then
echo "OTRS_SPOOLDIR not set";
echo "check config: $OTRS_SYSCONFIG";
exit 6;
fi
# Shell functions sourced from /etc/rc.status:
# rc_check check and set local and overall rc status
# rc_status check and set local and overall rc status
# rc_status -v ditto but be verbose in local rc status
# rc_status -v -r ditto and clear the local rc status
# rc_failed set local and overall rc status to failed
# rc_failed <num> set local and overall rc status to <num>
# rc_reset clear local rc status (overall remains)
# rc_exit exit appropriate to overall rc status
. /etc/rc.status
# Reset status of this service
rc_reset
# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - user had insufficient privileges
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
case "$1" in
# ------------------------------------------------------
# start
# ------------------------------------------------------
start)
echo "Starting $OTRS_PROG"
# --
# start web server
# --
if test $OTRS_HTTP_RUNNING -gt 0; then
if $OTRS_USED_WEBSERVER_RCSCRIPT status > /dev/null 2>&1 ; then
echo " Checking $OTRS_USED_WEBSERVER ... done."
rc_status
else
echo " Checking $OTRS_USED_WEBSERVER ... failed!"
echo " --> Please start the web server first! ($OTRS_USED_WEBSERVER_RCSCRIPT start) <--"
rc_failed
exit 1
fi
else
echo " Disabled: web server check!"
fi
# --
# check database
# --
if test $OTRS_DB_RUNNING -gt 0; then
if $OTRS_USED_DB_RCSCRIPT status > /dev/null 2>&1 ; then
echo " Checking $OTRS_USED_DB ... done."
rc_status
else
echo " Checking $OTRS_USED_DB ... failed."
echo " --> Please start the database at first! ($OTRS_USED_DB_RCSCRIPT start) <--"
rc_failed
rc_status -v
exit 1;
fi
else
echo " Disabled: database check!"
fi
# --
# database connect
# --
echo -n " Checking database connection... ("
if ! $OTRS_CHECKDB -s 1; then
echo ") "
echo "----------------------------------------------------------------------------"
echo " Error: Maybe your database isn't configured yet? "
echo "----------------------------------------------------------------------------"
echo ""
echo ""
echo " Try the web installer to configure your database: "
echo ""
echo ""
echo " -->> http://$OTRS_HOST/$OTRS_HTTP_LOCATION/installer.pl <<-- "
echo ""
echo ""
echo "----------------------------------------------------------------------------"
echo " or configure your database with README.database (DB - Setup Example) "
echo "----------------------------------------------------------------------------"
rc_failed
rc_status -v
exit 1;
else
echo ")."
rc_status
fi
# --
# OTRS Scheduler Service
# --
if test $OTRS_SCHEDULER_RUNNING -gt 0; then
if $OTRS_USED_SCHEDULER_RCSCRIPT status > /dev/null 2>&1 ; then
echo " Checking OTRS SCHEDULER ... done."
rc_status
else
echo " Checking OTRS SCHEDULER ... failed!"
#echo " --> Please start the scheduler first! ($OTRS_USED_SCHEDULER_RCSCRIPT start) <--"
#rc_failed
#exit 1
/etc/init.d/otrs-scheduler $1
fi
else
echo " Disabled: scheduler check!"
fi
# --
# enable otrs.PostMaster.pl
# --
echo -n " Enable $OTRS_POSTMASTER ..."
if chmod 755 $OTRS_POSTMASTER; then
echo " done."
rc_status
else
echo " failed."
fi
# --
# check otrs spool dir
# --
echo -n " Checking otrs spool dir... "
for i in $OTRS_SPOOLDIR/* ; do
# process old emails
if echo $i | grep -v '*' >> /dev/null; then
echo -n " Starting otrs PostMaster... ($i) "
if cat $i | $OTRS_POSTMASTER >> /dev/null 2>&1; then
rm $i && echo "(remove email)";
else
rc_failed
fi
fi
done
echo " done."
rc_status
# --
# start cron stuff
# --
if test $OTRS_CRON_RUNNING -gt 0; then
if mkdir -p $OTRS_CRON_DIR; cd $OTRS_CRON_DIR && ls *|grep -v '.dist'|grep -v '.save'|grep -v 'CVS'|grep -v '.rpm'|xargs cat > $OTRS_CRON_TMP_FILE && crontab $OTRS_CRON_USER $OTRS_CRON_TMP_FILE ; then
echo " Creating cronjobs (source $OTRS_CRON_DIR/*) ... done."
rc_status
else
echo " Creating cronjobs (source $OTRS_CRON_DIR/*) ... failed!"
rc_failed
exit 1
fi
else
echo " Disabled: cronjobs!"
fi
echo ""
echo " -->> http://$OTRS_HOST/$OTRS_HTTP_LOCATION/index.pl <<-- "
# show status
rc_status -v
;;
# ------------------------------------------------------
# stop
# ------------------------------------------------------
stop)
echo "Shutting down $OTRS_PROG "
# --
# disable otrs.PostMaster.pl
# --
echo -n " Disable $OTRS_POSTMASTER ..."
if chmod 644 $OTRS_POSTMASTER; then
echo " done."
rc_status
else
echo " failed."
fi
# --
# stop cron stuff
# --
if test $OTRS_CRON_RUNNING -gt 0; then
if type -a crontab 2&>/dev/null && crontab $OTRS_CRON_USER -r ; then
echo " Shutting down cronjobs ... done."
rc_status
else
echo " Shutting down cronjobs ... failed!"
rc_failed
exit 1
fi
else
echo " Disabled: cronjobs!"
fi
# --
# stop scheduler
# --
if test $OTRS_SCHEDULER_RUNNING -gt 0; then
echo -e " Shutting down OTRS scheduler ..."
$OTRS_SCHEDULER -a stop
echo " done."
fi
# show status
rc_status -v
;;
# ------------------------------------------------------
# start-force
# ------------------------------------------------------
start-force)
echo "Starting $OTRS_PROG (completely)"
# --
# start web server
# --
if test $OTRS_HTTP_RUNNING -gt 0; then
if $OTRS_USED_WEBSERVER_RCSCRIPT restart > /dev/null 2>&1 ; then
echo " Starting $OTRS_USED_WEBSERVER ... done."
rc_status
else
echo " Starting $OTRS_USED_WEBSERVER ... failed!"
rc_failed
exit 1
fi
else
echo " Disabled: web server check!"
fi
# --
# check database
# --
if test $OTRS_DB_RUNNING -gt 0; then
if $OTRS_USED_DB_RCSCRIPT restart > /dev/null 2>&1 ; then
# just in case, some databases can't get ready so fast!
sleep 5;
echo " Starting $OTRS_USED_DB ... done."
rc_status
else
echo " Starting $OTRS_USED_DB ... failed."
rc_failed
rc_status -v
exit 1;
fi
else
echo " Disabled: database check!"
fi
# --
# start normal
# --
$0 start
# show status
rc_status -v
;;
# ------------------------------------------------------
# stop-force
# ------------------------------------------------------
stop-force)
# --
# stop normal
# --
$0 stop
# --
# clean up
# --
if test $OTRS_CLEANUP; then
if $OTRS_CLEANUP > /dev/null 2>&1 ; then
echo " Cleaning up session and log cache ... done."
else
echo " Cleaning up session and log cache ... failed."
fi
fi
# --
# stop force
# --
echo "Shutting down $OTRS_PROG (completely)"
# --
# webserver
# --
if test $OTRS_HTTP_RUNNING -gt 0; then
if $OTRS_USED_WEBSERVER_RCSCRIPT stop > /dev/null 2>&1 ; then
echo " Shutting down $OTRS_USED_WEBSERVER ... done."
rc_status
else
echo " Shutting down $OTRS_USED_WEBSERVER ... failed."
rc_failed
fi
fi
# --
# database
# --
if test $OTRS_DB_RUNNING -gt 0; then
if $OTRS_USED_DB_RCSCRIPT stop > /dev/null 2>&1 ; then
echo " Shutting down $OTRS_USED_DB ... done."
rc_status
else
echo " Shutting down $OTRS_USED_DB ... failed."
rc_failed
fi
fi
# show status
rc_status -v
;;
# ------------------------------------------------------
# restart
# ------------------------------------------------------
restart)
$0 stop
$0 start
# Remember status and be quiet
rc_status
;;
# ------------------------------------------------------
# restart-force
# ------------------------------------------------------
restart-force)
$0 stop-force && sleep 3
$0 start-force
# Remember status and be quiet
rc_status
;;
# ------------------------------------------------------
# try-restart
# ------------------------------------------------------
try-restart|condrestart)
if test "$1" = "condrestart"; then
echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
fi
$0 status
if test $? = 0; then
$0 restart
else
# Not running is not a failure.
rc_reset
fi
# Remember status and be quiet
rc_status
;;
# ------------------------------------------------------
# reload
# ------------------------------------------------------
reload)
## OTRS does not support reload:
rc_failed 3
# Remember status and be verbose
rc_status -v
;;
# ------------------------------------------------------
# cleanup
# ------------------------------------------------------
cleanup)
# --
# check otrs spool dir
# --
echo -n " Checking otrs spool dir... "
for i in $OTRS_SPOOLDIR/* ; do
# process old emails
echo $i | grep -v '*' >> /dev/null && \
echo "" && \
echo -n " Starting otrs PostMaster... ($i) " && \
cat $i | $OTRS_POSTMASTER >> /dev/null 2>&1 && \
echo -n "remove email... " && \
(rm $i || rc_failed)
done
echo " done."
rc_status
# Remember status and be quiet
rc_status
;;
# ------------------------------------------------------
# status
# ------------------------------------------------------
status)
# --
# web server
# --
$OTRS_USED_WEBSERVER_RCSCRIPT status
# --
# database
# --
$OTRS_USED_DB_RCSCRIPT status
# --
# db check
# --
echo -n "Checking database connection... ("
if ! $OTRS_CHECKDB -s 1; then
echo ") "
echo "----------------------------------------------------------------------------"
echo " Error: Maybe your database isn't configured yet? "
echo "----------------------------------------------------------------------------"
else
echo ")."
fi
# --
# scheduler check
# --
$OTRS_USED_SCHEDULER_RCSCRIPT status
# --
# postmaster check
# --
echo -n "Checking $OTRS_POSTMASTER ... "
if test -x $OTRS_POSTMASTER; then
echo "(active) done."
else
echo "(not active) failed."
fi
# --
# spool dir
# --
echo -n "Checking otrs spool dir... "
for i in $OTRS_SPOOLDIR/* ; do
# echo old emails
echo $i | grep -v '*' > /dev/null && \
echo "" && \
echo -n " (message:$i) found! "
done
echo "done."
;;
*)
echo "Usage: $0 {start|stop|stop-force|start-force|status|restart|restart-force|cleanup}"
exit 1
esac
# Inform the caller not only verbosely and set an exit status.
rc_exit
++++++ otrs.rpmlintrc ++++++
addFilter('files-duplicate /srv/otrs/Kernel/Config.pm.dist')
addFilter('files-duplicate /srv/otrs/Kernel/Config/GenericAgent.pm.dist')
addFilter('hidden-file-or-dir')
addFilter('macro-in-comment')
addFilter('non-etc-or-var-file-marked-as-conffile')
addFilter('non-executable-script')
addFilter('zero-length')
++++++ sysconfig.otrs ++++++
## Path: Network/Mail/OTRS
## Description: Open source Ticket Request System configuration
## Type: string
## Default: OTRS
#
# program name
#
OTRS_PROG="OTRS"
# Type: string
## Default: otrs
#
# OTRS User
#
OTRS_USER="otrs"
## Type: string
## Default: otrs
#
# OTRS Group
#
OTRS_GROUP="otrs"
## Type: string
## Default: /srv/otrs
#
# OTRS home (root) directory
#
OTRS_ROOT="/srv/otrs"
## Type: string(0,1)
## Default: 1
#
# The OTRS cron jobs run on this host? 1=yes, 0=no
#
OTRS_CRON_RUNNING="1"
## Type: string(0,1)
## Default: 1
#
# The OTRS database is on this host? 1=yes, 0=no
#
OTRS_DB_RUNNING="0"
## Type: string(0,1)
## Default: 1
#
# The OTRS web server is on this host? 1=yes, 0=no
#
OTRS_HTTP_RUNNING="1"
## Type: string(0,1)
## Default: 1
#
# The OTRS scheduler server is on this host? 1=yes, 0=no
#
OTRS_SCHEDULER_RUNNING="1"
## Type: string(MySQL,PostgreSQL)
## Default: MySQL
## ServiceRestart: otrs
#
# Used database.
# Note: Take care, that you have changed the Config.pm database settings!
#
OTRS_USED_DB="MySQL"
## Type: string(rcmysql,rcpostgresql)
## Default: rcmysql
## ServiceRestart: otrs
#
# Init script to control database.
#
OTRS_USED_DB_RCSCRIPT="rcmysql"
## Type: string
## Default: apache
## ServiceRestart: otrs
#
# Used webserver
#
OTRS_USED_WEBSERVER="Apache"
## Type: string
## Default: rcapache2
## ServiceRestart: otrs
#
# Init script to control the webserver
#
OTRS_USED_WEBSERVER_RCSCRIPT="rcapache2"
## Type: string
## Default: $OTRS_ROOT/var/cron
#
# Location of the cron jobs
#
OTRS_CRON_DIR="$OTRS_ROOT/var/cron"
## Type: string
## Default: $OTRS_ROOT/var/tmp/cron
#
# Location of the temporary cron files
#
OTRS_CRON_TMP_FILE="$OTRS_ROOT/var/tmp/cron"
## Type: string
## Default: " -u otrs "
#
# Cron job user option
#
OTRS_CRON_USER=" -u otrs "
## Type: string
## Default: otrs.example.com
#
# Command to get the systems hostname
#
OTRS_HOST="otrs.example.com"
## Type: string
## Default: otrs
#
# OTRS location - means http://host/$OTRS_HTTP_LOCATION/index.pl
#
OTRS_HTTP_LOCATION="otrs"
## Type: string
## Default: $OTRS_ROOT/bin/otrs.PostMaster.pl
#
# Location of the PostMaster.pl script.
#
OTRS_POSTMASTER="$OTRS_ROOT/bin/otrs.PostMaster.pl"
## Type: string
## Default: $OTRS_ROOT/bin/otrs.CheckDB.pl
#
# Location of the CheckDB.pl script.
#
OTRS_CHECKDB="$OTRS_ROOT/bin/otrs.CheckDB.pl"
## Type: string
## Default: $OTRS_ROOT/bin/otrs.CleanUp.pl
#
# Location of the CleanUp.pl script.
#
OTRS_CLEANUP="$OTRS_ROOT/bin/otrs.CleanUp.pl"
## Type: string
## Default: $OTRS_ROOT/bin/otrs.Scheduler.pl
#
# Location of the Scheduler.pl script.
#
OTRS_SCHEDULER="$OTRS_ROOT/bin/otrs.Scheduler.pl"
## Type: string
## Default: "$OTRS_SCHEDULER -a status | grep 'Running'"
#
# Command to get status of Scheduler
#
OTRS_SCHEDULER_TEST="$OTRS_SCHEDULER -a status | grep 'Running'"
# Type: string
## Default: rcotrs-scheduler
## ServiceRestart: otrs
#
# Init script to control the OTRS Scheduler
#
OTRS_USED_SCHEDULER_RCSCRIPT="rcotrs-scheduler"
## Type: string
## Default: $OTRS_ROOT/var/spool
#
# Location of the OTRS spool directory.
#
OTRS_SPOOLDIR="$OTRS_ROOT/var/spool"
--
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 otrs for openSUSE:12.3:Update checked in at 2014-04-22 15:33:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/otrs (Old)
and /work/SRC/openSUSE:12.3:Update/.otrs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "otrs"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.wD8FRo/_old 2014-04-22 15:33:34.000000000 +0200
+++ /var/tmp/diff_new_pack.wD8FRo/_new 2014-04-22 15:33:34.000000000 +0200
@@ -1 +1 @@
-<link package='otrs.2624' cicount='copy' />
+<link package='otrs.2716' cicount='copy' />
--
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 openssl for openSUSE:13.1:Update checked in at 2014-04-22 15:20:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/openssl (Old)
and /work/SRC/openSUSE:13.1:Update/.openssl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openssl"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.Gy1XAv/_old 2014-04-22 15:20:06.000000000 +0200
+++ /var/tmp/diff_new_pack.Gy1XAv/_new 2014-04-22 15:20:06.000000000 +0200
@@ -1 +1 @@
-<link package='openssl.2718' cicount='copy' />
+<link package='openssl.2741' cicount='copy' />
--
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 openssl for openSUSE:12.3:Update checked in at 2014-04-22 15:20:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/openssl (Old)
and /work/SRC/openSUSE:12.3:Update/.openssl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openssl"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.xRA1vg/_old 2014-04-22 15:20:02.000000000 +0200
+++ /var/tmp/diff_new_pack.xRA1vg/_new 2014-04-22 15:20:02.000000000 +0200
@@ -1 +1 @@
-<link package='openssl.2718' cicount='copy' />
+<link package='openssl.2741' cicount='copy' />
--
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 openssl.2741 for openSUSE:12.3:Update checked in at 2014-04-22 15:19:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/openssl.2741 (Old)
and /work/SRC/openSUSE:12.3:Update/.openssl.2741.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openssl.2741"
Changes:
--------
New Changes file:
--- /dev/null 2014-04-17 09:46:44.096034755 +0200
+++ /work/SRC/openSUSE:12.3:Update/.openssl.2741.new/openssl.changes 2014-04-22 15:19:58.000000000 +0200
@@ -0,0 +1,1488 @@
+-------------------------------------------------------------------
+Thu Apr 10 12:31:10 UTC 2014 - shchang(a)suse.com
+
+- Upgrade to 1.0.1g:
+ * TLS heartbeat read overrun (CVE-2014-0160)
+ * Fixed: CVE-2013-4353, CVE-2013-6449, CVE-2013-6450, CVE-2014-0076, CVE-2014-0160
+
+ Add files: openssl-1.0.1g.tar.gz, openssl-1.0.1g.tar.gz.asc
+ Delete files: openssl-1.0.1e.tar.gz, openssl-1.0.1e.tar.gz.asc, CVE-2013-4353.patch,
+ CVE-2013-6449.patch, CVE-2013-6450.patch, CVE-2014-0076.patch, bug-861384-crash_webrtc.patch,
+ CVE-2014-0160.patch, SSL_get_certificate-broken.patch, openssl-1.0.1e-bnc822642.patch
+
+-------------------------------------------------------------------
+Tue Apr 8 05:24:11 UTC 2014 - shchang(a)suse.com
+
+- Fixed bug[ bnc#872299] CVE-2014-0160: openssl: missing bounds checks for heartbeat messages
+ Add file: CVE-2014-0160.patch
+
+-------------------------------------------------------------------
+Tue Mar 25 05:14:55 UTC 2014 - shchang(a)suse.com
+
+- Fix bug[ bnc#869945] CVE-2014-0076: openssl: Recovering OpenSSL ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack
+ Add file: CVE-2014-0076.patch
+
+-------------------------------------------------------------------
+Wed Feb 19 03:32:52 UTC 2014 - shchang(a)suse.com
+
+- Fixed bnc#861384, update to openssl-1.0.1e-11.14.1 broke WebRTC functionality in FreeSWITCH
+ Add file: bug-861384-crash_webrtc.patch
+
+-------------------------------------------------------------------
+Wed Jan 8 07:09:48 UTC 2014 - shchang(a)suse.com
+
+- Fixed bnc#857640, openssl: TLS record tampering issue can lead to OpenSSL crash
+ Add file: CVE-2013-4353.patch
+
+-------------------------------------------------------------------
+Thu Jan 2 17:06:57 UTC 2014 - shchang(a)suse.com
+
+- Fixed bnc#857203, openssl: crash in DTLS renegotiation after packet loss
+ Add file: CVE-2013-6450.patch
+
+-------------------------------------------------------------------
+Sun Dec 22 08:52:36 UTC 2013 - shchang(a)suse.com
+
+- Fixed bnc#856687, openssl: crash when using TLS 1.2
+ Add file: CVE-2013-6449.patch
+
+-------------------------------------------------------------------
+Tue Dec 17 13:57:40 UTC 2013 - meissner(a)suse.com
+
+- compression_methods_switch.patch: setenv might not be successful
+ if a surrounding library or application filters it, like e.g. sudo.
+ As setenv() does not seem to be useful anyway, remove it.
+ bnc#849377
+
+-------------------------------------------------------------------
+Mon Oct 28 16:11:30 UTC 2013 - meissner(a)suse.com
+
+- compression_methods_switch.patch:
+ Disable ssl compression by default to mitigate compression oracle
+ attacks like CRIME or BEAST.
+ bnc#793420 / CVE-2012-4929
+
+-------------------------------------------------------------------
+Fri Sep 27 10:26:43 UTC 2013 - dmacvicar(a)suse.de
+
+- VPN openconnect problem (DTLS handshake failed)
+ (git 9fe4603b8, bnc#822642, openssl ticket#2984)
+ + added openssl-1.0.1e-bnc822642.patch
+
+-------------------------------------------------------------------
+Mon Aug 12 06:16:31 UTC 2013 - shchang(a)suse.com
+
+- Fix bug[ bnc#832833] openssl ssl_set_cert_masks() is broken
+ modify patch file: SSL_get_certificate-broken.patch
+
+-------------------------------------------------------------------
+Tue Feb 12 00:08:06 UTC 2013 - hrvoje.senjan(a)gmail.com
+
+- Update to 1.0.1e
+ o Bugfix release (bnc#803004)
+- Drop openssl-1.0.1d-s3-packet.patch, included upstream
+
+-------------------------------------------------------------------
+Sun Feb 10 20:33:51 UTC 2013 - hrvoje.senjan(a)gmail.com
+
+- Added openssl-1.0.1d-s3-packet.patch from upstream, fixes
+ bnc#803004, openssl ticket#2975
+
+-------------------------------------------------------------------
+Tue Feb 5 16:00:17 UTC 2013 - meissner(a)suse.com
+
+- update to version 1.0.1d, fixing security issues
+ o Fix renegotiation in TLS 1.1, 1.2 by using the correct TLS version.
+ o Include the fips configuration module.
+ o Fix OCSP bad key DoS attack CVE-2013-0166
+ o Fix for SSL/TLS/DTLS CBC plaintext recovery attack CVE-2013-0169
+ bnc#802184
+ o Fix for TLS AESNI record handling flaw CVE-2012-2686
+
+-------------------------------------------------------------------
+Mon Nov 12 08:39:31 UTC 2012 - gjhe(a)suse.com
+
+- fix bug[bnc#784994] - VIA padlock support on 64 systems
+ e_padlock: add support for x86_64 gcc
+
+-------------------------------------------------------------------
+Sun Aug 19 23:38:32 UTC 2012 - crrodriguez(a)opensuse.org
+
+- Open Internal file descriptors with O_CLOEXEC, leaving
+ those open across fork()..execve() makes a perfect
+ vector for a side-channel attack...
+
+-------------------------------------------------------------------
+Tue Aug 7 17:17:34 UTC 2012 - dmueller(a)suse.com
+
+- fix build on armv5 (bnc#774710)
+
+-------------------------------------------------------------------
+Thu May 10 19:18:06 UTC 2012 - crrodriguez(a)opensuse.org
+
+- Update to version 1.0.1c for the complete list of changes see
+ NEWS, this only list packaging changes.
+- Drop aes-ni patch, no longer needed as it is builtin in openssl
+ now.
+- Define GNU_SOURCE and use -std=gnu99 to build the package.
+- Use LFS_CFLAGS in platforms where it matters.
+
+-------------------------------------------------------------------
+Fri May 4 12:09:57 UTC 2012 - lnussel(a)suse.de
+
+- don't install any demo or expired certs at all
+
+-------------------------------------------------------------------
+Mon Apr 23 05:57:35 UTC 2012 - gjhe(a)suse.com
+
+- update to latest stable verison 1.0.0i
+ including the following patches:
+ CVE-2012-2110.path
+ Bug748738_Tolerate_bad_MIME_headers.patch
+ bug749213-Free-headers-after-use.patch
+ bug749210-Symmetric-crypto-errors-in-PKCS7_decrypt.patch
+ CVE-2012-1165.patch
+ CVE-2012-0884.patch
+ bug749735.patch
+
+-------------------------------------------------------------------
+Tue Mar 27 09:16:37 UTC 2012 - gjhe(a)suse.com
+
+- fix bug[bnc#749735] - Memory leak when creating public keys.
+ fix bug[bnc#751977] - CMS and S/MIME Bleichenbacher attack
+ CVE-2012-0884
+
+-------------------------------------------------------------------
+Thu Mar 22 03:24:20 UTC 2012 - gjhe(a)suse.com
+
+- fix bug[bnc#751946] - S/MIME verification may erroneously fail
+ CVE-2012-1165
+
+-------------------------------------------------------------------
+Wed Mar 21 02:44:41 UTC 2012 - gjhe(a)suse.com
+
+- fix bug[bnc#749213]-Free headers after use in error message
+ and bug[bnc#749210]-Symmetric crypto errors in PKCS7_decrypt
+
+-------------------------------------------------------------------
+Tue Mar 20 14:29:24 UTC 2012 - cfarrell(a)suse.com
+
+- license update: OpenSSL
+
+-------------------------------------------------------------------
+Fri Feb 24 02:33:22 UTC 2012 - gjhe(a)suse.com
+
+- fix bug[bnc#748738] - Tolerate bad MIME headers in openssl's
+ asn1 parser.
+ CVE-2006-7250
+
+-------------------------------------------------------------------
+Thu Feb 2 06:55:12 UTC 2012 - gjhe(a)suse.com
+
+- Update to version 1.0.0g fix the following:
+ DTLS DoS attack (CVE-2012-0050)
+
+-------------------------------------------------------------------
+Wed Jan 11 05:35:18 UTC 2012 - gjhe(a)suse.com
+
+- Update to version 1.0.0f fix the following:
+ DTLS Plaintext Recovery Attack (CVE-2011-4108)
+ Uninitialized SSL 3.0 Padding (CVE-2011-4576)
+ Malformed RFC 3779 Data Can Cause Assertion Failures (CVE-2011-4577)
+ SGC Restart DoS Attack (CVE-2011-4619)
+ Invalid GOST parameters DoS Attack (CVE-2012-0027)
+
+-------------------------------------------------------------------
+Tue Oct 18 16:43:50 UTC 2011 - crrodriguez(a)opensuse.org
+
++++ 1291 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.3:Update/.openssl.2741.new/openssl.changes
New:
----
README.SuSE
VIA_padlock_support_on_64systems.patch
baselibs.conf
bug610223.patch
compression_methods_switch.patch
merge_from_0.9.8k.patch
openssl-1.0.0-c_rehash-compat.diff
openssl-1.0.1g.tar.gz
openssl-1.0.1g.tar.gz.asc
openssl-ocloexec.patch
openssl.changes
openssl.spec
openssl.test
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openssl.spec ++++++
#
# spec file for package openssl
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: openssl
BuildRequires: bc
BuildRequires: ed
BuildRequires: pkg-config
BuildRequires: zlib-devel
%define ssletcdir %{_sysconfdir}/ssl
#%define num_version %(echo "%{version}" | sed -e "s+[a-zA-Z]++g; s+_.*++g")
%define num_version 1.0.0
Provides: ssl
# bug437293
%ifarch ppc64
Obsoletes: openssl-64bit
%endif
Version: 1.0.1g
Release: 0
Summary: Secure Sockets and Transport Layer Security
License: OpenSSL
Group: Productivity/Networking/Security
Url: http://www.openssl.org/
Source: http://www.%{name}.org/source/%{name}-%{version}.tar.gz
Source42: http://www.%{name}.org/source/%{name}-%{version}.tar.gz.asc
# to get mtime of file:
Source1: openssl.changes
Source2: baselibs.conf
Source10: README.SuSE
Patch0: merge_from_0.9.8k.patch
Patch1: openssl-1.0.0-c_rehash-compat.diff
Patch2: bug610223.patch
Patch3: openssl-ocloexec.patch
Patch4: VIA_padlock_support_on_64systems.patch
Patch5: compression_methods_switch.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
The OpenSSL Project is a collaborative effort to develop a robust,
commercial-grade, full-featured, and open source toolkit implementing
the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
v1) protocols with full-strength cryptography. The project is managed
by a worldwide community of volunteers that use the Internet to
communicate, plan, and develop the OpenSSL toolkit and its related
documentation.
Derivation and License
OpenSSL is based on the excellent SSLeay library developed by Eric A.
Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an
Apache-style license, which basically means that you are free to get it
and to use it for commercial and noncommercial purposes.
Authors:
--------
Mark J. Cox <mark(a)openssl.org>
Ralf S. Engelschall <rse(a)openssl.org>
Dr. Stephen Henson <steve(a)openssl.org>
Ben Laurie <ben(a)openssl.org>
Bodo Moeller <bodo(a)openssl.org>
Ulf Moeller <ulf(a)openssl.org>
Holger Reif <holger(a)openssl.org>
Paul C. Sutton <paul(a)openssl.org>
%package -n libopenssl1_0_0
Summary: Secure Sockets and Transport Layer Security
Group: Productivity/Networking/Security
Recommends: openssl-certs
# bug437293
%ifarch ppc64
Obsoletes: openssl-64bit
%endif
#
%description -n libopenssl1_0_0
The OpenSSL Project is a collaborative effort to develop a robust,
commercial-grade, full-featured, and open source toolkit implementing
the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS
v1) protocols with full-strength cryptography. The project is managed
by a worldwide community of volunteers that use the Internet to
communicate, plan, and develop the OpenSSL toolkit and its related
documentation.
Derivation and License
OpenSSL is based on the excellent SSLeay library developed by Eric A.
Young and Tim J. Hudson. The OpenSSL toolkit is licensed under an
Apache-style license, which basically means that you are free to get it
and to use it for commercial and noncommercial purposes.
Authors:
--------
Mark J. Cox <mark(a)openssl.org>
Ralf S. Engelschall <rse(a)openssl.org>
Dr. Stephen Henson <steve(a)openssl.org>
Ben Laurie <ben(a)openssl.org>
Bodo Moeller <bodo(a)openssl.org>
Ulf Moeller <ulf(a)openssl.org>
Holger Reif <holger(a)openssl.org>
Paul C. Sutton <paul(a)openssl.org>
%package -n libopenssl-devel
Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries/C and C++
Obsoletes: openssl-devel < %{version}
Requires: %name = %version
Requires: libopenssl1_0_0 = %{version}
Requires: zlib-devel
Provides: openssl-devel = %{version}
# bug437293
%ifarch ppc64
Obsoletes: openssl-devel-64bit
%endif
#
%description -n libopenssl-devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
Authors:
--------
Mark J. Cox <mark(a)openssl.org>
Ralf S. Engelschall <rse(a)openssl.org>
Dr. Stephen <Henson steve(a)openssl.org>
Ben Laurie <ben(a)openssl.org>
Bodo Moeller <bodo(a)openssl.org>
Ulf Moeller <ulf(a)openssl.org>
Holger Reif <holger(a)openssl.org>
Paul C. Sutton <paul(a)openssl.org>
%package doc
Summary: Additional Package Documentation
Group: Productivity/Networking/Security
BuildArch: noarch
%description doc
This package contains optional documentation provided in addition to
this package's base documentation.
Authors:
--------
Mark J. Cox <mark(a)openssl.org>
Ralf S. Engelschall <rse(a)openssl.org>
Dr. Stephen <Henson steve(a)openssl.org>
Ben Laurie <ben(a)openssl.org>
Bodo Moeller <bodo(a)openssl.org>
Ulf Moeller <ulf(a)openssl.org>
Holger Reif <holger(a)openssl.org>
Paul C. Sutton <paul(a)openssl.org>
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3
%patch4 -p1
%patch5 -p1
cp -p %{S:10} .
echo "adding/overwriting some entries in the 'table' hash in Configure"
# $dso_scheme:$shared_target:$shared_cflag:$shared_ldflag:$shared_extension:$ranlib:$arflags
export DSO_SCHEME='dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::'
cat <<EOF_ED | ed -s Configure
/^);
-
i
#
# local configuration added from specfile
# ... MOST of those are now correct in openssl's Configure already,
# so only add them for new ports!
#
#config-string, $cc:$cflags:$unistd:$thread_cflag:$sys_id:$lflags:$bn_ops:$cpuid_obj:$bn_obj:$des_obj:$aes_obj:$bf_obj:$md5_obj:$sha1_obj:$cast_obj:$rc4_obj:$rmd160_obj:$rc5_obj:$wp_obj:$cmll_obj:$dso_scheme:$shared_target:$shared_cflag:$shared_ldflag:$shared_extension:$ranlib:$arflags:$multilib
#"linux-elf", "gcc:-DL_ENDIAN ::-D_REENTRANT::-ldl:BN_LLONG \${x86_gcc_des} \${x86_gcc_opts}:\${x86_elf_asm}:$DSO_SCHEME:",
#"linux-ia64", "gcc:-DL_ENDIAN -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK RC4_CHAR:\${ia64_asm}: $DSO_SCHEME:",
#"linux-ppc", "gcc:-DB_ENDIAN ::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:\${no_asm}: $DSO_SCHEME:",
#"linux-ppc64", "gcc:-DB_ENDIAN -DMD32_REG_T=int::-D_REENTRANT::-ldl:RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL SIXTY_FOUR_BIT_LONG:\${no_asm}: $DSO_SCHEME:64",
"linux-elf-arm","gcc:-DL_ENDIAN ::-D_REENTRANT::-ldl:BN_LLONG:\${no_asm}: $DSO_SCHEME:",
"linux-mips", "gcc:-DB_ENDIAN ::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:\${no_asm}: $DSO_SCHEME:",
"linux-sparcv7","gcc:-DB_ENDIAN ::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:\${no_asm}: $DSO_SCHEME:",
#"linux-sparcv8","gcc:-DB_ENDIAN -DBN_DIV2W -mv8 ::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::asm/sparcv8.o::::::::::::: $DSO_SCHEME:",
#"linux-x86_64", "gcc:-DL_ENDIAN -DNO_ASM -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG:\${no_asm}: $DSO_SCHEME:64",
#"linux-s390", "gcc:-DB_ENDIAN ::(unknown): :-ldl:BN_LLONG:\${no_asm}: $DSO_SCHEME:",
#"linux-s390x", "gcc:-DB_ENDIAN -DNO_ASM -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG:\${no_asm}: $DSO_SCHEME:64",
"linux-parisc", "gcc:-DB_ENDIAN ::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR DES_PTR DES_UNROLL DES_RISC1:\${no_asm}: $DSO_SCHEME:",
.
wq
EOF_ED
# fix ENGINESDIR path
sed -i 's,/lib/engines,/%_lib/engines,' Configure
# Record mtime of changes file instead of build time
CHANGES=`stat --format="%y" %SOURCE1`
sed -i -e "s|#define DATE \(.*\).LC_ALL.*date.|#define DATE \1$CHANGES|" crypto/Makefile
%build
%ifarch armv5el armv5tel
export MACHINE=armv5el
%endif
./config --test-sanity
#
config_flags="threads shared no-rc5 no-idea \
enable-camellia \
zlib \
--prefix=%{_prefix} \
--libdir=%{_lib} \
--openssldir=%{ssletcdir} \
$RPM_OPT_FLAGS -std=gnu99 \
-Wa,--noexecstack \
-fomit-frame-pointer \
-DTERMIO \
-DPURIFY \
-DSSL_FORBID_ENULL \
-D_GNU_SOURCE \
$(getconf LFS_CFLAGS) \
%ifnarch hppa
-Wall \
-fstack-protector "
%else
-Wall "
%endif
#
#%{!?do_profiling:%define do_profiling 0}
#%if %do_profiling
# # generate feedback
# ./config $config_flags
# make depend CC="gcc %cflags_profile_generate"
# make CC="gcc %cflags_profile_generate"
# LD_LIBRARY_PATH=`pwd` make rehash CC="gcc %cflags_profile_generate"
# LD_LIBRARY_PATH=`pwd` make test CC="gcc %cflags_profile_generate"
# LD_LIBRARY_PATH=`pwd` apps/openssl speed
# make clean
# # compile with feedback
# # but not if it makes a cipher slower:
# #find crypto/aes -name '*.da' | xargs -r rm
# ./config $config_flags %cflags_profile_feedback
# make depend
# make
# LD_LIBRARY_PATH=`pwd` make rehash
# LD_LIBRARY_PATH=`pwd` make test
#%else
# OpenSSL relies on uname -m (not good). Thus that little sparc line.
./config \
%ifarch sparc64
linux64-sparcv9 \
%endif
$config_flags
make depend
make
LD_LIBRARY_PATH=`pwd` make rehash
%ifnarch armv4l
LD_LIBRARY_PATH=`pwd` make test
%endif
#%endif
# show settings
make TABLE
echo $RPM_OPT_FLAGS
eval $(egrep PLATFORM='[[:alnum:]]' Makefile)
grep -B1 -A22 "^\*\*\* $PLATFORM$" TABLE
%install
rm -rf $RPM_BUILD_ROOT
make MANDIR=%{_mandir} INSTALL_PREFIX=$RPM_BUILD_ROOT install
install -d -m755 $RPM_BUILD_ROOT%{ssletcdir}/certs
ln -sf ./%{name} $RPM_BUILD_ROOT/%{_includedir}/ssl
mkdir $RPM_BUILD_ROOT/%{_datadir}/ssl
mv $RPM_BUILD_ROOT/%{ssletcdir}/misc $RPM_BUILD_ROOT/%{_datadir}/ssl/
# ln -s %{ssletcdir}/certs $RPM_BUILD_ROOT/%{_datadir}/ssl/certs
# ln -s %{ssletcdir}/private $RPM_BUILD_ROOT/%{_datadir}/ssl/private
# ln -s %{ssletcdir}/openssl.cnf $RPM_BUILD_ROOT/%{_datadir}/ssl/openssl.cnf
#
# avoid file conflicts with man pages from other packages
#
pushd $RPM_BUILD_ROOT/%{_mandir}
# some man pages now contain spaces. This makes several scripts go havoc, among them /usr/sbin/Check.
# replace spaces by underscores
#for i in man?/*\ *; do mv -v "$i" "${i// /_}"; done
which readlink &>/dev/null || function readlink { ( set +x; target=$(file $1 2>/dev/null); target=${target//* }; test -f $target && echo $target; ) }
for i in man?/*; do
if test -L $i ; then
LDEST=`readlink $i`
rm -f $i ${i}ssl
ln -sf ${LDEST}ssl ${i}ssl
else
mv $i ${i}ssl
fi
case `basename ${i%.*}` in
asn1parse|ca|config|crl|crl2pkcs7|crypto|dgst|dhparam|dsa|dsaparam|enc|gendsa|genrsa|nseq|openssl|passwd|pkcs12|pkcs7|pkcs8|rand|req|rsa|rsautl|s_client|s_server|smime|spkac|ssl|verify|version|x509)
# these are the pages mentioned in openssl(1). They go into the main package.
echo %doc %{_mandir}/${i}ssl.gz >> $OLDPWD/filelist;;
*)
# the rest goes into the openssl-doc package.
echo %doc %{_mandir}/${i}ssl.gz >> $OLDPWD/filelist.doc;;
esac
done
popd
#
# check wether some shared library has been installed
#
ls -l $RPM_BUILD_ROOT%{_libdir}
test -f $RPM_BUILD_ROOT%{_libdir}/libssl.so.%{num_version}
test -f $RPM_BUILD_ROOT%{_libdir}/libcrypto.so.%{num_version}
test -L $RPM_BUILD_ROOT%{_libdir}/libssl.so
test -L $RPM_BUILD_ROOT%{_libdir}/libcrypto.so
#
# see what we've got
#
cat > showciphers.c <<EOF
#include <openssl/err.h>
#include <openssl/ssl.h>
int main(){
unsigned int i;
SSL_CTX *ctx;
SSL *ssl;
SSL_METHOD *meth;
meth = SSLv23_client_method();
SSLeay_add_ssl_algorithms();
ctx = SSL_CTX_new(meth);
if (ctx == NULL) return 0;
ssl = SSL_new(ctx);
if (!ssl) return 0;
for (i=0; ; i++) {
int j, k;
SSL_CIPHER *sc;
sc = (meth->get_cipher)(i);
if (!sc) break;
k = SSL_CIPHER_get_bits(sc, &j);
printf("%s\n", sc->name);
}
return 0;
};
EOF
gcc $RPM_OPT_FLAGS -I${RPM_BUILD_ROOT}%{_includedir} -c showciphers.c
gcc -o showciphers showciphers.o -L${RPM_BUILD_ROOT}%{_libdir} -lssl -lcrypto
LD_LIBRARY_PATH=${RPM_BUILD_ROOT}%{_libdir} ./showciphers > AVAILABLE_CIPHERS || true
cat AVAILABLE_CIPHERS
# Do not install demo scripts executable under /usr/share/doc
find demos -type f -perm /111 -exec chmod 644 {} \;
#process openssllib
mkdir $RPM_BUILD_ROOT/%{_lib}
mv $RPM_BUILD_ROOT%{_libdir}/libssl.so.%{num_version} $RPM_BUILD_ROOT/%{_lib}/
mv $RPM_BUILD_ROOT%{_libdir}/libcrypto.so.%{num_version} $RPM_BUILD_ROOT/%{_lib}/
mv $RPM_BUILD_ROOT%{_libdir}/engines $RPM_BUILD_ROOT/%{_lib}/
cd $RPM_BUILD_ROOT%{_libdir}/
ln -sf /%{_lib}/libssl.so.%{num_version} ./libssl.so
ln -sf /%{_lib}/libcrypto.so.%{num_version} ./libcrypto.so
%clean
if ! test -f /.buildenv; then rm -rf $RPM_BUILD_ROOT; fi
%post -n libopenssl1_0_0 -p /sbin/ldconfig
%postun -n libopenssl1_0_0 -p /sbin/ldconfig
%files -n libopenssl1_0_0
%defattr(-, root, root)
/%{_lib}/libssl.so.%{num_version}
/%{_lib}/libcrypto.so.%{num_version}
/%{_lib}/engines
%files -n libopenssl-devel
%defattr(-, root, root)
%{_includedir}/%{name}/
%{_includedir}/ssl
%exclude %{_libdir}/libcrypto.a
%exclude %{_libdir}/libssl.a
%{_libdir}/libssl.so
%{_libdir}/libcrypto.so
%_libdir/pkgconfig/libcrypto.pc
%_libdir/pkgconfig/libssl.pc
%_libdir/pkgconfig/openssl.pc
%files doc -f filelist.doc
%defattr(-, root, root)
%doc doc/* demos
%doc showciphers.c
%files -f filelist
%defattr(-, root, root)
%doc CHANGE* INSTAL* AVAILABLE_CIPHERS
%doc LICENSE NEWS README README.SuSE
%dir %{ssletcdir}
%dir %{ssletcdir}/certs
%config (noreplace) %{ssletcdir}/openssl.cnf
%attr(700,root,root) %{ssletcdir}/private
%dir %{_datadir}/ssl
%{_datadir}/ssl/misc
%{_bindir}/c_rehash
%{_bindir}/%{name}
%changelog
++++++ README.SuSE ++++++
Please note that the man pages for the openssl libraries and tools
have been placed in a package on its own right: openssl-doc Please
install the openssl-doc package if you need the man pages, HTML
documentation or sample C programs.
The C header files and static libraries have also been extracted, they
can now be found in the openssl-devel package.
Your SuSE Team.
++++++ VIA_padlock_support_on_64systems.patch ++++++
Index: openssl-1.0.1c/engines/e_padlock.c
===================================================================
--- openssl-1.0.1c.orig/engines/e_padlock.c
+++ openssl-1.0.1c/engines/e_padlock.c
@@ -101,7 +101,10 @@
compiler choice is limited to GCC and Microsoft C. */
#undef COMPILE_HW_PADLOCK
#if !defined(I386_ONLY) && !defined(OPENSSL_NO_INLINE_ASM)
-# if (defined(__GNUC__) && (defined(__i386__) || defined(__i386))) || \
+# if (defined(__GNUC__) && __GNUC__>=2 && \
+ (defined(__i386__) || defined(__i386) || \
+ defined(__x86_64__) || defined(__x86_64)) \
+ ) || \
(defined(_MSC_VER) && defined(_M_IX86))
# define COMPILE_HW_PADLOCK
# endif
@@ -304,6 +307,7 @@ static volatile struct padlock_cipher_da
* =======================================================
*/
#if defined(__GNUC__) && __GNUC__>=2
+#if defined(__i386__) || defined(__i386)
/*
* As for excessive "push %ebx"/"pop %ebx" found all over.
* When generating position-independent code GCC won't let
@@ -383,21 +387,6 @@ padlock_available(void)
return padlock_use_ace + padlock_use_rng;
}
-#ifndef OPENSSL_NO_AES
-/* Our own htonl()/ntohl() */
-static inline void
-padlock_bswapl(AES_KEY *ks)
-{
- size_t i = sizeof(ks->rd_key)/sizeof(ks->rd_key[0]);
- unsigned int *key = ks->rd_key;
-
- while (i--) {
- asm volatile ("bswapl %0" : "+r"(*key));
- key++;
- }
-}
-#endif
-
/* Force key reload from memory to the CPU microcode.
Loading EFLAGS from the stack clears EFLAGS[30]
which does the trick. */
@@ -456,11 +445,130 @@ static inline void *name(size_t cnt, \
return iv; \
}
+
+#endif
+
+#elif defined(__x86_64__) || defined(__x86_64)
+
+/* Load supported features of the CPU to see if
+ the PadLock is available. */
+ static int
+padlock_available(void)
+{
+ char vendor_string[16];
+ unsigned int eax, edx;
+
+ /* Are we running on the Centaur (VIA) CPU? */
+ eax = 0x00000000;
+ vendor_string[12] = 0;
+ asm volatile (
+ "cpuid\n"
+ "movl %%ebx,(%1)\n"
+ "movl %%edx,4(%1)\n"
+ "movl %%ecx,8(%1)\n"
+ : "+a"(eax) : "r"(vendor_string) : "rbx", "rcx", "rdx");
+ if (strcmp(vendor_string, "CentaurHauls") != 0)
+ return 0;
+
+ /* Check for Centaur Extended Feature Flags presence */
+ eax = 0xC0000000;
+ asm volatile ("cpuid"
+ : "+a"(eax) : : "rbx", "rcx", "rdx");
+ if (eax < 0xC0000001)
+ return 0;
+
+ /* Read the Centaur Extended Feature Flags */
+ eax = 0xC0000001;
+ asm volatile ("cpuid"
+ : "+a"(eax), "=d"(edx) : : "rbx", "rcx");
+
+ /* Fill up some flags */
+ padlock_use_ace = ((edx & (0x3<<6)) == (0x3<<6));
+ padlock_use_rng = ((edx & (0x3<<2)) == (0x3<<2));
+
+ return padlock_use_ace + padlock_use_rng;
+}
+
+/* Force key reload from memory to the CPU microcode.
+ Loading EFLAGS from the stack clears EFLAGS[30]
+ which does the trick. */
+ static inline void
+padlock_reload_key(void)
+{
+ asm volatile ("pushfq; popfq");
+}
+
+#ifndef OPENSSL_NO_AES
+/*
+ * This is heuristic key context tracing. At first one
+ * believes that one should use atomic swap instructions,
+ * but it's not actually necessary. Point is that if
+ * padlock_saved_context was changed by another thread
+ * after we've read it and before we compare it with cdata,
+ * our key *shall* be reloaded upon thread context switch
+ * and we are therefore set in either case...
+ */
+ static inline void
+padlock_verify_context(struct padlock_cipher_data *cdata)
+{
+ asm volatile (
+ "pushfq\n"
+ " btl $30,(%%rsp)\n"
+ " jnc 1f\n"
+ " cmpq %2,%1\n"
+ " je 1f\n"
+ " popfq\n"
+ " subq $8,%%rsp\n"
+ "1: addq $8,%%rsp\n"
+ " movq %2,%0"
+ :"+m"(padlock_saved_context)
+ : "r"(padlock_saved_context), "r"(cdata) : "cc");
+}
+
+/* Template for padlock_xcrypt_* modes */
+/* BIG FAT WARNING:
+ * The offsets used with 'leal' instructions
+ * describe items of the 'padlock_cipher_data'
+ * structure.
+ */
+#define PADLOCK_XCRYPT_ASM(name,rep_xcrypt) \
+ static inline void *name(size_t cnt, \
+ struct padlock_cipher_data *cdata, \
+ void *out, const void *inp) \
+{ void *iv; \
+ asm volatile ( "leaq 16(%0),%%rdx\n" \
+ " leaq 32(%0),%%rbx\n" \
+ rep_xcrypt "\n" \
+ : "=a"(iv), "=c"(cnt), "=D"(out), "=S"(inp) \
+ : "0"(cdata), "1"(cnt), "2"(out), "3"(inp) \
+ : "rbx", "rdx", "cc", "memory"); \
+ return iv; \
+}
+#endif
+
+#endif /* cpu */
+
+#ifndef OPENSSL_NO_AES
+
+
/* Generate all functions with appropriate opcodes */
PADLOCK_XCRYPT_ASM(padlock_xcrypt_ecb, ".byte 0xf3,0x0f,0xa7,0xc8") /* rep xcryptecb */
PADLOCK_XCRYPT_ASM(padlock_xcrypt_cbc, ".byte 0xf3,0x0f,0xa7,0xd0") /* rep xcryptcbc */
PADLOCK_XCRYPT_ASM(padlock_xcrypt_cfb, ".byte 0xf3,0x0f,0xa7,0xe0") /* rep xcryptcfb */
PADLOCK_XCRYPT_ASM(padlock_xcrypt_ofb, ".byte 0xf3,0x0f,0xa7,0xe8") /* rep xcryptofb */
+
+/* Our own htonl()/ntohl() */
+static inline void
+padlock_bswapl(AES_KEY *ks)
+{
+ size_t i = sizeof(ks->rd_key)/sizeof(ks->rd_key[0]);
+ unsigned int *key = ks->rd_key;
+
+ while (i--) {
+ asm volatile ("bswapl %0" : "+r"(*key));
+ key++;
+ }
+}
#endif
/* The RNG call itself */
@@ -491,8 +599,8 @@ padlock_xstore(void *addr, unsigned int
static inline unsigned char *
padlock_memcpy(void *dst,const void *src,size_t n)
{
- long *d=dst;
- const long *s=src;
+ size_t *d=dst;
+ const size_t *s=src;
n /= sizeof(*d);
do { *d++ = *s++; } while (--n);
Index: openssl-1.0.1c/engines/e_padlock.c
===================================================================
--- openssl-1.0.1c.orig/engines/e_padlock.c
+++ openssl-1.0.1c/engines/e_padlock.c
@@ -457,30 +457,33 @@ padlock_available(void)
{
char vendor_string[16];
unsigned int eax, edx;
+ size_t scratch;
/* Are we running on the Centaur (VIA) CPU? */
eax = 0x00000000;
vendor_string[12] = 0;
asm volatile (
+ "movq %%rbx,%1\n"
"cpuid\n"
- "movl %%ebx,(%1)\n"
- "movl %%edx,4(%1)\n"
- "movl %%ecx,8(%1)\n"
- : "+a"(eax) : "r"(vendor_string) : "rbx", "rcx", "rdx");
+ "movl %%ebx,(%2)\n"
+ "movl %%edx,4(%2)\n"
+ "movl %%ecx,8(%2)\n"
+ "movq %1,%%rbx"
+ : "+a"(eax), "=&r"(scratch) : "r"(vendor_string) : "rcx", "rdx");
if (strcmp(vendor_string, "CentaurHauls") != 0)
return 0;
/* Check for Centaur Extended Feature Flags presence */
eax = 0xC0000000;
- asm volatile ("cpuid"
- : "+a"(eax) : : "rbx", "rcx", "rdx");
+ asm volatile ("movq %%rbx,%1; cpuid; movq %1,%%rbx"
+ : "+a"(eax), "=&r"(scratch) : : "rcx", "rdx");
if (eax < 0xC0000001)
return 0;
/* Read the Centaur Extended Feature Flags */
eax = 0xC0000001;
- asm volatile ("cpuid"
- : "+a"(eax), "=d"(edx) : : "rbx", "rcx");
+ asm volatile ("movq %%rbx,%2; cpuid; movq %2,%%rbx"
+ : "+a"(eax), "=d"(edx), "=&r"(scratch) : : "rcx");
/* Fill up some flags */
padlock_use_ace = ((edx & (0x3<<6)) == (0x3<<6));
@@ -536,12 +539,15 @@ padlock_verify_context(struct padlock_ci
struct padlock_cipher_data *cdata, \
void *out, const void *inp) \
{ void *iv; \
- asm volatile ( "leaq 16(%0),%%rdx\n" \
+ size_t scratch; \
+ asm volatile ( "movq %%rbx,%4\n" \
+ " leaq 16(%0),%%rdx\n" \
" leaq 32(%0),%%rbx\n" \
rep_xcrypt "\n" \
- : "=a"(iv), "=c"(cnt), "=D"(out), "=S"(inp) \
+ " movq %4,%%rbx" \
+ : "=a"(iv), "=c"(cnt), "=D"(out), "=S"(inp), "=&r"(scratch) \
: "0"(cdata), "1"(cnt), "2"(out), "3"(inp) \
- : "rbx", "rdx", "cc", "memory"); \
+ : "rdx", "cc", "memory"); \
return iv; \
}
#endif
++++++ baselibs.conf ++++++
libopenssl1_0_0
obsoletes "openssl-<targettype> <= <version>"
libopenssl-devel
requires -libopenssl-<targettype>
requires "libopenssl1_0_0-<targettype> = <version>"
++++++ bug610223.patch ++++++
Index: openssl-1.0.0/Configure
===================================================================
--- openssl-1.0.0.orig/Configure
+++ openssl-1.0.0/Configure
@@ -1673,7 +1673,8 @@ while (<IN>)
}
elsif (/^#define\s+ENGINESDIR/)
{
- my $foo = "$prefix/$libdir/engines";
+ #my $foo = "$prefix/$libdir/engines";
+ my $foo = "/$libdir/engines";
$foo =~ s/\\/\\\\/g;
print OUT "#define ENGINESDIR \"$foo\"\n";
}
++++++ compression_methods_switch.patch ++++++
Index: openssl-1.0.1e/doc/ssl/SSL_COMP_add_compression_method.pod
===================================================================
--- openssl-1.0.1e.orig/doc/ssl/SSL_COMP_add_compression_method.pod
+++ openssl-1.0.1e/doc/ssl/SSL_COMP_add_compression_method.pod
@@ -41,6 +41,24 @@ of compression methods supported on a pe
The OpenSSL library has the compression methods B<COMP_rle()> and (when
especially enabled during compilation) B<COMP_zlib()> available.
+And, there is an environment variable to switch the compression
+methods off and on. In default the compression is off to mitigate
+the so called CRIME attack ( CVE-2012-4929). If you want to enable
+compression again set OPENSSL_NO_DEFAULT_ZLIB to "no".
+
+The variable can be switched on and off at runtime; when this variable
+is set "no" compression is enabled, otherwise no, for example:
+
+in shell 'export OPENSSL_NO_DEFAULT_ZLIB=no'
+or in C to call
+int setenv(const char *name, const char *value, int overwrite); and
+int unsetenv(const char *name);
+
+Note: This reverts the behavior of the variable as it was before!
+
+And pay attention that this freaure is temporary, it maybe changed by
+the following updates.
+
=head1 WARNINGS
Once the identities of the compression methods for the TLS protocol have
Index: openssl-1.0.1e/ssl/ssl_ciph.c
===================================================================
--- openssl-1.0.1e.orig/ssl/ssl_ciph.c
+++ openssl-1.0.1e/ssl/ssl_ciph.c
@@ -452,10 +452,16 @@ static void load_builtin_compressions(vo
if (ssl_comp_methods == NULL)
{
SSL_COMP *comp = NULL;
+ const char *nodefaultzlib;
MemCheck_off();
ssl_comp_methods=sk_SSL_COMP_new(sk_comp_cmp);
- if (ssl_comp_methods != NULL)
+
+ /* The default is "no" compression to avoid CRIME/BEAST */
+ nodefaultzlib = getenv("OPENSSL_NO_DEFAULT_ZLIB");
+ if ( ssl_comp_methods != NULL &&
+ nodefaultzlib &&
+ strncmp( nodefaultzlib, "no", 2) == 0)
{
comp=(SSL_COMP *)OPENSSL_malloc(sizeof(SSL_COMP));
if (comp != NULL)
++++++ merge_from_0.9.8k.patch ++++++
--- openssl-1.0.1c.orig/Configure
+++ openssl-1.0.1c/Configure
@@ -931,7 +931,7 @@ PROCESS_ARGS:
}
else
{
- die "target already defined - $target (offending arg: $_)\n" if ($target ne "");
+ warn "target already defined - $target (offending arg: $_)\n" if ($target ne "");
$target=$_;
}
@@ -1204,7 +1204,7 @@ if ($target =~ /^mingw/ && `$cc --target
my $no_shared_warn=0;
my $no_user_cflags=0;
-if ($flags ne "") { $cflags="$flags$cflags"; }
+if ($flags ne "") { $cflags="$cflags $flags"; }
else { $no_user_cflags=1; }
# Kerberos settings. The flavor must be provided from outside, either through
--- openssl-1.0.1c.orig/config
+++ openssl-1.0.1c/config
@@ -573,7 +573,8 @@ case "$GUESSOS" in
options="$options -arch%20${MACHINE}"
OUT="iphoneos-cross" ;;
alpha-*-linux2)
- ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo`
+ #ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo`
+ ISA=EV56
case ${ISA:-generic} in
*[678]) OUT="linux-alpha+bwx-$CC" ;;
*) OUT="linux-alpha-$CC" ;;
@@ -593,7 +594,8 @@ case "$GUESSOS" in
echo " You have about 5 seconds to press Ctrl-C to abort."
(trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
fi
- OUT="linux-ppc"
+ # we have the target and force it here
+ OUT="linux-ppc64"
;;
ppc-*-linux2) OUT="linux-ppc" ;;
ppc60x-*-vxworks*) OUT="vxworks-ppc60x" ;;
@@ -614,10 +616,10 @@ case "$GUESSOS" in
sparc-*-linux2)
KARCH=`awk '/^type/{print$3;exit(0);}' /proc/cpuinfo`
case ${KARCH:-sun4} in
- sun4u*) OUT="linux-sparcv9" ;;
- sun4m) OUT="linux-sparcv8" ;;
- sun4d) OUT="linux-sparcv8" ;;
- *) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
+# sun4u*) OUT="linux-sparcv9" ;;
+# sun4m) OUT="linux-sparcv8" ;;
+# sun4d) OUT="linux-sparcv8" ;;
+ *) OUT="linux-sparcv8" ;;
esac ;;
parisc*-*-linux2)
# 64-bit builds under parisc64 linux are not supported and
@@ -636,7 +638,11 @@ case "$GUESSOS" in
# PA8500 -> 8000 (2.0)
# PA8600 -> 8000 (2.0)
- CPUSCHEDULE=`echo $CPUSCHEDULE|sed -e 's/7300LC/7100LC/' -e 's/8.00/8000/'`
+ # CPUSCHEDULE=`echo $CPUSCHEDULE|sed -e 's/7300LC/7100LC/' -e 's/8?00/8000/'`
+ # lets have CPUSCHEDULE for 1.1:
+ CPUSCHEDULE=7100LC
+ # we want to support 1.1 CPUs as well:
+ CPUARCH=1.1
# Finish Model transformations
options="$options -DB_ENDIAN -mschedule=$CPUSCHEDULE -march=$CPUARCH"
++++++ openssl-1.0.0-c_rehash-compat.diff ++++++
>From 83f318d68bbdab1ca898c94576a838cc97df4700 Mon Sep 17 00:00:00 2001
From: Ludwig Nussel <ludwig.nussel(a)suse.de>
Date: Wed, 21 Apr 2010 15:52:10 +0200
Subject: [PATCH] also create old hash for compatibility
---
tools/c_rehash.in | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/tools/c_rehash.in b/tools/c_rehash.in
index bfc4a69..f8d0ce1 100644
--- a/tools/c_rehash.in
+++ b/tools/c_rehash.in
@@ -83,6 +83,7 @@ sub hash_dir {
next;
}
link_hash_cert($fname) if($cert);
+ link_hash_cert_old($fname) if($cert);
link_hash_crl($fname) if($crl);
}
}
@@ -116,8 +117,9 @@ sub check_file {
sub link_hash_cert {
my $fname = $_[0];
+ my $hashopt = $_[1] || '-subject_hash';
$fname =~ s/'/'\\''/g;
- my ($hash, $fprint) = `"$openssl" x509 -hash -fingerprint -noout -in "$fname"`;
+ my ($hash, $fprint) = `"$openssl" x509 $hashopt -fingerprint -noout -in "$fname"`;
chomp $hash;
chomp $fprint;
$fprint =~ s/^.*=//;
@@ -147,6 +149,10 @@ sub link_hash_cert {
$hashlist{$hash} = $fprint;
}
+sub link_hash_cert_old {
+ link_hash_cert($_[0], '-subject_hash_old');
+}
+
# Same as above except for a CRL. CRL links are of the form <hash>.r<n>
sub link_hash_crl {
--
1.6.4.2
++++++ openssl-ocloexec.patch ++++++
--- crypto/bio/b_sock.c.orig
+++ crypto/bio/b_sock.c
@@ -735,7 +735,7 @@ int BIO_get_accept_socket(char *host, in
}
again:
- s=socket(server.sa.sa_family,SOCK_STREAM,SOCKET_PROTOCOL);
+ s=socket(server.sa.sa_family,SOCK_STREAM|SOCK_CLOEXEC,SOCKET_PROTOCOL);
if (s == INVALID_SOCKET)
{
SYSerr(SYS_F_SOCKET,get_last_socket_error());
@@ -784,7 +784,7 @@ again:
}
else goto err;
}
- cs=socket(client.sa.sa_family,SOCK_STREAM,SOCKET_PROTOCOL);
+ cs=socket(client.sa.sa_family,SOCK_STREAM|SOCK_CLOEXEC,SOCKET_PROTOCOL);
if (cs != INVALID_SOCKET)
{
int ii;
--- crypto/bio/bss_conn.c.orig
+++ crypto/bio/bss_conn.c
@@ -209,7 +209,7 @@ static int conn_state(BIO *b, BIO_CONNEC
c->them.sin_addr.s_addr=htonl(l);
c->state=BIO_CONN_S_CREATE_SOCKET;
- ret=socket(AF_INET,SOCK_STREAM,SOCKET_PROTOCOL);
+ ret=socket(AF_INET,SOCK_STREAM|SOCK_CLOEXEC,SOCKET_PROTOCOL);
if (ret == INVALID_SOCKET)
{
SYSerr(SYS_F_SOCKET,get_last_socket_error());
--- crypto/bio/bss_dgram.c.orig
+++ crypto/bio/bss_dgram.c
@@ -999,7 +999,7 @@ static int dgram_sctp_read(BIO *b, char
msg.msg_control = cmsgbuf;
msg.msg_controllen = 512;
msg.msg_flags = 0;
- n = recvmsg(b->num, &msg, 0);
+ n = recvmsg(b->num, &msg, MSG_CMSG_CLOEXEC);
if (msg.msg_controllen > 0)
{
@@ -1560,7 +1560,7 @@ int BIO_dgram_sctp_wait_for_dry(BIO *b)
msg.msg_controllen = 0;
msg.msg_flags = 0;
- n = recvmsg(b->num, &msg, MSG_PEEK);
+ n = recvmsg(b->num, &msg, MSG_PEEK| MSG_CMSG_CLOEXEC);
if (n <= 0)
{
if ((n < 0) && (get_last_socket_error() != EAGAIN) && (get_last_socket_error() != EWOULDBLOCK))
@@ -1583,7 +1583,7 @@ int BIO_dgram_sctp_wait_for_dry(BIO *b)
msg.msg_controllen = 0;
msg.msg_flags = 0;
- n = recvmsg(b->num, &msg, 0);
+ n = recvmsg(b->num, &msg, MSG_CMSG_CLOEXEC);
if (n <= 0)
{
if ((n < 0) && (get_last_socket_error() != EAGAIN) && (get_last_socket_error() != EWOULDBLOCK))
@@ -1644,7 +1644,7 @@ int BIO_dgram_sctp_wait_for_dry(BIO *b)
fcntl(b->num, F_SETFL, O_NONBLOCK);
}
- n = recvmsg(b->num, &msg, MSG_PEEK);
+ n = recvmsg(b->num, &msg, MSG_PEEK | MSG_CMSG_CLOEXEC);
if (is_dry)
{
@@ -1688,7 +1688,7 @@ int BIO_dgram_sctp_msg_waiting(BIO *b)
sockflags = fcntl(b->num, F_GETFL, 0);
fcntl(b->num, F_SETFL, O_NONBLOCK);
- n = recvmsg(b->num, &msg, MSG_PEEK);
+ n = recvmsg(b->num, &msg, MSG_PEEK | MSG_CMSG_CLOEXEC);
fcntl(b->num, F_SETFL, sockflags);
/* if notification, process and try again */
@@ -1709,7 +1709,7 @@ int BIO_dgram_sctp_msg_waiting(BIO *b)
msg.msg_control = NULL;
msg.msg_controllen = 0;
msg.msg_flags = 0;
- n = recvmsg(b->num, &msg, 0);
+ n = recvmsg(b->num, &msg, MSG_CMSG_CLOEXEC);
if (data->handle_notifications != NULL)
data->handle_notifications(b, data->notification_context, (void*) &snp);
--- crypto/bio/bss_file.c.orig
+++ crypto/bio/bss_file.c
@@ -120,6 +120,10 @@ BIO *BIO_new_file(const char *filename,
{
BIO *ret;
FILE *file=NULL;
+ size_t modelen = strlen (mode);
+ char newmode[modelen + 2];
+
+ memcpy (mempcpy (newmode, mode, modelen), "e", 2);
#if defined(_WIN32) && defined(CP_UTF8)
int sz, len_0 = (int)strlen(filename)+1;
@@ -162,7 +166,7 @@ BIO *BIO_new_file(const char *filename,
file = fopen(filename,mode);
}
#else
- file=fopen(filename,mode);
+ file=fopen(filename,newmode);
#endif
if (file == NULL)
{
@@ -275,7 +279,7 @@ static long MS_CALLBACK file_ctrl(BIO *b
long ret=1;
FILE *fp=(FILE *)b->ptr;
FILE **fpp;
- char p[4];
+ char p[5];
switch (cmd)
{
@@ -392,6 +396,8 @@ static long MS_CALLBACK file_ctrl(BIO *b
else
strcat(p,"t");
#endif
+ strcat(p, "e");
+
fp=fopen(ptr,p);
if (fp == NULL)
{
--- crypto/rand/rand_unix.c.orig
+++ crypto/rand/rand_unix.c
@@ -262,7 +262,7 @@ int RAND_poll(void)
for (i = 0; (i < sizeof(randomfiles)/sizeof(randomfiles[0])) &&
(n < ENTROPY_NEEDED); i++)
{
- if ((fd = open(randomfiles[i], O_RDONLY
+ if ((fd = open(randomfiles[i], O_RDONLY | O_CLOEXEC
#ifdef O_NONBLOCK
|O_NONBLOCK
#endif
--- crypto/rand/randfile.c.orig
+++ crypto/rand/randfile.c
@@ -134,7 +134,7 @@ int RAND_load_file(const char *file, lon
#ifdef OPENSSL_SYS_VMS
in=vms_fopen(file,"rb",VMS_OPEN_ATTRS);
#else
- in=fopen(file,"rb");
+ in=fopen(file,"rbe");
#endif
if (in == NULL) goto err;
#if defined(S_IFBLK) && defined(S_IFCHR) && !defined(OPENSSL_NO_POSIX_IO)
@@ -207,7 +207,7 @@ int RAND_write_file(const char *file)
#endif
/* chmod(..., 0600) is too late to protect the file,
* permissions should be restrictive from the start */
- int fd = open(file, O_WRONLY|O_CREAT|O_BINARY, 0600);
+ int fd = open(file, O_WRONLY|O_CREAT|O_BINARY|O_CLOEXEC, 0600);
if (fd != -1)
out = fdopen(fd, "wb");
}
@@ -238,7 +238,7 @@ int RAND_write_file(const char *file)
out = vms_fopen(file,"wb",VMS_OPEN_ATTRS);
#else
if (out == NULL)
- out = fopen(file,"wb");
+ out = fopen(file,"wbe");
#endif
if (out == NULL) goto err;
++++++ openssl.test ++++++
openssl autmatically tests iteslf, no further testing needed
--
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 json-c.2735 for openSUSE:13.1:Update checked in at 2014-04-22 15:16:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/json-c.2735 (Old)
and /work/SRC/openSUSE:13.1:Update/.json-c.2735.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "json-c.2735"
Changes:
--------
New Changes file:
--- /dev/null 2014-04-17 09:46:44.096034755 +0200
+++ /work/SRC/openSUSE:13.1:Update/.json-c.2735.new/json-c.changes 2014-04-22 15:16:19.000000000 +0200
@@ -0,0 +1,103 @@
+-------------------------------------------------------------------
+Wed Apr 9 09:54:51 UTC 2014 - idonmez(a)suse.com
+
+- Add json-c-hash-dos-and-overflow-random-seed-4e.patch to fix
+ CVE-2013-6370 and CVE-2013-6371 (bnc#870147)
+
+-------------------------------------------------------------------
+Sun Mar 10 08:38:30 UTC 2013 - coolo(a)suse.com
+
+- add json-c-fix-headers.patch from master branch to fix compilation
+ of apps using the lib
+
+-------------------------------------------------------------------
+Thu Mar 7 09:43:30 UTC 2013 - bruno(a)ioda-net.ch
+
+- Update to 0.10 version :
+ * Add a json_object_to_json_string_ext() function to allow output
+ to be formatted in a more human readable form.
+ * Add json_object_object_get_ex(), a NULL-safe get object method,
+ to be able to distinguish between a key not present and the value
+ being NULL.
+ * Add an alternative iterator implementation, see json_object_iterator.h
+ * Make json_object_iter public to enable external use of the
+ json_object_object_foreachC macro.
+ * Add a printbuf_memset() function to provide an effecient way to set and
+ append things like whitespace indentation.
+ * Adjust json_object_is_type and json_object_get_type so they return
+ json_type_null for NULL objects and handle NULL passed to
+ json_objct_object_get().
+ * Rename boolean type to json_bool.
+ * Fix various compile issues for Visual Studio and MinGW.
+ * Allow json_tokener_parse_ex() to be re-used to parse multiple object.
+ Also, fix some parsing issues with capitalized hexadecimal numbers and
+ number in E notation.
+ * Add json_tokener_get_error() and json_tokener_error_desc() to better
+ encapsulate the process of retrieving errors while parsing.
+ * Various improvements to the documentation of many functions.
+ * Add new json_object_array_sort() function.
+ * Fix a bug in json_object_get_int(), which would incorrectly return 0
+ when called on a string type object.
+ Eric Haszlakiewicz
+ * Add a json_type_to_name() function.
+ Eric Haszlakiewicz
+ * Add a json_tokener_parse_verbose() function.
+ Jehiah Czebotar
+ * Improve support for null bytes within JSON strings.
+ Jehiah Czebotar
+ * Fix file descriptor leak if memory allocation fails in json_util
+ Zachary Blair, zack_blair at hotmail dot com
+ * Add int64 support. Two new functions json_object_net_int64 and
+ json_object_get_int64. Binary compatibility preserved.
+ Eric Haszlakiewicz, EHASZLA at transunion com
+ Rui Miguel Silva Seabra, rms at 1407 dot org
+ * Fix subtle bug in linkhash where lookup could hang after all slots
+ were filled then successively freed.
+ Spotted by Jean-Marc Naud, j dash m at newtraxtech dot com
+ * Make json_object_from_file take const char *filename
+ Spotted by Vikram Raj V, vsagar at attinteractive dot com
+ * Add handling of surrogate pairs (json_tokener.c, test4.c, Makefile.am)
+ Brent Miller, bdmiller at yahoo dash inc dot com
+ * Correction to comment describing printbuf_memappend in printbuf.h
+ Brent Miller, bdmiller at yahoo dash inc dot com
+
+- Packaging :
+ * upgrade upstream location https://gitub.com/json-c/json-c/wiki
+ * cleanup old patches included now upstream
+ . json-c-0.9-linkhash.patch
+ . json-c-0.9-json_tokener.patch
+ . json-c-0.9-json_object_from_file.patch
+ . json-c-0.9-base.patch
+ * Redone lfs patch against new 0.10 release
+ * Removed empty NEWS file
+
+-------------------------------------------------------------------
+Sun Apr 22 00:34:03 UTC 2012 - crrodriguez(a)opensuse.org
+
+- Fix LFS support in x86.
+- Do not build with -Werror
+- Remove "la" files
+- tune up autotools scripts as well ensure config.h is included
+ everywhere
+
+-------------------------------------------------------------------
+Sun Nov 13 13:50:27 UTC 2011 - jengelh(a)medozas.de
+
+- Remove redundant/unwanted tags/section (cf. specfile guidelines)
+
+-------------------------------------------------------------------
+Sun Nov 13 09:11:46 UTC 2011 - coolo(a)suse.com
+
+- add libtool as explicit buildrequire to avoid implicit dependency from prjconf
+
+-------------------------------------------------------------------
+Mon Aug 29 08:01:40 UTC 2011 - coolo(a)novell.com
+
+- add baselibs.conf for pulseaudio to use
+- use original sources
+
+-------------------------------------------------------------------
+Thu Nov 4 17:22:27 UTC 2010 - chris(a)computersalat.de
+
+- initial pkg 0.9
+
New:
----
baselibs.conf
json-c-0.10.tar.gz
json-c-fix-headers.patch
json-c-hash-dos-and-overflow-random-seed-4e.patch
json-c-lfs.patch
json-c.changes
json-c.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ json-c.spec ++++++
#
# spec file for package json-c
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define libname libjson
%define libsoname %{libname}0
Name: json-c
Summary: JSON implementation in C
License: MIT
Group: System/Libraries
Version: 0.10
Release: 0
Url: https://gitub.com/%{name}/%{name}/wiki
Source0: https://github.com/downloads/json-c/json-c/%{name}-%{version}.tar.gz
Source1: baselibs.conf
#Redone 0.10 patches
Patch0: %{name}-lfs.patch
# taken from master
Patch1: %{name}-fix-headers.patch
Patch2: %{name}-hash-dos-and-overflow-random-seed-4e.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: libtool
BuildRequires: pkg-config
%description
JSON-C implements a reference counting object model that allows you to
easily construct JSON objects in C, output them as JSON formatted
strings and parse JSON formatted strings back into the C
representation of JSON objects.
%package -n %{libsoname}
Summary: JSON shared lib
Group: System/Libraries
%description -n %{libsoname}
This package includes the JSON library.
%package -n %{libname}-devel
Summary: Development headers and libraries for json-c
Group: Development/Libraries/C and C++
Requires: %{libsoname} = %{version}
%description -n %{libname}-devel
This package includes header files and scripts needed for developers
using the json-c library
%package -n %{libname}-doc
Summary: Documentation files
Group: Documentation/Other
%if 0%{suse_version} >= 1120
BuildArch: noarch
%endif
%description -n %{libname}-doc
This package includes alls docs
%prep
%setup -q -n %{name}-%{version}
# Redone patches
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
autoreconf -fiv
%configure --disable-static --with-pic
%{__make} %{?_smp_mflags}
%check
%{__make} %{?_smp_mflags} check
rm -rf %{buildroot}%{_libdir}/*.la
%install
%makeinstall DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir} mandir=%{_mandir}
%post -n %{libsoname} -p /sbin/ldconfig
%postun -n %{libsoname} -p /sbin/ldconfig
%files -n %{libsoname}
%defattr(-,root,root)
%{_libdir}/%{libname}.so.*
%files -n %{libname}-devel
%defattr(-,root,root)
%{_libdir}/%{libname}.so
%{_includedir}/json
%{_libdir}/pkgconfig/*.pc
%files -n %{libname}-doc
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING README README.html doc
%changelog
++++++ baselibs.conf ++++++
libjson0
++++++ json-c-fix-headers.patch ++++++
Index: json-c-0.10/Makefile.am
===================================================================
--- json-c-0.10.orig/Makefile.am
+++ json-c-0.10/Makefile.am
@@ -17,6 +17,7 @@ libjsoninclude_HEADERS = \
json_config.h \
json_inttypes.h \
json_object.h \
+ json_object_iterator.h \
json_object_private.h \
json_tokener.h \
json_util.h \
++++++ json-c-hash-dos-and-overflow-random-seed-4e.patch ++++++
++++ 859 lines (skipped)
++++++ json-c-lfs.patch ++++++
diff --git a/Makefile.am.inc b/Makefile.am.inc
index b1ebce8..5886498 100644
--- a/Makefile.am.inc
+++ b/Makefile.am.inc
@@ -1,2 +1,2 @@
-AM_CFLAGS = -Wall -Wwrite-strings -Werror -std=gnu99 -D_GNU_SOURCE -D_REENTRANT
+AM_CFLAGS = -Wall -Wwrite-strings -D_REENTRANT
diff --git a/configure.in b/configure.in
index bcb9027..eadf4f9 100644
--- a/configure.in
+++ b/configure.in
@@ -1,14 +1,17 @@
AC_PREREQ(2.52)
# Process this file with autoconf to produce a configure script.
-AC_INIT([json-c], 0.10, [json-c(a)googlegroups.com]
+AC_INIT([json-c], [0.10], [json-c(a)googlegroups.com]
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
AC_PROG_MAKE_SET
# Checks for programs.
-
+AC_PROG_CC_STDC
+AC_USE_SYSTEM_EXTENSIONS
+AC_SYS_LARGEFILE
+
# Checks for libraries.
# Checks for header files.
diff --git a/linkhash.c b/linkhash.c
index ddedc12..7f9426d 100644
--- a/linkhash.c
+++ b/linkhash.c
@@ -17,6 +17,7 @@
#include <stddef.h>
#include <limits.h>
+#include "config.h"
#include "linkhash.h"
void lh_abort(const char *msg, ...)
diff --git a/tests/test1.c b/tests/test1.c
index 9802eb1..71582c8 100644
--- a/tests/test1.c
+++ b/tests/test1.c
@@ -1,3 +1,4 @@
+#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
diff --git a/tests/test2.c b/tests/test2.c
index 4a6b660..73afb5b 100644
--- a/tests/test2.c
+++ b/tests/test2.c
@@ -1,3 +1,4 @@
+#include "config.h"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
diff --git a/tests/test_printbuf.c b/tests/test_printbuf.c
index ee3f80d..c704e22 100644
--- a/tests/test_printbuf.c
+++ b/tests/test_printbuf.c
@@ -1,3 +1,4 @@
+#include "config.h"
#include <assert.h>
#include <stddef.h>
#include <stdio.h>
--
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 patchinfo.2726 for openSUSE:12.3:Update checked in at 2014-04-22 15:15:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/patchinfo.2726 (Old)
and /work/SRC/openSUSE:12.3:Update/.patchinfo.2726.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patchinfo.2726"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_patchinfo
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _patchinfo ++++++
<patchinfo>
<category>security</category>
<rating>low</rating>
<packager>draht</packager>
<summary>CVE-2014-0128: squid can crash when SSLBump is used in combination with range requests.</summary>
<description>The SSLBump feature acts as TLS/SSL termination for clients. If this feature is enabled, squid can crash with range requests, leading to a potential Denial of Service condition.</description>
<issue tracker="cve" id="CVE-2014-0128"/>
<issue tracker="bnc" id="867533"/>
</patchinfo>
--
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 squid for openSUSE:12.3:Update checked in at 2014-04-22 15:14:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/squid (Old)
and /work/SRC/openSUSE:12.3:Update/.squid.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "squid"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.ykPoX8/_old 2014-04-22 15:14:55.000000000 +0200
+++ /var/tmp/diff_new_pack.ykPoX8/_new 2014-04-22 15:14:55.000000000 +0200
@@ -1 +1 @@
-<link package='squid.1978' cicount='copy' />
+<link package='squid.2726' cicount='copy' />
--
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 cairo.2743 for openSUSE:13.1:Update checked in at 2014-04-22 12:45:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/cairo.2743 (Old)
and /work/SRC/openSUSE:13.1:Update/.cairo.2743.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cairo.2743"
Changes:
--------
New Changes file:
--- /dev/null 2014-04-17 09:46:44.096034755 +0200
+++ /work/SRC/openSUSE:13.1:Update/.cairo.2743.new/cairo.changes 2014-04-22 12:45:04.000000000 +0200
@@ -0,0 +1,939 @@
+-------------------------------------------------------------------
+Fri Apr 11 12:57:09 UTC 2014 - jw(a)suse.com
+
+- Added fix_for_fdo77298.patch
+ So that inkscape can export 0.01mm lines again to PDF. Was broken in 1.12.3
+
+-------------------------------------------------------------------
+Wed Aug 28 20:42:58 UTC 2013 - idonmez(a)suse.com
+
+- Add cairo-disable-lto.patch to disable LTO on s390{x} to fix the
+ build.
+
+-------------------------------------------------------------------
+Tue Aug 27 06:41:01 UTC 2013 - dimstar(a)opensuse.org
+
+- Update to version 1.12.16:
+ + Set the correct orientation for simple boxes with a negative
+ scale factor.
+ + Fix the creation of the shading dictionary in PDF.
+ + Avoid upscaling bitmap fonts if possible.
+ + Fix an assertion failure within the mempool allocator for
+ shared memory.
+ + Fix allocation size for CFF subsets.
+ + Export cairo_matrix_t for GObject bindings.
+ + Stop leaking the image data when loading PNGs.
+ + Prevent an assertion failure when creating similar GL surfaces
+ larger than supported by hardware.
+ + Bugs fixed: fdo#61451, fdo#62885, fdo#61876, fdo#63196,
+ fdo#697357, fdo#61592, fdo#68014, fdo#63787.
+- Drop cairo-reduce-buddy-assertion.patch: fixed upstream.
+
+-------------------------------------------------------------------
+Mon Jul 8 18:49:31 CEST 2013 - sbrabec(a)suse.cz
+
+- Add cairo-reduce-buddy-assertion.patch: Fix eog crash on
+ assertion, after pressing Next (bnc#828074).
+
+-------------------------------------------------------------------
+Sat May 25 20:58:42 UTC 2013 - dimstar(a)opensuse.org
+
+- Drop cairo-libpng16-v2.patch: in its current form, this patch
+ causes issues as that cairo.ImageSurface.create_from_png errors
+ out with 'MemoryError' in all cases (bnc#821766).
+
+-------------------------------------------------------------------
+Tue Apr 2 11:57:02 UTC 2013 - pgajdos(a)suse.com
+
+- Add cairo-libpng16-v2.patch: Fix png usage with libpng 1.6:
+ call png_set_read_user_transform_fn() before
+ png_read_update_info() (bnc#810701).
+
+-------------------------------------------------------------------
+Thu Feb 14 17:42:09 UTC 2013 - zaitor(a)opensuse.org
+
+- Update to version 1.12.14:
+ + Prevent user callbacks accessing user-data during destroy to
+ prevent use-after-free bugs (mozilla#722975).
+ + Use standard names for glyphs in subset fonts (PDF) (fdo#60248)
+ + Fix detection of Win98. The logic for detecting Win98
+ AlphaBlend() was inverted, disabling AlphaBlend() for everyone.
+ + Prevent numeric overflow from extrapolating polygon edges to
+ the clip boundary and causing severe render artifacts.
+ (fdo#60489).
+ + Fix computation of glyph string coordinates when breaking up
+ runs for xlib.
+ + Fix an assertion in the win32 backend for failing to clear its
+ similar-images (fdo#60519).
+- Changes from version 1.12.12:
+ + Avoid replacing the entire image when uploading subimages
+ (fdo#59635).
+ + Force synchronisation for scratch SHM image buffers, so that we
+ do not overwrite data as it is being read by X (fdo#59635).
+ + Fix typos in detecting multisampling for the GL (MSAA) backend.
+ + Fix a memory leak in the GL (MSAA) backend.
+ + Fix a reference counting bug when mapping a GL surface to an
+ image.
+- Changes from version 1.12.10:
+ + Append coincident elements to the recording's surface bbtree so
+ that the list is not corrupted and the overlapping elements
+ lost.
+ + Fix cairo-trace to correctly record map-to-image/unmap-image
+ and then replay them.
+ + Ignore MappingNotifies when running the XCB testsuite as they
+ are sent to all clients when the keyboard changes. The
+ testsuite would detect the unexpected event and complain.
+ + Handle very large images in the XCB backend.
+ + Fix a memory leak in the xlib/shm layer, and prevent use of
+ the SHM surfaces after the display is closed (fdo#58253).
+ + Handle resizing of bitmap fonts, in preparation for a fix to
+ fontconfig to correctly pass on the user request for scaling.
+ + Always include subroutine 4 (hint replacement idion) when
+ subsetting type 1 fonts in order to prevent a crash in
+ cgpdftops on Mac OS/X.
+ + Fix a couple of typos in the cairo-gobject.h header files for
+ introspection.
+ + Prevent a mutex deadlock when freeing a scaled-glyph containing
+ a recording-surface that itself references another scaled-glyph
+ (fdo#54950).
+ + Make scaled-font cache actually thread-safe and prevent
+ use-after-frees.
+ + Restore support for older versions of XRender. A couple of
+ typos and a few forgotten chunks prevented the xlib
+ compositor from running correctly with XRender < 0.10.
+- Enable building of the GL Backend.
+
+-------------------------------------------------------------------
+Tue Nov 6 12:21:53 UTC 2012 - dimstar(a)opensuse.org
+
+- Update to version 1.12.8:
+ + Expand the sanity checking for broken combinations of
+ XSendEvent and ShmCompletionEvent.
+ + Notice that "The X.Org Foundation" sometimes also identifies
+ itself as "The Xorg Foundation".
+ + Handle various ages of libXext and its Shm headers.
+ + Fix the invalid clipping of the source drawable when using SHM
+ transport to upload images (fdo#56547).
+ + Handle all Type1 postscript operators for better font
+ compatibility (fdo#56265).
+ + Fix a couple of memory leaks in Type1 font subsetting
+ (fdo#56566)
+ + Tighten the evaluation of the start/stop pen vertices, and catch
+ a few instances where we would use a fan instead of a bevel.
+ (fdo#56432)
+ + Fix assumption that geometric clipping always succeeds with the
+ span-compositor (fdo#56574)
+ + Fix call to spline intersection when evaluating whether a stoke
+ is visible.
+ + Remember to copy inferior sources when using SHM to readback the
+ surface for use as a source.
+- Changes from version 1.12.6:
+ + Fix the recording surface to actually snapshot the source and
+ so fix PDF drawing.
+ + Calling XSendEvent with an XShmCompletionEvent is incompatabile
+ with older Xorg servers.
+ + Reorder CloseDisplay chain so that XShm is not reinstantiated
+ after shutdown, causing a potential crash if the Display was
+ immediately recreated using the same memory address.
+ + Make sure that the Xserver has attached to the SHM segment
+ before deleting it from the global namespace on systems that do
+ not support deferred deletion.
+ + Type1 subsetting support for PDF (and PS) was once again
+ improved to work with a larger number of PDF readers.
+ + GLESv2 build fixes and improved support for embedded GPUs.
+ + Tweak the invisible pen detection for applications that are
+ currently using too large values for geometric tolerance.
+ + A build fix for older freetype libraries.
+- Rebase cairo-modules-no-version.patch.
+
+-------------------------------------------------------------------
+Fri Oct 12 12:00:24 UTC 2012 - dimstar(a)opensuse.org
+
+- Update to version 1.12.4:
+ + Interior boxes were being dropped when amalgamating regions
+ during tesselation (fdo#49446)
+ + Allow building without gtk-doc installed
+ + Invalid edge generation whilst reducing complex polygons
+ (fdo#50852)
+ + Stroking around tight cusps
+ + Use locale correct formats for reading font subsetting and
+ valid buffers (fdo#51443)
+ + Ensure that the type1 subset includes all the glyph encodings
+ (fdo#53040)
+ + Upload the whole source for a repeating pattern (fdo#51910)
+ + Fix damage tracking to handle continuation chunks corectly and
+ so prevent crashes on win32 (fdo#53384)
+ + Avoid emitting miter joins for degenerate line segments
+ (fdo#407107)
+ + Convert the relative path semgents into the backend coordinates
+ and then back again to user coordinates (fdo#54732)
+ + Fix extents computations for a degenerate path consisting only
+ of a move-to (fdo#54549)
+ + Prevent crashing on a degenerate project edge after polygon
+ intersection (fdo#54822).
+- Add pkgconfig(xext) BuildRequires: new verified dependency.
+
+-------------------------------------------------------------------
+Sun Apr 29 21:09:19 UTC 2012 - dimstar(a)opensuse.org
+
+- Update to version 1.12.2:
+ + Allow applications to create 0x0 xlib surfaces, such as used by
+ LibreOffice (fdo#49118)
+ + Trim composite extents for SOURCE/CLEAR operators to the mask.
+ + Use fallback fonts in PDF for unhandled computed glyph widths
+ (fdo#48349)
+ + Handle snapshots of recording surfaces for analysing pattern
+ extents. Fixes a regression of reporting the PDF bounding box
+ as being the page size.
+ + Fix allocation size for PDF pattern ids. (fdo#49089)
+ + Fix emission of rectilinear dashed segments, with and without
+ scaling, and application of degenerate line joins.
+ + Clamp unbounded fixup polygons to the clip extents.
+ + Prevent infinite loop due to rounding errors whilst
+ incrementing along dashes.
+ + Prevent overflow for inline a8 span filling.
+ + Miscellaneous build fixes for Cygwin on Windows and Solaris.
+- Drop cairo-fix-wrong-allocation.patch: fixed upstream.
+
++++ 742 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.1:Update/.cairo.2743.new/cairo.changes
New:
----
baselibs.conf
cairo-1.12.16.tar.xz
cairo-disable-lto.patch
cairo-modules-no-version.patch
cairo.changes
cairo.spec
fix_for_fdo77298.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cairo.spec ++++++
#
# spec file for package cairo
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define build_xcb_backend 1
%define build_gl_backend 1
Name: cairo
Version: 1.12.16
Release: 0
Summary: Vector Graphics Library with Cross-Device Output Support
License: LGPL-2.1+ or MPL-1.1
Group: System/Libraries
Url: http://cairographics.org/
Source: http://cairographics.org/releases/%{name}-%{version}.tar.xz
Source99: baselibs.conf
# PATCH-FIX-UPSTREAM cairo-modules-no-version.patch fdo#29319 dimstar(a)opensuse.org -- Build modules with -module -avoid-version.
Patch0: cairo-modules-no-version.patch
# PATCH-FIX-OPENSUSE cairo-disable-lto.patch idoenmez(a)suse.de -- Disable -flto on s390{x}
Patch1: cairo-disable-lto.patch
# https://bugs.freedesktop.org/show_bug.cgi?id=77298
Patch2: fix_for_fdo77298.patch
# These libraries are needed only for tests.
# Do not enable tests in build systems, it causes build loop!
#BuildRequires: librsvg-devel poppler-devel
%if %build_gl_backend
BuildRequires: Mesa-devel
%endif
BuildRequires: gtk-doc
# Needed by patch0
BuildRequires: libtool
BuildRequires: pkg-config
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(pixman-1) >= 0.16.0
BuildRequires: pkgconfig(x11)
%if %build_xcb_backend
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xcb-shm)
%endif
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xrender)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Cairo is a vector graphics library with cross-device output support.
Currently supported output targets include the X Window System,
in-memory image buffers, and PostScript. Cairo is designed to produce
identical output on all output media while taking advantage of display
hardware acceleration when available.
%package -n libcairo2
Summary: Vector Graphics Library with Cross-Device Output Support
License: LGPL-2.1+ or MPL-1.1
Group: System/Libraries
Provides: cairo = %{version}
Obsoletes: cairo < %{version}
# bug437293
%ifarch ppc64
Obsoletes: cairo-64bit
%endif
#
%description -n libcairo2
Cairo is a vector graphics library with cross-device output support.
Currently supported output targets include the X Window System,
in-memory image buffers, and PostScript. Cairo is designed to produce
identical output on all output media while taking advantage of display
hardware acceleration when available.
%package -n libcairo-gobject2
Summary: Vector Graphics Library with Cross-Device Output Support
License: LGPL-2.1+ or MPL-1.1
Group: System/Libraries
%description -n libcairo-gobject2
Cairo is a vector graphics library with cross-device output support.
Currently supported output targets include the X Window System,
in-memory image buffers, and PostScript. Cairo is designed to produce
identical output on all output media while taking advantage of display
hardware acceleration when available.
This library contains GType declarations for Cairo types. It is also
meant to support gobject-introspection binding creation.
%package -n libcairo-script-interpreter2
Summary: Vector Graphics Library with Cross-Device Output Support
License: LGPL-2.1+ or MPL-1.1
Group: System/Libraries
%description -n libcairo-script-interpreter2
Cairo is a vector graphics library with cross-device output support.
Currently supported output targets include the X Window System,
in-memory image buffers, and PostScript. Cairo is designed to produce
identical output on all output media while taking advantage of display
hardware acceleration when available.
%package tools
Summary: Vector Graphics Library with Cross-Device Output Support -- Utilities
License: GPL-3.0+
Group: Development/Libraries/X11
# We need an explicit requires since nothing links to the cairo library
Requires: libcairo2 = %{version}
# Named changed during development of 11.4
Provides: %{name}-utils = %{version}
Obsoletes: %{name}-utils < %{version}
%description tools
Cairo is a vector graphics library with cross-device output support.
Currently supported output targets include the X Window System,
in-memory image buffers, and PostScript. Cairo is designed to produce
identical output on all output media while taking advantage of display
hardware acceleration when available.
This package contains various cairo utilities.
%package devel
Summary: Development environment for cairo
License: LGPL-2.1+ or MPL-1.1
Group: Development/Libraries/X11
Requires: libcairo-gobject2 = %{version}
Requires: libcairo-script-interpreter2 = %{version}
Requires: libcairo2 = %{version}
Provides: cairo-doc = %{version}
Obsoletes: cairo-doc < %{version}
# bug437293
%ifarch ppc64
Obsoletes: cairo-devel-64bit
%endif
#
%description devel
This package contains all files necessary to build binaries using
cairo.
%prep
%setup -q
%patch0 -p1
%ifarch s390 s390x
%patch1 -p1
%endif
# fix_for_fdo77298.patch
%patch2 -p1
%build
# Needed by patch0 and patch1
NOCONFIGURE=1 ./autogen.sh
%configure \
--with-pic \
--enable-fc \
--enable-ft \
%if %build_gl_backend
--enable-gl \
%endif
--enable-ps \
--enable-pdf \
--enable-script \
--enable-svg \
--enable-tee \
%if %build_xcb_backend
--enable-xcb \
%endif
--enable-xlib \
--disable-gtk-doc \
--disable-static
make %{?_smp_mflags} V=1
%install
%makeinstall
%if 0%{?suse_version} > 1110
find %{buildroot} -type f -name "*.la" -delete -print
%endif
%post -n libcairo2 -p /sbin/ldconfig
%postun -n libcairo2 -p /sbin/ldconfig
%post -n libcairo-gobject2 -p /sbin/ldconfig
%postun -n libcairo-gobject2 -p /sbin/ldconfig
%post -n libcairo-script-interpreter2 -p /sbin/ldconfig
%postun -n libcairo-script-interpreter2 -p /sbin/ldconfig
%files -n libcairo2
%defattr(-, root, root)
%doc AUTHORS COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1 ChangeLog NEWS README
%{_libdir}/libcairo.so.*
%files -n libcairo-gobject2
%defattr(-, root, root)
%{_libdir}/libcairo-gobject.so.2*
%files -n libcairo-script-interpreter2
%defattr(-, root, root)
%doc util/cairo-script/COPYING
%{_libdir}/libcairo-script-interpreter.so.*
%files tools
%defattr(-, root, root)
%doc util/cairo-trace/COPYING util/cairo-trace/COPYING-GPL-3
%{_bindir}/cairo-sphinx
%{_bindir}/cairo-trace
%dir %{_libdir}/cairo
%{_libdir}/cairo/cairo-fdr.so
%{_libdir}/cairo/cairo-sphinx.so
%{_libdir}/cairo/libcairo-trace.so
%files devel
%defattr(-, root, root)
%doc PORTING_GUIDE
%doc %{_datadir}/gtk-doc/html/cairo
%{_includedir}/cairo/
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%if 0%{?suse_version} <= 1110
%{_libdir}/*.la
%endif
%changelog
++++++ baselibs.conf ++++++
libcairo2
provides "cairo-<targettype> = <version>"
obsoletes "cairo-<targettype> < <version>"
libcairo-gobject2
libcairo-script-interpreter2
cairo-devel
requires -cairo-<targettype>
requires "libcairo2-<targettype> = <version>"
requires "libcairo-gobject2-<targettype> = <version>"
requires "libcairo-script-interpreter2-<targettype> = <version>"
++++++ cairo-disable-lto.patch ++++++
Index: cairo-1.12.16/build/configure.ac.warnings
===================================================================
--- cairo-1.12.16.orig/build/configure.ac.warnings
+++ cairo-1.12.16/build/configure.ac.warnings
@@ -36,16 +36,6 @@ MAYBE_WARN="$MAYBE_WARN -erroff=E_ENUM_T
dnl We also abuse the warning-flag facility to enable other compiler
dnl options. Namely, the following:
-dnl -flto working really needs a test link, not just a compile
-
-safe_MAYBE_WARN="$MAYBE_WARN"
-MAYBE_WARN="$MAYBE_WARN -flto"
-AC_TRY_LINK([],[
- int main(int argc, char **argv) { return 0; }
-],[],[
- MAYBE_WARN="$safe_MAYBE_WARN"
-])
-
MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common"
dnl Also to turn various gcc/glibc-specific preprocessor checks
++++++ cairo-modules-no-version.patch ++++++
Index: cairo-1.12.8/util/cairo-fdr/Makefile.am
===================================================================
--- cairo-1.12.8.orig/util/cairo-fdr/Makefile.am
+++ cairo-1.12.8/util/cairo-fdr/Makefile.am
@@ -9,7 +9,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/src \
cairo_fdr_la_SOURCES = fdr.c
cairo_fdr_la_CPPFLAGS = $(AM_CPPFLAGS)
cairo_fdr_la_CFLAGS = $(CAIRO_CFLAGS)
-cairo_fdr_la_LDFLAGS = -module -no-undefined
+cairo_fdr_la_LDFLAGS = -module -no-undefined -avoid-version
if CAIRO_HAS_DL
cairo_fdr_la_LIBADD = -ldl
endif
Index: cairo-1.12.8/util/cairo-trace/Makefile.am
===================================================================
--- cairo-1.12.8.orig/util/cairo-trace/Makefile.am
+++ cairo-1.12.8/util/cairo-trace/Makefile.am
@@ -11,7 +11,7 @@ libcairo_trace_la_SOURCES = trace.c
libcairo_trace_la_CPPFLAGS = -DCAIRO_TRACE_OUTDIR="\"$(cairooutdir)\"" \
$(AM_CPPFLAGS)
libcairo_trace_la_CFLAGS = $(CAIRO_CFLAGS) $(real_pthread_CFLAGS)
-libcairo_trace_la_LDFLAGS = -no-undefined
+libcairo_trace_la_LDFLAGS = -no-undefined -module -avoid-version
libcairo_trace_la_LIBADD = $(real_pthread_LIBS) -lz
if CAIRO_HAS_DL
Index: cairo-1.12.8/util/cairo-sphinx/Makefile.am
===================================================================
--- cairo-1.12.8.orig/util/cairo-sphinx/Makefile.am
+++ cairo-1.12.8/util/cairo-sphinx/Makefile.am
@@ -11,7 +11,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/src \
cairo_sphinx_la_SOURCES = fdr.c
cairo_sphinx_la_CPPFLAGS = $(AM_CPPFLAGS)
cairo_sphinx_la_CFLAGS = $(CAIRO_CFLAGS)
-cairo_sphinx_la_LDFLAGS = -module -no-undefined
+cairo_sphinx_la_LDFLAGS = -module -no-undefined -avoid-version
if CAIRO_HAS_DL
cairo_sphinx_la_LIBADD = -ldl
endif
++++++ fix_for_fdo77298.patch ++++++
diff --git a/src/cairo-pen.c b/src/cairo-pen.c
index 61be0e8..8eed775 100644
--- a/src/cairo-pen.c
+++ b/src/cairo-pen.c
@@ -284,7 +284,20 @@ _cairo_pen_vertices_needed (double tolerance,
radius);
int num_vertices;
- if (tolerance >= 4*major_axis) { /* XXX relaxed from 2*major for inkscape */
+ if (tolerance >= 100*major_axis) { /* XXX relaxed from 2*major for inkscape */
+ /*
+ * When we decide for num_vertices = 1, the object is not drawn.
+ * To avoid https://bugs.freedesktop.org/show_bug.cgi?id=77298
+ * we use 100*major -- this just helps us to the 0.001mm line width.
+ *
+ * The author of the 'XXX relaxed' comment above, originally used 4*major,
+ * which is not sufficient for my inkscape lasercutter usecase.
+ *
+ * Please double check if num_vertices == 1 should never be done (for PDF).
+ *
+ * jnweiger(a)gmail.com
+ */
+ // fprintf(stderr, "tolerance=%g major_axis=%g -> num_vertices = 1\n", tolerance, major_axis);
num_vertices = 1;
} else if (tolerance >= major_axis) {
num_vertices = 4;
--
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 WindowMaker for openSUSE:13.1:Update checked in at 2014-04-22 12:43:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/WindowMaker (Old)
and /work/SRC/openSUSE:13.1:Update/.WindowMaker.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "WindowMaker"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_link
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
<link package='WindowMaker.2738' cicount='copy' />
--
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 roundcubemail for openSUSE:13.1:Update checked in at 2014-04-22 12:43:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/roundcubemail (Old)
and /work/SRC/openSUSE:13.1:Update/.roundcubemail.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "roundcubemail"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.tLH8t7/_old 2014-04-22 12:43:45.000000000 +0200
+++ /var/tmp/diff_new_pack.tLH8t7/_new 2014-04-22 12:43:45.000000000 +0200
@@ -1 +1 @@
-<link package='roundcubemail.2622' cicount='copy' />
+<link package='roundcubemail.2739' cicount='copy' />
--
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 roundcubemail for openSUSE:12.3:Update checked in at 2014-04-22 12:43:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/roundcubemail (Old)
and /work/SRC/openSUSE:12.3:Update/.roundcubemail.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "roundcubemail"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.P42aaS/_old 2014-04-22 12:43:44.000000000 +0200
+++ /var/tmp/diff_new_pack.P42aaS/_new 2014-04-22 12:43:44.000000000 +0200
@@ -1 +1 @@
-<link package='roundcubemail.2622' cicount='copy' />
+<link package='roundcubemail.2739' cicount='copy' />
--
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 kdepim4 for openSUSE:13.1:Update checked in at 2014-04-22 12:41:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/kdepim4 (Old)
and /work/SRC/openSUSE:13.1:Update/.kdepim4.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdepim4"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.bDp0zT/_old 2014-04-22 12:41:40.000000000 +0200
+++ /var/tmp/diff_new_pack.bDp0zT/_new 2014-04-22 12:41:40.000000000 +0200
@@ -1 +1 @@
-<link package='kdepim4.2510' cicount='copy' />
+<link package='kdepim4.2747' cicount='copy' />
--
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 kdepim4.2747 for openSUSE:13.1:Update checked in at 2014-04-22 12:41:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/kdepim4.2747 (Old)
and /work/SRC/openSUSE:13.1:Update/.kdepim4.2747.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdepim4.2747"
Changes:
--------
New Changes file:
--- /dev/null 2014-04-17 09:46:44.096034755 +0200
+++ /work/SRC/openSUSE:13.1:Update/.kdepim4.2747.new/kdepim4.changes 2014-04-22 12:41:37.000000000 +0200
@@ -0,0 +1,1358 @@
+-------------------------------------------------------------------
+Sun Apr 13 07:43:51 UTC 2014 - ctrippe(a)opensuse.org
+
+- make it possible to manually select untrusted PGP keys
+ (bnc#859984, kde#328311); added patch pgp_key_select.diff
+
+-------------------------------------------------------------------
+Sat Jan 4 09:52:08 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.11.5
+ * KDE 4.11.5 maintenance release
+ * See http://www.kde.org/announcements/announce-4.11.5.php
+- Drop fix-a-bug-that-eats-100-of-CPU.patch as it was
+ included upstream
+
+-------------------------------------------------------------------
+Mon Dec 16 01:44:57 UTC 2013 - hrvoje.senjan(a)gmail.com
+
+- added patches:
+ * fix-a-bug-that-eats-100-of-CPU.patch: resolves kde#323929 (and
+ many possible duplicates) where kmail would stuck in a loop
+ constantly trying to collect same data
+
+-------------------------------------------------------------------
+Sun Dec 1 09:06:08 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.11.4
+ * KDE 4.11.4 maintenance release
+ * See http://www.kde.org/announcements/announce-4.11.4.php
+
+-------------------------------------------------------------------
+Sat Nov 2 15:04:13 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.11.3
+ * KDE 4.11.3 bugfix release
+ * See http://www.kde.org/announcements/announce-4.11.3.php
+
+-------------------------------------------------------------------
+Sat Sep 28 15:06:50 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.11.2
+ * KDE 4.11.2 bugfix release
+ * See http://www.kde.org/announcements/announce-4.11.2.php
+- Dropped patches based on upstream inclusion:
+ 0001-Kontact-crashed-after-trying-to-export-as-WebSite.patch
+
+-------------------------------------------------------------------
+Mon Sep 9 16:53:34 UTC 2013 - hrvoje.senjan(a)gmail.com
+
+- Added 0001-Kontact-crashed-after-trying-to-export-as-WebSite.patch
+ from upstream, for resolving kde#324493
+
+-------------------------------------------------------------------
+Sun Sep 1 09:57:39 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.11.1
+ * KDE 4.11.1 bugfix release
+ * See http://www.kde.org/announcements/announce-4.11.1.php
+
+-------------------------------------------------------------------
+Thu Aug 8 14:59:06 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.11.0
+ * KDE 4.11 Final release
+ * See http://www.kde.org/announcements/4.11/
+
+-------------------------------------------------------------------
+Thu Jul 25 22:44:25 UTC 2013 - hrvoje.senjan(a)gmail.com
+
+- Update to 4.10.97
+ * KDE 4.11 RC 2 release
+ * See http://www.kde.org/announcements/announce-4.11-rc2.php
+
+-------------------------------------------------------------------
+Mon Jul 15 08:13:05 UTC 2013 - cgiboudeaux(a)gmx.com
+
+- Update to 4.10.95
+ * KDE 4.11 RC 1 release
+ * See http://www.kde.org/announcements/announce-4.11-rc1.php
+
+-------------------------------------------------------------------
+Thu Jun 27 18:10:07 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.10.90
+ * KDE 4.11 Beta 1 release
+ * See http://www.kde.org/announcements/announce-4.11-beta2.php
+
+-------------------------------------------------------------------
+Thu Jun 13 19:12:24 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.10.80
+ * KDE 4.11 Beta 1 release
+ * See http://www.kde.org/announcements/announce-4.11-beta1.php
+- Added libkactivities-devel, link-grammar-devel and cyrus-sasl-devel
+ BuildRequires
+
+-------------------------------------------------------------------
+Sat Jun 1 09:22:03 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.10.4
+ * Bugfix release
+ * See http://www.kde.org/announcements/announce-4.10.4.php
+ * resolves bnc#8122760
+
+-------------------------------------------------------------------
+Sat May 4 16:52:40 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.10.3
+ * Bugfix release
+ * See http://www.kde.org/announcements/announce-4.10.3.php
+ * resolves bnc#818500
+- Dropped patches included with this release:
+ 0001-Add-missing-mimetype-for-contact-groups-in-the-direc.patches,
+ 0002-Use-the-index-we-just-calculated-a-bit-faster.patch,
+ 0003-Fix-kmail-autocompletion-from-akonadi.patch and
+ 0004-Fix-Bug-316256.patch
+
+-------------------------------------------------------------------
+Sat Apr 20 15:52:18 UTC 2013 - hrvoje.senjan(a)gmail.com
+
+- Added 0004-Fix-Bug-316256.patch, fixes build with newer boost
+ (kde#316256)
+
+-------------------------------------------------------------------
+Mon Apr 8 16:06:51 UTC 2013 - hrvoje.senjan(a)gmail.com
+
+- Add three patches from upstream, those fix mail completion that
+ was lost with 4.10.2 (kde#259949):
+ 0001-Add-missing-mimetype-for-contact-groups-in-the-direc.patches,
+ 0002-Use-the-index-we-just-calculated-a-bit-faster.patch and
+ 0003-Fix-kmail-autocompletion-from-akonadi.patch
+
+-------------------------------------------------------------------
+Mon Apr 1 19:17:14 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.10.2
+ * Contains bug fixes
+- Drop akregator-bug305494.diff, it is included upstream
+
+-------------------------------------------------------------------
+Mon Mar 11 06:58:56 UTC 2013 - mlin(a)suse.com
+
+- Update desktop-files.diff
+ * Don't removed Icon=kleopatra in kleopatra.desktop (bnc#807946)
+- Added patch akregator-bug305494.diff from upstream to (bko#305494)
+
+-------------------------------------------------------------------
+Mon Mar 4 15:09:11 UTC 2013 - wbauer(a)tmo.at
+
+- Remove "News" from categories in akregator.desktop (bnc#807301)
+
+-------------------------------------------------------------------
+Sat Mar 2 15:34:35 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.10.1
+ * Contains bug fixes. See http://www.kde.org/announcements/
+ for more information
+
+-------------------------------------------------------------------
+Thu Jan 31 17:45:10 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.10.0
+ * This is the final release for 4.10. Contains bugfixes
+
+-------------------------------------------------------------------
+Thu Jan 17 08:02:54 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.9.98
+ * This is the third RC release for 4.10. Contains bugfixes
+
+-------------------------------------------------------------------
+Thu Jan 3 21:07:05 UTC 2013 - tittiatcoke(a)gmail.com
+
+- Update to 4.9.97
+ * This is the second RC release for 4.10. Contains bugfixes
+
+-------------------------------------------------------------------
+Wed Dec 19 18:34:18 UTC 2012 - tittiatcoke(a)gmail.com
+
+- Update to 4.9.95
+ * This is the first RC release for 4.10. Contains bugfixes
+
+-------------------------------------------------------------------
+Sat Dec 1 20:00:52 UTC 2012 - tittiatcoke(a)gmail.com
+
+- Update to 4.9.90
+ * This is the second Beta release for 4.10. Contains bugfixes
+
+-------------------------------------------------------------------
+Sun Nov 25 11:23:44 UTC 2012 - tittiatcoke(a)gmail.com
+
+- Drop patch 4_8_branch.diff as it is not used at all
+
+-------------------------------------------------------------------
+Sat Nov 24 12:49:27 UTC 2012 - tittiatcoke(a)gmail.com
+
+- Update to 4.9.80
++++ 1161 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.1:Update/.kdepim4.2747.new/kdepim4.changes
New:
----
akregator-useragent.diff
desktop-files.diff
kdepim-4.11.5.tar.xz
kdepim4.changes
kdepim4.spec
knode-kontact-default.diff
pgp_key_select.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdepim4.spec ++++++
#
# spec file for package kdepim4
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: kdepim4
Version: 4.11.5
Release: 0
Summary: Base package of kdepim
License: GPL-2.0+ and LGPL-2.1+
Group: System/GUI/KDE
Url: http://www.kde.org
Source0: kdepim-%{version}.tar.xz
Patch1: akregator-useragent.diff
#TODO desktop-files.diff need an update for upcoming 4.11.5 due to fixed kontact-import-wizard icon missing
Patch2: desktop-files.diff
Patch3: knode-kontact-default.diff
#PATCH-FIX-UPSTREAM Fixes a bug, when manually selecting one or more PGP keys which are not marked as trusted. bnc#859984
Patch4: pgp_key_select.diff
BuildRequires: cyrus-sasl-devel
BuildRequires: fdupes
BuildRequires: gpgme-devel
BuildRequires: grantlee-devel
BuildRequires: libassuan-devel
BuildRequires: libkactivities-devel >= %version
BuildRequires: libkdepimlibs4-devel >= %version
BuildRequires: libnepomukwidgets-devel
BuildRequires: libqca2-devel
BuildRequires: link-grammar-devel
BuildRequires: nepomuk-core-devel
BuildRequires: xz
Requires: libkdepim4 = %{version}
Suggests: akregator
Suggests: blogilo
Suggests: kaddressbook
Suggests: kalarm
Suggests: kjots
Suggests: kleopatra
Suggests: kmail
Suggests: knode
Suggests: ktnef
Suggests: knotes
Suggests: kontact
Suggests: korganizer
Suggests: ktimetracker
Suggests: libkdepim4
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%kde4_akonadi_requires
%kde4_pimlibs_requires
%kde4_runtime_requires
%description
This package contains the core files of the kdepim module.
%prep
%setup -q -n kdepim-%{version}
%patch1
%patch2
%patch3
%patch4 -p1
%build
%ifarch ppc64
RPM_OPT_FLAGS="%{optflags} -mminimal-toc"
%endif
%cmake_kde4 -d build -- -DKDEPIM_BUILD_MOBILE=OFF
%make_jobs
%install
cd build
%kde4_makeinstall
%create_subdir_filelist -d akonadi_next -v akonadi.devel
%create_subdir_filelist -d akregator -v devel
%create_subdir_filelist -d blogilo -v devel
%create_subdir_filelist -d kaddressbook -v devel
%create_subdir_filelist -d kalarm -v devel
%create_subdir_filelist -d kjots -v devel
%create_subdir_filelist -d kleopatra/libkleopatraclient -f libkdepim -v libkdepim.devel
%create_subdir_filelist -d kmail -v devel
%create_subdir_filelist -d kmailcvt -f kmail
%create_subdir_filelist -d knode -v devel
%create_subdir_filelist -d ktnef -v devel
%create_subdir_filelist -d knotes -v devel
%create_subdir_filelist -d kontact -v devel
%create_subdir_filelist -d korganizer -v devel
%create_subdir_filelist -d ktimetracker
%create_subdir_filelist -d libkdepim -v libkdepim.devel
cd ..
%if 0
cat filelists/akonadi.devel | while read line; do echo "%exclude $line";done >>filelists/devel
%endif
#remove kontact plugins' desktop files that are in subpackages from the kontact list
akregatorplugins="%{_kde4_modulesdir}/kontact_akregatorplugin.so %{_kde4_servicesdir}/kontact/akregatorplugin.desktop"
kaddressbookplugin="%{_kde4_modulesdir}/kontact_kaddressbookplugin.so"
kjotsplugin="%{_kde4_modulesdir}/kontact_kjotsplugin.so %{_kde4_servicesdir}/kontact/kjots_plugin.desktop"
kmailplugin="%{_kde4_modulesdir}/kontact_kmailplugin.so %{_kde4_servicesdir}/kontact/kmailplugin.desktop"
knodeplugin="%{_kde4_modulesdir}/kontact_knodeplugin.so %{_kde4_servicesdir}/kontact/knodeplugin.desktop"
knotesplugin="%{_kde4_modulesdir}/kontact_knotesplugin.so %{_kde4_servicesdir}/kontact/knotesplugin.desktop"
korganizerplugins="%{_kde4_modulesdir}/kontact_journalplugin.so %{_kde4_modulesdir}/kontact_korganizerplugin.so %{_kde4_modulesdir}/kontact_todoplugin.so %{_kde4_servicesdir}/kontact/korganizerplugin.desktop %{_kde4_servicesdir}/kontact/journalplugin.desktop %{_kde4_servicesdir}/kontact/todoplugin.desktop"
for i in $akregatorplugins $kaddressbookplugin $kjotsplugin $kmailplugin $knodeplugin $knotesplugin $korganizerplugins $ktimetrackerplugin
do
sed -ri s,$i,, filelists/kontact
done
for i in $akregatorplugins
do
echo $i >> filelists/akregator
done
for i in $kaddressbookplugin
do
echo $i >> filelists/kaddressbook
done
for i in $kjotsplugin
do
echo $i >> filelists/kjots
done
for i in $kmailplugin
do
echo $i >> filelists/kmail
done
for i in $knodeplugin
do
echo $i >> filelists/knode
done
for i in $knotesplugin
do
echo $i >> filelists/knotes
done
for i in $korganizerplugins
do
echo $i >> filelists/korganizer
done
for i in $ktimetrackerplugin
do
echo $i >> filelists/ktimetracker
done
sed -ri s,.*/usr/%{_lib}/libkabcommon.so.*,, filelists/kaddressbook
grep "/usr/lib" filelists/libkdepim | grep "/kde4/" >filelists/libkdepim.devel
cat filelists/libkdepim.devel | while read line; do echo "%exclude $line";done >>filelists/devel
%create_exclude_filelist
%suse_update_desktop_file -r blogilo Utility WebUtility
%suse_update_desktop_file -u akonadiconsole Network Email
%suse_update_desktop_file KNode Network News
%suse_update_desktop_file Kjots Utility TimeUtility
%suse_update_desktop_file Kontact Office Core-Office
%suse_update_desktop_file -r akregator Network RSS-News
%suse_update_desktop_file kaddressbook Office ContactManagement
%suse_update_desktop_file kalarm Utility TimeUtility
%suse_update_desktop_file kleopatra Utility Security
%suse_update_desktop_file knotes Utility DesktopUtility
%suse_update_desktop_file korganizer Office Calendar
%suse_update_desktop_file ktimetracker Utility TimeUtility
%suse_update_desktop_file -u importwizard Network Email
%kde_post_install
#Restrict fdupes call to not cause unwanted dependencies between packages
%fdupes -s %{buildroot}%{_kde4_htmldir}
%fdupes -s %{buildroot}%{_kde4_appsdir}/libkleopatra/
%fdupes -s %{buildroot}%{_kde4_appsdir}/knode/
%fdupes -s %{buildroot}%{_kde4_appsdir}/kmail2/
%fdupes -s %{buildroot}%{_kde4_iconsdir}
%kde_post_install
rm %{buildroot}%{_kde4_libdir}/*.so
grep -v "%{_kde4_libdir}/lib.*so$" filelists/akonadi.devel > filelists/akonadi.devel.upd
grep -v "%{_kde4_libdir}/lib.*so$" filelists/akonadi_next > filelists/akonadi_next.upd
grep -v "%{_kde4_libdir}/lib.*so$" filelists/akregator > filelists/akregator.upd
grep -v "%{_kde4_libdir}/lib.*so$" filelists/exclude > filelists/exclude.upd
grep -v "%{_kde4_libdir}/lib.*so$" filelists/kalarm > filelists/kalarm.upd
grep -v "%{_kde4_libdir}/lib.*so$" filelists/knode > filelists/knode.upd
grep -v "%{_kde4_libdir}/lib.*so$" filelists/korganizer > filelists/korganizer.upd
grep -v "%{_kde4_libdir}/lib.*so$" filelists/libkdepim > filelists/libkdepim.upd
rm filelists/devel
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%clean
rm -rf %{buildroot}
rm -rf filelists
%package -n akonadi
Summary: KDE Resources for PIM Storage Service
License: GPL-2.0+ and LGPL-2.1+
Group: System/GUI/KDE
Requires: kdepim4-runtime = %{version}
Requires: soprano
Provides: kde4-akonadi = 4.3.0
Obsoletes: akonadi-devel < 4.4.60
Obsoletes: kde4-akonadi < 4.3.0
Provides: akonadi-devel = 4.4.60
%kde4_runtime_requires
%kde4_pimlibs_requires
%kde4_akonadi_requires
%description -n akonadi
This package contains the KDE resources for Akonadi, the KDE PIM
storage service.
%post -n akonadi -p /sbin/ldconfig
%postun -n akonadi -p /sbin/ldconfig
%files -n akonadi -f filelists/akonadi_next.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%dir %{_datadir}/akonadi
%dir %{_datadir}/akonadi/agents
%dir %{_kde4_libdir}/akonadi
%dir %{_kde4_libdir}/akonadi/contact
%dir %{_kde4_libdir}/akonadi/contact/editorpageplugins
%{_datadir}/akonadi/agents/mailfilteragent.desktop
%{_datadir}/akonadi/agents/archivemailagent.desktop
%{_datadir}/akonadi/agents/sendlateragent.desktop
%{_kde4_libdir}/akonadi/contact/editorpageplugins/cryptopageplugin.so
%package -n akregator
Summary: RSS Feed Reader
License: LGPL-2.1+
Group: Productivity/Networking/News/Utilities
Requires: libkdepim4 = %{version}
Provides: kde4-akregator = 4.3.0
Obsoletes: kde4-akregator < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires
%description -n akregator
A KDE Feed Aggregator
%post -n akregator -p /sbin/ldconfig
%postun -n akregator -p /sbin/ldconfig
%files -n akregator -f filelists/akregator.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%package -n blogilo
Summary: KDE Blog Editor
License: LGPL-2.1+
Group: Productivity/Editors/Other
Requires: libkdepim4 = %{version}
Requires: libktexteditor
Provides: bilbo = 1.0
Obsoletes: bilbo < 1.0
%kde4_runtime_requires
%kde4_pimlibs_requires
%description -n blogilo
A blog editor for KDE
%post -n blogilo -p /sbin/ldconfig
%postun -n blogilo -p /sbin/ldconfig
%files -n blogilo -f filelists/blogilo
%defattr(-,root,root)
%package -n kaddressbook
Summary: Address Manager
License: LGPL-2.1+
Group: Productivity/Networking/Email/Utilities
Requires: kdepim4-runtime = %{version}
Requires: libkdepim4 = %{version}
Provides: kde4-kaddressbook = 4.3.0
Obsoletes: kde4-kaddressbook < 4.3.0
%kde4_akonadi_requires
%kde4_runtime_requires
%kde4_pimlibs_requires
%description -n kaddressbook
The KDE Address Book
%post -n kaddressbook -p /sbin/ldconfig
%postun -n kaddressbook -p /sbin/ldconfig
%files -n kaddressbook -f filelists/kaddressbook
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%package -n kmail
Summary: Mail Client
License: GPL-2.0
Group: Productivity/Networking/Email/Clients
Requires: akonadi-runtime
Requires: kdepim4-runtime = %{version}
Requires: libkdepim4 = %{version}
Provides: kde4-kmail = 4.3.0
Obsoletes: kde4-kmail < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires
%description -n kmail
KMail is the KDE mail client.
%post -n kmail -p /sbin/ldconfig
%postun -n kmail -p /sbin/ldconfig
%files -n kmail -f filelists/kmail
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%config %{_kde4_configdir}/kmail.antispamrc
%config %{_kde4_configdir}/kmail.antivirusrc
%{_kde4_appsdir}/kmail2/pics/*
%package -n knode
Summary: News Reader
License: LGPL-2.1+
Group: Productivity/Networking/News/Clients
Requires: libkdepim4 = %{version}
Provides: kde4-knode = 4.3.0
Obsoletes: kde4-knode < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires
%description -n knode
KNode is a usenet news reader for KDE.
%post -n knode -p /sbin/ldconfig
%postun -n knode -p /sbin/ldconfig
%files -n knode -f filelists/knode.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%{_kde4_appsdir}/knode/pics/*
%package -n ktnef
Summary: Viewer for email attachments in TNEF format
License: LGPL-2.1+
Group: Productivity/Networking/Email/Clients
Requires: akonadi-runtime
Requires: kdepim4-runtime = %version
Requires: libkdepim4 = %version
%kde4_runtime_requires
%kde4_pimlibs_requires
%description -n ktnef
KTNEF is a viewer for email attachments in the TNEF format.
%post -n ktnef -p /sbin/ldconfig
%postun -n ktnef -p /sbin/ldconfig
%files -n ktnef -f filelists/ktnef
%defattr(-,root,root)
%{_kde4_iconsdir}/locolor/*/*/ktnef*.png
%package -n knotes
Summary: Popup Notes
License: LGPL-2.1+
Group: Productivity/Other
Requires: libkdepim4 = %{version}
Provides: kde4-knotes = 4.3.0
Obsoletes: kde4-knotes < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires
%description -n knotes
KNotes is a note taking application for KDE.
%post -n knotes -p /sbin/ldconfig
%postun -n knotes -p /sbin/ldconfig
%files -n knotes -f filelists/knotes
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%exclude %{_kde4_appsdir}/knotes/knotes_part.rc
%package -n kontact
Summary: Personal Information Manager
License: LGPL-2.1+
Group: Productivity/Other
Requires: libkdepim4 = %{version}
Recommends: kmail
Suggests: kaddressbook
Suggests: kjots
Suggests: knode
Suggests: knotes
Suggests: korganizer
Suggests: ktimetracker
Obsoletes: kde4-kontact < 4.3.0
Provides: kde4-kontact = 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires
%kde4_akonadi_requires
%description -n kontact
Kontact combines the individual applications KMail, KAddressBook and
KOrganizer as views in one window.
%post -n kontact -p /sbin/ldconfig
%postun -n kontact -p /sbin/ldconfig
%files -n kontact -f filelists/kontact
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%package -n korganizer
Summary: Personal Organizer
License: GPL-2.0
Group: Productivity/Office/Organizers
Requires: kdepim4-runtime = %{version}
Requires: libkdepim4 = %{version}
Provides: kde4-korganizer = 4.3.0
Obsoletes: kde4-korganizer < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires
%kde4_akonadi_requires
%description -n korganizer
KOrganizer is a calendar application for KDE.
%post -n korganizer -p /sbin/ldconfig
%postun -n korganizer -p /sbin/ldconfig
%files -n korganizer -f filelists/korganizer.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%config %{_kde4_configdir}/korganizer.knsrc
%{_kde4_servicetypesdir}/calendardecoration.desktop
%{_kde4_servicetypesdir}/calendarplugin.desktop
%package -n ktimetracker
Summary: Personal Time Tracker
License: LGPL-2.1+
Group: Productivity/Other
Requires: libkdepim4 = %{version}
Provides: kde4-ktimetracker = 4.3.0
Obsoletes: kde4-ktimetracker < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires
%description -n ktimetracker
KTimeTracker tracks time spent on various tasks.
%post -n ktimetracker -p /sbin/ldconfig
%postun -n ktimetracker -p /sbin/ldconfig
%files -n ktimetracker -f filelists/ktimetracker
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%package -n kjots
Summary: Note Taker
License: GPL-2.0+
Group: Productivity/Other
Requires: libkdepim4 = %{version}
Provides: kde4-kjots = 4.3.0
Obsoletes: kde4-kjots < 4.3.0
%kde4_akonadi_requires
%kde4_runtime_requires
%kde4_pimlibs_requires
%description -n kjots
KDE Note Taking Utility
%post -n kjots -p /sbin/ldconfig
%postun -n kjots -p /sbin/ldconfig
%files -n kjots -f filelists/kjots
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%package -n kalarm
Summary: Personal Alarm Scheduler
License: LGPL-2.1+
Group: Productivity/Other
Requires: libkdepim4 = %{version}
Provides: kde4-kalarm = 4.3.0
Obsoletes: kde4-kalarm < 4.3.0
%kde4_runtime_requires
%kde4_pimlibs_requires
%kde4_akonadi_requires
%description -n kalarm
Personal alarm message, command and email scheduler for KDE
%post -n kalarm -p /sbin/ldconfig
%postun -n kalarm -p /sbin/ldconfig
%files -n kalarm -f filelists/kalarm.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%config %{_sysconfdir}/dbus-1/system.d/org.kde.kalarmrtcwake.conf
%package -n libkdepim4
Summary: KDE PIM Libraries
License: LGPL-2.1+
Group: System/GUI/KDE
Obsoletes: libkdepim4-devel < 4.6.0
Provides: libkdepim4-devel = 4.6.0
%requires_eq akonadi
%requires_ge libqt4-x11
%description -n libkdepim4
This package contains the basic packages for KDE PIM applications.
%post -n libkdepim4 -p /sbin/ldconfig
%postun -n libkdepim4 -p /sbin/ldconfig
%files -n libkdepim4 -f filelists/libkdepim.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%{_kde4_modulesdir}/kcm_ldap.so
%{_kde4_modulesdir}/plugins/designer/kdepimwidgets.so
%files -f filelists/exclude.upd
%defattr(-,root,root)
%doc COPYING COPYING.LIB COPYING.DOC README
%config %{_kde4_configdir}/libkleopatrarc
%doc %lang(en) %{_kde4_htmldir}/en/kontact-admin
%doc %lang(en) %{_kde4_htmldir}/en/kabcclient
%doc %lang(en) %{_kde4_htmldir}/en/konsolekalendar
%doc %lang(en) %{_kde4_htmldir}/en/kioslave/news
%doc %lang(en) %{_kde4_htmldir}/en/kioslave
%doc %lang(en) %{_kde4_htmldir}/en/kwatchgnupg
%doc %lang(en) %{_kde4_htmldir}/en/akonadi_archivemail_agent
%doc %lang(en) %{_kde4_htmldir}/en/importwizard
%doc %lang(en) %{_kde4_htmldir}/en/headerthemeeditor
%doc %lang(en) %{_kde4_htmldir}/en/kleopatra
%doc %lang(en) %{_kde4_htmldir}/en/akonadi_sendlater_agent/
%doc %lang(en) %{_kde4_htmldir}/en/pimsettingexporter
%{_datadir}/dbus-1/interfaces/*
%dir %{_datadir}/ontology/kde
%{_datadir}/ontology/kde/messagetag.ontology
%{_datadir}/ontology/kde/messagetag.trig
%{_kde4_applicationsdir}/*
%{_kde4_appsdir}
%{_kde4_bindir}/*
%{_kde4_configkcfgdir}
%{_kde4_iconsdir}/hicolor
%{_kde4_iconsdir}/oxygen
%{_kde4_libdir}/*.so.*
%{_kde4_mandir}/man1/kabcclient.1.gz
%{_kde4_modulesdir}/*
%{_kde4_servicesdir}
%exclude %{_kde4_appsdir}/kmail2/pics/*
%exclude %{_kde4_appsdir}/knode/pics/*
%exclude %{_kde4_configdir}/messageviewer_header_themes.knsrc
%changelog
++++++ akregator-useragent.diff ++++++
--- akregator/src/akregator_part.cpp
+++ akregator/src/akregator_part.cpp
@@ -264,7 +264,7 @@ Part::Part( QWidget *parentWidget, QObje
connect(m_autosaveTimer, SIGNAL(timeout()), this, SLOT(slotSaveFeedList()));
m_autosaveTimer->start(5*60*1000); // 5 minutes
- QString useragent = QString( "Akregator/%1; syndication" ).arg( KDEPIM_VERSION );
+ QString useragent = QString( "Akregator/%1; syndication SUSE" ).arg( KDEPIM_VERSION );
if( !Settings::customUserAgent().isEmpty() )
useragent = Settings::customUserAgent();
++++++ desktop-files.diff ++++++
Index: akonadiconsole/akonadiconsole.desktop
===================================================================
--- akonadiconsole/akonadiconsole.desktop.orig
+++ akonadiconsole/akonadiconsole.desktop
@@ -103,4 +103,5 @@ Comment[x-test]=xxAkonadi Management and
Comment[zh_CN]=用于管理和调试 Akonadi 的控制台
Comment[zh_TW]=Akonadi 管理與除錯主控台
Terminal=false
-Categories=Qt;KDE;Development;
+Categories=Qt;KDE;Development;Debugger;X-KDE-Utilities-PIM;
+Hidden=true
Index: ktimetracker/support/ktimetracker.desktop
===================================================================
--- ktimetracker/support/ktimetracker.desktop.orig
+++ ktimetracker/support/ktimetracker.desktop
@@ -122,4 +122,4 @@ Type=Application
Terminal=false
X-KDE-StartupNotify=true
X-DBUS-StartupType=Multi
-Categories=Qt;KDE;Utility;Office;Monitor;X-KDE-Utilities-PIM;
+Categories=Qt;KDE;Utility;X-KDE-Utilities-PIM;
Index: kleopatra/kleopatra.desktop
===================================================================
--- kleopatra/kleopatra.desktop.orig
+++ kleopatra/kleopatra.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Type=Application
-Categories=Qt;KDE;Utility;
+Categories=Qt;KDE;Utility;Security;X-KDE-Utilities-PIM;
Exec=kleopatra
Icon=kleopatra
Name=Kleopatra
Index: importwizard/importwizard.desktop
===================================================================
--- importwizard/importwizard.desktop.orig
+++ importwizard/importwizard.desktop
@@ -21,7 +21,6 @@
Name[zh_TW]=KMail 匯入精靈
Exec=importwizard
Type=Application
-Icon=kontact-import-wizard
X-DocPath=importwizard/index.html
Comment=Launch the import wizard to migrate data from mailer as thunderbird/evolution etc.
Comment[bs]=Pokrenite i uvedite čarobnjaka za pomjeranje podataka iz mailera kao thunderbird/evolution etc.
++++++ knode-kontact-default.diff ++++++
Index: kontact/plugins/knode/knodeplugin.desktop
===================================================================
--- kontact/plugins/knode/knodeplugin.desktop.orig
+++ kontact/plugins/knode/knodeplugin.desktop
@@ -13,7 +13,7 @@ X-KDE-KontactPluginHasSummary=false
X-KDE-PluginInfo-Name=kontact_knodeplugin
X-KDE-PluginInfo-Version=0.1
X-KDE-PluginInfo-License=GPL
-X-KDE-PluginInfo-EnabledByDefault=false
+X-KDE-PluginInfo-EnabledByDefault=true
Comment=Kontact KNode Plugin
Comment[af]=Kontact KNode inprop module
++++++ pgp_key_select.diff ++++++
commit 5cc79e9246caee7875bd640bd6264476bb7330ce
Author: Sandro Knauß <mail(a)sandroknauss.de>
Date: Wed Jan 22 19:08:26 2014 +0100
make it possible to manually select untrusted PGP keys
Fixes a bug in method "selectKeys", when manually selecting one or more
keys which are not marked as trusted. Method "selectKeys" is only called
from method "getEncryptionKeys" in lines: 1656, 1696
(patch written by kolAflash <kolAflash(a)kolahilft.de>, sponserd by me)
BUG: 328311
FIXED-IN: 4.12.2
REVIEW: 115182
diff --git a/messagecomposer/composer/keyresolver.cpp b/messagecomposer/composer/keyresolver.cpp
index 17e7342..a9fcecd 100644
--- a/messagecomposer/composer/keyresolver.cpp
+++ b/messagecomposer/composer/keyresolver.cpp
@@ -1623,7 +1623,7 @@ std::vector<GpgME::Key> Kleo::KeyResolver::selectKeys(
std::vector<GpgME::Key> keys = dlg->selectedKeys();
keys.erase( std::remove_if( keys.begin(), keys.end(),
- NotValidTrustedEncryptionKey ), // -= trusted?
+ NotValidEncryptionKey ),
keys.end() );
if ( !keys.empty() && dlg->rememberSelection() ) {
setKeysForAddress( person, dlg->pgpKeyFingerprints(), dlg->smimeFingerprints() );
--
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 umbrello for openSUSE:13.1:Update checked in at 2014-04-22 12:40:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/umbrello (Old)
and /work/SRC/openSUSE:13.1:Update/.umbrello.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "umbrello"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.LqNg10/_old 2014-04-22 12:40:57.000000000 +0200
+++ /var/tmp/diff_new_pack.LqNg10/_new 2014-04-22 12:40:57.000000000 +0200
@@ -1 +1 @@
-<link package='umbrello.2510' cicount='copy' />
+<link package='umbrello.2746' cicount='copy' />
--
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 python-pytz.2748 for openSUSE:13.1:Update checked in at 2014-04-22 12:40:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/python-pytz.2748 (Old)
and /work/SRC/openSUSE:13.1:Update/.python-pytz.2748.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytz.2748"
Changes:
--------
New Changes file:
--- /dev/null 2014-04-17 09:46:44.096034755 +0200
+++ /work/SRC/openSUSE:13.1:Update/.python-pytz.2748.new/python-pytz.changes 2014-04-22 12:40:11.000000000 +0200
@@ -0,0 +1,46 @@
+-------------------------------------------------------------------
+Sat Apr 12 16:35:55 UTC 2014 - aj(a)ajaissle.de
+
+- Update to pytz 2013.8 (bnc#584530)
+ + Olson/IANA databse version 2013h
+ + No code changes in this release
+
+-------------------------------------------------------------------
+Tue Sep 17 08:54:44 UTC 2013 - dmueller(a)suse.com
+
+- update to 2013d:
+ * sync with timezone 2013d release
+
+-------------------------------------------------------------------
+Tue Apr 30 12:09:19 UTC 2013 - dmueller(a)suse.com
+
+- remove conflicts with timezone, breaks the build
+
+-------------------------------------------------------------------
+Tue Apr 30 09:56:41 UTC 2013 - dmueller(a)suse.com
+
+- add provides/obsoletes on python(3)-tz
+
+-------------------------------------------------------------------
+Mon Apr 29 12:11:02 UTC 2013 - dmueller(a)suse.com
+
+- update to 2013b:
+ * Sync with timezone 2013b release
+
+-------------------------------------------------------------------
+Mon Jan 14 18:35:51 UTC 2013 - p.drouand(a)gmail.com
+
+- Initial python3 support
+
+-------------------------------------------------------------------
+Mon Jan 14 17:56:44 UTC 2013 - p.drouand(a)gmail.com
+
+- Update to 2012j version:
+ * Add python3 support
+- Fix a shebang RPMLint warning
+
+-------------------------------------------------------------------
+Wed Mar 21 19:35:32 UTC 2012 - saschpe(a)gmx.de
+
+- Initial version
+
New:
----
python-pytz.changes
python-pytz.spec
pytz-2013.8.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytz.spec ++++++
#
# spec file for package python-pytz
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: python-pytz
Version: 2013.8
Release: 0
Summary: World timezone definitions, modern and historical
License: MIT
Group: Development/Languages/Python
Url: http://pytz.sourceforge.net
Source: http://pypi.python.org/packages/source/p/pytz/pytz-%{version}.tar.bz2
BuildRequires: fdupes
BuildRequires: python-devel
#BuildRequires: python-nose
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%else
BuildArch: noarch
%endif
Provides: python-tz = 2013h
Obsoletes: python-tz < 2013h
%description
pytz - World Timezone Definitions for Python
pytz brings the Olson tz database into Python. This library allows
accurate and cross platform timezone calculations using Python 2.4
or higher. It also solves the issue of ambiguous times at the end
of daylight savings, which you can read more about in the Python
Library Reference (``datetime.tzinfo``).
Amost all of the Olson timezones are supported.
%prep
%setup -q -n pytz-%{version}
# For rpmlint warning: remove shebang from python library:
sed -i '/^#!/d' ./pytz/tzfile.py
%build
python setup.py build
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
%fdupes %{buildroot}%{python_sitelib}
#%%check
#nosetests
%files
%defattr(-,root,root,-)
%doc LICENSE.txt README.txt
%{python_sitelib}/*
%changelog
--
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 python-pytz.2748 for openSUSE:12.3:Update checked in at 2014-04-22 12:40:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/python-pytz.2748 (Old)
and /work/SRC/openSUSE:12.3:Update/.python-pytz.2748.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytz.2748"
Changes:
--------
New Changes file:
--- /dev/null 2014-04-17 09:46:44.096034755 +0200
+++ /work/SRC/openSUSE:12.3:Update/.python-pytz.2748.new/python-pytz.changes 2014-04-22 12:40:08.000000000 +0200
@@ -0,0 +1,24 @@
+-------------------------------------------------------------------
+Sat Apr 12 16:35:55 UTC 2014 - aj(a)ajaissle.de
+
+- Update to pytz 2013.8 (bnc#584530)
+ + Olson/IANA databse version 2013h
+ + No code changes in this release
+
+-------------------------------------------------------------------
+Mon Jan 14 18:35:51 UTC 2013 - p.drouand(a)gmail.com
+
+- Initial python3 support
+
+-------------------------------------------------------------------
+Mon Jan 14 17:56:44 UTC 2013 - p.drouand(a)gmail.com
+
+- Update to 2012j version:
+ * Add python3 support
+- Fix a shebang RPMLint warning
+
+-------------------------------------------------------------------
+Wed Mar 21 19:35:32 UTC 2012 - saschpe(a)gmx.de
+
+- Initial version
+
New Changes file:
--- /dev/null 2014-04-17 09:46:44.096034755 +0200
+++ /work/SRC/openSUSE:12.3:Update/.python-pytz.2748.new/python3-pytz.changes 2014-04-22 12:40:08.000000000 +0200
@@ -0,0 +1,11 @@
+-------------------------------------------------------------------
+Sat Apr 12 16:35:55 UTC 2014 - aj(a)ajaissle.de
+- Update to pytz 2013.8 (bnc#584530)
+ + Olson/IANA databse version 2013h
+ + No code changes in this release
+
+-------------------------------------------------------------------
+Mon Jan 14 18:36:04 UTC 2013 - p.drouand(a)gmail.com
+
+- Initial python3 support
+
New:
----
python-pytz.changes
python-pytz.spec
python3-pytz.changes
python3-pytz.spec
pytz-2013.8.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytz.spec ++++++
#
# spec file for package python-pytz
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: python-pytz
Version: 2013.8
Release: 0
Summary: World timezone definitions, modern and historical
License: MIT
Group: Development/Languages/Python
Url: http://pytz.sourceforge.net
Source: http://pypi.python.org/packages/source/p/pytz/pytz-%{version}.tar.bz2
BuildRequires: fdupes
BuildRequires: python-devel
#BuildRequires: python-nose
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%else
BuildArch: noarch
%endif
Provides: python-tz = 2013h
Obsoletes: python-tz < 2013h
%description
pytz - World Timezone Definitions for Python
pytz brings the Olson tz database into Python. This library allows
accurate and cross platform timezone calculations using Python 2.4
or higher. It also solves the issue of ambiguous times at the end
of daylight savings, which you can read more about in the Python
Library Reference (``datetime.tzinfo``).
Amost all of the Olson timezones are supported.
%prep
%setup -q -n pytz-%{version}
# For rpmlint warning: remove shebang from python library:
sed -i '/^#!/d' ./pytz/tzfile.py
%build
python setup.py build
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
%fdupes %{buildroot}%{python_sitelib}
#%%check
#nosetests
%files
%defattr(-,root,root,-)
%doc LICENSE.txt README.txt
%{python_sitelib}/*
%changelog
++++++ python3-pytz.spec ++++++
#
# spec file for package python3-pytz
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: python3-pytz
Version: 2013.8
Release: 0
Summary: World timezone definitions, modern and historical
License: MIT
Group: Development/Languages/Python
Url: http://pytz.sourceforge.net
Source: http://pypi.python.org/packages/source/p/pytz/pytz-%{version}.tar.bz2
BuildRequires: fdupes
BuildRequires: python3
BuildRequires: python3-devel
BuildRequires: python3-distribute
#BuildRequires: python3-nose
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python3_sitelib: %global python3_sitelib %(python3 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%else
BuildArch: noarch
%endif
Provides: python-tz = 2013h
Obsoletes: python-tz < 2013h
%description
pytz - World Timezone Definitions for Python
pytz brings the Olson tz database into Python. This library allows
accurate and cross platform timezone calculations using Python 2.4
or higher. It also solves the issue of ambiguous times at the end
of daylight savings, which you can read more about in the Python
Library Reference (``datetime.tzinfo``).
Amost all of the Olson timezones are supported.
%prep
%setup -q -n pytz-%{version}
# For rpmlint warning: remove shebang from python library:
sed -i '/^#!/d' ./pytz/tzfile.py
%build
python3 setup.py build
%install
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
%fdupes %{buildroot}%{python3_sitelib}
#%%check
#nosetests
%files
%defattr(-,root,root,-)
%doc LICENSE.txt README.txt
%{python3_sitelib}/*
%changelog
--
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 vdr-plugin-remote for openSUSE:Factory checked in at 2014-04-22 11:55:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vdr-plugin-remote (Old)
and /work/SRC/openSUSE:Factory/.vdr-plugin-remote.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vdr-plugin-remote"
Changes:
--------
--- /work/SRC/openSUSE:Factory/vdr-plugin-remote/vdr-plugin-remote.changes 2011-09-23 12:49:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.vdr-plugin-remote.new/vdr-plugin-remote.changes 2014-04-22 11:55:52.000000000 +0200
@@ -1,0 +2,14 @@
+Sun Mar 30 15:43:36 UTC 2014 - seife+obs(a)b1-systems.com
+
+- update to version 0.5.0
+ - easier to build with plain make
+ - obsolete remote-0.4.0-locale.diff
+- other changes from HISTORY file:
+ - Updated Italian language texts.
+ - Fixed some compiler warnings.
+ - Telnet section added to FAQ.
+ - Fixed crash with TTY and/or Telnet remotes when VDR terminated
+ - Access /proc/av7110_ir in write-only mode (for newer kernels)
+- run spec-cleaner
+
+-------------------------------------------------------------------
Old:
----
remote-0.4.0-locale.diff
vdr-remote-0.4.0.tgz
New:
----
vdr-remote-0.5.0.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vdr-plugin-remote.spec ++++++
--- /var/tmp/diff_new_pack.ywuy2X/_old 2014-04-22 11:55:52.000000000 +0200
+++ /var/tmp/diff_new_pack.ywuy2X/_new 2014-04-22 11:55:52.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package vdr-plugin-remote (Version 0.4.0)
+# spec file for package vdr-plugin-remote
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,55 +15,50 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
-%define pluginversion 0.4.0
+%define pluginversion 0.5.0
%define pluginname remote
%define pluginurl http://www.escape-edv.de/endriss/vdr
#
-%define plugindir %pluginname-%pluginversion
-%define plugintarball vdr-%pluginname-%pluginversion.tgz
+%define plugindir %{pluginname}-%{pluginversion}
+%define plugintarball vdr-%{pluginname}-%{pluginversion}.tgz
#
-%define pkgversion %pluginversion
-
Name: vdr-plugin-remote
-Version: %pkgversion
-Release: 1
-Source: %plugintarball
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Summary: VDR %pluginname plugin
+Version: %{pluginversion}
+Release: 0
+Summary: VDR %{pluginname} plugin
License: GPL-2.0+
Group: Hardware/TV
-BuildRequires: gcc-c++ vdr-devel
-PreReq: vdr(abi) = %{vdr_apiversion}
-Url: %pluginurl
-Patch0: remote-0.4.0-locale.diff
+Url: %{pluginurl}
+Source: %{plugintarball}
+BuildRequires: gcc-c++
+BuildRequires: pkg-config
+BuildRequires: vdr-devel
+# FIXME: use proper Requires(pre/post/preun/...)
+PreReq: %vdr_prereq
# only needed for packages that used the old naming scheme
-Obsoletes: vdr-%pluginname < %pkgversion
+Obsoletes: vdr-%{pluginname} < %{pluginversion}
# used to be in vdr-plugins
-Provides: vdr-plugins:/usr/share/doc/packages/vdr/plugins/%{pluginname}
+Provides: vdr-plugins:%{_docdir}/vdr/plugins/%{pluginname}
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
Conflicts: vdr-plugins <= 0.5
%description
+%{vdrname} %{pluginname} plugin
-%vdrname %pluginname plugin
%prep
-%setup -q -n %plugindir
-%patch0 -p1
+%setup -q -n %{plugindir}
%build
-%vdr_make
+# use msgmerge wrapper
+export PATH=%{_datadir}/vdr:$PATH
+make %{?_smp_mflags}
%install
-%vdr_install_plugin %pluginname
-%vdr_install_plugin_locale
-#
-%find_lang vdr-%pluginname
-
-%clean
-rm -rf "${RPM_BUILD_ROOT}"
+make DESTDIR=%{buildroot} install
+%find_lang vdr-%{pluginname}
-%files -f vdr-%pluginname.lang
+%files -f vdr-%{pluginname}.lang
%defattr(-,root,root)
%doc COPYING HISTORY README FAQ
%{vdr_libdir}/*
++++++ vdr-remote-0.4.0.tgz -> vdr-remote-0.5.0.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/CONTRIBUTORS new/remote-0.5.0/CONTRIBUTORS
--- old/remote-0.4.0/CONTRIBUTORS 2007-10-06 14:47:46.000000000 +0200
+++ new/remote-0.5.0/CONTRIBUTORS 2012-12-26 02:36:47.000000000 +0100
@@ -28,3 +28,6 @@
Joachim Selinger <selinger at idefix dot s dot bawue dot de>
for suggesting to implement selection of the input device by path.
+
+Tobias Grimm tobias dot grimm at e-tobi dot net
+ for providing a better gettext detection using i18n.h.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/FAQ new/remote-0.5.0/FAQ
--- old/remote-0.4.0/FAQ 2007-10-06 15:08:10.000000000 +0200
+++ new/remote-0.5.0/FAQ 2012-12-26 07:53:35.000000000 +0100
@@ -1,4 +1,4 @@
-Remote Control Mini-FAQ (Rev 0.4.0, 2007-10-06 En)
+Remote Control Mini-FAQ (Rev 0.5.0, 2012-12-26 En)
==================================================
1. Which hardware is supported?
@@ -7,6 +7,7 @@
card type driver connector IR protocol notes
---------------------------------------------------------------------
+TT S2 6400 saa716x_ff ir connector RC5
Activy 300 RCMM
DVB-S 1.x dvb-ttpci J2 RC5/RCMM 1
DVB-S 1.x dvb-ttpci CI module RC5/RCMM 1
@@ -180,9 +181,44 @@
Have a look at the script 'runvdr.remote' in sub-directory 'misc'.
+-------------------------------------------------------------------------------
+
+
+4. Telnet
+ ------
+
+4.1 Terminating the telnet session
+ ------------------------------
+Any telnet session can be terminated by 'escape character' c (close).
+The escape character will be displayed when telnet is started,
+default is Ctrl-].
+
+
+4.2 Key mapping example
+ -------------------
+VDR is able to learn the telnet keys like any other keyboard.
+
+If you cannot see the OSD to perform key learning, add file
+misc/remote.conf.tcp3333 to your remote.conf.
+The keys are documented in misc/remote.conf.tcp3333.readme.
+
+
+4.3 Customizing the key mapping
+ ---------------------------
+It is recommended to use the key learning feature of vdr, but you
+might also use your favorite editor to modify the key mapping.
+
+Key codes can be found by using the debug feature of telnet:
+- enter command mode by pressing the 'escape character'
+- enter 'set netdata on'
+Note that the byte order must be reversed for remote.conf.
+
+
+-------------------------------------------------------------------------------
+
-3.6 More information
- ----------------
+5. More information
+ ----------------
WIKIs:
- VDR and plugins http://www.vdr-wiki.de
- DVB http://linuxtv.org/wiki
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/HISTORY new/remote-0.5.0/HISTORY
--- old/remote-0.4.0/HISTORY 2007-10-06 14:52:51.000000000 +0200
+++ new/remote-0.5.0/HISTORY 2012-12-26 02:54:17.000000000 +0100
@@ -94,6 +94,7 @@
- Added French language texts (thanks to Pierre Briec).
+
2006-04-30: Version 0.3.7
- Updated Makefile (use APIVERSION for VDR >= 1.3.47, VDRVERSION otherwise)
@@ -117,3 +118,15 @@
For example:
vdr -P"remote -i /dev/input/by-path/pci-0000:02:06.0--event-ir"
(Thanks to Joachim Selinger for suggesting to add this feature.)
+
+
+2012-12-26: Version 0.5.0
+- gettext detection modified to use $(VDRDIR)/i18n.h (thanks to Tobias Grimm).
+- Updated Italian language texts.
+- Fixed some compiler warnings.
+- Telnet section added to FAQ.
+- GPL text added to all source files.
+- Fixed crash with TTY and/or Telnet remotes when VDR terminated.
+- Access /proc/av7110_ir in write-only mode (required by kernel 2.6.34+).
+- Adopt Makefile for vdr 1.7.34+.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/Makefile new/remote-0.5.0/Makefile
--- old/remote-0.4.0/Makefile 2007-10-06 14:58:06.000000000 +0200
+++ new/remote-0.5.0/Makefile 2012-12-26 02:16:57.000000000 +0100
@@ -1,20 +1,54 @@
#
-# Makefile for a Video Disk Recorder plugin
+# Remote Control plugin for the Video Disk Recorder
+#
+# Copyright (C) 2002-2010 Oliver Endriss <o.endriss(a)gmx.de>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+# Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
-# $Id$
# The official name of this plugin.
# This name will be used in the '-P...' option of VDR to load the plugin.
# By default the main source file also carries this name.
-# IMPORTANT: the presence of this macro is important for the Make.config
-# file. So it must be defined, even if it is not used here!
-#
+
PLUGIN = remote
### The version number of this plugin (taken from the main source file):
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
+### The directory environment:
+# Use package data if installed...otherwise assume we're under the VDR source directory:
+PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
+LIBDIR = $(DESTDIR)$(call PKGCFG,libdir)
+LOCDIR = $(DESTDIR)$(call PKGCFG,locdir)
+#
+TMPDIR ?= /tmp
+
+### The compiler options:
+
+export CFLAGS = $(call PKGCFG,cflags)
+export CXXFLAGS = $(call PKGCFG,cxxflags)
+
+### The version number of VDR's plugin API:
+
+APIVERSION = $(call PKGCFG,apiversion)
+
+
+### Backward compatibility stuff
+ifeq ($(LOCDIR),)
### The C++ compiler and options:
CXX ?= g++
@@ -24,7 +58,6 @@
VDRDIR = ../../..
LIBDIR = ../../lib
-TMPDIR = /tmp
### Allow user defined options to overwrite defaults:
@@ -39,16 +72,38 @@
APIVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
endif
+LOCDIR = $(VDRDIR)/locale
+
+### Includes and Defines (add further entries here):
+
+DEFINES += -D_GNU_SOURCE
+
+INCLUDES += -I$(VDRDIR)/include
+
+### Run 'install' for target 'all':
+
+all: install
+
+ifeq ($(shell grep 'I18N_DEFAULT_LOCALE' $(VDRDIR)/i18n.h),)
+OLD_I18N = 1
+
+i18n install-i18n:
+
+endif
+endif # compatibility section
+
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
-### Includes and Defines (add further entries here):
+### The name of the shared object file:
-INCLUDES += -I$(VDRDIR)/include
+SOFILE = libvdr-$(PLUGIN).so
+
+### Includes and Defines (add further entries here):
-DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
### optional components
DEFINES += -DREMOTE_FEATURE_LIRC
@@ -56,14 +111,18 @@
### The object files (add further files here):
-OBJS = $(PLUGIN).o ttystatus.o
+OBJS = $(PLUGIN).o
+OBJS += ttystatus.o
ifneq (, $(findstring REMOTE_FEATURE_TCPIP, $(DEFINES)))
OBJS += remotetcp.o
endif
+ifneq ($(OLD_I18N),)
+OBJS += i18n.o
+endif
### The main target:
-all: libvdr-$(PLUGIN).so i18n
+all: $(SOFILE) i18n
### Implicit rules:
@@ -81,41 +140,43 @@
### Internationalization (I18N):
-ifneq ($(shell grep 'LOCALEDIR' $(VDRDIR)/Makefile),)
+ifeq ($(OLD_I18N),)
PODIR = po
-LOCALEDIR = $(VDRDIR)/locale
I18Npo = $(wildcard $(PODIR)/*.po)
I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
-I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
+I18Nmsgs = $(addprefix $(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file))))))
I18Npot = $(PODIR)/$(PLUGIN).pot
%.mo: %.po
msgfmt -c -o $@ $<
$(I18Npot): $(wildcard *.c)
- xgettext -C -cTRANSLATORS --no-wrap -F -k -ktr -ktrNOOP --msgid-bugs-address='<o.endriss(a)gmx.de>' -o $@ $(wildcard *.c)
+ xgettext -C -cTRANSLATORS --no-wrap -F -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<o.endriss(a)gmx.de>' -o $@ `ls $^`
-$(I18Npo): $(I18Npot)
- msgmerge -U --no-wrap -F --backup=none -q $@ $<
+%.po: $(I18Npot)
+ msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $<
+ @touch $@
-i18n: $(I18Nmo)
- @mkdir -p $(LOCALEDIR)
- for i in $(I18Ndirs); do\
- mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
- cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\
- done
-else
-OBJS += i18n.o
-i18n: ;
+$(I18Nmsgs): $(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
+ install -D -m644 $< $@
+
+.PHONY: i18n
+i18n: $(I18Nmo) $(I18Npot)
+
+install-i18n: $(I18Nmsgs)
endif
### Targets:
-libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
- @cp $@ $(LIBDIR)/$@.$(APIVERSION)
+$(SOFILE): $(OBJS)
+ $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-dist: clean
+install-lib: $(SOFILE)
+ install -D $^ $(LIBDIR)/$^.$(APIVERSION)
+
+install: install-lib install-i18n
+
+dist: $(I18Npo) clean
@-rm -rf $(TMPDIR)/$(ARCHIVE)
@mkdir $(TMPDIR)/$(ARCHIVE)
@cp -a * $(TMPDIR)/$(ARCHIVE)
@@ -125,4 +186,11 @@
clean:
@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
- @-rm -f *.o $(DEPFILE) *.so *.tgz core* *~
+ @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
+
+env:
+ @echo "Configuration:"
+ @echo " APIVERSION $(APIVERSION)"
+ @echo " CXX $(CXX) CXXFLAGS $(CXXFLAGS)"
+ @echo " VDRDIR $(VDRDIR) LIBDIR $(LIBDIR) LOCDIR $(LOCDIR)"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/README new/remote-0.5.0/README
--- old/remote-0.4.0/README 2007-10-06 14:02:45.000000000 +0200
+++ new/remote-0.5.0/README 2012-12-26 03:53:56.000000000 +0100
@@ -1,7 +1,7 @@
remote - Remote Control plugin for the Video Disk Recorder (VDR)
================================================================
-Version: 0.4.0
+Version: 0.5.0
Written by: Oliver Endriss <o.endriss(a)gmx.de>
@@ -19,10 +19,12 @@
The following remote control devices are supported:
(a) linux input device driver ('/dev/input/eventX', X=0,1,2,...)
- - built-in remote control port of the av711x-based DVB cards
- (aka full-featured cards), e.g. DVB-S Nexus [1]
- - remote control port of some budget cards, e.g. Nova-CI [2]
- - other input devices (not tested, please report success!)
+ - Built-in remote control port of the TT DVB-S2 6400
+ (HD full-featured card).
+ - Built-in remote control port of the av711x-based DVB cards
+ (SD full-featured cards), e.g. DVB-S Nexus.
+ - Remote control port of some budget cards, e.g. Nova-CI.
+ - Other input devices.
See file FAQ for a list of cards which have been reported to work.
(b) keyboard (tty driver): /dev/console, /dev/ttyX
@@ -40,8 +42,8 @@
-------------
The Remote Control plugin is installed the same way as any other plugin:
- cd VDR/PLUGINS/src
-- tar xfz vdr-remote-0.4.0.tgz
-- ln -s remote-0.4.0 remote
+- tar xfz vdr-remote-0.5.0.tgz
+- ln -s remote-0.5.0 remote
- cd ../..
- make plugins
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/i18n.c new/remote-0.5.0/i18n.c
--- old/remote-0.4.0/i18n.c 2007-10-06 01:18:08.000000000 +0200
+++ new/remote-0.5.0/i18n.c 2012-12-26 02:47:05.000000000 +0100
@@ -3,14 +3,30 @@
*
* i18n.c: Internationalization
*
- * See the README file for copyright information and how to reach the author.
+ * Copyright (C) 2002-2012 Oliver Endriss <o.endriss(a)gmx.de>
*
* Translations provided by:
- * Finnish Ville Skytt� <ville dot skytta at iki dot fi>
- * French Pierre Briec <eclipse dot vdr at gmail dot com>
- * Italian Nicola Franchi <franchi at cefriel dot it>
- * Polish Jakub Wolnicki
- * Russian Waldemar Nikel
+ * Finnish Ville Skytt� <ville dot skytta at iki dot fi>
+ * French Pierre Briec <eclipse dot vdr at gmail dot com>
+ * Italian Nicola Franchi <franchi at cefriel dot it>
+ * Italian Gringo <vdr-italian(a)tiscali.it>
+ * Polish Jakub Wolnicki
+ * Russian Waldemar Nikel
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*/
#include "i18n.h"
@@ -64,7 +80,7 @@
{ "Press any key to use pre-loaded keymap",
"Taste dr�cken, um zuvor geladene Keymap zu verwenden",
"",
- "Premi un tasto per usare una mappa dei tasti pre-caricata",
+ "Premi un tasto per usare una tabella dei tasti precaricata",
"",
"",
"Appuyez sur une touche pour utiliser un Keymap pr�charg�",
@@ -107,7 +123,7 @@
{ "Remote control test - press and hold down any key",
"Test der Fernbedienung - beliebige Taste gedr�ckt halten",
"",
- "Test del telecomando - premi e tieni premuto un tasto",
+ "Prova telecomando - premi e tieni premuto un tasto",
"",
"",
"Test t�l�commande - Appuyer et maintenir une touche enfonc�e",
@@ -128,7 +144,7 @@
{ "RC5 protocol detected",
"RC5-Protokoll erkannt",
"",
- "Rilevato il protocollo RC5",
+ "Rilevato protocollo RC5",
"",
"",
"Protocole RC5 d�tect�",
@@ -149,7 +165,7 @@
{ "RC5 protocol detected (inverted signal)",
"RC5-Protokoll erkannt (invertiertes Signal)",
"",
- "Rilevato il protocollo RC5 (segnale invertito)",
+ "Rilevato protocollo RC5 (segnale invertito)",
"",
"",
"Protocole RC5 d�tect� (signal invers�)",
@@ -170,7 +186,7 @@
{ "RCMM protocol detected",
"RCMM-Protokoll erkannt",
"",
- "Rilevato il protocollo RCMM",
+ "Rilevato protocollo RCMM",
"",
"",
"Protocole RCMM d�tect�",
@@ -191,7 +207,7 @@
{ "RCMM protocol detected (inverted signal)",
"RCMM-Protokoll erkannt (invertiertes Signal)",
"",
- "Rilevato il protocollo RCMM (segnale invertito)",
+ "Rilevato protocollo RCMM (segnale invertito)",
"",
"",
"Protocole RCMM d�tect� (signal invers�)",
@@ -233,7 +249,7 @@
{ "Error uploading keymap",
"Fehler beim Laden der Tastenbelegung",
"",
- "Errore nel caricamento della mappa dei tasti",
+ "Errore caricamento tabella dei tasti",
"",
"",
"Erreur chargement tables de touches",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/i18n.h new/remote-0.5.0/i18n.h
--- old/remote-0.4.0/i18n.h 2007-10-06 01:23:42.000000000 +0200
+++ new/remote-0.5.0/i18n.h 2012-12-26 02:49:36.000000000 +0100
@@ -3,7 +3,22 @@
*
* i18n.h: Internationalization
*
- * See the README file for copyright information and how to reach the author.
+ * Copyright (C) 2002-2012 Oliver Endriss <o.endriss(a)gmx.de>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/misc/remote.conf.tcp3333.readme new/remote-0.5.0/misc/remote.conf.tcp3333.readme
--- old/remote-0.4.0/misc/remote.conf.tcp3333.readme 1970-01-01 01:00:00.000000000 +0100
+++ new/remote-0.5.0/misc/remote.conf.tcp3333.readme 2008-05-17 04:27:12.000000000 +0200
@@ -0,0 +1,41 @@
+Key mapping for telnet over TCP port 3333
+=========================================
+
+Note: This works for telnet started from a linux _console_.
+
+vdr key code keyboard
+---------------------------------------------------------
+remote-tcp:3333.Up 0000000000415B1B up
+remote-tcp:3333.Down 0000000000425B1B down
+remote-tcp:3333.Menu 000000007E315B1B home
+remote-tcp:3333.Ok 000000000000000D return
+remote-tcp:3333.Back 000000007E345B1B end
+remote-tcp:3333.Left 0000000000445B1B left
+remote-tcp:3333.Right 0000000000435B1B right
+remote-tcp:3333.Red 00000000415B5B1B F1
+remote-tcp:3333.Green 00000000425B5B1B F2
+remote-tcp:3333.Yellow 00000000435B5B1B F3
+remote-tcp:3333.Blue 00000000445B5B1B F4
+remote-tcp:3333.0 0000000000000030 0
+remote-tcp:3333.1 0000000000000031 1
+remote-tcp:3333.2 0000000000000032 2
+remote-tcp:3333.3 0000000000000033 3
+remote-tcp:3333.4 0000000000000034 4
+remote-tcp:3333.5 0000000000000035 5
+remote-tcp:3333.6 0000000000000036 6
+remote-tcp:3333.7 0000000000000037 7
+remote-tcp:3333.8 0000000000000038 8
+remote-tcp:3333.9 0000000000000039 9
+remote-tcp:3333.Channel+ 000000007E355B1B page up
+remote-tcp:3333.Channel- 000000007E365B1B page down
+remote-tcp:3333.Volume+ 000000007E325B1B ins
+remote-tcp:3333.Volume- 000000007E335B1B del
+remote-tcp:3333.User1 00000000455B5B1B F5
+remote-tcp:3333.User2 0000007E37315B1B F6
+remote-tcp:3333.User3 0000007E38315B1B F7
+remote-tcp:3333.User4 0000007E39315B1B F8
+remote-tcp:3333.User5 0000007E30325B1B F9
+remote-tcp:3333.User6 0000007E31325B1B F10
+remote-tcp:3333.User7 0000007E33325B1B F11
+remote-tcp:3333.User8 0000007E34325B1B F12
+remote-tcp:3333.User9 0000000000505B1B pause
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/po/de_DE.po new/remote-0.5.0/po/de_DE.po
--- old/remote-0.4.0/po/de_DE.po 2007-10-06 01:02:09.000000000 +0200
+++ new/remote-0.5.0/po/de_DE.po 2012-12-26 04:12:47.000000000 +0100
@@ -7,55 +7,56 @@
msgstr ""
"Project-Id-Version: Remote Control plugin 0.4.0\n"
"Report-Msgid-Bugs-To: <o.endriss(a)gmx.de>\n"
-"POT-Creation-Date: 2007-10-06 01:02+0200\n"
+"POT-Creation-Date: 2012-05-27 17:56+0200\n"
"PO-Revision-Date: 2007-10-05 06:58+0200\n"
"Last-Translator: Oliver Endriss <o.endriss(a)gmx.de>, 2002-2007\n"
"Language-Team: <vdr(a)linuxtv.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
-#: remote.c:38
+#: remote.c:52
msgid "Remote control"
msgstr "Fernbedienung"
-#: remote.c:217 remote.c:761
+#: remote.c:233 remote.c:777
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: remote.c:239
+#: remote.c:255
msgid "Error uploading keymap"
msgstr "Fehler beim Laden der Tastenbelegung"
-#: remote.c:320
+#: remote.c:336
msgid "Press any key to use pre-loaded keymap"
msgstr "Taste dr�cken, um zuvor geladene Keymap zu verwenden"
-#: remote.c:325
+#: remote.c:341
msgid "User-supplied keymap will be used"
msgstr "Benutzerdefinierte Keymap wird verwendet"
-#: remote.c:331
+#: remote.c:347
msgid "Remote control test - press and hold down any key"
msgstr "Test der Fernbedienung - beliebige Taste gedr�ckt halten"
-#: remote.c:350
+#: remote.c:366
msgid "RC5 protocol detected"
msgstr "RC5-Protokoll erkannt"
-#: remote.c:374
+#: remote.c:390
msgid "RC5 protocol detected (inverted signal)"
msgstr "RC5-Protokoll erkannt (invertiertes Signal)"
-#: remote.c:385
+#: remote.c:401
msgid "RCMM protocol detected"
msgstr "RCMM-Protokoll erkannt"
-#: remote.c:396
+#: remote.c:412
msgid "RCMM protocol detected (inverted signal)"
msgstr "RCMM-Protokoll erkannt (invertiertes Signal)"
-#: remote.c:404
+#: remote.c:420
msgid "No remote control detected"
msgstr "Keine Fernbedienung erkannt"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/po/fi_FI.po new/remote-0.5.0/po/fi_FI.po
--- old/remote-0.4.0/po/fi_FI.po 2007-10-06 01:02:09.000000000 +0200
+++ new/remote-0.5.0/po/fi_FI.po 2012-12-26 04:12:47.000000000 +0100
@@ -7,55 +7,56 @@
msgstr ""
"Project-Id-Version: Remote Control plugin 0.4.0\n"
"Report-Msgid-Bugs-To: <o.endriss(a)gmx.de>\n"
-"POT-Creation-Date: 2007-10-06 01:02+0200\n"
+"POT-Creation-Date: 2012-05-27 17:56+0200\n"
"PO-Revision-Date: 2007-10-05 06:58+0200\n"
"Last-Translator: Ville Skytt� <ville dot skytta at iki dot fi>, 2004\n"
"Language-Team: <vdr(a)linuxtv.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
-#: remote.c:38
+#: remote.c:52
msgid "Remote control"
msgstr "Kaukos��din"
-#: remote.c:217 remote.c:761
+#: remote.c:233 remote.c:777
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: remote.c:239
+#: remote.c:255
msgid "Error uploading keymap"
msgstr "N�pp�inkartan lataaminen ep�onnistui"
-#: remote.c:320
+#: remote.c:336
msgid "Press any key to use pre-loaded keymap"
msgstr "Paina mit� tahansa n�pp�int� k�ytt��ksesi oletusn�pp�inkarttaa"
-#: remote.c:325
+#: remote.c:341
msgid "User-supplied keymap will be used"
msgstr "K�ytet��n k�ytt�j�n m��rittelem�� n�pp�inkarttaa"
-#: remote.c:331
+#: remote.c:347
msgid "Remote control test - press and hold down any key"
msgstr "Kaukos��dintesti - paina ja pid� alhaalla jotain kaukos��timen n�pp�int�"
-#: remote.c:350
+#: remote.c:366
msgid "RC5 protocol detected"
msgstr "RC5-yhteysk�yt�nt� tunnistettu"
-#: remote.c:374
+#: remote.c:390
msgid "RC5 protocol detected (inverted signal)"
msgstr "RC5-yhteysk�yt�nt� tunnistettu (k��nteinen signaali)"
-#: remote.c:385
+#: remote.c:401
msgid "RCMM protocol detected"
msgstr "RCMM-yhteysk�yt�nt� tunnistettu"
-#: remote.c:396
+#: remote.c:412
msgid "RCMM protocol detected (inverted signal)"
msgstr "RCMM-yhteysk�yt�nt� tunnistettu (k��nteinen signaali)"
-#: remote.c:404
+#: remote.c:420
msgid "No remote control detected"
msgstr "Kaukos��dint� ei tunnistettu"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/po/fr_FR.po new/remote-0.5.0/po/fr_FR.po
--- old/remote-0.4.0/po/fr_FR.po 2007-10-06 01:02:09.000000000 +0200
+++ new/remote-0.5.0/po/fr_FR.po 2012-12-26 04:12:47.000000000 +0100
@@ -7,55 +7,56 @@
msgstr ""
"Project-Id-Version: Remote Control plugin 0.4.0\n"
"Report-Msgid-Bugs-To: <o.endriss(a)gmx.de>\n"
-"POT-Creation-Date: 2007-10-06 01:02+0200\n"
+"POT-Creation-Date: 2012-05-27 17:56+0200\n"
"PO-Revision-Date: 2007-10-05 06:58+0200\n"
"Last-Translator: Pierre Briec <eclipse dot vdr at gmail dot com>, 2006\n"
"Language-Team: <vdr(a)linuxtv.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: remote.c:38
+#: remote.c:52
msgid "Remote control"
msgstr "T�l�commande"
-#: remote.c:217 remote.c:761
+#: remote.c:233 remote.c:777
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: remote.c:239
+#: remote.c:255
msgid "Error uploading keymap"
msgstr "Erreur chargement tables de touches"
-#: remote.c:320
+#: remote.c:336
msgid "Press any key to use pre-loaded keymap"
msgstr "Appuyez sur une touche pour utiliser un Keymap pr�charg�"
-#: remote.c:325
+#: remote.c:341
msgid "User-supplied keymap will be used"
msgstr "Keymap personnalis� va �tre utilis�"
-#: remote.c:331
+#: remote.c:347
msgid "Remote control test - press and hold down any key"
msgstr "Test t�l�commande - Appuyer et maintenir une touche enfonc�e"
-#: remote.c:350
+#: remote.c:366
msgid "RC5 protocol detected"
msgstr "Protocole RC5 d�tect�"
-#: remote.c:374
+#: remote.c:390
msgid "RC5 protocol detected (inverted signal)"
msgstr "Protocole RC5 d�tect� (signal invers�)"
-#: remote.c:385
+#: remote.c:401
msgid "RCMM protocol detected"
msgstr "Protocole RCMM d�tect�"
-#: remote.c:396
+#: remote.c:412
msgid "RCMM protocol detected (inverted signal)"
msgstr "Protocole RCMM d�tect� (signal invers�)"
-#: remote.c:404
+#: remote.c:420
msgid "No remote control detected"
msgstr "Aucune t�l�commande d�tect�e"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/po/it_IT.po new/remote-0.5.0/po/it_IT.po
--- old/remote-0.4.0/po/it_IT.po 2007-10-06 01:02:09.000000000 +0200
+++ new/remote-0.5.0/po/it_IT.po 2012-12-26 04:12:47.000000000 +0100
@@ -7,55 +7,45 @@
msgstr ""
"Project-Id-Version: Remote Control plugin 0.4.0\n"
"Report-Msgid-Bugs-To: <o.endriss(a)gmx.de>\n"
-"POT-Creation-Date: 2007-10-06 01:02+0200\n"
-"PO-Revision-Date: 2007-10-05 06:58+0200\n"
-"Last-Translator: Nicola Franchi <franchi at cefriel dot it>, 2006\n"
-"Language-Team: <vdr(a)linuxtv.org>\n"
+"POT-Creation-Date: 2012-12-26 02:52+0100\n"
+"PO-Revision-Date: 2007-12-29 02:22+0100\n"
+"Last-Translator: Gringo <vdr-italian(a)tiscali.it>\n"
+"Language-Team: <vdr(a)linuxtv.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
-#: remote.c:38
msgid "Remote control"
msgstr "Telecomando"
-#: remote.c:217 remote.c:761
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: remote.c:239
msgid "Error uploading keymap"
-msgstr "Errore nel caricamento della mappa dei tasti"
+msgstr "Errore caricamento tabella dei tasti"
-#: remote.c:320
msgid "Press any key to use pre-loaded keymap"
-msgstr "Premi un tasto per usare una mappa dei tasti pre-caricata"
+msgstr "Premi un tasto per usare una tabella dei tasti precaricata"
-#: remote.c:325
msgid "User-supplied keymap will be used"
msgstr "Verr� usata una mappa dei tasti fornita dall'utente"
-#: remote.c:331
msgid "Remote control test - press and hold down any key"
-msgstr "Test del telecomando - premi e tieni premuto un tasto"
+msgstr "Prova telecomando - premi e tieni premuto un tasto"
-#: remote.c:350
msgid "RC5 protocol detected"
-msgstr "Rilevato il protocollo RC5"
+msgstr "Rilevato protocollo RC5"
-#: remote.c:374
msgid "RC5 protocol detected (inverted signal)"
-msgstr "Rilevato il protocollo RC5 (segnale invertito)"
+msgstr "Rilevato protocollo RC5 (segnale invertito)"
-#: remote.c:385
msgid "RCMM protocol detected"
-msgstr "Rilevato il protocollo RCMM"
+msgstr "Rilevato protocollo RCMM"
-#: remote.c:396
msgid "RCMM protocol detected (inverted signal)"
-msgstr "Rilevato il protocollo RCMM (segnale invertito)"
+msgstr "Rilevato protocollo RCMM (segnale invertito)"
-#: remote.c:404
msgid "No remote control detected"
msgstr "Nessun telecomando rilevato"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/po/pl_PL.po new/remote-0.5.0/po/pl_PL.po
--- old/remote-0.4.0/po/pl_PL.po 2007-10-06 01:02:09.000000000 +0200
+++ new/remote-0.5.0/po/pl_PL.po 2012-12-26 04:12:47.000000000 +0100
@@ -7,55 +7,56 @@
msgstr ""
"Project-Id-Version: Remote Control plugin 0.4.0\n"
"Report-Msgid-Bugs-To: <o.endriss(a)gmx.de>\n"
-"POT-Creation-Date: 2007-10-06 01:02+0200\n"
+"POT-Creation-Date: 2012-05-27 17:56+0200\n"
"PO-Revision-Date: 2007-10-05 06:58+0200\n"
"Last-Translator: Jakub Wolnicki, 2006\n"
"Language-Team: <vdr(a)linuxtv.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
-#: remote.c:38
+#: remote.c:52
msgid "Remote control"
msgstr "Zdalne sterowanie"
-#: remote.c:217 remote.c:761
+#: remote.c:233 remote.c:777
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: remote.c:239
+#: remote.c:255
msgid "Error uploading keymap"
msgstr "Blad przy przesylaniu mapy klawiszy"
-#: remote.c:320
+#: remote.c:336
msgid "Press any key to use pre-loaded keymap"
msgstr "Nacisnij dowolny klawisz, aby uzyc zaladowanej mapy klawiszy"
-#: remote.c:325
+#: remote.c:341
msgid "User-supplied keymap will be used"
msgstr "Uzyta zostanie mapa klawiszy, zdefinowana przez uzytkownika"
-#: remote.c:331
+#: remote.c:347
msgid "Remote control test - press and hold down any key"
msgstr "Test zdalnego sterowania - nacisnij i przytrzymaj dowolny klawisz"
-#: remote.c:350
+#: remote.c:366
msgid "RC5 protocol detected"
msgstr "Wykryto protokol RC5"
-#: remote.c:374
+#: remote.c:390
msgid "RC5 protocol detected (inverted signal)"
msgstr "Wykryto protokol RC5 (sygnal odwrocony)"
-#: remote.c:385
+#: remote.c:401
msgid "RCMM protocol detected"
msgstr "Wykryto protokol RCMM"
-#: remote.c:396
+#: remote.c:412
msgid "RCMM protocol detected (inverted signal)"
msgstr "Wykryto protokol RCMM (sygnal odwrocony)"
-#: remote.c:404
+#: remote.c:420
msgid "No remote control detected"
msgstr "Nie znaleziono zdalnego sterowania"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/po/ru_RU.po new/remote-0.5.0/po/ru_RU.po
--- old/remote-0.4.0/po/ru_RU.po 2007-10-06 01:02:09.000000000 +0200
+++ new/remote-0.5.0/po/ru_RU.po 2012-12-26 04:12:47.000000000 +0100
@@ -7,55 +7,56 @@
msgstr ""
"Project-Id-Version: Remote Control plugin 0.4.0\n"
"Report-Msgid-Bugs-To: <o.endriss(a)gmx.de>\n"
-"POT-Creation-Date: 2007-10-06 01:02+0200\n"
+"POT-Creation-Date: 2012-05-27 17:56+0200\n"
"PO-Revision-Date: 2007-10-05 06:58+0200\n"
"Last-Translator: Waldemar Nikel, 2006\n"
"Language-Team: <vdr(a)linuxtv.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-5\n"
"Content-Transfer-Encoding: 8bit\n"
-#: remote.c:38
+#: remote.c:52
msgid "Remote control"
msgstr "����� ����������"
-#: remote.c:217 remote.c:761
+#: remote.c:233 remote.c:777
#, c-format
msgid "%s: %s"
msgstr "%s: %s"
-#: remote.c:239
+#: remote.c:255
msgid "Error uploading keymap"
msgstr "������ ��� �������� ���������"
-#: remote.c:320
+#: remote.c:336
msgid "Press any key to use pre-loaded keymap"
msgstr "������� ����� ������ ��� ������������� ����� ���������� ���������"
-#: remote.c:325
+#: remote.c:341
msgid "User-supplied keymap will be used"
msgstr "����� �������������� ��������� ������������"
-#: remote.c:331
+#: remote.c:347
msgid "Remote control test - press and hold down any key"
msgstr "�������� ������ - ������� � �������� ����� ������"
-#: remote.c:350
+#: remote.c:366
msgid "RC5 protocol detected"
msgstr "������� �������� RC5"
-#: remote.c:374
+#: remote.c:390
msgid "RC5 protocol detected (inverted signal)"
msgstr "������� �������� RC5 (� ��������������� �������)"
-#: remote.c:385
+#: remote.c:401
msgid "RCMM protocol detected"
msgstr "������� �������� RCMM"
-#: remote.c:396
+#: remote.c:412
msgid "RCMM protocol detected (inverted signal)"
msgstr "������� �������� RCMM (� ��������������� �������)"
-#: remote.c:404
+#: remote.c:420
msgid "No remote control detected"
msgstr "����� ���������� �� �������"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/remote.c new/remote-0.5.0/remote.c
--- old/remote-0.4.0/remote.c 2007-10-06 01:23:21.000000000 +0200
+++ new/remote-0.5.0/remote.c 2012-12-26 02:50:33.000000000 +0100
@@ -3,7 +3,22 @@
*
* remote.c: main source file
*
- * See the README file for copyright information and how to reach the author.
+ * Copyright (C) 2002-2012 Oliver Endriss <o.endriss(a)gmx.de>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*/
@@ -21,7 +36,6 @@
#ifdef REMOTE_FEATURE_TCPIP
#include "remotetcp.h"
#endif
-#include "ttystatus.h"
#define NUMREMOTES 10 // maximum number of remote control devices
@@ -34,7 +48,7 @@
#define AV7110_PARM_INVERSION "/sys/module/dvb_ttpci/parameters/ir_inversion"
#endif
-static const char *VERSION = "0.4.0";
+static const char *VERSION = "0.5.0";
static const char *DESCRIPTION = trNOOP("Remote control");
@@ -65,6 +79,8 @@
bool cRemoteGeneric::Put(uint64_t Code, bool Repeat, bool Release)
// ---------------------------------------------------------------------------
{
+ //printf("%s: code %llx repeat %u release %u\n",
+ // __func__, Code, Repeat, Release);
return cRemote::Put(Code, Repeat, Release);
}
@@ -209,7 +225,7 @@
uint16_t keymap[2+256];
int n;
- fh = open(devname, O_RDWR);
+ fh = open(devname, O_WRONLY);
if (fh < 0)
{
int err = errno;
@@ -308,7 +324,7 @@
// load keymap for full-featured cards
if (identifyInputDevice(fh, device) == 1)
{
- char *kDevname = AV7110_KEYMAP_DEVICE;
+ const char *kDevname = AV7110_KEYMAP_DEVICE;
uint32_t kOptions;
int kAddr = -1;
int i, n;
@@ -675,7 +691,7 @@
if (devcnt == 0)
{
devtyp[0] = 'i';
- devnam[0] = "autodetect";
+ devnam[0] = (char *) "autodetect";
devcnt = 1;
}
@@ -717,7 +733,7 @@
// use default device if nothing could be identified
if (devtyp[i] == 'i' && strcmp(devnam[i], "autodetect") == 0)
- devnam[i] = "/dev/input/ir";
+ devnam[i] = (char *) "/dev/input/ir";
} // for i
for (int i = 0; i < devcnt; i++)
@@ -790,8 +806,9 @@
break;
#endif
case 'T':
- new cTtyStatus(fh[i]);
- // fall thru
+ new cRemoteDevTtyWithOsd(nam,fh[i],devnam[i]);
+ break;
+
case 't':
new cRemoteDevTty(nam,fh[i],devnam[i]);
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/remote.h new/remote-0.5.0/remote.h
--- old/remote-0.4.0/remote.h 2006-12-03 16:10:16.000000000 +0100
+++ new/remote-0.5.0/remote.h 2012-12-26 02:49:44.000000000 +0100
@@ -3,16 +3,31 @@
*
* remote.h: input/lirc/tty remote control
*
- * See the README file for copyright information and how to reach the author.
+ * Copyright (C) 2002-2012 Oliver Endriss <o.endriss(a)gmx.de>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*/
#ifndef __PLUGIN_REMOTE_H
#define __PLUGIN_REMOTE_H
-
#include <vdr/remote.h>
#include <vdr/thread.h>
+#include "ttystatus.h"
//#define DEBUG
@@ -113,5 +128,13 @@
virtual ~cRemoteDevTty();
};
+/*****************************************************************************/
+class cRemoteDevTtyWithOsd : protected cRemoteDevTty, protected cTtyStatus
+/*****************************************************************************/
+{
+public:
+ cRemoteDevTtyWithOsd(const char *name, int f, char *d)
+ :cRemoteDevTty(name, f, d), cTtyStatus(f) {}
+};
#endif // __PLUGIN_REMOTE_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/remotetcp.c new/remote-0.5.0/remotetcp.c
--- old/remote-0.4.0/remotetcp.c 2006-12-03 15:41:50.000000000 +0100
+++ new/remote-0.5.0/remotetcp.c 2012-12-26 02:50:40.000000000 +0100
@@ -1,15 +1,29 @@
/*
- * Remote Plugin for the Video Disk Recorder
+ * Remote Control plugin for the Video Disk Recorder
*
* remotetcp.c: tcp/telnet remote control
*
- * See the README file for copyright information and how to reach the author.
+ * Copyright (C) 2002-2012 Oliver Endriss <o.endriss(a)gmx.de>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*/
#include "remote.h"
#include "remotetcp.h"
-#include "ttystatus.h"
cTcpRemote::cTcpRemote(const char *name, int f, char *d)
@@ -26,7 +40,10 @@
Cancel();
if (cstatus)
+ {
delete cstatus;
+ cstatus = NULL;
+ }
if (fh != -1)
close(fh);
@@ -84,8 +101,11 @@
if (key == INVALID_KEY)
{
- delete cstatus;
- cstatus = NULL;
+ if (cstatus)
+ {
+ delete cstatus;
+ cstatus = NULL;
+ }
close(fh);
fh = -1;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/remotetcp.h new/remote-0.5.0/remotetcp.h
--- old/remote-0.4.0/remotetcp.h 2006-12-03 15:43:23.000000000 +0100
+++ new/remote-0.5.0/remotetcp.h 2012-12-26 02:49:51.000000000 +0100
@@ -1,9 +1,24 @@
/*
- * Remote plugin for the Video Disk Recorder
+ * Remote Control plugin for the Video Disk Recorder
*
* remotetcp.h: tcp/telnet remote control
*
- * See the README file for copyright information and how to reach the author.
+ * Copyright (C) 2002-2012 Oliver Endriss <o.endriss(a)gmx.de>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*/
@@ -13,7 +28,6 @@
#include <vdr/svdrp.h>
#include "remote.h"
-#include "ttystatus.h"
/****************************************************************************/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/ttystatus.c new/remote-0.5.0/ttystatus.c
--- old/remote-0.4.0/ttystatus.c 2006-09-02 19:06:23.000000000 +0200
+++ new/remote-0.5.0/ttystatus.c 2012-12-26 02:50:48.000000000 +0100
@@ -1,9 +1,24 @@
/*
- * Remote Plugin for the Video Disk Recorder
+ * Remote Control plugin for the Video Disk Recorder
*
* ttystatus.c: tty osd emulation
*
- * See the README file for copyright information and how to reach the author.
+ * Copyright (C) 2002-2012 Oliver Endriss <o.endriss(a)gmx.de>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remote-0.4.0/ttystatus.h new/remote-0.5.0/ttystatus.h
--- old/remote-0.4.0/ttystatus.h 2006-01-09 17:35:01.000000000 +0100
+++ new/remote-0.5.0/ttystatus.h 2012-12-26 02:49:59.000000000 +0100
@@ -1,9 +1,24 @@
/*
- * Remote plugin for the Video Disk Recorder
+ * Remote Control plugin for the Video Disk Recorder
*
* ttystatus.h: tty osd emulation
*
- * See the README file for copyright information and how to reach the author.
+ * Copyright (C) 2002-2012 Oliver Endriss <o.endriss(a)gmx.de>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ * Or, point your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*/
--
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 vdr-plugin-epgsearch for openSUSE:Factory checked in at 2014-04-22 11:55:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vdr-plugin-epgsearch (Old)
and /work/SRC/openSUSE:Factory/.vdr-plugin-epgsearch.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vdr-plugin-epgsearch"
Changes:
--------
--- /work/SRC/openSUSE:Factory/vdr-plugin-epgsearch/vdr-plugin-epgsearch.changes 2013-03-08 09:55:29.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.vdr-plugin-epgsearch.new/vdr-plugin-epgsearch.changes 2014-04-22 11:55:45.000000000 +0200
@@ -1,0 +2,12 @@
+Sun Mar 30 11:45:29 UTC 2014 - seife+obs(a)b1-systems.com
+
+- avoid putting build time into locale files, causing republishing
+
+-------------------------------------------------------------------
+Sat Mar 29 21:19:47 UTC 2014 - seife+obs(a)b1-systems.com
+
+- upate to version 1.0.1.beta5
+ * new Makefile style allows easier build
+ * other changes and bugfixes, see HISTORY file
+
+-------------------------------------------------------------------
Old:
----
vdr-epgsearch-1.0.0.tgz
New:
----
vdr-epgsearch-1.0.1.beta5.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vdr-plugin-epgsearch.spec ++++++
--- /var/tmp/diff_new_pack.qT0i7B/_old 2014-04-22 11:55:45.000000000 +0200
+++ /var/tmp/diff_new_pack.qT0i7B/_new 2014-04-22 11:55:45.000000000 +0200
@@ -1,8 +1,8 @@
#
# spec file for package vdr-plugin-epgsearch
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# Copyright (c) 2012 B1 Systems GmbH, Vohburg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 B1 Systems GmbH, Vohburg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
#
-%define pluginversion 1.0.0
+%define pluginversion 1.0.1.beta5
%define pluginname epgsearch
-%define pluginurl http://winni.vdr-developer.org/epgsearch/downloads/vdr-epgsearch-%{pluginve…
+%define pluginurl http://winni.vdr-developer.org/epgsearch/downloads/beta/vdr-epgsearch-%{plu…
#
%define plugindir %pluginname-%pluginversion
%define plugintarball vdr-%pluginname-%pluginversion.tgz
@@ -54,17 +54,12 @@
rm -f scripts/*~
%build
-%vdr_make
+# use msgmerge wrapper
+export PATH=%{_datadir}/vdr:$PATH
+make %{?_smp_mflags}
%install
-install -d -m 755 %{buildroot}%{_bindir}
-install -m 755 createcats %{buildroot}%{_bindir}
-install -d -m 755 %{buildroot}%{vdr_sysconfdir}/plugins/epgsearch
-install -m 644 conf/* %{buildroot}%{vdr_sysconfdir}/plugins/epgsearch
-#
-%vdr_install_plugin %pluginname conflictcheckonly epgsearchonly quickepgsearch
-%vdr_install_plugin_locale
-#
+make DESTDIR=%{buildroot} install
%find_lang vdr-%pluginname
%clean
@@ -72,13 +67,14 @@
%files -f vdr-%pluginname.lang
%defattr(-,root,root)
-%doc doc conf scripts COPYING HISTORY
+%doc COPYING HISTORY HISTORY.DE MANUAL README README.DE README.Translators
+%doc conf scripts
%{vdr_libdir}/*
+%attr(-,vdr,root) %dir %{vdr_sysconfdir}/plugins
%attr(-,vdr,root) %dir %{vdr_sysconfdir}/plugins/epgsearch
%attr(-,vdr,root) %config(noreplace) %{vdr_sysconfdir}/plugins/epgsearch/*
%{_bindir}/createcats
-# hack, until new enough VDR owns all these
-%dir %vdr_localedir/*
-%dir %vdr_localedir/*/LC_MESSAGES/
+%doc /usr/share/man/de/man*/*
+%doc /usr/share/man/man*/*
%changelog
--
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 cross-x86_64-gcc49 for openSUSE:Factory checked in at 2014-04-22 11:55:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cross-x86_64-gcc49 (Old)
and /work/SRC/openSUSE:Factory/.cross-x86_64-gcc49.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cross-x86_64-gcc49"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_link
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
<link package="gcc49" cicount="copy" />
--
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 cross-ppc64le-gcc49 for openSUSE:Factory checked in at 2014-04-22 11:55:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cross-ppc64le-gcc49 (Old)
and /work/SRC/openSUSE:Factory/.cross-ppc64le-gcc49.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cross-ppc64le-gcc49"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_link
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
<link package="gcc49" cicount="copy" />
--
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 cross-ppc-gcc49 for openSUSE:Factory checked in at 2014-04-22 11:55:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cross-ppc-gcc49 (Old)
and /work/SRC/openSUSE:Factory/.cross-ppc-gcc49.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cross-ppc-gcc49"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_link
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
<link package="gcc49" cicount="copy" />
--
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 cross-i386-gcc49 for openSUSE:Factory checked in at 2014-04-22 11:55:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cross-i386-gcc49 (Old)
and /work/SRC/openSUSE:Factory/.cross-i386-gcc49.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cross-i386-gcc49"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_link
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
<link package="gcc49" cicount="copy" />
--
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 flash-player for openSUSE:13.1:NonFree:Update checked in at 2014-04-22 11:54:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:NonFree:Update/flash-player (Old)
and /work/SRC/openSUSE:13.1:NonFree:Update/.flash-player.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "flash-player"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.DGFbn7/_old 2014-04-22 11:54:53.000000000 +0200
+++ /var/tmp/diff_new_pack.DGFbn7/_new 2014-04-22 11:54:53.000000000 +0200
@@ -1 +1 @@
-<link package='flash-player.2644' cicount='copy' />
+<link package='flash-player.2732' cicount='copy' />
--
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 flash-player for openSUSE:12.3:NonFree:Update checked in at 2014-04-22 11:54:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:NonFree:Update/flash-player (Old)
and /work/SRC/openSUSE:12.3:NonFree:Update/.flash-player.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "flash-player"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.x9axG2/_old 2014-04-22 11:54:50.000000000 +0200
+++ /var/tmp/diff_new_pack.x9axG2/_new 2014-04-22 11:54:50.000000000 +0200
@@ -1 +1 @@
-<link package='flash-player.2644' cicount='copy' />
+<link package='flash-player.2732' cicount='copy' />
--
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 cross-aarch64-gcc49 for openSUSE:Factory checked in at 2014-04-22 11:54:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cross-aarch64-gcc49 (Old)
and /work/SRC/openSUSE:Factory/.cross-aarch64-gcc49.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cross-aarch64-gcc49"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_link
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
<link package="gcc49" cicount="copy" />
--
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 gcc49 for openSUSE:Factory checked in at 2014-04-22 11:54:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc49 (Old)
and /work/SRC/openSUSE:Factory/.gcc49.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc49"
Changes:
--------
New Changes file:
--- /dev/null 2014-04-17 09:46:44.096034755 +0200
+++ /work/SRC/openSUSE:Factory/.gcc49.new/cross-aarch64-gcc49.changes 2014-04-22 11:54:38.000000000 +0200
@@ -0,0 +1,83 @@
+-------------------------------------------------------------------
+Mon Apr 14 08:29:37 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc 4.9.0 RC1.
+
+-------------------------------------------------------------------
+Mon Apr 7 09:14:13 UTC 2014 - rguenther(a)suse.com
+
+- Update to SVN trunk head (r209179).
+ * obsoletes gcc49-pr59626.patch
+- tls-no-direct.diff, only affect %ix86.
+- Drop old compatibility provide and conflict of/with libgcc%{libgcc_s}
+
+-------------------------------------------------------------------
+Mon Mar 31 10:17:53 UTC 2014 - rguenther(a)suse.com
+
+- Update to SVN trunk head (r208978).
+- Enable cross compilers (and icecream backends), compared to GCC 4.8
+ packages drop hppa and ia64 from the list of targets.
+- gcc49-pr60720.patch, fix LTO ICEs with mismatched decl references
+ in global initializers.
+
+-------------------------------------------------------------------
+Tue Mar 25 08:49:26 UTC 2014 - rguenther(a)suse.com
+
+- Update to SVN trunk head (r208807).
+- Use power7 code generation only for ppc64le.
+- gcc49-pr59626.patch, fix indirectly calling _FORTIFY_SOURCE wrappers
+ with LTO.
+
+-------------------------------------------------------------------
+Fri Mar 21 09:35:08 UTC 2014 - rguenther(a)suse.com
+
+- Update to SVN trunk head (r208745).
+
+-------------------------------------------------------------------
+Thu Mar 13 15:18:38 UTC 2014 - rguenther(a)suse.com
+
+- Update to SVN trunk head (r208538).
+- Change -Wunprototyped-calls from being enabled by default to be
+ enabled with -Wall to solve GCC testsuite fallout.
+
+-------------------------------------------------------------------
+Fri Feb 28 13:11:38 UTC 2014 - rguenther(a)suse.com
+
+- Update to SVN trunk head (r208221).
+- Fix typo in libgcj_bc suffix computation.
+
+-------------------------------------------------------------------
+Wed Feb 26 09:35:45 UTC 2014 - rguenther(a)suse.com
+
+- Update to SVN trunk head (r208170).
+ * includes now obsolete gcc49-libjava-install.patch
+- Disable building libvtv, it's not useful unless we instrument
+ libstdc++.
+
+-------------------------------------------------------------------
+Wed Feb 19 13:02:03 UTC 2014 - rguenther(a)suse.com
+
+- New package, inherits from gcc48
+ * gcc-dir-version.patch, drop patchlevel from install directory names
+ * gcc-sles-version.patch, do not print (prerelease) with --version
+ but drop patchlevel by one
+ * gcc-add-defaultsspec.diff, add the ability to provide a specs file
+ that is read by default
+ * Wunprototyped-calls.diff, new warning to warn about calls to functions
+ without seeing a real prototype earlier
+ * libjava-no-multilib.diff, do not build multilibs for libjava even on
+ multilib systems (we use baselibs for it)
+ * tls-no-direct.diff, avoid direct %fs references on x86 to not slow down
+ Xen
+ * gcc43-no-unwind-tables.diff, do not produce unwind tables for CRT files
+ * gcc41-ia64-stack-protector.patch, stack protector support for IA64
+ * gcc41-java-slow_pthread_self.patch, force us to assume pthread_self
+ is fast
+ * gcc41-ppc32-retaddr.patch, fix expansion of __builtin_return_addr for ppc
+ * gcc44-textdomain.patch, make translation files version specific and
+ adjust textdomain to find them
+ * gcc44-rename-info-files.patch, fix cross-references in info files when
+ renaming them to be version specific
+- Adds the following patches
+ * gcc49-libjava-install.patch, fix PR60261
+
New Changes file:
cross-armv6hl-gcc49.changes: same change
New Changes file:
cross-armv7hl-gcc49.changes: same change
New Changes file:
cross-i386-gcc49.changes: same change
New Changes file:
cross-ppc-gcc49.changes: same change
New Changes file:
cross-ppc64-gcc49.changes: same change
New Changes file:
cross-ppc64le-gcc49.changes: same change
New Changes file:
cross-s390-gcc49.changes: same change
New Changes file:
cross-s390x-gcc49.changes: same change
New Changes file:
cross-x86_64-gcc49.changes: same change
--- /work/SRC/openSUSE:Factory/gcc49/gcc49-testresults.changes 2014-03-22 09:07:07.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gcc49.new/gcc49-testresults.changes 2014-04-22 11:54:41.000000000 +0200
@@ -1,0 +2,30 @@
+Mon Apr 14 08:29:37 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc 4.9.0 RC1.
+
+-------------------------------------------------------------------
+Mon Apr 7 09:14:13 UTC 2014 - rguenther(a)suse.com
+
+- Update to SVN trunk head (r209179).
+ * obsoletes gcc49-pr59626.patch
+- tls-no-direct.diff, only affect %ix86.
+- Drop old compatibility provide and conflict of/with libgcc%{libgcc_s}
+
+-------------------------------------------------------------------
+Mon Mar 31 10:17:53 UTC 2014 - rguenther(a)suse.com
+
+- Update to SVN trunk head (r208978).
+- Enable cross compilers (and icecream backends), compared to GCC 4.8
+ packages drop hppa and ia64 from the list of targets.
+- gcc49-pr60720.patch, fix LTO ICEs with mismatched decl references
+ in global initializers.
+
+-------------------------------------------------------------------
+Tue Mar 25 08:49:26 UTC 2014 - rguenther(a)suse.com
+
+- Update to SVN trunk head (r208807).
+- Use power7 code generation only for ppc64le.
+- gcc49-pr59626.patch, fix indirectly calling _FORTIFY_SOURCE wrappers
+ with LTO.
+
+-------------------------------------------------------------------
gcc49.changes: same change
libffi49.changes: same change
libgcj49.changes: same change
Old:
----
gcc-4.9.0-r208745.tar.bz2
New:
----
cross-aarch64-gcc49.changes
cross-aarch64-gcc49.spec
cross-armv6hl-gcc49.changes
cross-armv6hl-gcc49.spec
cross-armv7hl-gcc49.changes
cross-armv7hl-gcc49.spec
cross-i386-gcc49.changes
cross-i386-gcc49.spec
cross-ppc-gcc49.changes
cross-ppc-gcc49.spec
cross-ppc64-gcc49.changes
cross-ppc64-gcc49.spec
cross-ppc64le-gcc49.changes
cross-ppc64le-gcc49.spec
cross-s390-gcc49.changes
cross-s390-gcc49.spec
cross-s390x-gcc49.changes
cross-s390x-gcc49.spec
cross-x86_64-gcc49.changes
cross-x86_64-gcc49.spec
gcc-4.9.0-r209354.tar.bz2
gcc49-pr60720.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cross-aarch64-gcc49.spec ++++++
#
# spec file for package cross-aarch64-gcc49
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pkgname cross-aarch64-gcc49
%define cross_arch aarch64
%define gcc_target_arch aarch64-suse-linux
%define gcc_icecream 1
#
# spec file for package gcc (Version 4.0.1)
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#
%define build_cp 1
%define build_ada 0
%define build_libjava 0
%define build_java 0
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
%define build_go 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%define canonical_target_abi -gnueabi
%endif
%if 0%{?gcc_icecream:1}
%define build_sysroot /
%endif
Name: %{pkgname}
BuildRequires: bison
BuildRequires: cross-%{binutils_target}-binutils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext-devel
BuildRequires: glibc-devel-32bit
BuildRequires: mpc-devel
BuildRequires: mpfr-devel
BuildRequires: perl
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: cloog-isl-devel
BuildRequires: isl-devel
%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
%if 0%{!?gcc_icecream:1}
BuildRequires: cross-%cross_arch-glibc-devel
%endif
ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
%define _binary_payload w.ufdio
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define gcc_snapshot_revision %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/+/-/')
%define binsuffix -4.9
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: gcc-%{gcc_version}%{gcc_snapshot_revision}.tar.bz2
Source1: change_spec
Source2: libffi49-rpmlintrc
Source3: gcc49-rpmlintrc
Source4: ecj.jar
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
#testpatch begin
Patch1: gcc-dir-version.patch
Patch7: gcc-add-defaultsspec.diff
Patch8: Wunprototyped-calls.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
Patch57: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
%description
Core package for the GNU Compiler Collection, including the C language
frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
gcc-obj-c++.
# Define the canonical target and host architecture
# %gcc_target_arch is supposed to be the full target triple
# %cross_arch is supposed to be the rpm target variant arch
# %TARGET_ARCH will be the canonicalized target CPU part
# %HOST_ARCH will be the canonicalized host CPU part
%if 0%{?gcc_target_arch:1}
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%else
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%endif
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%ifarch ppc
%define GCCDIST powerpc64-suse-linux
%else
%ifarch %sparc
%define GCCDIST sparc64-suse-linux
%else
%ifarch %arm
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
%else
%define GCCDIST %{HOST_ARCH}-suse-linux
%endif
%endif
%endif
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
%prep
%setup -q -n gcc-%{gcc_version}%{gcc_snapshot_revision}
#test patching start
%patch1
%patch7
%patch8
%patch23
%patch24
%patch30
%patch33
%patch51
%patch55
%patch57
%patch60
%patch61
#test patching end
# We are configuring ppc as ppc64 but with switched multilibs. Adjust
# the libstdc++ abi testsuite baseline files accordingly
%ifarch ppc
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
fi
%endif
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
# Avoid fucking up testsuite results with Java and indirect dispatch
export SUSE_ASNEEDED=0
# Split version file into version used for directories (X.Y) and
# version to report with --version (X.Y.Z).
# See also gcc-dir-version.patch.
# Also decrement the patchlevel version by one if possible and remove
# the 'prerelease' tagging in this case
if test `cat gcc/DEV-PHASE` == "prerelease"; then
if test `cat gcc/BASE-VER | cut -d '.' -f 3` != "0"; then
: > gcc/DEV-PHASE
fi
( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER
else
mv gcc/BASE-VER gcc/FULL-VER
fi
cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
rm -rf obj-%{GCCDIST}
mkdir obj-%{GCCDIST}
cd obj-%{GCCDIST}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
%ifarch %ix86
# -mcpu is superceded by -mtune but -mtune is not supported by
# our bootstrap compiler. -mcpu gives a warning that stops
# the build process, so remove it for now. Also remove all other
# -march and -mtune flags. They are superseeded by proper
# default compiler settings now.
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
%endif
%ifarch s390 s390x
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
%endif
%if 0%{?gcc_target_arch:1}
# Kill all -march/tune/cpu because that screws building the target libs
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
%endif
# Replace 2 spaces by one finally
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
languages=c
%if %{build_cp}
languages=$languages,c++
%endif
%if %{build_objc}
languages=$languages,objc
%endif
%if %{build_fortran}
languages=$languages,fortran
%endif
%if %{build_objcp}
languages=$languages,obj-c++
%endif
%if %{build_java}
languages=$languages,java
%endif
%if %{build_ada}
languages=$languages,ada
%endif
%if %{build_go}
languages=$languages,go
%endif
J=%{?jobs:%jobs}
if test -z "$J"; then
J=$(getconf _NPROCESSORS_CONF)
JL=$(($J * 2))
else
test 1 -gt "$J" && J=1
JL=$(($(getconf _NPROCESSORS_CONF)*2))
fi
if test "$J" == "0"; then
J=1
fi
if test "$JL" == "0"; then
JL=1
fi
PARALLEL="-j$J -l$JL"
# we don't want some miscompiles in the testsuite, or some fault in
# the compiler to kill the machine. Hence we limit the amount of memory
# by the physical RAM plus half of swap
#MEM=$(free -m | awk '/^Mem:/ {print $2}')
#SWAP=$(free -m | awk '/^Swap:/ {print $2}')
#ulimit -v $(((MEM + SWAP/2)*1024))
# In general we want to ship release checking enabled compilers
# and run BETA with checking enabled.
ENABLE_CHECKING="--enable-checking=yes"
#ENABLE_CHECKING="--enable-checking=release"
# Work around tail/head -1 changes
export _POSIX2_VERSION=199209
%if %{build_ada}
# Using the host gnatmake like
# CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
# GNATMAKE="gnatmake%{hostsuffix}"
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
# available
mkdir -p host-tools/bin
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
ln -sf /usr/%{_lib} host-tools/%{_lib}
export PATH="`pwd`/host-tools/bin:$PATH"
%endif
#%if 0%{?gcc_target_arch:1}
#%else
# --enable-threads=posix \
#%endif
# --enable-shared \
%if "%{TARGET_ARCH}" == "armv7hl"
# temporary workaround for a miscompilation of hash functions in java code
GCJ_EXTRA_FLAGS="-marm"
%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
--enable-languages=$languages \
$ENABLE_CHECKING \
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
--enable-ssp \
--disable-libssp \
%if 0%{!?build_libvtv:1}
--disable-libvtv \
%endif
--disable-plugin \
--with-bugurl="http://bugs.opensuse.org/" \
--with-pkgversion="SUSE Linux" \
%if !%{build_libjava}
--disable-libgcj \
%else
--with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
--with-ecj-jar=%{libsubdir}/ecj.jar \
--disable-java-awt \
%if !%{biarch_libjava}
--disable-libjava-multilib \
%endif
%endif
--with-slibdir=/%{_lib} \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
--disable-libstdcxx-pch \
--enable-version-specific-runtime-libs \
%if 0%{suse_version} > 1100
--enable-linker-build-id \
%endif
--enable-linux-futex \
--program-suffix=%{binsuffix} \
%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
--without-system-libunwind \
%endif
%endif
%if 0%{?gcc_target_arch:1}
--program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
--with-sysroot=%sysroot \
%else
--with-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%if 0%{?build_sysroot:1}
--with-build-sysroot=%{build_sysroot} \
%else
%if 0%{?sysroot:1}
--with-build-sysroot=%{sysroot} \
%else
--with-build-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%endif
%if 0%{?canonical_target:1}
--with-build-time-tools=/usr/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
--with-newlib \
%endif
%endif
%if "%{TARGET_ARCH}" == "armv5tel"
--with-arch=armv5te \
--with-float=soft \
--with-mode=arm \
--with-abi=aapcs-linux \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv6hl"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"
--with-arch=armv7-a \
--with-tune=cortex-a15 \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
%if "%{TARGET_ARCH}" == "powerpc64le"
--with-cpu=power7 \
%else
--with-cpu-64=power4 \
%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
--disable-multilib \
%endif
%endif
%if "%{TARGET_ARCH}" == "sparc64"
--with-cpu=ultrasparc \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "sparc"
--with-cpu=v8 \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "i586"
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "x86_64"
--enable-multilib \
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "s390"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "s390x"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "m68k"
--disable-multilib \
%endif
--build=%{GCCDIST} \
--host=%{GCCDIST}
%if 0%{!?gcc_icecream:1}
make %{?jobs:-j%jobs}
%else
make %{?jobs:-j%jobs} all-host
%endif
%package -n cross-%cross_arch-gcc49-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc49-icecream-backend
This package contains the icecream environment for the GNU C Compiler
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
%install
cd obj-%{GCCDIST}
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
# with the present setup fixincludes are for the build includes which
# is wrong - get rid of them
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed
rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la
# common fixup
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
# remove docs
rm -rf $RPM_BUILD_ROOT%{_mandir}
rm -rf $RPM_BUILD_ROOT%{_infodir}
# install and fixup target parts
# ??? don't do this - debugedit is not prepared for this and crashes
# so expect the sysroot to be populated from natively built binaries
#%if 0%{?sysroot:1}
#make DESTDIR=$RPM_BUILD_ROOT/%{sysroot} install-target
#%else
#make DESTDIR=$RPM_BUILD_ROOT/%{_prefix}/%{gcc_target_arch} install-target
#%endif
# Build an icecream environment
# The assembler comes from the cross-binutils, and hence is _not_
# named funnily, not even on ppc, so there we need the original target
install -s -D %{_prefix}/bin/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}-as \
$RPM_BUILD_ROOT/env/usr/bin/as
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/g++
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so
fi
# Make sure to also pull in all shared library requirements for the
# binaries we put into the environment which is operated by chrooting
# into it and execing the compiler
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
done | sort -u `
for lib in $libs; do
# Check wether the same library also exists in the parent directory,
# and prefer that on the assumption that it is a more generic one.
baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'`
test -f "$baselib" && lib=$baselib
install -s -D $lib $RPM_BUILD_ROOT/env$lib
done
cd $RPM_BUILD_ROOT/env
tar cvzf ../%{name}_%{_arch}.tar.gz *
cd ..
mkdir -p usr/share/icecream-envs
mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs
rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc
rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils
rm -r env
%files
%defattr(-,root,root)
%{_prefix}/bin
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%files -n cross-%cross_arch-gcc49-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
%changelog
++++++ cross-armv6hl-gcc49.spec ++++++
#
# spec file for package cross-armv6hl-gcc49
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pkgname cross-armv6hl-gcc49
%define cross_arch armv6hl
%define gcc_target_arch armv6hl-suse-linux-gnueabi
%define gcc_icecream 1
#
# spec file for package gcc (Version 4.0.1)
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#
%define build_cp 1
%define build_ada 0
%define build_libjava 0
%define build_java 0
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
%define build_go 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%define canonical_target_abi -gnueabi
%endif
%if 0%{?gcc_icecream:1}
%define build_sysroot /
%endif
Name: %{pkgname}
BuildRequires: bison
BuildRequires: cross-%{binutils_target}-binutils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext-devel
BuildRequires: glibc-devel-32bit
BuildRequires: mpc-devel
BuildRequires: mpfr-devel
BuildRequires: perl
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: cloog-isl-devel
BuildRequires: isl-devel
%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
%if 0%{!?gcc_icecream:1}
BuildRequires: cross-%cross_arch-glibc-devel
%endif
ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
%define _binary_payload w.ufdio
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define gcc_snapshot_revision %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/+/-/')
%define binsuffix -4.9
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: gcc-%{gcc_version}%{gcc_snapshot_revision}.tar.bz2
Source1: change_spec
Source2: libffi49-rpmlintrc
Source3: gcc49-rpmlintrc
Source4: ecj.jar
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
#testpatch begin
Patch1: gcc-dir-version.patch
Patch7: gcc-add-defaultsspec.diff
Patch8: Wunprototyped-calls.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
Patch57: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
%description
Core package for the GNU Compiler Collection, including the C language
frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
gcc-obj-c++.
# Define the canonical target and host architecture
# %gcc_target_arch is supposed to be the full target triple
# %cross_arch is supposed to be the rpm target variant arch
# %TARGET_ARCH will be the canonicalized target CPU part
# %HOST_ARCH will be the canonicalized host CPU part
%if 0%{?gcc_target_arch:1}
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%else
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%endif
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%ifarch ppc
%define GCCDIST powerpc64-suse-linux
%else
%ifarch %sparc
%define GCCDIST sparc64-suse-linux
%else
%ifarch %arm
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
%else
%define GCCDIST %{HOST_ARCH}-suse-linux
%endif
%endif
%endif
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
%prep
%setup -q -n gcc-%{gcc_version}%{gcc_snapshot_revision}
#test patching start
%patch1
%patch7
%patch8
%patch23
%patch24
%patch30
%patch33
%patch51
%patch55
%patch57
%patch60
%patch61
#test patching end
# We are configuring ppc as ppc64 but with switched multilibs. Adjust
# the libstdc++ abi testsuite baseline files accordingly
%ifarch ppc
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
fi
%endif
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
# Avoid fucking up testsuite results with Java and indirect dispatch
export SUSE_ASNEEDED=0
# Split version file into version used for directories (X.Y) and
# version to report with --version (X.Y.Z).
# See also gcc-dir-version.patch.
# Also decrement the patchlevel version by one if possible and remove
# the 'prerelease' tagging in this case
if test `cat gcc/DEV-PHASE` == "prerelease"; then
if test `cat gcc/BASE-VER | cut -d '.' -f 3` != "0"; then
: > gcc/DEV-PHASE
fi
( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER
else
mv gcc/BASE-VER gcc/FULL-VER
fi
cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
rm -rf obj-%{GCCDIST}
mkdir obj-%{GCCDIST}
cd obj-%{GCCDIST}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
%ifarch %ix86
# -mcpu is superceded by -mtune but -mtune is not supported by
# our bootstrap compiler. -mcpu gives a warning that stops
# the build process, so remove it for now. Also remove all other
# -march and -mtune flags. They are superseeded by proper
# default compiler settings now.
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
%endif
%ifarch s390 s390x
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
%endif
%if 0%{?gcc_target_arch:1}
# Kill all -march/tune/cpu because that screws building the target libs
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
%endif
# Replace 2 spaces by one finally
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
languages=c
%if %{build_cp}
languages=$languages,c++
%endif
%if %{build_objc}
languages=$languages,objc
%endif
%if %{build_fortran}
languages=$languages,fortran
%endif
%if %{build_objcp}
languages=$languages,obj-c++
%endif
%if %{build_java}
languages=$languages,java
%endif
%if %{build_ada}
languages=$languages,ada
%endif
%if %{build_go}
languages=$languages,go
%endif
J=%{?jobs:%jobs}
if test -z "$J"; then
J=$(getconf _NPROCESSORS_CONF)
JL=$(($J * 2))
else
test 1 -gt "$J" && J=1
JL=$(($(getconf _NPROCESSORS_CONF)*2))
fi
if test "$J" == "0"; then
J=1
fi
if test "$JL" == "0"; then
JL=1
fi
PARALLEL="-j$J -l$JL"
# we don't want some miscompiles in the testsuite, or some fault in
# the compiler to kill the machine. Hence we limit the amount of memory
# by the physical RAM plus half of swap
#MEM=$(free -m | awk '/^Mem:/ {print $2}')
#SWAP=$(free -m | awk '/^Swap:/ {print $2}')
#ulimit -v $(((MEM + SWAP/2)*1024))
# In general we want to ship release checking enabled compilers
# and run BETA with checking enabled.
ENABLE_CHECKING="--enable-checking=yes"
#ENABLE_CHECKING="--enable-checking=release"
# Work around tail/head -1 changes
export _POSIX2_VERSION=199209
%if %{build_ada}
# Using the host gnatmake like
# CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
# GNATMAKE="gnatmake%{hostsuffix}"
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
# available
mkdir -p host-tools/bin
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
ln -sf /usr/%{_lib} host-tools/%{_lib}
export PATH="`pwd`/host-tools/bin:$PATH"
%endif
#%if 0%{?gcc_target_arch:1}
#%else
# --enable-threads=posix \
#%endif
# --enable-shared \
%if "%{TARGET_ARCH}" == "armv7hl"
# temporary workaround for a miscompilation of hash functions in java code
GCJ_EXTRA_FLAGS="-marm"
%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
--enable-languages=$languages \
$ENABLE_CHECKING \
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
--enable-ssp \
--disable-libssp \
%if 0%{!?build_libvtv:1}
--disable-libvtv \
%endif
--disable-plugin \
--with-bugurl="http://bugs.opensuse.org/" \
--with-pkgversion="SUSE Linux" \
%if !%{build_libjava}
--disable-libgcj \
%else
--with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
--with-ecj-jar=%{libsubdir}/ecj.jar \
--disable-java-awt \
%if !%{biarch_libjava}
--disable-libjava-multilib \
%endif
%endif
--with-slibdir=/%{_lib} \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
--disable-libstdcxx-pch \
--enable-version-specific-runtime-libs \
%if 0%{suse_version} > 1100
--enable-linker-build-id \
%endif
--enable-linux-futex \
--program-suffix=%{binsuffix} \
%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
--without-system-libunwind \
%endif
%endif
%if 0%{?gcc_target_arch:1}
--program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
--with-sysroot=%sysroot \
%else
--with-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%if 0%{?build_sysroot:1}
--with-build-sysroot=%{build_sysroot} \
%else
%if 0%{?sysroot:1}
--with-build-sysroot=%{sysroot} \
%else
--with-build-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%endif
%if 0%{?canonical_target:1}
--with-build-time-tools=/usr/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
--with-newlib \
%endif
%endif
%if "%{TARGET_ARCH}" == "armv5tel"
--with-arch=armv5te \
--with-float=soft \
--with-mode=arm \
--with-abi=aapcs-linux \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv6hl"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"
--with-arch=armv7-a \
--with-tune=cortex-a15 \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
%if "%{TARGET_ARCH}" == "powerpc64le"
--with-cpu=power7 \
%else
--with-cpu-64=power4 \
%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
--disable-multilib \
%endif
%endif
%if "%{TARGET_ARCH}" == "sparc64"
--with-cpu=ultrasparc \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "sparc"
--with-cpu=v8 \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "i586"
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "x86_64"
--enable-multilib \
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "s390"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "s390x"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "m68k"
--disable-multilib \
%endif
--build=%{GCCDIST} \
--host=%{GCCDIST}
%if 0%{!?gcc_icecream:1}
make %{?jobs:-j%jobs}
%else
make %{?jobs:-j%jobs} all-host
%endif
%package -n cross-%cross_arch-gcc49-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc49-icecream-backend
This package contains the icecream environment for the GNU C Compiler
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
%install
cd obj-%{GCCDIST}
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
# with the present setup fixincludes are for the build includes which
# is wrong - get rid of them
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed
rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la
# common fixup
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
# remove docs
rm -rf $RPM_BUILD_ROOT%{_mandir}
rm -rf $RPM_BUILD_ROOT%{_infodir}
# install and fixup target parts
# ??? don't do this - debugedit is not prepared for this and crashes
# so expect the sysroot to be populated from natively built binaries
#%if 0%{?sysroot:1}
#make DESTDIR=$RPM_BUILD_ROOT/%{sysroot} install-target
#%else
#make DESTDIR=$RPM_BUILD_ROOT/%{_prefix}/%{gcc_target_arch} install-target
#%endif
# Build an icecream environment
# The assembler comes from the cross-binutils, and hence is _not_
# named funnily, not even on ppc, so there we need the original target
install -s -D %{_prefix}/bin/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}-as \
$RPM_BUILD_ROOT/env/usr/bin/as
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/g++
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so
fi
# Make sure to also pull in all shared library requirements for the
# binaries we put into the environment which is operated by chrooting
# into it and execing the compiler
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
done | sort -u `
for lib in $libs; do
# Check wether the same library also exists in the parent directory,
# and prefer that on the assumption that it is a more generic one.
baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'`
test -f "$baselib" && lib=$baselib
install -s -D $lib $RPM_BUILD_ROOT/env$lib
done
cd $RPM_BUILD_ROOT/env
tar cvzf ../%{name}_%{_arch}.tar.gz *
cd ..
mkdir -p usr/share/icecream-envs
mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs
rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc
rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils
rm -r env
%files
%defattr(-,root,root)
%{_prefix}/bin
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%files -n cross-%cross_arch-gcc49-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
%changelog
++++++ cross-armv7hl-gcc49.spec ++++++
#
# spec file for package cross-armv7hl-gcc49
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pkgname cross-armv7hl-gcc49
%define cross_arch armv7hl
%define gcc_target_arch armv7hl-suse-linux-gnueabi
%define gcc_icecream 1
#
# spec file for package gcc (Version 4.0.1)
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#
%define build_cp 1
%define build_ada 0
%define build_libjava 0
%define build_java 0
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
%define build_go 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%define canonical_target_abi -gnueabi
%endif
%if 0%{?gcc_icecream:1}
%define build_sysroot /
%endif
Name: %{pkgname}
BuildRequires: bison
BuildRequires: cross-%{binutils_target}-binutils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext-devel
BuildRequires: glibc-devel-32bit
BuildRequires: mpc-devel
BuildRequires: mpfr-devel
BuildRequires: perl
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: cloog-isl-devel
BuildRequires: isl-devel
%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
%if 0%{!?gcc_icecream:1}
BuildRequires: cross-%cross_arch-glibc-devel
%endif
ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
%define _binary_payload w.ufdio
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define gcc_snapshot_revision %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/+/-/')
%define binsuffix -4.9
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: gcc-%{gcc_version}%{gcc_snapshot_revision}.tar.bz2
Source1: change_spec
Source2: libffi49-rpmlintrc
Source3: gcc49-rpmlintrc
Source4: ecj.jar
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
#testpatch begin
Patch1: gcc-dir-version.patch
Patch7: gcc-add-defaultsspec.diff
Patch8: Wunprototyped-calls.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
Patch57: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
%description
Core package for the GNU Compiler Collection, including the C language
frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
gcc-obj-c++.
# Define the canonical target and host architecture
# %gcc_target_arch is supposed to be the full target triple
# %cross_arch is supposed to be the rpm target variant arch
# %TARGET_ARCH will be the canonicalized target CPU part
# %HOST_ARCH will be the canonicalized host CPU part
%if 0%{?gcc_target_arch:1}
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%else
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%endif
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%ifarch ppc
%define GCCDIST powerpc64-suse-linux
%else
%ifarch %sparc
%define GCCDIST sparc64-suse-linux
%else
%ifarch %arm
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
%else
%define GCCDIST %{HOST_ARCH}-suse-linux
%endif
%endif
%endif
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
%prep
%setup -q -n gcc-%{gcc_version}%{gcc_snapshot_revision}
#test patching start
%patch1
%patch7
%patch8
%patch23
%patch24
%patch30
%patch33
%patch51
%patch55
%patch57
%patch60
%patch61
#test patching end
# We are configuring ppc as ppc64 but with switched multilibs. Adjust
# the libstdc++ abi testsuite baseline files accordingly
%ifarch ppc
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
fi
%endif
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
# Avoid fucking up testsuite results with Java and indirect dispatch
export SUSE_ASNEEDED=0
# Split version file into version used for directories (X.Y) and
# version to report with --version (X.Y.Z).
# See also gcc-dir-version.patch.
# Also decrement the patchlevel version by one if possible and remove
# the 'prerelease' tagging in this case
if test `cat gcc/DEV-PHASE` == "prerelease"; then
if test `cat gcc/BASE-VER | cut -d '.' -f 3` != "0"; then
: > gcc/DEV-PHASE
fi
( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER
else
mv gcc/BASE-VER gcc/FULL-VER
fi
cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
rm -rf obj-%{GCCDIST}
mkdir obj-%{GCCDIST}
cd obj-%{GCCDIST}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
%ifarch %ix86
# -mcpu is superceded by -mtune but -mtune is not supported by
# our bootstrap compiler. -mcpu gives a warning that stops
# the build process, so remove it for now. Also remove all other
# -march and -mtune flags. They are superseeded by proper
# default compiler settings now.
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
%endif
%ifarch s390 s390x
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
%endif
%if 0%{?gcc_target_arch:1}
# Kill all -march/tune/cpu because that screws building the target libs
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
%endif
# Replace 2 spaces by one finally
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
languages=c
%if %{build_cp}
languages=$languages,c++
%endif
%if %{build_objc}
languages=$languages,objc
%endif
%if %{build_fortran}
languages=$languages,fortran
%endif
%if %{build_objcp}
languages=$languages,obj-c++
%endif
%if %{build_java}
languages=$languages,java
%endif
%if %{build_ada}
languages=$languages,ada
%endif
%if %{build_go}
languages=$languages,go
%endif
J=%{?jobs:%jobs}
if test -z "$J"; then
J=$(getconf _NPROCESSORS_CONF)
JL=$(($J * 2))
else
test 1 -gt "$J" && J=1
JL=$(($(getconf _NPROCESSORS_CONF)*2))
fi
if test "$J" == "0"; then
J=1
fi
if test "$JL" == "0"; then
JL=1
fi
PARALLEL="-j$J -l$JL"
# we don't want some miscompiles in the testsuite, or some fault in
# the compiler to kill the machine. Hence we limit the amount of memory
# by the physical RAM plus half of swap
#MEM=$(free -m | awk '/^Mem:/ {print $2}')
#SWAP=$(free -m | awk '/^Swap:/ {print $2}')
#ulimit -v $(((MEM + SWAP/2)*1024))
# In general we want to ship release checking enabled compilers
# and run BETA with checking enabled.
ENABLE_CHECKING="--enable-checking=yes"
#ENABLE_CHECKING="--enable-checking=release"
# Work around tail/head -1 changes
export _POSIX2_VERSION=199209
%if %{build_ada}
# Using the host gnatmake like
# CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
# GNATMAKE="gnatmake%{hostsuffix}"
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
# available
mkdir -p host-tools/bin
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
ln -sf /usr/%{_lib} host-tools/%{_lib}
export PATH="`pwd`/host-tools/bin:$PATH"
%endif
#%if 0%{?gcc_target_arch:1}
#%else
# --enable-threads=posix \
#%endif
# --enable-shared \
%if "%{TARGET_ARCH}" == "armv7hl"
# temporary workaround for a miscompilation of hash functions in java code
GCJ_EXTRA_FLAGS="-marm"
%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
--enable-languages=$languages \
$ENABLE_CHECKING \
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
--enable-ssp \
--disable-libssp \
%if 0%{!?build_libvtv:1}
--disable-libvtv \
%endif
--disable-plugin \
--with-bugurl="http://bugs.opensuse.org/" \
--with-pkgversion="SUSE Linux" \
%if !%{build_libjava}
--disable-libgcj \
%else
--with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
--with-ecj-jar=%{libsubdir}/ecj.jar \
--disable-java-awt \
%if !%{biarch_libjava}
--disable-libjava-multilib \
%endif
%endif
--with-slibdir=/%{_lib} \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
--disable-libstdcxx-pch \
--enable-version-specific-runtime-libs \
%if 0%{suse_version} > 1100
--enable-linker-build-id \
%endif
--enable-linux-futex \
--program-suffix=%{binsuffix} \
%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
--without-system-libunwind \
%endif
%endif
%if 0%{?gcc_target_arch:1}
--program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
--with-sysroot=%sysroot \
%else
--with-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%if 0%{?build_sysroot:1}
--with-build-sysroot=%{build_sysroot} \
%else
%if 0%{?sysroot:1}
--with-build-sysroot=%{sysroot} \
%else
--with-build-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%endif
%if 0%{?canonical_target:1}
--with-build-time-tools=/usr/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
--with-newlib \
%endif
%endif
%if "%{TARGET_ARCH}" == "armv5tel"
--with-arch=armv5te \
--with-float=soft \
--with-mode=arm \
--with-abi=aapcs-linux \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv6hl"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"
--with-arch=armv7-a \
--with-tune=cortex-a15 \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
%if "%{TARGET_ARCH}" == "powerpc64le"
--with-cpu=power7 \
%else
--with-cpu-64=power4 \
%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
--disable-multilib \
%endif
%endif
%if "%{TARGET_ARCH}" == "sparc64"
--with-cpu=ultrasparc \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "sparc"
--with-cpu=v8 \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "i586"
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "x86_64"
--enable-multilib \
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "s390"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "s390x"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "m68k"
--disable-multilib \
%endif
--build=%{GCCDIST} \
--host=%{GCCDIST}
%if 0%{!?gcc_icecream:1}
make %{?jobs:-j%jobs}
%else
make %{?jobs:-j%jobs} all-host
%endif
%package -n cross-%cross_arch-gcc49-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc49-icecream-backend
This package contains the icecream environment for the GNU C Compiler
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
%install
cd obj-%{GCCDIST}
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
# with the present setup fixincludes are for the build includes which
# is wrong - get rid of them
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed
rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la
# common fixup
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
# remove docs
rm -rf $RPM_BUILD_ROOT%{_mandir}
rm -rf $RPM_BUILD_ROOT%{_infodir}
# install and fixup target parts
# ??? don't do this - debugedit is not prepared for this and crashes
# so expect the sysroot to be populated from natively built binaries
#%if 0%{?sysroot:1}
#make DESTDIR=$RPM_BUILD_ROOT/%{sysroot} install-target
#%else
#make DESTDIR=$RPM_BUILD_ROOT/%{_prefix}/%{gcc_target_arch} install-target
#%endif
# Build an icecream environment
# The assembler comes from the cross-binutils, and hence is _not_
# named funnily, not even on ppc, so there we need the original target
install -s -D %{_prefix}/bin/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}-as \
$RPM_BUILD_ROOT/env/usr/bin/as
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/g++
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so
fi
# Make sure to also pull in all shared library requirements for the
# binaries we put into the environment which is operated by chrooting
# into it and execing the compiler
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
done | sort -u `
for lib in $libs; do
# Check wether the same library also exists in the parent directory,
# and prefer that on the assumption that it is a more generic one.
baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'`
test -f "$baselib" && lib=$baselib
install -s -D $lib $RPM_BUILD_ROOT/env$lib
done
cd $RPM_BUILD_ROOT/env
tar cvzf ../%{name}_%{_arch}.tar.gz *
cd ..
mkdir -p usr/share/icecream-envs
mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs
rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc
rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils
rm -r env
%files
%defattr(-,root,root)
%{_prefix}/bin
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%files -n cross-%cross_arch-gcc49-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
%changelog
++++++ cross-i386-gcc49.spec ++++++
#
# spec file for package cross-i386-gcc49
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pkgname cross-i386-gcc49
%define cross_arch i386
%define gcc_target_arch i586-suse-linux
%define gcc_icecream 1
#
# spec file for package gcc (Version 4.0.1)
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#
%define build_cp 1
%define build_ada 0
%define build_libjava 0
%define build_java 0
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
%define build_go 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%define canonical_target_abi -gnueabi
%endif
%if 0%{?gcc_icecream:1}
%define build_sysroot /
%endif
Name: %{pkgname}
BuildRequires: bison
BuildRequires: cross-%{binutils_target}-binutils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext-devel
BuildRequires: glibc-devel-32bit
BuildRequires: mpc-devel
BuildRequires: mpfr-devel
BuildRequires: perl
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: cloog-isl-devel
BuildRequires: isl-devel
%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
%if 0%{!?gcc_icecream:1}
BuildRequires: cross-%cross_arch-glibc-devel
%endif
ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
%define _binary_payload w.ufdio
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define gcc_snapshot_revision %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/+/-/')
%define binsuffix -4.9
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: gcc-%{gcc_version}%{gcc_snapshot_revision}.tar.bz2
Source1: change_spec
Source2: libffi49-rpmlintrc
Source3: gcc49-rpmlintrc
Source4: ecj.jar
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
#testpatch begin
Patch1: gcc-dir-version.patch
Patch7: gcc-add-defaultsspec.diff
Patch8: Wunprototyped-calls.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
Patch57: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
%description
Core package for the GNU Compiler Collection, including the C language
frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
gcc-obj-c++.
# Define the canonical target and host architecture
# %gcc_target_arch is supposed to be the full target triple
# %cross_arch is supposed to be the rpm target variant arch
# %TARGET_ARCH will be the canonicalized target CPU part
# %HOST_ARCH will be the canonicalized host CPU part
%if 0%{?gcc_target_arch:1}
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%else
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%endif
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%ifarch ppc
%define GCCDIST powerpc64-suse-linux
%else
%ifarch %sparc
%define GCCDIST sparc64-suse-linux
%else
%ifarch %arm
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
%else
%define GCCDIST %{HOST_ARCH}-suse-linux
%endif
%endif
%endif
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
%prep
%setup -q -n gcc-%{gcc_version}%{gcc_snapshot_revision}
#test patching start
%patch1
%patch7
%patch8
%patch23
%patch24
%patch30
%patch33
%patch51
%patch55
%patch57
%patch60
%patch61
#test patching end
# We are configuring ppc as ppc64 but with switched multilibs. Adjust
# the libstdc++ abi testsuite baseline files accordingly
%ifarch ppc
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
fi
%endif
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
# Avoid fucking up testsuite results with Java and indirect dispatch
export SUSE_ASNEEDED=0
# Split version file into version used for directories (X.Y) and
# version to report with --version (X.Y.Z).
# See also gcc-dir-version.patch.
# Also decrement the patchlevel version by one if possible and remove
# the 'prerelease' tagging in this case
if test `cat gcc/DEV-PHASE` == "prerelease"; then
if test `cat gcc/BASE-VER | cut -d '.' -f 3` != "0"; then
: > gcc/DEV-PHASE
fi
( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER
else
mv gcc/BASE-VER gcc/FULL-VER
fi
cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
rm -rf obj-%{GCCDIST}
mkdir obj-%{GCCDIST}
cd obj-%{GCCDIST}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
%ifarch %ix86
# -mcpu is superceded by -mtune but -mtune is not supported by
# our bootstrap compiler. -mcpu gives a warning that stops
# the build process, so remove it for now. Also remove all other
# -march and -mtune flags. They are superseeded by proper
# default compiler settings now.
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
%endif
%ifarch s390 s390x
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
%endif
%if 0%{?gcc_target_arch:1}
# Kill all -march/tune/cpu because that screws building the target libs
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
%endif
# Replace 2 spaces by one finally
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
languages=c
%if %{build_cp}
languages=$languages,c++
%endif
%if %{build_objc}
languages=$languages,objc
%endif
%if %{build_fortran}
languages=$languages,fortran
%endif
%if %{build_objcp}
languages=$languages,obj-c++
%endif
%if %{build_java}
languages=$languages,java
%endif
%if %{build_ada}
languages=$languages,ada
%endif
%if %{build_go}
languages=$languages,go
%endif
J=%{?jobs:%jobs}
if test -z "$J"; then
J=$(getconf _NPROCESSORS_CONF)
JL=$(($J * 2))
else
test 1 -gt "$J" && J=1
JL=$(($(getconf _NPROCESSORS_CONF)*2))
fi
if test "$J" == "0"; then
J=1
fi
if test "$JL" == "0"; then
JL=1
fi
PARALLEL="-j$J -l$JL"
# we don't want some miscompiles in the testsuite, or some fault in
# the compiler to kill the machine. Hence we limit the amount of memory
# by the physical RAM plus half of swap
#MEM=$(free -m | awk '/^Mem:/ {print $2}')
#SWAP=$(free -m | awk '/^Swap:/ {print $2}')
#ulimit -v $(((MEM + SWAP/2)*1024))
# In general we want to ship release checking enabled compilers
# and run BETA with checking enabled.
ENABLE_CHECKING="--enable-checking=yes"
#ENABLE_CHECKING="--enable-checking=release"
# Work around tail/head -1 changes
export _POSIX2_VERSION=199209
%if %{build_ada}
# Using the host gnatmake like
# CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
# GNATMAKE="gnatmake%{hostsuffix}"
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
# available
mkdir -p host-tools/bin
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
ln -sf /usr/%{_lib} host-tools/%{_lib}
export PATH="`pwd`/host-tools/bin:$PATH"
%endif
#%if 0%{?gcc_target_arch:1}
#%else
# --enable-threads=posix \
#%endif
# --enable-shared \
%if "%{TARGET_ARCH}" == "armv7hl"
# temporary workaround for a miscompilation of hash functions in java code
GCJ_EXTRA_FLAGS="-marm"
%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
--enable-languages=$languages \
$ENABLE_CHECKING \
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
--enable-ssp \
--disable-libssp \
%if 0%{!?build_libvtv:1}
--disable-libvtv \
%endif
--disable-plugin \
--with-bugurl="http://bugs.opensuse.org/" \
--with-pkgversion="SUSE Linux" \
%if !%{build_libjava}
--disable-libgcj \
%else
--with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
--with-ecj-jar=%{libsubdir}/ecj.jar \
--disable-java-awt \
%if !%{biarch_libjava}
--disable-libjava-multilib \
%endif
%endif
--with-slibdir=/%{_lib} \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
--disable-libstdcxx-pch \
--enable-version-specific-runtime-libs \
%if 0%{suse_version} > 1100
--enable-linker-build-id \
%endif
--enable-linux-futex \
--program-suffix=%{binsuffix} \
%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
--without-system-libunwind \
%endif
%endif
%if 0%{?gcc_target_arch:1}
--program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
--with-sysroot=%sysroot \
%else
--with-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%if 0%{?build_sysroot:1}
--with-build-sysroot=%{build_sysroot} \
%else
%if 0%{?sysroot:1}
--with-build-sysroot=%{sysroot} \
%else
--with-build-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%endif
%if 0%{?canonical_target:1}
--with-build-time-tools=/usr/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
--with-newlib \
%endif
%endif
%if "%{TARGET_ARCH}" == "armv5tel"
--with-arch=armv5te \
--with-float=soft \
--with-mode=arm \
--with-abi=aapcs-linux \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv6hl"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"
--with-arch=armv7-a \
--with-tune=cortex-a15 \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
%if "%{TARGET_ARCH}" == "powerpc64le"
--with-cpu=power7 \
%else
--with-cpu-64=power4 \
%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
--disable-multilib \
%endif
%endif
%if "%{TARGET_ARCH}" == "sparc64"
--with-cpu=ultrasparc \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "sparc"
--with-cpu=v8 \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "i586"
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "x86_64"
--enable-multilib \
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "s390"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "s390x"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "m68k"
--disable-multilib \
%endif
--build=%{GCCDIST} \
--host=%{GCCDIST}
%if 0%{!?gcc_icecream:1}
make %{?jobs:-j%jobs}
%else
make %{?jobs:-j%jobs} all-host
%endif
%package -n cross-%cross_arch-gcc49-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc49-icecream-backend
This package contains the icecream environment for the GNU C Compiler
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
%install
cd obj-%{GCCDIST}
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
# with the present setup fixincludes are for the build includes which
# is wrong - get rid of them
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed
rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la
# common fixup
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
# remove docs
rm -rf $RPM_BUILD_ROOT%{_mandir}
rm -rf $RPM_BUILD_ROOT%{_infodir}
# install and fixup target parts
# ??? don't do this - debugedit is not prepared for this and crashes
# so expect the sysroot to be populated from natively built binaries
#%if 0%{?sysroot:1}
#make DESTDIR=$RPM_BUILD_ROOT/%{sysroot} install-target
#%else
#make DESTDIR=$RPM_BUILD_ROOT/%{_prefix}/%{gcc_target_arch} install-target
#%endif
# Build an icecream environment
# The assembler comes from the cross-binutils, and hence is _not_
# named funnily, not even on ppc, so there we need the original target
install -s -D %{_prefix}/bin/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}-as \
$RPM_BUILD_ROOT/env/usr/bin/as
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/g++
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so
fi
# Make sure to also pull in all shared library requirements for the
# binaries we put into the environment which is operated by chrooting
# into it and execing the compiler
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
done | sort -u `
for lib in $libs; do
# Check wether the same library also exists in the parent directory,
# and prefer that on the assumption that it is a more generic one.
baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'`
test -f "$baselib" && lib=$baselib
install -s -D $lib $RPM_BUILD_ROOT/env$lib
done
cd $RPM_BUILD_ROOT/env
tar cvzf ../%{name}_%{_arch}.tar.gz *
cd ..
mkdir -p usr/share/icecream-envs
mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs
rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc
rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils
rm -r env
%files
%defattr(-,root,root)
%{_prefix}/bin
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%files -n cross-%cross_arch-gcc49-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
%changelog
++++++ cross-ppc-gcc49.spec ++++++
#
# spec file for package cross-ppc-gcc49
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pkgname cross-ppc-gcc49
%define cross_arch ppc
%define gcc_target_arch powerpc64-suse-linux
%define gcc_icecream 1
#
# spec file for package gcc (Version 4.0.1)
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#
%define build_cp 1
%define build_ada 0
%define build_libjava 0
%define build_java 0
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
%define build_go 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%define canonical_target_abi -gnueabi
%endif
%if 0%{?gcc_icecream:1}
%define build_sysroot /
%endif
Name: %{pkgname}
BuildRequires: bison
BuildRequires: cross-%{binutils_target}-binutils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext-devel
BuildRequires: glibc-devel-32bit
BuildRequires: mpc-devel
BuildRequires: mpfr-devel
BuildRequires: perl
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: cloog-isl-devel
BuildRequires: isl-devel
%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
%if 0%{!?gcc_icecream:1}
BuildRequires: cross-%cross_arch-glibc-devel
%endif
ExclusiveArch: x86_64 ia64 s390x aarch64
%define _binary_payload w.ufdio
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define gcc_snapshot_revision %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/+/-/')
%define binsuffix -4.9
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: gcc-%{gcc_version}%{gcc_snapshot_revision}.tar.bz2
Source1: change_spec
Source2: libffi49-rpmlintrc
Source3: gcc49-rpmlintrc
Source4: ecj.jar
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
#testpatch begin
Patch1: gcc-dir-version.patch
Patch7: gcc-add-defaultsspec.diff
Patch8: Wunprototyped-calls.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
Patch57: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
%description
Core package for the GNU Compiler Collection, including the C language
frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
gcc-obj-c++.
# Define the canonical target and host architecture
# %gcc_target_arch is supposed to be the full target triple
# %cross_arch is supposed to be the rpm target variant arch
# %TARGET_ARCH will be the canonicalized target CPU part
# %HOST_ARCH will be the canonicalized host CPU part
%if 0%{?gcc_target_arch:1}
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%else
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%endif
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%ifarch ppc
%define GCCDIST powerpc64-suse-linux
%else
%ifarch %sparc
%define GCCDIST sparc64-suse-linux
%else
%ifarch %arm
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
%else
%define GCCDIST %{HOST_ARCH}-suse-linux
%endif
%endif
%endif
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
%prep
%setup -q -n gcc-%{gcc_version}%{gcc_snapshot_revision}
#test patching start
%patch1
%patch7
%patch8
%patch23
%patch24
%patch30
%patch33
%patch51
%patch55
%patch57
%patch60
%patch61
#test patching end
# We are configuring ppc as ppc64 but with switched multilibs. Adjust
# the libstdc++ abi testsuite baseline files accordingly
%ifarch ppc
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
fi
%endif
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
# Avoid fucking up testsuite results with Java and indirect dispatch
export SUSE_ASNEEDED=0
# Split version file into version used for directories (X.Y) and
# version to report with --version (X.Y.Z).
# See also gcc-dir-version.patch.
# Also decrement the patchlevel version by one if possible and remove
# the 'prerelease' tagging in this case
if test `cat gcc/DEV-PHASE` == "prerelease"; then
if test `cat gcc/BASE-VER | cut -d '.' -f 3` != "0"; then
: > gcc/DEV-PHASE
fi
( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER
else
mv gcc/BASE-VER gcc/FULL-VER
fi
cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
rm -rf obj-%{GCCDIST}
mkdir obj-%{GCCDIST}
cd obj-%{GCCDIST}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
%ifarch %ix86
# -mcpu is superceded by -mtune but -mtune is not supported by
# our bootstrap compiler. -mcpu gives a warning that stops
# the build process, so remove it for now. Also remove all other
# -march and -mtune flags. They are superseeded by proper
# default compiler settings now.
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
%endif
%ifarch s390 s390x
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
%endif
%if 0%{?gcc_target_arch:1}
# Kill all -march/tune/cpu because that screws building the target libs
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
%endif
# Replace 2 spaces by one finally
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
languages=c
%if %{build_cp}
languages=$languages,c++
%endif
%if %{build_objc}
languages=$languages,objc
%endif
%if %{build_fortran}
languages=$languages,fortran
%endif
%if %{build_objcp}
languages=$languages,obj-c++
%endif
%if %{build_java}
languages=$languages,java
%endif
%if %{build_ada}
languages=$languages,ada
%endif
%if %{build_go}
languages=$languages,go
%endif
J=%{?jobs:%jobs}
if test -z "$J"; then
J=$(getconf _NPROCESSORS_CONF)
JL=$(($J * 2))
else
test 1 -gt "$J" && J=1
JL=$(($(getconf _NPROCESSORS_CONF)*2))
fi
if test "$J" == "0"; then
J=1
fi
if test "$JL" == "0"; then
JL=1
fi
PARALLEL="-j$J -l$JL"
# we don't want some miscompiles in the testsuite, or some fault in
# the compiler to kill the machine. Hence we limit the amount of memory
# by the physical RAM plus half of swap
#MEM=$(free -m | awk '/^Mem:/ {print $2}')
#SWAP=$(free -m | awk '/^Swap:/ {print $2}')
#ulimit -v $(((MEM + SWAP/2)*1024))
# In general we want to ship release checking enabled compilers
# and run BETA with checking enabled.
ENABLE_CHECKING="--enable-checking=yes"
#ENABLE_CHECKING="--enable-checking=release"
# Work around tail/head -1 changes
export _POSIX2_VERSION=199209
%if %{build_ada}
# Using the host gnatmake like
# CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
# GNATMAKE="gnatmake%{hostsuffix}"
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
# available
mkdir -p host-tools/bin
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
ln -sf /usr/%{_lib} host-tools/%{_lib}
export PATH="`pwd`/host-tools/bin:$PATH"
%endif
#%if 0%{?gcc_target_arch:1}
#%else
# --enable-threads=posix \
#%endif
# --enable-shared \
%if "%{TARGET_ARCH}" == "armv7hl"
# temporary workaround for a miscompilation of hash functions in java code
GCJ_EXTRA_FLAGS="-marm"
%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
--enable-languages=$languages \
$ENABLE_CHECKING \
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
--enable-ssp \
--disable-libssp \
%if 0%{!?build_libvtv:1}
--disable-libvtv \
%endif
--disable-plugin \
--with-bugurl="http://bugs.opensuse.org/" \
--with-pkgversion="SUSE Linux" \
%if !%{build_libjava}
--disable-libgcj \
%else
--with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
--with-ecj-jar=%{libsubdir}/ecj.jar \
--disable-java-awt \
%if !%{biarch_libjava}
--disable-libjava-multilib \
%endif
%endif
--with-slibdir=/%{_lib} \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
--disable-libstdcxx-pch \
--enable-version-specific-runtime-libs \
%if 0%{suse_version} > 1100
--enable-linker-build-id \
%endif
--enable-linux-futex \
--program-suffix=%{binsuffix} \
%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
--without-system-libunwind \
%endif
%endif
%if 0%{?gcc_target_arch:1}
--program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
--with-sysroot=%sysroot \
%else
--with-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%if 0%{?build_sysroot:1}
--with-build-sysroot=%{build_sysroot} \
%else
%if 0%{?sysroot:1}
--with-build-sysroot=%{sysroot} \
%else
--with-build-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%endif
%if 0%{?canonical_target:1}
--with-build-time-tools=/usr/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
--with-newlib \
%endif
%endif
%if "%{TARGET_ARCH}" == "armv5tel"
--with-arch=armv5te \
--with-float=soft \
--with-mode=arm \
--with-abi=aapcs-linux \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv6hl"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"
--with-arch=armv7-a \
--with-tune=cortex-a15 \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
%if "%{TARGET_ARCH}" == "powerpc64le"
--with-cpu=power7 \
%else
--with-cpu-64=power4 \
%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
--disable-multilib \
%endif
%endif
%if "%{TARGET_ARCH}" == "sparc64"
--with-cpu=ultrasparc \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "sparc"
--with-cpu=v8 \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "i586"
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "x86_64"
--enable-multilib \
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "s390"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "s390x"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "m68k"
--disable-multilib \
%endif
--build=%{GCCDIST} \
--host=%{GCCDIST}
%if 0%{!?gcc_icecream:1}
make %{?jobs:-j%jobs}
%else
make %{?jobs:-j%jobs} all-host
%endif
%package -n cross-%cross_arch-gcc49-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc49-icecream-backend
This package contains the icecream environment for the GNU C Compiler
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
%install
cd obj-%{GCCDIST}
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
# with the present setup fixincludes are for the build includes which
# is wrong - get rid of them
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed
rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la
# common fixup
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
# remove docs
rm -rf $RPM_BUILD_ROOT%{_mandir}
rm -rf $RPM_BUILD_ROOT%{_infodir}
# install and fixup target parts
# ??? don't do this - debugedit is not prepared for this and crashes
# so expect the sysroot to be populated from natively built binaries
#%if 0%{?sysroot:1}
#make DESTDIR=$RPM_BUILD_ROOT/%{sysroot} install-target
#%else
#make DESTDIR=$RPM_BUILD_ROOT/%{_prefix}/%{gcc_target_arch} install-target
#%endif
# Build an icecream environment
# The assembler comes from the cross-binutils, and hence is _not_
# named funnily, not even on ppc, so there we need the original target
install -s -D %{_prefix}/bin/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}-as \
$RPM_BUILD_ROOT/env/usr/bin/as
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/g++
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so
fi
# Make sure to also pull in all shared library requirements for the
# binaries we put into the environment which is operated by chrooting
# into it and execing the compiler
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
done | sort -u `
for lib in $libs; do
# Check wether the same library also exists in the parent directory,
# and prefer that on the assumption that it is a more generic one.
baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'`
test -f "$baselib" && lib=$baselib
install -s -D $lib $RPM_BUILD_ROOT/env$lib
done
cd $RPM_BUILD_ROOT/env
tar cvzf ../%{name}_%{_arch}.tar.gz *
cd ..
mkdir -p usr/share/icecream-envs
mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs
rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc
rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils
rm -r env
%files
%defattr(-,root,root)
%{_prefix}/bin
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%files -n cross-%cross_arch-gcc49-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
%changelog
++++++ cross-ppc64-gcc49.spec ++++++
#
# spec file for package cross-ppc64-gcc49
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pkgname cross-ppc64-gcc49
%define cross_arch ppc64
%define gcc_target_arch powerpc64-suse-linux
%define gcc_icecream 1
#
# spec file for package gcc (Version 4.0.1)
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#
%define build_cp 1
%define build_ada 0
%define build_libjava 0
%define build_java 0
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
%define build_go 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%define canonical_target_abi -gnueabi
%endif
%if 0%{?gcc_icecream:1}
%define build_sysroot /
%endif
Name: %{pkgname}
BuildRequires: bison
BuildRequires: cross-%{binutils_target}-binutils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext-devel
BuildRequires: glibc-devel-32bit
BuildRequires: mpc-devel
BuildRequires: mpfr-devel
BuildRequires: perl
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: cloog-isl-devel
BuildRequires: isl-devel
%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
%if 0%{!?gcc_icecream:1}
BuildRequires: cross-%cross_arch-glibc-devel
%endif
ExclusiveArch: x86_64 ia64 s390x aarch64
%define _binary_payload w.ufdio
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define gcc_snapshot_revision %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/+/-/')
%define binsuffix -4.9
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: gcc-%{gcc_version}%{gcc_snapshot_revision}.tar.bz2
Source1: change_spec
Source2: libffi49-rpmlintrc
Source3: gcc49-rpmlintrc
Source4: ecj.jar
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
#testpatch begin
Patch1: gcc-dir-version.patch
Patch7: gcc-add-defaultsspec.diff
Patch8: Wunprototyped-calls.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
Patch57: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
%description
Core package for the GNU Compiler Collection, including the C language
frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
gcc-obj-c++.
# Define the canonical target and host architecture
# %gcc_target_arch is supposed to be the full target triple
# %cross_arch is supposed to be the rpm target variant arch
# %TARGET_ARCH will be the canonicalized target CPU part
# %HOST_ARCH will be the canonicalized host CPU part
%if 0%{?gcc_target_arch:1}
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%else
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%endif
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%ifarch ppc
%define GCCDIST powerpc64-suse-linux
%else
%ifarch %sparc
%define GCCDIST sparc64-suse-linux
%else
%ifarch %arm
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
%else
%define GCCDIST %{HOST_ARCH}-suse-linux
%endif
%endif
%endif
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
%prep
%setup -q -n gcc-%{gcc_version}%{gcc_snapshot_revision}
#test patching start
%patch1
%patch7
%patch8
%patch23
%patch24
%patch30
%patch33
%patch51
%patch55
%patch57
%patch60
%patch61
#test patching end
# We are configuring ppc as ppc64 but with switched multilibs. Adjust
# the libstdc++ abi testsuite baseline files accordingly
%ifarch ppc
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
fi
%endif
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
# Avoid fucking up testsuite results with Java and indirect dispatch
export SUSE_ASNEEDED=0
# Split version file into version used for directories (X.Y) and
# version to report with --version (X.Y.Z).
# See also gcc-dir-version.patch.
# Also decrement the patchlevel version by one if possible and remove
# the 'prerelease' tagging in this case
if test `cat gcc/DEV-PHASE` == "prerelease"; then
if test `cat gcc/BASE-VER | cut -d '.' -f 3` != "0"; then
: > gcc/DEV-PHASE
fi
( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER
else
mv gcc/BASE-VER gcc/FULL-VER
fi
cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
rm -rf obj-%{GCCDIST}
mkdir obj-%{GCCDIST}
cd obj-%{GCCDIST}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
%ifarch %ix86
# -mcpu is superceded by -mtune but -mtune is not supported by
# our bootstrap compiler. -mcpu gives a warning that stops
# the build process, so remove it for now. Also remove all other
# -march and -mtune flags. They are superseeded by proper
# default compiler settings now.
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
%endif
%ifarch s390 s390x
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
%endif
%if 0%{?gcc_target_arch:1}
# Kill all -march/tune/cpu because that screws building the target libs
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
%endif
# Replace 2 spaces by one finally
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
languages=c
%if %{build_cp}
languages=$languages,c++
%endif
%if %{build_objc}
languages=$languages,objc
%endif
%if %{build_fortran}
languages=$languages,fortran
%endif
%if %{build_objcp}
languages=$languages,obj-c++
%endif
%if %{build_java}
languages=$languages,java
%endif
%if %{build_ada}
languages=$languages,ada
%endif
%if %{build_go}
languages=$languages,go
%endif
J=%{?jobs:%jobs}
if test -z "$J"; then
J=$(getconf _NPROCESSORS_CONF)
JL=$(($J * 2))
else
test 1 -gt "$J" && J=1
JL=$(($(getconf _NPROCESSORS_CONF)*2))
fi
if test "$J" == "0"; then
J=1
fi
if test "$JL" == "0"; then
JL=1
fi
PARALLEL="-j$J -l$JL"
# we don't want some miscompiles in the testsuite, or some fault in
# the compiler to kill the machine. Hence we limit the amount of memory
# by the physical RAM plus half of swap
#MEM=$(free -m | awk '/^Mem:/ {print $2}')
#SWAP=$(free -m | awk '/^Swap:/ {print $2}')
#ulimit -v $(((MEM + SWAP/2)*1024))
# In general we want to ship release checking enabled compilers
# and run BETA with checking enabled.
ENABLE_CHECKING="--enable-checking=yes"
#ENABLE_CHECKING="--enable-checking=release"
# Work around tail/head -1 changes
export _POSIX2_VERSION=199209
%if %{build_ada}
# Using the host gnatmake like
# CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
# GNATMAKE="gnatmake%{hostsuffix}"
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
# available
mkdir -p host-tools/bin
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
ln -sf /usr/%{_lib} host-tools/%{_lib}
export PATH="`pwd`/host-tools/bin:$PATH"
%endif
#%if 0%{?gcc_target_arch:1}
#%else
# --enable-threads=posix \
#%endif
# --enable-shared \
%if "%{TARGET_ARCH}" == "armv7hl"
# temporary workaround for a miscompilation of hash functions in java code
GCJ_EXTRA_FLAGS="-marm"
%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
--enable-languages=$languages \
$ENABLE_CHECKING \
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
--enable-ssp \
--disable-libssp \
%if 0%{!?build_libvtv:1}
--disable-libvtv \
%endif
--disable-plugin \
--with-bugurl="http://bugs.opensuse.org/" \
--with-pkgversion="SUSE Linux" \
%if !%{build_libjava}
--disable-libgcj \
%else
--with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
--with-ecj-jar=%{libsubdir}/ecj.jar \
--disable-java-awt \
%if !%{biarch_libjava}
--disable-libjava-multilib \
%endif
%endif
--with-slibdir=/%{_lib} \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
--disable-libstdcxx-pch \
--enable-version-specific-runtime-libs \
%if 0%{suse_version} > 1100
--enable-linker-build-id \
%endif
--enable-linux-futex \
--program-suffix=%{binsuffix} \
%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
--without-system-libunwind \
%endif
%endif
%if 0%{?gcc_target_arch:1}
--program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
--with-sysroot=%sysroot \
%else
--with-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%if 0%{?build_sysroot:1}
--with-build-sysroot=%{build_sysroot} \
%else
%if 0%{?sysroot:1}
--with-build-sysroot=%{sysroot} \
%else
--with-build-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%endif
%if 0%{?canonical_target:1}
--with-build-time-tools=/usr/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
--with-newlib \
%endif
%endif
%if "%{TARGET_ARCH}" == "armv5tel"
--with-arch=armv5te \
--with-float=soft \
--with-mode=arm \
--with-abi=aapcs-linux \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv6hl"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"
--with-arch=armv7-a \
--with-tune=cortex-a15 \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
%if "%{TARGET_ARCH}" == "powerpc64le"
--with-cpu=power7 \
%else
--with-cpu-64=power4 \
%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
--disable-multilib \
%endif
%endif
%if "%{TARGET_ARCH}" == "sparc64"
--with-cpu=ultrasparc \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "sparc"
--with-cpu=v8 \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "i586"
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "x86_64"
--enable-multilib \
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "s390"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "s390x"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "m68k"
--disable-multilib \
%endif
--build=%{GCCDIST} \
--host=%{GCCDIST}
%if 0%{!?gcc_icecream:1}
make %{?jobs:-j%jobs}
%else
make %{?jobs:-j%jobs} all-host
%endif
%package -n cross-%cross_arch-gcc49-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc49-icecream-backend
This package contains the icecream environment for the GNU C Compiler
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
%install
cd obj-%{GCCDIST}
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
# with the present setup fixincludes are for the build includes which
# is wrong - get rid of them
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed
rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la
# common fixup
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
# remove docs
rm -rf $RPM_BUILD_ROOT%{_mandir}
rm -rf $RPM_BUILD_ROOT%{_infodir}
# install and fixup target parts
# ??? don't do this - debugedit is not prepared for this and crashes
# so expect the sysroot to be populated from natively built binaries
#%if 0%{?sysroot:1}
#make DESTDIR=$RPM_BUILD_ROOT/%{sysroot} install-target
#%else
#make DESTDIR=$RPM_BUILD_ROOT/%{_prefix}/%{gcc_target_arch} install-target
#%endif
# Build an icecream environment
# The assembler comes from the cross-binutils, and hence is _not_
# named funnily, not even on ppc, so there we need the original target
install -s -D %{_prefix}/bin/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}-as \
$RPM_BUILD_ROOT/env/usr/bin/as
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/g++
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so
fi
# Make sure to also pull in all shared library requirements for the
# binaries we put into the environment which is operated by chrooting
# into it and execing the compiler
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
done | sort -u `
for lib in $libs; do
# Check wether the same library also exists in the parent directory,
# and prefer that on the assumption that it is a more generic one.
baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'`
test -f "$baselib" && lib=$baselib
install -s -D $lib $RPM_BUILD_ROOT/env$lib
done
cd $RPM_BUILD_ROOT/env
tar cvzf ../%{name}_%{_arch}.tar.gz *
cd ..
mkdir -p usr/share/icecream-envs
mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs
rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc
rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils
rm -r env
%files
%defattr(-,root,root)
%{_prefix}/bin
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%files -n cross-%cross_arch-gcc49-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
%changelog
++++++ cross-ppc64le-gcc49.spec ++++++
#
# spec file for package cross-ppc64le-gcc49
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pkgname cross-ppc64le-gcc49
%define cross_arch ppc64le
%define gcc_target_arch powerpc64le-suse-linux
%define gcc_icecream 1
#
# spec file for package gcc (Version 4.0.1)
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#
%define build_cp 1
%define build_ada 0
%define build_libjava 0
%define build_java 0
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
%define build_go 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%define canonical_target_abi -gnueabi
%endif
%if 0%{?gcc_icecream:1}
%define build_sysroot /
%endif
Name: %{pkgname}
BuildRequires: bison
BuildRequires: cross-%{binutils_target}-binutils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext-devel
BuildRequires: glibc-devel-32bit
BuildRequires: mpc-devel
BuildRequires: mpfr-devel
BuildRequires: perl
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: cloog-isl-devel
BuildRequires: isl-devel
%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
%if 0%{!?gcc_icecream:1}
BuildRequires: cross-%cross_arch-glibc-devel
%endif
ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
%define _binary_payload w.ufdio
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define gcc_snapshot_revision %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/+/-/')
%define binsuffix -4.9
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: gcc-%{gcc_version}%{gcc_snapshot_revision}.tar.bz2
Source1: change_spec
Source2: libffi49-rpmlintrc
Source3: gcc49-rpmlintrc
Source4: ecj.jar
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
#testpatch begin
Patch1: gcc-dir-version.patch
Patch7: gcc-add-defaultsspec.diff
Patch8: Wunprototyped-calls.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
Patch57: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
%description
Core package for the GNU Compiler Collection, including the C language
frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
gcc-obj-c++.
# Define the canonical target and host architecture
# %gcc_target_arch is supposed to be the full target triple
# %cross_arch is supposed to be the rpm target variant arch
# %TARGET_ARCH will be the canonicalized target CPU part
# %HOST_ARCH will be the canonicalized host CPU part
%if 0%{?gcc_target_arch:1}
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%else
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%endif
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%ifarch ppc
%define GCCDIST powerpc64-suse-linux
%else
%ifarch %sparc
%define GCCDIST sparc64-suse-linux
%else
%ifarch %arm
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
%else
%define GCCDIST %{HOST_ARCH}-suse-linux
%endif
%endif
%endif
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
%prep
%setup -q -n gcc-%{gcc_version}%{gcc_snapshot_revision}
#test patching start
%patch1
%patch7
%patch8
%patch23
%patch24
%patch30
%patch33
%patch51
%patch55
%patch57
%patch60
%patch61
#test patching end
# We are configuring ppc as ppc64 but with switched multilibs. Adjust
# the libstdc++ abi testsuite baseline files accordingly
%ifarch ppc
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
fi
%endif
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
# Avoid fucking up testsuite results with Java and indirect dispatch
export SUSE_ASNEEDED=0
# Split version file into version used for directories (X.Y) and
# version to report with --version (X.Y.Z).
# See also gcc-dir-version.patch.
# Also decrement the patchlevel version by one if possible and remove
# the 'prerelease' tagging in this case
if test `cat gcc/DEV-PHASE` == "prerelease"; then
if test `cat gcc/BASE-VER | cut -d '.' -f 3` != "0"; then
: > gcc/DEV-PHASE
fi
( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER
else
mv gcc/BASE-VER gcc/FULL-VER
fi
cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
rm -rf obj-%{GCCDIST}
mkdir obj-%{GCCDIST}
cd obj-%{GCCDIST}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
%ifarch %ix86
# -mcpu is superceded by -mtune but -mtune is not supported by
# our bootstrap compiler. -mcpu gives a warning that stops
# the build process, so remove it for now. Also remove all other
# -march and -mtune flags. They are superseeded by proper
# default compiler settings now.
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
%endif
%ifarch s390 s390x
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
%endif
%if 0%{?gcc_target_arch:1}
# Kill all -march/tune/cpu because that screws building the target libs
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
%endif
# Replace 2 spaces by one finally
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
languages=c
%if %{build_cp}
languages=$languages,c++
%endif
%if %{build_objc}
languages=$languages,objc
%endif
%if %{build_fortran}
languages=$languages,fortran
%endif
%if %{build_objcp}
languages=$languages,obj-c++
%endif
%if %{build_java}
languages=$languages,java
%endif
%if %{build_ada}
languages=$languages,ada
%endif
%if %{build_go}
languages=$languages,go
%endif
J=%{?jobs:%jobs}
if test -z "$J"; then
J=$(getconf _NPROCESSORS_CONF)
JL=$(($J * 2))
else
test 1 -gt "$J" && J=1
JL=$(($(getconf _NPROCESSORS_CONF)*2))
fi
if test "$J" == "0"; then
J=1
fi
if test "$JL" == "0"; then
JL=1
fi
PARALLEL="-j$J -l$JL"
# we don't want some miscompiles in the testsuite, or some fault in
# the compiler to kill the machine. Hence we limit the amount of memory
# by the physical RAM plus half of swap
#MEM=$(free -m | awk '/^Mem:/ {print $2}')
#SWAP=$(free -m | awk '/^Swap:/ {print $2}')
#ulimit -v $(((MEM + SWAP/2)*1024))
# In general we want to ship release checking enabled compilers
# and run BETA with checking enabled.
ENABLE_CHECKING="--enable-checking=yes"
#ENABLE_CHECKING="--enable-checking=release"
# Work around tail/head -1 changes
export _POSIX2_VERSION=199209
%if %{build_ada}
# Using the host gnatmake like
# CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
# GNATMAKE="gnatmake%{hostsuffix}"
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
# available
mkdir -p host-tools/bin
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
ln -sf /usr/%{_lib} host-tools/%{_lib}
export PATH="`pwd`/host-tools/bin:$PATH"
%endif
#%if 0%{?gcc_target_arch:1}
#%else
# --enable-threads=posix \
#%endif
# --enable-shared \
%if "%{TARGET_ARCH}" == "armv7hl"
# temporary workaround for a miscompilation of hash functions in java code
GCJ_EXTRA_FLAGS="-marm"
%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
--enable-languages=$languages \
$ENABLE_CHECKING \
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
--enable-ssp \
--disable-libssp \
%if 0%{!?build_libvtv:1}
--disable-libvtv \
%endif
--disable-plugin \
--with-bugurl="http://bugs.opensuse.org/" \
--with-pkgversion="SUSE Linux" \
%if !%{build_libjava}
--disable-libgcj \
%else
--with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
--with-ecj-jar=%{libsubdir}/ecj.jar \
--disable-java-awt \
%if !%{biarch_libjava}
--disable-libjava-multilib \
%endif
%endif
--with-slibdir=/%{_lib} \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
--disable-libstdcxx-pch \
--enable-version-specific-runtime-libs \
%if 0%{suse_version} > 1100
--enable-linker-build-id \
%endif
--enable-linux-futex \
--program-suffix=%{binsuffix} \
%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
--without-system-libunwind \
%endif
%endif
%if 0%{?gcc_target_arch:1}
--program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
--with-sysroot=%sysroot \
%else
--with-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%if 0%{?build_sysroot:1}
--with-build-sysroot=%{build_sysroot} \
%else
%if 0%{?sysroot:1}
--with-build-sysroot=%{sysroot} \
%else
--with-build-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%endif
%if 0%{?canonical_target:1}
--with-build-time-tools=/usr/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
--with-newlib \
%endif
%endif
%if "%{TARGET_ARCH}" == "armv5tel"
--with-arch=armv5te \
--with-float=soft \
--with-mode=arm \
--with-abi=aapcs-linux \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv6hl"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"
--with-arch=armv7-a \
--with-tune=cortex-a15 \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
%if "%{TARGET_ARCH}" == "powerpc64le"
--with-cpu=power7 \
%else
--with-cpu-64=power4 \
%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
--disable-multilib \
%endif
%endif
%if "%{TARGET_ARCH}" == "sparc64"
--with-cpu=ultrasparc \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "sparc"
--with-cpu=v8 \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "i586"
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "x86_64"
--enable-multilib \
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "s390"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "s390x"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "m68k"
--disable-multilib \
%endif
--build=%{GCCDIST} \
--host=%{GCCDIST}
%if 0%{!?gcc_icecream:1}
make %{?jobs:-j%jobs}
%else
make %{?jobs:-j%jobs} all-host
%endif
%package -n cross-%cross_arch-gcc49-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc49-icecream-backend
This package contains the icecream environment for the GNU C Compiler
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
%install
cd obj-%{GCCDIST}
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
# with the present setup fixincludes are for the build includes which
# is wrong - get rid of them
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed
rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la
# common fixup
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
# remove docs
rm -rf $RPM_BUILD_ROOT%{_mandir}
rm -rf $RPM_BUILD_ROOT%{_infodir}
# install and fixup target parts
# ??? don't do this - debugedit is not prepared for this and crashes
# so expect the sysroot to be populated from natively built binaries
#%if 0%{?sysroot:1}
#make DESTDIR=$RPM_BUILD_ROOT/%{sysroot} install-target
#%else
#make DESTDIR=$RPM_BUILD_ROOT/%{_prefix}/%{gcc_target_arch} install-target
#%endif
# Build an icecream environment
# The assembler comes from the cross-binutils, and hence is _not_
# named funnily, not even on ppc, so there we need the original target
install -s -D %{_prefix}/bin/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}-as \
$RPM_BUILD_ROOT/env/usr/bin/as
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/g++
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so
fi
# Make sure to also pull in all shared library requirements for the
# binaries we put into the environment which is operated by chrooting
# into it and execing the compiler
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
done | sort -u `
for lib in $libs; do
# Check wether the same library also exists in the parent directory,
# and prefer that on the assumption that it is a more generic one.
baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'`
test -f "$baselib" && lib=$baselib
install -s -D $lib $RPM_BUILD_ROOT/env$lib
done
cd $RPM_BUILD_ROOT/env
tar cvzf ../%{name}_%{_arch}.tar.gz *
cd ..
mkdir -p usr/share/icecream-envs
mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs
rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc
rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils
rm -r env
%files
%defattr(-,root,root)
%{_prefix}/bin
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%files -n cross-%cross_arch-gcc49-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
%changelog
++++++ cross-s390-gcc49.spec ++++++
#
# spec file for package cross-s390-gcc49
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pkgname cross-s390-gcc49
%define cross_arch s390
%define gcc_target_arch s390-suse-linux
%define gcc_icecream 1
#
# spec file for package gcc (Version 4.0.1)
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#
%define build_cp 1
%define build_ada 0
%define build_libjava 0
%define build_java 0
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
%define build_go 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%define canonical_target_abi -gnueabi
%endif
%if 0%{?gcc_icecream:1}
%define build_sysroot /
%endif
Name: %{pkgname}
BuildRequires: bison
BuildRequires: cross-%{binutils_target}-binutils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext-devel
BuildRequires: glibc-devel-32bit
BuildRequires: mpc-devel
BuildRequires: mpfr-devel
BuildRequires: perl
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: cloog-isl-devel
BuildRequires: isl-devel
%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
%if 0%{!?gcc_icecream:1}
BuildRequires: cross-%cross_arch-glibc-devel
%endif
ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
%define _binary_payload w.ufdio
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define gcc_snapshot_revision %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/+/-/')
%define binsuffix -4.9
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: gcc-%{gcc_version}%{gcc_snapshot_revision}.tar.bz2
Source1: change_spec
Source2: libffi49-rpmlintrc
Source3: gcc49-rpmlintrc
Source4: ecj.jar
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
#testpatch begin
Patch1: gcc-dir-version.patch
Patch7: gcc-add-defaultsspec.diff
Patch8: Wunprototyped-calls.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
Patch57: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
%description
Core package for the GNU Compiler Collection, including the C language
frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
gcc-obj-c++.
# Define the canonical target and host architecture
# %gcc_target_arch is supposed to be the full target triple
# %cross_arch is supposed to be the rpm target variant arch
# %TARGET_ARCH will be the canonicalized target CPU part
# %HOST_ARCH will be the canonicalized host CPU part
%if 0%{?gcc_target_arch:1}
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%else
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%endif
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%ifarch ppc
%define GCCDIST powerpc64-suse-linux
%else
%ifarch %sparc
%define GCCDIST sparc64-suse-linux
%else
%ifarch %arm
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
%else
%define GCCDIST %{HOST_ARCH}-suse-linux
%endif
%endif
%endif
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
%prep
%setup -q -n gcc-%{gcc_version}%{gcc_snapshot_revision}
#test patching start
%patch1
%patch7
%patch8
%patch23
%patch24
%patch30
%patch33
%patch51
%patch55
%patch57
%patch60
%patch61
#test patching end
# We are configuring ppc as ppc64 but with switched multilibs. Adjust
# the libstdc++ abi testsuite baseline files accordingly
%ifarch ppc
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
fi
%endif
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
# Avoid fucking up testsuite results with Java and indirect dispatch
export SUSE_ASNEEDED=0
# Split version file into version used for directories (X.Y) and
# version to report with --version (X.Y.Z).
# See also gcc-dir-version.patch.
# Also decrement the patchlevel version by one if possible and remove
# the 'prerelease' tagging in this case
if test `cat gcc/DEV-PHASE` == "prerelease"; then
if test `cat gcc/BASE-VER | cut -d '.' -f 3` != "0"; then
: > gcc/DEV-PHASE
fi
( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER
else
mv gcc/BASE-VER gcc/FULL-VER
fi
cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
rm -rf obj-%{GCCDIST}
mkdir obj-%{GCCDIST}
cd obj-%{GCCDIST}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
%ifarch %ix86
# -mcpu is superceded by -mtune but -mtune is not supported by
# our bootstrap compiler. -mcpu gives a warning that stops
# the build process, so remove it for now. Also remove all other
# -march and -mtune flags. They are superseeded by proper
# default compiler settings now.
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
%endif
%ifarch s390 s390x
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
%endif
%if 0%{?gcc_target_arch:1}
# Kill all -march/tune/cpu because that screws building the target libs
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
%endif
# Replace 2 spaces by one finally
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
languages=c
%if %{build_cp}
languages=$languages,c++
%endif
%if %{build_objc}
languages=$languages,objc
%endif
%if %{build_fortran}
languages=$languages,fortran
%endif
%if %{build_objcp}
languages=$languages,obj-c++
%endif
%if %{build_java}
languages=$languages,java
%endif
%if %{build_ada}
languages=$languages,ada
%endif
%if %{build_go}
languages=$languages,go
%endif
J=%{?jobs:%jobs}
if test -z "$J"; then
J=$(getconf _NPROCESSORS_CONF)
JL=$(($J * 2))
else
test 1 -gt "$J" && J=1
JL=$(($(getconf _NPROCESSORS_CONF)*2))
fi
if test "$J" == "0"; then
J=1
fi
if test "$JL" == "0"; then
JL=1
fi
PARALLEL="-j$J -l$JL"
# we don't want some miscompiles in the testsuite, or some fault in
# the compiler to kill the machine. Hence we limit the amount of memory
# by the physical RAM plus half of swap
#MEM=$(free -m | awk '/^Mem:/ {print $2}')
#SWAP=$(free -m | awk '/^Swap:/ {print $2}')
#ulimit -v $(((MEM + SWAP/2)*1024))
# In general we want to ship release checking enabled compilers
# and run BETA with checking enabled.
ENABLE_CHECKING="--enable-checking=yes"
#ENABLE_CHECKING="--enable-checking=release"
# Work around tail/head -1 changes
export _POSIX2_VERSION=199209
%if %{build_ada}
# Using the host gnatmake like
# CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
# GNATMAKE="gnatmake%{hostsuffix}"
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
# available
mkdir -p host-tools/bin
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
ln -sf /usr/%{_lib} host-tools/%{_lib}
export PATH="`pwd`/host-tools/bin:$PATH"
%endif
#%if 0%{?gcc_target_arch:1}
#%else
# --enable-threads=posix \
#%endif
# --enable-shared \
%if "%{TARGET_ARCH}" == "armv7hl"
# temporary workaround for a miscompilation of hash functions in java code
GCJ_EXTRA_FLAGS="-marm"
%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
--enable-languages=$languages \
$ENABLE_CHECKING \
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
--enable-ssp \
--disable-libssp \
%if 0%{!?build_libvtv:1}
--disable-libvtv \
%endif
--disable-plugin \
--with-bugurl="http://bugs.opensuse.org/" \
--with-pkgversion="SUSE Linux" \
%if !%{build_libjava}
--disable-libgcj \
%else
--with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
--with-ecj-jar=%{libsubdir}/ecj.jar \
--disable-java-awt \
%if !%{biarch_libjava}
--disable-libjava-multilib \
%endif
%endif
--with-slibdir=/%{_lib} \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
--disable-libstdcxx-pch \
--enable-version-specific-runtime-libs \
%if 0%{suse_version} > 1100
--enable-linker-build-id \
%endif
--enable-linux-futex \
--program-suffix=%{binsuffix} \
%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
--without-system-libunwind \
%endif
%endif
%if 0%{?gcc_target_arch:1}
--program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
--with-sysroot=%sysroot \
%else
--with-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%if 0%{?build_sysroot:1}
--with-build-sysroot=%{build_sysroot} \
%else
%if 0%{?sysroot:1}
--with-build-sysroot=%{sysroot} \
%else
--with-build-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%endif
%if 0%{?canonical_target:1}
--with-build-time-tools=/usr/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
--with-newlib \
%endif
%endif
%if "%{TARGET_ARCH}" == "armv5tel"
--with-arch=armv5te \
--with-float=soft \
--with-mode=arm \
--with-abi=aapcs-linux \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv6hl"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"
--with-arch=armv7-a \
--with-tune=cortex-a15 \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
%if "%{TARGET_ARCH}" == "powerpc64le"
--with-cpu=power7 \
%else
--with-cpu-64=power4 \
%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
--disable-multilib \
%endif
%endif
%if "%{TARGET_ARCH}" == "sparc64"
--with-cpu=ultrasparc \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "sparc"
--with-cpu=v8 \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "i586"
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "x86_64"
--enable-multilib \
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "s390"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "s390x"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "m68k"
--disable-multilib \
%endif
--build=%{GCCDIST} \
--host=%{GCCDIST}
%if 0%{!?gcc_icecream:1}
make %{?jobs:-j%jobs}
%else
make %{?jobs:-j%jobs} all-host
%endif
%package -n cross-%cross_arch-gcc49-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc49-icecream-backend
This package contains the icecream environment for the GNU C Compiler
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
%install
cd obj-%{GCCDIST}
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
# with the present setup fixincludes are for the build includes which
# is wrong - get rid of them
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed
rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la
# common fixup
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
# remove docs
rm -rf $RPM_BUILD_ROOT%{_mandir}
rm -rf $RPM_BUILD_ROOT%{_infodir}
# install and fixup target parts
# ??? don't do this - debugedit is not prepared for this and crashes
# so expect the sysroot to be populated from natively built binaries
#%if 0%{?sysroot:1}
#make DESTDIR=$RPM_BUILD_ROOT/%{sysroot} install-target
#%else
#make DESTDIR=$RPM_BUILD_ROOT/%{_prefix}/%{gcc_target_arch} install-target
#%endif
# Build an icecream environment
# The assembler comes from the cross-binutils, and hence is _not_
# named funnily, not even on ppc, so there we need the original target
install -s -D %{_prefix}/bin/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}-as \
$RPM_BUILD_ROOT/env/usr/bin/as
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/g++
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so
fi
# Make sure to also pull in all shared library requirements for the
# binaries we put into the environment which is operated by chrooting
# into it and execing the compiler
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
done | sort -u `
for lib in $libs; do
# Check wether the same library also exists in the parent directory,
# and prefer that on the assumption that it is a more generic one.
baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'`
test -f "$baselib" && lib=$baselib
install -s -D $lib $RPM_BUILD_ROOT/env$lib
done
cd $RPM_BUILD_ROOT/env
tar cvzf ../%{name}_%{_arch}.tar.gz *
cd ..
mkdir -p usr/share/icecream-envs
mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs
rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc
rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils
rm -r env
%files
%defattr(-,root,root)
%{_prefix}/bin
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%files -n cross-%cross_arch-gcc49-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
%changelog
++++++ cross-s390x-gcc49.spec ++++++
#
# spec file for package cross-s390x-gcc49
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pkgname cross-s390x-gcc49
%define cross_arch s390x
%define gcc_target_arch s390x-suse-linux
%define gcc_icecream 1
#
# spec file for package gcc (Version 4.0.1)
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#
%define build_cp 1
%define build_ada 0
%define build_libjava 0
%define build_java 0
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
%define build_go 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%define canonical_target_abi -gnueabi
%endif
%if 0%{?gcc_icecream:1}
%define build_sysroot /
%endif
Name: %{pkgname}
BuildRequires: bison
BuildRequires: cross-%{binutils_target}-binutils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext-devel
BuildRequires: glibc-devel-32bit
BuildRequires: mpc-devel
BuildRequires: mpfr-devel
BuildRequires: perl
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: cloog-isl-devel
BuildRequires: isl-devel
%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
%if 0%{!?gcc_icecream:1}
BuildRequires: cross-%cross_arch-glibc-devel
%endif
ExclusiveArch: ppc64 x86_64 ia64 aarch64
%define _binary_payload w.ufdio
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define gcc_snapshot_revision %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/+/-/')
%define binsuffix -4.9
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: gcc-%{gcc_version}%{gcc_snapshot_revision}.tar.bz2
Source1: change_spec
Source2: libffi49-rpmlintrc
Source3: gcc49-rpmlintrc
Source4: ecj.jar
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
#testpatch begin
Patch1: gcc-dir-version.patch
Patch7: gcc-add-defaultsspec.diff
Patch8: Wunprototyped-calls.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
Patch57: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
%description
Core package for the GNU Compiler Collection, including the C language
frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
gcc-obj-c++.
# Define the canonical target and host architecture
# %gcc_target_arch is supposed to be the full target triple
# %cross_arch is supposed to be the rpm target variant arch
# %TARGET_ARCH will be the canonicalized target CPU part
# %HOST_ARCH will be the canonicalized host CPU part
%if 0%{?gcc_target_arch:1}
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%else
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%endif
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%ifarch ppc
%define GCCDIST powerpc64-suse-linux
%else
%ifarch %sparc
%define GCCDIST sparc64-suse-linux
%else
%ifarch %arm
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
%else
%define GCCDIST %{HOST_ARCH}-suse-linux
%endif
%endif
%endif
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
%prep
%setup -q -n gcc-%{gcc_version}%{gcc_snapshot_revision}
#test patching start
%patch1
%patch7
%patch8
%patch23
%patch24
%patch30
%patch33
%patch51
%patch55
%patch57
%patch60
%patch61
#test patching end
# We are configuring ppc as ppc64 but with switched multilibs. Adjust
# the libstdc++ abi testsuite baseline files accordingly
%ifarch ppc
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
fi
%endif
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
# Avoid fucking up testsuite results with Java and indirect dispatch
export SUSE_ASNEEDED=0
# Split version file into version used for directories (X.Y) and
# version to report with --version (X.Y.Z).
# See also gcc-dir-version.patch.
# Also decrement the patchlevel version by one if possible and remove
# the 'prerelease' tagging in this case
if test `cat gcc/DEV-PHASE` == "prerelease"; then
if test `cat gcc/BASE-VER | cut -d '.' -f 3` != "0"; then
: > gcc/DEV-PHASE
fi
( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER
else
mv gcc/BASE-VER gcc/FULL-VER
fi
cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
rm -rf obj-%{GCCDIST}
mkdir obj-%{GCCDIST}
cd obj-%{GCCDIST}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
%ifarch %ix86
# -mcpu is superceded by -mtune but -mtune is not supported by
# our bootstrap compiler. -mcpu gives a warning that stops
# the build process, so remove it for now. Also remove all other
# -march and -mtune flags. They are superseeded by proper
# default compiler settings now.
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
%endif
%ifarch s390 s390x
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
%endif
%if 0%{?gcc_target_arch:1}
# Kill all -march/tune/cpu because that screws building the target libs
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
%endif
# Replace 2 spaces by one finally
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
languages=c
%if %{build_cp}
languages=$languages,c++
%endif
%if %{build_objc}
languages=$languages,objc
%endif
%if %{build_fortran}
languages=$languages,fortran
%endif
%if %{build_objcp}
languages=$languages,obj-c++
%endif
%if %{build_java}
languages=$languages,java
%endif
%if %{build_ada}
languages=$languages,ada
%endif
%if %{build_go}
languages=$languages,go
%endif
J=%{?jobs:%jobs}
if test -z "$J"; then
J=$(getconf _NPROCESSORS_CONF)
JL=$(($J * 2))
else
test 1 -gt "$J" && J=1
JL=$(($(getconf _NPROCESSORS_CONF)*2))
fi
if test "$J" == "0"; then
J=1
fi
if test "$JL" == "0"; then
JL=1
fi
PARALLEL="-j$J -l$JL"
# we don't want some miscompiles in the testsuite, or some fault in
# the compiler to kill the machine. Hence we limit the amount of memory
# by the physical RAM plus half of swap
#MEM=$(free -m | awk '/^Mem:/ {print $2}')
#SWAP=$(free -m | awk '/^Swap:/ {print $2}')
#ulimit -v $(((MEM + SWAP/2)*1024))
# In general we want to ship release checking enabled compilers
# and run BETA with checking enabled.
ENABLE_CHECKING="--enable-checking=yes"
#ENABLE_CHECKING="--enable-checking=release"
# Work around tail/head -1 changes
export _POSIX2_VERSION=199209
%if %{build_ada}
# Using the host gnatmake like
# CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
# GNATMAKE="gnatmake%{hostsuffix}"
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
# available
mkdir -p host-tools/bin
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
ln -sf /usr/%{_lib} host-tools/%{_lib}
export PATH="`pwd`/host-tools/bin:$PATH"
%endif
#%if 0%{?gcc_target_arch:1}
#%else
# --enable-threads=posix \
#%endif
# --enable-shared \
%if "%{TARGET_ARCH}" == "armv7hl"
# temporary workaround for a miscompilation of hash functions in java code
GCJ_EXTRA_FLAGS="-marm"
%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
--enable-languages=$languages \
$ENABLE_CHECKING \
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
--enable-ssp \
--disable-libssp \
%if 0%{!?build_libvtv:1}
--disable-libvtv \
%endif
--disable-plugin \
--with-bugurl="http://bugs.opensuse.org/" \
--with-pkgversion="SUSE Linux" \
%if !%{build_libjava}
--disable-libgcj \
%else
--with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
--with-ecj-jar=%{libsubdir}/ecj.jar \
--disable-java-awt \
%if !%{biarch_libjava}
--disable-libjava-multilib \
%endif
%endif
--with-slibdir=/%{_lib} \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
--disable-libstdcxx-pch \
--enable-version-specific-runtime-libs \
%if 0%{suse_version} > 1100
--enable-linker-build-id \
%endif
--enable-linux-futex \
--program-suffix=%{binsuffix} \
%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
--without-system-libunwind \
%endif
%endif
%if 0%{?gcc_target_arch:1}
--program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
--with-sysroot=%sysroot \
%else
--with-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%if 0%{?build_sysroot:1}
--with-build-sysroot=%{build_sysroot} \
%else
%if 0%{?sysroot:1}
--with-build-sysroot=%{sysroot} \
%else
--with-build-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%endif
%if 0%{?canonical_target:1}
--with-build-time-tools=/usr/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
--with-newlib \
%endif
%endif
%if "%{TARGET_ARCH}" == "armv5tel"
--with-arch=armv5te \
--with-float=soft \
--with-mode=arm \
--with-abi=aapcs-linux \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv6hl"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"
--with-arch=armv7-a \
--with-tune=cortex-a15 \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
%if "%{TARGET_ARCH}" == "powerpc64le"
--with-cpu=power7 \
%else
--with-cpu-64=power4 \
%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
--disable-multilib \
%endif
%endif
%if "%{TARGET_ARCH}" == "sparc64"
--with-cpu=ultrasparc \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "sparc"
--with-cpu=v8 \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "i586"
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "x86_64"
--enable-multilib \
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "s390"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "s390x"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "m68k"
--disable-multilib \
%endif
--build=%{GCCDIST} \
--host=%{GCCDIST}
%if 0%{!?gcc_icecream:1}
make %{?jobs:-j%jobs}
%else
make %{?jobs:-j%jobs} all-host
%endif
%package -n cross-%cross_arch-gcc49-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc49-icecream-backend
This package contains the icecream environment for the GNU C Compiler
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
%install
cd obj-%{GCCDIST}
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
# with the present setup fixincludes are for the build includes which
# is wrong - get rid of them
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed
rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la
# common fixup
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
# remove docs
rm -rf $RPM_BUILD_ROOT%{_mandir}
rm -rf $RPM_BUILD_ROOT%{_infodir}
# install and fixup target parts
# ??? don't do this - debugedit is not prepared for this and crashes
# so expect the sysroot to be populated from natively built binaries
#%if 0%{?sysroot:1}
#make DESTDIR=$RPM_BUILD_ROOT/%{sysroot} install-target
#%else
#make DESTDIR=$RPM_BUILD_ROOT/%{_prefix}/%{gcc_target_arch} install-target
#%endif
# Build an icecream environment
# The assembler comes from the cross-binutils, and hence is _not_
# named funnily, not even on ppc, so there we need the original target
install -s -D %{_prefix}/bin/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}-as \
$RPM_BUILD_ROOT/env/usr/bin/as
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/g++
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so
fi
# Make sure to also pull in all shared library requirements for the
# binaries we put into the environment which is operated by chrooting
# into it and execing the compiler
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
done | sort -u `
for lib in $libs; do
# Check wether the same library also exists in the parent directory,
# and prefer that on the assumption that it is a more generic one.
baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'`
test -f "$baselib" && lib=$baselib
install -s -D $lib $RPM_BUILD_ROOT/env$lib
done
cd $RPM_BUILD_ROOT/env
tar cvzf ../%{name}_%{_arch}.tar.gz *
cd ..
mkdir -p usr/share/icecream-envs
mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs
rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc
rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils
rm -r env
%files
%defattr(-,root,root)
%{_prefix}/bin
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%files -n cross-%cross_arch-gcc49-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
%changelog
++++++ cross-x86_64-gcc49.spec ++++++
#
# spec file for package cross-x86_64-gcc49
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define pkgname cross-x86_64-gcc49
%define cross_arch x86_64
%define gcc_target_arch x86_64-suse-linux
%define gcc_icecream 1
#
# spec file for package gcc (Version 4.0.1)
#
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#
%define build_cp 1
%define build_ada 0
%define build_libjava 0
%define build_java 0
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
%define build_go 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv6l" || %{cross_arch} == "armv6hl"
%define binutils_target arm
%endif
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
%define canonical_target %(echo %{binutils_target} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%if %{binutils_target} == "arm"
%define canonical_target_abi -gnueabi
%endif
%if 0%{?gcc_icecream:1}
%define build_sysroot /
%endif
Name: %{pkgname}
BuildRequires: bison
BuildRequires: cross-%{binutils_target}-binutils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: gettext-devel
BuildRequires: glibc-devel-32bit
BuildRequires: mpc-devel
BuildRequires: mpfr-devel
BuildRequires: perl
%if %{suse_version} > 1220
BuildRequires: makeinfo
%else
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: cloog-isl-devel
BuildRequires: isl-devel
%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
%if 0%{!?gcc_icecream:1}
BuildRequires: cross-%cross_arch-glibc-devel
%endif
ExclusiveArch: ppc64 ia64 s390x aarch64
%define _binary_payload w.ufdio
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
%define gcc_snapshot_revision %(echo %version | sed 's/[34]\.[0-9]\.[0-6]//' | sed 's/+/-/')
%define binsuffix -4.9
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: gcc-%{gcc_version}%{gcc_snapshot_revision}.tar.bz2
Source1: change_spec
Source2: libffi49-rpmlintrc
Source3: gcc49-rpmlintrc
Source4: ecj.jar
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
#testpatch begin
Patch1: gcc-dir-version.patch
Patch7: gcc-add-defaultsspec.diff
Patch8: Wunprototyped-calls.diff
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
Patch57: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
Patch60: gcc44-textdomain.patch
Patch61: gcc44-rename-info-files.patch
#testpatch end
Summary: The GNU C Compiler and Support Files
License: GPL-3.0+
Group: Development/Languages/C and C++
%description
Core package for the GNU Compiler Collection, including the C language
frontend.
Language frontends other than C are split to different sub-packages,
namely gcc-ada, gcc-c++, gcc-fortran, gcc-java, gcc-objc and
gcc-obj-c++.
# Define the canonical target and host architecture
# %gcc_target_arch is supposed to be the full target triple
# %cross_arch is supposed to be the rpm target variant arch
# %TARGET_ARCH will be the canonicalized target CPU part
# %HOST_ARCH will be the canonicalized host CPU part
%if 0%{?gcc_target_arch:1}
%define TARGET_ARCH %(echo %{cross_arch} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%else
%define TARGET_ARCH %(echo %{_target_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%endif
%define biarch %(case " %{biarch_targets} " in (*" %{TARGET_ARCH} "*) echo 1;; (*) echo 0;; esac)
%define HOST_ARCH %(echo %{_host_cpu} | sed -e "s/i.86/i586/;s/ppc/powerpc/;s/sparc64.*/sparc64/;s/sparcv.*/sparc/;")
%ifarch ppc
%define GCCDIST powerpc64-suse-linux
%else
%ifarch %sparc
%define GCCDIST sparc64-suse-linux
%else
%ifarch %arm
%define GCCDIST %{HOST_ARCH}-suse-linux-gnueabi
%else
%define GCCDIST %{HOST_ARCH}-suse-linux
%endif
%endif
%endif
%define libsubdir %{_libdir}/gcc/%{GCCDIST}/%{gcc_dir_version}
%define gxxinclude %{_prefix}/include/c++/%{gcc_dir_version}
%prep
%setup -q -n gcc-%{gcc_version}%{gcc_snapshot_revision}
#test patching start
%patch1
%patch7
%patch8
%patch23
%patch24
%patch30
%patch33
%patch51
%patch55
%patch57
%patch60
%patch61
#test patching end
# We are configuring ppc as ppc64 but with switched multilibs. Adjust
# the libstdc++ abi testsuite baseline files accordingly
%ifarch ppc
if [ -d libstdc++-v3/config/abi/post/powerpc64-linux-gnu ]; then
mkdir -p libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/64/
mv libstdc++-v3/config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt \
libstdc++-v3/config/abi/post/powerpc64-linux-gnu/
fi
%endif
%build
# Avoid rebuilding of generated files
contrib/gcc_update --touch
# Avoid fucking up testsuite results with Java and indirect dispatch
export SUSE_ASNEEDED=0
# Split version file into version used for directories (X.Y) and
# version to report with --version (X.Y.Z).
# See also gcc-dir-version.patch.
# Also decrement the patchlevel version by one if possible and remove
# the 'prerelease' tagging in this case
if test `cat gcc/DEV-PHASE` == "prerelease"; then
if test `cat gcc/BASE-VER | cut -d '.' -f 3` != "0"; then
: > gcc/DEV-PHASE
fi
( cat gcc/BASE-VER | cut -d '.' -f 1-2 | tr -d '\n'; echo -n .; cat gcc/BASE-VER | cut -d '.' -f 3 | tr '0123456789' '0012345678' ) > gcc/FULL-VER
else
mv gcc/BASE-VER gcc/FULL-VER
fi
cat gcc/FULL-VER | cut -d '.' -f 1-2 > gcc/BASE-VER
rm -rf obj-%{GCCDIST}
mkdir obj-%{GCCDIST}
cd obj-%{GCCDIST}
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g' -e 's/-Wmissing-format-attribute//g' -e 's/-fstack-protector//g' -e 's/-ffortify=.//g' -e 's/-Wall//g' -e 's/-m32//g' -e 's/-m64//g'`
%ifarch %ix86
# -mcpu is superceded by -mtune but -mtune is not supported by
# our bootstrap compiler. -mcpu gives a warning that stops
# the build process, so remove it for now. Also remove all other
# -march and -mtune flags. They are superseeded by proper
# default compiler settings now.
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-mcpu=i.86//g' -e 's/-march=i.86//g' -e 's/-mtune=i.86//g'`
%endif
%ifarch s390 s390x
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fsigned-char//g'`
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-O1/-O2/g'`
%endif
%if 0%{?gcc_target_arch:1}
# Kill all -march/tune/cpu because that screws building the target libs
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-m\(arch\|tune\|cpu\)=[^ ]*//g'`
%endif
# Replace 2 spaces by one finally
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/ / /g'`
languages=c
%if %{build_cp}
languages=$languages,c++
%endif
%if %{build_objc}
languages=$languages,objc
%endif
%if %{build_fortran}
languages=$languages,fortran
%endif
%if %{build_objcp}
languages=$languages,obj-c++
%endif
%if %{build_java}
languages=$languages,java
%endif
%if %{build_ada}
languages=$languages,ada
%endif
%if %{build_go}
languages=$languages,go
%endif
J=%{?jobs:%jobs}
if test -z "$J"; then
J=$(getconf _NPROCESSORS_CONF)
JL=$(($J * 2))
else
test 1 -gt "$J" && J=1
JL=$(($(getconf _NPROCESSORS_CONF)*2))
fi
if test "$J" == "0"; then
J=1
fi
if test "$JL" == "0"; then
JL=1
fi
PARALLEL="-j$J -l$JL"
# we don't want some miscompiles in the testsuite, or some fault in
# the compiler to kill the machine. Hence we limit the amount of memory
# by the physical RAM plus half of swap
#MEM=$(free -m | awk '/^Mem:/ {print $2}')
#SWAP=$(free -m | awk '/^Swap:/ {print $2}')
#ulimit -v $(((MEM + SWAP/2)*1024))
# In general we want to ship release checking enabled compilers
# and run BETA with checking enabled.
ENABLE_CHECKING="--enable-checking=yes"
#ENABLE_CHECKING="--enable-checking=release"
# Work around tail/head -1 changes
export _POSIX2_VERSION=199209
%if %{build_ada}
# Using the host gnatmake like
# CC="gcc%{hostsuffix}" GNATBIND="gnatbind%{hostsuffix}"
# GNATMAKE="gnatmake%{hostsuffix}"
# doesn't work due to PR33857, so an un-suffixed gnatmake has to be
# available
mkdir -p host-tools/bin
cp -a /usr/bin/gnatmake%{hostsuffix} host-tools/bin/gnatmake
cp -a /usr/bin/gnatlink%{hostsuffix} host-tools/bin/gnatlink
cp -a /usr/bin/gnatbind%{hostsuffix} host-tools/bin/gnatbind
cp -a /usr/bin/gcc%{hostsuffix} host-tools/bin/gcc
ln -sf /usr/%{_lib} host-tools/%{_lib}
export PATH="`pwd`/host-tools/bin:$PATH"
%endif
#%if 0%{?gcc_target_arch:1}
#%else
# --enable-threads=posix \
#%endif
# --enable-shared \
%if "%{TARGET_ARCH}" == "armv7hl"
# temporary workaround for a miscompilation of hash functions in java code
GCJ_EXTRA_FLAGS="-marm"
%endif
CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" XCFLAGS="$RPM_OPT_FLAGS" \
TCFLAGS="$RPM_OPT_FLAGS" GCJFLAGS="$RPM_OPT_FLAGS $GCJ_EXTRA_FLAGS" \
../configure \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--libexecdir=%{_libdir} \
--enable-languages=$languages \
$ENABLE_CHECKING \
--with-gxx-include-dir=%{_prefix}/include/c++/%{gcc_dir_version} \
--enable-ssp \
--disable-libssp \
%if 0%{!?build_libvtv:1}
--disable-libvtv \
%endif
--disable-plugin \
--with-bugurl="http://bugs.opensuse.org/" \
--with-pkgversion="SUSE Linux" \
%if !%{build_libjava}
--disable-libgcj \
%else
--with-java-home=%{_libdir}/jvm/java-1.5.0-gcj%{binsuffix}-1.5.0.0/jre \
--with-ecj-jar=%{libsubdir}/ecj.jar \
--disable-java-awt \
%if !%{biarch_libjava}
--disable-libjava-multilib \
%endif
%endif
--with-slibdir=/%{_lib} \
--with-system-zlib \
--enable-__cxa_atexit \
--enable-libstdcxx-allocator=new \
--disable-libstdcxx-pch \
--enable-version-specific-runtime-libs \
%if 0%{suse_version} > 1100
--enable-linker-build-id \
%endif
--enable-linux-futex \
--program-suffix=%{binsuffix} \
%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
--without-system-libunwind \
%endif
%endif
%if 0%{?gcc_target_arch:1}
--program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
--with-sysroot=%sysroot \
%else
--with-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%if 0%{?build_sysroot:1}
--with-build-sysroot=%{build_sysroot} \
%else
%if 0%{?sysroot:1}
--with-build-sysroot=%{sysroot} \
%else
--with-build-sysroot=%{_prefix}/%{gcc_target_arch} \
%endif
%endif
%if 0%{?canonical_target:1}
--with-build-time-tools=/usr/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
--with-newlib \
%endif
%endif
%if "%{TARGET_ARCH}" == "armv5tel"
--with-arch=armv5te \
--with-float=soft \
--with-mode=arm \
--with-abi=aapcs-linux \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv6hl"
--with-arch=armv6zk \
--with-tune=arm1176jzf-s \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfp \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "armv7hl"
--with-arch=armv7-a \
--with-tune=cortex-a15 \
--with-float=hard \
--with-abi=aapcs-linux \
--with-fpu=vfpv3-d16 \
--disable-sjlj-exceptions \
%endif
%if "%{TARGET_ARCH}" == "powerpc" || "%{TARGET_ARCH}" == "powerpc64" || "%{TARGET_ARCH}" == "powerpc64le"
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
%if "%{TARGET_ARCH}" == "powerpc64le"
--with-cpu=power7 \
%else
--with-cpu-64=power4 \
%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
--disable-multilib \
%endif
%endif
%if "%{TARGET_ARCH}" == "sparc64"
--with-cpu=ultrasparc \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "sparc"
--with-cpu=v8 \
--with-long-double-128 \
%endif
%if "%{TARGET_ARCH}" == "i586"
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "x86_64"
--enable-multilib \
--with-arch-32=i586 \
--with-tune=generic \
%endif
%if "%{TARGET_ARCH}" == "s390"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "s390x"
--with-tune=zEC12 --with-arch=z196 \
--with-long-double-128 \
--enable-decimal-float \
%endif
%if "%{TARGET_ARCH}" == "m68k"
--disable-multilib \
%endif
--build=%{GCCDIST} \
--host=%{GCCDIST}
%if 0%{!?gcc_icecream:1}
make %{?jobs:-j%jobs}
%else
make %{?jobs:-j%jobs} all-host
%endif
%package -n cross-%cross_arch-gcc49-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc49-icecream-backend
This package contains the icecream environment for the GNU C Compiler
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
%install
cd obj-%{GCCDIST}
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
# with the present setup fixincludes are for the build includes which
# is wrong - get rid of them
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed
rm -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.la
# common fixup
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty.a
# remove docs
rm -rf $RPM_BUILD_ROOT%{_mandir}
rm -rf $RPM_BUILD_ROOT%{_infodir}
# install and fixup target parts
# ??? don't do this - debugedit is not prepared for this and crashes
# so expect the sysroot to be populated from natively built binaries
#%if 0%{?sysroot:1}
#make DESTDIR=$RPM_BUILD_ROOT/%{sysroot} install-target
#%else
#make DESTDIR=$RPM_BUILD_ROOT/%{_prefix}/%{gcc_target_arch} install-target
#%endif
# Build an icecream environment
# The assembler comes from the cross-binutils, and hence is _not_
# named funnily, not even on ppc, so there we need the original target
install -s -D %{_prefix}/bin/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}-as \
$RPM_BUILD_ROOT/env/usr/bin/as
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/g++
install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/$back \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/$back
done
if test -f $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so; then
install -s -D $RPM_BUILD_ROOT/%{targetlibsubdir}/liblto_plugin.so \
$RPM_BUILD_ROOT/env%{targetlibsubdir}/liblto_plugin.so
fi
# Make sure to also pull in all shared library requirements for the
# binaries we put into the environment which is operated by chrooting
# into it and execing the compiler
libs=`for bin in $RPM_BUILD_ROOT/env/usr/bin/* $RPM_BUILD_ROOT/env%{targetlibsubdir}/*; do \
ldd $bin | sed -n '\,^[^/]*\(/[^ ]*\).*,{ s//\1/; p; }' ;\
done | sort -u `
for lib in $libs; do
# Check wether the same library also exists in the parent directory,
# and prefer that on the assumption that it is a more generic one.
baselib=`echo "$lib" | sed 's,/[^/]*\(/[^/]*\)$,\1,'`
test -f "$baselib" && lib=$baselib
install -s -D $lib $RPM_BUILD_ROOT/env$lib
done
cd $RPM_BUILD_ROOT/env
tar cvzf ../%{name}_%{_arch}.tar.gz *
cd ..
mkdir -p usr/share/icecream-envs
mv %{name}_%{_arch}.tar.gz usr/share/icecream-envs
rpm -q --changelog glibc > usr/share/icecream-envs/%{name}_%{_arch}.glibc
rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils
rm -r env
%files
%defattr(-,root,root)
%{_prefix}/bin
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
%files -n cross-%cross_arch-gcc49-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
%changelog
++++++ gcc49-testresults.spec ++++++
--- /var/tmp/diff_new_pack.LfAjTH/_old 2014-04-22 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.LfAjTH/_new 2014-04-22 11:54:44.000000000 +0200
@@ -238,7 +238,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.9.0+r208745
+Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -296,6 +296,7 @@
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
+Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -413,6 +414,7 @@
%patch23
%patch24
%patch30
+%patch33
%patch51
%patch55
%patch57
@@ -593,8 +595,8 @@
--enable-linker-build-id \
%endif
--enable-linux-futex \
-%if 0%{!?gcc_target_arch:1}
--program-suffix=%{binsuffix} \
+%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
@@ -602,6 +604,7 @@
%endif
%endif
%if 0%{?gcc_target_arch:1}
+ --program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
@@ -653,9 +656,11 @@
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
- --with-cpu-32=power7 \
- --with-cpu-64=power7 \
- --with-tune=power7 \
+%if "%{TARGET_ARCH}" == "powerpc64le"
+ --with-cpu=power7 \
+%else
+ --with-cpu-64=power4 \
+%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
++++++ gcc49.spec ++++++
--- /var/tmp/diff_new_pack.LfAjTH/_old 2014-04-22 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.LfAjTH/_new 2014-04-22 11:54:44.000000000 +0200
@@ -220,7 +220,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.9.0+r208745
+Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -278,6 +278,7 @@
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
+Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -464,9 +465,6 @@
# Only one package may provide this - allows multiple gcc versions
# to co-exist without an overly large list of provides/obsoletes
Conflicts: %selfconflict libgcc_s%{libgcc_s}
-# Old libgcc packages provided a wrong shlib policy compatible name
-Provides: libgcc%{libgcc_s} = %{version}-%{release}
-Conflicts: %selfconflict libgcc%{libgcc_s}
%description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}
Libgcc is needed for dynamically linked C programs.
@@ -482,9 +480,6 @@
# Only one package may provide this - allows multiple gcc versions
# to co-exist without an overly large list of provides/obsoletes
Conflicts: %selfconflict libgcc_s%{libgcc_s}-32bit
-# Old libgcc packages provided a wrong shlib policy compatible name
-Provides: libgcc%{libgcc_s}-32bit = %{version}-%{release}
-Conflicts: %selfconflict libgcc%{libgcc_s}-32bit
%description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-32bit
Libgcc is needed for dynamically linked C programs.
@@ -500,9 +495,6 @@
# Only one package may provide this - allows multiple gcc versions
# to co-exist without an overly large list of provides/obsoletes
Conflicts: %selfconflict libgcc_s%{libgcc_s}-64bit
-# Old libgcc packages provided a wrong shlib policy compatible name
-Provides: libgcc%{libgcc_s}-64bit = %{version}-%{release}
-Conflicts: %selfconflict libgcc%{libgcc_s}-64bit
%description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}-64bit
Libgcc is needed for dynamically linked C programs.
@@ -1733,6 +1725,7 @@
%patch23
%patch24
%patch30
+%patch33
%patch51
%patch55
%patch57
@@ -1913,8 +1906,8 @@
--enable-linker-build-id \
%endif
--enable-linux-futex \
-%if 0%{!?gcc_target_arch:1}
--program-suffix=%{binsuffix} \
+%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
@@ -1922,6 +1915,7 @@
%endif
%endif
%if 0%{?gcc_target_arch:1}
+ --program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
@@ -1973,9 +1967,11 @@
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
- --with-cpu-32=power7 \
- --with-cpu-64=power7 \
- --with-tune=power7 \
+%if "%{TARGET_ARCH}" == "powerpc64le"
+ --with-cpu=power7 \
+%else
+ --with-cpu-64=power4 \
+%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
@@ -2645,6 +2641,7 @@
%ifarch %cilkrts_arch
%versmainlib libcilkrts.so
%versmainlib libcilkrts.a
+%versmainlib libcilkrts.spec
%endif
%ifarch %lsan_arch
%versmainlib liblsan.so
@@ -2695,6 +2692,7 @@
%ifarch %cilkrts_arch
%versbiarchlib libcilkrts.a
%versbiarchlib libcilkrts.so
+%versbiarchlib libcilkrts.spec
%endif
%if 0
%ifarch %tsan_arch
++++++ libffi49.spec ++++++
--- /var/tmp/diff_new_pack.LfAjTH/_old 2014-04-22 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.LfAjTH/_new 2014-04-22 11:54:44.000000000 +0200
@@ -237,7 +237,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.9.0+r208745
+Version: 4.9.0+r209354
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -295,6 +295,7 @@
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
+Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -575,6 +576,7 @@
%patch23
%patch24
%patch30
+%patch33
%patch51
%patch55
%patch57
@@ -755,8 +757,8 @@
--enable-linker-build-id \
%endif
--enable-linux-futex \
-%if 0%{!?gcc_target_arch:1}
--program-suffix=%{binsuffix} \
+%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
@@ -764,6 +766,7 @@
%endif
%endif
%if 0%{?gcc_target_arch:1}
+ --program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
@@ -815,9 +818,11 @@
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
- --with-cpu-32=power7 \
- --with-cpu-64=power7 \
- --with-tune=power7 \
+%if "%{TARGET_ARCH}" == "powerpc64le"
+ --with-cpu=power7 \
+%else
+ --with-cpu-64=power4 \
+%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
libgcj49.spec: same change
++++++ change_spec ++++++
--- /var/tmp/diff_new_pack.LfAjTH/_old 2014-04-22 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.LfAjTH/_new 2014-04-22 11:54:44.000000000 +0200
@@ -1,6 +1,6 @@
#!/bin/bash
-do_icecream=0
+do_icecream=1
do_cross_static=0
do_cross_shared=1
do_optional_compiler_languages=0
@@ -130,18 +130,16 @@
#
# For now keep the old way of doing things
if test "$do_icecream" = 1 ; then
-add_cross cross-aarch64-gcc$base_ver-icecream-backend aarch64 aarch64-suse-linux %define gcc_icecream 1
-add_cross cross-armv6hl-gcc$base_ver-icecream-backend armv6hl armv6hl-suse-linux-gnueabi %define gcc_icecream 1
-add_cross cross-armv7hl-gcc$base_ver-icecream-backend armv7hl armv7hl-suse-linux-gnueabi %define gcc_icecream 1
-add_cross cross-hppa-gcc$base_ver-icecream-backend hppa hppa-suse-linux %define gcc_icecream 1
-add_cross cross-i386-gcc$base_ver-icecream-backend i386 i586-suse-linux %define gcc_icecream 1
-add_cross cross-x86_64-gcc$base_ver-icecream-backend x86_64 x86_64-suse-linux %define gcc_icecream 1
-add_cross cross-s390-gcc$base_ver-icecream-backend s390 s390-suse-linux %define gcc_icecream 1
-add_cross cross-s390x-gcc$base_ver-icecream-backend s390x s390x-suse-linux %define gcc_icecream 1
-add_cross cross-ppc-gcc$base_ver-icecream-backend ppc powerpc64-suse-linux %define gcc_icecream 1
-add_cross cross-ppc64-gcc$base_ver-icecream-backend ppc64 powerpc64-suse-linux %define gcc_icecream 1
-add_cross cross-ppc64le-gcc$base_ver-icecream-backend ppc64le powerpc64le-suse-linux %define gcc_icecream 1
-add_cross cross-ia64-gcc$base_ver-icecream-backend ia64 ia64-suse-linux %define gcc_icecream 1
+add_cross cross-aarch64-gcc$base_ver aarch64 aarch64-suse-linux %define gcc_icecream 1
+add_cross cross-armv6hl-gcc$base_ver armv6hl armv6hl-suse-linux-gnueabi %define gcc_icecream 1
+add_cross cross-armv7hl-gcc$base_ver armv7hl armv7hl-suse-linux-gnueabi %define gcc_icecream 1
+add_cross cross-i386-gcc$base_ver i386 i586-suse-linux %define gcc_icecream 1
+add_cross cross-x86_64-gcc$base_ver x86_64 x86_64-suse-linux %define gcc_icecream 1
+add_cross cross-s390-gcc$base_ver s390 s390-suse-linux %define gcc_icecream 1
+add_cross cross-s390x-gcc$base_ver s390x s390x-suse-linux %define gcc_icecream 1
+add_cross cross-ppc-gcc$base_ver ppc powerpc64-suse-linux %define gcc_icecream 1
+add_cross cross-ppc64-gcc$base_ver ppc64 powerpc64-suse-linux %define gcc_icecream 1
+add_cross cross-ppc64le-gcc$base_ver ppc64le powerpc64le-suse-linux %define gcc_icecream 1
fi
for f in *.spec; do
++++++ cross.spec.in ++++++
--- /var/tmp/diff_new_pack.LfAjTH/_old 2014-04-22 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.LfAjTH/_new 2014-04-22 11:54:44.000000000 +0200
@@ -16,8 +16,7 @@
%define build_fortran 0
%define build_objc 0
%define build_objcp 0
-%define build_nof 0
-%define build_with_mudflap 0
+%define build_go 0
%define binutils_target %{cross_arch}
%if %{cross_arch} == "armv7l" || %{cross_arch} == "armv7hl"
@@ -78,14 +77,12 @@
%endif
-%if 0%{!?gcc_icecream:1}
%package -n cross-%cross_arch-gcc@base_ver@-icecream-backend
Summary: Icecream backend for the GNU C Compiler
Group: Development/Languages/C and C++
%description -n cross-%cross_arch-gcc@base_ver@-icecream-backend
This package contains the icecream environment for the GNU C Compiler
-%endif
%define targetlibsubdir %{_libdir}/gcc/%{gcc_target_arch}/%{gcc_dir_version}
@@ -95,9 +92,6 @@
# install and fixup host parts
make DESTDIR=$RPM_BUILD_ROOT install-host
-# binsuffix is not applied consistently for cross builds, get rid of
-# the remains
-rm -f $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix}
# with the present setup fixincludes are for the build includes which
# is wrong - get rid of them
rm -rf $RPM_BUILD_ROOT/%{targetlibsubdir}/include-fixed
@@ -124,9 +118,9 @@
# named funnily, not even on ppc, so there we need the original target
install -s -D %{_prefix}/bin/%{canonical_target}-suse-linux%{?canonical_target_abi:%canonical_target_abi}-as \
$RPM_BUILD_ROOT/env/usr/bin/as
-install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++ \
+install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-g++%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/g++
-install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc \
+install -s $RPM_BUILD_ROOT/%{_prefix}/bin/%{gcc_target_arch}-gcc%{binsuffix} \
$RPM_BUILD_ROOT/env/usr/bin/gcc
for back in cc1 cc1plus; do
@@ -161,29 +155,15 @@
rpm -q --changelog binutils > usr/share/icecream-envs/%{name}_%{_arch}.binutils
rm -r env
-%if 0%{?gcc_icecream:1}
-rm -rf $RPM_BUILD_ROOT/%{_prefix}/bin
-rm -rf $RPM_BUILD_ROOT/%{_libdir}
-%endif
-
-
-%if 0%{!?gcc_icecream:1}
%files
%defattr(-,root,root)
%{_prefix}/bin
%dir %{targetlibsubdir}
%dir %{_libdir}/gcc/%{gcc_target_arch}
%{targetlibsubdir}
-%else
-%files
-%defattr(-,root,root)
-/usr/share/icecream-envs
-%endif
-%if 0%{!?gcc_icecream:1}
%files -n cross-%cross_arch-gcc@base_ver@-icecream-backend
%defattr(-,root,root)
/usr/share/icecream-envs
-%endif
%changelog -n cross-%{pkgname}-gcc@base_ver@
++++++ gcc-4.9.0-r208745.tar.bz2 -> gcc-4.9.0-r209354.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/gcc49/gcc-4.9.0-r208745.tar.bz2 /work/SRC/openSUSE:Factory/.gcc49.new/gcc-4.9.0-r209354.tar.bz2 differ: char 11, line 1
++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.LfAjTH/_old 2014-04-22 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.LfAjTH/_new 2014-04-22 11:54:44.000000000 +0200
@@ -225,7 +225,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: http://gcc.gnu.org/
-Version: 4.9.0+r208745
+Version: 4.9.0+r209354
Release: 1
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -285,6 +285,7 @@
Patch23: libjava-no-multilib.diff
Patch24: tls-no-direct.diff
Patch30: gcc43-no-unwind-tables.diff
+Patch33: gcc49-pr60720.patch
# A set of patches from the RH srpm
Patch51: gcc41-ia64-stack-protector.patch
Patch55: gcc41-java-slow_pthread_self.patch
@@ -451,9 +452,6 @@
# Only one package may provide this - allows multiple gcc versions
# to co-exist without an overly large list of provides/obsoletes
Conflicts: %selfconflict libgcc_s%{libgcc_s}@variant@
-# Old libgcc packages provided a wrong shlib policy compatible name
-Provides: libgcc%{libgcc_s}@variant@ = %{version}-%{release}
-Conflicts: %selfconflict libgcc%{libgcc_s}@variant@
%description -n libgcc_s%{libgcc_s}%{libgcc_s_suffix}@variant@
Libgcc is needed for dynamically linked C programs.
@@ -1105,6 +1103,7 @@
%patch23
%patch24
%patch30
+%patch33
%patch51
%patch55
%patch57
@@ -1285,8 +1284,8 @@
--enable-linker-build-id \
%endif
--enable-linux-futex \
-%if 0%{!?gcc_target_arch:1}
--program-suffix=%{binsuffix} \
+%if 0%{!?gcc_target_arch:1}
%ifarch ia64
--with-system-libunwind \
%else
@@ -1294,6 +1293,7 @@
%endif
%endif
%if 0%{?gcc_target_arch:1}
+ --program-prefix=%{gcc_target_arch}- \
--target=%{gcc_target_arch} \
--disable-nls \
%if 0%{?sysroot:1}
@@ -1345,9 +1345,11 @@
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
- --with-cpu-32=power7 \
- --with-cpu-64=power7 \
- --with-tune=power7 \
+%if "%{TARGET_ARCH}" == "powerpc64le"
+ --with-cpu=power7 \
+%else
+ --with-cpu-64=power4 \
+%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
@@ -2034,6 +2036,7 @@
%ifarch %cilkrts_arch
%versmainlib libcilkrts.so
%versmainlib libcilkrts.a
+%versmainlib libcilkrts.spec
%endif
%ifarch %lsan_arch
%versmainlib liblsan.so
@@ -2084,6 +2087,7 @@
%ifarch %cilkrts_arch
%versbiarchlib libcilkrts.a
%versbiarchlib libcilkrts.so
+%versbiarchlib libcilkrts.spec
%endif
%if 0
%ifarch %tsan_arch
++++++ gcc49-pr60720.patch ++++++
2014-04-01 Richard Biener <rguenther(a)suse.de>
PR lto/60720
* lto-streamer-out.c (wrap_refs): New function.
(lto_output): Wrap symbol references in global initializes in
type-preserving MEM_REFs.
* gcc.dg/lto/pr60720_0.c: New testcase.
* gcc.dg/lto/pr60720_1.c: Likewise.
Index: gcc/lto-streamer-out.c
===================================================================
*** gcc/lto-streamer-out.c (revision 208955)
--- gcc/lto-streamer-out.c (working copy)
*************** copy_function (struct cgraph_node *node)
*** 2024,2029 ****
--- 2024,2052 ----
lto_end_section ();
}
+ /* Wrap symbol references in *TP inside a type-preserving MEM_REF. */
+
+ static tree
+ wrap_refs (tree *tp, int *ws, void *)
+ {
+ tree t = *tp;
+ if (handled_component_p (t)
+ && TREE_CODE (TREE_OPERAND (t, 0)) == VAR_DECL)
+ {
+ tree decl = TREE_OPERAND (t, 0);
+ tree ptrtype = build_pointer_type (TREE_TYPE (decl));
+ TREE_OPERAND (t, 0) = build2 (MEM_REF, TREE_TYPE (decl),
+ build1 (ADDR_EXPR, ptrtype, decl),
+ build_int_cst (ptrtype, 0));
+ TREE_THIS_VOLATILE (TREE_OPERAND (t, 0)) = TREE_THIS_VOLATILE (decl);
+ *ws = 0;
+ }
+ else if (TREE_CODE (t) == CONSTRUCTOR)
+ ;
+ else if (!EXPR_P (t))
+ *ws = 0;
+ return NULL_TREE;
+ }
/* Main entry point from the pass manager. */
*************** lto_output (void)
*** 2045,2068 ****
for (i = 0; i < n_nodes; i++)
{
symtab_node *snode = lto_symtab_encoder_deref (encoder, i);
! cgraph_node *node = dyn_cast <cgraph_node> (snode);
! if (node
! && lto_symtab_encoder_encode_body_p (encoder, node)
! && !node->alias)
{
#ifdef ENABLE_CHECKING
! gcc_assert (!bitmap_bit_p (output, DECL_UID (node->decl)));
! bitmap_set_bit (output, DECL_UID (node->decl));
#endif
! decl_state = lto_new_out_decl_state ();
! lto_push_out_decl_state (decl_state);
! if (gimple_has_body_p (node->decl) || !flag_wpa)
! output_function (node);
! else
! copy_function (node);
! gcc_assert (lto_get_out_decl_state () == decl_state);
! lto_pop_out_decl_state ();
! lto_record_function_out_decl_state (node->decl, decl_state);
}
}
--- 2068,2100 ----
for (i = 0; i < n_nodes; i++)
{
symtab_node *snode = lto_symtab_encoder_deref (encoder, i);
! if (cgraph_node *node = dyn_cast <cgraph_node> (snode))
{
+ if (lto_symtab_encoder_encode_body_p (encoder, node)
+ && !node->alias)
+ {
#ifdef ENABLE_CHECKING
! gcc_assert (!bitmap_bit_p (output, DECL_UID (node->decl)));
! bitmap_set_bit (output, DECL_UID (node->decl));
#endif
! decl_state = lto_new_out_decl_state ();
! lto_push_out_decl_state (decl_state);
! if (gimple_has_body_p (node->decl) || !flag_wpa)
! output_function (node);
! else
! copy_function (node);
! gcc_assert (lto_get_out_decl_state () == decl_state);
! lto_pop_out_decl_state ();
! lto_record_function_out_decl_state (node->decl, decl_state);
! }
! }
! else if (varpool_node *node = dyn_cast <varpool_node> (snode))
! {
! /* Wrap symbol references inside the ctor in a type
! preserving MEM_REF. */
! tree ctor = DECL_INITIAL (node->decl);
! if (ctor && !in_lto_p)
! walk_tree (&ctor, wrap_refs, NULL, NULL);
}
}
Index: gcc/testsuite/gcc.dg/lto/pr60720_0.c
===================================================================
*** gcc/testsuite/gcc.dg/lto/pr60720_0.c (revision 0)
--- gcc/testsuite/gcc.dg/lto/pr60720_0.c (working copy)
***************
*** 0 ****
--- 1,15 ----
+ /* { dg-lto-do run } */
+ /* { dg-extra-ld-options { -w } } */
+
+ /* ??? lto.exp does not allow to scan for
+ :1:12: warning: type of 'x' does not match original declaration
+ extern int x[];
+ ^
+ :1:5: note: previously declared here
+ int x;
+ ^ */
+
+ extern int x[];
+ int *foo[] = { &x[0] };
+
+ int main() { return *foo[0]; }
Index: gcc/testsuite/gcc.dg/lto/pr60720_1.c
===================================================================
*** gcc/testsuite/gcc.dg/lto/pr60720_1.c (revision 0)
--- gcc/testsuite/gcc.dg/lto/pr60720_1.c (working copy)
***************
*** 0 ****
--- 1 ----
+ int x;
++++++ tls-no-direct.diff ++++++
--- /var/tmp/diff_new_pack.LfAjTH/_old 2014-04-22 11:54:44.000000000 +0200
+++ /var/tmp/diff_new_pack.LfAjTH/_new 2014-04-22 11:54:44.000000000 +0200
@@ -1,17 +1,20 @@
-Index: gcc/config/i386/gnu-user-common.h
+For i?86 negative offsets to %fs segment accesses cause a hypervisor
+trap for Xen. Avoid this by making accesses indirect.
+
+??? Note that similar to the behavior on SLE11 this only affects
+the compiler built on %ix86, not that on x86_64, even with -m32.
+
+Index: gcc/config/i386/linux.h
===================================================================
---- gcc/config/i386/gnu-user-common.h.orig 2012-12-11 12:44:53.918094370 +0100
-+++ gcc/config/i386/gnu-user-common.h 2012-12-11 12:44:55.467094317 +0100
-@@ -26,8 +26,12 @@ along with GCC; see the file COPYING3.
- #define DEFAULT_PCC_STRUCT_RETURN 1
+--- gcc/config/i386/linux.h (revision 209175)
++++ gcc/config/i386/linux.h (working copy)
+@@ -21,3 +21,9 @@ along with GCC; see the file COPYING3.
- /* We arrange for the whole %fs segment to map the tls area. */
+ #define GNU_USER_LINK_EMULATION "elf_i386"
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
++
+/* This slows down Xen, so take a very small general performance hit
+ for not accessing the %fs segment with negative offsets by making
-+ GCC not emit direct accesses to %fs at all.
- #undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
- #define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT MASK_TLS_DIRECT_SEG_REFS
-+ */
-
- #define TARGET_OS_CPP_BUILTINS() \
- do \
++ GCC not emit direct accesses to %fs at all. */
++#undef TARGET_TLS_DIRECT_SEG_REFS_DEFAULT
++#define TARGET_TLS_DIRECT_SEG_REFS_DEFAULT 0
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
22 Apr '14
Hello community,
here is the log from the commit of package rubygem-delayed_job_active_record for openSUSE:Factory checked in at 2014-04-22 10:07:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-delayed_job_active_record (Old)
and /work/SRC/openSUSE:Factory/.rubygem-delayed_job_active_record.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-delayed_job_active_record"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-delayed_job_active_record/rubygem-delayed_job_active_record.changes 2013-08-04 17:22:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-delayed_job_active_record.new/rubygem-delayed_job_active_record.changes 2014-04-22 10:07:41.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Apr 21 16:16:54 UTC 2014 - coolo(a)suse.com
+
+- updated to version 4.0.1
+ require delayed_job 4.0.1 for rails 4.1
+
+-------------------------------------------------------------------
Old:
----
delayed_job_active_record-4.0.0.gem
New:
----
delayed_job_active_record-4.0.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-delayed_job_active_record.spec ++++++
--- /var/tmp/diff_new_pack.jQZlML/_old 2014-04-22 10:07:42.000000000 +0200
+++ /var/tmp/diff_new_pack.jQZlML/_new 2014-04-22 10:07:42.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-delayed_job_active_record
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,13 @@
Name: rubygem-delayed_job_active_record
-Version: 4.0.0
+Version: 4.0.1
Release: 0
%define mod_name delayed_job_active_record
%define mod_full_name %{mod_name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: ruby-macros >= 1
+BuildRequires: ruby-macros >= 3
Url: http://github.com/collectiveidea/delayed_job_active_record
Source: http://rubygems.org/gems/%{mod_full_name}.gem
Summary: ActiveRecord backend for DelayedJob
@@ -60,23 +60,23 @@
%install
%gem_install -f
mkdir -p %{buildroot}%{_docdir}/%{name}
-ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/LICENSE.md %buildroot/%{_docdir}/%{name}/LICENSE.md
-ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/README.md %buildroot/%{_docdir}/%{name}/README.md
+ln -s %{gem_base}/gems/%{mod_full_name}/LICENSE.md %buildroot/%{_docdir}/%{name}/LICENSE.md
+ln -s %{gem_base}/gems/%{mod_full_name}/README.md %buildroot/%{_docdir}/%{name}/README.md
%files
%defattr(-,root,root,-)
%{_docdir}/%{name}
-%{_libdir}/ruby/gems/%{rb_ver}/cache/%{mod_full_name}.gem
-%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/
-%exclude %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/spec
-%{_libdir}/ruby/gems/%{rb_ver}/specifications/%{mod_full_name}.gemspec
+%{gem_base}/cache/%{mod_full_name}.gem
+%{gem_base}/gems/%{mod_full_name}/
+%exclude %{gem_base}/gems/%{mod_full_name}/spec
+%{gem_base}/specifications/%{mod_full_name}.gemspec
%files doc
%defattr(-,root,root,-)
-%doc %{_libdir}/ruby/gems/%{rb_ver}/doc/%{mod_full_name}/
+%doc %{gem_base}/doc
%files testsuite
%defattr(-,root,root,-)
-%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/spec
+%{gem_base}/gems/%{mod_full_name}/spec
%changelog
--
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 rubygem-delayed_job for openSUSE:Factory checked in at 2014-04-22 10:07:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-delayed_job (Old)
and /work/SRC/openSUSE:Factory/.rubygem-delayed_job.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-delayed_job"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-delayed_job/rubygem-delayed_job.changes 2013-08-04 23:52:36.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-delayed_job.new/rubygem-delayed_job.changes 2014-04-22 10:07:34.000000000 +0200
@@ -1,0 +2,8 @@
+Mon Apr 21 16:05:53 UTC 2014 - coolo(a)suse.com
+
+- updated to version 4.0.1
+ * Update gemspec for Rails 4.1
+ * Make logger calls more universal
+ * Check that records are persisted? instead of new_record?
+
+-------------------------------------------------------------------
Old:
----
delayed_job-4.0.0.gem
New:
----
delayed_job-4.0.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-delayed_job.spec ++++++
--- /var/tmp/diff_new_pack.lHJDqI/_old 2014-04-22 10:07:35.000000000 +0200
+++ /var/tmp/diff_new_pack.lHJDqI/_new 2014-04-22 10:07:35.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-delayed_job
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,13 @@
Name: rubygem-delayed_job
-Version: 4.0.0
+Version: 4.0.1
Release: 0
%define mod_name delayed_job
%define mod_full_name %{mod_name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: ruby-macros >= 1
+BuildRequires: ruby-macros >= 3
Url: http://github.com/collectiveidea/delayed_job
Source: http://rubygems.org/gems/%{mod_full_name}.gem
Summary: Database-backed asynchronous priority queue system -- Extracted from
@@ -62,24 +62,24 @@
%install
%gem_install -f
mkdir -p %{buildroot}%{_docdir}/%{name}
-ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/CHANGELOG.md %buildroot/%{_docdir}/%{name}/CHANGELOG.md
-ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/LICENSE.md %buildroot/%{_docdir}/%{name}/LICENSE.md
-ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/README.md %buildroot/%{_docdir}/%{name}/README.md
+ln -s %{gem_base}/gems/%{mod_full_name}/CHANGELOG.md %buildroot/%{_docdir}/%{name}/CHANGELOG.md
+ln -s %{gem_base}/gems/%{mod_full_name}/LICENSE.md %buildroot/%{_docdir}/%{name}/LICENSE.md
+ln -s %{gem_base}/gems/%{mod_full_name}/README.md %buildroot/%{_docdir}/%{name}/README.md
%files
%defattr(-,root,root,-)
%{_docdir}/%{name}
-%{_libdir}/ruby/gems/%{rb_ver}/cache/%{mod_full_name}.gem
-%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/
-%exclude %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/spec
-%{_libdir}/ruby/gems/%{rb_ver}/specifications/%{mod_full_name}.gemspec
+%{gem_base}/cache/%{mod_full_name}.gem
+%{gem_base}/gems/%{mod_full_name}/
+%exclude %{gem_base}/gems/%{mod_full_name}/spec
+%{gem_base}/specifications/%{mod_full_name}.gemspec
%files doc
%defattr(-,root,root,-)
-%doc %{_libdir}/ruby/gems/%{rb_ver}/doc/%{mod_full_name}/
+%doc %{gem_base}/doc
%files testsuite
%defattr(-,root,root,-)
-%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/spec
+%{gem_base}/gems/%{mod_full_name}/spec
%changelog
--
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 qemu for openSUSE:Factory checked in at 2014-04-22 10:06:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qemu (Old)
and /work/SRC/openSUSE:Factory/.qemu.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qemu"
Changes:
--------
--- /work/SRC/openSUSE:Factory/qemu/qemu-linux-user.changes 2014-03-23 22:28:55.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/qemu-linux-user.changes 2014-04-22 10:06:17.000000000 +0200
@@ -1,0 +2,54 @@
+Fri Apr 18 17:55:03 UTC 2014 - afaerber(a)suse.de
+
+- Fix aarch64 emulation issues:
+ 0043-arm-translate.c-Fix-smlald-Instruct.patch
+ 0044-target-arm-A64-fix-unallocated-test.patch
+
+-------------------------------------------------------------------
+Thu Apr 17 15:46:26 UTC 2014 - afaerber(a)suse.de
+
+- Update to v2.0.0: cf. http://wiki.qemu-project.org/ChangeLog/2.0
+* Update update_git.sh script accordingly
+
+-------------------------------------------------------------------
+Mon Apr 14 17:49:54 UTC 2014 - afaerber(a)suse.de
+
+- Update to v2.0.0-rc3: cf. http://wiki.qemu-project.org/ChangeLog/2.0
+* Update update_git.sh script accordingly
+
+-------------------------------------------------------------------
+Fri Apr 11 16:10:50 UTC 2014 - afaerber(a)suse.de
+
+- Update to v2.0.0-rc2: cf. http://wiki.qemu-project.org/ChangeLog/2.0
+* Update update_git.sh script accordingly
+
+-------------------------------------------------------------------
+Thu Apr 3 15:59:32 UTC 2014 - afaerber(a)suse.de
+
+- Updated to v2.0.0-rc1: cf. http://wiki.qemu-project.org/ChangeLog/2.0
+* Update update_git.sh script accordingly
+* Drop 0012-linux-user-be-silent-about-capget-f.patch (implemented)
+* Update qemu-config-binfmt.sh for aarch64
+
+-------------------------------------------------------------------
+Tue Apr 1 14:52:02 UTC 2014 - afaerber(a)suse.de
+
+- Fix update_git.sh script to not duplicate .patch in filename
+
+-------------------------------------------------------------------
+Fri Mar 28 11:54:19 UTC 2014 - afaerber(a)suse.de
+
+- Improve update_git.sh script to use a user-agnostic git symlink
+
+-------------------------------------------------------------------
+Mon Mar 24 15:45:00 UTC 2014 - brogers(a)suse.com
+
+- Improve update_git.sh to not change files in OBS if the file
+ remains unchanged
+
+-------------------------------------------------------------------
+Mon Mar 24 09:41:42 UTC 2014 - afaerber(a)suse.de
+
+- Enable libvixl-based disassembler support for aarch64
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/qemu/qemu.changes 2014-03-23 22:28:55.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/qemu.changes 2014-04-22 10:06:17.000000000 +0200
@@ -1,0 +2,91 @@
+Fri Apr 18 17:55:03 UTC 2014 - afaerber(a)suse.de
+
+- Fix aarch64 emulation issues:
+ 0043-arm-translate.c-Fix-smlald-Instruct.patch
+ 0044-target-arm-A64-fix-unallocated-test.patch
+
+-------------------------------------------------------------------
+Thu Apr 17 16:46:52 UTC 2014 - afaerber(a)suse.de
+
+- Attempt to solve or debug occasional qtest fd assertions
+ 0039-qtest-Assure-that-init_socket-s-lis.patch
+ 0040-qtest-Add-error-reporting-to-socket.patch
+ 0041-qtest-Increase-socket-timeout.patch
+ 0042-qtest-Be-paranoid-about-accept-addr.patch
+
+-------------------------------------------------------------------
+Thu Apr 17 15:46:26 UTC 2014 - afaerber(a)suse.de
+
+- Update to v2.0.0: cf. http://wiki.qemu-project.org/ChangeLog/2.0
+* Update update_git.sh script accordingly
+
+-------------------------------------------------------------------
+Mon Apr 14 17:49:54 UTC 2014 - afaerber(a)suse.de
+
+- Update to v2.0.0-rc3: cf. http://wiki.qemu-project.org/ChangeLog/2.0
+* Update update_git.sh script accordingly
+* Addresses CVE-2014-0150 (bnc#873235), CVE-2013-4544 (bnc#873613)
+
+-------------------------------------------------------------------
+Fri Apr 11 16:10:50 UTC 2014 - afaerber(a)suse.de
+
+- Update to v2.0.0-rc2: cf. http://wiki.qemu-project.org/ChangeLog/2.0
+* Update update_git.sh script accordingly
+* Resolves Gtk mouse issues (bnc#849587)
+* Fixes endianness-test failures for prep machine on Big Endian host
+
+-------------------------------------------------------------------
+Fri Apr 4 00:17:38 UTC 2014 - afaerber(a)suse.de
+
+- Fix qemu-kvm script for s390x (bnc#869021) (bfrogers)
+- Fix ksm.service file permissions to not be executable w/o shebang
+- Re-enable Gtk build on 11.4 (fixes unpackaged qemu.mo files error)
+- Fix SLE11 SP3 build by making sub-package "noarch" conditional
+* Do not exclude qemu-ifup from qemu package when not installing
+- Speed up %check by not running qom-test twice for some targets
+ 0038-tests-Don-t-run-qom-test-twice.patch
+
+-------------------------------------------------------------------
+Thu Apr 3 15:59:32 UTC 2014 - afaerber(a)suse.de
+
+- Updated to v2.0.0-rc1: cf. http://wiki.qemu-project.org/ChangeLog/2.0
+* Update update_git.sh script accordingly
+* Resolves breakage of live migration (bnc#871302)
+* Addresses CVE-2014-0142, CVE-2014-0143, CVE-2014-0144,
+ CVE-2014-0145, CVE-2014-0146, CVE-2014-0147 (bnc#870439)
+- Drop 0037-roms-Build-vgabios.bin.patch (unneeded)
+
+-------------------------------------------------------------------
+Tue Apr 1 14:50:37 UTC 2014 - afaerber(a)suse.de
+
+- Enhance update_git.sh script
+* Fix duplicate .patch for short filenames
+* Read SeaBIOS version from QEMU tarball
+
+-------------------------------------------------------------------
+Mon Mar 31 14:51:30 UTC 2014 - afaerber(a)suse.de
+
+- Re-create qemu-2.0.0-rc0.tar.bz2 to include SeaBIOS .version
+
+-------------------------------------------------------------------
+Fri Mar 28 11:53:31 UTC 2014 - afaerber(a)suse.de
+
+- Improve update_git.sh script to use a user-agnostic git symlink
+
+-------------------------------------------------------------------
+Wed Mar 26 21:09:34 UTC 2014 - brogers(a)suse.com
+
+- Tidy up qemu.spec a bit: white space, line length, use macros
+ as appropriate
+- Improve update_git.sh to not change files in OBS if the file
+ remains unchanged
+
+-------------------------------------------------------------------
+Wed Mar 26 14:16:39 UTC 2014 - afaerber(a)suse.de
+
+- Fix library directory
+- Set default file attributes for qemu-ksm
+- Enable Smartcard emulation
+* Reorder package definitions to avoid %version troubles
+
+-------------------------------------------------------------------
Old:
----
0001-XXX-dont-dump-core-on-sigabort.patc.patch
0003-qemu-0.9.0.cvs-binfmt.patch.patch
0004-qemu-cvs-alsa_bitfield.patch.patch
0005-qemu-cvs-alsa_ioctl.patch.patch
0006-qemu-cvs-alsa_mmap.patch.patch
0007-qemu-cvs-gettimeofday.patch.patch
0008-qemu-cvs-ioctl_debug.patch.patch
0009-qemu-cvs-ioctl_nodirection.patch.patch
0012-linux-user-be-silent-about-capget-f.patch
0013-PPC-KVM-Disable-mmu-notifier-check..patch
0014-linux-user-fix-segfault-deadlock.pa.patch
0015-linux-user-binfmt-support-host-bina.patch
0016-linux-user-arm-no-tb_flush-on-reset.patch
0017-linux-user-Ignore-broken-loop-ioctl.patch
0018-linux-user-lock-tcg.patch.patch
0019-linux-user-Run-multi-threaded-code-.patch
0020-linux-user-lock-tb-flushing-too.pat.patch
0021-linux-user-Fake-proc-cpuinfo.patch.patch
0022-linux-user-implement-FS_IOC_GETFLAG.patch
0023-linux-user-implement-FS_IOC_SETFLAG.patch
0024-linux-user-XXX-disable-fiemap.patch.patch
0025-slirp-nooutgoing.patch.patch
0026-vnc-password-file-and-incoming-conn.patch
0027-linux-user-add-more-blk-ioctls.patc.patch
0028-linux-user-use-target_ulong.patch.patch
0029-block-Add-support-for-DictZip-enabl.patch
0030-block-Add-tar-container-format.patc.patch
0031-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
0032-Legacy-Patch-kvm-qemu-preXX-report-.patch
0033-console-add-question-mark-escape-op.patch
0034-Make-char-muxer-more-robust-wrt-sma.patch
0035-linux-user-lseek-explicitly-cast-no.patch
0036-virtfs-proxy-helper-Provide-__u64-f.patch
0037-roms-Build-vgabios.bin.patch.patch
0038-configure-Enable-PIE-for-ppc-and-pp.patch
0039-xen_disk-add-discard-support.patch.patch
qemu-2.0.0-rc0.tar.bz2
New:
----
0001-XXX-dont-dump-core-on-sigabort.patch
0003-qemu-0.9.0.cvs-binfmt.patch
0004-qemu-cvs-alsa_bitfield.patch
0005-qemu-cvs-alsa_ioctl.patch
0006-qemu-cvs-alsa_mmap.patch
0007-qemu-cvs-gettimeofday.patch
0008-qemu-cvs-ioctl_debug.patch
0009-qemu-cvs-ioctl_nodirection.patch
0012-PPC-KVM-Disable-mmu-notifier-check.patch
0013-linux-user-fix-segfault-deadlock.patch
0014-linux-user-binfmt-support-host-bina.patch
0015-linux-user-arm-no-tb_flush-on-reset.patch
0016-linux-user-Ignore-broken-loop-ioctl.patch
0017-linux-user-lock-tcg.patch
0018-linux-user-Run-multi-threaded-code-.patch
0019-linux-user-lock-tb-flushing-too.patch
0020-linux-user-Fake-proc-cpuinfo.patch
0021-linux-user-implement-FS_IOC_GETFLAG.patch
0022-linux-user-implement-FS_IOC_SETFLAG.patch
0023-linux-user-XXX-disable-fiemap.patch
0024-slirp-nooutgoing.patch
0025-vnc-password-file-and-incoming-conn.patch
0026-linux-user-add-more-blk-ioctls.patch
0027-linux-user-use-target_ulong.patch
0028-block-Add-support-for-DictZip-enabl.patch
0029-block-Add-tar-container-format.patch
0030-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
0031-Legacy-Patch-kvm-qemu-preXX-report-.patch
0032-console-add-question-mark-escape-op.patch
0033-Make-char-muxer-more-robust-wrt-sma.patch
0034-linux-user-lseek-explicitly-cast-no.patch
0035-virtfs-proxy-helper-Provide-__u64-f.patch
0036-configure-Enable-PIE-for-ppc-and-pp.patch
0037-xen_disk-add-discard-support.patch
0038-tests-Don-t-run-qom-test-twice.patch
0039-qtest-Assure-that-init_socket-s-lis.patch
0040-qtest-Add-error-reporting-to-socket.patch
0041-qtest-Increase-socket-timeout.patch
0042-qtest-Be-paranoid-about-accept-addr.patch
0043-arm-translate.c-Fix-smlald-Instruct.patch
0044-target-arm-A64-fix-unallocated-test.patch
qemu-2.0.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qemu-linux-user.spec ++++++
--- /var/tmp/diff_new_pack.OZuPSx/_old 2014-04-22 10:06:18.000000000 +0200
+++ /var/tmp/diff_new_pack.OZuPSx/_new 2014-04-22 10:06:18.000000000 +0200
@@ -21,49 +21,54 @@
Summary: Universal CPU emulator
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
Group: System/Emulators/PC
-Version: 1.7.90
+Version: 2.0.0
Release: 0
-Source: qemu-2.0.0-rc0.tar.bz2
+Source: qemu-2.0.0.tar.bz2
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
-Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patc.patch
+Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
-Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch.patch
-Patch0004: 0004-qemu-cvs-alsa_bitfield.patch.patch
-Patch0005: 0005-qemu-cvs-alsa_ioctl.patch.patch
-Patch0006: 0006-qemu-cvs-alsa_mmap.patch.patch
-Patch0007: 0007-qemu-cvs-gettimeofday.patch.patch
-Patch0008: 0008-qemu-cvs-ioctl_debug.patch.patch
-Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch.patch
+Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch
+Patch0004: 0004-qemu-cvs-alsa_bitfield.patch
+Patch0005: 0005-qemu-cvs-alsa_ioctl.patch
+Patch0006: 0006-qemu-cvs-alsa_mmap.patch
+Patch0007: 0007-qemu-cvs-gettimeofday.patch
+Patch0008: 0008-qemu-cvs-ioctl_debug.patch
+Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch
Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch
Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch
-Patch0012: 0012-linux-user-be-silent-about-capget-f.patch
-Patch0013: 0013-PPC-KVM-Disable-mmu-notifier-check..patch
-Patch0014: 0014-linux-user-fix-segfault-deadlock.pa.patch
-Patch0015: 0015-linux-user-binfmt-support-host-bina.patch
-Patch0016: 0016-linux-user-arm-no-tb_flush-on-reset.patch
-Patch0017: 0017-linux-user-Ignore-broken-loop-ioctl.patch
-Patch0018: 0018-linux-user-lock-tcg.patch.patch
-Patch0019: 0019-linux-user-Run-multi-threaded-code-.patch
-Patch0020: 0020-linux-user-lock-tb-flushing-too.pat.patch
-Patch0021: 0021-linux-user-Fake-proc-cpuinfo.patch.patch
-Patch0022: 0022-linux-user-implement-FS_IOC_GETFLAG.patch
-Patch0023: 0023-linux-user-implement-FS_IOC_SETFLAG.patch
-Patch0024: 0024-linux-user-XXX-disable-fiemap.patch.patch
-Patch0025: 0025-slirp-nooutgoing.patch.patch
-Patch0026: 0026-vnc-password-file-and-incoming-conn.patch
-Patch0027: 0027-linux-user-add-more-blk-ioctls.patc.patch
-Patch0028: 0028-linux-user-use-target_ulong.patch.patch
-Patch0029: 0029-block-Add-support-for-DictZip-enabl.patch
-Patch0030: 0030-block-Add-tar-container-format.patc.patch
-Patch0031: 0031-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
-Patch0032: 0032-Legacy-Patch-kvm-qemu-preXX-report-.patch
-Patch0033: 0033-console-add-question-mark-escape-op.patch
-Patch0034: 0034-Make-char-muxer-more-robust-wrt-sma.patch
-Patch0035: 0035-linux-user-lseek-explicitly-cast-no.patch
-Patch0036: 0036-virtfs-proxy-helper-Provide-__u64-f.patch
-Patch0037: 0037-roms-Build-vgabios.bin.patch.patch
-Patch0038: 0038-configure-Enable-PIE-for-ppc-and-pp.patch
-Patch0039: 0039-xen_disk-add-discard-support.patch.patch
+Patch0012: 0012-PPC-KVM-Disable-mmu-notifier-check.patch
+Patch0013: 0013-linux-user-fix-segfault-deadlock.patch
+Patch0014: 0014-linux-user-binfmt-support-host-bina.patch
+Patch0015: 0015-linux-user-arm-no-tb_flush-on-reset.patch
+Patch0016: 0016-linux-user-Ignore-broken-loop-ioctl.patch
+Patch0017: 0017-linux-user-lock-tcg.patch
+Patch0018: 0018-linux-user-Run-multi-threaded-code-.patch
+Patch0019: 0019-linux-user-lock-tb-flushing-too.patch
+Patch0020: 0020-linux-user-Fake-proc-cpuinfo.patch
+Patch0021: 0021-linux-user-implement-FS_IOC_GETFLAG.patch
+Patch0022: 0022-linux-user-implement-FS_IOC_SETFLAG.patch
+Patch0023: 0023-linux-user-XXX-disable-fiemap.patch
+Patch0024: 0024-slirp-nooutgoing.patch
+Patch0025: 0025-vnc-password-file-and-incoming-conn.patch
+Patch0026: 0026-linux-user-add-more-blk-ioctls.patch
+Patch0027: 0027-linux-user-use-target_ulong.patch
+Patch0028: 0028-block-Add-support-for-DictZip-enabl.patch
+Patch0029: 0029-block-Add-tar-container-format.patch
+Patch0030: 0030-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
+Patch0031: 0031-Legacy-Patch-kvm-qemu-preXX-report-.patch
+Patch0032: 0032-console-add-question-mark-escape-op.patch
+Patch0033: 0033-Make-char-muxer-more-robust-wrt-sma.patch
+Patch0034: 0034-linux-user-lseek-explicitly-cast-no.patch
+Patch0035: 0035-virtfs-proxy-helper-Provide-__u64-f.patch
+Patch0036: 0036-configure-Enable-PIE-for-ppc-and-pp.patch
+Patch0037: 0037-xen_disk-add-discard-support.patch
+Patch0038: 0038-tests-Don-t-run-qom-test-twice.patch
+Patch0039: 0039-qtest-Assure-that-init_socket-s-lis.patch
+Patch0040: 0040-qtest-Add-error-reporting-to-socket.patch
+Patch0041: 0041-qtest-Increase-socket-timeout.patch
+Patch0042: 0042-qtest-Be-paranoid-about-accept-addr.patch
+Patch0043: 0043-arm-translate.c-Fix-smlald-Instruct.patch
+Patch0044: 0044-target-arm-A64-fix-unallocated-test.patch
# Please do not add patches manually here, run update_git.sh.
# this is to make lint happy
Source300: rpmlintrc
@@ -71,6 +76,7 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: e2fsprogs-devel
BuildRequires: fdupes
+BuildRequires: gcc-c++
%if 0%{?suse_version} >= 1140
BuildRequires: glib2-devel-static
%else
@@ -115,7 +121,7 @@
run cross-architecture builds.
%prep
-%setup -q -n qemu-2.0.0-rc0
+%setup -q -n qemu-2.0.0
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
@@ -155,6 +161,11 @@
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
+%patch0040 -p1
+%patch0041 -p1
+%patch0042 -p1
+%patch0043 -p1
+%patch0044 -p1
%build
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
++++++ qemu.spec ++++++
--- /var/tmp/diff_new_pack.OZuPSx/_old 2014-04-22 10:06:18.000000000 +0200
+++ /var/tmp/diff_new_pack.OZuPSx/_new 2014-04-22 10:06:18.000000000 +0200
@@ -18,19 +18,24 @@
%ifarch %ix86 x86_64
# choice of building all from source or using provided binary x86 blobs
+%if 0%{?suse_version} >= 1140
%define build_x86_fw_from_source 1
%else
%define build_x86_fw_from_source 0
%endif
+%else
+%define build_x86_fw_from_source 0
+%endif
+%define noarch_supported 1110
Name: qemu
Url: http://www.qemu.org/
Summary: Universal CPU emulator
License: BSD-3-Clause and GPL-2.0 and GPL-2.0+ and LGPL-2.1+ and MIT
Group: System/Emulators/PC
-Version: 1.7.90
+Version: 2.0.0
Release: 0
-Source: %name-2.0.0-rc0.tar.bz2
+Source: %name-2.0.0.tar.bz2
Source1: 80-kvm.rules
Source2: qemu-ifup
Source3: kvm_stat
@@ -38,45 +43,50 @@
Source5: 60-kvm.rules
Source6: ksm.service
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
-Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patc.patch
+Patch0001: 0001-XXX-dont-dump-core-on-sigabort.patch
Patch0002: 0002-XXX-work-around-SA_RESTART-race-wit.patch
-Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch.patch
-Patch0004: 0004-qemu-cvs-alsa_bitfield.patch.patch
-Patch0005: 0005-qemu-cvs-alsa_ioctl.patch.patch
-Patch0006: 0006-qemu-cvs-alsa_mmap.patch.patch
-Patch0007: 0007-qemu-cvs-gettimeofday.patch.patch
-Patch0008: 0008-qemu-cvs-ioctl_debug.patch.patch
-Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch.patch
+Patch0003: 0003-qemu-0.9.0.cvs-binfmt.patch
+Patch0004: 0004-qemu-cvs-alsa_bitfield.patch
+Patch0005: 0005-qemu-cvs-alsa_ioctl.patch
+Patch0006: 0006-qemu-cvs-alsa_mmap.patch
+Patch0007: 0007-qemu-cvs-gettimeofday.patch
+Patch0008: 0008-qemu-cvs-ioctl_debug.patch
+Patch0009: 0009-qemu-cvs-ioctl_nodirection.patch
Patch0010: 0010-block-vmdk-Support-creation-of-SCSI.patch
Patch0011: 0011-linux-user-add-binfmt-wrapper-for-a.patch
-Patch0012: 0012-linux-user-be-silent-about-capget-f.patch
-Patch0013: 0013-PPC-KVM-Disable-mmu-notifier-check..patch
-Patch0014: 0014-linux-user-fix-segfault-deadlock.pa.patch
-Patch0015: 0015-linux-user-binfmt-support-host-bina.patch
-Patch0016: 0016-linux-user-arm-no-tb_flush-on-reset.patch
-Patch0017: 0017-linux-user-Ignore-broken-loop-ioctl.patch
-Patch0018: 0018-linux-user-lock-tcg.patch.patch
-Patch0019: 0019-linux-user-Run-multi-threaded-code-.patch
-Patch0020: 0020-linux-user-lock-tb-flushing-too.pat.patch
-Patch0021: 0021-linux-user-Fake-proc-cpuinfo.patch.patch
-Patch0022: 0022-linux-user-implement-FS_IOC_GETFLAG.patch
-Patch0023: 0023-linux-user-implement-FS_IOC_SETFLAG.patch
-Patch0024: 0024-linux-user-XXX-disable-fiemap.patch.patch
-Patch0025: 0025-slirp-nooutgoing.patch.patch
-Patch0026: 0026-vnc-password-file-and-incoming-conn.patch
-Patch0027: 0027-linux-user-add-more-blk-ioctls.patc.patch
-Patch0028: 0028-linux-user-use-target_ulong.patch.patch
-Patch0029: 0029-block-Add-support-for-DictZip-enabl.patch
-Patch0030: 0030-block-Add-tar-container-format.patc.patch
-Patch0031: 0031-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
-Patch0032: 0032-Legacy-Patch-kvm-qemu-preXX-report-.patch
-Patch0033: 0033-console-add-question-mark-escape-op.patch
-Patch0034: 0034-Make-char-muxer-more-robust-wrt-sma.patch
-Patch0035: 0035-linux-user-lseek-explicitly-cast-no.patch
-Patch0036: 0036-virtfs-proxy-helper-Provide-__u64-f.patch
-Patch0037: 0037-roms-Build-vgabios.bin.patch.patch
-Patch0038: 0038-configure-Enable-PIE-for-ppc-and-pp.patch
-Patch0039: 0039-xen_disk-add-discard-support.patch.patch
+Patch0012: 0012-PPC-KVM-Disable-mmu-notifier-check.patch
+Patch0013: 0013-linux-user-fix-segfault-deadlock.patch
+Patch0014: 0014-linux-user-binfmt-support-host-bina.patch
+Patch0015: 0015-linux-user-arm-no-tb_flush-on-reset.patch
+Patch0016: 0016-linux-user-Ignore-broken-loop-ioctl.patch
+Patch0017: 0017-linux-user-lock-tcg.patch
+Patch0018: 0018-linux-user-Run-multi-threaded-code-.patch
+Patch0019: 0019-linux-user-lock-tb-flushing-too.patch
+Patch0020: 0020-linux-user-Fake-proc-cpuinfo.patch
+Patch0021: 0021-linux-user-implement-FS_IOC_GETFLAG.patch
+Patch0022: 0022-linux-user-implement-FS_IOC_SETFLAG.patch
+Patch0023: 0023-linux-user-XXX-disable-fiemap.patch
+Patch0024: 0024-slirp-nooutgoing.patch
+Patch0025: 0025-vnc-password-file-and-incoming-conn.patch
+Patch0026: 0026-linux-user-add-more-blk-ioctls.patch
+Patch0027: 0027-linux-user-use-target_ulong.patch
+Patch0028: 0028-block-Add-support-for-DictZip-enabl.patch
+Patch0029: 0029-block-Add-tar-container-format.patch
+Patch0030: 0030-Legacy-Patch-kvm-qemu-preXX-dictzip.patch
+Patch0031: 0031-Legacy-Patch-kvm-qemu-preXX-report-.patch
+Patch0032: 0032-console-add-question-mark-escape-op.patch
+Patch0033: 0033-Make-char-muxer-more-robust-wrt-sma.patch
+Patch0034: 0034-linux-user-lseek-explicitly-cast-no.patch
+Patch0035: 0035-virtfs-proxy-helper-Provide-__u64-f.patch
+Patch0036: 0036-configure-Enable-PIE-for-ppc-and-pp.patch
+Patch0037: 0037-xen_disk-add-discard-support.patch
+Patch0038: 0038-tests-Don-t-run-qom-test-twice.patch
+Patch0039: 0039-qtest-Assure-that-init_socket-s-lis.patch
+Patch0040: 0040-qtest-Add-error-reporting-to-socket.patch
+Patch0041: 0041-qtest-Increase-socket-timeout.patch
+Patch0042: 0042-qtest-Be-paranoid-about-accept-addr.patch
+Patch0043: 0043-arm-translate.c-Fix-smlald-Instruct.patch
+Patch0044: 0044-target-arm-A64-fix-unallocated-test.patch
# Please do not add patches manually here, run update_git.sh.
# roms/ipxe patches
@@ -129,13 +139,15 @@
BuildRequires: libpixman-1-0-devel
BuildRequires: libpng-devel
BuildRequires: libpulse-devel
+BuildRequires: libtool
%if 0%{?suse_version} > 1310
-BuildRequires: libusb
+BuildRequires: libusb-devel
%endif
BuildRequires: libvdeplug3-devel
%if 0%{?suse_version} > 1220
BuildRequires: makeinfo
%endif
+BuildRequires: mozilla-nss-devel
BuildRequires: ncurses-devel
BuildRequires: pwdutils
BuildRequires: python
@@ -193,12 +205,16 @@
Suggests: qemu-arm
%endif
Suggests: qemu-extra
+Suggests: qemu-lang
%if 0%{?suse_version} >= 1210
Recommends: qemu-ksm = %{version}
-Suggests: qemu-lang
%endif
-%define firmware_files {acpi-dsdt.aml bios.bin q35-acpi-dsdt.aml sgabios.bin vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom}
+%define built_firmware_files {acpi-dsdt.aml bios.bin bios-256k.bin \
+q35-acpi-dsdt.aml sgabios.bin vgabios.bin vgabios-cirrus.bin \
+vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin optionrom/linuxboot.bin \
+optionrom/multiboot.bin optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom \
+pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom}
%description
QEMU is an extremely well-performing CPU emulator that allows you to
@@ -305,7 +321,6 @@
derived from the legacy kvm package.
%endif
-%if 0%{?suse_version} >= 1210
%package lang
Summary: Universal CPU emulator -- Translations
Group: System/Emulators/PC
@@ -318,14 +333,74 @@
as PC and PowerMac systems.
This sub-package contains translations.
-%endif
+
+%package tools
+Summary: Universal CPU emulator -- Tools
+Group: System/Emulators/PC
+Provides: qemu:%_libexecdir/qemu-bridge-helper
+PreReq: permissions
+
+%description tools
+QEMU is an extremely well-performing CPU emulator that allows you to
+choose between simulating an entire system and running userspace
+binaries for different architectures under your native operating
+system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
+as PC and PowerMac systems.
+
+This sub-package contains various tools, including a bridge helper.
+
+%package -n libcacard0
+Summary: Universal CPU emulator -- Smartcard emulation
+Group: System/Emulators/PC
+
+%description -n libcacard0
+QEMU is an extremely well-performing CPU emulator that allows you to
+choose between simulating an entire system and running userspace
+binaries for different architectures under your native operating
+system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
+as PC and PowerMac systems.
+
+This sub-package contains the Smartcard library.
+
+%package -n libcacard-devel
+Summary: Universal CPU emulator -- Smartcard emulation
+Group: System/Emulators/PC
+Requires: glib2-devel
+Requires: libcacard0 = %version
+Requires: mozilla-nspr
+Requires: mozilla-nss
+
+%description -n libcacard-devel
+QEMU is an extremely well-performing CPU emulator that allows you to
+choose between simulating an entire system and running userspace
+binaries for different architectures under your native operating
+system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
+as PC and PowerMac systems.
+
+This sub-package contains development files for the Smartcard library.
+
+%package guest-agent
+Summary: Universal CPU emulator -- Guest agent
+Group: System/Emulators/PC
+Provides: qemu:%_bindir/qemu-ga
+
+%description guest-agent
+QEMU is an extremely well-performing CPU emulator that allows you to
+choose between simulating an entire system and running userspace
+binaries for different architectures under your native operating
+system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
+as PC and PowerMac systems.
+
+This sub-package contains the guest agent.
%package seabios
Summary: X86 BIOS for QEMU
Group: System/Emulators/PC
Version: 1.7.4
Release: 0
+%if 0%{?suse_version} > %{noarch_supported}
BuildArch: noarch
+%endif
Conflicts: qemu < 1.6.0
%description seabios
@@ -337,7 +412,9 @@
Group: System/Emulators/PC
Version: 1.7.4
Release: 0
+%if 0%{?suse_version} > %{noarch_supported}
BuildArch: noarch
+%endif
Conflicts: qemu < 1.6.0
%description vgabios
@@ -350,7 +427,9 @@
Group: System/Emulators/PC
Version: 8
Release: 0
+%if 0%{?suse_version} > %{noarch_supported}
BuildArch: noarch
+%endif
Conflicts: qemu < 1.6.0
%description sgabios
@@ -363,42 +442,15 @@
Group: System/Emulators/PC
Version: 1.0.0
Release: 0
+%if 0%{?suse_version} > %{noarch_supported}
BuildArch: noarch
+%endif
Conflicts: qemu < 1.6.0
%description ipxe
Preboot Execution Environment (PXE) ROM support for various emulated network
adapters available with QEMU.
-%package tools
-Summary: Universal CPU emulator -- Tools
-Group: System/Emulators/PC
-Provides: qemu:%_libexecdir/qemu-bridge-helper
-PreReq: permissions
-
-%description tools
-QEMU is an extremely well-performing CPU emulator that allows you to
-choose between simulating an entire system and running userspace
-binaries for different architectures under your native operating
-system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
-as PC and PowerMac systems.
-
-This sub-package contains various tools, including a bridge helper.
-
-%package guest-agent
-Summary: Universal CPU emulator -- Guest agent
-Group: System/Emulators/PC
-Provides: qemu:%_bindir/qemu-ga
-
-%description guest-agent
-QEMU is an extremely well-performing CPU emulator that allows you to
-choose between simulating an entire system and running userspace
-binaries for different architectures under your native operating
-system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
-as PC and PowerMac systems.
-
-This sub-package contains the guest agent.
-
%if 0%{?with_systemd}
%package ksm
Summary: Kernel Samepage Merging services
@@ -412,7 +464,7 @@
%endif
%prep
-%setup -q -n %name-2.0.0-rc0
+%setup -q #-n %name-2.0.0-rc3
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
@@ -452,6 +504,11 @@
%patch0037 -p1
%patch0038 -p1
%patch0039 -p1
+%patch0040 -p1
+%patch0041 -p1
+%patch0042 -p1
+%patch0043 -p1
+%patch0044 -p1
%patch1000 -p1
%patch1001 -p1
@@ -459,7 +516,7 @@
%if %{build_x86_fw_from_source}
# as a safeguard, delete the firmware files that we intend to build
-for i in %firmware_files
+for i in %built_firmware_files
do
rm -f pc-bios/$i
done
@@ -467,7 +524,9 @@
%build
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
+ --libdir=%_libdir \
--libexecdir=%_libexecdir \
+ --localstatedir=%_localstatedir \
--extra-cflags="%{optflags}" \
--disable-strip \
--enable-system --disable-linux-user \
@@ -481,16 +540,15 @@
--enable-cap-ng \
--enable-curl \
--enable-curses \
-%if 0%{?suse_version} >= 1210
--enable-gtk \
%if 0%{?suse_version} >= 1220
--with-gtkabi=3.0 \
%endif
-%endif
--enable-linux-aio \
--enable-modules \
--enable-sdl \
--with-sdlabi=1.2 \
+ --enable-smartcard-nss \
%if 0%{?suse_version} >= 1140
%ifarch %ix86 x86_64
--enable-spice \
@@ -522,10 +580,10 @@
# Firmware
%if %{build_x86_fw_from_source}
-make --no-print-directory -C roms bios
-make --no-print-directory -C roms seavgabios
-make --no-print-directory -C roms pxerom
-make --no-print-directory -C roms sgabios
+make -C roms bios
+make -C roms seavgabios
+make -C roms pxerom
+make -C roms sgabios
%endif
%check
@@ -535,17 +593,15 @@
make install DESTDIR=$RPM_BUILD_ROOT
rm -fr $RPM_BUILD_ROOT/%_datadir/doc
install -D -m 644 %{SOURCE302} $RPM_BUILD_ROOT/%{_sysconfdir}/qemu/bridge.conf
-%if 0%{?suse_version} >= 1210
%find_lang %name
-%endif
%ifarch %ix86 x86_64 s390x
cat > %{buildroot}%{_bindir}/qemu-kvm << 'EOF'
#!/bin/sh
-%ifarch %s390x
-exec /usr/bin/qemu-system-s390x -machine accel=kvm "$@"
+%ifarch s390x
+exec %{_bindir}/qemu-system-s390x -machine accel=kvm "$@"
%else
-exec /usr/bin/qemu-system-x86_64 -machine accel=kvm "$@"
+exec %{_bindir}/qemu-system-x86_64 -machine accel=kvm "$@"
%endif
EOF
chmod 755 %{buildroot}%{_bindir}/qemu-kvm
@@ -560,7 +616,7 @@
install -D -m 755 %{SOURCE3} %{buildroot}%{_bindir}/kvm_stat
install -D -m 644 %{SOURCE4} %{buildroot}%{_mandir}/man1/qemu-kvm.1.gz
%endif
-install -D -p -m 0744 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
+install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
%fdupes -s $RPM_BUILD_ROOT
%clean
@@ -589,6 +645,10 @@
%verify_permissions %_libexecdir/qemu-bridge-helper
%endif
+%post -n libcacard0 -p /sbin/ldconfig
+
+%postun -n libcacard0 -p /sbin/ldconfig
+
%if 0%{?with_systemd}
%pre ksm
%service_add_pre ksm.service
@@ -605,8 +665,8 @@
%files
%defattr(-, root, root)
-%dir %_libexecdir/%name
-%_libexecdir/%name/block-curl.so
+%dir %_libdir/%name
+%_libdir/%name/block-curl.so
%doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
%doc %_mandir/man1/qemu.1.gz
%_datadir/%name
@@ -649,7 +709,9 @@
%exclude %_datadir/%name/petalogix-s3adsp1800.dtb
%exclude %_datadir/%name/QEMU,cgthree.bin
%exclude %_datadir/%name/QEMU,tcx.bin
+%ifarch %ix86 x86_64 s390x
%exclude %_datadir/%name/qemu-ifup
+%endif
%dir %_sysconfdir/%name
%ifarch %ix86 x86_64
%if 0%{?suse_version} >= 1230
@@ -714,10 +776,8 @@
%_mandir/man1/qemu-kvm.1.gz
%endif
-%if 0%{?suse_version} >= 1210
%files lang -f %name.lang
%defattr(-, root, root)
-%endif
%files seabios
%defattr(-, root, root)
@@ -762,16 +822,31 @@
%_bindir/qemu-img
%_bindir/qemu-nbd
%_bindir/virtfs-proxy-helper
+%_bindir/vscclient
%verify(not mode) %_libexecdir/qemu-bridge-helper
%dir %_sysconfdir/%name
%config %_sysconfdir/%name/bridge.conf
+%files -n libcacard0
+%defattr(-, root, root)
+%_libdir/libcacard.so.0*
+
+%files -n libcacard-devel
+%defattr(-, root, root)
+%dir %_includedir/cacard
+%_includedir/cacard/*.h
+%_libdir/libcacard.la
+%_libdir/libcacard.a
+%_libdir/libcacard.so
+%_libdir/pkgconfig/libcacard.pc
+
%files guest-agent
%defattr(-, root, root)
%attr(755,root,kvm) %_bindir/qemu-ga
%if 0%{?with_systemd}
%files ksm
+%defattr(-, root, root)
%{_unitdir}/ksm.service
%endif
++++++ 0001-XXX-dont-dump-core-on-sigabort.patc.patch -> 0001-XXX-dont-dump-core-on-sigabort.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0001-XXX-dont-dump-core-on-sigabort.patc.patch 2014-03-23 22:28:53.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0001-XXX-dont-dump-core-on-sigabort.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From c405d94cadd2702967b7640c292dba4235be31bc Mon Sep 17 00:00:00 2001
+From afd1df16c2e7b2dd5d4478f2ba6e29a1296c8cfa Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Mon, 21 Nov 2011 23:50:36 +0100
Subject: [PATCH] XXX dont dump core on sigabort
@@ -8,10 +8,10 @@
1 file changed, 6 insertions(+)
diff --git a/linux-user/signal.c b/linux-user/signal.c
-index 24c91f3..847fa7c 100644
+index 7d6246f..1bcf16f 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
-@@ -399,6 +399,10 @@ static void QEMU_NORETURN force_sig(int target_sig)
+@@ -448,6 +448,10 @@ static void QEMU_NORETURN force_sig(int target_sig)
host_sig = target_to_host_signal(target_sig);
gdb_signalled(env, target_sig);
@@ -22,7 +22,7 @@
/* dump core if supported by target binary format */
if (core_dump_signal(target_sig) && (ts->bprm->core_dump != NULL)) {
stop_all_tasks();
-@@ -416,6 +420,8 @@ static void QEMU_NORETURN force_sig(int target_sig)
+@@ -465,6 +469,8 @@ static void QEMU_NORETURN force_sig(int target_sig)
target_sig, strsignal(host_sig), "core dumped" );
}
++++++ 0002-XXX-work-around-SA_RESTART-race-wit.patch ++++++
--- /var/tmp/diff_new_pack.OZuPSx/_old 2014-04-22 10:06:18.000000000 +0200
+++ /var/tmp/diff_new_pack.OZuPSx/_new 2014-04-22 10:06:18.000000000 +0200
@@ -1,4 +1,4 @@
-From cd46303ab0b8bfe23f73bb14880d8e6c57e66080 Mon Sep 17 00:00:00 2001
+From e9ce5f593385ed16e456058d1f873e381c9d053d Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Thu, 1 Dec 2011 19:00:01 +0100
Subject: [PATCH] XXX work around SA_RESTART race with boehm-gc (ARM only)
@@ -49,10 +49,10 @@
} else {
goto error;
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
-index c2f74f3..c6366c2 100644
+index 36d4a73..a2c4e35 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
-@@ -133,6 +133,8 @@ typedef struct TaskState {
+@@ -134,6 +134,8 @@ typedef struct TaskState {
struct sigqueue sigqueue_table[MAX_SIGQUEUE_SIZE]; /* siginfo queue */
struct sigqueue *first_free; /* first free siginfo queue entry */
int signal_pending; /* non zero if a signal may be pending */
@@ -61,7 +61,7 @@
} __attribute__((aligned(16))) TaskState;
extern char *exec_path;
-@@ -198,6 +200,7 @@ int get_osversion(void);
+@@ -199,6 +201,7 @@ int get_osversion(void);
void init_qemu_uname_release(void);
void fork_start(void);
void fork_end(int child);
@@ -70,7 +70,7 @@
/* Creates the initial guest address space in the host memory space using
* the given host start address hint and size. The guest_start parameter
diff --git a/linux-user/signal.c b/linux-user/signal.c
-index 847fa7c..fef10bc 100644
+index 1bcf16f..cfaf501 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -25,6 +25,7 @@
@@ -81,7 +81,7 @@
#include "qemu.h"
#include "qemu-common.h"
-@@ -509,6 +510,11 @@ int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info)
+@@ -571,6 +572,11 @@ int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info)
k->pending = 1;
/* signal that a new signal is pending */
ts->signal_pending = 1;
@@ -93,7 +93,7 @@
return 1; /* indicates that the signal was queued */
}
}
-@@ -644,8 +650,24 @@ int do_sigaction(int sig, const struct target_sigaction *act,
+@@ -706,8 +712,24 @@ int do_sigaction(int sig, const struct target_sigaction *act,
if (host_sig != SIGSEGV && host_sig != SIGBUS) {
sigfillset(&act1.sa_mask);
act1.sa_flags = SA_SIGINFO;
@@ -119,10 +119,10 @@
ignore state to avoid getting unexpected interrupted
syscalls */
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index ffc11de..c193397 100644
+index 9864813..1d791a3 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
-@@ -5215,6 +5215,87 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
+@@ -5259,6 +5259,87 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
return get_errno(open(path(pathname), flags, mode));
}
@@ -210,7 +210,7 @@
/* do_syscall() should always have a single exit point at the end so
that actions, such as logging of syscall results, can be performed.
All errnos that do_syscall() returns must be -TARGET_<errcode>. */
-@@ -5228,6 +5309,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
+@@ -5272,6 +5353,12 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
struct stat st;
struct statfs stfs;
void *p;
@@ -223,7 +223,7 @@
#ifdef DEBUG
gemu_log("syscall %d", num);
-@@ -8347,7 +8434,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
+@@ -8457,7 +8544,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
cmd = target_to_host_fcntl_cmd(arg2);
if (cmd == -TARGET_EINVAL) {
ret = cmd;
@@ -232,7 +232,7 @@
}
switch(arg2) {
-@@ -9284,6 +9371,7 @@ fail:
+@@ -9395,6 +9482,7 @@ fail:
#endif
if(do_strace)
print_syscall_ret(num, ret);
++++++ 0003-qemu-0.9.0.cvs-binfmt.patch.patch -> 0003-qemu-0.9.0.cvs-binfmt.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0003-qemu-0.9.0.cvs-binfmt.patch.patch 2014-03-23 22:28:53.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0003-qemu-0.9.0.cvs-binfmt.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,7 +1,10 @@
-From 357a1297e68bd36fc75d1c7d0cdd0f7293bba4e0 Mon Sep 17 00:00:00 2001
+From b34c0c408d3f08110ccb980d4ca0ef58a1a03c86 Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli(a)suse.de>
Date: Tue, 14 Apr 2009 16:18:44 +0200
Subject: [PATCH] qemu-0.9.0.cvs-binfmt
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
Fixes binfmt_misc setup script:
- x86_64 is i386-compatible
@@ -9,15 +12,17 @@
- path to QEMU
Signed-off-by: Ulrich Hecht <uli(a)suse.de>
+[AF: Update path for qemu-aarch64 for v2.0.0-rc1]
+Signed-off-by: Andreas Färber <afaerber(a)suse.de>
---
- scripts/qemu-binfmt-conf.sh | 37 ++++++++++++++++++++-----------------
- 1 file changed, 20 insertions(+), 17 deletions(-)
+ scripts/qemu-binfmt-conf.sh | 39 +++++++++++++++++++++------------------
+ 1 file changed, 21 insertions(+), 18 deletions(-)
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
-index 0da2618..dc652f0 100644
+index 289b1a3..75e0526 100644
--- a/scripts/qemu-binfmt-conf.sh
+++ b/scripts/qemu-binfmt-conf.sh
-@@ -27,43 +27,46 @@ case "$cpu" in
+@@ -27,46 +27,49 @@ case "$cpu" in
armv[4-9]*)
cpu="arm"
;;
@@ -43,6 +48,10 @@
+ echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:' > /proc/sys/fs/binfmt_misc/register
+ echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb:' > /proc/sys/fs/binfmt_misc/register
fi
+ if [ $cpu != "aarch64" ] ; then
+- echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/local/bin/qemu-aarch64:' > /proc/sys/fs/binfmt_misc/register
++ echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64:' > /proc/sys/fs/binfmt_misc/register
+ fi
if [ $cpu != "sparc" ] ; then
- echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/local/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register
+ echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register
++++++ 0004-qemu-cvs-alsa_bitfield.patch.patch -> 0004-qemu-cvs-alsa_bitfield.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0004-qemu-cvs-alsa_bitfield.patch.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0004-qemu-cvs-alsa_bitfield.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From eae7841334a0a53ff4b4b485f13ca6f7c830ae02 Mon Sep 17 00:00:00 2001
+From 08da583bd034109d09bfa6fedaa19bd0bdbc6c3a Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Tue, 14 Apr 2009 16:20:50 +0200
Subject: [PATCH] qemu-cvs-alsa_bitfield
++++++ 0005-qemu-cvs-alsa_ioctl.patch.patch -> 0005-qemu-cvs-alsa_ioctl.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0005-qemu-cvs-alsa_ioctl.patch.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0005-qemu-cvs-alsa_ioctl.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From bcfb81675b318fa9a83d49be6e194894d2bb1131 Mon Sep 17 00:00:00 2001
+From 4820daf43dce7bbafc27ab1102a6eb52a17e4da9 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Tue, 14 Apr 2009 16:23:27 +0200
Subject: [PATCH] qemu-cvs-alsa_ioctl
@@ -2255,10 +2255,10 @@
+ unsigned char *code;
+};
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index 732c9e3..84094ab 100644
+index fdf9a47..a2ac23e 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
-@@ -2538,6 +2538,8 @@ struct target_ucred {
+@@ -2545,6 +2545,8 @@ struct target_ucred {
uint32_t gid;
};
++++++ 0006-qemu-cvs-alsa_mmap.patch.patch -> 0006-qemu-cvs-alsa_mmap.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0006-qemu-cvs-alsa_mmap.patch.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0006-qemu-cvs-alsa_mmap.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 6767f4a5d5336071a032e7aeec1b07d4dc412225 Mon Sep 17 00:00:00 2001
+From b1f94337048b56d240420c0d0a37ad061084904c Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Tue, 14 Apr 2009 16:24:15 +0200
Subject: [PATCH] qemu-cvs-alsa_mmap
++++++ 0007-qemu-cvs-gettimeofday.patch.patch -> 0007-qemu-cvs-gettimeofday.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0007-qemu-cvs-gettimeofday.patch.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0007-qemu-cvs-gettimeofday.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 2ab8ba594caa75e869d684576cb76b7cf47d3a4e Mon Sep 17 00:00:00 2001
+From 2a9ed81b68696702c3dfab0e3635ca1a7afe1ea4 Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli(a)suse.de>
Date: Tue, 14 Apr 2009 16:25:41 +0200
Subject: [PATCH] qemu-cvs-gettimeofday
@@ -9,10 +9,10 @@
1 file changed, 2 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index c193397..98c12bb 100644
+index 1d791a3..206dd12 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
-@@ -6359,6 +6359,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
+@@ -6403,6 +6403,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
case TARGET_NR_gettimeofday:
{
struct timeval tv;
++++++ 0008-qemu-cvs-ioctl_debug.patch.patch -> 0008-qemu-cvs-ioctl_debug.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0008-qemu-cvs-ioctl_debug.patch.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0008-qemu-cvs-ioctl_debug.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From ecb044a5ede319e8aea9b95e2a32f04bc9842602 Mon Sep 17 00:00:00 2001
+From 9671d1a0e8e53a44513131d105c0f543c181cc0f Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Tue, 14 Apr 2009 16:26:33 +0200
Subject: [PATCH] qemu-cvs-ioctl_debug
@@ -12,10 +12,10 @@
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 98c12bb..312b7d6 100644
+index 206dd12..3407fd7 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
-@@ -3646,7 +3646,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
+@@ -3654,7 +3654,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
ie = ioctl_entries;
for(;;) {
if (ie->target_cmd == 0) {
++++++ 0009-qemu-cvs-ioctl_nodirection.patch.patch -> 0009-qemu-cvs-ioctl_nodirection.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0009-qemu-cvs-ioctl_nodirection.patch.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0009-qemu-cvs-ioctl_nodirection.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 021f44a22b1c6121805fe175d97da6d4d43abd45 Mon Sep 17 00:00:00 2001
+From a535f471a344608107dce681f66a75b38f9e8441 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Tue, 14 Apr 2009 16:27:36 +0200
Subject: [PATCH] qemu-cvs-ioctl_nodirection
@@ -15,10 +15,10 @@
1 file changed, 6 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 312b7d6..78a2fe7 100644
+index 3407fd7..7d7d700 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
-@@ -3680,6 +3680,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
+@@ -3688,6 +3688,11 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
arg_type++;
target_size = thunk_type_size(arg_type, 0);
switch(ie->access) {
@@ -30,7 +30,7 @@
case IOC_R:
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
if (!is_error(ret)) {
-@@ -3698,6 +3703,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
+@@ -3706,6 +3711,7 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg)
unlock_user(argptr, arg, 0);
ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));
break;
++++++ 0010-block-vmdk-Support-creation-of-SCSI.patch ++++++
--- /var/tmp/diff_new_pack.OZuPSx/_old 2014-04-22 10:06:18.000000000 +0200
+++ /var/tmp/diff_new_pack.OZuPSx/_new 2014-04-22 10:06:18.000000000 +0200
@@ -1,4 +1,4 @@
-From f22c4c2cc220f6b074ac6a4d6c6d8911b6148ed8 Mon Sep 17 00:00:00 2001
+From a96062c693f9fa9ce4d0dd23c9cfc8816b0eacce Mon Sep 17 00:00:00 2001
From: Ulrich Hecht <uli(a)suse.de>
Date: Tue, 14 Apr 2009 16:37:42 +0200
Subject: [PATCH] block/vmdk: Support creation of SCSI VMDK images in qemu-img
@@ -20,10 +20,10 @@
4 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/block.c b/block.c
-index fae50c9..7cb6098 100644
+index 990a754..40c5c84 100644
--- a/block.c
+++ b/block.c
-@@ -5237,7 +5237,7 @@ void bdrv_img_create(const char *filename, const char *fmt,
+@@ -5277,7 +5277,7 @@ void bdrv_img_create(const char *filename, const char *fmt,
Error **errp, bool quiet)
{
QEMUOptionParameter *param = NULL, *create_options = NULL;
@@ -32,7 +32,7 @@
BlockDriver *drv, *proto_drv;
BlockDriver *backing_drv = NULL;
Error *local_err = NULL;
-@@ -5352,6 +5352,10 @@ void bdrv_img_create(const char *filename, const char *fmt,
+@@ -5392,6 +5392,10 @@ void bdrv_img_create(const char *filename, const char *fmt,
if (!quiet) {
printf("Formatting '%s', fmt=%s ", filename, fmt);
print_option_parameters(param);
@@ -75,7 +75,7 @@
};
diff --git a/include/block/block_int.h b/include/block/block_int.h
-index 4fc5ea8..ae28f01 100644
+index cd5bc73..0d4208f 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -40,10 +40,12 @@
@@ -92,7 +92,7 @@
#define BLOCK_OPT_BACKING_FMT "backing_fmt"
#define BLOCK_OPT_CLUSTER_SIZE "cluster_size"
diff --git a/qemu-img.c b/qemu-img.c
-index 2e40cc1..fc4888d 100644
+index 8455994..a8545b7 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -1154,7 +1154,7 @@ static int img_convert(int argc, char **argv)
++++++ 0011-linux-user-add-binfmt-wrapper-for-a.patch ++++++
--- /var/tmp/diff_new_pack.OZuPSx/_old 2014-04-22 10:06:18.000000000 +0200
+++ /var/tmp/diff_new_pack.OZuPSx/_new 2014-04-22 10:06:18.000000000 +0200
@@ -1,4 +1,4 @@
-From ef95f78ca9897bcc1bfcad76698344c2845afdfb Mon Sep 17 00:00:00 2001
+From 99a52830916b325a52d7eac1abb979d525229fc4 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Fri, 30 Sep 2011 19:40:36 +0200
Subject: [PATCH] linux-user: add binfmt wrapper for argv[0] handling
@@ -25,13 +25,14 @@
CC: Reinhard Max <max(a)suse.de>
Signed-off-by: Alexander Graf <agraf(a)suse.de>
[AF: Rebased onto new Makefile infrastructure, twice]
+[AF: Updated for aarch64 for v2.0.0-rc1]
Signed-off-by: Andreas Färber <afaerber(a)suse.de>
---
Makefile.target | 13 +++++++++++++
linux-user/Makefile.objs | 2 ++
linux-user/binfmt.c | 42 ++++++++++++++++++++++++++++++++++++++++++
- scripts/qemu-binfmt-conf.sh | 34 +++++++++++++++++-----------------
- 4 files changed, 74 insertions(+), 17 deletions(-)
+ scripts/qemu-binfmt-conf.sh | 36 ++++++++++++++++++------------------
+ 4 files changed, 75 insertions(+), 18 deletions(-)
create mode 100644 linux-user/binfmt.c
diff --git a/Makefile.target b/Makefile.target
@@ -139,10 +140,10 @@
+ return execve(new_argv[0], new_argv, envp);
+}
diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
-index dc652f0..37d03f3 100644
+index 75e0526..557dd2c 100644
--- a/scripts/qemu-binfmt-conf.sh
+++ b/scripts/qemu-binfmt-conf.sh
-@@ -34,39 +34,39 @@ esac
+@@ -34,42 +34,42 @@ esac
# register the interpreter for each cpu except for the native one
if [ $cpu != "i386" ] ; then
@@ -161,6 +162,10 @@
+ echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-binfmt:P' > /proc/sys/fs/binfmt_misc/register
+ echo ':armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb-binfmt:P' > /proc/sys/fs/binfmt_misc/register
fi
+ if [ $cpu != "aarch64" ] ; then
+- echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64:' > /proc/sys/fs/binfmt_misc/register
++ echo ':aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64-binfmt:P' > /proc/sys/fs/binfmt_misc/register
+ fi
if [ $cpu != "sparc" ] ; then
- echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sparc:' > /proc/sys/fs/binfmt_misc/register
+ echo ':sparc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sparc-binfmt:P' > /proc/sys/fs/binfmt_misc/register
++++++ 0013-PPC-KVM-Disable-mmu-notifier-check..patch -> 0012-PPC-KVM-Disable-mmu-notifier-check.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0013-PPC-KVM-Disable-mmu-notifier-check..patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0012-PPC-KVM-Disable-mmu-notifier-check.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 97b1499528c524628f0b0fe03917abb58e41f067 Mon Sep 17 00:00:00 2001
+From 9ceca2f2c25c99e930d31ab11c7ff46dd9d43da6 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Fri, 6 Jan 2012 01:05:55 +0100
Subject: [PATCH] PPC: KVM: Disable mmu notifier check
@@ -13,7 +13,7 @@
1 file changed, 2 insertions(+)
diff --git a/exec.c b/exec.c
-index 6a0bc94..6c2af34 100644
+index 91513c6..36b5ef6 100644
--- a/exec.c
+++ b/exec.c
@@ -1039,10 +1039,12 @@ static void *file_ram_alloc(RAMBlock *block,
++++++ 0014-linux-user-fix-segfault-deadlock.pa.patch -> 0013-linux-user-fix-segfault-deadlock.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0014-linux-user-fix-segfault-deadlock.pa.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0013-linux-user-fix-segfault-deadlock.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 0e23bd461d077e553b7be5e8d192ca400f4ffbdf Mon Sep 17 00:00:00 2001
+From c8bac440eee7d3377d27c676dfa6034ea059451c Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Fri, 13 Jan 2012 17:05:41 +0100
Subject: [PATCH] linux-user: fix segfault deadlock
++++++ 0015-linux-user-binfmt-support-host-bina.patch -> 0014-linux-user-binfmt-support-host-bina.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0015-linux-user-binfmt-support-host-bina.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0014-linux-user-binfmt-support-host-bina.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 88203441776c0269c998530c3322ba3827e66e57 Mon Sep 17 00:00:00 2001
+From ae7b4452a263d662035eb35c14fe84590bfff364 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Thu, 2 Feb 2012 18:02:33 +0100
Subject: [PATCH] linux-user: binfmt: support host binaries
++++++ 0016-linux-user-arm-no-tb_flush-on-reset.patch -> 0015-linux-user-arm-no-tb_flush-on-reset.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0016-linux-user-arm-no-tb_flush-on-reset.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0015-linux-user-arm-no-tb_flush-on-reset.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From a773a6d801482a3fb8a7a51f82dc22b470ab8a10 Mon Sep 17 00:00:00 2001
+From bc949bb060b7f52ee5da9ef34e06bb12ba202726 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Tue, 29 May 2012 15:30:01 +0200
Subject: [PATCH] linux-user: arm: no tb_flush on reset
++++++ 0017-linux-user-Ignore-broken-loop-ioctl.patch -> 0016-linux-user-Ignore-broken-loop-ioctl.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0017-linux-user-Ignore-broken-loop-ioctl.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0016-linux-user-Ignore-broken-loop-ioctl.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 1a62d47ce18d5798fcfc9d576ac4805015806299 Mon Sep 17 00:00:00 2001
+From 9414e435edf0bdf2341c8e69e81e6f42cd73aca4 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Tue, 12 Jun 2012 04:41:10 +0200
Subject: [PATCH] linux-user: Ignore broken loop ioctl
@@ -41,10 +41,10 @@
#endif
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index aa9fd3a..32bbd5d 100644
+index 7d7d700..4823aa0 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
-@@ -3623,6 +3623,13 @@ static abi_long do_ioctl_rt(const IOCTLEntry *ie, uint8_t *buf_temp,
+@@ -3631,6 +3631,13 @@ static abi_long do_ioctl_rt(const IOCTLEntry *ie, uint8_t *buf_temp,
return ret;
}
@@ -59,7 +59,7 @@
#define IOCTL(cmd, access, ...) \
{ TARGET_ ## cmd, cmd, #cmd, access, 0, { __VA_ARGS__ } },
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index 84094ab..668076f 100644
+index a2ac23e..dd6d041 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -1044,6 +1044,7 @@ struct target_pollfd {
++++++ 0018-linux-user-lock-tcg.patch.patch -> 0017-linux-user-lock-tcg.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0018-linux-user-lock-tcg.patch.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0017-linux-user-lock-tcg.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 24525af3bf864f4849101f4506c896d5703aadec Mon Sep 17 00:00:00 2001
+From c06014909fc303dffb38e62943d88c4ba9f8da31 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Thu, 5 Jul 2012 17:31:39 +0200
Subject: [PATCH] linux-user: lock tcg
++++++ 0019-linux-user-Run-multi-threaded-code-.patch -> 0018-linux-user-Run-multi-threaded-code-.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0019-linux-user-Run-multi-threaded-code-.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0018-linux-user-Run-multi-threaded-code-.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 6744a839307d7553ef959d564ae820eb8a400a48 Mon Sep 17 00:00:00 2001
+From ca45f1d446ca88675e85bf80f133d3d8d955dbf0 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Tue, 10 Jul 2012 20:40:55 +0200
Subject: [PATCH] linux-user: Run multi-threaded code on a single core
@@ -19,10 +19,10 @@
1 file changed, 9 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 32bbd5d..15ac71c 100644
+index 4823aa0..ff5ed06 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
-@@ -4326,6 +4326,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
+@@ -4334,6 +4334,15 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
if (nptl_flags & CLONE_SETTLS)
cpu_set_tls (new_env, newtls);
++++++ 0020-linux-user-lock-tb-flushing-too.pat.patch -> 0019-linux-user-lock-tb-flushing-too.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0020-linux-user-lock-tb-flushing-too.pat.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0019-linux-user-lock-tb-flushing-too.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From c4a6baf3d9eaa1d62daf4e3ab69f46f7fce9f294 Mon Sep 17 00:00:00 2001
+From cba80a9dc1f00c65320122f6a9afe95cbf12fbab Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Wed, 11 Jul 2012 16:47:42 +0200
Subject: [PATCH] linux-user: lock tb flushing too
@@ -14,7 +14,7 @@
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/translate-all.c b/translate-all.c
-index f243c10..7067db9 100644
+index 5759974..1abb87d 100644
--- a/translate-all.c
+++ b/translate-all.c
@@ -619,19 +619,23 @@ static TranslationBlock *tb_alloc(target_ulong pc)
++++++ 0021-linux-user-Fake-proc-cpuinfo.patch.patch -> 0020-linux-user-Fake-proc-cpuinfo.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0021-linux-user-Fake-proc-cpuinfo.patch.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0020-linux-user-Fake-proc-cpuinfo.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 54ace443d26657c878600a9e028240cb65ecfc2d Mon Sep 17 00:00:00 2001
+From 761b115c27a0f900f519422e4a79573da3632f4a Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Mon, 23 Jul 2012 10:24:14 +0200
Subject: [PATCH] linux-user: Fake /proc/cpuinfo
@@ -22,10 +22,10 @@
1 file changed, 20 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 15ac71c..f8cbacc 100644
+index ff5ed06..8a78348 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
-@@ -5092,6 +5092,25 @@ static int open_self_stat(void *cpu_env, int fd)
+@@ -5136,6 +5136,25 @@ static int open_self_stat(void *cpu_env, int fd)
return 0;
}
@@ -51,7 +51,7 @@
static int open_self_auxv(void *cpu_env, int fd)
{
CPUState *cpu = ENV_GET_CPU((CPUArchState *)cpu_env);
-@@ -5205,6 +5224,7 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
+@@ -5249,6 +5268,7 @@ static int do_open(void *cpu_env, const char *pathname, int flags, mode_t mode)
#if defined(HOST_WORDS_BIGENDIAN) != defined(TARGET_WORDS_BIGENDIAN)
{ "/proc/net/route", open_net_route, is_proc },
#endif
++++++ 0022-linux-user-implement-FS_IOC_GETFLAG.patch -> 0021-linux-user-implement-FS_IOC_GETFLAG.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0022-linux-user-implement-FS_IOC_GETFLAG.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0021-linux-user-implement-FS_IOC_GETFLAG.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 87cf8193d86c579ac8a0546f3645e6e2162f2d84 Mon Sep 17 00:00:00 2001
+From 36fc0fea8b44e3993088c6b9cab42db36fe1da76 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Mon, 20 Aug 2012 00:02:52 +0200
Subject: [PATCH] linux-user: implement FS_IOC_GETFLAGS ioctl
@@ -28,10 +28,10 @@
IOCTL(SIOCATMARK, 0, TYPE_NULL)
IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index 668076f..6d7a7cf 100644
+index dd6d041..2456d5b 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
-@@ -2453,6 +2453,8 @@ struct target_eabi_flock64 {
+@@ -2460,6 +2460,8 @@ struct target_f_owner_ex {
#define TARGET_MTIOCGET TARGET_IOR('m', 2, struct mtget)
#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos)
++++++ 0023-linux-user-implement-FS_IOC_SETFLAG.patch -> 0022-linux-user-implement-FS_IOC_SETFLAG.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0023-linux-user-implement-FS_IOC_SETFLAG.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0022-linux-user-implement-FS_IOC_SETFLAG.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 3f9f234c01de236ec8f4ae2879142e7bc7f236fa Mon Sep 17 00:00:00 2001
+From 8c00316b2996d0c2171032e58d7e21fd8af9bee1 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Mon, 20 Aug 2012 00:07:13 +0200
Subject: [PATCH] linux-user: implement FS_IOC_SETFLAGS ioctl
@@ -28,10 +28,10 @@
IOCTL(SIOCATMARK, 0, TYPE_NULL)
IOCTL(SIOCGIFNAME, IOC_RW, MK_PTR(TYPE_INT))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index 6d7a7cf..15827bf 100644
+index 2456d5b..03863a6 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
-@@ -2454,6 +2454,7 @@ struct target_eabi_flock64 {
+@@ -2461,6 +2461,7 @@ struct target_f_owner_ex {
#define TARGET_MTIOCPOS TARGET_IOR('m', 3, struct mtpos)
#define TARGET_FS_IOC_GETFLAGS TARGET_IORU('f', 1)
++++++ 0024-linux-user-XXX-disable-fiemap.patch.patch -> 0023-linux-user-XXX-disable-fiemap.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0024-linux-user-XXX-disable-fiemap.patch.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0023-linux-user-XXX-disable-fiemap.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 890d2d99454300c53ca6776d097362f186777043 Mon Sep 17 00:00:00 2001
+From fac2c74e7593b04a4fc45e0d40c06036f60ae75d Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Tue, 21 Aug 2012 14:20:40 +0200
Subject: [PATCH] linux-user: XXX disable fiemap
@@ -9,10 +9,10 @@
1 file changed, 5 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index f8cbacc..1f80002 100644
+index 8a78348..28a3d74 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
-@@ -3180,6 +3180,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,
+@@ -3188,6 +3188,11 @@ static abi_long do_ioctl_fs_ioc_fiemap(const IOCTLEntry *ie, uint8_t *buf_temp,
uint32_t outbufsz;
int free_fm = 0;
++++++ 0025-slirp-nooutgoing.patch.patch -> 0024-slirp-nooutgoing.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0025-slirp-nooutgoing.patch.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0024-slirp-nooutgoing.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 80c43c4b1cb9a0f1e25bdbf993a882a38af85a1d Mon Sep 17 00:00:00 2001
+From 871d3d13b54c6ba223b09953c50b762d0404cbec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber(a)suse.de>
Date: Wed, 29 Aug 2012 18:42:56 +0200
Subject: [PATCH] slirp: -nooutgoing
@@ -12,10 +12,10 @@
4 files changed, 40 insertions(+)
diff --git a/qemu-options.hx b/qemu-options.hx
-index 068da2d..b40da6c 100644
+index 2d33815..62a1cfc 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
-@@ -2590,6 +2590,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
+@@ -2603,6 +2603,16 @@ Store the QEMU process PID in @var{file}. It is useful if you launch QEMU
from a script.
ETEXI
@@ -97,10 +97,10 @@
socket_set_fast_reuse(s);
opt = 1;
diff --git a/vl.c b/vl.c
-index 842e897..192aa7b 100644
+index 9975e5a..b18c815 100644
--- a/vl.c
+++ b/vl.c
-@@ -159,6 +159,7 @@ const char *vnc_display;
+@@ -162,6 +162,7 @@ const char *vnc_display;
int acpi_enabled = 1;
int no_hpet = 0;
int fd_bootchk = 1;
@@ -108,7 +108,7 @@
static int no_reboot;
int no_shutdown = 0;
int cursor_hide = 1;
-@@ -3328,6 +3329,14 @@ int main(int argc, char **argv, char **envp)
+@@ -3351,6 +3352,14 @@ int main(int argc, char **argv, char **envp)
case QEMU_OPTION_singlestep:
singlestep = 1;
break;
++++++ 0026-vnc-password-file-and-incoming-conn.patch -> 0025-vnc-password-file-and-incoming-conn.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0026-vnc-password-file-and-incoming-conn.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0025-vnc-password-file-and-incoming-conn.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 0587986e55f3bf9263fa62bd21425fd30405f2dc Mon Sep 17 00:00:00 2001
+From 955ef0968a268bcb6ef68b8788952546aed3a1dc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber(a)suse.de>
Date: Wed, 29 Aug 2012 20:06:01 +0200
Subject: [PATCH] vnc: password-file= and incoming-connections=
@@ -9,7 +9,7 @@
1 file changed, 71 insertions(+)
diff --git a/ui/vnc.c b/ui/vnc.c
-index 9c84b3e..d596d25 100644
+index 5925774..8445dd6 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -45,6 +45,7 @@ static const struct timeval VNC_REFRESH_LOSSY = { 2, 0 };
@@ -20,7 +20,7 @@
static int vnc_cursor_define(VncState *vs);
static void vnc_release_modifiers(VncState *vs);
-@@ -1027,6 +1028,7 @@ static void vnc_disconnect_start(VncState *vs)
+@@ -1031,6 +1032,7 @@ static void vnc_disconnect_start(VncState *vs)
void vnc_disconnect_finish(VncState *vs)
{
int i;
@@ -28,7 +28,7 @@
vnc_jobs_join(vs); /* Wait encoding jobs */
-@@ -1075,6 +1077,13 @@ void vnc_disconnect_finish(VncState *vs)
+@@ -1079,6 +1081,13 @@ void vnc_disconnect_finish(VncState *vs)
}
g_free(vs->lossy_rect);
g_free(vs);
@@ -42,7 +42,7 @@
}
int vnc_client_io_error(VncState *vs, int ret, int last_errno)
-@@ -3037,6 +3046,39 @@ char *vnc_display_local_addr(DisplayState *ds)
+@@ -3041,6 +3050,39 @@ char *vnc_display_local_addr(DisplayState *ds)
return vnc_socket_local_addr("%s:%s", vs->lsock);
}
@@ -82,7 +82,7 @@
void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
{
VncDisplay *vs = vnc_display;
-@@ -3070,6 +3112,9 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
+@@ -3074,6 +3116,9 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
while ((options = strchr(options, ','))) {
options++;
if (strncmp(options, "password", 8) == 0) {
@@ -92,7 +92,7 @@
if (fips_get_state()) {
error_setg(errp,
"VNC password auth disabled due to FIPS mode, "
-@@ -3078,6 +3123,32 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
+@@ -3082,6 +3127,32 @@ void vnc_display_open(DisplayState *ds, const char *display, Error **errp)
goto fail;
}
password = 1; /* Require password auth */
++++++ 0027-linux-user-add-more-blk-ioctls.patc.patch -> 0026-linux-user-add-more-blk-ioctls.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0027-linux-user-add-more-blk-ioctls.patc.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0026-linux-user-add-more-blk-ioctls.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 811f9aaa6560561860d90fea353f5832a50e5467 Mon Sep 17 00:00:00 2001
+From 6b62214c4bd34a4480814ac47449fab7c34305ed Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Wed, 10 Oct 2012 10:21:20 +0200
Subject: [PATCH] linux-user: add more blk ioctls
@@ -42,7 +42,7 @@
IOCTL(BLKRASET, 0, TYPE_INT)
IOCTL(BLKRAGET, IOC_R, MK_PTR(TYPE_LONG))
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index 15827bf..40c8900 100644
+index 03863a6..2271d5f 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -913,6 +913,12 @@ struct target_pollfd {
++++++ 0028-linux-user-use-target_ulong.patch.patch -> 0027-linux-user-use-target_ulong.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0028-linux-user-use-target_ulong.patch.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0027-linux-user-use-target_ulong.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 076210cc06b65ebebef8d181ec74106eb6c5d198 Mon Sep 17 00:00:00 2001
+From 9f8f18dc792d6c9e3fb661cb8543d0c09b342ac4 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Tue, 9 Oct 2012 09:06:49 +0200
Subject: [PATCH] linux-user: use target_ulong
@@ -17,10 +17,10 @@
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
-index c6366c2..151d09d 100644
+index a2c4e35..6fd5e0c 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
-@@ -188,10 +188,10 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
+@@ -189,10 +189,10 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
void target_set_brk(abi_ulong new_brk);
abi_long do_brk(abi_ulong new_brk);
void syscall_init(void);
@@ -36,10 +36,10 @@
extern THREAD CPUState *thread_cpu;
void cpu_loop(CPUArchState *env);
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 1f80002..aacc224 100644
+index 28a3d74..a12a722 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
-@@ -5351,10 +5351,10 @@ int syscall_restartable(int syscall_nr)
+@@ -5395,10 +5395,10 @@ int syscall_restartable(int syscall_nr)
/* do_syscall() should always have a single exit point at the end so
that actions, such as logging of syscall results, can be performed.
All errnos that do_syscall() returns must be -TARGET_<errcode>. */
++++++ 0029-block-Add-support-for-DictZip-enabl.patch -> 0028-block-Add-support-for-DictZip-enabl.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0029-block-Add-support-for-DictZip-enabl.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0028-block-Add-support-for-DictZip-enabl.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 122051dc2fc438473aa17cd7847cb597e1d8a804 Mon Sep 17 00:00:00 2001
+From 8b201b80c7957d04876330c37857b1ac4d8df21e Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Wed, 5 Aug 2009 09:49:37 +0200
Subject: [PATCH] block: Add support for DictZip enabled gzip files
++++++ 0030-block-Add-tar-container-format.patc.patch -> 0029-block-Add-tar-container-format.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0030-block-Add-tar-container-format.patc.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0029-block-Add-tar-container-format.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 96fd8c590b6f1e38e2d28a4b37792162de0f73ca Mon Sep 17 00:00:00 2001
+From 9faf6837f5e436c6d2003e64cb4b44b90d234c72 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Wed, 5 Aug 2009 17:28:38 +0200
Subject: [PATCH] block: Add tar container format
++++++ 0031-Legacy-Patch-kvm-qemu-preXX-dictzip.patch -> 0030-Legacy-Patch-kvm-qemu-preXX-dictzip.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0031-Legacy-Patch-kvm-qemu-preXX-dictzip.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0030-Legacy-Patch-kvm-qemu-preXX-dictzip.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 4056851c208c99dd3f00845871599539e928e47f Mon Sep 17 00:00:00 2001
+From e26cff5986190a24dcc53d658da1fc8e7772338c Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Wed, 12 Dec 2012 19:11:30 +0100
Subject: [PATCH] Legacy Patch kvm-qemu-preXX-dictzip3.patch
++++++ 0032-Legacy-Patch-kvm-qemu-preXX-report-.patch -> 0031-Legacy-Patch-kvm-qemu-preXX-report-.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0032-Legacy-Patch-kvm-qemu-preXX-report-.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0031-Legacy-Patch-kvm-qemu-preXX-report-.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From aedb4fdda43d3b5c9780dfc1e8cc84490742ab82 Mon Sep 17 00:00:00 2001
+From e828d54e5b1ef01c620e1c761340cd73af785b6b Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Wed, 12 Dec 2012 19:11:31 +0100
Subject: [PATCH] Legacy Patch kvm-qemu-preXX-report-default-mac-used.patch
++++++ 0033-console-add-question-mark-escape-op.patch -> 0032-console-add-question-mark-escape-op.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0033-console-add-question-mark-escape-op.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0032-console-add-question-mark-escape-op.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 62e5e21a8022c87d48e2419c47b7b4dbf897fe81 Mon Sep 17 00:00:00 2001
+From 1f6cee23194037e7c2601e7a728b7fa824f4d66f Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Mon, 6 Jun 2011 06:53:52 +0200
Subject: [PATCH] console: add question-mark escape operator
@@ -16,7 +16,7 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ui/console.c b/ui/console.c
-index 4df251d..9d6b3b3 100644
+index e057755..24413e8 100644
--- a/ui/console.c
+++ b/ui/console.c
@@ -866,7 +866,7 @@ static void console_putchar(QemuConsole *s, int ch)
++++++ 0034-Make-char-muxer-more-robust-wrt-sma.patch -> 0033-Make-char-muxer-more-robust-wrt-sma.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0034-Make-char-muxer-more-robust-wrt-sma.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0033-Make-char-muxer-more-robust-wrt-sma.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From a620d8b81230c54245b6b0255b7ddff886272c5b Mon Sep 17 00:00:00 2001
+From e30f0e39abb8e5ad453333ac3dd0f6d7b270e045 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Thu, 1 Apr 2010 17:36:23 +0200
Subject: [PATCH] Make char muxer more robust wrt small FIFOs
++++++ 0035-linux-user-lseek-explicitly-cast-no.patch -> 0034-linux-user-lseek-explicitly-cast-no.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0035-linux-user-lseek-explicitly-cast-no.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0034-linux-user-lseek-explicitly-cast-no.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 1f62de84675c5c3cd14a59a8070c2bb47d494cc0 Mon Sep 17 00:00:00 2001
+From f222ce0d5af1eb8258e84d6fcd8ab89a85131a21 Mon Sep 17 00:00:00 2001
From: Alexander Graf <agraf(a)suse.de>
Date: Thu, 13 Dec 2012 14:29:22 +0100
Subject: [PATCH] linux-user: lseek: explicitly cast non-set offsets to signed
@@ -16,10 +16,10 @@
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index aacc224..67f8c25 100644
+index a12a722..d1f8b3d 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
-@@ -5665,9 +5665,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
+@@ -5709,9 +5709,14 @@ abi_long do_syscall(void *cpu_env, int num, abi_ulong arg1,
case TARGET_NR_oldstat:
goto unimplemented;
#endif
++++++ 0036-virtfs-proxy-helper-Provide-__u64-f.patch -> 0035-virtfs-proxy-helper-Provide-__u64-f.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0036-virtfs-proxy-helper-Provide-__u64-f.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0035-virtfs-proxy-helper-Provide-__u64-f.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 862047d71a3d245a5709a75cc3c109b94f6019ac Mon Sep 17 00:00:00 2001
+From 52b3782f6ec265abbd8704d4999940e2161819d5 Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers(a)suse.com>
Date: Thu, 16 May 2013 12:39:10 +0200
Subject: [PATCH] virtfs-proxy-helper: Provide __u64 for broken
++++++ 0038-configure-Enable-PIE-for-ppc-and-pp.patch -> 0036-configure-Enable-PIE-for-ppc-and-pp.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0038-configure-Enable-PIE-for-ppc-and-pp.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0036-configure-Enable-PIE-for-ppc-and-pp.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 53969fce3b20e0bb592675503b8bade77c1cea3f Mon Sep 17 00:00:00 2001
+From c5ce0620bff591f2c344771e75447d602212c6f0 Mon Sep 17 00:00:00 2001
From: Dinar Valeev <k0da(a)opensuse.org>
Date: Wed, 2 Oct 2013 17:56:03 +0200
Subject: [PATCH] configure: Enable PIE for ppc and ppc64 hosts
@@ -14,10 +14,10 @@
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
-index 8c2838e..530a10d 100755
+index 69b9f56..21523908 100755
--- a/configure
+++ b/configure
-@@ -1467,7 +1467,7 @@ fi
+@@ -1487,7 +1487,7 @@ fi
if test "$pie" = ""; then
case "$cpu-$targetos" in
++++++ 0039-xen_disk-add-discard-support.patch.patch -> 0037-xen_disk-add-discard-support.patch ++++++
--- /work/SRC/openSUSE:Factory/qemu/0039-xen_disk-add-discard-support.patch.patch 2014-03-23 22:28:54.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.qemu.new/0037-xen_disk-add-discard-support.patch 2014-04-22 10:06:16.000000000 +0200
@@ -1,4 +1,4 @@
-From 3ffc91748021ceebd6ea0de8cbf29b0117e8bcb3 Mon Sep 17 00:00:00 2001
+From 1798372872568aa5d3fd50c8d01ba658082a8711 Mon Sep 17 00:00:00 2001
From: Olaf Hering <olaf(a)aepfle.de>
Date: Thu, 30 Jan 2014 16:02:18 +0100
Subject: [PATCH] xen_disk: add discard support
++++++ 0038-tests-Don-t-run-qom-test-twice.patch ++++++
>From 857545e61d741cc4f439f98c5e93210b7fa09577 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber(a)suse.de>
Date: Mon, 7 Apr 2014 16:03:08 +0200
Subject: [PATCH] tests: Don't run qom-test twice
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Commit 3687d5325 accidentally resulted in running qom-test twice
for x86_64, once directly via the wildcard, and once because x86_64
includes all the i386 qtests (which includes qom-test).
Filter out x86_64 as well as microblazeel and xtensaeb to fix this.
Cc: Peter Maydell <peter.maydell(a)linaro.org>
Signed-off-by: Andreas Färber <afaerber(a)suse.de>
---
tests/Makefile | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/Makefile b/tests/Makefile
index 88f7105..8f2b018 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -162,7 +162,9 @@ check-qtest-microblazeel-y = $(check-qtest-microblaze-y)
check-qtest-xtensaeb-y = $(check-qtest-xtensa-y)
# qom-test works for all sysemu architectures:
-$(foreach target,$(SYSEMU_TARGET_LIST), \
+QTEST_SYSEMU_TARGET_LIST=$(filter-out x86_64 microblazeel xtensaeb, \
+ $(SYSEMU_TARGET_LIST))
+$(foreach target,$(QTEST_SYSEMU_TARGET_LIST), \
$(eval check-qtest-$(target)-y += tests/qom-test$(EXESUF)))
check-qapi-schema-y := $(addprefix tests/qapi-schema/, \
++++++ 0039-qtest-Assure-that-init_socket-s-lis.patch ++++++
>From c58810a9fe080ce5358ab670b6d4abe1202e63a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber(a)suse.de>
Date: Thu, 17 Apr 2014 18:19:14 +0200
Subject: [PATCH] qtest: Assure that init_socket()'s listen() does not fail
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Färber <afaerber(a)suse.de>
---
tests/libqtest.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 8155695..232f781 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -72,7 +72,8 @@ static int init_socket(const char *socket_path)
ret = bind(sock, (struct sockaddr *)&addr, sizeof(addr));
} while (ret == -1 && errno == EINTR);
g_assert_no_errno(ret);
- listen(sock, 1);
+ ret = listen(sock, 1);
+ g_assert_no_errno(ret);
return sock;
}
++++++ 0040-qtest-Add-error-reporting-to-socket.patch ++++++
>From 19fed6c601938b60dafb004f7194ff4e86def6f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber(a)suse.de>
Date: Thu, 17 Apr 2014 18:38:25 +0200
Subject: [PATCH] qtest: Add error reporting to socket_accept()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andreas Färber <afaerber(a)suse.de>
---
tests/libqtest.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 232f781..4b90d91 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -93,6 +93,9 @@ static int socket_accept(int sock)
do {
ret = accept(sock, (struct sockaddr *)&addr, &addrlen);
} while (ret == -1 && errno == EINTR);
+ if (ret == -1) {
+ fprintf(stderr, "%s failed: %s\n", __func__, strerror(errno));
+ }
close(sock);
return ret;
++++++ 0041-qtest-Increase-socket-timeout.patch ++++++
>From 1126af0e6664e58a5e6e2280f6d61bb829099444 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber(a)suse.de>
Date: Thu, 17 Apr 2014 18:39:10 +0200
Subject: [PATCH] qtest: Increase socket timeout
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Change from 5 to 15 seconds.
Signed-off-by: Andreas Färber <afaerber(a)suse.de>
---
tests/libqtest.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 4b90d91..18efcf2 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -34,7 +34,7 @@
#include "qapi/qmp/json-parser.h"
#define MAX_IRQ 256
-#define SOCKET_TIMEOUT 5
+#define SOCKET_TIMEOUT 15
QTestState *global_qtest;
++++++ 0042-qtest-Be-paranoid-about-accept-addr.patch ++++++
>From 9938d82cc9cc5ae82283bea7a24ff45d08690e27 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20F=C3=A4rber?= <afaerber(a)suse.de>
Date: Thu, 17 Apr 2014 19:21:12 +0200
Subject: [PATCH] qtest: Be paranoid about accept() addrlen argument
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
If EINTR occurs, re-initialize our argument.
Signed-off-by: Andreas Färber <afaerber(a)suse.de>
---
tests/libqtest.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 18efcf2..1eb9db6 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -89,8 +89,8 @@ static int socket_accept(int sock)
setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (void *)&timeout,
sizeof(timeout));
- addrlen = sizeof(addr);
do {
+ addrlen = sizeof(addr);
ret = accept(sock, (struct sockaddr *)&addr, &addrlen);
} while (ret == -1 && errno == EINTR);
if (ret == -1) {
++++++ 0043-arm-translate.c-Fix-smlald-Instruct.patch ++++++
>From 0fb8a7de8e8013362922d802db7eda5f9bf37766 Mon Sep 17 00:00:00 2001
From: Peter Crosthwaite <peter.crosthwaite(a)xilinx.com>
Date: Wed, 16 Apr 2014 20:20:52 -0700
Subject: [PATCH] arm: translate.c: Fix smlald Instruction
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The smlald (and probably smlsld) instruction was doing incorrect sign
extensions of the operands amongst 64bit result calculation. The
instruction psuedo-code is:
operand2 = if m_swap then ROR(R[m],16) else R[m];
product1 = SInt(R[n]<15:0>) * SInt(operand2<15:0>);
product2 = SInt(R[n]<31:16>) * SInt(operand2<31:16>);
result = product1 + product2 + SInt(R[dHi]:R[dLo]);
R[dHi] = result<63:32>;
R[dLo] = result<31:0>;
The result calculation should be done in 64 bit arithmetic, and hence
product1 and product2 should be sign extended to 64b before calculation.
The current implementation was adding product1 and product2 together
then sign-extending the intermediate result leading to false negatives.
E.G. if product1 = product2 = 0x4000000, their sum = 0x80000000, which
will be incorrectly interpreted as -ve on sign extension.
We fix by doing the 64b extensions on both product1 and product2 before
any addition/subtraction happens.
We also fix where we were possibly incorrectly setting the Q saturation
flag for SMLSLD, which the ARM ARM specifically says is not set.
Reported-by: Christina Smith <christina.smith(a)xilinx.com>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite(a)xilinx.com>
Reviewed-by: Peter Maydell <peter.maydell(a)linaro.org>
Message-id: 2cddb6f5a15be4ab8d2160f3499d128ae93d304d.1397704570.git.peter.crosthwaite(a)xilinx.com
Cc: qemu-stable(a)nongnu.org
Signed-off-by: Peter Maydell <peter.maydell(a)linaro.org>
(cherry picked from commit 33bbd75a7c3321432fe40a8cbacd64619c56138c)
Signed-off-by: Andreas Färber <afaerber(a)suse.de>
---
target-arm/translate.c | 34 +++++++++++++++++++++++-----------
1 file changed, 23 insertions(+), 11 deletions(-)
diff --git a/target-arm/translate.c b/target-arm/translate.c
index 56e3b4b..0335f10 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -8328,27 +8328,39 @@ static void disas_arm_insn(CPUARMState * env, DisasContext *s)
if (insn & (1 << 5))
gen_swap_half(tmp2);
gen_smul_dual(tmp, tmp2);
- if (insn & (1 << 6)) {
- /* This subtraction cannot overflow. */
- tcg_gen_sub_i32(tmp, tmp, tmp2);
- } else {
- /* This addition cannot overflow 32 bits;
- * however it may overflow considered as a signed
- * operation, in which case we must set the Q flag.
- */
- gen_helper_add_setq(tmp, cpu_env, tmp, tmp2);
- }
- tcg_temp_free_i32(tmp2);
if (insn & (1 << 22)) {
/* smlald, smlsld */
+ TCGv_i64 tmp64_2;
+
tmp64 = tcg_temp_new_i64();
+ tmp64_2 = tcg_temp_new_i64();
tcg_gen_ext_i32_i64(tmp64, tmp);
+ tcg_gen_ext_i32_i64(tmp64_2, tmp2);
tcg_temp_free_i32(tmp);
+ tcg_temp_free_i32(tmp2);
+ if (insn & (1 << 6)) {
+ tcg_gen_sub_i64(tmp64, tmp64, tmp64_2);
+ } else {
+ tcg_gen_add_i64(tmp64, tmp64, tmp64_2);
+ }
+ tcg_temp_free_i64(tmp64_2);
gen_addq(s, tmp64, rd, rn);
gen_storeq_reg(s, rd, rn, tmp64);
tcg_temp_free_i64(tmp64);
} else {
/* smuad, smusd, smlad, smlsd */
+ if (insn & (1 << 6)) {
+ /* This subtraction cannot overflow. */
+ tcg_gen_sub_i32(tmp, tmp, tmp2);
+ } else {
+ /* This addition cannot overflow 32 bits;
+ * however it may overflow considered as a
+ * signed operation, in which case we must set
+ * the Q flag.
+ */
+ gen_helper_add_setq(tmp, cpu_env, tmp, tmp2);
+ }
+ tcg_temp_free_i32(tmp2);
if (rd != 15)
{
tmp2 = load_reg(s, rd);
++++++ 0044-target-arm-A64-fix-unallocated-test.patch ++++++
>From de439482d4ed1db0f0f5837c98abc46f0a579ba0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee(a)linaro.org>
Date: Wed, 16 Apr 2014 12:29:39 +0100
Subject: [PATCH] target-arm: A64: fix unallocated test of scalar SQXTUN
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The test for the U bit was incorrectly inverted in the scalar case of SQXTUN.
This doesn't affect the vector case as the U bit is used to select XTN(2).
Reported-by: Hao Liu <hao.liu(a)arm.com>
Signed-off-by: Alex Bennée <alex.bennee(a)linaro.org>
Reviewed-by: Claudio Fontana <claudio.fontana(a)huawei.com>
Reviewed-by: Peter Maydell <peter.maydell(a)linaro.org>
Cc: qemu-stable(a)nongnu.org
Signed-off-by: Peter Maydell <peter.maydell(a)linaro.org>
(cherry picked from commit e44a90c59697cf98e05619fbb6f77a403d347495)
Signed-off-by: Andreas Färber <afaerber(a)suse.de>
---
target-arm/translate-a64.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target-arm/translate-a64.c b/target-arm/translate-a64.c
index 9175e48..a780366 100644
--- a/target-arm/translate-a64.c
+++ b/target-arm/translate-a64.c
@@ -7455,7 +7455,7 @@ static void disas_simd_scalar_two_reg_misc(DisasContext *s, uint32_t insn)
}
break;
case 0x12: /* SQXTUN */
- if (u) {
+ if (!u) {
unallocated_encoding(s);
return;
}
++++++ qemu-2.0.0-rc0.tar.bz2 -> qemu-2.0.0.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/qemu/qemu-2.0.0-rc0.tar.bz2 /work/SRC/openSUSE:Factory/.qemu.new/qemu-2.0.0.tar.bz2 differ: char 11, line 1
++++++ qemu-linux-user.spec.in ++++++
--- /var/tmp/diff_new_pack.OZuPSx/_old 2014-04-22 10:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.OZuPSx/_new 2014-04-22 10:06:19.000000000 +0200
@@ -23,7 +23,7 @@
Group: System/Emulators/PC
QEMU_VERSION
Release: 0
-Source: qemu-2.0.0-rc0.tar.bz2
+Source: qemu-2.0.0.tar.bz2
# This patch queue is auto-generated from https://github.com/openSUSE/qemu
PATCH_FILES
# Please do not add patches manually here, run update_git.sh.
@@ -33,6 +33,7 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: e2fsprogs-devel
BuildRequires: fdupes
+BuildRequires: gcc-c++
%if 0%{?suse_version} >= 1140
BuildRequires: glib2-devel-static
%else
@@ -77,7 +78,7 @@
run cross-architecture builds.
%prep
-%setup -q -n qemu-2.0.0-rc0
+%setup -q -n qemu-2.0.0
PATCH_EXEC
%build
++++++ qemu.spec.in ++++++
--- /var/tmp/diff_new_pack.OZuPSx/_old 2014-04-22 10:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.OZuPSx/_new 2014-04-22 10:06:19.000000000 +0200
@@ -18,10 +18,15 @@
%ifarch %ix86 x86_64
# choice of building all from source or using provided binary x86 blobs
+%if 0%{?suse_version} >= 1140
%define build_x86_fw_from_source 1
%else
%define build_x86_fw_from_source 0
%endif
+%else
+%define build_x86_fw_from_source 0
+%endif
+%define noarch_supported 1110
Name: qemu
Url: http://www.qemu.org/
@@ -30,7 +35,7 @@
Group: System/Emulators/PC
QEMU_VERSION
Release: 0
-Source: %name-2.0.0-rc0.tar.bz2
+Source: %name-2.0.0.tar.bz2
Source1: 80-kvm.rules
Source2: qemu-ifup
Source3: kvm_stat
@@ -91,13 +96,15 @@
BuildRequires: libpixman-1-0-devel
BuildRequires: libpng-devel
BuildRequires: libpulse-devel
+BuildRequires: libtool
%if 0%{?suse_version} > 1310
-BuildRequires: libusb
+BuildRequires: libusb-devel
%endif
BuildRequires: libvdeplug3-devel
%if 0%{?suse_version} > 1220
BuildRequires: makeinfo
%endif
+BuildRequires: mozilla-nss-devel
BuildRequires: ncurses-devel
BuildRequires: pwdutils
BuildRequires: python
@@ -106,7 +113,7 @@
%{?systemd_requires}
%define with_systemd 1
%endif
-%if 0%{?sles_version} != 11
+%if 0%{?sles_version} != 11
BuildRequires: usbredir-devel
%endif
%if 0%{?suse_version} >= 1210
@@ -155,12 +162,16 @@
Suggests: qemu-arm
%endif
Suggests: qemu-extra
+Suggests: qemu-lang
%if 0%{?suse_version} >= 1210
Recommends: qemu-ksm = %{version}
-Suggests: qemu-lang
%endif
-%define firmware_files {acpi-dsdt.aml bios.bin q35-acpi-dsdt.aml sgabios.bin vgabios.bin vgabios-cirrus.bin vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin optionrom/linuxboot.bin optionrom/multiboot.bin optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom}
+%define built_firmware_files {acpi-dsdt.aml bios.bin bios-256k.bin \
+q35-acpi-dsdt.aml sgabios.bin vgabios.bin vgabios-cirrus.bin \
+vgabios-stdvga.bin vgabios-vmware.bin vgabios-qxl.bin optionrom/linuxboot.bin \
+optionrom/multiboot.bin optionrom/kvmvapic.bin pxe-e1000.rom pxe-pcnet.rom \
+pxe-ne2k_pci.rom pxe-rtl8139.rom pxe-eepro100.rom pxe-virtio.rom}
%description
QEMU is an extremely well-performing CPU emulator that allows you to
@@ -267,7 +278,6 @@
derived from the legacy kvm package.
%endif
-%if 0%{?suse_version} >= 1210
%package lang
Summary: Universal CPU emulator -- Translations
Group: System/Emulators/PC
@@ -280,14 +290,74 @@
as PC and PowerMac systems.
This sub-package contains translations.
-%endif
+
+%package tools
+Summary: Universal CPU emulator -- Tools
+Group: System/Emulators/PC
+Provides: qemu:%_libexecdir/qemu-bridge-helper
+PreReq: permissions
+
+%description tools
+QEMU is an extremely well-performing CPU emulator that allows you to
+choose between simulating an entire system and running userspace
+binaries for different architectures under your native operating
+system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
+as PC and PowerMac systems.
+
+This sub-package contains various tools, including a bridge helper.
+
+%package -n libcacard0
+Summary: Universal CPU emulator -- Smartcard emulation
+Group: System/Emulators/PC
+
+%description -n libcacard0
+QEMU is an extremely well-performing CPU emulator that allows you to
+choose between simulating an entire system and running userspace
+binaries for different architectures under your native operating
+system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
+as PC and PowerMac systems.
+
+This sub-package contains the Smartcard library.
+
+%package -n libcacard-devel
+Summary: Universal CPU emulator -- Smartcard emulation
+Group: System/Emulators/PC
+Requires: glib2-devel
+Requires: libcacard0 = %version
+Requires: mozilla-nspr
+Requires: mozilla-nss
+
+%description -n libcacard-devel
+QEMU is an extremely well-performing CPU emulator that allows you to
+choose between simulating an entire system and running userspace
+binaries for different architectures under your native operating
+system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
+as PC and PowerMac systems.
+
+This sub-package contains development files for the Smartcard library.
+
+%package guest-agent
+Summary: Universal CPU emulator -- Guest agent
+Group: System/Emulators/PC
+Provides: qemu:%_bindir/qemu-ga
+
+%description guest-agent
+QEMU is an extremely well-performing CPU emulator that allows you to
+choose between simulating an entire system and running userspace
+binaries for different architectures under your native operating
+system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
+as PC and PowerMac systems.
+
+This sub-package contains the guest agent.
%package seabios
Summary: X86 BIOS for QEMU
Group: System/Emulators/PC
-Version: 1.7.4
+SEABIOS_VERSION
Release: 0
+%if 0%{?suse_version} > %{noarch_supported}
BuildArch: noarch
+%endif
Conflicts: qemu < 1.6.0
%description seabios
@@ -297,9 +367,11 @@
%package vgabios
Summary: VGA BIOSes for QEMU
Group: System/Emulators/PC
-Version: 1.7.4
+SEABIOS_VERSION
Release: 0
+%if 0%{?suse_version} > %{noarch_supported}
BuildArch: noarch
+%endif
Conflicts: qemu < 1.6.0
%description vgabios
@@ -312,7 +384,9 @@
Group: System/Emulators/PC
Version: 8
Release: 0
+%if 0%{?suse_version} > %{noarch_supported}
BuildArch: noarch
+%endif
Conflicts: qemu < 1.6.0
%description sgabios
@@ -325,42 +399,15 @@
Group: System/Emulators/PC
Version: 1.0.0
Release: 0
+%if 0%{?suse_version} > %{noarch_supported}
BuildArch: noarch
+%endif
Conflicts: qemu < 1.6.0
%description ipxe
Preboot Execution Environment (PXE) ROM support for various emulated network
adapters available with QEMU.
-%package tools
-Summary: Universal CPU emulator -- Tools
-Group: System/Emulators/PC
-Provides: qemu:%_libexecdir/qemu-bridge-helper
-PreReq: permissions
-
-%description tools
-QEMU is an extremely well-performing CPU emulator that allows you to
-choose between simulating an entire system and running userspace
-binaries for different architectures under your native operating
-system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
-as PC and PowerMac systems.
-
-This sub-package contains various tools, including a bridge helper.
-
-%package guest-agent
-Summary: Universal CPU emulator -- Guest agent
-Group: System/Emulators/PC
-Provides: qemu:%_bindir/qemu-ga
-
-%description guest-agent
-QEMU is an extremely well-performing CPU emulator that allows you to
-choose between simulating an entire system and running userspace
-binaries for different architectures under your native operating
-system. It currently emulates x86, ARM, PowerPC and SPARC CPUs as well
-as PC and PowerMac systems.
-
-This sub-package contains the guest agent.
-
%if 0%{?with_systemd}
%package ksm
Summary: Kernel Samepage Merging services
@@ -374,7 +421,7 @@
%endif
%prep
-%setup -q -n %name-2.0.0-rc0
+%setup -q #-n %name-2.0.0-rc3
PATCH_EXEC
%patch1000 -p1
@@ -383,7 +430,7 @@
%if %{build_x86_fw_from_source}
# as a safeguard, delete the firmware files that we intend to build
-for i in %firmware_files
+for i in %built_firmware_files
do
rm -f pc-bios/$i
done
@@ -391,7 +438,9 @@
%build
./configure --prefix=%_prefix --sysconfdir=%_sysconfdir \
+ --libdir=%_libdir \
--libexecdir=%_libexecdir \
+ --localstatedir=%_localstatedir \
--extra-cflags="%{optflags}" \
--disable-strip \
--enable-system --disable-linux-user \
@@ -405,16 +454,15 @@
--enable-cap-ng \
--enable-curl \
--enable-curses \
-%if 0%{?suse_version} >= 1210
--enable-gtk \
%if 0%{?suse_version} >= 1220
--with-gtkabi=3.0 \
%endif
-%endif
--enable-linux-aio \
--enable-modules \
--enable-sdl \
--with-sdlabi=1.2 \
+ --enable-smartcard-nss \
%if 0%{?suse_version} >= 1140
%ifarch %ix86 x86_64
--enable-spice \
@@ -427,7 +475,7 @@
%if 0%{?suse_version} > 1310
--enable-libusb \
%endif
-%if 0%{?sles_version} != 11
+%if 0%{?sles_version} != 11
--enable-usb-redir \
%endif
--enable-vde \
@@ -446,10 +494,10 @@
# Firmware
%if %{build_x86_fw_from_source}
-make --no-print-directory -C roms bios
-make --no-print-directory -C roms seavgabios
-make --no-print-directory -C roms pxerom
-make --no-print-directory -C roms sgabios
+make -C roms bios
+make -C roms seavgabios
+make -C roms pxerom
+make -C roms sgabios
%endif
%check
@@ -459,17 +507,15 @@
make install DESTDIR=$RPM_BUILD_ROOT
rm -fr $RPM_BUILD_ROOT/%_datadir/doc
install -D -m 644 %{SOURCE302} $RPM_BUILD_ROOT/%{_sysconfdir}/qemu/bridge.conf
-%if 0%{?suse_version} >= 1210
%find_lang %name
-%endif
%ifarch %ix86 x86_64 s390x
cat > %{buildroot}%{_bindir}/qemu-kvm << 'EOF'
#!/bin/sh
-%ifarch %s390x
-exec /usr/bin/qemu-system-s390x -machine accel=kvm "$@"
+%ifarch s390x
+exec %{_bindir}/qemu-system-s390x -machine accel=kvm "$@"
%else
-exec /usr/bin/qemu-system-x86_64 -machine accel=kvm "$@"
+exec %{_bindir}/qemu-system-x86_64 -machine accel=kvm "$@"
%endif
EOF
chmod 755 %{buildroot}%{_bindir}/qemu-kvm
@@ -484,7 +530,7 @@
install -D -m 755 %{SOURCE3} %{buildroot}%{_bindir}/kvm_stat
install -D -m 644 %{SOURCE4} %{buildroot}%{_mandir}/man1/qemu-kvm.1.gz
%endif
-install -D -p -m 0744 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
+install -D -p -m 0644 %{SOURCE6} %{buildroot}%{_unitdir}/ksm.service
%fdupes -s $RPM_BUILD_ROOT
%clean
@@ -513,6 +559,10 @@
%verify_permissions %_libexecdir/qemu-bridge-helper
%endif
+%post -n libcacard0 -p /sbin/ldconfig
+
+%postun -n libcacard0 -p /sbin/ldconfig
+
%if 0%{?with_systemd}
%pre ksm
%service_add_pre ksm.service
@@ -529,8 +579,8 @@
%files
%defattr(-, root, root)
-%dir %_libexecdir/%name
-%_libexecdir/%name/block-curl.so
+%dir %_libdir/%name
+%_libdir/%name/block-curl.so
%doc COPYING COPYING.LIB Changelog README VERSION qemu-doc.html qemu-tech.html
%doc %_mandir/man1/qemu.1.gz
%_datadir/%name
@@ -573,7 +623,9 @@
%exclude %_datadir/%name/petalogix-s3adsp1800.dtb
%exclude %_datadir/%name/QEMU,cgthree.bin
%exclude %_datadir/%name/QEMU,tcx.bin
+%ifarch %ix86 x86_64 s390x
%exclude %_datadir/%name/qemu-ifup
+%endif
%dir %_sysconfdir/%name
%ifarch %ix86 x86_64
%if 0%{?suse_version} >= 1230
@@ -638,10 +690,8 @@
%_mandir/man1/qemu-kvm.1.gz
%endif
-%if 0%{?suse_version} >= 1210
%files lang -f %name.lang
%defattr(-, root, root)
-%endif
%files seabios
%defattr(-, root, root)
@@ -686,16 +736,31 @@
%_bindir/qemu-img
%_bindir/qemu-nbd
%_bindir/virtfs-proxy-helper
+%_bindir/vscclient
%verify(not mode) %_libexecdir/qemu-bridge-helper
%dir %_sysconfdir/%name
%config %_sysconfdir/%name/bridge.conf
+%files -n libcacard0
+%defattr(-, root, root)
+%_libdir/libcacard.so.0*
+
+%files -n libcacard-devel
+%defattr(-, root, root)
+%dir %_includedir/cacard
+%_includedir/cacard/*.h
+%_libdir/libcacard.la
+%_libdir/libcacard.a
+%_libdir/libcacard.so
+%_libdir/pkgconfig/libcacard.pc
+
%files guest-agent
%defattr(-, root, root)
%attr(755,root,kvm) %_bindir/qemu-ga
%if 0%{?with_systemd}
%files ksm
+%defattr(-, root, root)
%{_unitdir}/ksm.service
%endif
++++++ update_git.sh ++++++
--- /var/tmp/diff_new_pack.OZuPSx/_old 2014-04-22 10:06:19.000000000 +0200
+++ /var/tmp/diff_new_pack.OZuPSx/_new 2014-04-22 10:06:19.000000000 +0200
@@ -11,16 +11,30 @@
# when it comes.
GIT_TREE=git://github.com/openSUSE/qemu.git
-GIT_LOCAL_TREE=/home/andreas/QEMU/qemu-opensuse
+GIT_LOCAL_TREE=~/git/qemu-opensuse
GIT_BRANCH=opensuse-2.0
-GIT_UPSTREAM_TAG=v2.0.0-rc0
+GIT_UPSTREAM_TAG=v2.0.0
QEMU_TMP=/dev/shm/qemu-tmp
-# clean up
+restore_file_to_package() {
+# If the processed file matches the previous one, move the previous
+# one back in place, otherwise add the processed file.
+
+ if cmp -s "$1" saved."$1"; then
+ osc mv --force saved."$1" "$1"
+ else
+ osc add "$1"
+ fi
+}
+
+# save files in case they remain unchanged
if [ -e 0001-* ]; then
- osc rm --force 0*
+ for i in 0*; do
+ osc mv $i saved.$i
+ done
fi
-rm -f qemu.spec qemu-linux-user.spec
+osc mv qemu.spec saved.qemu.spec
+osc mv qemu-linux-user.spec saved.qemu-linux-user.spec
# fetch all patches
rm -rf $QEMU_TMP
@@ -41,13 +55,14 @@
rm -rf $QEMU_TMP
# cut off file name after 40 bytes, so we work around git version differences
-# while at it, also remove the signature
+# while at it, also remove the signature.
for i in 0*; do
PATCHNAME=${i%.patch}
- PATCHNAME=${i:0:40}.patch
+ PATCHNAME=${PATCHNAME:0:40}.patch
head -n $(expr $(wc -l $i | cut -d ' ' -f 1) - 3) $i > "$PATCHNAME.tmp"
rm "$i"
mv "$PATCHNAME.tmp" "$PATCHNAME"
+ restore_file_to_package "$PATCHNAME"
done
# we have all patches as files now - generate the spec files!
@@ -65,10 +80,26 @@
done
elif [ "$line" = "QEMU_VERSION" ]; then
echo "Version: $QEMU_VERSION"
+ elif [[ "$line" =~ ^Source: ]]; then
+ QEMU_TARBALL=qemu-`echo "$line" | cut -d '-' -f 2-`
+ VERSION_FILE=${QEMU_TARBALL%.tar.bz2}/roms/seabios/.version
+ SEABIOS_VERSION=`tar jxfO "$QEMU_TARBALL" "$VERSION_FILE"`
+ SEABIOS_VERSION=`echo $SEABIOS_VERSION | cut -d '-' -f 2`
+ echo "$line"
+ elif [ "$line" = "SEABIOS_VERSION" ]; then
+ echo "Version: $SEABIOS_VERSION"
else
echo "$line"
fi
done < $package.spec.in > $package.spec
done
-osc add 0*
+
+restore_file_to_package qemu.spec
+restore_file_to_package qemu-linux-user.spec
+
+# remove any remaining saved files
+files=(saved.*)
+if [ -e "${files[0]}" ]; then
+ osc rm --force saved.*
+fi
--
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 mbuffer for openSUSE:Factory checked in at 2014-04-22 10:06:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mbuffer (Old)
and /work/SRC/openSUSE:Factory/.mbuffer.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mbuffer"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mbuffer/mbuffer.changes 2013-04-17 07:24:43.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mbuffer.new/mbuffer.changes 2014-04-22 10:06:12.000000000 +0200
@@ -1,0 +2,18 @@
+Wed Apr 16 22:51:24 UTC 2014 - crrodriguez(a)opensuse.org
+
+- version 20140310
+* added memory advise for buffer memory
+* prevent buffer overflow attack via defaults file
+* ignore defaults file from other users
+* updated documentation for use with cron
+* minor bugfixes
+* new feature: set option defaults in ~/.mbuffer.rc
+* enhancement: write status to the log file
+* enhancement: added option to suppress status logging
+* fix: formatting fix for summary message
+- spec file changes:
+ * refresh patch with p1
+ * the mhash library is abandonware, this is no good
+ since we are talking about crypto software, use openSSL instead.
+
+-------------------------------------------------------------------
Old:
----
mbuffer-20130220.tgz
New:
----
mbuffer-20140310.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mbuffer.spec ++++++
--- /var/tmp/diff_new_pack.3Sd9iS/_old 2014-04-22 10:06:13.000000000 +0200
+++ /var/tmp/diff_new_pack.3Sd9iS/_new 2014-04-22 10:06:13.000000000 +0200
@@ -14,7 +14,7 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
Name: mbuffer
-Version: 20130220
+Version: 20140310
Release: 0
Summary: Replacement for "buffer" with many more Features
Source: http://www.maier-komor.de/software/mbuffer/mbuffer-%{version}.tgz
@@ -23,7 +23,7 @@
Group: Productivity/Text/Utilities
License: GPL-3.0+
BuildRoot: %{_tmppath}/build-%{name}-%{version}
-BuildRequires: openssl-devel make gcc glibc-devel glibc-devel mhash-devel
+BuildRequires: openssl-devel
BuildRequires: libtool
%description
@@ -38,7 +38,7 @@
%prep
%setup -q
-%patch1
+%patch1 -p1
%build
%configure \
++++++ mbuffer-20130220.tgz -> mbuffer-20140310.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mbuffer-20130220/.hg_archival.txt new/mbuffer-20140310/.hg_archival.txt
--- old/mbuffer-20130220/.hg_archival.txt 2013-02-20 23:37:08.000000000 +0100
+++ new/mbuffer-20140310/.hg_archival.txt 2014-03-10 23:41:15.000000000 +0100
@@ -1,5 +1,5 @@
repo: 6e3b485d74645931e2408ed1f57e659029b5639a
-node: 32d9cfa57a3c816cc7fa6dfef775615e53c20c0c
+node: d98ef1ef3a25043dbae9b29d0f6bd96d873c3934
branch: default
-latesttag: 20130220
+latesttag: R20140310
latesttagdistance: 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mbuffer-20130220/.hgtags new/mbuffer-20140310/.hgtags
--- old/mbuffer-20130220/.hgtags 2013-02-20 23:37:08.000000000 +0100
+++ new/mbuffer-20140310/.hgtags 2014-03-10 23:41:15.000000000 +0100
@@ -82,3 +82,5 @@
8ae0ca3fcabebb985e84f3306f312892e350a0b5 20130209
6c60e788eb7a6bd22822dfc36e0f73369c4298be 20130210
35bfc3c313d416df09cfabca9ca691b60f7816b6 20130220
+d93542af23e7750fc8e50c502f84ae7c62ec7856 R20140126
+3f18779d5fda082e6093e69de8c9c4098c67823d R20140310
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mbuffer-20130220/ChangeLog new/mbuffer-20140310/ChangeLog
--- old/mbuffer-20130220/ChangeLog 2013-02-20 23:37:08.000000000 +0100
+++ new/mbuffer-20140310/ChangeLog 2014-03-10 23:41:15.000000000 +0100
@@ -1,3 +1,17 @@
+20140310:
+- added memory advise for buffer memory
+- compatibility fix for Solars st driver
+- prevent buffer overflow attack via defaults file
+- ignore defaults file from other users
+- updated documentation for use with cron
+- minor bugfixes
+
+20140126:
+- new feature: set option defaults in ~/.mbuffer.rc
+- enhancement: write status to the log file
+- enhancement: added option to suppress status logging
+- fix: formatting fix for summary message
+
20130220:
- reverted incorrect fix for -P 100, which may lead to data corruption
- reenable hash libraries (no correlation with data corruption)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mbuffer-20130220/configure new/mbuffer-20140310/configure
--- old/mbuffer-20130220/configure 2013-02-20 23:37:08.000000000 +0100
+++ new/mbuffer-20140310/configure 2014-03-10 23:41:15.000000000 +0100
@@ -2372,7 +2372,7 @@
PACKAGE=mbuffer
-VERSION=20130220
+VERSION=20140302
if test "${LD_LIBRARY_PATH}" != "" ; then
echo ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mbuffer-20130220/configure.in new/mbuffer-20140310/configure.in
--- old/mbuffer-20130220/configure.in 2013-02-20 23:37:08.000000000 +0100
+++ new/mbuffer-20140310/configure.in 2014-03-10 23:41:15.000000000 +0100
@@ -5,7 +5,7 @@
AC_EXEEXT
PACKAGE=mbuffer
-VERSION=20130220
+VERSION=20140310
if test "${LD_LIBRARY_PATH}" != "" ; then
echo ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mbuffer-20130220/mbuffer.1.in new/mbuffer-20140310/mbuffer.1.in
--- old/mbuffer-20130220/mbuffer.1.in 2013-02-20 23:37:08.000000000 +0100
+++ new/mbuffer-20140310/mbuffer.1.in 2014-03-10 23:41:15.000000000 +0100
@@ -96,7 +96,11 @@
Same as above only for setting the transfer limit for the writer.
.TP
\fB\-A\fR <\fIcmd\fP>
-the device used is an autoloader which uses \fIcmd\fP to load the next volume
+the device used is an autoloader which uses \fIcmd\fP to load the next
+volume. Pass <\fI/bin/false\fP> as an autoload command to suppress the
+warning message that appears when run without controlling terminal (e.g.
+via cron). Like this the autoload will fail and mbuffer will terminate
+with an error message when reaching the end of the tape.
.TP
\fB\-a\fR <\fItime\fP>
the device used is an autoloader which takes \fItime\fP seconds to load a new tape
@@ -120,6 +124,9 @@
\fB\-q\fR
quiet \- do not display the status on the standard error output
.TP
+\fB\-Q\fR
+quiet \- do not log the status in the log file
+.TP
\fB\-\-direct\fR
Use O_DIRECT to open file descriptors. This option is not available on
all systems. It tells the OS to bypass the page cache to improve
@@ -159,6 +166,38 @@
terminates mbuffer via SIGINT. Be aware that the watchdog is unaware of
tape-change activities. So choose the watchdog timeout greater that the
worst-case tape-change time.
+.SH "DEFAULT VALUES"
+The default values for following options can be set as \fIkey = value\fP pairs
+in the ~/.mbuffer.rc file:
+.br
+\fIblocksize\fP: block size (option -s)
+.br
+\fItimeout\fP: watchdog timeout (option -W)
+.br
+\fItotalmem\fP: total buffer size (option -m)
+.br
+\fImaxreadspeed\fP: maximum read speed (option -r)
+.br
+\fImaxwritespeed\fP: maximum write speed (option -R)
+.br
+\fIstartwrite\fP: threshold for start writing (option -P)
+.br
+\fIstartread\fP: threshold for start reading (option -p)
+.br
+\fIpause\fP: pause after writing a block (option -u)
+.br
+\fInumblocks\fP: number of blocks in buffer (option -b)
+.br
+\fImemlock\fP: lock buffer in memory (option -L)
+.br
+\fIshowstatus\fP: print transfer status on console (option -q)
+.br
+\fIlogstatus\fP: write transfer status to logfile (option -Q)
+.br
+\fItcpbuffer\fP: TCP buffer size (option --tcpbuffer)
+.br
+
+
.SH "ENVIRONMENT VARIABLES"
If TMPDIR is set, mbuffer allocates storage for file-based buffers in this
directory\&. If TMPDIR is unset, \fI/var/tmp\fR will be used\&.
@@ -167,6 +206,8 @@
\fI@prefix@/bin/mbuffer\fP
.br
\fI/var/tmp/mbuffer-*\fP
+.br
+\fI~/.mbuffer.rc\fP
.SH "EXAMPLES"
.LP
To run this program with the default options just type:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mbuffer-20130220/mbuffer.c new/mbuffer-20140310/mbuffer.c
--- old/mbuffer-20130220/mbuffer.c 2013-02-20 23:37:08.000000000 +0100
+++ new/mbuffer-20140310/mbuffer.c 2014-03-10 23:41:15.000000000 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2000-2013, Thomas Maier-Komor
+ * Copyright (C) 2000-2014, Thomas Maier-Komor
*
* This is the source code of mbuffer.
*
@@ -132,11 +132,10 @@
static pthread_t
Reader, Watchdog;
static long
- Tmp = -1, Pause = 0, Memmap = 0,
- Status = 1, Outblocksize = 0,
- Autoload_time = 0, OptSync = 0;
+ Tmp = -1,
+ OptSync = 0;
static unsigned long
- Outsize = 10240;
+ Outsize = 10240, Pause = 0, Timeout = 0;
static volatile int
Terminate = 0, /* abort execution, because of error or signal */
EmptyCount = 0, /* counter incremented when buffer runs empty */
@@ -145,7 +144,8 @@
Done = 0,
MainOutOK = 1; /* is the main outputThread still writing or just coordinating senders */
static unsigned long long
- Blocksize = 10240, MaxReadSpeed = 0, MaxWriteSpeed = 0, OutVolsize = 0;
+ Totalmem = 0, PgSz = 0, NumP = 0, Blocksize = 10240,
+ MaxReadSpeed = 0, MaxWriteSpeed = 0, OutVolsize = 0;
static volatile unsigned long long
Rest = 0, Numin = 0, Numout = 0;
static double
@@ -153,9 +153,12 @@
static char
*Tmpfile = 0, **Buffer;
static const char
- *Infile = 0, *Autoload_cmd = 0;
+ *Infile = 0, *AutoloadCmd = 0;
+static unsigned int
+ AutoloadTime = 0;
static int
Memlock = 0, TermQ[2],
+ Memmap = 0, Quiet = 0, Status = 1, StatusLog = 1,
Hashers = 0, Direct = 0, SetOutsize = 0;
static long
NumVolumes = 1, /* number of input volumes, 0 for interactive prompting */
@@ -258,18 +261,17 @@
m = (int) (secs - h * 3600)/60;
secs -= m * 60 + h * 3600;
if (numthreads > 1)
- msg += sprintf(msg,"summary: %d x ",numthreads);
+ msg += sprintf(msg,"summary: %dx ",numthreads);
else
msg += sprintf(msg,"summary: ");
msg += kb2str(msg,numb);
msg += sprintf(msg,"Byte in ");
if (h > 0)
- msg += sprintf(msg,"%d h %02d min ",h,m);
- else if (m > 0) {
- msg += sprintf(msg,"%2d min ",m);
- msg += sprintf(msg,"%04.1f sec - average of ",secs);
- } else
- msg += sprintf(msg,"%4.1f sec - average of ",secs);
+ msg += sprintf(msg,"%dh %02dmin %04.1fsec - average of ",h,m,secs);
+ else if (m > 0)
+ msg += sprintf(msg,"%2dmin %04.1fsec - average of ",m,secs);
+ else
+ msg += sprintf(msg,"%4.1fsec - average of ",secs);
msg += kb2str(msg,av);
msg += sprintf(msg,"B/s");
if (EmptyCount != 0)
@@ -345,12 +347,11 @@
-static void *watchdogThread(void *timeout)
+static void *watchdogThread(void *ignored)
{
unsigned long ni = Numin, no = Numout;
- unsigned t = (unsigned) timeout;
for (;;) {
- sleep(t);
+ sleep(Timeout);
if ((ni == Numin) && (Finish == -1)) {
errormsg("watchdog timeout: input stalled; sending SIGINT\n");
kill(getpid(),SIGINT);
@@ -401,7 +402,7 @@
}
while (!Done) {
int err,numsender;
- ssize_t nw;
+ ssize_t nw = 0;
char buf[256], *b = buf;
timeout.tv_sec = 0;
@@ -445,17 +446,21 @@
b += sprintf(b,"B/s, ");
b += kb2str(b,total);
b += sprintf(b,"B total, buffer %3.0f%% full",fill);
+ if (Quiet == 0) {
#ifdef NEED_IO_INTERLOCK
- if (Log == STDERR_FILENO) {
- int e;
- e = pthread_mutex_lock(&LogMut);
- assert(e == 0);
- nw = write(STDERR_FILENO,buf,strlen(buf));
- e = pthread_mutex_unlock(&LogMut);
- assert(e == 0);
- } else
+ if (Log == STDERR_FILENO) {
+ int e;
+ e = pthread_mutex_lock(&LogMut);
+ assert(e == 0);
+ nw = write(STDERR_FILENO,buf,strlen(buf));
+ e = pthread_mutex_unlock(&LogMut);
+ assert(e == 0);
+ } else
#endif
- nw = write(STDERR_FILENO,buf,strlen(buf));
+ nw = write(STDERR_FILENO,buf,strlen(buf));
+ }
+ if ((StatusLog != 0) && (Log != STDERR_FILENO))
+ infomsg("%s\n",buf+1);
err = pthread_mutex_unlock(&TermMut);
assert(0 == err);
if (nw == -1) /* stop trying to print status messages after a write error */
@@ -606,8 +611,8 @@
do {
if ((Autoloader) && (Infile)) {
int ret;
- if (Autoload_cmd) {
- cmd = Autoload_cmd;
+ if (AutoloadCmd) {
+ cmd = AutoloadCmd;
} else {
(void) snprintf(cmd_buf, sizeof(cmd_buf), "mt -f %s offline", Infile);
cmd = cmd_buf;
@@ -623,9 +628,9 @@
Terminate = 1;
pthread_exit((void *) -1);
}
- if (Autoload_time) {
+ if (AutoloadTime) {
infomsg("waiting for drive to get ready...\n");
- (void) sleep(Autoload_time);
+ (void) sleep(AutoloadTime);
}
} else {
if (0 == promptInteractive(at,num))
@@ -1038,7 +1043,7 @@
if (Autoloader) {
const char default_cmd[] = "mt -f %s offline";
char cmd_buf[sizeof(default_cmd)+strlen(outfile)];
- const char *cmd = Autoload_cmd;
+ const char *cmd = AutoloadCmd;
int err;
if (cmd == 0) {
@@ -1056,9 +1061,9 @@
Autoloader = 0;
return -1;
}
- if (Autoload_time) {
+ if (AutoloadTime) {
infomsg("waiting for drive to get ready...\n");
- (void) sleep(Autoload_time);
+ (void) sleep(AutoloadTime);
}
} else {
int err;
@@ -1106,29 +1111,6 @@
-static int checkIncompleteOutput(int out, const char *outfile)
-{
- static unsigned long mulretry = 0; /* well this isn't really good design,
- but better than a global variable */
-
- debugmsg("Outblocksize = %ld, mulretry = %lu\n",Outblocksize,mulretry);
- if ((0 != mulretry) || (0 == Outblocksize)) {
- out = requestOutputVolume(out,outfile);
- debugmsg("resetting outputsize to normal\n");
- if (0 != mulretry) {
- Outsize = mulretry;
- mulretry = 0;
- }
- } else {
- debugmsg("setting to new outputsize (end of device)\n");
- mulretry = Outsize;
- Outsize = Outblocksize;
- }
- return out;
-}
-
-
-
static void terminateOutputThread(dest_t *d, int status)
{
int err;
@@ -1278,6 +1260,7 @@
}
do {
/* use Outsize which could be the blocksize of the device (option -d) */
+ unsigned long long n = rest > Outsize ? Outsize : rest;
int num;
if (haderror) {
if (NumSenders == 0)
@@ -1287,7 +1270,6 @@
#ifdef HAVE_SENDFILE
if (sendout) {
off_t baddr = (off_t) (Buffer[at] + blocksize - rest);
- unsigned long long n = SetOutsize ? (rest > Outsize ? (rest/Outsize)*Outsize : rest) : rest;
num = sendfile(out,SFV_FD_SELF,&baddr,n);
debugiomsg("outputThread: sendfile(%d, SFV_FD_SELF, &(Buffer[%d] + %llu), %llu) = %d\n", out, at, blocksize - rest, n, num);
if ((num == -1) && ((errno == EOPNOTSUPP) || (errno == EINVAL))) {
@@ -1298,17 +1280,18 @@
} else
#endif
{
- num = write(out,Buffer[at] + blocksize - rest, rest > Outsize ? Outsize : rest);
- debugiomsg("outputThread: writing %lld@0x%p: ret = %d\n",rest > Outsize ? Outsize : rest,Buffer[at] + blocksize - rest,num);
+ num = write(out,Buffer[at] + blocksize - rest, n);
+ debugiomsg("outputThread: writing %lld@0x%p: ret = %d\n", n, Buffer[at] + blocksize - rest, num);
}
- if ((-1 == num) && (Terminal||Autoloader) && ((errno == ENOMEM) || (errno == ENOSPC))) {
- /* request a new volume - but first check
- * whether we are really at the
- * end of the device */
- out = checkIncompleteOutput(out,dest->name);
- if (out == -1)
- haderror = 1;
- continue;
+ if (Terminal||Autoloader) {
+ if (((-1 == num) && ((errno == ENOMEM) || (errno == ENOSPC)))
+ || (0 == num)) {
+ /* request a new volume */
+ out = requestOutputVolume(out,dest->name);
+ if (out == -1)
+ haderror = 1;
+ continue;
+ }
} else if (-1 == num) {
dest->result = strerror(errno);
errormsg("outputThread: error writing to %s at offset 0x%llx: %s\n",dest->arg,(long long)Blocksize*Numout+blocksize-rest,strerror(errno));
@@ -1367,7 +1350,7 @@
{
(void) fprintf(stderr,
"mbuffer version "VERSION"\n"\
- "Copyright 2001-2011 - T. Maier-Komor\n"\
+ "Copyright 2001-2014 - T. Maier-Komor\n"\
"License: GPLv3 - see file LICENSE\n"\
"This program comes with ABSOLUTELY NO WARRANTY!!!\n"
"Donations via PayPal to thomas(a)maier-komor.de are welcome and support this work!\n"
@@ -1422,6 +1405,7 @@
"-A <cmd> : issue command <cmd> to request new volume\n"
"-v <level> : set verbose level to <level> (valid values are 0..6)\n"
"-q : quiet - do not display the status on stderr\n"
+ "-Q : quiet - do not log the status\n"
"-c : write with synchronous data integrity support\n"
"-e : stop processing on any kind of error\n"
#ifdef O_DIRECT
@@ -1435,6 +1419,7 @@
"-4 : force use of IPv4\n"
"-6 : force use of IPv6\n"
"-0 : use IPv4 or IPv6\n"
+ "--tcpbuffer: size for TCP buffer\n"
"-V\n"
"--version : print version information\n"
"Unsupported buffer options: -t -Z -B\n"
@@ -1604,12 +1589,243 @@
fatal("unable to open all outputs\n");
}
+
+
+static const char *calcval(const char *arg, unsigned long long *res)
+{
+ char ch;
+ double d;
+
+ switch (sscanf(arg,"%lf%c",&d,&ch)) {
+ default:
+ assert(0);
+ break;
+ case 2:
+ if (d <= 0)
+ return "negative value out of range";
+ switch (ch) {
+ case 'k':
+ case 'K':
+ d *= 1024.0;
+ *res = d;
+ return 0;
+ case 'm':
+ case 'M':
+ d *= 1024.0*1024.0;
+ *res = d;
+ return 0;
+ case 'g':
+ case 'G':
+ d *= 1024.0*1024.0*1024.0;
+ *res = d;
+ return 0;
+ case 't':
+ case 'T':
+ d *= 1024.0*1024.0*1024.0*1024.0;
+ *res = d;
+ return 0;
+ case '%':
+ if ((d >= 90) || (d <= 0))
+ return "invalid value for percentage (must be 0..90)";
+ *res = d;
+ return 0;
+ case 'b':
+ case 'B':
+ if (d < 128)
+ return "invalid value for number of bytes";
+ *res = d;
+ return 0;
+ default:
+ return "invalid dimension";
+ }
+ case 1:
+ if (d <= 0)
+ return "value out of range";
+ if (d <= 100)
+ return "value out of range";
+ *res = d;
+ return 0;
+ case 0:
+ break;
+ }
+ return "unrecognized argument";
+}
+
+
+static void initDefaults()
+{
+ char dfname[PATH_MAX+1], line[256];
+ const char *home = getenv("HOME");
+ size_t l;
+ int df;
+ FILE *dfstr;
+ struct stat st;
+
+ if (home == 0) {
+ warningmsg("HOME environment variable not set - unable to find defaults file\n");
+ return;
+ }
+ strncpy(dfname,home,PATH_MAX);
+ dfname[sizeof(dfname)-1] = 0;
+ l = strlen(dfname);
+ if (l + 12 > PATH_MAX) {
+ warningmsg("path to defaults file breaks PATH_MAX\n");
+ return;
+ }
+ strcat(dfname,"/.mbuffer.rc");
+ df = open(dfname,O_RDONLY);
+ if (df == -1) {
+ if (errno == ENOENT)
+ infomsg("no defaults file ~/.mbuffer.rc\n");
+ else
+ warningmsg("error opening defaults file %s: %s\n",dfname,strerror(errno));
+ return;
+ }
+ if (-1 == fstat(df,&st)) {
+ warningmsg("unable to stat defaults file %s: %s\n",dfname,strerror(errno));
+ close(df);
+ return;
+ }
+ if (getuid() != st.st_uid) {
+ warningmsg("ignoring defaults file from different user\n");
+ close(df);
+ return;
+ }
+ infomsg("reading defaults file %s\n",dfname);
+ dfstr = fdopen(df,"r");
+ assert(dfstr);
+ while (!feof(dfstr)) {
+ char key[64],valuestr[64];
+ fscanf(dfstr,"%255[^\n]\n",line);
+ char *pound = strchr(line,'#');
+ unsigned long long value;
+ int a;
+
+ if (pound)
+ *pound = 0;
+ a = sscanf(line,"%63[A-Za-z]%*[ \t=:]%63[0-9a-zA-Z]",key,valuestr);
+ if (a != 2) {
+ warningmsg("unable to parse line '%s' in .mbuffer.rc; %d arguments\n",line,a);
+ continue;
+ }
+ debugmsg("parsing key/value pair %s=%s\n",key,valuestr);
+ if (strcasecmp(key,"numblocks") == 0) {
+ long nb = strtol(valuestr,0,0);
+ if ((nb == 0) && (errno == EINVAL)) {
+ warningmsg("invalid argument for %s: \"%s\"\n",key,valuestr);
+ } else {
+ Numblocks = nb;
+ debugmsg("Numblocks = %llu\n",Numblocks);
+ }
+ } else if (strcasecmp(key,"pause") == 0) {
+ long p = strtol(valuestr,0,0);
+ if ((p == 0) && (errno == EINVAL)) {
+ warningmsg("invalid argument for %s: \"%s\"\n",key,valuestr);
+ } else {
+ Pause = p;
+ debugmsg("Pause = %d\n",Pause);
+ }
+ } else if (strcasecmp(key,"autoloadtime") == 0) {
+ long at = strtol(valuestr,0,0) - 1;
+ if ((at == 0) && (errno == EINVAL))
+ warningmsg("invalid argument for %s: \"%s\"\n",key,valuestr);
+ else {
+ AutoloadTime = at;
+ debugmsg("Autoloader time = %d\n",AutoloadTime);
+ }
+ } else if (strcasecmp(key,"startread") == 0) {
+ double sr = 0;
+ if (1 == sscanf(valuestr,"%lf",&sr))
+ sr /= 100;
+ if ((sr <= 1) && (sr > 0)) {
+ StartRead = sr;
+ debugmsg("StartRead = %1.2lf\n",StartRead);
+ }
+ } else if (strcasecmp(key,"startwrite") == 0) {
+ double sw = 0;
+ if (1 == sscanf(valuestr,"%lf",&sw))
+ sw /= 100;
+ if ((sw <= 1) && (sw > 0)) {
+ StartWrite = sw;
+ debugmsg("StartWrite = %1.2lf\n",StartWrite);
+ }
+ } else if (strcasecmp(key,"timeout") == 0) {
+ long t = strtol(valuestr,0,0);
+ if (((t == 0) && (errno == EINVAL)) || (t < 0))
+ warningmsg("invalid argument for %s: \"%s\"\n",key,valuestr);
+ else {
+ Timeout = t;
+ debugmsg("Timeout = %lu\n",Timeout);
+ }
+ } else if (strcasecmp(key,"showstatus") == 0) {
+ if ((strcasecmp(valuestr,"yes") == 0) || (strcasecmp(valuestr,"on") == 0) || (strcmp(valuestr,"1") == 0)) {
+ Quiet = 0;
+ debugmsg("showstatus = yes\n");
+ } else if ((strcasecmp(valuestr,"no") == 0) || (strcasecmp(valuestr,"off") == 0) || (strcmp(valuestr,"0") == 0)) {
+ Quiet = 1;
+ debugmsg("showstatus = no\n");
+ } else
+ warningmsg("invalid argument for %s: \"%s\"\n",key,valuestr);
+ continue;
+ } else if (strcasecmp(key,"logstatus") == 0) {
+ if ((strcasecmp(valuestr,"yes") == 0) || (strcasecmp(valuestr,"on") == 0) || (strcmp(valuestr,"1") == 0)) {
+ StatusLog = 1;
+ debugmsg("logstatus = yes\n");
+ } else if ((strcasecmp(valuestr,"no") == 0) || (strcasecmp(valuestr,"off") == 0) || (strcmp(valuestr,"0") == 0)) {
+ StatusLog = 0;
+ debugmsg("logstatus = no\n");
+ } else
+ warningmsg("invalid argument for %s: \"%s\"\n",key,valuestr);
+ continue;
+ } else if (strcasecmp(key,"memlock") == 0) {
+ if ((strcasecmp(valuestr,"yes") == 0) || (strcasecmp(valuestr,"on") == 0) || (strcmp(valuestr,"1") == 0)) {
+ Memlock = 1;
+ debugmsg("Memlock = %lu\n",Memlock);
+ } else if ((strcasecmp(valuestr,"no") == 0) || (strcasecmp(valuestr,"off") == 0) || (strcmp(valuestr,"0") == 0)) {
+ Memlock = 0;
+ debugmsg("Memlock = %lu\n",Memlock);
+ } else
+ warningmsg("invalid argument for %s: \"%s\"\n",key,valuestr);
+ continue;
+ }
+ const char *argerror = calcval(valuestr,&value);
+ if (argerror) {
+ warningmsg("ignoring key/value pair from defaults file (%s = %s): %s\n",key,valuestr,argerror);
+ continue;
+ }
+ if (strcasecmp(key,"blocksize") == 0) {
+ Blocksize = value;
+ } else if (strcasecmp(key,"maxwritespeed") == 0) {
+ MaxWriteSpeed = value;
+ } else if (strcasecmp(key,"maxreadspeed") == 0) {
+ MaxReadSpeed = value;
+ } else if (strcasecmp(key,"Totalmem") == 0) {
+ if (value < 100) {
+#if defined(_SC_AVPHYS_PAGES) && defined(_SC_PAGESIZE) && !defined(__CYGWIN__) || defined(__FreeBSD__)
+ Totalmem = ((unsigned long long) NumP * PgSz * value) / 100 ;
+ debugmsg("Totalmem = %lluk\n",Totalmem>>10);
+#else
+ warningmsg("Unable to determine page size or amount of available memory - please specify an absolute amount of memory.\n");
+#endif
+ }
+ } else if (strcasecmp(key,"tcpbuffer") == 0) {
+ TCPBufSize = value;
+ } else {
+ warningmsg("unknown key: %s\n",key);
+ continue;
+ }
+ infomsg("setting %s to %lld\n",key,value);
+ }
+ fclose(dfstr);
+ close(df);
+}
+
+
int main(int argc, const char **argv)
{
- unsigned long long totalmem = 0;
int optMset = 0, optSset = 0, optBset = 0, optMode = O_EXCL, numOut = 0;
int numstdout = 0, numthreads = 0;
- long mxnrsem, timeout = 0;
+ long mxnrsem;
int c, fl, err;
sigset_t signalSet;
#ifdef HAVE_STRUCT_STAT_ST_BLKSIZE
@@ -1621,33 +1837,56 @@
const char *outfile = 0;
struct sigaction sig;
dest_t *dest = 0;
-#if defined(_SC_AVPHYS_PAGES) && defined(_SC_PAGESIZE) && !defined(__CYGWIN__)
- long long pgsz, nump;
+ /* setup logging prefix */
+ progname = basename(argv0);
+ PrefixLen = strlen(progname) + 2;
+ Prefix = malloc(PrefixLen);
+ (void) strcpy(Prefix,progname);
+ Prefix[PrefixLen - 2] = ':';
+ Prefix[PrefixLen - 1] = ' ';
+
+ /* set verbose level before parsing defaults and options */
+ for (c = 1; c < argc; c++) {
+ const char *arg = argv[c];
+ if ((arg[0] == '-') && (arg[1] == 'v')) {
+ long verb;
+ if (arg[2])
+ verb = strtol(arg+2,0,0);
+ else
+ verb = strtol(argv[++c],0,0);
+ if ((verb == 0) && (errno == EINVAL))
+ errormsg("invalid argument to option -v: \"%s\"\n",argv[c]);
+ else
+ Verbose = verb;
+ debugmsg("Verbose = %d\n",Verbose);
+ }
+ }
+
+ /* gather system parameters */
TickTime = 1000000 / sysconf(_SC_CLK_TCK);
- pgsz = sysconf(_SC_PAGESIZE);
- assert(pgsz > 0);
- nump = sysconf(_SC_AVPHYS_PAGES);
- assert(nump > 0);
- Blocksize = pgsz;
- Numblocks = nump/50;
+#if defined(_SC_AVPHYS_PAGES) && defined(_SC_PAGESIZE) && !defined(__CYGWIN__)
+ PgSz = sysconf(_SC_PAGESIZE);
+ assert(PgSz > 0);
+ NumP = sysconf(_SC_AVPHYS_PAGES);
+ assert(NumP > 0);
+ Blocksize = PgSz;
+ debugmsg("total # of phys pages: %li (pagesize %li)\n",NumP,PgSz);
+ Numblocks = NumP/50;
#elif defined(__FreeBSD__)
size_t nump_size = sizeof(nump_size);
- unsigned long pgsz,nump;
- sysctlbyname("hw.availpages", &nump, &nump_size, NULL, 0);
- pgsz = sysconf(_SC_PAGESIZE);
- assert(pgsz > 0);
+ sysctlbyname("hw.availpages", &NumP, &nump_size, NULL, 0);
+ PgSz = sysconf(_SC_PAGESIZE);
+ assert(PgSz > 0);
#endif
#if defined(_POSIX_MONOTONIC_CLOCK) && (_POSIX_MONOTONIC_CLOCK >= 0) && defined(CLOCK_MONOTONIC)
if (sysconf(_SC_MONOTONIC_CLOCK) > 0)
ClockSrc = CLOCK_MONOTONIC;
#endif
- progname = basename(argv0);
- PrefixLen = strlen(progname) + 2;
- Prefix = malloc(PrefixLen);
- (void) strcpy(Prefix,progname);
- Prefix[PrefixLen - 2] = ':';
- Prefix[PrefixLen - 1] = ' ';
+
+ /* setup parameters */
+ initDefaults();
+ debugmsg("default buffer set to %d blocks of %lld bytes\n",Numblocks,Blocksize);
for (c = 1; c < argc; c++) {
if (!argcheck("-s",argv,&c,argc)) {
Blocksize = Outsize = calcint(argv,c,Blocksize);
@@ -1662,16 +1901,16 @@
optMode |= O_TRUNC;
debugmsg("truncate next file\n");
} else if (!argcheck("-m",argv,&c,argc)) {
- totalmem = calcint(argv,c,totalmem);
+ Totalmem = calcint(argv,c,Totalmem);
optMset = 1;
- if (totalmem < 100) {
+ if (Totalmem < 100) {
#if defined(_SC_AVPHYS_PAGES) && defined(_SC_PAGESIZE) && !defined(__CYGWIN__) || defined(__FreeBSD__)
- totalmem = ((unsigned long long) nump * pgsz * totalmem) / 100 ;
+ Totalmem = ((unsigned long long) NumP * PgSz * Totalmem) / 100 ;
#else
fatal("Unable to determine page size or amount of available memory - please specify an absolute amount of memory.\n");
#endif
}
- debugmsg("totalmem = %lluk\n",totalmem>>10);
+ debugmsg("Totalmem = %lluk\n",Totalmem>>10);
} else if (!argcheck("-b",argv,&c,argc)) {
long nb = strtol(argv[c],0,0);
if ((nb == 0) && (errno == EINVAL)) {
@@ -1692,19 +1931,7 @@
fatal("cannot determine blocksize of device (unsupported by OS)\n");
#endif
} else if (!argcheck("-v",argv,&c,argc)) {
- int verb;
- if (c == argc)
- fatal("missing argument for option -v\n");
- verb = strtol(argv[c],0,0);
- if ((verb == 0) && (errno == EINVAL))
- errormsg("invalid argument to option -v: \"%s\"\n",argv[c]);
- else
- Verbose = verb;
- debugmsg("Verbose = %d\n",Verbose);
-#if defined(_SC_AVPHYS_PAGES) && defined(_SC_PAGESIZE) && !defined(__CYGWIN__)
- debugmsg("total # of phys pages: %li (pagesize %li)\n",nump,pgsz);
-#endif
- debugmsg("default buffer set to %d blocks of %lld bytes\n",Numblocks,Blocksize);
+ /* has been parsed already */
} else if (!argcheck("-u",argv,&c,argc)) {
long p = strtol(argv[c],0,0);
@@ -1807,7 +2034,10 @@
debugmsg("overwrite = 1\n");
} else if (!strcmp("-q",argv[c])) {
debugmsg("disabling display of status\n");
- Status = 0;
+ Quiet = 1;
+ } else if (!strcmp("-Q",argv[c])) {
+ debugmsg("disabling logging of status\n");
+ StatusLog = 0;
} else if (!strcmp("-c",argv[c])) {
debugmsg("enabling full synchronous I/O\n");
OptSync = O_SYNC;
@@ -1820,15 +2050,13 @@
errormsg("invalid argument to option -a: \"%s\"\n",argv[c]);
else {
Autoloader = 1;
- Autoload_time = at;
+ AutoloadTime = at;
}
- if (at && timeout && timeout <= Autoload_time)
- fatal("autoload time must be smaller than watchdog timeout\n");
- debugmsg("Autoloader time = %d\n",Autoload_time);
+ debugmsg("Autoloader time = %d\n",AutoloadTime);
} else if (!argcheck("-A",argv,&c,argc)) {
Autoloader = 1;
- Autoload_cmd = argv[c];
- debugmsg("Autoloader command = \"%s\"\n", Autoload_cmd);
+ AutoloadCmd = argv[c];
+ debugmsg("Autoloader command = \"%s\"\n", AutoloadCmd);
} else if (!argcheck("-P",argv,&c,argc)) {
if (1 != sscanf(argv[c],"%lf",&StartWrite))
StartWrite = 0;
@@ -1852,10 +2080,10 @@
warning("POSIX memory locking is unsupported on this system.\n");
#endif
} else if (!argcheck("-W",argv,&c,argc)) {
- timeout = strtol(argv[c],0,0);
- if (timeout <= 0)
+ Timeout = strtol(argv[c],0,0);
+ if (Timeout <= 0)
fatal("invalid argument to option -W\n");
- if (timeout <= Autoload_time)
+ if (Timeout <= AutoloadTime)
fatal("timeout must be bigger than autoload time\n");
} else if (!strcmp("--direct",argv[c])) {
#ifdef O_DIRECT
@@ -1908,20 +2136,22 @@
}
/* consistency check for options */
+ if (AutoloadTime && Timeout && Timeout <= AutoloadTime)
+ fatal("autoload time must be smaller than watchdog timeout\n");
if (optBset&optSset&optMset) {
- if (Numblocks * Blocksize != totalmem)
+ if (Numblocks * Blocksize != Totalmem)
fatal("inconsistent options: blocksize * number of blocks != totalsize!\n");
} else if (((!optBset)&optSset&optMset) || (optMset&(!optBset)&(!optSset))) {
- if (totalmem <= Blocksize)
+ if (Totalmem <= Blocksize)
fatal("total memory must be larger than block size\n");
- Numblocks = totalmem / Blocksize;
- infomsg("Numblocks = %llu, Blocksize = %llu, totalmem = %llu\n",(unsigned long long)Numblocks,(unsigned long long)Blocksize,(unsigned long long)totalmem);
+ Numblocks = Totalmem / Blocksize;
+ infomsg("Numblocks = %llu, Blocksize = %llu, Totalmem = %llu\n",(unsigned long long)Numblocks,(unsigned long long)Blocksize,(unsigned long long)Totalmem);
} else if (optBset&!optSset&optMset) {
if (Blocksize == 0)
fatal("blocksize must be greater than 0\n");
- if (totalmem <= Blocksize)
+ if (Totalmem <= Blocksize)
fatal("total memory must be larger than block size\n");
- Blocksize = totalmem / Numblocks;
+ Blocksize = Totalmem / Numblocks;
infomsg("blocksize = %llu\n",(unsigned long long)Blocksize);
}
if ((StartRead < 1) && (StartWrite > 0))
@@ -2021,6 +2251,10 @@
Buffer[0] = (char *) valloc(Blocksize * Numblocks);
if (Buffer[0] == 0)
fatal("Could not allocate enough memory (%lld requested): %s\n",(unsigned long long)Blocksize * Numblocks,strerror(errno));
+#ifdef MADV_DONTFORK
+ if (-1 == madvise(Buffer[0],Blocksize * Numblocks, MADV_DONTFORK))
+ warningmsg("unable to advise memory handling of buffer: %s\n",strerror(errno));
+#endif
}
for (c = 1; c < Numblocks; c++) {
Buffer[c] = Buffer[0] + Blocksize * c;
@@ -2092,7 +2326,7 @@
}
debugmsg("checking if we have a controlling terminal...\n");
- sig.sa_sigaction = SIG_IGN;
+ sig.sa_handler = SIG_IGN;
err = sigaction(SIGTTIN,&sig,0);
assert(err == 0);
fl = fcntl(STDERR_FILENO,F_GETFL);
@@ -2193,6 +2427,8 @@
"This can result in incorrect written data when\n"
"using multiple volumes. Continue at your own risk!\n");
#endif
+ if (((Verbose < 4) || (StatusLog == 0)) && (Quiet != 0))
+ Status = 0;
if (Status) {
if (-1 == pipe(TermQ))
fatal("could not create termination pipe: %s\n",strerror(errno));
@@ -2202,8 +2438,8 @@
}
err = pthread_create(&dest->thread,0,&outputThread,dest);
assert(0 == err);
- if (timeout) {
- err = pthread_create(&Watchdog,0,&watchdogThread,(void*)timeout);
+ if (Timeout) {
+ err = pthread_create(&Watchdog,0,&watchdogThread,(void*)0);
assert(0 == err);
}
if (Status) {
@@ -2223,7 +2459,7 @@
assert(err == 1);
}
}
- if (timeout) {
+ if (Timeout) {
err = pthread_cancel(Watchdog);
assert(err == 0);
}
++++++ mbuffer-fix_pointer_cast.patch ++++++
--- /var/tmp/diff_new_pack.3Sd9iS/_old 2014-04-22 10:06:13.000000000 +0200
+++ /var/tmp/diff_new_pack.3Sd9iS/_new 2014-04-22 10:06:13.000000000 +0200
@@ -1,6 +1,6 @@
---- mbuffer.c.orig 2010-03-27 22:04:34.000000000 +0100
-+++ mbuffer.c 2010-03-27 22:06:14.000000000 +0100
-@@ -47,6 +47,7 @@
+--- mbuffer-20140310.orig/mbuffer.c
++++ mbuffer-20140310/mbuffer.c
+@@ -48,6 +48,7 @@ typedef int caddr_t;
#include <sys/time.h>
#include <termios.h>
#include <unistd.h>
@@ -8,7 +8,7 @@
#ifdef __FreeBSD__
-@@ -1027,7 +1028,7 @@
+@@ -1111,7 +1112,7 @@ static int requestOutputVolume(int out,
--
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 openstack-heat for openSUSE:Factory checked in at 2014-04-22 07:52:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openstack-heat (Old)
and /work/SRC/openSUSE:Factory/.openstack-heat.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openstack-heat"
Changes:
--------
--- /work/SRC/openSUSE:Factory/openstack-heat/openstack-heat.changes 2014-04-14 10:54:55.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.openstack-heat.new/openstack-heat.changes 2014-04-22 07:52:05.000000000 +0200
@@ -1,0 +2,30 @@
+Thu Apr 17 12:51:48 UTC 2014 - dmueller(a)suse.com
+
+- update to 2014.1:
+ * no change
+
+-------------------------------------------------------------------
+Mon Apr 14 08:57:22 UTC 2014 - dmueller(a)suse.com
+
+- update to 2014.1.rc2:
+ * Cherry pick oslo-incubator db fixes
+ * Add handle_update to VolumeAttachment
+ * Ensure outputs are resolved for adopted stacks
+ * Pass and use the environment in validate_template
+ * Cherry pick oslo rpc HA fixes
+ * Check top-level sections when parsing a template
+ * Fix timeout for stack actions
+ * Credentials for native heat os-collect-config polling
+ * Allow for stack users in _authorize_stack_user
+ * Fix Jenkins translation jobs
+ * Add a resource_facade intrinsic function to HOT
+ * Resolve data from Resource Facade
+ * Add a default DeletionPolicy for Fn::ResourceFacade
+ * Always answer empty list if deployments not ready
+ * Ensure parameter timeout_mins available in update
+ * Insertion port id in address attribute of server
+ * Disable check_uptodate.sh check in pep8
+ * Updated from global requirements
+
+
+-------------------------------------------------------------------
Old:
----
heat-2014.1.rc1.tar.gz
New:
----
heat-2014.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openstack-heat-doc.spec ++++++
--- /var/tmp/diff_new_pack.APTPIy/_old 2014-04-22 07:52:06.000000000 +0200
+++ /var/tmp/diff_new_pack.APTPIy/_new 2014-04-22 07:52:06.000000000 +0200
@@ -19,7 +19,7 @@
%define component heat
Name: openstack-%{component}-doc
-Version: 2014.1.rc1
+Version: 2014.1
Release: 0
Summary: OpenStack Orchestration (Heat) - Documentation
License: Apache-2.0
++++++ openstack-heat.spec ++++++
--- /var/tmp/diff_new_pack.APTPIy/_old 2014-04-22 07:52:06.000000000 +0200
+++ /var/tmp/diff_new_pack.APTPIy/_new 2014-04-22 07:52:06.000000000 +0200
@@ -21,7 +21,7 @@
%define username %{component}
Name: openstack-%{component}
-Version: 2014.1.rc1
+Version: 2014.1
Release: 0
Summary: Openstack Orchestration (Heat)
License: Apache-2.0
@@ -73,32 +73,32 @@
Group: Development/Languages/Python
Requires: python >= 2.6.8
Requires: python-Babel >= 1.3
-Requires: python-PasteDeploy >= 1.5.0
-Requires: python-PyYAML >= 3.1.0
+Requires: python-PasteDeploy >= 1.5
+Requires: python-PyYAML >= 3.1
Requires: python-Routes >= 1.12.3
Requires: python-SQLAlchemy >= 0.7.8
Requires: python-WebOb >= 1.2.3
Requires: python-argparse
Requires: python-ceilometerclient >= 1.0.6
Requires: python-cinderclient >= 1.0.6
-Requires: python-eventlet >= 0.13.0
+Requires: python-eventlet >= 0.13
Requires: python-greenlet >= 0.3.2
Requires: python-heatclient >= 0.2.3
Requires: python-httplib2 >= 0.7.5
-Requires: python-iso8601 >= 0.1.8
-Requires: python-keystoneclient >= 0.6.0
+Requires: python-iso8601 >= 0.1.9
+Requires: python-keystoneclient >= 0.7
Requires: python-kombu >= 2.4.8
Requires: python-lockfile >= 0.8
Requires: python-lxml >= 2.3
Requires: python-netaddr >= 0.7.6
Requires: python-neutronclient >= 2.3.4
-Requires: python-novaclient >= 2.15.0
-Requires: python-oslo.config >= 1.2.0
-Requires: python-paramiko >= 1.9.0
+Requires: python-novaclient >= 2.17
+Requires: python-oslo.config >= 1.2
+Requires: python-paramiko >= 1.9
Requires: python-pbr >= 0.6
Requires: python-pycrypto >= 2.6
Requires: python-requests >= 1.1
-Requires: python-six >= 1.4.1
+Requires: python-six >= 1.5.2
Requires: python-sqlalchemy-migrate >= 0.8.2
Requires: python-troveclient >= 1.0.3
@@ -145,10 +145,10 @@
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
Requires: python-discover
%endif
-Requires: python-glanceclient >= 0.9.0
-Requires: python-mock >= 1.0
+Requires: python-glanceclient >= 0.9
+Requires: python-mock >= 1
Requires: python-mox >= 0.5.3
-Requires: python-paramiko >= 1.9.0
+Requires: python-paramiko >= 1.9
Requires: python-testrepository >= 0.0.18
Requires: python-testscenarios >= 0.4
Requires: python-testtools >= 0.9.34
++++++ heat-2014.1.rc1.tar.gz -> heat-2014.1.tar.gz ++++++
++++ 39587 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 util-linux for openSUSE:Factory checked in at 2014-04-22 07:49:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/util-linux (Old)
and /work/SRC/openSUSE:Factory/.util-linux.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "util-linux"
Changes:
--------
--- /work/SRC/openSUSE:Factory/util-linux/util-linux.changes 2014-04-06 09:56:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.util-linux.new/util-linux.changes 2014-04-22 07:49:59.000000000 +0200
@@ -1,0 +2,19 @@
+Thu Apr 17 22:43:31 CEST 2014 - sbrabec(a)suse.cz
+
+- Enable socket activation needed by systemd service (bnc#872807).
+
+-------------------------------------------------------------------
+Fri Apr 11 16:45:03 CEST 2014 - sbrabec(a)suse.cz
+
+- libblkid: Drop the broken ext2/ext3/ext4 discrimination logic
+ (util-linux-libblkid-ext-probe.patch, bnc#864703).
+
+-------------------------------------------------------------------
+Fri Apr 11 16:27:11 CEST 2014 - hare(a)suse.de
+
+- Abort blkid probing on I/O errors (bnc#859062,
+ blkid-stop-scanning-on-I-O-error.patch,
+ blkid-convert-superblocks-to-new-calling-convention.patch,
+ http://www.spinics.net/lists/util-linux-ng/msg08976.html)
+
+-------------------------------------------------------------------
New:
----
blkid-convert-superblocks-to-new-calling-convention.patch
blkid-stop-scanning-on-I-O-error.patch
util-linux-libblkid-ext-probe.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ util-linux.spec ++++++
--- /var/tmp/diff_new_pack.ZOW7Jm/_old 2014-04-22 07:50:00.000000000 +0200
+++ /var/tmp/diff_new_pack.ZOW7Jm/_new 2014-04-22 07:50:00.000000000 +0200
@@ -124,6 +124,13 @@
Patch23: util-linux-ng-2.19.1-barrier_documentation.patch
# PATCH-FEATURE-SLES util-linux-lscpu-improve-hypervisor-detection.patch fate310255 puzel(a)novell.com -- Improve hypervisor detection.
Patch24: util-linux-lscpu-improve-hypervisor-detection.patch
+# PATH-FIX-SLES blkid-stop-scanning-on-I-O-error.patch bnc859062 hare(a)suse.de -- Abort blkid probing on I/O errors
+Patch30: blkid-stop-scanning-on-I-O-error.patch
+# PATH-FIX-SLES lkid-convert-superblocks-to-new-calling-convention.patch bnc859062 hare(a)suse.de -- convert blkid probing functions to new calling sequence
+Patch31: blkid-convert-superblocks-to-new-calling-convention.patch
+# PATH-FIX-UPSTREAM util-linux-libblkid-ext-probe.patch bnc864703 sbrabec(a)suse.cz -- libblkid: Drop the broken ext2/ext3/ext4 discrimination logic.
+Patch32: util-linux-libblkid-ext-probe.patch
+
##
## klogconsole
##
@@ -256,6 +263,9 @@
%patch21 -p1
%patch23 -p1
%patch24 -p1
+%patch30 -p1
+%patch31 -p1
+%patch32 -p1
#
# setctsid
cp -p %{S:22} %{S:23} .
@@ -311,6 +321,7 @@
--enable-new-mount \
--enable-login-utils \
--enable-tunelp \
+ --enable-socket-activation \
%if %{with enable_last}
--enable-last \
%else
++++++ blkid-convert-superblocks-to-new-calling-convention.patch ++++++
++++ 2268 lines (skipped)
++++++ blkid-stop-scanning-on-I-O-error.patch ++++++
>From 65245d440656a8df4352f9a5b9ec047bf4b6a663 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare(a)suse.de>
Date: Tue, 21 Jan 2014 09:16:46 +0100
Subject: [PATCH] blkid: stop scanning on I/O error
Whenever we fail to read from a device it's pointless to
continue with probing; we should be failing immediately.
Otherwise the system will continue logging I/O errors.
This patch updates the probe functions to return -1
on error and 1 if not found.
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
libblkid/src/partitions/partitions.c | 13 +++++++++----
libblkid/src/probe.c | 13 +++++++++++--
libblkid/src/superblocks/superblocks.c | 13 ++++++++++---
3 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/libblkid/src/partitions/partitions.c b/libblkid/src/partitions/partitions.c
index 6c915d9..98baece 100644
--- a/libblkid/src/partitions/partitions.c
+++ b/libblkid/src/partitions/partitions.c
@@ -540,7 +540,8 @@ static int idinfo_probe(blkid_probe pr, const struct blkid_idinfo *id,
if (pr->size <= 0 || (id->minsz && id->minsz > pr->size))
goto nothing; /* the device is too small */
- if (blkid_probe_get_idmag(pr, id, &off, &mag))
+ rc = blkid_probe_get_idmag(pr, id, &off, &mag);
+ if (rc != 0)
goto nothing;
/* final check by probing function */
@@ -548,12 +549,13 @@ static int idinfo_probe(blkid_probe pr, const struct blkid_idinfo *id,
DBG(LOWPROBE, blkid_debug(
"%s: ---> call probefunc()", id->name));
rc = id->probefunc(pr, mag);
- if (rc == -1) {
+ if (rc != 0) {
/* reset after error */
reset_partlist(blkid_probe_get_partlist(pr));
if (chn && !chn->binary)
blkid_probe_chain_reset_vals(pr, chn);
- DBG(LOWPROBE, blkid_debug("%s probefunc failed", id->name));
+ DBG(LOWPROBE, blkid_debug("%s probefunc failed, rc %d",
+ id->name, rc));
}
if (rc == 0 && mag && chn && !chn->binary)
rc = blkid_probe_set_magic(pr, off, mag->len,
@@ -599,7 +601,10 @@ static int partitions_probe(blkid_probe pr, struct blkid_chain *chn)
continue;
/* apply checks from idinfo */
- if (idinfo_probe(pr, idinfos[i], chn) != 0)
+ rc = idinfo_probe(pr, idinfos[i], chn);
+ if (rc < 0)
+ return rc;
+ if (rc > 0)
continue;
name = idinfos[i]->name;
diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c
index 4b0c997..452c743 100644
--- a/libblkid/src/probe.c
+++ b/libblkid/src/probe.c
@@ -569,13 +569,17 @@ unsigned char *blkid_probe_get_buffer(blkid_probe pr,
if (!bf) {
ssize_t ret;
- if (blkid_llseek(pr->fd, pr->off + off, SEEK_SET) < 0)
+ if (blkid_llseek(pr->fd, pr->off + off, SEEK_SET) < 0) {
+ errno = 0;
return NULL;
+ }
/* allocate info and space for data by why call */
bf = calloc(1, sizeof(struct blkid_bufinfo) + len);
- if (!bf)
+ if (!bf) {
+ errno = 0;
return NULL;
+ }
bf->data = ((unsigned char *) bf) + sizeof(struct blkid_bufinfo);
bf->len = len;
@@ -587,7 +591,10 @@ unsigned char *blkid_probe_get_buffer(blkid_probe pr,
ret = read(pr->fd, bf->data, len);
if (ret != (ssize_t) len) {
+ DBG(LOWPROBE, blkid_debug("\tbuffer read: return %d error %d", ret, errno));
free(bf);
+ if (ret >= 0 || errno != EIO)
+ errno = 0;
return NULL;
}
list_add_tail(&bf->bufs, &pr->buffers);
@@ -794,6 +801,8 @@ int blkid_probe_get_idmag(blkid_probe pr, const struct blkid_idinfo *id,
off = (mag->kboff + (mag->sboff >> 10)) << 10;
buf = blkid_probe_get_buffer(pr, off, 1024);
+ if (!buf && errno)
+ return -1;
if (buf && !memcmp(mag->magic,
buf + (mag->sboff & 0x3ff), mag->len)) {
DBG(LOWPROBE, blkid_debug("\tmagic sboff=%u, kboff=%ld",
diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c
index 565daf2..ad93b4e 100644
--- a/libblkid/src/superblocks/superblocks.c
+++ b/libblkid/src/superblocks/superblocks.c
@@ -380,15 +380,22 @@ static int superblocks_probe(blkid_probe pr, struct blkid_chain *chn)
DBG(LOWPROBE, blkid_debug("[%zd] %s:", i, id->name));
- if (blkid_probe_get_idmag(pr, id, &off, &mag))
+ rc = blkid_probe_get_idmag(pr, id, &off, &mag);
+ if (rc < 0)
+ break;
+ if (rc > 0)
continue;
/* final check by probing function */
if (id->probefunc) {
DBG(LOWPROBE, blkid_debug("\tcall probefunc()"));
- if (id->probefunc(pr, mag) != 0) {
+ rc = id->probefunc(pr, mag);
+ if (rc != 0) {
blkid_probe_chain_reset_vals(pr, chn);
- continue;
+ if (rc < 0)
+ break;
+ else
+ continue;
}
}
--
1.8.1.4
++++++ util-linux-libblkid-ext-probe.patch ++++++
This is a backport of patch from master branch.
commit a1ca32fb3862ccac7275d6b342805b6d99f20e39
Author: Lukas Czerner <lczerner(a)redhat.com>
Date: Tue Dec 3 16:24:44 2013 +0100
libblkid: Identify extN file system properly
Currently when trying to identify extN file system we're playing games
with searching for kernel modules and parsing /proc/filesystem. All of
this just because ext4 module can be used to mount ext3 and ext2 file
systems on recent kernel and also because of ext4dev.
However all of this is not necessary. Ext4 module which does support
mounting ext2 and ext3 file system is able to recognize and mount ext2
and ext3 type so there is no need to disguise it and ext4dev should only
be ever used for testing and not as fallback when other modules are
missing (use -t instead).
This also introduces a bug when in situation that we only have ext4
modules with ext2/ext3 support which is not loaded and we try to mount
ext2 file system we will mount it incorrectly as ext4. This will not
happen if the ext4 module is already loaded.
With this patch we remove all the unnecessary checks and return the real
type of the file system which is on the device. This fixes the issue.
However on the kernel which was not compiled with EXT4_USE_FOR_EXT23
support one would have to provide file system type (-t) to be able to
mount the file system with ext4 driver.
Signed-off-by: Lukas Czerner <lczerner(a)redhat.com>
Signed-off-by: Karel Zak <kzak(a)redhat.com>
Index: util-linux-2.24.1/libblkid/src/superblocks/ext.c
===================================================================
--- util-linux-2.24.1.orig/libblkid/src/superblocks/ext.c
+++ util-linux-2.24.1/libblkid/src/superblocks/ext.c
@@ -18,7 +18,6 @@
#endif
#include <time.h>
-#include "linux_version.h"
#include "superblocks.h"
struct ext2_super_block {
@@ -132,140 +131,11 @@ struct ext2_super_block {
#define EXT3_FEATURE_RO_COMPAT_UNSUPPORTED ~EXT3_FEATURE_RO_COMPAT_SUPP
/*
- * Check to see if a filesystem is in /proc/filesystems.
- * Returns 1 if found, 0 if not
- */
-static int fs_proc_check(const char *fs_name)
-{
- FILE *f;
- char buf[80], *cp, *t;
-
- f = fopen("/proc/filesystems", "r" UL_CLOEXECSTR);
- if (!f)
- return 0;
- while (!feof(f)) {
- if (!fgets(buf, sizeof(buf), f))
- break;
- cp = buf;
- if (!isspace(*cp)) {
- while (*cp && !isspace(*cp))
- cp++;
- }
- while (*cp && isspace(*cp))
- cp++;
- if ((t = strchr(cp, '\n')) != NULL)
- *t = 0;
- if ((t = strchr(cp, '\t')) != NULL)
- *t = 0;
- if ((t = strchr(cp, ' ')) != NULL)
- *t = 0;
- if (!strcmp(fs_name, cp)) {
- fclose(f);
- return 1;
- }
- }
- fclose(f);
- return (0);
-}
-
-/*
- * Check to see if a filesystem is available as a module
- * Returns 1 if found, 0 if not
- */
-static int check_for_modules(const char *fs_name)
-{
-#ifdef __linux__
- struct utsname uts;
- FILE *f;
- char buf[1024], *cp;
- int namesz;
-
- if (uname(&uts))
- return 0;
- snprintf(buf, sizeof(buf), "/lib/modules/%s/modules.dep", uts.release);
-
- f = fopen(buf, "r" UL_CLOEXECSTR);
- if (!f)
- return 0;
-
- namesz = strlen(fs_name);
-
- while (!feof(f)) {
- if (!fgets(buf, sizeof(buf), f))
- break;
- if ((cp = strchr(buf, ':')) != NULL)
- *cp = 0;
- else
- continue;
- if ((cp = strrchr(buf, '/')) == NULL)
- continue;
- cp++;
-
- if (!strncmp(cp, fs_name, namesz) &&
- (!strcmp(cp + namesz, ".ko") ||
- !strcmp(cp + namesz, ".ko.gz"))) {
- fclose(f);
- return 1;
- }
- }
- fclose(f);
-#endif /* __linux__ */
- return 0;
-}
-
-/*
* Starting in 2.6.29, ext4 can be used to support filesystems
* without a journal.
*/
#define EXT4_SUPPORTS_EXT2 KERNEL_VERSION(2, 6, 29)
-static int system_supports_ext2(void)
-{
- static time_t last_check = 0;
- static int ret = -1;
- time_t now = time(0);
-
- if (ret != -1 || (now - last_check) < 5)
- return ret;
- last_check = now;
- ret = (fs_proc_check("ext2") || check_for_modules("ext2"));
- return ret;
-}
-
-static int system_supports_ext4(void)
-{
- static time_t last_check = 0;
- static int ret = -1;
- time_t now = time(0);
-
- if (ret != -1 || (now - last_check) < 5)
- return ret;
- last_check = now;
- ret = (fs_proc_check("ext4") || check_for_modules("ext4"));
- return ret;
-}
-
-static int system_supports_ext4dev(void)
-{
- static time_t last_check = 0;
- static int ret = -1;
- time_t now = time(0);
-
- if (ret != -1 || (now - last_check) < 5)
- return ret;
- last_check = now;
- ret = (fs_proc_check("ext4dev") || check_for_modules("ext4dev"));
- return ret;
-}
-
-static int system_supports_ext4_ext2(void)
-{
-#ifdef __linux__
- return get_linux_version() >= EXT4_SUPPORTS_EXT2;
-#else
- return 0;
-#endif
-}
/*
* reads superblock and returns:
* fc = feature_compat
@@ -357,15 +227,6 @@ static int probe_ext2(blkid_probe pr,
(fi & EXT2_FEATURE_INCOMPAT_UNSUPPORTED))
return 1;
- /*
- * If ext2 is not present, but ext4 or ext4dev are, then
- * disclaim we are ext2
- */
- if (!system_supports_ext2() &&
- (system_supports_ext4() || system_supports_ext4dev()) &&
- system_supports_ext4_ext2())
- return 1;
-
ext_get_info(pr, 2, es);
return 0;
}
@@ -408,34 +269,9 @@ static int probe_ext4dev(blkid_probe pr,
if (fi & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV)
return 1;
- /*
- * If the filesystem does not have a journal and ext2 and ext4
- * is not present, then force this to be detected as an
- * ext4dev filesystem.
- */
- if (!(fc & EXT3_FEATURE_COMPAT_HAS_JOURNAL) &&
- !system_supports_ext2() && !system_supports_ext4() &&
- system_supports_ext4dev() &&
- system_supports_ext4_ext2())
- goto force_ext4dev;
-
- /*
- * If the filesystem is marked as OK for use by in-development
- * filesystem code, but ext4dev is not supported, and ext4 is,
- * then don't call ourselves ext4dev, since we should be
- * detected as ext4 in that case.
- *
- * If the filesystem is marked as in use by production
- * filesystem, then it can only be used by ext4 and NOT by
- * ext4dev, so always disclaim we are ext4dev in that case.
- */
- if (le32_to_cpu(es->s_flags) & EXT2_FLAGS_TEST_FILESYS) {
- if (!system_supports_ext4dev() && system_supports_ext4())
- return 1;
- } else
+ if (!(le32_to_cpu(es->s_flags) & EXT2_FLAGS_TEST_FILESYS))
return 1;
-force_ext4dev:
ext_get_info(pr, 4, es);
return 0;
}
@@ -454,22 +290,11 @@ static int probe_ext4(blkid_probe pr,
if (fi & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV)
return 1;
- /*
- * If the filesystem does not have a journal and ext2 is not
- * present, then force this to be detected as an ext2
- * filesystem.
- */
- if (!(fc & EXT3_FEATURE_COMPAT_HAS_JOURNAL) &&
- !system_supports_ext2() && system_supports_ext4() &&
- system_supports_ext4_ext2())
- goto force_ext4;
-
/* Ext4 has at least one feature which ext3 doesn't understand */
if (!(frc & EXT3_FEATURE_RO_COMPAT_UNSUPPORTED) &&
!(fi & EXT3_FEATURE_INCOMPAT_UNSUPPORTED))
return 1;
-force_ext4:
/*
* If the filesystem is a OK for use by in-development
* filesystem code, and ext4dev is supported or ext4 is not
@@ -480,10 +305,8 @@ force_ext4:
* filesystem, then it can only be used by ext4 and NOT by
* ext4dev.
*/
- if (le32_to_cpu(es->s_flags) & EXT2_FLAGS_TEST_FILESYS) {
- if (system_supports_ext4dev() || !system_supports_ext4())
- return 1;
- }
+ if (le32_to_cpu(es->s_flags) & EXT2_FLAGS_TEST_FILESYS)
+ return 1;
ext_get_info(pr, 4, es);
return 0;
--
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 pam for openSUSE:Factory checked in at 2014-04-22 07:49:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pam (Old)
and /work/SRC/openSUSE:Factory/.pam.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pam"
Changes:
--------
--- /work/SRC/openSUSE:Factory/pam/pam.changes 2014-04-09 13:15:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.pam.new/pam.changes 2014-04-22 07:49:16.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Apr 9 16:02:17 UTC 2014 - ckornacker(a)suse.com
+
+- Fix CVE-2014-2583: pam_timestamp path injection (bnc#870433)
+ bug-870433_pam_timestamp-fix-directory-traversal.patch
+
+-------------------------------------------------------------------
New:
----
bug-870433_pam_timestamp-fix-directory-traversal.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pam.spec ++++++
--- /var/tmp/diff_new_pack.hhrxbV/_old 2014-04-22 07:49:16.000000000 +0200
+++ /var/tmp/diff_new_pack.hhrxbV/_new 2014-04-22 07:49:16.000000000 +0200
@@ -55,6 +55,7 @@
Patch1: Linux-PAM-git-20140127.diff
Patch2: pam_loginuid-log_write_errors.diff
Patch3: pam_xauth-sigpipe.diff
+Patch4: bug-870433_pam_timestamp-fix-directory-traversal.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -102,6 +103,7 @@
%patch1 -p2
%patch2 -p1
%patch3 -p1
+%patch4 -p1
%build
export CFLAGS="%optflags -DNDEBUG"
++++++ bug-870433_pam_timestamp-fix-directory-traversal.patch ++++++
>From 9dcead87e6d7f66d34e7a56d11a30daca367dffb Mon Sep 17 00:00:00 2001
From: "Dmitry V. Levin" <ldv(a)altlinux.org>
Date: Wed, 26 Mar 2014 22:17:23 +0000
Subject: [PATCH] pam_timestamp: fix potential directory traversal issue
(ticket #27)
pam_timestamp uses values of PAM_RUSER and PAM_TTY as components of
the timestamp pathname it creates, so extra care should be taken to
avoid potential directory traversal issues.
* modules/pam_timestamp/pam_timestamp.c (check_tty): Treat
"." and ".." tty values as invalid.
(get_ruser): Treat "." and ".." ruser values, as well as any ruser
value containing '/', as invalid.
Fixes CVE-2014-2583.
Reported-by: Sebastian Krahmer <krahmer(a)suse.de>
---
modules/pam_timestamp/pam_timestamp.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/modules/pam_timestamp/pam_timestamp.c b/modules/pam_timestamp/pam_timestamp.c
index 5193733..b3f08b1 100644
--- a/modules/pam_timestamp/pam_timestamp.c
+++ b/modules/pam_timestamp/pam_timestamp.c
@@ -158,7 +158,7 @@ check_tty(const char *tty)
tty = strrchr(tty, '/') + 1;
}
/* Make sure the tty wasn't actually a directory (no basename). */
- if (strlen(tty) == 0) {
+ if (!strlen(tty) || !strcmp(tty, ".") || !strcmp(tty, "..")) {
return NULL;
}
return tty;
@@ -243,6 +243,17 @@ get_ruser(pam_handle_t *pamh, char *ruserbuf, size_t ruserbuflen)
if (pwd != NULL) {
ruser = pwd->pw_name;
}
+ } else {
+ /*
+ * This ruser is used by format_timestamp_name as a component
+ * of constructed timestamp pathname, so ".", "..", and '/'
+ * are disallowed to avoid potential path traversal issues.
+ */
+ if (!strcmp(ruser, ".") ||
+ !strcmp(ruser, "..") ||
+ strchr(ruser, '/')) {
+ ruser = NULL;
+ }
}
if (ruser == NULL || strlen(ruser) >= ruserbuflen) {
*ruserbuf = '\0';
--
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 glibc for openSUSE:Factory checked in at 2014-04-22 07:47:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glibc (Old)
and /work/SRC/openSUSE:Factory/.glibc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glibc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/glibc/glibc-testsuite.changes 2014-04-08 17:05:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.glibc.new/glibc-testsuite.changes 2014-04-22 07:47:57.000000000 +0200
@@ -1,0 +2,18 @@
+Thu Apr 17 09:13:32 UTC 2014 - schwab(a)suse.de
+
+- ibm-long-double-frexpl.patch: Correct IBM long double frexpl
+ (bnc#872573, BZ #16740, BZ #16619)
+
+-------------------------------------------------------------------
+Tue Apr 15 14:23:54 UTC 2014 - schwab(a)suse.de
+
+- ibm-long-double-math.patch: Remove faulty assembler implementations of
+ ceil, nearbyintl, roundl for IBM long double (bnc#873457, BZ #16701, BZ
+ #16706, BZ #16707)
+
+-------------------------------------------------------------------
+Tue Apr 15 11:00:59 UTC 2014 - aj(a)suse.com
+
+- Use /run for nscd instead of /var/run.
+
+-------------------------------------------------------------------
glibc-utils.changes: same change
glibc.changes: same change
New:
----
ibm-long-double-frexpl.patch
ibm-long-double-math.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glibc-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.Q0Fckt/_old 2014-04-22 07:47:58.000000000 +0200
+++ /var/tmp/diff_new_pack.Q0Fckt/_new 2014-04-22 07:47:58.000000000 +0200
@@ -248,6 +248,12 @@
Patch1007: ppc64-copysign.patch
# PATCH-FIX-UPSTREAM Correct IBM long double nextafterl (BZ #16739)
Patch1008: nextafterl-ibm-ldouble.patch
+# PATCH-FIX-UPSTREAM Remove faulty assembler implementations for IBM long double (BZ #16701, BZ #16706, BZ #16707)
+Patch1009: ibm-long-double-math.patch
+# PATCH-FIX-UPSTREAM Correct IBM long double frexpl (BZ #16740, BZ #16619)
+Patch1010: ibm-long-double-frexpl.patch
+# PATCH-FIX-UPSTREAM Fix aarch64 setcontext clobbering alternate signal stack (BZ #16629)
+Patch1011: aarch64-setcontext.patch
###
# Patches awaiting upstream approval
@@ -262,8 +268,6 @@
Patch2003: abort-no-flush.patch
# PATCH-FIX-UPSTREAM Properly handle forced elision in pthread_mutex_trylock (BZ #16657)
Patch2004: pthread-mutex-trylock-elision.patch
-# PATCH-FIX-UPSTREAM Fix aarch64 setcontext clobbering alternate signal stack (BZ #16629)
-Patch2005: aarch64-setcontext.patch
# Non-glibc patches
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
@@ -473,13 +477,15 @@
%patch1006 -p1
%patch1007 -p1
%patch1008 -p1
+%patch1009 -p1
+%patch1010 -p1
+%patch1011 -p1
%patch2000 -p1
%patch2001 -p1
%patch2002 -p1
%patch2003 -p1
%patch2004 -p1
-%patch2005 -p1
%patch3000
@@ -887,9 +893,9 @@
cp nscd/nscd.conf %{buildroot}/etc
mkdir -p %{buildroot}/etc/init.d
ln -sf /sbin/service %{buildroot}/usr/sbin/rcnscd
-mkdir -p %{buildroot}/var/run/nscd
-touch %{buildroot}/var/run/nscd/{passwd,group,hosts,services,netgroup}
-touch %{buildroot}/var/run/nscd/{socket,nscd.pid}
+mkdir -p %{buildroot}/run/nscd
+touch %{buildroot}/run/nscd/{passwd,group,hosts,services,netgroup}
+touch %{buildroot}/run/nscd/{socket,nscd.pid}
#
# Create ld.so.conf
@@ -971,7 +977,7 @@
rm -f %{buildroot}/etc/*nscd* %{buildroot}%{_sbindir}/*nscd*
rm -rf %{buildroot}/usr/lib/systemd
rm -rf %{buildroot}/usr/lib/tmpfiles.d
-rm -rf %{buildroot}/var/run/nscd
+rm -rf %{buildroot}/run/nscd
%endif # i686
%endif # %{normal_build}
@@ -1021,7 +1027,7 @@
%pre -n nscd
getent group nscd >/dev/null || %{_sbindir}/groupadd -r nscd
-getent passwd nscd >/dev/null || %{_sbindir}/useradd -r -g nscd -c "User for nscd" -s /sbin/nologin -d /var/run/nscd nscd
+getent passwd nscd >/dev/null || %{_sbindir}/useradd -r -g nscd -c "User for nscd" -s /sbin/nologin -d /run/nscd nscd
%service_add_pre nscd.service
%preun -n nscd
@@ -1029,7 +1035,7 @@
%post -n nscd
%service_add_post nscd.service
-mkdir -p /var/run/nscd
+mkdir -p /run/nscd
# Previously we had nscd.socket, remove it
test -x /usr/bin/systemctl && /usr/bin/systemctl stop nscd.socket 2>/dev/null || :
test -x /usr/bin/systemctl && /usr/bin/systemctl disable nscd.socket 2>/dev/null || :
@@ -1274,14 +1280,14 @@
/usr/lib/systemd/system/nscd.service
%dir /usr/lib/tmpfiles.d
/usr/lib/tmpfiles.d/nscd.conf
-%dir %attr(0755,root,root) %ghost /var/run/nscd
-%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/nscd.pid
-%attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/socket
-%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/passwd
-%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/group
-%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/hosts
-%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/services
-%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/netgroup
+%dir %attr(0755,root,root) %ghost /run/nscd
+%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/nscd.pid
+%attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/socket
+%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/passwd
+%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/group
+%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/hosts
+%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/services
+%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/netgroup
%endif # !i686
%if %{build_profile}
glibc-utils.spec: same change
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.Q0Fckt/_old 2014-04-22 07:47:58.000000000 +0200
+++ /var/tmp/diff_new_pack.Q0Fckt/_new 2014-04-22 07:47:58.000000000 +0200
@@ -248,6 +248,12 @@
Patch1007: ppc64-copysign.patch
# PATCH-FIX-UPSTREAM Correct IBM long double nextafterl (BZ #16739)
Patch1008: nextafterl-ibm-ldouble.patch
+# PATCH-FIX-UPSTREAM Remove faulty assembler implementations for IBM long double (BZ #16701, BZ #16706, BZ #16707)
+Patch1009: ibm-long-double-math.patch
+# PATCH-FIX-UPSTREAM Correct IBM long double frexpl (BZ #16740, BZ #16619)
+Patch1010: ibm-long-double-frexpl.patch
+# PATCH-FIX-UPSTREAM Fix aarch64 setcontext clobbering alternate signal stack (BZ #16629)
+Patch1011: aarch64-setcontext.patch
###
# Patches awaiting upstream approval
@@ -262,8 +268,6 @@
Patch2003: abort-no-flush.patch
# PATCH-FIX-UPSTREAM Properly handle forced elision in pthread_mutex_trylock (BZ #16657)
Patch2004: pthread-mutex-trylock-elision.patch
-# PATCH-FIX-UPSTREAM Fix aarch64 setcontext clobbering alternate signal stack (BZ #16629)
-Patch2005: aarch64-setcontext.patch
# Non-glibc patches
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
@@ -473,13 +477,15 @@
%patch1006 -p1
%patch1007 -p1
%patch1008 -p1
+%patch1009 -p1
+%patch1010 -p1
+%patch1011 -p1
%patch2000 -p1
%patch2001 -p1
%patch2002 -p1
%patch2003 -p1
%patch2004 -p1
-%patch2005 -p1
%patch3000
@@ -887,9 +893,9 @@
cp nscd/nscd.conf %{buildroot}/etc
mkdir -p %{buildroot}/etc/init.d
ln -sf /sbin/service %{buildroot}/usr/sbin/rcnscd
-mkdir -p %{buildroot}/var/run/nscd
-touch %{buildroot}/var/run/nscd/{passwd,group,hosts,services,netgroup}
-touch %{buildroot}/var/run/nscd/{socket,nscd.pid}
+mkdir -p %{buildroot}/run/nscd
+touch %{buildroot}/run/nscd/{passwd,group,hosts,services,netgroup}
+touch %{buildroot}/run/nscd/{socket,nscd.pid}
#
# Create ld.so.conf
@@ -971,7 +977,7 @@
rm -f %{buildroot}/etc/*nscd* %{buildroot}%{_sbindir}/*nscd*
rm -rf %{buildroot}/usr/lib/systemd
rm -rf %{buildroot}/usr/lib/tmpfiles.d
-rm -rf %{buildroot}/var/run/nscd
+rm -rf %{buildroot}/run/nscd
%endif # i686
%endif # %{normal_build}
@@ -1021,7 +1027,7 @@
%pre -n nscd
getent group nscd >/dev/null || %{_sbindir}/groupadd -r nscd
-getent passwd nscd >/dev/null || %{_sbindir}/useradd -r -g nscd -c "User for nscd" -s /sbin/nologin -d /var/run/nscd nscd
+getent passwd nscd >/dev/null || %{_sbindir}/useradd -r -g nscd -c "User for nscd" -s /sbin/nologin -d /run/nscd nscd
%service_add_pre nscd.service
%preun -n nscd
@@ -1029,7 +1035,7 @@
%post -n nscd
%service_add_post nscd.service
-mkdir -p /var/run/nscd
+mkdir -p /run/nscd
# Previously we had nscd.socket, remove it
test -x /usr/bin/systemctl && /usr/bin/systemctl stop nscd.socket 2>/dev/null || :
test -x /usr/bin/systemctl && /usr/bin/systemctl disable nscd.socket 2>/dev/null || :
@@ -1274,14 +1280,14 @@
/usr/lib/systemd/system/nscd.service
%dir /usr/lib/tmpfiles.d
/usr/lib/tmpfiles.d/nscd.conf
-%dir %attr(0755,root,root) %ghost /var/run/nscd
-%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/nscd.pid
-%attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/socket
-%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/passwd
-%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/group
-%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/hosts
-%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/services
-%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/netgroup
+%dir %attr(0755,root,root) %ghost /run/nscd
+%attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/nscd.pid
+%attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/socket
+%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/passwd
+%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/group
+%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/hosts
+%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/services
+%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /run/nscd/netgroup
%endif # !i686
%if %{build_profile}
++++++ ibm-long-double-frexpl.patch ++++++
2014-04-16 Alan Modra <amodra(a)gmail.com>
[BZ #16740]
[BZ #16619]
* sysdeps/ieee754/ldbl-128ibm/s_frexpl.c (__frexpl): Rewrite.
* math/libm-test.inc (frexp_test_data): Add tests.
Index: glibc-2.19/math/libm-test.inc
===================================================================
--- glibc-2.19.orig/math/libm-test.inc
+++ glibc-2.19/math/libm-test.inc
@@ -8723,6 +8723,15 @@ static const struct test_f_f1_data frexp
TEST_fI_f1 (frexp, 12.8L, 0.8L, 4, NO_INEXACT_EXCEPTION),
TEST_fI_f1 (frexp, -27.34L, -0.854375L, 5, NO_INEXACT_EXCEPTION),
+
+#if defined TEST_LDOUBLE && LDBL_MANT_DIG >= 106
+ TEST_fI_f1 (frexp, 1.0L-0x1p-106L, 1.0L-0x1p-106L, 0, NO_INEXACT_EXCEPTION),
+ TEST_fI_f1 (frexp, 1.0L, 0.5L, 1, NO_INEXACT_EXCEPTION),
+ TEST_fI_f1 (frexp, 1.0L+0x1p-105L, 0.5L+0x1p-106L, 1, NO_INEXACT_EXCEPTION),
+ TEST_fI_f1 (frexp, -1.0L+0x1p-106L, -1.0L+0x1p-106L, 0, NO_INEXACT_EXCEPTION),
+ TEST_fI_f1 (frexp, -1.0L, -0.5L, 1, NO_INEXACT_EXCEPTION),
+ TEST_fI_f1 (frexp, -1.0L-0x1p-105L, -0.5L-0x1p-106L, 1, NO_INEXACT_EXCEPTION),
+#endif
};
static void
Index: glibc-2.19/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c
===================================================================
--- glibc-2.19.orig/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c
+++ glibc-2.19/sysdeps/ieee754/ldbl-128ibm/s_frexpl.c
@@ -31,57 +31,115 @@ static char rcsid[] = "$NetBSD: $";
#include <math_private.h>
#include <math_ldbl_opt.h>
-static const long double
-two107 = 162259276829213363391578010288128.0; /* 0x4670000000000000, 0 */
-
long double __frexpl(long double x, int *eptr)
{
- uint64_t hx, lx, ix, ixl;
- int64_t explo;
- double xhi, xlo;
-
- ldbl_unpack (x, &xhi, &xlo);
- EXTRACT_WORDS64 (hx, xhi);
- EXTRACT_WORDS64 (lx, xlo);
- ixl = 0x7fffffffffffffffULL&lx;
- ix = 0x7fffffffffffffffULL&hx;
- *eptr = 0;
- if(ix>=0x7ff0000000000000ULL||ix==0) return x; /* 0,inf,nan */
- if (ix<0x0010000000000000ULL) { /* subnormal */
- x *= two107;
- xhi = ldbl_high (x);
- EXTRACT_WORDS64 (hx, xhi);
- ix = hx&0x7fffffffffffffffULL;
- *eptr = -107;
+ uint64_t hx, lx, ix, ixl;
+ int64_t explo, expon;
+ double xhi, xlo;
+
+ ldbl_unpack (x, &xhi, &xlo);
+ EXTRACT_WORDS64 (hx, xhi);
+ EXTRACT_WORDS64 (lx, xlo);
+ ixl = 0x7fffffffffffffffULL & lx;
+ ix = 0x7fffffffffffffffULL & hx;
+ expon = 0;
+ if (ix >= 0x7ff0000000000000ULL || ix == 0)
+ {
+ /* 0,inf,nan. */
+ *eptr = expon;
+ return x;
+ }
+ expon = ix >> 52;
+ if (expon == 0)
+ {
+ /* Denormal high double, the low double must be 0.0. */
+ int cnt;
+
+ /* Normalize. */
+ if (sizeof (ix) == sizeof (long))
+ cnt = __builtin_clzl (ix);
+ else if ((ix >> 32) != 0)
+ cnt = __builtin_clzl ((long) (ix >> 32));
+ else
+ cnt = __builtin_clzl ((long) ix) + 32;
+ cnt = cnt - 12;
+ expon -= cnt;
+ ix <<= cnt + 1;
+ }
+ expon -= 1022;
+ ix &= 0x000fffffffffffffULL;
+ hx &= 0x8000000000000000ULL;
+ hx |= (1022LL << 52) | ix;
+
+ if (ixl != 0)
+ {
+ /* If the high double is an exact power of two and the low
+ double has the opposite sign, then the exponent calculated
+ from the high double is one too big. */
+ if (ix == 0
+ && (int64_t) (hx ^ lx) < 0)
+ {
+ hx += 1L << 52;
+ expon -= 1;
+ }
+
+ explo = ixl >> 52;
+ if (explo == 0)
+ {
+ /* The low double started out as a denormal. Normalize its
+ mantissa and adjust the exponent. */
+ int cnt;
+
+ if (sizeof (ixl) == sizeof (long))
+ cnt = __builtin_clzl (ixl);
+ else if ((ixl >> 32) != 0)
+ cnt = __builtin_clzl ((long) (ixl >> 32));
+ else
+ cnt = __builtin_clzl ((long) ixl) + 32;
+ cnt = cnt - 12;
+ explo -= cnt;
+ ixl <<= cnt + 1;
+ }
+
+ /* With variable precision we can't assume much about the
+ magnitude of the returned low double. It may even be a
+ denormal. */
+ explo -= expon;
+ ixl &= 0x000fffffffffffffULL;
+ lx &= 0x8000000000000000ULL;
+ if (explo <= 0)
+ {
+ /* Handle denormal low double. */
+ if (explo > -52)
+ {
+ ixl |= 1LL << 52;
+ ixl >>= 1 - explo;
+ }
+ else
+ {
+ ixl = 0;
+ lx = 0;
+ if ((hx & 0x7ff0000000000000ULL) == (1023LL << 52))
+ {
+ /* Oops, the adjustment we made above for values a
+ little smaller than powers of two turned out to
+ be wrong since the returned low double will be
+ zero. This can happen if the input was
+ something weird like 0x1p1000 - 0x1p-1000. */
+ hx -= 1L << 52;
+ expon += 1;
+ }
+ }
+ explo = 0;
}
- *eptr += (ix>>52)-1022;
+ lx |= (explo << 52) | ixl;
+ }
- if (ixl != 0ULL) {
- explo = (ixl>>52) - (ix>>52) + 0x3fe;
- if ((ixl&0x7ff0000000000000ULL) == 0LL) {
- /* the lower double is a denormal so we need to correct its
- mantissa and perhaps its exponent. */
- int cnt;
-
- if (sizeof (ixl) == sizeof (long))
- cnt = __builtin_clzl (ixl);
- else if ((ixl >> 32) != 0)
- cnt = __builtin_clzl ((long) (ixl >> 32));
- else
- cnt = __builtin_clzl ((long) ixl) + 32;
- cnt = cnt - 12;
- lx = (lx&0x8000000000000000ULL) | ((explo-cnt)<<52)
- | ((ixl<<(cnt+1))&0x000fffffffffffffULL);
- } else
- lx = (lx&0x800fffffffffffffULL) | (explo<<52);
- } else
- lx = 0ULL;
-
- hx = (hx&0x800fffffffffffffULL) | 0x3fe0000000000000ULL;
- INSERT_WORDS64 (xhi, hx);
- INSERT_WORDS64 (xlo, lx);
- x = ldbl_pack (xhi, xlo);
- return x;
+ INSERT_WORDS64 (xhi, hx);
+ INSERT_WORDS64 (xlo, lx);
+ x = ldbl_pack (xhi, xlo);
+ *eptr = expon;
+ return x;
}
#ifdef IS_IN_libm
long_double_symbol (libm, __frexpl, frexpl);
++++++ ibm-long-double-math.patch ++++++
2014-03-14 Adhemerval Zanella <azanella(a)linux.vnet.ibm.com>
[BZ #16707]
* sysdeps/powerpc/powerpc64/fpu/s_roundl.S: Remove wrong
implementation.
* math/libm-test.inc (round_test_data): Add more tests.
[BZ #16706]
* sysdeps/powerpc/powerpc64/fpu/s_nearbyintl.S: Remove wrong
implementation.
* math/libm-test.inc (nearbyint_test_data): Add more tests.
[BZ #16701]
* sysdeps/powerpc/powerpc64/fpu/s_ceill.S: Remove wrong
implementation.
* math/libm-test.inc (ceil_test_data): Add more tests.
Index: glibc-2.19/math/libm-test.inc
===================================================================
--- glibc-2.19.orig/math/libm-test.inc
+++ glibc-2.19/math/libm-test.inc
@@ -6000,6 +6000,15 @@ static const struct test_f_f_data ceil_t
TEST_f_f (ceil, -72057594037927936.75L, -72057594037927936.0L),
TEST_f_f (ceil, -72057594037927937.5L, -72057594037927937.0L),
+ /* Check cases where first double is a exact integer higher than 2^52 and
+ the precision is determined by second long double for IBM long double. */
+ TEST_f_f (ceil, 34503599627370498.515625L, 34503599627370499.0L),
+ TEST_f_f (ceil, -34503599627370498.515625L, -34503599627370498.0L),
+# if LDBL_MANT_DIG >= 106
+ TEST_f_f (ceil, 1192568192774434123539907640624.484375L, 1192568192774434123539907640625.0L),
+ TEST_f_f (ceil, -1192568192774434123539907640624.484375L, -1192568192774434123539907640624.0L),
+# endif
+
TEST_f_f (ceil, 10141204801825835211973625643007.5L, 10141204801825835211973625643008.0L),
TEST_f_f (ceil, 10141204801825835211973625643008.25L, 10141204801825835211973625643009.0L),
TEST_f_f (ceil, 10141204801825835211973625643008.5L, 10141204801825835211973625643009.0L),
@@ -10495,6 +10504,16 @@ static const struct test_f_f_data nearby
TEST_f_f (nearbyint, -562949953421312.75, -562949953421313.0, NO_INEXACT_EXCEPTION),
TEST_f_f (nearbyint, -1125899906842624.75, -1125899906842625.0, NO_INEXACT_EXCEPTION),
#endif
+#ifdef TEST_LDOUBLE
+ /* Check cases where first double is a exact integer higher than 2^52 and
+ the precision is determined by second long double for IBM long double. */
+ TEST_f_f (nearbyint, 34503599627370498.515625L, 34503599627370499.0L),
+ TEST_f_f (nearbyint, -34503599627370498.515625L, -34503599627370499.0L),
+# if LDBL_MANT_DIG >= 106
+ TEST_f_f (nearbyint, 1192568192774434123539907640624.484375L, 1192568192774434123539907640624.0L),
+ TEST_f_f (nearbyint, -1192568192774434123539907640624.484375L, -1192568192774434123539907640624.0L),
+# endif
+#endif
};
static void
@@ -11792,6 +11811,15 @@ static const struct test_f_f_data round_
TEST_f_f (round, -72057594037927936.75L, -72057594037927937.0L),
TEST_f_f (round, -72057594037927937.5L, -72057594037927938.0L),
+ /* Check cases where first double is a exact integer higher than 2^52 and
+ the precision is determined by second long double for IBM long double. */
+ TEST_f_f (round, 34503599627370498.515625L, 34503599627370499.0L),
+ TEST_f_f (round, -34503599627370498.515625L, -34503599627370499.0L),
+# if LDBL_MANT_DIG >= 106
+ TEST_f_f (round, 1192568192774434123539907640624.484375L, 1192568192774434123539907640624.0L),
+ TEST_f_f (round, -1192568192774434123539907640624.484375L, -1192568192774434123539907640624.0L),
+# endif
+
TEST_f_f (round, 10141204801825835211973625643007.5L, 10141204801825835211973625643008.0L),
TEST_f_f (round, 10141204801825835211973625643008.25L, 10141204801825835211973625643008.0L),
TEST_f_f (round, 10141204801825835211973625643008.5L, 10141204801825835211973625643009.0L),
Index: glibc-2.19/sysdeps/powerpc/powerpc64/fpu/s_ceill.S
===================================================================
--- glibc-2.19.orig/sysdeps/powerpc/powerpc64/fpu/s_ceill.S
+++ /dev/null
@@ -1,132 +0,0 @@
-/* s_ceill.S IBM extended format long double version.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <math_ldbl_opt.h>
-
- .section ".toc","aw"
-.LC0: /* 2**52 */
- .tc FD_43300000_0[TC],0x4330000000000000
-
- .section ".text"
-
-/* long double [fp1,fp2] ceill (long double x [fp1,fp2])
- IEEE 1003.1 ceil function.
-
- PowerPC64 long double uses the IBM extended format which is
- represented two 64-floating point double values. The values are
- non-overlapping giving an effective precision of 106 bits. The first
- double contains the high order bits of mantissa and is always ceiled
- to represent a normal ceiling of long double to double. Since the
- long double value is sum of the high and low values, the low double
- normally has the opposite sign to compensate for the this ceiling.
-
- For long double there are two cases:
- 1) |x| < 2**52, all the integer bits are in the high double.
- ceil the high double and set the low double to -0.0.
- 2) |x| >= 2**52, ceiling involves both doubles.
- See the comment before label .L2 for details.
- */
-
-ENTRY (__ceill)
- mffs fp11 /* Save current FPU rounding mode. */
- lfd fp13,.LC0@toc(2)
- fabs fp0,fp1
- fabs fp9,fp2
- fsub fp12,fp13,fp13 /* generate 0.0 */
- fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO52) */
- fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
- bnl- cr7,.L2
- mtfsfi 7,2 /* Set rounding mode toward +inf. */
- fneg fp2,fp12
- ble- cr6,.L1
- fadd fp1,fp1,fp13 /* x+= TWO52; */
- fsub fp1,fp1,fp13 /* x-= TWO52; */
- fabs fp1,fp1 /* if (x == 0.0) */
-.L0:
- mtfsf 0x01,fp11 /* restore previous rounding mode. */
- blr /* x = 0.0; */
-.L1:
- bge- cr6,.L0 /* if (x < 0.0) */
- fsub fp1,fp1,fp13 /* x-= TWO52; */
- fadd fp1,fp1,fp13 /* x+= TWO52; */
- fcmpu cr5,fp1,fp12 /* if (x > 0.0) */
- mtfsf 0x01,fp11 /* restore previous rounding mode. */
- fnabs fp1,fp1 /* if (x == 0.0) */
- blr /* x = -0.0; */
-
-/* The high double is > TWO52 so we need to round the low double and
- perhaps the high double. In this case we have to round the low
- double and handle any adjustment to the high double that may be
- caused by rounding (up). This is complicated by the fact that the
- high double may already be rounded and the low double may have the
- opposite sign to compensate.This gets a bit tricky so we use the
- following algorithm:
-
- tau = floor(x_high/TWO52);
- x0 = x_high - tau;
- x1 = x_low + tau;
- r1 = rint(x1);
- y_high = x0 + r1;
- y_low = x0 - y_high + r1;
- return y; */
-.L2:
- fcmpu cr7,fp9,fp13 /* if (|x_low| > TWO52) */
- fcmpu cr0,fp9,fp12 /* || (|x_low| == 0.0) */
- fcmpu cr5,fp2,fp12 /* if (x_low > 0.0) */
- bgelr- cr7 /* return x; */
- beqlr- cr0
- mtfsfi 7,2 /* Set rounding mode toward +inf. */
- fdiv fp8,fp1,fp13 /* x_high/TWO52 */
-
- bng- cr6,.L6 /* if (x > 0.0) */
- fctidz fp0,fp8
- fcfid fp8,fp0 /* tau = floor(x_high/TWO52); */
- bng cr5,.L4 /* if (x_low > 0.0) */
- fmr fp3,fp1
- fmr fp4,fp2
- b .L5
-.L4: /* if (x_low < 0.0) */
- fsub fp3,fp1,fp8 /* x0 = x_high - tau; */
- fadd fp4,fp2,fp8 /* x1 = x_low + tau; */
-.L5:
- fadd fp5,fp4,fp13 /* r1 = r1 + TWO52; */
- fsub fp5,fp5,fp13 /* r1 = r1 - TWO52; */
- b .L9
-.L6: /* if (x < 0.0) */
- fctidz fp0,fp8
- fcfid fp8,fp0 /* tau = floor(x_high/TWO52); */
- bnl cr5,.L7 /* if (x_low < 0.0) */
- fmr fp3,fp1
- fmr fp4,fp2
- b .L8
-.L7: /* if (x_low > 0.0) */
- fsub fp3,fp1,fp8 /* x0 = x_high - tau; */
- fadd fp4,fp2,fp8 /* x1 = x_low + tau; */
-.L8:
- fsub fp5,fp4,fp13 /* r1-= TWO52; */
- fadd fp5,fp5,fp13 /* r1+= TWO52; */
-.L9:
- mtfsf 0x01,fp11 /* restore previous rounding mode. */
- fadd fp1,fp3,fp5 /* y_high = x0 + r1; */
- fsub fp2,fp3,fp1 /* y_low = x0 - y_high + r1; */
- fadd fp2,fp2,fp5
- blr
-END (__ceill)
-
-long_double_symbol (libm, __ceill, ceill)
Index: glibc-2.19/sysdeps/powerpc/powerpc64/fpu/s_nearbyintl.S
===================================================================
--- glibc-2.19.orig/sysdeps/powerpc/powerpc64/fpu/s_nearbyintl.S
+++ /dev/null
@@ -1,113 +0,0 @@
-/* nearbyint long double.
- IBM extended format long double version.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <math_ldbl_opt.h>
-
- .section ".toc","aw"
-.LC0: /* 2**52 */
- .tc FD_43300000_0[TC],0x4330000000000000
- .section ".text"
-
-/* long double [fp1,fp2] nearbyintl (long double x [fp1,fp2])
- IEEE 1003.1 nearbyintl function. nearbyintl is similar to the rintl
- but does raise the "inexact" exception. This implementation is
- based on rintl but explicitly masks the inexact exception on entry
- and clears any pending inexact before restoring the exception mask
- on exit.
-
- PowerPC64 long double uses the IBM extended format which is
- represented two 64-floating point double values. The values are
- non-overlapping giving an effective precision of 106 bits. The first
- double contains the high order bits of mantissa and is always rounded
- to represent a normal rounding of long double to double. Since the
- long double value is sum of the high and low values, the low double
- normally has the opposite sign to compensate for the this rounding.
-
- For long double there are two cases:
- 1) |x| < 2**52, all the integer bits are in the high double.
- floor the high double and set the low double to -0.0.
- 2) |x| >= 2**52, Rounding involves both doubles.
- See the comment before label .L2 for details.
- */
-ENTRY (__nearbyintl)
- mffs fp11 /* Save current FPSCR. */
- lfd fp13,.LC0@toc(2)
- fabs fp0,fp1
- mtfsb0 28 /* Disable "inexact" exceptions. */
- fsub fp12,fp13,fp13 /* generate 0.0 */
- fabs fp9,fp2
- fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO52) */
- fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
- bnl- cr7,.L2
- fmr fp2,fp12
- bng- cr6,.L4
- fadd fp1,fp1,fp13 /* x+= TWO52; */
- fsub fp1,fp1,fp13 /* x-= TWO52; */
- b .L9
-.L4:
- bnl- cr6,.L9 /* if (x < 0.0) */
- fsub fp1,fp13,fp1 /* x = TWO52 - x; */
- fsub fp0,fp1,fp13 /* x = - (x - TWO52); */
- fneg fp1,fp0
-.L9:
- mtfsb0 6 /* Clear any pending "inexact" exceptions. */
- mtfsf 0x01,fp11 /* restore exception mask. */
- blr
-
-/* The high double is > TWO52 so we need to round the low double and
- perhaps the high double. This gets a bit tricky so we use the
- following algorithm:
-
- tau = floor(x_high/TWO52);
- x0 = x_high - tau;
- x1 = x_low + tau;
- r1 = nearbyint(x1);
- y_high = x0 + r1;
- y_low = r1 - tau;
- return y; */
-.L2:
- fcmpu cr7,fp9,fp13 /* if (|x_low| > TWO52) */
- fcmpu cr0,fp9,fp12 /* || (|x_low| == 0.0) */
- bge- cr7,.L9 /* return x; */
- beq- cr0,.L9
- fdiv fp8,fp1,fp13 /* x_high/TWO52 */
- fctidz fp0,fp8
- fcfid fp8,fp0 /* tau = floor(x_high/TWO52); */
- fsub fp3,fp1,fp8 /* x0 = x_high - tau; */
- fadd fp4,fp2,fp8 /* x1 = x_low + tau; */
-
- fcmpu cr6,fp4,fp12 /* if (x1 > 0.0) */
- bng- cr6,.L8
- fadd fp5,fp4,fp13 /* r1 = x1 + TWO52; */
- fsub fp5,fp5,fp13 /* r1 = r1 - TWO52; */
- b .L6
-.L8:
- fmr fp5,fp4
- bge- cr6,.L6 /* if (x1 < 0.0) */
- fsub fp5,fp13,fp4 /* r1 = TWO52 - x1; */
- fsub fp0,fp5,fp13 /* r1 = - (r1 - TWO52); */
- fneg fp5,fp0
-.L6:
- fadd fp1,fp3,fp5 /* y_high = x0 + r1; */
- fsub fp2,fp5,fp8 /* y_low = r1 - tau; */
- b .L9
-END (__nearbyintl)
-
-long_double_symbol (libm, __nearbyintl, nearbyintl)
Index: glibc-2.19/sysdeps/powerpc/powerpc64/fpu/s_roundl.S
===================================================================
--- glibc-2.19.orig/sysdeps/powerpc/powerpc64/fpu/s_roundl.S
+++ /dev/null
@@ -1,132 +0,0 @@
-/* long double round function.
- IBM extended format long double version.
- Copyright (C) 2004-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-#include <math_ldbl_opt.h>
-
- .section ".toc","aw"
-.LC0: /* 2**52 */
- .tc FD_43300000_0[TC],0x4330000000000000
-.LC1: /* 0.5 */
- .tc FD_3fe00000_0[TC],0x3fe0000000000000
- .section ".text"
-
-/* long double [fp1,fp2] roundl (long double x [fp1,fp2])
- IEEE 1003.1 round function. IEEE specifies "round to the nearest
- integer value, rounding halfway cases away from zero, regardless of
- the current rounding mode." However PowerPC Architecture defines
- "Round to Nearest" as "Choose the best approximation. In case of a
- tie, choose the one that is even (least significant bit o).".
- So we can't use the PowerPC "Round to Nearest" mode. Instead we set
- "Round toward Zero" mode and round by adding +-0.5 before rounding
- to the integer value. */
-
-ENTRY (__roundl)
- mffs fp11 /* Save current FPU rounding mode. */
- lfd fp13,.LC0@toc(2)
- fabs fp0,fp1
- fabs fp9,fp2
- fsub fp12,fp13,fp13 /* generate 0.0 */
- fcmpu cr7,fp0,fp13 /* if (fabs(x) > TWO52) */
- fcmpu cr6,fp1,fp12 /* if (x > 0.0) */
- bnl- cr7,.L2
- mtfsfi 7,1 /* Set rounding mode toward 0. */
- lfd fp10,.LC1@toc(2)
- ble- cr6,.L1
- fneg fp2,fp12
- fadd fp1,fp1,fp10 /* x+= 0.5; */
- fadd fp1,fp1,fp13 /* x+= TWO52; */
- fsub fp1,fp1,fp13 /* x-= TWO52; */
- fabs fp1,fp1 /* if (x == 0.0) x = 0.0; */
-.L0:
- mtfsf 0x01,fp11 /* restore previous rounding mode. */
- blr
-.L1:
- fsub fp9,fp1,fp10 /* x-= 0.5; */
- fneg fp2,fp12
- bge- cr6,.L0 /* if (x < 0.0) */
- fsub fp1,fp9,fp13 /* x-= TWO52; */
- fadd fp1,fp1,fp13 /* x+= TWO52; */
- fnabs fp1,fp1 /* if (x == 0.0) x = -0.0; */
- mtfsf 0x01,fp11 /* restore previous rounding mode. */
- blr
-
-/* The high double is > TWO52 so we need to round the low double and
- perhaps the high double. In this case we have to round the low
- double and handle any adjustment to the high double that may be
- caused by rounding (up). This is complicated by the fact that the
- high double may already be rounded and the low double may have the
- opposite sign to compensate.This gets a bit tricky so we use the
- following algorithm:
-
- tau = floor(x_high/TWO52);
- x0 = x_high - tau;
- x1 = x_low + tau;
- r1 = rint(x1);
- y_high = x0 + r1;
- y_low = x0 - y_high + r1;
- return y; */
-.L2:
- fcmpu cr7,fp9,fp13 /* if (|x_low| > TWO52) */
- fcmpu cr0,fp9,fp12 /* || (|x_low| == 0.0) */
- fcmpu cr5,fp2,fp12 /* if (x_low > 0.0) */
- lfd fp10,.LC1@toc(2)
- bgelr- cr7 /* return x; */
- beqlr- cr0
- mtfsfi 7,1 /* Set rounding mode toward 0. */
- fdiv fp8,fp1,fp13 /* x_high/TWO52 */
-
- bng- cr6,.L6 /* if (x > 0.0) */
- fctidz fp0,fp8
- fcfid fp8,fp0 /* tau = floor(x_high/TWO52); */
- bng cr5,.L4 /* if (x_low > 0.0) */
- fmr fp3,fp1
- fmr fp4,fp2
- b .L5
-.L4: /* if (x_low < 0.0) */
- fsub fp3,fp1,fp8 /* x0 = x_high - tau; */
- fadd fp4,fp2,fp8 /* x1 = x_low + tau; */
-.L5:
- fadd fp5,fp4,fp10 /* r1 = x1 + 0.5; */
- fadd fp5,fp5,fp13 /* r1 = r1 + TWO52; */
- fsub fp5,fp5,fp13 /* r1 = r1 - TWO52; */
- b .L9
-.L6: /* if (x < 0.0) */
- fctidz fp0,fp8
- fcfid fp8,fp0 /* tau = floor(x_high/TWO52); */
- bnl cr5,.L7 /* if (x_low < 0.0) */
- fmr fp3,fp1
- fmr fp4,fp2
- b .L8
-.L7: /* if (x_low > 0.0) */
- fsub fp3,fp1,fp8 /* x0 = x_high - tau; */
- fadd fp4,fp2,fp8 /* x1 = x_low + tau; */
-.L8:
- fsub fp5,fp4,fp10 /* r1 = x1 - 0.5; */
- fsub fp5,fp5,fp13 /* r1-= TWO52; */
- fadd fp5,fp5,fp13 /* r1+= TWO52; */
-.L9:
- mtfsf 0x01,fp11 /* restore previous rounding mode. */
- fadd fp1,fp3,fp5 /* y_high = x0 + r1; */
- fsub fp2,fp3,fp1 /* y_low = x0 - y_high + r1; */
- fadd fp2,fp2,fp5
- blr
-END (__roundl)
-
-long_double_symbol (libm, __roundl, roundl)
++++++ nscd.conf ++++++
--- /var/tmp/diff_new_pack.Q0Fckt/_old 2014-04-22 07:47:59.000000000 +0200
+++ /var/tmp/diff_new_pack.Q0Fckt/_new 2014-04-22 07:47:59.000000000 +0200
@@ -1 +1 @@
-d /var/run/nscd 0755 root root
+d /run/nscd 0755 root root
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package elfutils for openSUSE:Factory checked in at 2014-04-22 07:42:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/elfutils (Old)
and /work/SRC/openSUSE:Factory/.elfutils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "elfutils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/elfutils/elfutils.changes 2014-03-25 13:20:41.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.elfutils.new/elfutils.changes 2014-04-22 07:42:54.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 15 18:56:25 UTC 2014 - tonyj(a)suse.com
+
+- Fix integer overflow in check_section (CVE-2014-0172, bnc#872785)
+ Add patch: elfutils-check-for-overflow-before-calling-malloc-to-uncompress-data.patch
+
+-------------------------------------------------------------------
New:
----
elfutils-check-for-overflow-before-calling-malloc-to-uncompress-data.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ elfutils.spec ++++++
--- /var/tmp/diff_new_pack.buGaEd/_old 2014-04-22 07:42:55.000000000 +0200
+++ /var/tmp/diff_new_pack.buGaEd/_new 2014-04-22 07:42:55.000000000 +0200
@@ -34,6 +34,7 @@
Patch6: elfutils-0.137-dwarf-header-check-fix.diff
Patch7: elfutils-0.148-dont-crash.diff
Patch8: elfutils-revert-portability-scanf.patch
+Patch9: elfutils-check-for-overflow-before-calling-malloc-to-uncompress-data.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: bison
BuildRequires: flex
@@ -144,6 +145,7 @@
%patch6 -p1
%patch7 -p1
%patch8 -p1 -R
+%patch9 -p1
%build
# Change DATE/TIME macros to use last change time of elfutils.changes
@@ -213,7 +215,6 @@
%defattr(-,root,root)
%{_libdir}/libelf.so
%{_libdir}/libelf.a
-#%{_libdir}/libelf_pic.a
%{_includedir}/libelf.h
%{_includedir}/gelf.h
%{_includedir}/nlist.h
++++++ elfutils-check-for-overflow-before-calling-malloc-to-uncompress-data.patch ++++++
From: Mark Wielaard <mjw(a)redhat.com>
Subject: Check for overflow before calling malloc to uncompress data.
Date: Wed Apr 9 11:33:23 2014 +0200
Git-commit: 7f1eec317db79627b473c5b149a22a1b20d1f68f
References: CVE-2014-0172, bnc#872785
Signed-off-by: Tony Jones <tonyj(a)suse.de>
CVE-2014-0172 Check for overflow before calling malloc to uncompress data.
https://bugzilla.redhat.com/show_bug.cgi?id=1085663
Reported-by: Florian Weimer <fweimer(a)redhat.com>
Signed-off-by: Mark Wielaard <mjw(a)redhat.com>
diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
index 79daeac..34ea373 100644
--- a/libdw/dwarf_begin_elf.c
+++ b/libdw/dwarf_begin_elf.c
@@ -1,5 +1,5 @@
/* Create descriptor from ELF descriptor for processing file.
- Copyright (C) 2002-2011 Red Hat, Inc.
+ Copyright (C) 2002-2011, 2014 Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <drepper(a)redhat.com>, 2002.
@@ -282,6 +282,12 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
memcpy (&size, data->d_buf + 4, sizeof size);
size = be64toh (size);
+ /* Check for unsigned overflow so malloc always allocated
+ enough memory for both the Elf_Data header and the
+ uncompressed section data. */
+ if (unlikely (sizeof (Elf_Data) + size < size))
+ break;
+
Elf_Data *zdata = malloc (sizeof (Elf_Data) + size);
if (unlikely (zdata == NULL))
break;
--
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 audit for openSUSE:Factory checked in at 2014-04-22 07:42:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/audit (Old)
and /work/SRC/openSUSE:Factory/.audit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "audit"
Changes:
--------
--- /work/SRC/openSUSE:Factory/audit/audit-secondary.changes 2014-03-30 12:09:12.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.audit.new/audit-secondary.changes 2014-04-22 07:42:24.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 15 00:52:16 UTC 2014 - tonyj(a)suse.com
+
+- Update to version 2.3.6. See audit.spec (libaudit1) for upstream
+ changelog
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/audit/audit.changes 2014-02-09 13:17:30.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.audit.new/audit.changes 2014-04-22 07:42:24.000000000 +0200
@@ -1,0 +2,35 @@
+Tue Apr 15 00:50:50 UTC 2014 - tonyj(a)suse.com
+
+- Update to version 2.3.6
+
+ Changelog 2.3.6
+ - Add an option to auditctl to interpret a0 - a3 of syscall rules when listing
+ - Improve ARM and AARCH64 support (AKASHI Takahiro)
+ - Add ausearch --checkpoint feature (Burn Alting)
+ - Add --arch option to ausearch
+ - Improve too long config line in audispd, auditd, and auparse (#1071580)
+ - Fix aulast to accept the new AUDIT_LOGIN record format
+ - Remove clear_config symbol in auparse
+
+ Changelog 2.3.5
+ - In CRYPTO_KEY_USER events, do not interpret the 'fp' field
+ - Change formatting of rules listing in auditctl to look like audit.rules
+ - Change auditctl to do all netlink comm and then print rules
+ - Add a debug option to ausearch to find skipped events
+ - Parse subject, auid, and ses in LOGIN events (3.14 kernel changed format)
+ - In auditd, when shifting logs, ignore the num_logs setting (#950158)
+ - Allow passing a directory as the input file for ausearch/report (LC Bruzenak)
+ - Interpret syscall fields in SECCOMP events
+ - Increase a couple buffers to handle longer input
+
+ Changelog 2.3.4
+ - Parse path in CONFIG_CHANGE events
+ - In audisp-remote, fix retry logic for temporary network failures
+ - In auparse, add get_type_name function
+ - Add --no-config command option to aureport
+ - Fix interpretting MCS seliunx contexts in ausearch (#970675)
+ - In auparse, classify selinux contexts as MAC_LABEL field type
+ - In ausearch/report parse vm-ctx and img-ctx as selinux labels
+ - Update translation tables for the 3.14 kernel
+
+-------------------------------------------------------------------
Old:
----
audit-2.3.3.tar.gz
New:
----
audit-2.3.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ audit-secondary.spec ++++++
--- /var/tmp/diff_new_pack.ukGe2Z/_old 2014-04-22 07:42:25.000000000 +0200
+++ /var/tmp/diff_new_pack.ukGe2Z/_new 2014-04-22 07:42:25.000000000 +0200
@@ -30,7 +30,7 @@
Summary: Secondary packages for audit
License: GPL-2.0+
Group: System/Monitoring
-Version: 2.3.3
+Version: 2.3.6
Release: 0
Url: http://people.redhat.com/sgrubb/audit/
Source0: http://people.redhat.com/sgrubb/audit/%{_name}-%{version}.tar.gz
++++++ audit.spec ++++++
--- /var/tmp/diff_new_pack.ukGe2Z/_old 2014-04-22 07:42:25.000000000 +0200
+++ /var/tmp/diff_new_pack.ukGe2Z/_new 2014-04-22 07:42:25.000000000 +0200
@@ -20,7 +20,7 @@
Summary: First part of auditing package
License: GPL-2.0+
Group: System/Monitoring
-Version: 2.3.3
+Version: 2.3.6
Release: 0
Url: http://people.redhat.com/sgrubb/audit/
Source0: http://people.redhat.com/sgrubb/audit/%{name}-%{version}.tar.gz
++++++ audit-2.3.3.tar.gz -> audit-2.3.6.tar.gz ++++++
++++ 5275 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package patterns-openSUSE for openSUSE:Factory checked in at 2014-04-22 07:42:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/patterns-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.patterns-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patterns-openSUSE"
Changes:
--------
--- /work/SRC/openSUSE:Factory/patterns-openSUSE/patterns-openSUSE.changes 2014-04-14 21:22:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.patterns-openSUSE.new/patterns-openSUSE.changes 2014-04-22 07:42:18.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Apr 15 09:32:35 UTC 2014 - coolo(a)suse.com
+
+- suggests postfix *and* recommend postfix
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ patterns-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.jNkBrn/_old 2014-04-22 07:42:19.000000000 +0200
+++ /var/tmp/diff_new_pack.jNkBrn/_new 2014-04-22 07:42:19.000000000 +0200
@@ -3647,9 +3647,11 @@
Recommends: vacation
Suggests: dovecot12
Suggests: mlmmj
-#pragma ignore
Suggests: sendmail
Suggests: bogofilter
+# this duplicates the recommend, but works around a problem with the solver
+# as everything is weak required, it needs one more hint for postfix
+Suggests: postfix
%description mail_server
Software to set up electronic mail and message services to handle e-mail, mailing, and news lists, including a virus scanner to scan messages at the server level.
--
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 rubygem-turbolinks for openSUSE:Factory checked in at 2014-04-22 07:42:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-turbolinks (Old)
and /work/SRC/openSUSE:Factory/.rubygem-turbolinks.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-turbolinks"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-turbolinks/rubygem-turbolinks.changes 2014-02-12 22:05:13.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-turbolinks.new/rubygem-turbolinks.changes 2014-04-22 07:42:09.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Apr 21 17:02:42 UTC 2014 - coolo(a)suse.com
+
+- updated to version 2.2.2, no changelog
+
+-------------------------------------------------------------------
Old:
----
turbolinks-2.2.1.gem
New:
----
turbolinks-2.2.2.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-turbolinks.spec ++++++
--- /var/tmp/diff_new_pack.IzGohm/_old 2014-04-22 07:42:09.000000000 +0200
+++ /var/tmp/diff_new_pack.IzGohm/_new 2014-04-22 07:42:09.000000000 +0200
@@ -17,7 +17,7 @@
Name: rubygem-turbolinks
-Version: 2.2.1
+Version: 2.2.2
Release: 0
%define mod_name turbolinks
%define mod_full_name %{mod_name}-%{version}
@@ -61,8 +61,8 @@
%install
%gem_install -f
mkdir -p %{buildroot}%{_docdir}/%{name}
-ln -s %{gem_base}/gems/%{mod_full_name}/README.md %buildroot/%{_docdir}/%{name}/README.md
ln -s %{gem_base}/gems/%{mod_full_name}/MIT-LICENSE %buildroot/%{_docdir}/%{name}/MIT-LICENSE
+ln -s %{gem_base}/gems/%{mod_full_name}/README.md %buildroot/%{_docdir}/%{name}/README.md
%files
%defattr(-,root,root,-)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package rubygem-thread_safe for openSUSE:Factory checked in at 2014-04-22 07:41:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-thread_safe (Old)
and /work/SRC/openSUSE:Factory/.rubygem-thread_safe.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-thread_safe"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-thread_safe/rubygem-thread_safe.changes 2014-04-08 12:51:01.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-thread_safe.new/rubygem-thread_safe.changes 2014-04-22 07:41:51.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Apr 21 17:03:41 UTC 2014 - coolo(a)suse.com
+
+- updated to version 0.3.3, no changelog
+
+-------------------------------------------------------------------
Old:
----
thread_safe-0.3.2.gem
New:
----
thread_safe-0.3.3.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-thread_safe.spec ++++++
--- /var/tmp/diff_new_pack.TyePVw/_old 2014-04-22 07:41:52.000000000 +0200
+++ /var/tmp/diff_new_pack.TyePVw/_new 2014-04-22 07:41:52.000000000 +0200
@@ -17,7 +17,7 @@
Name: rubygem-thread_safe
-Version: 0.3.2
+Version: 0.3.3
Release: 0
%define mod_name thread_safe
%define mod_full_name %{mod_name}-%{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 rubygem-sass for openSUSE:Factory checked in at 2014-04-22 07:41:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-sass (Old)
and /work/SRC/openSUSE:Factory/.rubygem-sass.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-sass"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-sass/rubygem-sass.changes 2014-03-25 13:28:20.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-sass.new/rubygem-sass.changes 2014-04-22 07:41:40.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Apr 21 17:25:01 UTC 2014 - coolo(a)suse.com
+
+- updated to version 3.3.5
+ see https://github.com/guard/listen/releases
+
+-------------------------------------------------------------------
Old:
----
sass-3.3.4.gem
New:
----
sass-3.3.5.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-sass.spec ++++++
--- /var/tmp/diff_new_pack.DXxHKh/_old 2014-04-22 07:41:40.000000000 +0200
+++ /var/tmp/diff_new_pack.DXxHKh/_new 2014-04-22 07:41:40.000000000 +0200
@@ -17,12 +17,12 @@
Name: rubygem-sass
-Version: 3.3.4
+Version: 3.3.5
Release: 0
%define mod_name sass
%define mod_full_name %{mod_name}-%{version}
%define mod_branch -%{version}
-%define mod_weight 30304
+%define mod_weight 30305
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: ruby-macros >= 3
--
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 rubygem-rake for openSUSE:Factory checked in at 2014-04-22 07:41:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-rake (Old)
and /work/SRC/openSUSE:Factory/.rubygem-rake.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-rake"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-rake/rubygem-rake.changes 2014-04-08 12:49:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-rake.new/rubygem-rake.changes 2014-04-22 07:41:14.000000000 +0200
@@ -1,0 +2,28 @@
+Mon Apr 21 16:55:26 UTC 2014 - coolo(a)suse.com
+
+- updated to version 10.3.1
+ Bug fixes:
+
+ * Really stop reporting an error when cleaning already-deleted files. Pull
+ request #269 by Randy Coulman
+ * Fixed infinite loop when cleaning already-deleted files on windows.
+
+ === 10.3 / 2014-04-15
+
+ Enhancements:
+
+ * Added --build-all option to rake which treats all file prerequisites as
+ out-of-date. Pull request #254 by Andrew Gilbert.
+ * Added Rake::NameSpace#scope. Issue #263 by Jon San Miguel.
+
+ Bug fixes:
+
+ * Suppress org.jruby package files in rake error messages for JRuby users.
+ Issue #213 by Charles Nutter.
+ * Fixed typo, removed extra "h". Pull request #267 by Hsing-Hui Hsu.
+ * Rake no longer reports an error when cleaning already-deleted files. Pull
+ request #266 by Randy Coulman.
+ * Consume stderr while determining CPU count to avoid hang. Issue #268 by
+ Albert Sun.
+
+-------------------------------------------------------------------
Old:
----
rake-10.2.2.gem
New:
----
rake-10.3.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-rake.spec ++++++
--- /var/tmp/diff_new_pack.aTj3Qs/_old 2014-04-22 07:41:14.000000000 +0200
+++ /var/tmp/diff_new_pack.aTj3Qs/_new 2014-04-22 07:41:14.000000000 +0200
@@ -17,12 +17,12 @@
Name: rubygem-rake
-Version: 10.2.2
+Version: 10.3.1
Release: 0
%define mod_name rake
%define mod_full_name %{mod_name}-%{version}
%define mod_branch -%{version}
-%define mod_weight 100202
+%define mod_weight 100301
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: ruby-macros >= 3
--
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 rubygem-jquery-ui-rails for openSUSE:Factory checked in at 2014-04-22 07:41:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-jquery-ui-rails (Old)
and /work/SRC/openSUSE:Factory/.rubygem-jquery-ui-rails.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-jquery-ui-rails"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-jquery-ui-rails/rubygem-jquery-ui-rails.changes 2013-12-19 12:37:18.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-jquery-ui-rails.new/rubygem-jquery-ui-rails.changes 2014-04-22 07:41:10.000000000 +0200
@@ -1,0 +2,12 @@
+Mon Apr 21 17:23:09 UTC 2014 - coolo(a)suse.com
+
+- updated to version 4.2.1
+ * Update to jQuery UI 1.10.4
+
+-------------------------------------------------------------------
+Sat Feb 22 08:10:50 UTC 2014 - coolo(a)suse.com
+
+- updated to version 4.2.0
+ * Bump Rails dependency to `>=3.2.16`
+
+-------------------------------------------------------------------
Old:
----
jquery-ui-rails-4.1.1.gem
New:
----
jquery-ui-rails-4.2.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-jquery-ui-rails.spec ++++++
--- /var/tmp/diff_new_pack.prKrES/_old 2014-04-22 07:41:10.000000000 +0200
+++ /var/tmp/diff_new_pack.prKrES/_new 2014-04-22 07:41:10.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-jquery-ui-rails
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,13 @@
Name: rubygem-jquery-ui-rails
-Version: 4.1.1
+Version: 4.2.1
Release: 0
%define mod_name jquery-ui-rails
%define mod_full_name %{mod_name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: ruby-macros >= 1
+BuildRequires: ruby-macros >= 3
Url: https://github.com/joliss/jquery-ui-rails
Source: http://rubygems.org/gems/%{mod_full_name}.gem
Summary: jQuery UI packaged for the Rails asset pipeline
@@ -53,19 +53,19 @@
%install
%gem_install -f
mkdir -p %{buildroot}%{_docdir}/%{name}
-ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/History.md %buildroot/%{_docdir}/%{name}/History.md
-ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/License.txt %buildroot/%{_docdir}/%{name}/License.txt
-ln -s %{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/README.md %buildroot/%{_docdir}/%{name}/README.md
+ln -s %{gem_base}/gems/%{mod_full_name}/History.md %buildroot/%{_docdir}/%{name}/History.md
+ln -s %{gem_base}/gems/%{mod_full_name}/License.txt %buildroot/%{_docdir}/%{name}/License.txt
+ln -s %{gem_base}/gems/%{mod_full_name}/README.md %buildroot/%{_docdir}/%{name}/README.md
%files
%defattr(-,root,root,-)
%{_docdir}/%{name}
-%{_libdir}/ruby/gems/%{rb_ver}/cache/%{mod_full_name}.gem
-%{_libdir}/ruby/gems/%{rb_ver}/gems/%{mod_full_name}/
-%{_libdir}/ruby/gems/%{rb_ver}/specifications/%{mod_full_name}.gemspec
+%{gem_base}/cache/%{mod_full_name}.gem
+%{gem_base}/gems/%{mod_full_name}/
+%{gem_base}/specifications/%{mod_full_name}.gemspec
%files doc
%defattr(-,root,root,-)
-%doc %{_libdir}/ruby/gems/%{rb_ver}/doc/%{mod_full_name}/
+%doc %{gem_base}/doc
%changelog
--
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 rubygem-bundler for openSUSE:Factory checked in at 2014-04-22 07:40:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-bundler (Old)
and /work/SRC/openSUSE:Factory/.rubygem-bundler.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-bundler"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-bundler/rubygem-bundler.changes 2014-04-08 12:48:38.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-bundler.new/rubygem-bundler.changes 2014-04-22 07:40:46.000000000 +0200
@@ -1,0 +2,16 @@
+Mon Apr 21 17:11:35 UTC 2014 - coolo(a)suse.com
+
+- updated to version 1.6.2
+ Bugfixes:
+
+ - fix an exception when using builtin gems (#2915, #2963, @gnufied)
+ - cache gems that are built in to the running ruby (#2975, @indirect)
+ - re-allow deploying cached git gems without git installed (#2968, @aughr)
+ - keep standalone working even with builtin gems (@indirect)
+ - don't update vendor/cache in deployment mode (#2921, @indirect)
+
+ Features:
+
+ - warn informatively when `bundle install` is run as root (#2936, @1337807)
+
+-------------------------------------------------------------------
Old:
----
bundler-1.6.1.gem
New:
----
bundler-1.6.2.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-bundler.spec ++++++
--- /var/tmp/diff_new_pack.CtYa5e/_old 2014-04-22 07:40:46.000000000 +0200
+++ /var/tmp/diff_new_pack.CtYa5e/_new 2014-04-22 07:40:46.000000000 +0200
@@ -17,12 +17,12 @@
Name: rubygem-bundler
-Version: 1.6.1
+Version: 1.6.2
Release: 0
%define mod_name bundler
%define mod_full_name %{mod_name}-%{version}
%define mod_branch -%{version}
-%define mod_weight 10601
+%define mod_weight 10602
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: ruby-macros >= 3
--
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 python-kde4 for openSUSE:Factory checked in at 2014-04-22 07:40:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-kde4 (Old)
and /work/SRC/openSUSE:Factory/.python-kde4.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-kde4"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-kde4/python-kde4.changes 2014-04-18 12:37:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-kde4.new/python-kde4.changes 2014-04-22 07:40:15.000000000 +0200
@@ -1,0 +2,6 @@
+Sat Apr 19 16:34:28 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Obsolete nepomuk & soprano bindings, which are no longer built
+ with KDE's 4.13 release
+
+-------------------------------------------------------------------
python3-kde4.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-kde4.spec ++++++
--- /var/tmp/diff_new_pack.xIg2p6/_old 2014-04-22 07:40:16.000000000 +0200
+++ /var/tmp/diff_new_pack.xIg2p6/_new 2014-04-22 07:40:16.000000000 +0200
@@ -40,6 +40,9 @@
Recommends: %{name}-knewstuff
Recommends: %{name}-plasma
Recommends: %{name}-phonon
+# no more nepomuk & soprano with KDE's 4.13 release
+Obsoletes: %{name}-nepomuk
+Obsoletes: %{name}-soprano
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
++++++ python3-kde4.spec ++++++
--- /var/tmp/diff_new_pack.xIg2p6/_old 2014-04-22 07:40:16.000000000 +0200
+++ /var/tmp/diff_new_pack.xIg2p6/_new 2014-04-22 07:40:16.000000000 +0200
@@ -40,6 +40,9 @@
Recommends: %{name}-knewstuff
Recommends: %{name}-plasma
Recommends: %{name}-phonon
+# no more nepomuk & soprano with KDE's 4.13 release
+Obsoletes: %{name}-nepomuk
+Obsoletes: %{name}-soprano
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%requires_python3_sip_api
%kde4_runtime_requires
--
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 nagios-plugins for openSUSE:Factory checked in at 2014-04-22 07:38:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nagios-plugins (Old)
and /work/SRC/openSUSE:Factory/.nagios-plugins.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nagios-plugins"
Changes:
--------
--- /work/SRC/openSUSE:Factory/nagios-plugins/nagios-plugins.changes 2013-03-14 17:29:40.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.nagios-plugins.new/nagios-plugins.changes 2014-04-22 07:38:17.000000000 +0200
@@ -1,0 +2,144 @@
+Sat Apr 12 14:34:01 UTC 2014 - lars(a)linux-schulserver.de
+
+- do not package check_game for openSUSE > 13.1 as the needed binary
+ is not in Factory
+
+-------------------------------------------------------------------
+Fri Mar 28 11:16:53 UTC 2014 - lars(a)linux-schulserver.de
+
+- also recommend/require apparmor-profiles to get tunables/global
+- do not package check_apt on 13.1 and beyond as Factory maintainers
+ do not want a package requiring the binary
+
+-------------------------------------------------------------------
+Tue Mar 11 15:21:27 UTC 2014 - lars(a)linux-schulserver.de
+
+- remove nagios-plugins-xenvm as this is now provided by
+ nagios-xen-host package
+
+-------------------------------------------------------------------
+Sat Mar 1 23:19:24 UTC 2014 - lars(a)linux-schulserver.de
+
+- added new check_ircd, which allows to monitor SSL enabled IRCd
+ and prints out perfdata
+ + require IO::Socket::SSL and IO::Socket::INET6
+
+-------------------------------------------------------------------
+Wed Jan 22 09:31:45 UTC 2014 - lars(a)linux-schulserver.de
+
+- remove left overs from former bgpstate package
+- add dbi-{mysql,pgsql,sqlite3} plugin package(s)
+- add nagios-plugins-rpmlintrc for the virtual packages that
+ require the appropriate library for the dbi check
+
+-------------------------------------------------------------------
+Sun Jan 19 01:47:43 UTC 2014 - lars(a)linux-schulserver.de
+
+- adapt URL to new upstream page (bnc#859105)
+
+-------------------------------------------------------------------
+Sun Dec 22 11:14:55 UTC 2013 - jcnengel(a)gmail.com
+
+- Add SNMPv3 context support to check_snmp following an idea of
+ Lars Mathwig <mathwig(a)gmx.de>
+
+-------------------------------------------------------------------
+Wed Nov 27 19:56:08 UTC 2013 - msvec(a)suse.com
+
+- Get rid of the old SUSE spelling in READMEs
+
+-------------------------------------------------------------------
+Tue Nov 19 11:37:39 UTC 2013 - schneemann(a)b1-systems.de
+
+- update to 1.5
+ * removed contrib directory
+ * New check_dbi plugin for checking an (SQL) database using DBI
+ * Let OpenSSL load its configuration file (see the
+ OPENSSL_config(3) man page)
+ * Add performance data to check_apt
+ * Add performance data to check_procs
+ * Added -4/-6 options to check_dig
+ * New check_oracle --connect option to perform real login
+ * New check_nagios -t option to override the default timeout
+ * New check_disk -f/--freespace-ignore-reserved option to
+ ignore space reserved for root
+ * New check_disk -N/--include-type option to limit the filesystem
+ types to check
+ * Allow for building the plugins in parallel
+ * Add --without-{dbi,ldap,radius} options to ./configure
+ * Made Verbose output of check_sensors compliant
+ * New switch -E/--extended-perfdata for check_http to print
+ additional performance data
+ * New check_http -d option to specify a string to expect within
+ the response headers
+ * New check_http -J/-K options for client certificate
+ authentication support
+ * Add support for executing queries to check_pgsql
+ * Let check_pgsql accept a UNIX socket directory as hostname
+ * New check_pgsql -o option to specify additional connection parameters
+ * New check_fping -S option to specify the source IP address
+ * New check_fping -I option to specify the interface to bind to
+ * Let check_fping support IPv6
+ * New check_procs -k option to ignore kernel threads (on Linux)
+ * Let check_procs use /proc/<PID>/exe (if available) instead of
+ getpid(2), unless -T is specified
+ * Let check_mysql support SSL
+ * Let check_mysql add perfromance metrics for all checks
+ * New check_mysql -f option to specify a client options file
+ * New check_mysql -g option to specify a client options group
+ * New check_snmp --offset option to allow for adding/substracting
+ an offset value to sensor data
+ * Let check_snmp support an arbitrary number of OIDs
+
+ * Fixes:
+ + Change the MAIL FROM command generated by check_smtp to be
+ RFC compliant
+ + Fix compilation of check_http without SSL support
+ + Fix check_snmp reversed threshold ranges
+ (backward-compatibility)
+ + Fix check_snmp memory violation when using more than 8 OIDs
+ + Fix check_apt security regular expression
+ + Fix check_http handling extra header (-k) containing semicolons
+ + Fix check_apt handling unknown exit codes from apt-get
+ + Fix deprecated imports of check_nmap.py
+
+
+-------------------------------------------------------------------
+Wed Oct 23 17:00:38 UTC 2013 - opensuse(a)cboltz.de
+
+- update apparmor profiles usr.lib.nagios.plugins.check_cups and
+ usr.lib.nagios.plugins.check_ping with /usr/bin/ paths (bnc#847229)
+
+-------------------------------------------------------------------
+Fri Aug 30 11:14:59 UTC 2013 - lars(a)linux-schulserver.de
+
+- allow family="inet6" sock_type="raw" in apparmor profile for
+ check_ping
+
+-------------------------------------------------------------------
+Tue Aug 13 10:37:17 CEST 2013 - ro(a)suse.de
+
+- update apparmor profile for ntp check (added nameservice)
+
+-------------------------------------------------------------------
+Sun Aug 11 23:46:52 UTC 2013 - lars(a)linux-schulserver.de
+
+- add capabilities sys_admin and sys_rawio to ide_smart check
+
+-------------------------------------------------------------------
+Mon Aug 5 14:10:18 CEST 2013 - ro(a)suse.de
+
+- add apparmor profiles for these checks:
+ icmp, ide_smart, ping, ssh
+
+-------------------------------------------------------------------
+Wed Jul 17 13:01:40 UTC 2013 - lars(a)linux-schulserver.de
+
+- enhance the documentation for checks with special privileges
+
+-------------------------------------------------------------------
+Thu May 23 13:50:14 UTC 2013 - opensuse(a)dstoecker.de
+
+- add check_procs_perf plugin
+
+-------------------------------------------------------------------
Old:
----
nagios-plugins-1.4.14-check_inodes.patch
nagios-plugins-1.4.14-command_cfg.patch
nagios-plugins-1.4.14-nmap.patch
nagios-plugins-1.4.16.tar.bz2
nagios-plugins-README.SuSE
nagios-plugins-README.SuSE-check_dhcp
nagios-plugins-README.SuSE-check_icmp
nagios-plugins-README.SuSE-check_ide_smart
nagios-plugins-stdio.h.patch
nagios-plugins.check_xenvm.sh
New:
----
check_ircd_ssl
nagios-plugins-1.5.tar.bz2
nagios-plugins-README.SUSE
nagios-plugins-README.SUSE-check_cups
nagios-plugins-README.SUSE-check_dhcp
nagios-plugins-README.SUSE-check_icmp
nagios-plugins-README.SUSE-check_ide_smart
nagios-plugins-rpmlintrc
nagios-plugins.check_snmp.snmpv3-context.patch
usr.lib.nagios.plugins.check_cups
usr.lib.nagios.plugins.check_icmp
usr.lib.nagios.plugins.check_ide_smart
usr.lib.nagios.plugins.check_ping
usr.lib.nagios.plugins.check_ssh
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nagios-plugins.spec ++++++
++++ 637 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/nagios-plugins/nagios-plugins.spec
++++ and /work/SRC/openSUSE:Factory/.nagios-plugins.new/nagios-plugins.spec
++++++ check_ircd_ssl ++++++
#! /usr/bin/perl -w
#
# Copyright (C) 2014, SUSE Linux Products GmbH, Nuremberg
# Author: Lars Vogdt
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# * Neither the name of the Novell nor the names of its contributors may be
# used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
use Getopt::Long;
use IO::Socket::INET6;
use strict;
use vars qw($PROGNAME $VERSION);
use vars qw($opt_V $opt_h $opt_t $opt_p $opt_H $opt_w $opt_c $ssl $verbose);
use lib '/usr/lib/nagios/plugins';
use utils qw($TIMEOUT %ERRORS &print_revision &support &usage);
# ----------------------------------------------------[ Function Prototypes ]--
sub print_help ();
sub print_usage ();
# -------------------------------------------------------------[ Enviroment ]--
$ENV{PATH} = '';
$ENV{ENV} = '';
$ENV{BASH_ENV} = '';
# -----------------------------------------------------------------[ Global ]--
$PROGNAME = 'check_ircd';
$VERSION = '1.5.0';
my $nick = "ircd$$";
# -------------------------------------------------------------[ print_help ]--
sub print_help ()
{
print_revision($PROGNAME,$VERSION);
print "Copyright (c) 2014 SUSE Linux Products GmbH, Nuremberg
based on the original work of Richard Mayhew/Karl DeBisschop in 2000
Perl Check IRCD plugin for Nagios
";
print_usage();
print "
-H, --hostname=HOST
Name or IP address of host to check
-w, --warning=INTEGER
Number of connected users which generates a warning state (Default: 50)
-c, --critical=INTEGER
Number of connected users which generates a critical state (Default: 100)
-p, --port=INTEGER
Port that the ircd daemon is running on <host> (Default: 6667)
-v, --verbose
Print extra debugging information
-s, --ssl
Use SSL for connection (NOTE: might need '-p 6697' option)
";
}
# ------------------------------------------------------------[ print_usage ]--
sub print_usage () {
print "Usage: $PROGNAME -H <host> [-w <warn>] [-c <crit>] [-p <port>] [-s]\n";
}
# ------------------------------------------------------------------[ debug ]--
sub debug ($$)
{
my ($string,$verbose) = @_;
if ($verbose){
print STDOUT "DEBUG: $string";
}
}
# ----------------------------------------------------------------[ connect ]--
sub connection ($$$$$$) {
my ($server,$port,$ssl,$ping_timeout,$nick,$verbose) = @_;
my $user=-1;
debug("Attempting connect.\n",$verbose);
# Connect to server
debug("Connecting ...........\n",$verbose);
my $sock = IO::Socket::INET6->new( PeerAddr => $server,
PeerPort => $port,
Proto => 'tcp',
Domain => AF_UNSPEC ) or return ($user);
if($ssl) {
use IO::Socket::SSL;
debug("Starting SSL .........\n",$verbose);
IO::Socket::SSL->start_SSL( $sock,
SSL_verify_mode => 0, # Do not verify certificate
) or die "SSL handshake failed: $SSL_ERROR";
}
debug("Connected to server: $server on port: $port\n",$verbose);
# Set nick and username
debug("Sending user info ....\n",$verbose);
print $sock "NICK $nick\nUSER monitor localhost localhost : \n";
# Catch SIGALRM from the OS when timeout expired.
local $SIG{ALRM} = sub {$sock->shutdown(0);};
# Send all incomming data to the parser
while (<$sock>) {
alarm 0;
chomp($_);
if (/^PING \:(.+)/) {
debug("Received PING request, sending PONG :$1\n",$verbose);
print $sock "PONG :$1\n";
}
elsif (/\:I have\s+(\d+)/){
$user=$1;
last;
}
alarm $ping_timeout;
}
debug("Closing socket.\n",$verbose);
close $sock;
return $user;
}
# ------------------------------------------------------------[ check_users ]--
sub check_users ($$$){
my ($users,$crit,$warn)=@_;
$users =~ s/\ //g;
my ($state,$answer);
if ($users >= 0) {
if ($users > $crit) {
$state = "CRITICAL";
$answer = "Critical Number Of Clients Connected : $users (Limit = $crit)";
} elsif ($users > $warn) {
$state = "WARNING";
$answer = "Warning Number Of Clients Connected : $users (Limit = $warn)";
} else {
$state = "OK";
$answer = "IRCD ok - Current Local Users: $users";
}
$answer.="|users=$users;$warn;$crit;0\n";
} else {
$state = "UNKNOWN";
$answer = "Server has less than 0 users! Something is Really WRONG!\n";
}
return ($answer,$state)
}
# ===================================================================[ MAIN ]==
MAIN:
{
my $answer = 'IRCD UNKNOWN: Unknown error - maybe could not authenticate\n';
my $state = 'UNKOWN';
my $hostname;
Getopt::Long::Configure('bundling');
GetOptions
( "V" => \$opt_V, "version" => \$opt_V,
"h" => \$opt_h, "help" => \$opt_h,
"v" => \$verbose,"verbose" => \$verbose,
"s" => \$ssl, "ssl" => \$ssl,
"t=i" => \$opt_t, "timeout=i" => \$opt_t,
"w=i" => \$opt_w, "warning=i" => \$opt_w,
"c=i" => \$opt_c, "critical=i" => \$opt_c,
"p=i" => \$opt_p, "port=i" => \$opt_p,
"H=s" => \$opt_H, "hostname=s" => \$opt_H);
if ($opt_V) {
print_revision($PROGNAME,$VERSION);
exit $ERRORS{'OK'};
}
if ($opt_h) {print_help(); exit $ERRORS{'OK'};}
($opt_H) || ($opt_H = shift @ARGV) || usage("Host name/address not specified\n");
my $server = $1 if ($opt_H =~ /([-.A-Za-z0-9]+)/);
($server) || usage("Invalid host: $opt_H\n");
($opt_w) || ($opt_w = shift @ARGV) || ($opt_w = 50);
my $warn = $1 if ($opt_w =~ /^([0-9]+)$/);
($warn) || usage("Invalid warning threshold: $opt_w\n");
($opt_c) || ($opt_c = shift @ARGV) || ($opt_c = 100);
my $crit = $1 if ($opt_c =~ /^([0-9]+)$/);
($crit) || usage("Invalid critical threshold: $opt_c\n");
if ($crit < $warn){
usage("Invalid threshold: $crit for critical is lower than $warn for warning\n");
}
($opt_p) || ($opt_p = shift @ARGV) || ($opt_p = 6667);
my $port = $1 if ($opt_p =~ /^([0-9]+)$/);
($port) || usage("Invalid port: $opt_p\n");
if ($opt_t && $opt_t =~ /^([0-9]+)$/) { $TIMEOUT = $1; }
# Just in case of problems, let's not hang Nagios
$SIG{'ALRM'} = sub {
print "Somthing is Taking a Long Time, Increase Your TIMEOUT (Currently Set At $TIMEOUT Seconds)\n";
exit $ERRORS{"UNKNOWN"};
};
alarm($TIMEOUT);
my $ping_timeout=$TIMEOUT-1;
my $users=connection($server,$port,$ssl,$ping_timeout,$nick,$verbose);
($answer,$state)=check_users($users,$crit,$warn);
print "$answer";
exit $ERRORS{$state};
}
++++++ nagios-plugins-1.4.16.tar.bz2 -> nagios-plugins-1.5.tar.bz2 ++++++
++++ 162856 lines of diff (skipped)
++++++ nagios-plugins-README.SUSE ++++++
README.SUSE for nagios-plugins
== Features and documentation ==
Please refer to the upstream documentation on
* http://www.nagios.org/docs/
* http://nagiosplugins.org/
* http://www.nagioscommunity.org/wiki/index.php/Main_Page
The openSUSE package contains most of the currently available plugins.
All plugins are installed in ''/usr/lib/nagios/plugins/'' on every architecture.
== Special permissions for some plugins ==
The following checks require special handling as they need some root privileges to run:
* check_dhcp
* check_icmp
* check_ide_smart
In a default installation, those checks will not work if executed as user with limited
rights (such as nagios or icinga). Please have a look into the corresponding documentation
for those packages for more details.
( /usr/share/doc/packages/nagios-plugins-icmp/README.SUSE-check_icmp for example )
++++++ nagios-plugins-README.SUSE-check_cups ++++++
README.SUSE for nagios-plugins-dhcp
== check_cups ==
Nagios plugin for checking cups service
This plug-in will check the status of a remote CUPS print service for the printer status,
Its able to check all available printers on the cups, or just one of them.
(for example if you have testing printer - is normally disable/off you don't need to check it.)
It can also check only the queue status. it will provide the size of the queue and
optionally the age of the queue.
Generally I sugesst to create separate check for each printer only and then additional check for
the queue itself.
it using Nagios standards exit codes:
# Nagios return codes
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
STATE_DEPENDENT=4
Usage: check_cups -H <hostname> -P -p<The CUPS printer name> | -Q <s|b> -w <size warning level> -c <size critical level> -a <max age>
Notes:
-H: Hostname - Can be a hostname or IP address.
-P: Check only the printers status.
-p: It will check only one specific printer.
-Q: Type of check - Can be queue size (s) or both queu size and queue age (b)
-w: WARNING level for queue size
-c: CRITICAL level for queue size
-a: Max age of queue. Returns CRITICAL if jobs exists older than <max age> days
Example of test run usage:
----------------
Test all available printers and the queue.
(queue size warning is 3, critical 10 and max age 3 days):
nagios@nagios:~> /usr/lib/nagios/plugins/check_cups -H cups.server.org -P -Q s -w 3 -c 10 -a 3
Checking all printers...
OK - CUPS printer is idle.
Testing queue on the CUPS...
OK: CUPS queue size - 0| print_jobs=0;3;10;0
Test one printer only :
nagios@nagios:~> /usr/lib/nagios/plugins/check_cups -H cups.suse.cz -P -p myprinter
Checking only the printer myprinter.
OK - CUPS printer myprinter is idle.
Test only the queue, do not test any printer
(queue size warning is 3, critical 5 and max age 2 days):
nagios@nagios:~> /usr/lib/nagios/plugins/check_cups -H cups.suse.cz -Q b -w 3 -c 5 -a 2
No printer check is require. Checking the queue ...
Testing queue on the CUPS...
OK: CUPS queue size - 0| print_jobs=0;3;5;0
Example of Nagios/Icinga command settings:
----------------------------------
Example commands/check_cups.cfg:
# Check all printers in cups and queue size and queue age
define command{
command_name check_cups_all_queue
command_line $USER1$/check_cups -H $ARG1$ -P -Q b -w $ARG2$ -c $ARG3$ -a $ARG4$
}
# Check one printer in cups and queue size and queue age
define command{
command_name check_cups_one_queue
command_line $USER1$/check_cups -H $ARG1$ -P -p $ARG2$ -Q b -w $ARG3$ -c $ARG4$ -a $ARG5$
}
# Check all printers in cups and queue size and queue age
define command{
command_name check_cups_all
command_line $USER1$/check_cups -H $ARG1$ -P
}
# Check one printer in cups.
define command{
command_name check_cups_one
command_line $USER1$/check_cups -H $ARG1$ -P -p $ARG2$
}
# Check only the queue
define command{
command_name check_cups_queue
command_line $USER1$/check_cups -H $ARG1$ -Q b -w $ARG2$ -c $ARG3$ -a $ARG4$
}
Security:
---------
In the version 0.2 I add appamor profile for the script usr.lib.nagios.plugins.check_cups
into /etc/apparmor.d
Autor notes:
------------
I`d like to thank to John E. Vincent (nagios-plugs(a)lusis.org)
I learn a lof from his check CUPS print queue plugin.
Then I`d like to thank to Mark Shirley for his check_cups_printer.sh
script, which was also inspiration for me.
Both of them you can find on http://exchange.nagios.org/ web site.
Martin Caj 31/01/2013 <mcaj(a)suse.cz>
Bugs:
------
Please report bugs to me mcaj(a)suse.cz
Thanks and have lot printers online ;-)
Martin
++++++ nagios-plugins-README.SUSE-check_dhcp ++++++
README.SUSE for nagios-plugins-dhcp
== check_dhcp and SuSEfirewall ==
If you run the check_dhcp script on the server, please make sure your UDP ports
67 and 68 on the _client_ are opened in the firewall. You also need to allow
the receive broadcasts for this interface. Otherwise the script will be unable
to detect anything.
If your client uses the "external" interface for the check, the entries in
/etc/sysconfig/SuSEfirewall2 should look like:
FW_SERVICES_EXT_UDP="67 68"
FW_ALLOW_FW_BROADCAST_EXT="67 68"
== Special privileges ==
To be "safe per default", SUSE doesn't install this plugin with the
suid bit set. There are two recommended ways about overriding this on
your system:
=== Set the suid bit ===
Copy the prepared permissions file from this directory to the right place
in your file system:
~ # cp /usr/share/doc/packages/nagios-plugins-common/example/permissions.d/nagios-plugins \
/etc/permissions.d/nagios-plugins
...afterwards adapt the file /etc/permissions.d/nagios-plugins to your needs
(see comments in the file) and run:
~ # SuSEconfig --module permissions
or (on newer openSUSE distributions without SuSEconfig):
~ # chkstat --system --set
This will set the correct permissions (from now on also during an update).
=== Alternative: Use sudo to grant the permission and modify your plugin config ===
This way you need an entry like:
nagios ALL = NOPASSWD: /usr/lib/nagios/plugins/check_dhcp
in ''/etc/sudoers'' and an adapted command definition like the following:
define command{
command_name check_dhcp
command_line /usr/bin/sudo $USER1$/check_dhcp <other_options_here>
}
++++++ nagios-plugins-README.SUSE-check_icmp ++++++
README.SUSE for nagios-plugins-icmp
== Special privileges ==
To be "safe per default", SUSE doesn't install this plugin with the
suid bit set. There are two recommended ways about overriding this on
your system:
=== Set the suid bit ===
Copy the prepared permissions file from this directory to the right place
in your file system:
~ # cp /usr/share/doc/packages/nagios-plugins/example/permissions.d/nagios-plugins \
/etc/permissions.d/nagios-plugins
...afterwards adapt the file /etc/permissions.d/nagios-plugins to your needs
(see comments in the file) and run:
~ # SuSEconfig --module permissions
or (on newer openSUSE distributions without SuSEconfig):
~ # chkstat --system --set
This will set the correct permissions (from now on also during an update).
=== Alternative: Use sudo to grant the permission and modify your plugin config ===
This way you need an entry like:
nagios ALL = NOPASSWD: /usr/lib/nagios/plugins/check_icmp
in ''/etc/sudoers'' and an adapted command definition like the following:
define command{
command_name check_icmp
command_line /usr/bin/sudo $USER1$/check_icmp <other_options_here>
}
++++++ nagios-plugins-README.SUSE-check_ide_smart ++++++
README.SUSE for nagios-plugins-ide_smart
== Special privileges ==
To be "safe per default", SUSE doesn't install this plugin with the
suid bit set. There are two recommended ways about overriding this on
your system:
=== Set the suid bit ===
Copy the prepared permissions file from this directory to the right place
in your file system:
~ # cp /usr/share/doc/packages/nagios-plugins/example/permissions.d/nagios-plugins \
/etc/permissions.d/nagios-plugins
...afterwards adapt the file /etc/permissions.d/nagios-plugins to your needs
(see comments in the file) and run:
~ # SuSEconfig --module permissions
or (on newer openSUSE distributions without SuSEconfig):
~ # chkstat --system --set
This will set the correct permissions (from now on also during an update).
=== Alternative: Use sudo to grant the permission and modify your plugin config ===
This way you need an entry like:
nagios ALL = NOPASSWD: /usr/lib/nagios/plugins/check_ide_smart
in ''/etc/sudoers'' and an adapted command definition like the following:
define command{
command_name check_ide_smart
command_line /usr/bin/sudo $USER1$/check_ide_smart <other_options_here>
}
++++++ nagios-plugins-permissions ++++++
--- /var/tmp/diff_new_pack.owB8a6/_old 2014-04-22 07:38:19.000000000 +0200
+++ /var/tmp/diff_new_pack.owB8a6/_new 2014-04-22 07:38:19.000000000 +0200
@@ -5,6 +5,8 @@
# Afterwards the files below will be adapted after a nagios-plugins
# update via
# 'SuSEconfig --module permissions'
+# or (on newer openSUSE distributions without SuSEconfig):
+# 'chkstat --system --set'
# automatically.
#
# Note: You may check/set the following variable in /etc/sysconfg/security
++++++ nagios-plugins-rpmlintrc ++++++
# the virtual dbi-{mysql,pgsql,sqlite3} packages are there to require
# the needed library for the generic dbi package.
addFilter("explicit-lib-dependency.*libdbi-drivers-dbd-mysql");
addFilter("explicit-lib-dependency.*libdbi-drivers-dbd-sqlite3");
addFilter("explicit-lib-dependency.*libdbi-drivers-dbd-pgsql");
++++++ nagios-plugins.check_cups.sh ++++++
--- /var/tmp/diff_new_pack.owB8a6/_old 2014-04-22 07:38:19.000000000 +0200
+++ /var/tmp/diff_new_pack.owB8a6/_new 2014-04-22 07:38:19.000000000 +0200
@@ -44,6 +44,9 @@
# Both of them you can find on http://exchange.nagios.org/ web site.
# Martin Caj 31/01/2013 <mcaj(a)suse.cz>
+# version 0.3 has no awk any more, cut can do it as well.
+# the appamor profile was fix as well.
+# Martin Caj 01/11/2013
# check_cups - nagios plugin for checking cups service
# Description:
@@ -56,8 +59,7 @@
# it will provide the size of the queue
# and optionally the age of the queue
#
-# Version : 0.1
-
+# Version : 0.3
#searchning the lpstat:
LPSTAT="$(which lpstat)"
@@ -91,13 +93,13 @@
echo "Usage: "$PROGNAME" -H <hostname> -P -p<The CUPS printer name> | -Q <s|b> -w <size warning level> -c <size critical level> -a <max age>"
echo
echo "Notes:"
- echo "-H: Hostname - Can be a hostname or IP address"
- echo "-P: Check only the printers status it doesn't check queue"
- echo "-p: It will check only one specific printer"
- echo "-Q: Type of check - Can be queue size (s) or both queu size and queue age (b)"
- echo "-w: WARNING level for queue size"
- echo "-c: CRITICAL level for queue size"
- echo "-a: Max age of queue. Returns CRITICAL if jobs exists older than <max age> days"
+ echo "-H: Hostname - Can be a hostname or IP address."
+ echo "-P: Check only the printers status."
+ echo "-p: It will check only one specific printer."
+ echo "-Q: Type of check - Can be queue size (s) or both queu size and queue age (b)."
+ echo "-w: WARNING level for queue size."
+ echo "-c: CRITICAL level for queue size."
+ echo "-a: Max age of queue. Returns CRITICAL if jobs exists older than <max age> days."
echo
}
@@ -107,12 +109,13 @@
print_usage
echo
- echo "This plugin will check the CUPS print service for the printer status, then if status is ok"
- echo "it will check the queue on a remote (or local with -H localhost) CUPS server."
+ echo "This plugin will check the CUPS print service for the printer status"
+ echo "it can check the queue on a remote (or local with -H localhost) CUPS server."
echo "It can check both the size of the queue and the age of the oldest print job in the queue."
echo "-w and -c are for reporting warning and critical levels of the queue size."
echo "-a is optional for specifying the max age of a job in the print queue. Anything older thatn <max age>"
echo "will return a CRITICAL"
+ echo "For more details have look into README file. "
echo
exit 0
}
@@ -166,23 +169,27 @@
case "$RESULT" in
*Rejecting*)
- OUTPUT="CRITICAL - CUPS printer "$printername" is rejecting jobs."
+ messages=$(echo "$RESULT"|grep -i rejecting )
+ OUTPUT="CRITICAL - CUPS printer is rejecting jobs for: "$messages"."
exitstatus="$STATE_CRITICAL"
;;
*Unable*)
- OUTPUT="CRITICAL - CUPS Unable to connect to "$printername"."
+ messages=$(echo "$RESULT"|grep -i unable )
+ OUTPUT="CRITICAL - CUPS Unable to connect: "$messages"."
exitstatus="$STATE_CRITICAL"
;;
*disabled*)
- OUTPUT="CRITICAL - CUPS printer "$printername" is stopped."
+ messages=$(echo "$RESULT"|grep -i disabled)
+ OUTPUT="CRITICAL - CUPS printer: "$messages"."
exitstatus="$STATE_CRITICAL"
;;
*Paused*)
- OUTPUT="WARNING: - CUPS printer "$printername" is stopped."
+ messages=$(echo "$RESULT"|grep -i paused)
+ OUTPUT="WARNING: - CUPS printer is: "$messages"."
exitstatus="$STATE_WARNING"
;;
*printing*)
- OUTPUT="OK - CUPS printer "$printername" is printing."
+ OUTPUT="OK - CUPS printer is printing now."
exitstatus="$STATE_OK"
;;
*idle*)
@@ -190,7 +197,7 @@
exitstatus="$STATE_OK"
;;
*)
- OUTPUT="CRITICAL - Unknown error occured while checking "$printername"."
+ OUTPUT="CRITICAL - Unknown error occured while checking: "$RESULT"."
exitstatus="$STATE_CRITICAL"
;;
esac
@@ -208,6 +215,10 @@
# this set default exit status to:
exitstatus="$STATE_UNKNOWN"
+# by default is test pritner disabled, you must allow it with -p $printer or -P all printers
+testprinter="0"
+
+
# testing arguments:
while test -n "$1"; do
case "$1" in
@@ -223,7 +234,8 @@
testprinter="1"
;;
-p)
- printername="$2"
+ testprinter="2"
+ printername="$2"
shift
;;
-H)
@@ -260,21 +272,25 @@
fi
# testing priner(s)
-if [ -z $testprinter ] #Check printes and continue with the script
-then
- check_printer_status $printname
-# if there is differnt exit status then 0 doesn`t maka any sance to
-# continue with the check. exit it ASAP.
- if [ $exitstatus != 0 ]
+
+if [ $testprinter -eq 2 ] #Check specifics printer and continue with the script
+then
+ check_printer_status "$printername"
+
+ if [ -z $testtype ] # exits if there is no -Q checks
then
echo "$OUTPUT"
exit "$exitstatus"
fi
-else #Check printers only and end the sctipt.
- check_printer_status
- echo "$OUTPUT"
- exit "$exitstatus"
+elif [ $testprinter -eq 1 ]; then # check all printers
+ check_printer_status
+ if [ -z $testtype ]; then # exits if there is no -Q checks
+ echo "$OUTPUT"
+ exit "$exitstatus"
+ fi
+else # no cuos check is need
+ echo "No printer check is require. Checking the queue ..."
fi
# testing arguments for the queue checks:
@@ -308,7 +324,7 @@
exitstatus="$STATE_UNKNOWN"
exit "$exitstatus"
else
-
+ echo "Testing queue on the CUPS..."
JOBTMP=$(mktemp -t lpstat.XXXXXX) # Create a tmpfile to store the lpstat results
STALEJOBCOUNT=0 # default number of old jobs
CURDATETS=$(date +%s) # Get the current date as unixtime
@@ -330,7 +346,7 @@
while read PRINTJOB
do
# Grab the job date from the job listing
- JOBDATE=$(echo $PRINTJOB | awk '{ print $4, $5, $6, $7, $8 }')
+ JOBDATE=$(echo $PRINTJOB | cut -c50-73)
# Convert the job date to unixtime
JOBDATETS=$(date --date="$JOBDATE" +%s)
DATEDIFF=$(echo "($CURDATETS - $JOBDATETS)" | bc)
++++++ nagios-plugins.check_snmp.snmpv3-context.patch ++++++
diff -ruNp nagios-plugins-1.5.orig/plugins/check_snmp.c nagios-plugins-1.5/plugins/check_snmp.c
--- nagios-plugins-1.5.orig/plugins/check_snmp.c 2013-12-24 11:47:42.333131442 +0100
+++ nagios-plugins-1.5/plugins/check_snmp.c 2013-12-24 14:12:21.000000000 +0100
@@ -104,6 +104,8 @@ int errcode, excode;
char *server_address = NULL;
char *community = NULL;
+char **context = NULL;
+char *v3context = NULL;
char **authpriv = NULL;
char *proto = NULL;
char *seclevel = NULL;
@@ -128,6 +130,7 @@ size_t nunits = 0;
size_t unitv_size = OID_COUNT_STEP;
int numoids = 0;
int numauthpriv = 0;
+int numcontext = 0;
int verbose = 0;
int usesnmpgetnext = FALSE;
char *warning_thresholds = NULL;
@@ -297,8 +300,8 @@ main (int argc, char **argv)
snmpcmd = strdup (PATH_TO_SNMPGET);
}
- /* 10 arguments to pass before authpriv options + 1 for host and numoids. Add one for terminating NULL */
- command_line = calloc (10 + numauthpriv + 1 + numoids + 1, sizeof (char *));
+ /* 10 arguments to pass before context and authpriv options + 1 for host and numoids. Add one for terminating NULL */
+ command_line = calloc (10 + numcontext + numauthpriv + 1 + numoids + 1, sizeof (char *));
command_line[0] = snmpcmd;
command_line[1] = strdup ("-Le");
command_line[2] = strdup ("-t");
@@ -310,23 +313,27 @@ main (int argc, char **argv)
command_line[8] = "-v";
command_line[9] = strdup (proto);
+ for (i = 0; i < numcontext; i++) {
+ command_line[10 + i] = context[i];
+ }
+
for (i = 0; i < numauthpriv; i++) {
- command_line[10 + i] = authpriv[i];
+ command_line[10 + numcontext + i] = authpriv[i];
}
- xasprintf (&command_line[10 + numauthpriv], "%s:%s", server_address, port);
+ xasprintf (&command_line[10 + numcontext + numauthpriv], "%s:%s", server_address, port);
/* This is just for display purposes, so it can remain a string */
- xasprintf(&cl_hidden_auth, "%s -Le -t %d -r %d -m %s -v %s %s %s:%s",
- snmpcmd, timeout_interval, retries, strlen(miblist) ? miblist : "''", proto, "[authpriv]",
+ xasprintf(&cl_hidden_auth, "%s -Le -t %d -r %d -m %s -v %s %s %s %s:%s",
+ snmpcmd, timeout_interval, retries, strlen(miblist) ? miblist : "''", proto, "[context]", "[authpriv]",
server_address, port);
for (i = 0; i < numoids; i++) {
- command_line[10 + numauthpriv + 1 + i] = oids[i];
+ command_line[10 + numcontext + numauthpriv + 1 + i] = oids[i];
xasprintf(&cl_hidden_auth, "%s %s", cl_hidden_auth, oids[i]);
}
- command_line[10 + numauthpriv + 1 + numoids] = NULL;
+ command_line[10 + numcontext + numauthpriv + 1 + numoids] = NULL;
if (verbose)
printf ("%s\n", cl_hidden_auth);
@@ -646,6 +653,7 @@ process_arguments (int argc, char **argv
{"retries", required_argument, 0, 'e'},
{"miblist", required_argument, 0, 'm'},
{"protocol", required_argument, 0, 'P'},
+ {"context", required_argument, 0, 'N'},
{"seclevel", required_argument, 0, 'L'},
{"secname", required_argument, 0, 'U'},
{"authproto", required_argument, 0, 'a'},
@@ -675,7 +683,7 @@ process_arguments (int argc, char **argv
}
while (1) {
- c = getopt_long (argc, argv, "nhvVOt:c:w:H:C:o:e:E:d:D:s:t:R:r:l:u:p:m:P:L:U:a:x:A:X:",
+ c = getopt_long (argc, argv, "nhvVOt:c:w:H:C:o:e:E:d:D:s:t:R:r:l:u:p:m:P:N:L:U:a:x:A:X:",
longopts, &option);
if (c == -1 || c == EOF)
@@ -713,6 +721,9 @@ process_arguments (int argc, char **argv
case 'P': /* SNMP protocol version */
proto = optarg;
break;
+ case 'N': /* SNMPv3 context */
+ v3context = optarg;
+ break;
case 'L': /* security level */
seclevel = optarg;
break;
@@ -960,6 +971,13 @@ validate_arguments ()
authpriv[1] = strdup (community);
}
else if ( strcmp (proto, "3") == 0 ) { /* snmpv3 args */
+ if (!(v3context == NULL)) {
+ numcontext = 2;
+ context = calloc (numcontext, sizeof (char *));
+ context[0] = strdup ("-n");
+ context[1] = strdup (v3context);
+ }
+
if (seclevel == NULL)
xasprintf(&seclevel, "noAuthNoPriv");
@@ -1101,6 +1119,8 @@ print_help (void)
printf (" %s\n", _("Use SNMP GETNEXT instead of SNMP GET"));
printf (" %s\n", "-P, --protocol=[1|2c|3]");
printf (" %s\n", _("SNMP protocol version"));
+ printf (" %s\n", "-N, --context=CONTEXT");
+ printf (" %s\n", _("SNMPv3 context"));
printf (" %s\n", "-L, --seclevel=[noAuthNoPriv|authNoPriv|authPriv]");
printf (" %s\n", _("SNMPv3 securityLevel"));
printf (" %s\n", "-a, --authproto=[MD5|SHA]");
@@ -1208,6 +1228,6 @@ print_usage (void)
printf ("%s -H <ip_address> -o <OID> [-w warn_range] [-c crit_range]\n",progname);
printf ("[-C community] [-s string] [-r regex] [-R regexi] [-t timeout] [-e retries]\n");
printf ("[-l label] [-u units] [-p port-number] [-d delimiter] [-D output-delimiter]\n");
- printf ("[-m miblist] [-P snmp version] [-L seclevel] [-U secname] [-a authproto]\n");
- printf ("[-A authpasswd] [-x privproto] [-X privpasswd]\n");
+ printf ("[-m miblist] [-P snmp version] [-N context] [-L seclevel] [-U secname]\n");
+ printf ("[-a authproto] [-A authpasswd] [-x privproto] [-X privpasswd]\n");
}
++++++ nagios-plugins.negate.validate_arguments.patch ++++++
--- /var/tmp/diff_new_pack.owB8a6/_old 2014-04-22 07:38:19.000000000 +0200
+++ /var/tmp/diff_new_pack.owB8a6/_new 2014-04-22 07:38:19.000000000 +0200
@@ -4,18 +4,18 @@
Index: plugins/negate.c
===================================================================
---- plugins/negate.c.orig 2009-05-07 23:08:25.000000000 +0200
-+++ plugins/negate.c 2009-11-24 23:08:37.611524000 +0100
-@@ -42,7 +42,7 @@ const char *email = "nagiosplug-devel@li
+--- plugins/negate.c.orig
++++ plugins/negate.c
+@@ -44,7 +44,7 @@ const char *email = "nagiosplug-devel@li
/* char *command_line; */
static const char **process_arguments (int, char **);
-int validate_arguments (char **);
+void validate_arguments (char **);
+ int translate_state (char *);
void print_help (void);
void print_usage (void);
- int subst_text = FALSE;
-@@ -204,7 +204,7 @@ process_arguments (int argc, char **argv
+@@ -207,7 +207,7 @@ process_arguments (int argc, char **argv
}
++++++ usr.lib.nagios.plugins.check_cups ++++++
# Last Modified: Mon Mar 11 14:58:16 2013
#include <tunables/global>
/usr/lib/nagios/plugins/check_cups {
#include <abstractions/base>
#include <abstractions/bash>
#include <abstractions/consoles>
#include <abstractions/nameservice>
network inet dgram,
network inet stream,
/bin/bash rix,
/bin/grep rix,
/{usr/,}bin/which rix,
/{usr/,}bin/lpstat rix,
/{usr/,}bin/basename rix,
/{usr/,}bin/mktemp rix,
/{usr/,}bin/date rix,
/{usr/,}bin/rm rix,
/{usr/,}bin/cut rix,
/{usr/,}bin/bc rix,
/{usr/,}bin/wc rix,
/tmp/lpstat* wr,
/var/run/nscd/services r,
/etc/cups/client.conf r,
/proc/sys/crypto/fips_enabled r,
}
++++++ usr.lib.nagios.plugins.check_icmp ++++++
#include <tunables/global>
/usr/lib/nagios/plugins/check_icmp {
#include <abstractions/base>
#include <abstractions/nameservice>
capability net_raw,
capability setuid,
network inet raw,
}
++++++ usr.lib.nagios.plugins.check_ide_smart ++++++
# Last Modified: Wed May 16 10:38:11 2012
#include <tunables/global>
/usr/lib/nagios/plugins/check_ide_smart {
#include <abstractions/base>
capability sys_admin,
capability sys_rawio,
/dev/s* r,
/dev/h* r,
}
++++++ usr.lib.nagios.plugins.check_ntp_time ++++++
--- /var/tmp/diff_new_pack.owB8a6/_old 2014-04-22 07:38:19.000000000 +0200
+++ /var/tmp/diff_new_pack.owB8a6/_new 2014-04-22 07:38:19.000000000 +0200
@@ -3,6 +3,7 @@
/usr/lib/nagios/plugins/check_ntp_time {
#include <abstractions/base>
#include <abstractions/consoles>
+ #include <abstractions/nameservice>
#include <abstractions/xad>
network inet dgram,
++++++ usr.lib.nagios.plugins.check_ping ++++++
#include <tunables/global>
/usr/lib/nagios/plugins/check_ping {
#include <abstractions/base>
#include <abstractions/nameservice>
capability net_raw,
capability setuid,
network inet raw,
network inet6 raw,
/{usr/,}bin/ping rix,
/{usr/,}bin/ping6 rix,
}
++++++ usr.lib.nagios.plugins.check_ssh ++++++
#include <tunables/global>
/usr/lib/nagios/plugins/check_ssh flags=(complain) {
#include <abstractions/base>
#include <abstractions/nameservice>
}
--
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 baloo for openSUSE:Factory checked in at 2014-04-22 07:37:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/baloo (Old)
and /work/SRC/openSUSE:Factory/.baloo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "baloo"
Changes:
--------
--- /work/SRC/openSUSE:Factory/baloo/baloo.changes 2014-04-18 12:37:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.baloo.new/baloo.changes 2014-04-22 07:37:58.000000000 +0200
@@ -1,0 +2,7 @@
+Sun Apr 20 16:56:53 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Added 0001-Bug-333566-Quick-filter-in-KMail-4.13-stops-working-.patch:
+ fixes KMail searches with non-Latin characters, kde#333566;
+ triggers re-indexing of collections
+
+-------------------------------------------------------------------
New:
----
0001-Bug-333566-Quick-filter-in-KMail-4.13-stops-working-.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ baloo.spec ++++++
--- /var/tmp/diff_new_pack.emvatJ/_old 2014-04-22 07:37:59.000000000 +0200
+++ /var/tmp/diff_new_pack.emvatJ/_new 2014-04-22 07:37:59.000000000 +0200
@@ -25,6 +25,8 @@
Source0: %{name}-%{version}.tar.xz
# PATCH-FIX-OPENSUSE tittiatcoke(a)gmail.com Don't build the filewatch_raiselimit to prevent security issues
Patch1: kauth.patch
+# PATCH-FIX-UPSTREAM 0001-Bug-333566-Quick-filter-in-KMail-4.13-stops-working-.patch -- fixes KMail searches with non-Latin characters
+Patch2: 0001-Bug-333566-Quick-filter-in-KMail-4.13-stops-working-.patch
BuildRequires: kfilemetadata-devel >= %{version}
BuildRequires: libakonadiprotocolinternals-devel
BuildRequires: libattr-devel
@@ -113,6 +115,7 @@
%prep
%setup -q
%patch1 -p1
+%patch2 -p1
%build
%cmake_kde4 -d build
@@ -166,6 +169,13 @@
%{_kde4_servicesdir}/baloo_filesearchstore.desktop
%{_kde4_modulesdir}/baloo_filesearchstore.so
%{_kde4_iconsdir}/hicolor/*/apps/baloo.png
+%if 0
+# These files can only be activated once the security team did a full review
+%{_kde4_modulesdir}/libexec/kde_baloo_filewatch_raiselimit
+%{_kde4_datadir}/dbus-1/system-services/org.kde.baloo.filewatch.service
+%{_kde4_datadir}/polkit-1/actions/org.kde.baloo.filewatch.policy
+%{_kde4_sysconfdir}/dbus-1/system.d/org.kde.baloo.filewatch.conf
+%endif
%files kioslaves
%defattr(-,root,root)
++++++ 0001-Bug-333566-Quick-filter-in-KMail-4.13-stops-working-.patch ++++++
>From f99d93f4df844d4a9ed271bd9e505fdeaa5a20ee Mon Sep 17 00:00:00 2001
From: Montel Laurent <montel(a)kde.org>
Date: Sun, 20 Apr 2014 17:17:53 +0200
Subject: [PATCH 1/1] Bug 333566 - Quick filter in KMail 4.13 stops working
with non-Latin characters (Cyrillic Russian Unicode) - search empty result
FIXED-IN: 4.13.1
BUG: 333566
We need to update database
---
src/pim/agent/agent.cpp | 4 ++--
src/pim/agent/akonotesindexer.cpp | 2 +-
src/pim/agent/emailindexer.cpp | 4 ++--
src/pim/lib/contactquery.cpp | 27 ++++++++++++++++-----------
src/pim/lib/emailquery.cpp | 27 ++++++++++++++++-----------
src/pim/lib/notequery.cpp | 6 ++++--
6 files changed, 41 insertions(+), 29 deletions(-)
diff --git a/src/pim/agent/agent.cpp b/src/pim/agent/agent.cpp
index 3cb0a0c..7de454e 100644
--- a/src/pim/agent/agent.cpp
+++ b/src/pim/agent/agent.cpp
@@ -63,7 +63,7 @@ namespace {
}
}
-#define INDEXING_AGENT_VERSION 3
+#define INDEXING_AGENT_VERSION 4
BalooIndexingAgent::BalooIndexingAgent(const QString& id)
: AgentBase(id),
@@ -144,7 +144,7 @@ qlonglong BalooIndexingAgent::indexedItemsInDatabase(const std::string& term, co
{
Xapian::Database db;
try {
- db = Xapian::Database(dbPath.toStdString());
+ db = Xapian::Database(dbPath.toUtf8().constData());
} catch (const Xapian::DatabaseError& e) {
kError() << "Failed to open database" << dbPath << ":" << QString::fromStdString(e.get_msg());
return 0;
diff --git a/src/pim/agent/akonotesindexer.cpp b/src/pim/agent/akonotesindexer.cpp
index b12d607..93d8de9 100644
--- a/src/pim/agent/akonotesindexer.cpp
+++ b/src/pim/agent/akonotesindexer.cpp
@@ -28,7 +28,7 @@
AkonotesIndexer::AkonotesIndexer(const QString& path)
: AbstractIndexer(), m_termGen( 0 )
{
- m_db = new Xapian::WritableDatabase(path.toStdString(), Xapian::DB_CREATE_OR_OPEN);
+ m_db = new Xapian::WritableDatabase(path.toUtf8().constData(), Xapian::DB_CREATE_OR_OPEN);
}
AkonotesIndexer::~AkonotesIndexer()
diff --git a/src/pim/agent/emailindexer.cpp b/src/pim/agent/emailindexer.cpp
index 0176c27..14acea6 100644
--- a/src/pim/agent/emailindexer.cpp
+++ b/src/pim/agent/emailindexer.cpp
@@ -32,8 +32,8 @@
EmailIndexer::EmailIndexer(const QString& path, const QString& contactDbPath):
AbstractIndexer(), m_doc( 0 ), m_termGen( 0 )
{
- m_db = new Xapian::WritableDatabase(path.toStdString(), Xapian::DB_CREATE_OR_OPEN);
- m_contactDb = new Xapian::WritableDatabase(contactDbPath.toStdString(), Xapian::DB_CREATE_OR_OPEN);
+ m_db = new Xapian::WritableDatabase(path.toUtf8().constData(), Xapian::DB_CREATE_OR_OPEN);
+ m_contactDb = new Xapian::WritableDatabase(contactDbPath.toUtf8().constData(), Xapian::DB_CREATE_OR_OPEN);
}
EmailIndexer::~EmailIndexer()
diff --git a/src/pim/lib/contactquery.cpp b/src/pim/lib/contactquery.cpp
index dff26c8..a30fb59 100644
--- a/src/pim/lib/contactquery.cpp
+++ b/src/pim/lib/contactquery.cpp
@@ -108,19 +108,23 @@ ResultIterator ContactQuery::exec()
if (d->criteria == ExactMatch) {
if (!d->any.isEmpty()) {
- m_queries << Xapian::Query(d->any.toStdString());
+ const QByteArray ba = d->any.toUtf8();
+ m_queries << Xapian::Query(ba.constData());
}
if (!d->name.isEmpty()) {
- m_queries << Xapian::Query("NA" + d->name.toStdString());
+ const QByteArray ba = "NA" + d->name.toUtf8();
+ m_queries << Xapian::Query(ba.constData());
}
if (!d->nick.isEmpty()) {
- m_queries << Xapian::Query("NI" + d->nick.toStdString());
+ const QByteArray ba = "NI" + d->nick.toUtf8();
+ m_queries << Xapian::Query(ba.constData());
}
if (!d->email.isEmpty()) {
- m_queries << Xapian::Query(d->email.toStdString());
+ const QByteArray ba = d->email.toUtf8();
+ m_queries << Xapian::Query(ba.constData());
}
if (!d->uid.isEmpty()) {
@@ -131,31 +135,32 @@ ResultIterator ContactQuery::exec()
if (!d->any.isEmpty()) {
Xapian::QueryParser parser;
parser.set_database(db);
- m_queries << parser.parse_query(d->any.toStdString(), Xapian::QueryParser::FLAG_PARTIAL);
+ const QByteArray ba = d->any.toUtf8();
+ m_queries << parser.parse_query(ba.constData(), Xapian::QueryParser::FLAG_PARTIAL);
}
if (!d->name.isEmpty()) {
Xapian::QueryParser parser;
parser.set_database(db);
parser.add_prefix("", "NA");
-
- m_queries << parser.parse_query(d->name.toStdString(), Xapian::QueryParser::FLAG_PARTIAL);
+ const QByteArray ba = d->name.toUtf8();
+ m_queries << parser.parse_query(ba.constData(), Xapian::QueryParser::FLAG_PARTIAL);
}
if (!d->nick.isEmpty()) {
Xapian::QueryParser parser;
parser.set_database(db);
parser.add_prefix("", "NI");
-
- m_queries << parser.parse_query(d->nick.toStdString(), Xapian::QueryParser::FLAG_PARTIAL);
+ const QByteArray ba = d->nick.toUtf8();
+ m_queries << parser.parse_query(ba.constData(), Xapian::QueryParser::FLAG_PARTIAL);
}
// FIXME: Check for exact match?
if (!d->email.isEmpty()) {
Xapian::QueryParser parser;
parser.set_database(db);
-
- m_queries << parser.parse_query(d->email.toStdString(), Xapian::QueryParser::FLAG_PARTIAL);
+ const QByteArray ba = d->email.toUtf8();
+ m_queries << parser.parse_query(ba.constData(), Xapian::QueryParser::FLAG_PARTIAL);
}
if (!d->uid.isEmpty()) {
diff --git a/src/pim/lib/emailquery.cpp b/src/pim/lib/emailquery.cpp
index 2964846..e23f8b9 100644
--- a/src/pim/lib/emailquery.cpp
+++ b/src/pim/lib/emailquery.cpp
@@ -202,7 +202,8 @@ ResultIterator EmailQuery::exec()
// vHanda: Do we really need the query parser over here?
Q_FOREACH (const QString& str, d->involves) {
- m_queries << parser.parse_query(str.toStdString(), Xapian::QueryParser::FLAG_PARTIAL);
+ const QByteArray ba = str.toUtf8();
+ m_queries << parser.parse_query(ba.constData(), Xapian::QueryParser::FLAG_PARTIAL);
}
}
@@ -210,8 +211,8 @@ ResultIterator EmailQuery::exec()
Xapian::QueryParser parser;
parser.set_database(db);
parser.add_prefix("", "F");
-
- m_queries << parser.parse_query(d->from.toStdString(), Xapian::QueryParser::FLAG_PARTIAL);
+ const QByteArray ba = d->from.toUtf8();
+ m_queries << parser.parse_query(ba.constData(), Xapian::QueryParser::FLAG_PARTIAL);
}
if (!d->to.isEmpty()) {
@@ -220,7 +221,8 @@ ResultIterator EmailQuery::exec()
parser.add_prefix("", "T");
Q_FOREACH (const QString& str, d->to) {
- m_queries << parser.parse_query(str.toStdString(), Xapian::QueryParser::FLAG_PARTIAL);
+ const QByteArray ba = str.toUtf8();
+ m_queries << parser.parse_query(ba.constData(), Xapian::QueryParser::FLAG_PARTIAL);
}
}
@@ -230,7 +232,8 @@ ResultIterator EmailQuery::exec()
parser.add_prefix("", "CC");
Q_FOREACH (const QString& str, d->cc) {
- m_queries << parser.parse_query(str.toStdString(), Xapian::QueryParser::FLAG_PARTIAL);
+ const QByteArray ba = str.toUtf8();
+ m_queries << parser.parse_query(ba.constData(), Xapian::QueryParser::FLAG_PARTIAL);
}
}
@@ -240,7 +243,8 @@ ResultIterator EmailQuery::exec()
parser.add_prefix("", "BC");
Q_FOREACH (const QString& str, d->bcc) {
- m_queries << parser.parse_query(str.toStdString(), Xapian::QueryParser::FLAG_PARTIAL);
+ const QByteArray ba = str.toUtf8();
+ m_queries << parser.parse_query(ba.constData(), Xapian::QueryParser::FLAG_PARTIAL);
}
}
@@ -249,8 +253,8 @@ ResultIterator EmailQuery::exec()
parser.set_database(db);
parser.add_prefix("", "SU");
parser.set_default_op(Xapian::Query::OP_AND);
-
- m_queries << parser.parse_query(d->subjectMatchString.toStdString(),
+ const QByteArray ba = d->subjectMatchString.toUtf8();
+ m_queries << parser.parse_query(ba.constData(),
Xapian::QueryParser::FLAG_PARTIAL);
}
@@ -271,8 +275,8 @@ ResultIterator EmailQuery::exec()
parser.set_database(db);
parser.add_prefix("", "BO");
parser.set_default_op(Xapian::Query::OP_AND);
-
- m_queries << parser.parse_query(d->bodyMatchString.toStdString(), Xapian::QueryParser::FLAG_PARTIAL);
+ const QByteArray ba = d->bodyMatchString.toUtf8();
+ m_queries << parser.parse_query(ba.constData(), Xapian::QueryParser::FLAG_PARTIAL);
}
if (d->important == 'T')
@@ -297,7 +301,8 @@ ResultIterator EmailQuery::exec()
QStringList list = d->matchString.split(QRegExp("\\s"), QString::SkipEmptyParts);
Q_FOREACH (const QString& s, list) {
- m_queries << parser.parse_query(s.toStdString(),
+ const QByteArray ba = s.toUtf8();
+ m_queries << parser.parse_query(ba.constData(),
Xapian::QueryParser::FLAG_PARTIAL);
}
}
diff --git a/src/pim/lib/notequery.cpp b/src/pim/lib/notequery.cpp
index 24a3907..2257cc6 100644
--- a/src/pim/lib/notequery.cpp
+++ b/src/pim/lib/notequery.cpp
@@ -86,7 +86,8 @@ ResultIterator NoteQuery::exec()
parser.set_database(db);
parser.add_prefix("", "BO");
- m_queries << parser.parse_query(d->note.toStdString(), Xapian::QueryParser::FLAG_PARTIAL);
+ const QByteArray baNote = d->note.toUtf8();
+ m_queries << parser.parse_query(baNote.constData(), Xapian::QueryParser::FLAG_PARTIAL);
}
if (!d->title.isEmpty()) {
@@ -95,7 +96,8 @@ ResultIterator NoteQuery::exec()
parser.add_prefix("", "SU");
parser.set_default_op(Xapian::Query::OP_AND);
- m_queries << parser.parse_query(d->title.toStdString(), Xapian::QueryParser::FLAG_PARTIAL);
+ const QByteArray baTitle = d->title.toUtf8();
+ m_queries << parser.parse_query(baTitle.constData(), Xapian::QueryParser::FLAG_PARTIAL);
}
Xapian::Query query(Xapian::Query::OP_OR, m_queries.begin(), m_queries.end());
--
1.9.2
--
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 amarok for openSUSE:Factory checked in at 2014-04-22 07:37:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/amarok (Old)
and /work/SRC/openSUSE:Factory/.amarok.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "amarok"
Changes:
--------
--- /work/SRC/openSUSE:Factory/amarok/amarok.changes 2013-10-03 15:42:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.amarok.new/amarok.changes 2014-04-22 07:37:46.000000000 +0200
@@ -1,0 +2,4 @@
+Fri Mar 7 18:29:32 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Remove nepomuk-core from the buildrequires
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ amarok.spec ++++++
--- /var/tmp/diff_new_pack.IZlsZ2/_old 2014-04-22 07:37:48.000000000 +0200
+++ /var/tmp/diff_new_pack.IZlsZ2/_new 2014-04-22 07:37:48.000000000 +0200
@@ -70,7 +70,6 @@
BuildRequires: libqjson-devel
BuildRequires: libqt4-devel >= 4.8.2
BuildRequires: loudmouth-devel
-BuildRequires: nepomuk-core-devel
BuildRequires: oxygen-icon-theme
BuildRequires: qt4-qtscript
BuildRequires: taglib-devel
--
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 screen for openSUSE:Factory checked in at 2014-04-22 07:35:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/screen (Old)
and /work/SRC/openSUSE:Factory/.screen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "screen"
Changes:
--------
--- /work/SRC/openSUSE:Factory/screen/screen.changes 2013-09-14 19:09:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.screen.new/screen.changes 2014-04-22 07:35:24.000000000 +0200
@@ -1,0 +2,10 @@
+Tue Apr 15 14:27:09 UTC 2014 - aj(a)suse.com
+
+- Fix comment.
+
+-------------------------------------------------------------------
+Tue Apr 15 10:04:14 UTC 2014 - aj(a)suse.com
+
+- Use /run instead of /var/run.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ screen.spec ++++++
--- /var/tmp/diff_new_pack.P3g8Fo/_old 2014-04-22 07:35:25.000000000 +0200
+++ /var/tmp/diff_new_pack.P3g8Fo/_new 2014-04-22 07:35:25.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package screen
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -75,7 +75,7 @@
%build
CFLAGS="-DMAXWIN=1000 $RPM_OPT_FLAGS" %configure --prefix=/usr --infodir=%{_infodir} \
--mandir=%{_mandir} \
- --with-socket-dir='(eff_uid ? "/var/run/uscreens" : "/var/run/screens")' \
+ --with-socket-dir='(eff_uid ? "/run/uscreens" : "/run/screens")' \
--with-sys-screenrc=/etc/screenrc \
--with-pty-group=5 \
--enable-use-locale \
@@ -92,10 +92,10 @@
mkdir -p $RPM_BUILD_ROOT/etc
mkdir -p $RPM_BUILD_ROOT/usr/lib
mkdir -p $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
-mkdir -p $RPM_BUILD_ROOT/var/run/screens
-chmod 755 $RPM_BUILD_ROOT/var/run/screens
-mkdir -p $RPM_BUILD_ROOT/var/run/uscreens
-chmod 1777 $RPM_BUILD_ROOT/var/run/uscreens
+mkdir -p $RPM_BUILD_ROOT/run/screens
+chmod 755 $RPM_BUILD_ROOT/run/screens
+mkdir -p $RPM_BUILD_ROOT/run/uscreens
+chmod 1777 $RPM_BUILD_ROOT/run/uscreens
install -m 644 screenrc $RPM_BUILD_ROOT/etc/screenrc
install -m 644 %SOURCE1 $RPM_BUILD_ROOT/usr/lib/tmpfiles.d
@@ -108,8 +108,8 @@
/usr/lib/tmpfiles.d/screen.conf
/usr/share/screen/utf8encodings
# Created via aaa_base or systemd on system boot
-%ghost %dir /var/run/screens
-%ghost %dir /var/run/uscreens
+%ghost %dir /run/screens
+%ghost %dir /run/uscreens
%doc %{_infodir}/screen.info*.gz
%doc %{_mandir}/man1/screen.1.gz
@@ -118,8 +118,8 @@
# Create our dirs immediatly, after a manual package install.
# After a reboot systemd/aaa_base will take care.
-test -d /var/run/screens || mkdir -m 755 /var/run/screens
-test -d /var/run/uscreens || mkdir -m 1777 /var/run/uscreens
+test -d /run/screens || mkdir -m 755 /run/screens
+test -d /run/uscreens || mkdir -m 1777 /run/uscreens
%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
++++++ screen.conf ++++++
--- /var/tmp/diff_new_pack.P3g8Fo/_old 2014-04-22 07:35:25.000000000 +0200
+++ /var/tmp/diff_new_pack.P3g8Fo/_new 2014-04-22 07:35:25.000000000 +0200
@@ -1,4 +1,4 @@
-# Screen needs some files in /var/run:
-d /var/run/screens 0755 root root -
-d /var/run/uscreens 1777 root root -
+# Screen needs some files in /run:
+d /run/screens 0755 root root -
+d /run/uscreens 1777 root root -
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package filesystem for openSUSE:Factory checked in at 2014-04-22 07:35:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/filesystem (Old)
and /work/SRC/openSUSE:Factory/.filesystem.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "filesystem"
Changes:
--------
--- /work/SRC/openSUSE:Factory/filesystem/filesystem.changes 2014-01-09 07:13:17.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.filesystem.new/filesystem.changes 2014-04-22 07:35:23.000000000 +0200
@@ -1,0 +2,39 @@
+Fri Apr 11 14:02:07 CEST 2014 - ro(a)suse.de
+
+- change /sys to mode 0555 (bnc#871640)
+
+-------------------------------------------------------------------
+Wed Mar 12 10:19:17 CET 2014 - ro(a)suse.de
+
+- make /var/lock a symlink to /run/lock (bnc#867873)
+
+-------------------------------------------------------------------
+Fri Mar 7 11:11:05 CET 2014 - ro(a)suse.de
+
+- use lazy umount
+
+-------------------------------------------------------------------
+Thu Mar 6 01:03:53 CET 2014 - ro(a)suse.de
+
+- use os.execute("umount ...") instead of posix.umount("...")
+ bnc#866964
+
+-------------------------------------------------------------------
+Mon Mar 3 11:48:31 CET 2014 - ro(a)suse.de
+
+- change pre to pretrans for directory/symlink conversion
+
+-------------------------------------------------------------------
+Fri Feb 28 13:56:47 CET 2014 - ro(a)suse.de
+
+- drop /var/lib/pam_devperm (bnc#866234)
+
+-------------------------------------------------------------------
+Thu Feb 27 18:48:24 CET 2014 - ro(a)suse.de
+
+- replace /var/run by symlink to /run
+- try to handle case where /var/run is a bind-mount
+- extend lua script in preinstall to handle this transition
+- bnc#865893
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ filesystem.spec ++++++
--- /var/tmp/diff_new_pack.Y1D2s1/_old 2014-04-22 07:35:24.000000000 +0200
+++ /var/tmp/diff_new_pack.Y1D2s1/_new 2014-04-22 07:35:24.000000000 +0200
@@ -189,9 +189,26 @@
exit 1
}
-%pre -p <lua>
+%pretrans -p <lua>
os.remove ("/usr/include/X11")
os.remove ("/usr/lib/X11")
+st = posix.stat("/var/run")
+if st and st.type == "directory" then
+ sta = posix.stat("/var/run/systemd")
+ if sta and sta.type == "directory" then
+ os.execute("umount -l /var/run")
+ end
+ os.rename("/var/run","/var/run.old")
+ posix.symlink("/run","/var/run")
+ os.execute("rm -rf /var/run.old")
+end
+st = posix.stat("/var/lock")
+if st and st.type == "directory" then
+ os.execute("umount -l /var/lock")
+ os.rename("/var/lock","/var/lock.old")
+ posix.symlink("/run/lock","/var/lock")
+ os.execute("rm -rf /var/lock.old")
+end
%files -f filesystem.list
++++++ directory.list ++++++
--- /var/tmp/diff_new_pack.Y1D2s1/_old 2014-04-22 07:35:24.000000000 +0200
+++ /var/tmp/diff_new_pack.Y1D2s1/_new 2014-04-22 07:35:24.000000000 +0200
@@ -68,13 +68,14 @@
0700 root root /root/.gnupg
0755 root root /root/bin
0755 root root /run
+0775 root lock /run/lock
0755 root root /sbin
0755 root root /selinux
0755 root root /srv/ftp
0755 root root /srv/www
0755 root root /srv/www/cgi-bin
0755 root root /srv/www/htdocs
-0755 root root /sys
+0555 root root /sys
1777 root root /tmp
0755 root root /usr
0755 root root /usr/bin
@@ -170,10 +171,7 @@
0755 root root /var/games
0755 root root /var/lib/misc
0755 nobody root /var/lib/nobody
-0700 root root /var/lib/pam_devperm
0755 wwwrun root /var/lib/wwwrun
-1775 root lock /var/lock
-0755 root root /var/run
0755 root root /var/spool
0755 lp lp /var/spool/lpd
0770 mail mail /var/spool/clientmqueue
++++++ filesystem.links ++++++
--- /var/tmp/diff_new_pack.Y1D2s1/_old 2014-04-22 07:35:24.000000000 +0200
+++ /var/tmp/diff_new_pack.Y1D2s1/_new 2014-04-22 07:35:24.000000000 +0200
@@ -1,7 +1,12 @@
# links to be created
init.d /etc/rc.d
../var/tmp /usr/tmp
-../lock /var/spool/locks
# Required for FHS 2.1
spool/mail /var/mail
+# systemd
+../run /var/run
+../run/lock /var/lock
+# modify
+../../run/lock /var/spool/locks
+
--
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 shim for openSUSE:Factory checked in at 2014-04-21 11:05:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shim (Old)
and /work/SRC/openSUSE:Factory/.shim.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shim"
Changes:
--------
--- /work/SRC/openSUSE:Factory/shim/shim.changes 2014-04-20 11:35:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.shim.new/shim.changes 2014-04-21 11:05:28.000000000 +0200
@@ -2,110 +1,0 @@
-Thu Apr 10 08:20:20 UTC 2014 - glin(a)suse.com
-
-- Replace shim-mokmanager-support-sha1.patch with
- shim-mokmanager-support-sha-family.patch to support the SHA
- family
-
--------------------------------------------------------------------
-Mon Apr 7 09:32:21 UTC 2014 - glin(a)suse.com
-
-- Add shim-mokmanager-support-sha1.patch to support SHA1 hashes in
- MOK
-
--------------------------------------------------------------------
-Mon Mar 31 11:57:13 UTC 2014 - mchang(a)suse.com
-
-- snapper rollback support (fate#317062)
- - refresh shim-install
-
--------------------------------------------------------------------
-Thu Mar 13 02:32:15 UTC 2014 - glin(a)suse.com
-
-- Insert the right signature (bnc#867974)
-
--------------------------------------------------------------------
-Mon Mar 10 07:56:44 UTC 2014 - glin(a)suse.com
-
-- Add shim-fix-uninitialized-variable.patch to fix the use of
- uninitialzed variables in lib
-
--------------------------------------------------------------------
-Fri Mar 7 09:09:12 UTC 2014 - glin(a)suse.com
-
-- Add shim-mokmanager-delete-bs-var-right.patch to delete the BS+NV
- variables the right way
-- Update shim-opensuse-cert-prompt.patch to delete openSUSE_Verify
- correctly
-
--------------------------------------------------------------------
-Thu Mar 6 07:37:57 UTC 2014 - glin(a)suse.com
-
-- Add shim-fallback-avoid-duplicate-bootorder.patch to fix the
- duplicate entries in BootOrder
-- Add shim-allow-fallback-use-system-loadimage.patch to handle the
- shim protocol properly to keep only one protocol entity
-- Refresh shim-opensuse-cert-prompt.patch
-
--------------------------------------------------------------------
-Thu Mar 6 03:53:49 UTC 2014 - mchang(a)suse.com
-
-- shim-install: fix the $prefix to use grub2-mkrelpath for paths
- on btrfs subvolume (bnc#866690).
-
--------------------------------------------------------------------
-Tue Mar 4 04:19:05 UTC 2014 - glin(a)suse.com
-
-- FATE#315002: Update shim-install to install shim.efi as the EFI
- default bootloader when none exists in \EFI\boot.
-
--------------------------------------------------------------------
-Thu Feb 27 09:46:49 UTC 2014 - fcrozat(a)suse.com
-
-- Update signature-sles.asc: shim signed by UEFI signing service,
- based on code from "Thu Feb 20 11:57:01 UTC 2014"
-
--------------------------------------------------------------------
-Fri Feb 21 08:45:46 UTC 2014 - glin(a)suse.com
-
-- Add shim-opensuse-cert-prompt.patch to show the prompt to ask
- whether the user trusts the openSUSE certificate or not
-
--------------------------------------------------------------------
-Thu Feb 20 11:57:01 UTC 2014 - lnussel(a)suse.de
-
-- allow package to carry multiple signatures
-- check correct certificate is embedded
-
--------------------------------------------------------------------
-Thu Feb 20 10:06:47 UTC 2014 - lnussel(a)suse.de
-
-- always clean up generated files that embed certificates
- (shim_cert.h shim.cer shim.crt) to make sure next build loop
- rebuilds them properly
-
--------------------------------------------------------------------
-Mon Feb 17 09:58:56 UTC 2014 - glin(a)suse.com
-
-- Add shim-bnc863205-mokmanager-fix-hash-delete.patch to fix the
- hash deletion operation to avoid ruining the whole list
- (bnc#863205)
-
--------------------------------------------------------------------
-Tue Feb 11 06:30:02 UTC 2014 - glin(a)suse.com
-
-- Update shim-mokx-support.patch to support the resetting of MOK
- blacklist
-- Add shim-get-variable-check.patch to fix the variable checking
- in get_variable_attr
-- Add shim-improve-fallback-entries-creation.patch to improve the
- boot entry pathes and avoid generating the boot entries that
- are already there
-- Update SUSE certificate
-- Update attach_signature.sh, show_hash.sh, strip_signature.sh,
- extract_signature.sh and show_signatures.sh to remove the
- creation of the temporary nss database
-- Add shim-only-os-name.patch: remove the kernel version of the
- build server
-- Match the the prefix of the project name properly by escaping the
- percent sign.
-
--------------------------------------------------------------------
Old:
----
shim-allow-fallback-use-system-loadimage.patch
shim-bnc863205-mokmanager-fix-hash-delete.patch
shim-fallback-avoid-duplicate-bootorder.patch
shim-fallback-improve-entries-creation.patch
shim-fix-uninitialized-variable.patch
shim-get-variable-check.patch
shim-mokmanager-delete-bs-var-right.patch
shim-mokmanager-support-sha-family.patch
shim-only-os-name.patch
shim-opensuse-cert-prompt.patch
signature-opensuse.asc
signature-sles.asc
New:
----
microsoft.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ shim.spec ++++++
--- /var/tmp/diff_new_pack.caxf2B/_old 2014-04-21 11:05:29.000000000 +0200
+++ /var/tmp/diff_new_pack.caxf2B/_new 2014-04-21 11:05:29.000000000 +0200
@@ -28,7 +28,7 @@
Source: %{name}-%{version}.tar.bz2
# run "extract_signature.sh shim.efi" where shim.efi is the binary
# with the signature from the UEFI signing service.
-Source1: signature-opensuse.asc
+Source1: microsoft.asc
Source2: openSUSE-UEFI-CA-Certificate.crt
Source3: shim-install
Source4: SLES-UEFI-CA-Certificate.crt
@@ -38,8 +38,6 @@
Source8: show_signatures.sh
Source9: openSUSE-UEFI-CA-Certificate-4096.crt
Source10: timestamp.pl
-Source11: strip_signature.sh
-Source12: signature-sles.asc
# PATCH-FIX-UPSTREAM shim-fix-verify-mok.patch glin(a)suse.com -- Fix the error handling in verify_mok()
Patch1: shim-fix-verify-mok.patch
# PATCH-FIX-UPSTREAM shim-improve-error-messages.patch glin(a)suse.com -- Improve the error messages
@@ -52,26 +50,6 @@
Patch5: shim-mokx-support.patch
# PATCH-FIX-UPSTREAM shim-mokmanager-handle-keystroke-error.patch glin(a)suse.com -- Handle the error status from ReadKeyStroke to avoid the unexpected keys
Patch6: shim-mokmanager-handle-keystroke-error.patch
-# PATCH-FIX-SUSE shim-only-os-name.patch glin(a)suse.com -- Only include the OS name in version.c
-Patch7: shim-only-os-name.patch
-# PATCH-FIX-UPSTREAM shim-get-variable-check.patch glin(a)suse.com -- Fix the variable checking in get_variable_attr
-Patch8: shim-get-variable-check.patch
-# PATCH-FIX-UPSTREAM shim-fallback-improve--entries-creation.patch glin(a)suse.com -- Improve the boot entry pathes and avoid generating the boot entries that are already there
-Patch9: shim-fallback-improve-entries-creation.patch
-# PATCH-FIX-UPSTREAM shim-bnc863205-mokmanager-fix-hash-delete.patch bnc#863205 glin(a)suse.com -- Fix the hash deletion operation to avoid ruining the whole list
-Patch10: shim-bnc863205-mokmanager-fix-hash-delete.patch
-# PATCH-FIX-UPSTREAM shim-fallback-avoid-duplicate-bootorder.patch glin(a)suse.com -- Fix the duplicate BootOrder entries generated by fallback.efi
-Patch11: shim-fallback-avoid-duplicate-bootorder.patch
-# PATCH-FIX-UPSTREAM shim-allow-fallback-use-system-loadimage.patch glin(a)suse.com -- Handle the shim protocol properly to keep only one protocol entity
-Patch12: shim-allow-fallback-use-system-loadimage.patch
-# PATCH-FIX-UPSTREAM shim-mokmanager-delete-bs-var-right.patch glin(a)suse.com -- Delete BootService non-volatile variables the right way
-Patch13: shim-mokmanager-delete-bs-var-right.patch
-# PATCH-FIX-UPSTREAM shim-fix-uninitialized-variable.patch glin(a)suse.com -- Initialize the variable in lib properly
-Patch14: shim-fix-uninitialized-variable.patch
-# PATCH-FIX-UPSTREAM shim-mokmanager-support-sha-family.patch glin(a)suse.com -- Support SHA hashes in MOK
-Patch15: shim-mokmanager-support-sha-family.patch
-# PATCH-FIX-OPENSUSE shim-opensuse-cert-prompt.patch glin(a)suse.com -- Show the prompt to ask whether the user trusts openSUSE certificate or not
-Patch100: shim-opensuse-cert-prompt.patch
BuildRequires: gnu-efi >= 3.0t
BuildRequires: mozilla-nss-tools
BuildRequires: openssl >= 0.9.8
@@ -100,16 +78,6 @@
%patch4 -p1
%patch5 -p1
%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch100 -p1
%build
# first, build MokManager and fallback as they don't depend on a
@@ -140,18 +108,12 @@
if test "$suffix" = "opensuse"; then
cert=%{SOURCE2}
cert2=%{SOURCE9}
- verify='openSUSE Secure Boot CA1'
- signature=%{SOURCE1}
elif test "$suffix" = "sles"; then
cert=%{SOURCE4}
cert2=''
- verify='SUSE Linux Enterprise Secure Boot CA1'
- signature=%{SOURCE12}
elif test "$suffix" = "devel"; then
cert=%{_sourcedir}/_projectcert.crt
cert2=''
- verify=`openssl x509 -in "$cert" -noout -email`
- signature=''
test -e "$cert" || continue
else
echo "invalid suffix"
@@ -159,7 +121,6 @@
fi
openssl x509 -in $cert -outform DER -out shim-$suffix.der
- rm -f shim_cert.h shim.cer shim.crt
if [ -z "$cert2" ]; then
# create empty local cert file, we don't need a local key pair as we
# sign the mokmanager with our vendor key
@@ -167,39 +128,36 @@
touch shim.cer
else
cp $cert2 shim.crt
+ rm -f shim.cer
fi
# make sure cast warnings don't trigger post build check
make EFI_PATH=/usr/lib64 VENDOR_CERT_FILE=shim-$suffix.der shim.efi 2>/dev/null
- #
- # assert correct certificate embedded
- grep -q "$verify" shim.efi
# make VENDOR_CERT_FILE=cert.der VENDOR_DBX_FILE=dbx
- chmod 755 %{SOURCE10}
+ chmod 755 %{SOURCE6} %{SOURCE7} %{SOURCE10}
# alternative: verify signature
#sbverify --cert MicCorThiParMarRoo_2010-10-05.pem shim-signed.efi
- if test -n "$signature"; then
- head -1 "$signature" > hash1
+ head -1 %{SOURCE1} > hash1
cp shim.efi shim.efi.bak
# pe header contains timestamp and checksum. we need to
# restore that
- %{SOURCE10} --set-from-file "$signature" shim.efi
- pesign -h -P -i shim.efi > hash2
+ %{SOURCE10} --set-from-file %{SOURCE1} shim.efi
+ %{SOURCE7} shim.efi > hash2
cat hash1 hash2
if ! cmp -s hash1 hash2; then
- echo "ERROR: $suffix binary changed, need to request new signature!"
+ echo "ERROR: binary changed, need to request new signature!"
# don't fail in devel projects
prj="%{_project}"
- if [ "${prj%%%:*}" = "openSUSE" -o "${prj%%%:*}" = "SUSE" ]; then
+ if [ "${prj%%:*}" = "openSUSE" -o "${prj%%:*}" = "SUSE" ]; then
false
fi
mv shim.efi.bak shim-$suffix.efi
rm shim.efi
else
# attach signature
- pesign -m "$signature" -i shim.efi -o shim-$suffix.efi
+ %{SOURCE6} %{SOURCE1} shim.efi
+ mv shim-signed.efi shim-$suffix.efi
rm -f shim.efi
fi
- fi
rm -f shim.cer shim.crt
# make sure cert.o gets rebuilt
rm -f cert.o
++++++ SLES-UEFI-CA-Certificate.crt ++++++
--- /var/tmp/diff_new_pack.caxf2B/_old 2014-04-21 11:05:29.000000000 +0200
+++ /var/tmp/diff_new_pack.caxf2B/_new 2014-04-21 11:05:29.000000000 +0200
@@ -1,29 +1,39 @@
-----BEGIN CERTIFICATE-----
-MIIE5TCCA82gAwIBAgIBATANBgkqhkiG9w0BAQsFADCBpjEtMCsGA1UEAwwkU1VT
+MIIG5TCCBM2gAwIBAgIBATANBgkqhkiG9w0BAQsFADCBpjEtMCsGA1UEAwwkU1VT
RSBMaW51eCBFbnRlcnByaXNlIFNlY3VyZSBCb290IENBMQswCQYDVQQGEwJERTES
MBAGA1UEBwwJTnVyZW1iZXJnMSEwHwYDVQQKDBhTVVNFIExpbnV4IFByb2R1Y3Rz
IEdtYkgxEzARBgNVBAsMCkJ1aWxkIFRlYW0xHDAaBgkqhkiG9w0BCQEWDWJ1aWxk
-QHN1c2UuZGUwHhcNMTMwNDE4MTQzMzQxWhcNMzUwMzE0MTQzMzQxWjCBpjEtMCsG
+QHN1c2UuZGUwHhcNMTMwMTIyMTQyMDA4WhcNMzQxMjE4MTQyMDA4WjCBpjEtMCsG
A1UEAwwkU1VTRSBMaW51eCBFbnRlcnByaXNlIFNlY3VyZSBCb290IENBMQswCQYD
VQQGEwJERTESMBAGA1UEBwwJTnVyZW1iZXJnMSEwHwYDVQQKDBhTVVNFIExpbnV4
IFByb2R1Y3RzIEdtYkgxEzARBgNVBAsMCkJ1aWxkIFRlYW0xHDAaBgkqhkiG9w0B
-CQEWDWJ1aWxkQHN1c2UuZGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
-AQDN/avXKoT4gcM2NVA1LMfsBPH01sxgS8gTs3SbvfbEP2M+ZlHyfj9ufHZ7cZ1p
-ISoVm6ql5VbIeZgSNc17Y4y4Nynud1C8t2SP/iZK5YMYHGxdtIfv1zPE+Bo/KZqE
-WgHg2YFtMXdiKfXBZRTfSh37t0pGO/OQi6K4JioKw55UtQNggePZWDXtsAviT2vv
-abqLR9+kxdrQ0iWqhWM+LwXbTGkCpg41s8KucLD/JYAxxw05dKPApFDNnz+Ft2L7
-e5JtyB4S0u4PlvQBMNHt4hDs0rK4oeHFLbOxHvjF+nloneWhkg9eT0VCfpAYVYz+
-whMxuCHerDCdmeFrRGEMQz11AgMBAAGjggEaMIIBFjAPBgNVHRMBAf8EBTADAQH/
-MB0GA1UdDgQWBBTsqw1CxFbPdwQ2uXOZOGKWXocmLzCB0wYDVR0jBIHLMIHIgBTs
-qw1CxFbPdwQ2uXOZOGKWXocmL6GBrKSBqTCBpjEtMCsGA1UEAwwkU1VTRSBMaW51
-eCBFbnRlcnByaXNlIFNlY3VyZSBCb290IENBMQswCQYDVQQGEwJERTESMBAGA1UE
-BwwJTnVyZW1iZXJnMSEwHwYDVQQKDBhTVVNFIExpbnV4IFByb2R1Y3RzIEdtYkgx
-EzARBgNVBAsMCkJ1aWxkIFRlYW0xHDAaBgkqhkiG9w0BCQEWDWJ1aWxkQHN1c2Uu
-ZGWCAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4IBAQASviyFhVqU
-Wc1JUQgXwdljJynTnp0/FQOZJBSe7XdBGPmy91+3ITqrXgyqo/218KISiQl53Qlw
-pq+cIiGRAia1D7p7wbg7wsg+Trt0zZFXes30wfYq5pjfWadEBAgNCffkBz10TSjL
-jQrVwW5N+yUJMoq+r843TzV56Huy6LBOVhI5yTz7X7i2rSJYfyQWM8oeHLj8Yl5M
-rOB9gyTumxB4mOLmSqwKzJiUB0ppGPohdLUSSEKDdo6KSH/GjR7M7uBicwnzwJD3
-SVfT9nx9HKF2nXZlHvs5ViQQru3qP1tc6i0eXEnPTYW2+zkZcN0e5iHyozEZHsO0
-rvc1p6G0YWtO
+CQEWDWJ1aWxkQHN1c2UuZGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
+AQCrLYL1Uq02iIgro6x6PFESFDtUKU7xO/bJanI7+AQAroowFuLBI67BBSmoq3hR
+QnH3OtQusGV8y+wvjaaunppvWMfjViZ88zssj5fKXrDr5U6BB566DJgHreWaEs2d
+FD13XpKRr3Nk9zdjAJu5YsR7hI1NMXsnj1X8w71OY9HLjv+Kq9917PJwZQjOGnAJ
+BQTi0ogHuLiwDqMKgg5rrYD4cJDPzoLEmEXnwHDIOSiWdD0bCzhN6GQDKldIxQ2O
+d/mjUgzB+dWslIb+bUKaoJgDtyPV20W74t7Y2uwoaEVr9QkPoM3tOPttf4qsWo8B
+J1TgeoF01ZeKcvSyvOXCKbfAN9sqURK2ZUTNThqZ//VPQmJP6fByrMJsbvTOSsQt
+HI+fFPrg1DC2KT8SzuGtWDRscHZ7MofvUKEQolVgkGwp8u68t/RAAwDpUdqIajzi
+yfp9qSDD+9uMeyiLa4rrAr2ATGohNBa0qha95slgvSepXbYKuHG5b4fWMsG7z4Uc
+dqE2vK8cQma1nsAeQBaq2/89294TOHEzKyspesfCBCnKQ3q+l9xelYRdvapj1CH/
+cfUZf2/6X3VHN1P88RfRrPubswmrcOCEBT41upa2WKRDJ1GS6YhL6LJnrZSTjfe+
+KsfNVS1D+KqSKiK0hfk6YK6O88mMGeAKQs3Ap8WthBLf0QIDAQABo4IBGjCCARYw
+DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPU1Az5OFOQJLHPxaEt7f6LF+dV8w
+gdMGA1UdIwSByzCByIAUPU1Az5OFOQJLHPxaEt7f6LF+dV+hgaykgakwgaYxLTAr
+BgNVBAMMJFNVU0UgTGludXggRW50ZXJwcmlzZSBTZWN1cmUgQm9vdCBDQTELMAkG
+A1UEBhMCREUxEjAQBgNVBAcMCU51cmVtYmVyZzEhMB8GA1UECgwYU1VTRSBMaW51
+eCBQcm9kdWN0cyBHbWJIMRMwEQYDVQQLDApCdWlsZCBUZWFtMRwwGgYJKoZIhvcN
+AQkBFg1idWlsZEBzdXNlLmRlggEBMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0B
+AQsFAAOCAgEANtdMT47CjQtuERYa5jfygIO5F+urB4fl8pYcQQ/hTPE0KtAnAtrS
+1strtMrVQ1t7Wu3fVbWYA6MZMXXkcwyyNbaWfj6roaSC6G5ZqCJ69oSyzaCbyaTI
+eOgzIIiVGOAj7tiM6T88Xp9qx4Xa3F6UQHF6xfwBT3nNKerGKOG01p7mBfBewwO5
+Hxp7OAZmennUxV1uuT5/AsArxw9lMlawXhIAS7tRYHW+32D4tjHPDycldOw1hBjt
+z5JdehBiTmxhJ6onl0HSpsX84IMSbkeFIxLfxIF0TNas1pGnSGmh8FcV+ck9js3P
+yamJcNkgCstIwo3QZ2D5YdtQjOusyEuGjCIpDIQx36OMzeOo0SayOdzb2dSmcrHv
+4DIkXDUELyIzu79A2R2KR7OQaGL6HGAVy6+yXHHygTbbUrb6ck2+aOG8913ChABc
+ZAiSFFRKVZzzj7FeIxZNA8GBUbhd20eQB2fUXDypeAnTG6P3dtTs84xNb1qGm3VC
+OAKjkWYQijLWmAOs9Q4NM/AXOeDTgXxA7iX7kWHRNeDbACirp7zM2ZOIP5ObIS6z
+yMqcG9DecSVbXiH3MJDTBoB1idQTTyreqpM/l6N8xNNVjEiLJGMEM1SeYq6S1lFV
+a+GcdOaLYkh7ya3I42l/tDOqH2OLIf7FEtocnc1xU6jTz8au1tZxec8=
-----END CERTIFICATE-----
++++++ attach_signature.sh ++++++
--- /var/tmp/diff_new_pack.caxf2B/_old 2014-04-21 11:05:29.000000000 +0200
+++ /var/tmp/diff_new_pack.caxf2B/_new 2014-04-21 11:05:29.000000000 +0200
@@ -11,4 +11,13 @@
outfile="${infile%.efi}-signed.efi"
-pesign -m "$sig" -i "$infile" -o "$outfile"
+nssdir=`mktemp -d`
+cleanup()
+{
+ rm -r "$nssdir"
+}
+trap cleanup EXIT
+echo > "$nssdir/pw"
+certutil -f "$nssdir/pw" -d "$nssdir" -N
+
+pesign -n "$nssdir" -m "$sig" -i "$infile" -o "$outfile"
++++++ extract_signature.sh ++++++
--- /var/tmp/diff_new_pack.caxf2B/_old 2014-04-21 11:05:29.000000000 +0200
+++ /var/tmp/diff_new_pack.caxf2B/_new 2014-04-21 11:05:29.000000000 +0200
@@ -9,7 +9,16 @@
exit 1
fi
+nssdir=`mktemp -d`
+cleanup()
+{
+ rm -r "$nssdir"
+}
+trap cleanup EXIT
+echo > "$nssdir/pw"
+certutil -f "$nssdir/pw" -d "$nssdir" -N
+
# wtf?
-(pesign -h -P -i "$infile";
+(pesign -n "$nssdir" -h -P -i "$infile";
perl $(dirname $0)/timestamp.pl "$infile";
-pesign -a -f -e /dev/stdout -i "$infile")|cat
+pesign -n "$nssdir" -a -f -e /dev/stdout -i "$infile")|cat
++++++ microsoft.asc ++++++
hash: 97a8c5ba11d61fefbb5d6a05da4e15ba472dc4c6cd4972fc1a035de321342fe4
# 2013-10-01 08:29:53
timestamp: 524a8801
checksum: d364
-----BEGIN AUTHENTICODE SIGNATURE-----
MIIh8QYJKoZIhvcNAQcCoIIh4jCCId4CAQExDzANBglghkgBZQMEAgEFADBcBgor
BgEEAYI3AgEEoE4wTDAXBgorBgEEAYI3AgEPMAkDAQCgBKICgAAwMTANBglghkgB
ZQMEAgEFAAQgl6jFuhHWH++7XWoF2k4VukctxMbNSXL8GgNd4yE0L+Sgggs8MIIF
JDCCBAygAwIBAgITMwAAAApmQvP0n7c3lgABAAAACjANBgkqhkiG9w0BAQsFADCB
gTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UEAxMi
TWljcm9zb2Z0IENvcnBvcmF0aW9uIFVFRkkgQ0EgMjAxMTAeFw0xMzA5MjQxNzU0
MDNaFw0xNDEyMjQxNzU0MDNaMIGVMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
cnBvcmF0aW9uMQ0wCwYDVQQLEwRNT1BSMTAwLgYDVQQDEydNaWNyb3NvZnQgV2lu
ZG93cyBVRUZJIERyaXZlciBQdWJsaXNoZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQCc2PZRP3t6i2DCLSAuWrFHZKfyD98yckc9yxqqqJACgekdZi4s
ZEN1vYcVfiUhW4hFpdH3kcPah7wf+uqgyQa1hb/9AzDH63JYfaHLWA+Jx0leY0cG
CsIFviaUHrCEgxhkeXdrGfHroDcWArv2yBBvj+zvePVE9/VpDoBK+2nAFxz0oG23
BzE5duVpHIZn96fNyoDKYvCf649VqjM+O5/b5jlDylkMWAIVTvWqE0r/7YnC1Vcc
cgJDQk8IaIWSepRsjrvvf8C8uG3ZSxVjQeuPz7ETAryJIWvYdz240MzVAJD7SazH
SbVJm1LPHfS2FEpx3uUNOuo3IJrrxqeals8FAgMBAAGjggF9MIIBeTAfBgNVHSUE
GDAWBggrBgEFBQcDAwYKKwYBBAGCN1ACATAdBgNVHQ4EFgQU6t49RpSALGo0XSnP
ixuEhp5y0NEwUQYDVR0RBEowSKRGMEQxDTALBgNVBAsTBE1PUFIxMzAxBgNVBAUT
KjMxNjE5KzAxMjU1ZjQ2LTc0ZjUtNGZjNC1iYzcxLWU0ZGE5NzM2YmVlZTAfBgNV
HSMEGDAWgBQTrb9DCb2CcJyM1U8xbtUimIob1DBTBgNVHR8ETDBKMEigRqBEhkJo
dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb3JVRUZDQTIw
MTFfMjAxMS0wNi0yNy5jcmwwYAYIKwYBBQUHAQEEVDBSMFAGCCsGAQUFBzAChkRo
dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvclVFRkNB
MjAxMV8yMDExLTA2LTI3LmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUA
A4IBAQAqJ9a9LzTGipmJ7IVkSf5JNK1cBhXsWBlmQ5kFNzeoa+RskUuUeM45NTS3
We7F628BW3BrhT8dK+Uf6YB7F46qng+VWNal2RPFjHSSy60QartzlUJoAaQvNjhC
5gv3LQRmaIZdtdjOLJAclnMETQWrt0wXGsGYwPk3a7kYXsdSO7U+bSwRRkL/v74g
78bCVxwgBhWctw/yxCjpl/bOg79XrZpHxH3szpgwz4YaFWRxxiYAoCYLROKeqObj
PEB8BG83vkpG3K84wBiyT5ab63FtjnbOvD0dGRNO1vIWzC41eEi0mYGW69cya8o+
Ot4bqI6YYSpWmkah9FhW9OLfoCpdMIIGEDCCA/igAwIBAgIKYQjTxAAAAAAABDAN
BgkqhkiG9w0BAQsFADCBkTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbjE7MDkGA1UEAxMyTWljcm9zb2Z0IENvcnBvcmF0aW9uIFRoaXJkIFBhcnR5
IE1hcmtldHBsYWNlIFJvb3QwHhcNMTEwNjI3MjEyMjQ1WhcNMjYwNjI3MjEzMjQ1
WjCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT
B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UE
AxMiTWljcm9zb2Z0IENvcnBvcmF0aW9uIFVFRkkgQ0EgMjAxMTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKUIbEzHRQlqSwykwId/BnUMQwFUZOAWfwft
kn0LsnO/DArGSkVhoMUWLZbT9Sug+01Jm0GAkDy5VP3mvNGdxKQYin9BilxZg2gy
u4xHye5xvCFPmop8/0Q/jY8ysiZIrnW17slMHkoZfuSCmh14d00MsL32D9MW07z6
K6VROF31+7rbeALb/+wKG5bVg7gZE+m2wHtAe+EfKCfJ+u9WXhzmfpR+wPBEsnk5
5dqyYotNvzhw4mgkFMkzpAg31VhpXtN87cEEUwjnTrAqh2MIYW9jFVnqsit51wxh
Z4pb/V6th3+6hmdPcVgSIgQiIs6L71RxAM5QNVh2lQjuarGiAdUCAwEAAaOCAXYw
ggFyMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFPjBa7d/d1NK
8yU3HU6hJnsPIHCAMB0GA1UdDgQWBBQTrb9DCb2CcJyM1U8xbtUimIob1DAZBgkr
BgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
AwEB/zAfBgNVHSMEGDAWgBRFZlJD4X5YEb/WTp4jVQg7OiJqqDBcBgNVHR8EVTBT
MFGgT6BNhktodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0
cy9NaWNDb3JUaGlQYXJNYXJSb29fMjAxMC0xMC0wNS5jcmwwYAYIKwYBBQUHAQEE
VDBSMFAGCCsGAQUFBzAChkRodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl
cnRzL01pY0NvclRoaVBhck1hclJvb18yMDEwLTEwLTA1LmNydDANBgkqhkiG9w0B
AQsFAAOCAgEANQhC/zDMzvd2DK0QaFg1KUYydid87xJBJ0IbSqptgThIWRNV8+lY
NKYWC4KqXa2C2oCDQQaPtB3yA7nzGl0b8VCQ+bNVhEIoHCC9sq5RFMXArJeVIRyQ
2w/8d56Vc5GIyr29UrkFUA3fV56gYe0N5W0l2UAPF0DIzqNKwk2vmhIdCFSPvce8
uSs9SSsfMvxqIWlPm8h+QjT8NgYXi48gQMCzmiV1J83JA6P2XdHnNlR6uVC10xLR
B7+7dN/cHo+A1e0Y9C8UFmsv3maMsCPlx4TY7erBM4KtVksYLfFolQfNz/By8K67
3YaFmCwhTDMr8A9K8GiHtZJVMnWhaoJqPKMlEaTtrdcErsvYQFmghNGVTGKRIhp0
HYw9Rw5EpuSwmzQ1sfq2U6gsgeykBXHInbi66BtEZuRHVA6OVn+znxaYsobQaD6Q
I7UvXo9QhY3GjYJfQaH0Lg3gmdJsdeS2abUhhvoH0fbiTdHarSx3Ux4lMjfHbFJy
lYaw8TVhahn1sjuBUFamMi3+oon5QoYnGFWhgspam/gwmFQUpkeWJS/IJuRBlBpc
Aj/lluOFWzw+P7tHFnJV4iUisdl75wMGKqP3HpBGwwAN1hmJ4w41J2IDcRWm79An
oKBZN2D4OJS44Hhw+LpMhoeU9uCuAkXuZcK2o35pFnUHkpv1prxZg1gxghYoMIIW
JAIBATCBmTCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEr
MCkGA1UEAxMiTWljcm9zb2Z0IENvcnBvcmF0aW9uIFVFRkkgQ0EgMjAxMQITMwAA
AApmQvP0n7c3lgABAAAACjANBglghkgBZQMEAgEFAKCCAREwGQYJKoZIhvcNAQkD
MQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJ
KoZIhvcNAQkEMSIEIOBR1lXJ0yMtGJm8ETD6MEFIJCyjBPLlLe2aF6PcGN1xMIGk
BgorBgEEAYI3AgEMMYGVMIGSoF6AXABoAHQAdABwADoALwAvAHcAdwB3AC4AbQBp
AGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAHcAaABkAGMALwBoAGMAbAAvAGQAZQBm
AGEAdQBsAHQALgBtAHMAcAB4oTCALmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS93
aGRjL2hjbC9kZWZhdWx0Lm1zcHgwDQYJKoZIhvcNAQEBBQAEggEAVajbL42oQSy1
NUS6HAoCq0L01hhN9fHn8acFrSpXK+GjijNspEcxVWSmJCWUWj4oVgBU7hgB2cFr
YBm7M6VLl0h45tCI0jyHURNs4bYeKhBlywIAKQ1B3sxBi84vrNmVv7tZqtV8eAte
tmX/8X6mOObVtD1YfYRVc2/EAEqv/Dee3BKb2/3MJ8TlUDuPZ1yAjAq4MViGs0J3
m4T63cugiWPuoaZEGJ6eaPiVXPcEKiDDOboCMm6MY1CLADE0moMrQ86dtbmycXIu
N44ImKRkPSSCnRbmNDl/OkITHAicitORyvpet6uciDQtXQEq8xuRHJ7tOrwTmuLs
r+BEVn7BR6GCE0owghNGBgorBgEEAYI3AwMBMYITNjCCEzIGCSqGSIb3DQEHAqCC
EyMwghMfAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggE9BgsqhkiG9w0BCRABBKCCASwE
ggEoMIIBJAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCBfmL3wsdu9
3kovdSnRVAah9huZNZbgGFJ05HSVLqfy9gIGUmk4IyjpGBMyMDEzMTAzMDE5MTY0
My42ODZaMAcCAQGAAgH0oIG5pIG2MIGzMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
IENvcnBvcmF0aW9uMQ0wCwYDVQQLEwRNT1BSMScwJQYDVQQLEx5uQ2lwaGVyIERT
RSBFU046QzBGNC0zMDg2LURFRjgxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0
YW1wIFNlcnZpY2Wggg7NMIIGcTCCBFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG
9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEy
MDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
MTAwHhcNMTAwNzAxMjEzNjU1WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJV
UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt
ZS1TdGFtcCBQQ0EgMjAxMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AKkdDbx3EYo6IOz8E5f1+n9plGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vw
FVMnBDEfQRsalR3OCROOfGEwWbEwRA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNF
DdDq9UeBzb8kYDJYYEbyWEeGMoQedGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC7
32H8RsEnHSRnEnIaIYqvS2SJUGKxXf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOW
RH7v0Ev9buWayrGo8noqCjHw2k4GkbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJ
k3jN/LzAyURdXhacAQVPIk0CAwEAAaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEA
MB0GA1UdDgQWBBTVYzpcijGQ80N7fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4K
AFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME
GDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRw
Oi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJB
dXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5o
dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8y
MDEwLTA2LTIzLmNydDCBoAYDVR0gAQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEw
PQYIKwYBBQUHAgEWMWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9D
UFMvZGVmYXVsdC5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABv
AGwAaQBjAHkAXwBTAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQAD
ggIBAAfmiFEN4sbgmD+BcQM9naOhIW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/1
5/B4vceoniXj+bzta1RXCCtRgkQS+7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRW
S3TvQhDIr79/xn/yN31aPxzymXlKkVIArzgPF/UveYFl2am1a+THzvbKegBvSzBE
JCI8z+0DpZaPWSm8tv0E4XCfMkon/VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/
3cVKC5Em4jnsGUpxY517IW3DnKOiPPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9
nhquBEKDuLWAmyI4ILUl5WTs9/S/fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5H
moDF0M2n0O99g/DhO3EJ3110mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv3
3nJ+YWtvd6mBy6cJrDm77MbL2IK0cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI
5pgt6o3gMy4SKfXAL1QnIffIrE7aKLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0
MkvfY3v1mYovG8chr1m1rtxEPJdQcdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0e
GTgvvM9YBS7vDaBQNdrvCScc1bN+NR4Iuto229Nfj950iEkSMIIE2jCCA8KgAwIB
AgITMwAAACiQZ7kEsDxuZgAAAAAAKDANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQG
EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
VGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0xMzAzMjcyMDEzMTNaFw0xNDA2MjcyMDEz
MTNaMIGzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQ0wCwYD
VQQLEwRNT1BSMScwJQYDVQQLEx5uQ2lwaGVyIERTRSBFU046QzBGNC0zMDg2LURF
RjgxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDdpUi/akidSiGckmve4C3c5GP4zLmJ
xMcbvee10/vtrs8x/vNmsEQD2plnCFq/dQYiEYnQZ1LM+s+SN0Xo+vG9M9PMc+O4
IaSgFX3LL8QDBdo/lnPTWeWYTQtWhi+dR9HWX52R6ceE2ZVrMky0awBS4EHTPGl0
qM7MfWidUlXmcH8UB6KeZ7CGRPMzP3Ndxij4F19SAS1EL9bteAi45TsvwLnDS8O3
Oy/TprWcsUhK3TIJVqEbS1rTqiYnDBJDYMVq19pADWCYiUG7k3Pdv/7EjFvO+lUn
yk1Nmm99EWyxRyOwTHxsfwahdIIfUngY6QYaFlCawzrdgYH3mydyIX91AgMBAAGj
ggEbMIIBFzAdBgNVHQ4EFgQU3JgInXnRBLKLR8Nx0Izns+awU50wHwYDVR0jBBgw
FoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDov
L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljVGltU3RhUENB
XzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0
cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNUaW1TdGFQQ0FfMjAx
MC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDCDAN
BgkqhkiG9w0BAQsFAAOCAQEAgiLztz1kfhJL/Cb84OS30MQUTgn+q1aa0VqYpr6M
QR6UtDK+hLS3RXbj72AYJIeoz+m00VQpvMrkyxJ7wPHUDp8xMxsRP3o73d0CqhjK
yjz6luNsu6+7yYQ+x9gMhctyCwEbpPUxERAMRaVaSJl+2r5Fhte6TeSB/9NYCnZl
Blkv9sJCzwTJqxv6YZ3185hJcLFJ0GTEIejuYBdTfusC2miVi/UKPAHbo7WYFFF0
nlPp2nKYZqBfKc+Prx+CnNPr5vFMG1T46DLcwRXDrCpudAUWg+NEmJ/L7+gweX+v
UqU6H99lx43+J9hHGZIItIs0jmknNxoC9pGzlSL/CEgq/qGCA3YwggJeAgEBMIHj
oYG5pIG2MIGzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQ0w
CwYDVQQLEwRNT1BSMScwJQYDVQQLEx5uQ2lwaGVyIERTRSBFU046QzBGNC0zMDg2
LURFRjgxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiJQoB
ATAJBgUrDgMCGgUAAxUA8120HsdfO2ZOZQ7emART9hWnH0SggcIwgb+kgbwwgbkx
CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1P
UFIxJzAlBgNVBAsTHm5DaXBoZXIgTlRTIEVTTjpCMDI3LUM2RjgtMUQ4ODErMCkG
A1UEAxMiTWljcm9zb2Z0IFRpbWUgU291cmNlIE1hc3RlciBDbG9jazANBgkqhkiG
9w0BAQUFAAIFANYbbXkwIhgPMjAxMzEwMzAxMTM1MjFaGA8yMDEzMTAzMTExMzUy
MVowdDA6BgorBgEEAYRZCgQBMSwwKjAKAgUA1htteQIBADAHAgEAAgIQxzAHAgEA
AgIYcDAKAgUA1hy++QIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMB
oAowCAIBAAIDFuNgoQowCAIBAAIDB6EgMA0GCSqGSIb3DQEBBQUAA4IBAQAxxOL5
p8WZx+WQXwsf9YpPA4dWCU2xk7l1MY2R653keklyM7ks9Md5/7JbBzMPQXMPJ0Ts
SllTUWF+wCUwW84ZAJCG4IUS5MrfbC5yXPkCjYEW6pll2A77OgwC+UG7X5VN67nm
XfRbw+3lyAAcCjpreeEOiMRTNP1UW3Th2x5Lmbgc4AW/6p+6VEj/7QJEuj7oMXVe
KQNp/I+lJn1rBGU42wqteobjNmUI55+i5PN+Wa5uGh7IhkqpDRPIkBM9wqVDQoHb
d727DRVQMwzTAGYdSaOPJjLYti078h71WDJYyM1waA435nrkukJ6ObWdMTNjJqsy
/Tz7rYZPgMPKLjtfMYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNV
BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg
UENBIDIwMTACEzMAAAAokGe5BLA8bmYAAAAAACgwDQYJYIZIAWUDBAIBBQCgggEy
MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgqtHU
/PG7RLWN/Y5UsjD6+lFX/RpWbpbjNV/x7SF3lQwwgeIGCyqGSIb3DQEJEAIMMYHS
MIHPMIHMMIGxBBTzXbQex187Zk5lDt6YBFP2FacfRDCBmDCBgKR+MHwxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m
dCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAAKJBnuQSwPG5mAAAAAAAoMBYEFLWf
+tQPMIlyzZih4uVtvwa31BWHMA0GCSqGSIb3DQEBCwUABIIBAEJSSeyhVFmVBArn
o02R+f9PxUVjdMsHRqTWdnfA6F4uFU2GGGB2NoGTPHVeHrTTejo2bzXf5Di0jO5r
nIM1KVSUIDmM6xgvcIgxMuo2oM8MxHnYSh9QdWTCnJsqcR+PzIhsdrxaQOLRXNiS
uEyj0MgaJuYATAmhM2oM4BFNmbFavr0Sar3fj54zoZ9/p7ZhROSVm40OKt8tzSDu
7KrU8rr6VikJV2svuvLsmBKP7H6A+ZBWgrSlraQhdOxgjdPci6rhoZ9GG3WzNIcg
c+4KZEXs0hxinuZA2+Z9QhyXcTeLXm1UbKtN+P6hEv6ABEaghtj238dcrBtwijpX
BkfJeJoAAAA=
-----END AUTHENTICODE SIGNATURE-----
++++++ shim-install ++++++
--- /var/tmp/diff_new_pack.caxf2B/_old 2014-04-21 11:05:30.000000000 +0200
+++ /var/tmp/diff_new_pack.caxf2B/_new 2014-04-21 11:05:30.000000000 +0200
@@ -4,18 +4,14 @@
bootdir=
efidir=
install_device=
-efibootdir=
-ca_string=
removable=no
clean=no
sysconfdir="/etc"
libdir="/usr/lib64"
source_dir="$libdir/efi"
grub_probe="`which grub2-probe`"
-grub_mkrelpath="`which grub2-mkrelpath`"
self="`basename $0`"
grub_cfg="/boot/grub2/grub.cfg"
-update_boot=no
# Get GRUB_DISTRIBUTOR.
if test -f "${sysconfdir}/default/grub" ; then
@@ -30,14 +26,6 @@
efi_distributor="$bootloader_id"
bootloader_id="${bootloader_id}-secureboot"
-case "$bootloader_id" in
- "sle"*)
- ca_string='SUSE Linux Enterprise Secure Boot CA1';;
- "opensuse"*)
- ca_string='openSUSE Secure Boot CA1';;
- *) ca_string="";;
-esac
-
usage () {
echo "Usage: $self [OPTION] [INSTALL_DEVICE]"
echo
@@ -181,32 +169,18 @@
if test -n "$efidir"; then
efi_file=shim.efi
- efibootdir="$efidir/EFI/boot"
- mkdir -p "$efibootdir" || exit 1
efidir="$efidir/EFI/$efi_distributor"
mkdir -p "$efidir" || exit 1
else
exit 1;
fi
-if test -f "$efibootdir/bootx64.efi"; then
- if test -n "$ca_string" && (grep -q "$ca_string" "$efibootdir/bootx64.efi"); then
- update_boot=yes
- fi
-else
- update_boot=yes
-fi
-
if test "$clean" = "yes"; then
rm -f "${efidir}/shim.efi"
rm -f "${efidir}/MokManager.efi"
rm -f "${efidir}/grub.efi"
rm -f "${efidir}/grub.cfg"
rm -f "${efidir}/boot.csv"
- if test "$update_boot" = "yes"; then
- rm -f "${efibootdir}/bootx64.efi"
- rm -f "${efibootdir}/fallback.efi"
- fi
efibootmgr="`which efibootmgr`"
if test "$removable" = no && test -n "$bootloader_id" && test -n "$efibootmgr"; then
# Delete old entries from the same distributor.
@@ -222,70 +196,17 @@
cp "${source_dir}/MokManager.efi" "${efidir}"
cp "${source_dir}/grub.efi" "${efidir}"
echo "shim.efi,${bootloader_id}" | iconv -f ascii -t ucs2 > "${efidir}/boot.csv"
-if test "$update_boot" = "yes"; then
- cp "${source_dir}/shim.efi" "${efibootdir}/bootx64.efi"
- cp "${source_dir}/fallback.efi" "${efibootdir}"
-fi
-
-
-make_grubcfg () {
grub_cfg_dirname=`dirname $grub_cfg`
grub_cfg_basename=`basename $grub_cfg`
cfg_fs_uuid=`"$grub_probe" --target=fs_uuid "$grub_cfg_dirname"`
-descriptive_config="snapshot_submenu.cfg"
-root_fstype=`$grub_probe -t fs /`
-boot_fstype=`$grub_probe -t fs /boot`
-if [ "x${root_fstype}" != "xbtrfs" ] ||
- [ "x${boot_fstype}" != "xbtrfs" ]; then
- echo "/ is not on btrfs" >&2
- exit 1;
-fi
-
-if test "x$SUSE_BTRFS_SNAPSHOT_BOOTING" = "xtrue" &&
- test "x$root_fstype" = "xbtrfs" &&
- test "x$boot_fstype" = "xbtrfs"; then
-
-cat <<EOF
-set btrfs_relative_path="yes"
-set extra_cmdline=""
-btrfs_subvolid=""
-btrfs_subvol="/"
-
-export btrfs_relative_path
-export extra_cmdline
+(cat << EOF
search --fs-uuid --set=root ${cfg_fs_uuid}
-
-set timeout=0
-
-terminal_input console
-terminal_output console
-
-menuentry 'default' {
- btrfs_subvol=""
- configfile /boot/grub2/grub.cfg
- btrfs_subvol="/"
-}
-
-if [ -f "/.snapshots/${descriptive_config}" ]; then
- source "/.snapshots/${descriptive_config}"
-fi
-
-EOF
-
-else
-
-cat <<EOF
-search --fs-uuid --set=root ${cfg_fs_uuid}
-set prefix=(\${root})`${grub_mkrelpath} ${grub_cfg_dirname}`
-configfile \$prefix/${grub_cfg_basename}
+set prefix=(\${root})${grub_cfg_dirname}
EOF
-fi
-
-}
-
-make_grubcfg > "${efidir}/grub.cfg"
+echo "configfile \$prefix/${grub_cfg_basename}") \
+> "${efidir}/grub.cfg"
efibootmgr="`which efibootmgr`"
if test "$removable" = no && test -n "$bootloader_id" && test -n "$efibootmgr"; then
++++++ shim-mokx-support.patch ++++++
--- /var/tmp/diff_new_pack.caxf2B/_old 2014-04-21 11:05:30.000000000 +0200
+++ /var/tmp/diff_new_pack.caxf2B/_new 2014-04-21 11:05:30.000000000 +0200
@@ -1,12 +1,10 @@
-From 58b8e54ef60d488886a9f0d0877b7187eb200d07 Mon Sep 17 00:00:00 2001
+From 8614cf8c164049e77d702eb234d608d5342e975b Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Thu, 24 Oct 2013 17:02:08 +0800
-Subject: [PATCH 01/10] Support MOK blacklist
+Subject: [PATCH 1/9] Support MOK blacklist
The new blacklist, MokListX, stores the keys and hashes that are
banned.
-
-Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 241 +++++++++++++++++++++++++++++++++++++++++++++++++----------
shim.c | 3 +-
@@ -512,7 +510,7 @@
return EFI_SUCCESS;
}
diff --git a/shim.c b/shim.c
-index cf93d65..2c23a2f 100644
+index 9ae1936..c133bb2 100644
--- a/shim.c
+++ b/shim.c
@@ -1510,7 +1510,8 @@ EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
@@ -526,15 +524,14 @@
if (efi_status != EFI_SUCCESS) {
--
-1.8.4.5
+1.8.1.4
-From d2980a5cbee887223405a24be44ffd5bb439e3f1 Mon Sep 17 00:00:00 2001
+From f36f4093bb72344242949b16b83905cefb93d3cd Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Thu, 24 Oct 2013 17:32:31 +0800
-Subject: [PATCH 02/10] MokManager: show the hash list properly
+Subject: [PATCH 2/9] MokManager: show the hash list properly
-Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 71 insertions(+), 11 deletions(-)
@@ -678,15 +675,14 @@
for (i=0; menu_strings[i] != NULL; i++)
--
-1.8.4.5
+1.8.1.4
-From 9c4b5d58385c64056adb5386c097219665f2f50d Mon Sep 17 00:00:00 2001
+From f1073a9bc757008d44b5b86cb5002a3654faf2d2 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Fri, 25 Oct 2013 16:54:25 +0800
-Subject: [PATCH 03/10] MokManager: delete the hash properly
+Subject: [PATCH 3/9] MokManager: delete the hash properly
-Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 114 insertions(+), 10 deletions(-)
@@ -844,15 +840,14 @@
}
--
-1.8.4.5
+1.8.1.4
-From 54ce2f9605990c00f9cafae7cab22a1c885828c1 Mon Sep 17 00:00:00 2001
+From b5cb83a92620b0b41857f3e3a292d1577eb3a3a5 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Fri, 25 Oct 2013 17:05:10 +0800
-Subject: [PATCH 04/10] MokManager: Match all hashes in the list
+Subject: [PATCH 4/9] MokManager: Match all hashes in the list
-Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
@@ -913,17 +908,15 @@
}
}
--
-1.8.4.5
+1.8.1.4
-From 4c1912c8521cca4d320a1417abff6f7954809a20 Mon Sep 17 00:00:00 2001
+From 70a4e12d2e6ba37541d0b78ec3c8ed5e8da9a941 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Fri, 25 Oct 2013 18:30:48 +0800
-Subject: [PATCH 05/10] MokManager: Write the hash list properly
+Subject: [PATCH 5/9] MokManager: Write the hash list properly
also return to the previous entry in the list
-
-Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 30 +++++++++++++++++++-----------
1 file changed, 19 insertions(+), 11 deletions(-)
@@ -998,21 +991,20 @@
efi_status = uefi_call_wrapper(RT->SetVariable, 5, db_name,
--
-1.8.4.5
+1.8.1.4
-From 8b96a93bda39617efbe51f24d1dc606ad8835d26 Mon Sep 17 00:00:00 2001
+From 225e5fca2f7cf63e365b77243d6e43b1eb9860c8 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Mon, 28 Oct 2013 15:08:40 +0800
-Subject: [PATCH 06/10] Copy the MOK blacklist to a RT variable
+Subject: [PATCH 6/9] Copy the MOK blacklist to a RT variable
-Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
shim.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/shim.c b/shim.c
-index 2c23a2f..ccb3071 100644
+index c133bb2..a0383a8 100644
--- a/shim.c
+++ b/shim.c
@@ -1480,6 +1480,33 @@ EFI_STATUS mirror_mok_list()
@@ -1049,7 +1041,7 @@
* Check if a variable exists
*/
static BOOLEAN check_var(CHAR16 *varname)
-@@ -1799,6 +1826,8 @@ EFI_STATUS efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *passed_systab)
+@@ -1795,6 +1822,8 @@ EFI_STATUS efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *passed_systab)
*/
efi_status = mirror_mok_list();
@@ -1059,21 +1051,20 @@
* Create the runtime MokIgnoreDB variable so the kernel can make
* use of it
--
-1.8.4.5
+1.8.1.4
-From 044d04dbed3ef3f2f3004a770e3751eabc052c2c Mon Sep 17 00:00:00 2001
+From f9db55b719281ce491780ecd4ec269c5286a7251 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Mon, 28 Oct 2013 16:36:34 +0800
-Subject: [PATCH 07/10] No newline for console_notify
+Subject: [PATCH 7/9] No newline for console_notify
-Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
shim.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/shim.c b/shim.c
-index ccb3071..e30a464 100644
+index a0383a8..a2e0862 100644
--- a/shim.c
+++ b/shim.c
@@ -470,7 +470,7 @@ static BOOLEAN secure_mode (void)
@@ -1095,13 +1086,13 @@
}
--
-1.8.4.5
+1.8.1.4
-From 0e97d1576fcc1924f0f17b7f31baf1dd74a7f83e Mon Sep 17 00:00:00 2001
+From 0bf2da5c7d9442f3249fc977b3fbffab924a374c Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Mon, 4 Nov 2013 14:45:33 +0800
-Subject: [PATCH 08/10] Verify the EFI images with MOK blacklist
+Subject: [PATCH 8/9] Verify the EFI images with MOK blacklist
Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
@@ -1109,7 +1100,7 @@
1 file changed, 9 insertions(+)
diff --git a/shim.c b/shim.c
-index e30a464..efd3d85 100644
+index a2e0862..5f5e9a6 100644
--- a/shim.c
+++ b/shim.c
@@ -365,6 +365,7 @@ static EFI_STATUS check_blacklist (WIN_CERTIFICATE_EFI_PKCS *cert,
@@ -1136,13 +1127,13 @@
return EFI_SUCCESS;
}
--
-1.8.4.5
+1.8.1.4
-From a166edaa42ef96eaf5b000d0e4ad71779b745d68 Mon Sep 17 00:00:00 2001
+From 20ced27d1785bceaf814c07ca0d5686506a119ad Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Mon, 4 Nov 2013 17:51:55 +0800
-Subject: [PATCH 09/10] Exclude ca.crt while signing EFI images
+Subject: [PATCH 9/9] Exclude ca.crt while signing EFI images
If ca.crt was added into the certificate database, ca.crt would be the first
certificate in the signature. Because shim couldn't verify ca.crt with the
@@ -1167,33 +1158,5 @@
certutil -d certdb/ -A -i shim.crt -n shim -t u
--
-1.8.4.5
-
-
-From cce37bfa5298e8e9c12d3509c78592f711699c4f Mon Sep 17 00:00:00 2001
-From: Gary Ching-Pang Lin <glin(a)suse.com>
-Date: Tue, 11 Feb 2014 14:11:15 +0800
-Subject: [PATCH 10/10] Make shim to check MokXAuth for MOKX reset
-
-Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
----
- shim.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/shim.c b/shim.c
-index efd3d85..7093c45 100644
---- a/shim.c
-+++ b/shim.c
-@@ -1547,7 +1547,8 @@ EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
- if (check_var(L"MokNew") || check_var(L"MokSB") ||
- check_var(L"MokPW") || check_var(L"MokAuth") ||
- check_var(L"MokDel") || check_var(L"MokDB") ||
-- check_var(L"MokXNew") || check_var(L"MokXDel")) {
-+ check_var(L"MokXNew") || check_var(L"MokXDel") ||
-+ check_var(L"MokXAuth")) {
- efi_status = start_image(image_handle, MOK_MANAGER);
-
- if (efi_status != EFI_SUCCESS) {
---
-1.8.4.5
+1.8.1.4
++++++ show_hash.sh ++++++
--- /var/tmp/diff_new_pack.caxf2B/_old 2014-04-21 11:05:30.000000000 +0200
+++ /var/tmp/diff_new_pack.caxf2B/_new 2014-04-21 11:05:30.000000000 +0200
@@ -9,4 +9,13 @@
exit 1
fi
-pesign -h -P -i "$infile"
+nssdir=`mktemp -d`
+cleanup()
+{
+ rm -r "$nssdir"
+}
+trap cleanup EXIT
+echo > "$nssdir/pw"
+certutil -f "$nssdir/pw" -d "$nssdir" -N
+
+pesign -n "$nssdir" -h -P -i "$infile"
++++++ show_signatures.sh ++++++
--- /var/tmp/diff_new_pack.caxf2B/_old 2014-04-21 11:05:30.000000000 +0200
+++ /var/tmp/diff_new_pack.caxf2B/_new 2014-04-21 11:05:30.000000000 +0200
@@ -9,4 +9,13 @@
exit 1
fi
-pesign -S -i "$infile"
+nssdir=`mktemp -d`
+cleanup()
+{
+ rm -r "$nssdir"
+}
+trap cleanup EXIT
+echo > "$nssdir/pw"
+certutil -f "$nssdir/pw" -d "$nssdir" -N
+
+pesign -n "$nssdir" -S -i "$infile"
++++++ strip_signature.sh ++++++
--- /var/tmp/diff_new_pack.caxf2B/_old 2014-04-21 11:05:30.000000000 +0200
+++ /var/tmp/diff_new_pack.caxf2B/_new 2014-04-21 11:05:30.000000000 +0200
@@ -10,4 +10,13 @@
outfile="${infile%.efi}-unsigned.efi"
-pesign -r -i "$infile" -o "$outfile"
+nssdir=`mktemp -d`
+cleanup()
+{
+ rm -r "$nssdir"
+}
+trap cleanup EXIT
+echo > "$nssdir/pw"
+certutil -f "$nssdir/pw" -d "$nssdir" -N
+
+pesign -n "$nssdir" -r -i "$infile" -o "$outfile"
--
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 tor for openSUSE:Factory checked in at 2014-04-20 11:37:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tor (Old)
and /work/SRC/openSUSE:Factory/.tor.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tor"
Changes:
--------
--- /work/SRC/openSUSE:Factory/tor/tor.changes 2014-03-09 20:27:18.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.tor.new/tor.changes 2014-04-20 11:37:21.000000000 +0200
@@ -1,0 +2,5 @@
+Sat Apr 19 02:54:55 UTC 2014 - mook.moz+com.novell(a)gmail.com
+
+- Add tor-fw-helper for UPnP port forwarding; not used by default
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tor.spec ++++++
--- /var/tmp/diff_new_pack.HMWl2z/_old 2014-04-20 11:37:22.000000000 +0200
+++ /var/tmp/diff_new_pack.HMWl2z/_new 2014-04-20 11:37:22.000000000 +0200
@@ -18,6 +18,7 @@
%define with_bufferevents 0%{?suse_version} > 1220
%define with_systemd 0%{?suse_version} > 1140
+%define with_upnp 0%{?suse_version} >= 1220
%define toruser %{name}
%define torgroup %{name}
%define home_dir %{_localstatedir}/lib/empty
@@ -36,6 +37,9 @@
Source4: tor.tmpfiles
# PATCH-FIX-UPSTREAM tor-0.2.2.37-logrotate.patch -- add su to logrotate config to fix W: suse-logrotate-user-writable-log-dir
Patch0: tor-0.2.2.37-logrotate.patch
+%if %{with_upnp}
+BuildRequires: libminiupnpc-devel
+%endif
BuildRequires: openssl-devel
BuildRequires: pwdutils
Requires: logrotate
@@ -93,6 +97,9 @@
%configure \
--with-tor-user=%{toruser} \
--with-tor-group=%{torgroup} \
+%if %{with_upnp}
+ --enable-upnp \
+%endif
%if %{with_bufferevents}
--enable-bufferevents \
%endif
@@ -174,6 +181,9 @@
%{_bindir}/%{name}ify
%{_bindir}/%{name}-gencert
%{_bindir}/%{name}-resolve
+%if %{with_upnp}
+%{_bindir}/%{name}-fw-helper
+%endif
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/geoip*
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}
--
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 libxmp for openSUSE:Factory checked in at 2014-04-20 11:37:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libxmp (Old)
and /work/SRC/openSUSE:Factory/.libxmp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libxmp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libxmp/libxmp.changes 2014-03-04 13:46:51.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libxmp.new/libxmp.changes 2014-04-20 11:37:06.000000000 +0200
@@ -1,0 +2,19 @@
+Mon Apr 14 07:46:14 UTC 2014 - jengelh(a)inai.de
+
+- Update to new upstream release 4.2.7
+* This release adds support for ADPCM samples in XM files, and
+ implements an OctaMED channel pan effect. It also fixes OctaMED
+ MMD2 and MMD3 note and sample mapping, the XM channel pan
+ effect, and a disabled pan in IT instruments.
+
+-------------------------------------------------------------------
+Tue Apr 8 14:18:07 UTC 2014 - jengelh(a)inai.de
+
+- Update to new upstream release 4.2.6
+* This release has fixes for the Impulse Tracker tempo slide
+ effect, for 15-instrument Soundtracker sample loops, and many
+ fixes for OctaMED modules, including 2-to-7 octave IFFOCT
+ samples, hold and decay support, vibrato depth, and synth
+ instrument volume.
+
+-------------------------------------------------------------------
Old:
----
libxmp-4.2.5.tar.gz
New:
----
libxmp-4.2.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libxmp.spec ++++++
--- /var/tmp/diff_new_pack.IyvPuu/_old 2014-04-20 11:37:06.000000000 +0200
+++ /var/tmp/diff_new_pack.IyvPuu/_new 2014-04-20 11:37:06.000000000 +0200
@@ -21,7 +21,7 @@
Summary: Module Player library for MOD, S3M, IT and others
License: LGPL-2.1
Group: Development/Libraries/C and C++
-Version: 4.2.5
+Version: 4.2.7
Release: 0
Url: http://xmp.sf.net/
++++++ libxmp-4.2.5.tar.gz -> libxmp-4.2.7.tar.gz ++++++
++++ 3791 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 crmsh for openSUSE:Factory checked in at 2014-04-20 11:36:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crmsh (Old)
and /work/SRC/openSUSE:Factory/.crmsh.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "crmsh"
Changes:
--------
--- /work/SRC/openSUSE:Factory/crmsh/crmsh.changes 2014-04-09 13:12:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.crmsh.new/crmsh.changes 2014-04-20 11:36:52.000000000 +0200
@@ -1,0 +2,16 @@
+Fri Apr 11 07:58:21 UTC 2014 - kgronlund(a)suse.com
+
+- hb_report: pcmk lib changed permissions (bnc#872958)
+- history: Use subsecond precision if possible (bnc#872932)
+- history: set colours for all nodes found (bnc#872936)
+- upstream: 2.0.0-18-ga957470950b6
+
+-------------------------------------------------------------------
+Wed Apr 9 12:37:17 UTC 2014 - kgronlund(a)suse.com
+
+- parse: Support cib object tags (fate#315101)
+- cibconfig: Support filename-style globs in show/edit (bnc#864346)
+- Support Pacemaker 1.3 schema
+- upstream: 2.0.0-12-g60ed9131ec43
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ crmsh.spec ++++++
--- /var/tmp/diff_new_pack.c272Ki/_old 2014-04-20 11:36:53.000000000 +0200
+++ /var/tmp/diff_new_pack.c272Ki/_new 2014-04-20 11:36:53.000000000 +0200
@@ -41,7 +41,7 @@
Summary: High Availability cluster command-line interface
License: GPL-2.0+
Group: %{pkg_group}
-Version: 2.0+git5
+Version: 2.0+git18
Release: %{?crmsh_release}%{?dist}
Url: http://crmsh.github.io
Source0: crmsh.tar.bz2
++++++ crmsh.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/doc/crm.8.txt new/crmsh/doc/crm.8.txt
--- old/crmsh/doc/crm.8.txt 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/doc/crm.8.txt 2014-04-11 09:31:00.000000000 +0200
@@ -2717,6 +2717,24 @@
op_defaults record-pending=true
...............
+[[cmdhelp_configure_tag,Define resource tags]]
+==== `tag`
+
+Define a resource tag. A tag is an id referring to one or more
+resources, without implying any constraints between the tagged
+resources. This can be useful for grouping conceptually related
+resources.
+
+Usage:
+...............
+tag <tag-name>: <rsc> [<rsc> ...]
+...............
+Example:
+...............
+tag web: p-webserver p-vip
+...............
+
+
[[cmdhelp_configure_schema,set or display current CIB RNG schema]]
==== `schema`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/hb_report/ha_cf_support.sh new/crmsh/hb_report/ha_cf_support.sh
--- old/crmsh/hb_report/ha_cf_support.sh 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/hb_report/ha_cf_support.sh 2014-04-11 09:31:00.000000000 +0200
@@ -76,7 +76,7 @@
cat<<EOF
d $HA_VARLIB 0755 root root
d $HA_VARLIB/ccm 0750 hacluster haclient
-d $PCMK_LIB 0755 root root
+d $PCMK_LIB 0750 hacluster haclient
d $PE_STATE_DIR 0750 hacluster haclient
d $CIB_DIR 0750 hacluster haclient
EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/hb_report/openais_conf_support.sh new/crmsh/hb_report/openais_conf_support.sh
--- old/crmsh/hb_report/openais_conf_support.sh 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/hb_report/openais_conf_support.sh 2014-04-11 09:31:00.000000000 +0200
@@ -90,7 +90,7 @@
}
essential_files() {
cat<<EOF
-d $PCMK_LIB 0755 root root
+d $PCMK_LIB 0750 hacluster haclient
d $PE_STATE_DIR 0750 hacluster haclient
d $CIB_DIR 0750 hacluster haclient
EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/modules/cibconfig.py new/crmsh/modules/cibconfig.py
--- old/crmsh/modules/cibconfig.py 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/modules/cibconfig.py 2014-04-11 09:31:00.000000000 +0200
@@ -20,6 +20,7 @@
import os
import sys
import re
+import fnmatch
import time
import config
from singletonmixin import Singleton
@@ -824,6 +825,7 @@
"utilization": "utilization",
"operations": "operations",
"op": "op",
+ "tag": "tag",
}
@@ -1752,7 +1754,8 @@
for enode in self.node.xpath("rule/expression"):
if enode.get("attribute") == "#uname":
uname = enode.get("value")
- if uname and uname.lower() not in [id.lower() for id in cib_factory.node_id_list()]:
+ ids = [i.lower() for i in cib_factory.node_id_list()]
+ if uname and uname.lower() not in ids:
common_warn("%s: referenced node %s does not exist" % (self.obj_id, uname))
rc = 1
return rc
@@ -2141,6 +2144,29 @@
headnode.append(n)
remove_id_used_attributes(oldnode)
return headnode
+
+
+class CibTag(CibObject):
+
+ def _repr_cli_head(self, fmt):
+ s = cli_display.keyword('tag')
+ id_ = cli_display.id(self.obj_id)
+ return "%s %s:" % (s, id_)
+
+ def _repr_cli_child(self, c, fmt):
+ return c.get('id')
+
+ def _cli_list2node(self, cli_list, oldnode):
+ """
+ cli_list: [[tag] <id> [<rsc>, <rsc>...]]
+ out: <tag id="<id>"><obj_ref id="<rsc>">...</tag>
+ """
+ tagid = cli_list[0][1][0][1]
+ tag = etree.Element('tag', id=tagid)
+ for rsc in cli_list[1]:
+ etree.SubElement(tag, 'obj_ref', id=rsc)
+ return tag
+
#
################################################################
@@ -2182,6 +2208,7 @@
"fencing-topology": ("fencing_topology", CibFencingOrder, "configuration"),
"acl_role": ("role", CibAcl, "acls"),
"acl_user": ("user", CibAcl, "acls"),
+ "tag": ("tag", CibTag, "tags"),
}
# generate a translation cli -> tag
@@ -2212,7 +2239,7 @@
self.last_commit_time = 0
# internal (just not to produce silly messages)
self._no_constraint_rm_msg = False
- self.supported_cib_re = "^pacemaker-1[.][012]$"
+ self.supported_cib_re = "^pacemaker-1[.][0123]$"
def is_cib_sane(self):
# try to initialize
@@ -2616,16 +2643,23 @@
self._clean_state()
id_store.clear()
- def find_object(self, obj_id):
- "Find an object for id."
+ def find_objects(self, obj_id):
+ "Find objects for id (can be a wildcard-glob)."
+ matchfn = lambda x: fnmatch.fnmatch(x, obj_id)
+ objs = []
for obj in self.cib_objects:
- if obj.obj_id == obj_id:
- return obj
+ if matchfn(obj.obj_id):
+ objs.append(obj)
# special case for Heartbeat nodes which have id
# different from uname
- if obj.obj_type == "node" and \
- obj.node.get("uname") == obj_id:
- return obj
+ elif obj.obj_type == "node" and matchfn(obj.node.get("uname")):
+ objs.append(obj)
+ return objs
+
+ def find_object(self, obj_id):
+ objs = self.find_objects(obj_id)
+ if len(objs) > 0:
+ return objs[0]
return None
#
@@ -2895,10 +2929,10 @@
elif spec.startswith("type:"):
obj_set |= set(self.get_elems_on_type(spec))
else:
- obj = self.find_object(spec)
- if obj:
+ objs = self.find_objects(spec)
+ for obj in objs:
obj_set.add(obj)
- else:
+ if len(objs) == 0:
no_object_err(spec)
rc = False
return rc, obj_set
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/modules/cibobjects.py new/crmsh/modules/cibobjects.py
--- old/crmsh/modules/cibobjects.py 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/modules/cibobjects.py 2014-04-11 09:31:00.000000000 +0200
@@ -397,3 +397,15 @@
def _to_list(self):
return listfmt('[[% [[id %]]] [raw %]]', self.type, self.id, self.raw)
+
+
+class Tag(Expr):
+ def __init__(self):
+ Expr.__init__(self)
+ self.id = None
+ self.resources = []
+
+ def _to_list(self):
+ ret = listfmt('[[tag [[id %]]]]', self.id)
+ ret.append(self.resources)
+ return ret
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/modules/pacemaker.py new/crmsh/modules/pacemaker.py
--- old/crmsh/modules/pacemaker.py 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/modules/pacemaker.py 2014-04-11 09:31:00.000000000 +0200
@@ -30,6 +30,7 @@
"pacemaker-1.0": ("rng", "pacemaker-1.0.rng"),
"pacemaker-1.1": ("rng", "pacemaker-1.1.rng"),
"pacemaker-1.2": ("rng", "pacemaker-1.2.rng"),
+ "pacemaker-1.3": ("rng", "pacemaker-1.3.rng"),
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/modules/parse.py new/crmsh/modules/parse.py
--- old/crmsh/modules/parse.py 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/modules/parse.py 2014-04-11 09:31:00.000000000 +0200
@@ -26,7 +26,7 @@
from msg import common_err, syntax_err
from cibobjects import Primitive, RscTemplate, Group, Clone, Master
from cibobjects import Location, Colocation, Order
-from cibobjects import Monitor, Node, Property, RscTicket
+from cibobjects import Monitor, Node, Property, RscTicket, Tag
from cibobjects import FencingTopology, ACLRight, Role, User, RawXML
@@ -805,6 +805,28 @@
return out
+class TagParser(BaseParser):
+ _TAG_RE = re.compile(r"([^:]+):$")
+
+ def can_parse(self):
+ return ('tag',)
+
+ def parse(self, cmd):
+ self.begin(cmd, min_args=2)
+ self.match('tag')
+ self.match(self._TAG_RE)
+ tagname = self.matched(1)
+ resources = []
+ while self.has_tokens():
+ resources.append(self.match_resource())
+ if not resources:
+ self.err("Expected at least one resource")
+ out = Tag()
+ out.id = tagname
+ out.resources = resources
+ return out
+
+
class AclParser(BaseParser):
_ACL_RIGHT_RE = re.compile(r'(%s)$' % ('|'.join(vars.acl_rule_names)), re.IGNORECASE)
_ROLE_REF_RE = re.compile(r'role:(.+)$', re.IGNORECASE)
@@ -1174,7 +1196,8 @@
PropertyParser,
FencingOrderParser,
AclParser,
- RawXMLParser)
+ RawXMLParser,
+ TagParser)
def _xml_lex(self, s):
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/modules/report.py new/crmsh/modules/report.py
--- old/crmsh/modules/report.py 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/modules/report.py 2014-04-11 09:31:00.000000000 +0200
@@ -72,13 +72,13 @@
def syslog_ts(s):
try:
# strptime defaults year to 1900 (sigh)
+ # strptime returns a time_struct
tm = time.strptime(' '.join([YEAR] + s.split()[0:3]),
"%Y %b %d %H:%M:%S")
- return time.mktime(tm)
+ return datetime.datetime.fromtimestamp(time.mktime(tm))
except: # try the rfc5424
try:
- tm = parse_time(s.split()[0])
- return time.mktime(tm.timetuple())
+ return parse_time(s.split()[0])
except Exception:
common_debug("malformed line: %s" % s)
return None
@@ -1038,7 +1038,7 @@
def set_node_colors(self):
i = 0
- for n in self.cibnode_l:
+ for n in self.get_nodes():
self.nodecolor[n] = self.nodecolors[i]
i = (i+1) % len(self.nodecolors)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/modules/ui_configure.py new/crmsh/modules/ui_configure.py
--- old/crmsh/modules/ui_configure.py 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/modules/ui_configure.py 2014-04-11 09:31:00.000000000 +0200
@@ -758,6 +758,11 @@
status"""
return self.__conf_object(context.get_command_name(), *args)
+ @command.skill_level('administrator')
+ @command.completers_repeating(compl.null, top_rsc_tmpl_id_list)
+ def do_tag(self, context, *args):
+ return self.__conf_object(context.get_command_name(), *args)
+
@command.skill_level('expert')
@command.completers_repeating(_rsc_id_list)
def do_rsctest(self, context, *args):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/modules/ui_resource.py new/crmsh/modules/ui_resource.py
--- old/crmsh/modules/ui_resource.py 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/modules/ui_resource.py 2014-04-11 09:31:00.000000000 +0200
@@ -90,7 +90,16 @@
else:
for n in xmlutil.get_set_nodes(target_node, "meta_attributes", 1):
xmlutil.set_attr(n, attr, value)
- return xmlutil.commit_rsc(target_node)
+ return True
+
+
+def set_deep_meta_attr_tag(tag, attr, value):
+ """
+ tag: an etree tag node
+ TODO: make transactional (shadow CIB?)
+ """
+ return all(set_deep_meta_attr(attr, value, ref.get('id'))
+ for ref in tag.xpath("./obj_ref"))
def set_deep_meta_attr(attr, value, rsc_id):
@@ -109,10 +118,15 @@
if target_node is None:
common_error("resource %s does not exist" % rsc_id)
return False
+
+ if target_node.tag == 'tag':
+ return set_deep_meta_attr_tag(target_node, attr, value)
if not (target_node.tag == "primitive" and
target_node.getparent().tag == "group"):
target_node = xmlutil.get_topmost_rsc(target_node)
- return set_deep_meta_attr_node(target_node, attr, value)
+ if not set_deep_meta_attr_node(target_node, attr, value):
+ return False
+ return xmlutil.commit_rsc(target_node)
def cleanup_resource(rsc, node=''):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/modules/utils.py new/crmsh/modules/utils.py
--- old/crmsh/modules/utils.py 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/modules/utils.py 2014-04-11 09:31:00.000000000 +0200
@@ -380,7 +380,8 @@
cmd = "(%s; rm -f %s)" % (cmd, dotfile)
if options.regression_tests:
print ".EXT", cmd
- subprocess.Popen(cmd, shell=True, bufsize=0, stdin=None, stdout=None, stderr=None, close_fds=True)
+ subprocess.Popen(cmd, shell=True, bufsize=0,
+ stdin=None, stdout=None, stderr=None, close_fds=True)
common_info("starting %s to show %s" % (config.core.dotty, desc))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/modules/xmlutil.py new/crmsh/modules/xmlutil.py
--- old/crmsh/modules/xmlutil.py 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/modules/xmlutil.py 2014-04-11 09:31:00.000000000 +0200
@@ -887,7 +887,7 @@
def filter_on_type(cl, obj_type):
- if type(cl[0]) == type([]):
+ if isinstance(cl[0], list):
l = [cli_list for cli_list in cl if cli_list[0][0] == obj_type]
if config.core.sort_elements:
l.sort(cmp=cmp)
@@ -958,7 +958,8 @@
'''
if not cl:
return []
- return nodes_cli(cl) + templates_cli(cl) + primitives_cli(cl) + groups_cli(cl) + mss_cli(cl) + clones_cli(cl) \
+ return nodes_cli(cl) + templates_cli(cl) + primitives_cli(cl) \
+ + groups_cli(cl) + mss_cli(cl) + clones_cli(cl) \
+ constraints_cli(cl) + fencing_topology_cli(cl) + properties_cli(cl) \
+ ops_cli(cl) + acls_cli(cl)
@@ -1311,18 +1312,18 @@
if a.tag != b.tag:
return fail("tags differ: %s != %s" % (a.tag, b.tag))
- if a.attrib != b.attrib:
+ elif a.attrib != b.attrib:
return fail("attributes differ: %s != %s" % (a.attrib, b.attrib))
- if safe_strip(a.text) != safe_strip(b.text):
+ elif safe_strip(a.text) != safe_strip(b.text):
return fail("text differ %s != %s" % (repr(a.text), repr(b.text)))
- if safe_strip(a.tail) != safe_strip(b.tail):
+ elif safe_strip(a.tail) != safe_strip(b.tail):
return fail("tails differ: %s != %s" % (a.tail, b.tail))
- if len(a) != len(b):
+ elif len(a) != len(b):
return fail("number of children differ")
+ elif len(a) == 0:
+ return True
sorted_children = zip(sorted(a, key=sortby), sorted(b, key=sortby))
- if sorted_children:
- return all(xml_equals_unordered(a, b) for a, b in sorted_children)
- return True
+ return all(xml_equals_unordered(a, b) for a, b in sorted_children)
def xml_equals(n, m, show=False):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/crmsh/test/unittests/test_parse.py new/crmsh/test/unittests/test_parse.py
--- old/crmsh/test/unittests/test_parse.py 2014-04-07 22:28:33.000000000 +0200
+++ new/crmsh/test/unittests/test_parse.py 2014-04-11 09:31:00.000000000 +0200
@@ -362,6 +362,19 @@
out = self.parser.parse('fencing_topology vbox4: stonith-vbox3-1-off,stonith-vbox3-2-off,stonith-vbox3-1-on,stonith-vbox3-2-on')
self.assertEqual(1, len(out.levels))
+ def test_tag(self):
+ out = self.parser.parse('tag tag1: one two three')
+ self.assertEqual(out.id, 'tag1')
+ self.assertEqual(out.resources, ['one', 'two', 'three'])
+ self.assertEqual([['tag', [['id', 'tag1']]], ['one', 'two', 'three']],
+ out.to_list())
+
+ out = self.parser.parse('tag tag1:')
+ self.assertFalse(out)
+
+ out = self.parser.parse('tag tag1:: foo')
+ self.assertFalse(out)
+
def _parse_lines(self, lines):
out = []
for line in lines2cli(lines):
--
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 rabbitmq-server for openSUSE:Factory checked in at 2014-04-20 11:36:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rabbitmq-server (Old)
and /work/SRC/openSUSE:Factory/.rabbitmq-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rabbitmq-server"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rabbitmq-server/rabbitmq-server.changes 2014-04-05 21:41:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rabbitmq-server.new/rabbitmq-server.changes 2014-04-20 11:36:44.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Apr 10 10:25:08 UTC 2014 - matwey.kornilov(a)gmail.com
+
+- require epmd.socket in .service in order not to start earlier
+ than epmd.socket
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rabbitmq-server.service ++++++
--- /var/tmp/diff_new_pack.sRWlRH/_old 2014-04-20 11:36:45.000000000 +0200
+++ /var/tmp/diff_new_pack.sRWlRH/_new 2014-04-20 11:36:45.000000000 +0200
@@ -1,6 +1,7 @@
[Unit]
Description=RabbitMQ broker
-After=syslog.target network.target
+After=epmd.socket syslog.target network.target
+Requires=epmd.socket
[Service]
Type=simple
--
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 openstack-trove for openSUSE:Factory checked in at 2014-04-20 11:36:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openstack-trove (Old)
and /work/SRC/openSUSE:Factory/.openstack-trove.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openstack-trove"
Changes:
--------
--- /work/SRC/openSUSE:Factory/openstack-trove/openstack-trove.changes 2014-04-14 12:33:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.openstack-trove.new/openstack-trove.changes 2014-04-20 11:36:40.000000000 +0200
@@ -1,0 +2,11 @@
+Thu Apr 17 12:55:28 UTC 2014 - dmueller(a)suse.com
+
+- update to 2014.1:
+ * no change
+
+-------------------------------------------------------------------
+Mon Apr 14 12:34:29 UTC 2014 - dmueller(a)suse.com
+
+- switch to release (2014.1.rc1)
+
+-------------------------------------------------------------------
Old:
----
trove-milestone-proposed.tar.gz
New:
----
trove-2014.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openstack-trove.spec ++++++
--- /var/tmp/diff_new_pack.VEwpJ8/_old 2014-04-20 11:36:41.000000000 +0200
+++ /var/tmp/diff_new_pack.VEwpJ8/_new 2014-04-20 11:36:41.000000000 +0200
@@ -21,13 +21,13 @@
%define username %{component}
Name: openstack-%{component}
-Version: 2014.1.dev62.g3582409
+Version: 2014.1
Release: 0
Summary: Openstack DBaaS (Trove)
License: Apache-2.0
Group: System/Management
Url: https://launchpad.net/trove
-Source: http://tarballs.openstack.org/trove/trove-milestone-proposed.tar.gz
+Source: http://tarballs.openstack.org/trove/trove-%{version}.tar.gz
Source1: %{name}.init
Source2: %{name}.logrotate
%if 0%{?suse_version} > 1230
@@ -65,22 +65,22 @@
Group: Development/Languages/Python
Requires: python >= 2.6.8
Requires: python-Jinja2
-Requires: python-PasteDeploy >= 1.5.0
+Requires: python-PasteDeploy >= 1.5
Requires: python-Routes >= 1.12.3
Requires: python-SQLAlchemy >= 0.7.8
Requires: python-WebOb >= 1.2.3
Requires: python-cinderclient >= 1.0.6
-Requires: python-designateclient >= 1.0.0
-Requires: python-eventlet >= 0.13.0
+Requires: python-designateclient >= 1
+Requires: python-eventlet >= 0.13
Requires: python-heatclient >= 0.2.3
Requires: python-iso8601 >= 0.1.9
-Requires: python-jsonschema >= 2.0.0
-Requires: python-keystoneclient >= 0.7.0
+Requires: python-jsonschema >= 2
+Requires: python-keystoneclient >= 0.7
Requires: python-kombu >= 2.4.8
Requires: python-lxml >= 2.3
Requires: python-netaddr >= 0.7.6
-Requires: python-novaclient >= 2.17.0
-Requires: python-oslo.config >= 1.2.0
+Requires: python-novaclient >= 2.17
+Requires: python-oslo.config >= 1.2
Requires: python-passlib
Requires: python-pexpect >= 3.1
Requires: python-proboscis >= 1.2.5.3
@@ -136,7 +136,7 @@
%if 0%{?suse_version} <= 1110
Requires: python-discover
%endif
-Requires: python-WebTest >= 2.0
+Requires: python-WebTest >= 2
Requires: python-mockito
Requires: python-mox >= 0.5.3
Requires: python-nose
@@ -149,7 +149,7 @@
This package contains testsuite files for %{name}.
%prep
-%setup -q -n %{component}-2014.1.dev62.g3582409
+%setup -q -n %{component}-%{version}
%openstack_cleanup_prep
%build
++++++ trove-milestone-proposed.tar.gz -> trove-2014.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trove-2014.1.dev62.g3582409/ChangeLog new/trove-2014.1/ChangeLog
--- old/trove-2014.1.dev62.g3582409/ChangeLog 2014-04-02 14:13:29.000000000 +0200
+++ new/trove-2014.1/ChangeLog 2014-04-17 11:36:15.000000000 +0200
@@ -1,6 +1,9 @@
CHANGES
=======
+2014.1
+------
+
* Fixed unit test to not actually run backup command
* Fix create call for security group rules
* Updated from global requirements
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trove-2014.1.dev62.g3582409/PKG-INFO new/trove-2014.1/PKG-INFO
--- old/trove-2014.1.dev62.g3582409/PKG-INFO 2014-04-02 14:13:29.000000000 +0200
+++ new/trove-2014.1/PKG-INFO 2014-04-17 11:36:15.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: trove
-Version: 2014.1.dev62.g3582409
+Version: 2014.1
Summary: OpenStack DBaaS
Home-page: http://www.openstack.org/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trove-2014.1.dev62.g3582409/trove.egg-info/PKG-INFO new/trove-2014.1/trove.egg-info/PKG-INFO
--- old/trove-2014.1.dev62.g3582409/trove.egg-info/PKG-INFO 2014-04-02 14:13:29.000000000 +0200
+++ new/trove-2014.1/trove.egg-info/PKG-INFO 2014-04-17 11:36:15.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: trove
-Version: 2014.1.dev62.g3582409
+Version: 2014.1
Summary: OpenStack DBaaS
Home-page: http://www.openstack.org/
Author: OpenStack
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
20 Apr '14
Hello community,
here is the log from the commit of package python-sphinxcontrib-docbookrestapi for openSUSE:Factory checked in at 2014-04-20 11:36:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sphinxcontrib-docbookrestapi (Old)
and /work/SRC/openSUSE:Factory/.python-sphinxcontrib-docbookrestapi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sphinxcontrib-docbookrestapi"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sphinxcontrib-docbookrestapi/python-sphinxcontrib-docbookrestapi.changes 2014-04-13 13:18:21.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-sphinxcontrib-docbookrestapi.new/python-sphinxcontrib-docbookrestapi.changes 2014-04-20 11:36:37.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Apr 14 13:36:51 UTC 2014 - dmueller(a)suse.com
+
+- add 0001-Fix-the-code-to-work-with-Python2.6.patch
+
+-------------------------------------------------------------------
New:
----
0001-Fix-the-code-to-work-with-Python2.6.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sphinxcontrib-docbookrestapi.spec ++++++
--- /var/tmp/diff_new_pack.xKMNXN/_old 2014-04-20 11:36:38.000000000 +0200
+++ /var/tmp/diff_new_pack.xKMNXN/_new 2014-04-20 11:36:38.000000000 +0200
@@ -26,6 +26,7 @@
Source: sphinxcontrib-docbookrestapi-%{version}.tar.gz
# PATCH-FIX-UPSTREAM speilicke(a)suse.com -- https://review.openstack.org/#/c/84132/
Patch0: 0001-Properly-declare-namespace-package.patch
+Patch1: 0001-Fix-the-code-to-work-with-Python2.6.patch
BuildRequires: python-devel
BuildRequires: python-pbr
Requires: python-Sphinx
@@ -44,6 +45,7 @@
%prep
%setup -q -n sphinxcontrib-docbookrestapi-%{version}
%patch0 -p1
+%patch1 -p1
%build
python setup.py build
++++++ 0001-Fix-the-code-to-work-with-Python2.6.patch ++++++
>From 9ad4e8f5fe41b3c9bf334a3f9aea925a5128eddc Mon Sep 17 00:00:00 2001
From: Cyril Roelandt <cyril.roelandt(a)enovance.com>
Date: Fri, 29 Nov 2013 18:44:09 +0100
Subject: [PATCH] Fix the code to work with Python2.6
It was previously using some features introduced in Python2.7.
Change-Id: I3b4b2895f231cf98235efd16f65eb123db8a9157
---
sphinxcontrib/docbookrestapi/docbook.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/sphinxcontrib/docbookrestapi/docbook.py b/sphinxcontrib/docbookrestapi/docbook.py
index 63ecfd9..e923e53 100644
--- a/sphinxcontrib/docbookrestapi/docbook.py
+++ b/sphinxcontrib/docbookrestapi/docbook.py
@@ -30,7 +30,7 @@ def generate_id(path, method):
path = path.replace('(', '')
path = path.replace(')', '')
elems = path.split('/')
- elems = filter(lambda x: x, elems) # Remove empty strings
+ elems = list(filter(lambda x: x, elems)) # Remove empty strings
elems = elems[1:] # Remove "vx" (v1, v2...)
n_elems = len(elems)
@@ -189,12 +189,12 @@ class MyNodeVisitor(SparseNodeVisitor):
self.in_method_definition = False
def visit_desc(self, node):
- attrs = {k: v for (k, v) in node.attlist()}
+ attrs = dict(node.attlist())
if attrs['domain'] == 'http':
self.in_method_definition = True
def visit_desc_signature(self, node):
- attrs = {k: v for (k, v) in node.attlist()}
+ attrs = dict(node.attlist())
if 'method' in attrs and 'path' in attrs:
method_id = generate_id(attrs['path'], attrs['method'])
self.current_method = ET.Element('method', {
--
1.9.0
--
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 openstack-ceilometer for openSUSE:Factory checked in at 2014-04-20 11:36:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openstack-ceilometer (Old)
and /work/SRC/openSUSE:Factory/.openstack-ceilometer.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openstack-ceilometer"
Changes:
--------
--- /work/SRC/openSUSE:Factory/openstack-ceilometer/openstack-ceilometer.changes 2014-04-14 10:52:44.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.openstack-ceilometer.new/openstack-ceilometer.changes 2014-04-20 11:36:32.000000000 +0200
@@ -1,0 +2,8 @@
+Mon Apr 14 08:54:16 UTC 2014 - dmueller(a)suse.com
+
+- update to 2014.1.rc2:
+ * Allowed nested resource metadata in POST'd samples
+ * Fix Jenkins translation jobs
+ * Updated from global requirements
+
+-------------------------------------------------------------------
Old:
----
ceilometer-2014.1.rc1.tar.gz
New:
----
ceilometer-2014.1.rc2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openstack-ceilometer-doc.spec ++++++
--- /var/tmp/diff_new_pack.NPSfZ5/_old 2014-04-20 11:36:33.000000000 +0200
+++ /var/tmp/diff_new_pack.NPSfZ5/_new 2014-04-20 11:36:33.000000000 +0200
@@ -19,7 +19,7 @@
%define component ceilometer
Name: openstack-%{component}-doc
-Version: 2014.1.rc1
+Version: 2014.1.rc2
Release: 0
Summary: OpenStack Metering (Ceilometer) - Documentation
License: Apache-2.0
++++++ openstack-ceilometer.spec ++++++
--- /var/tmp/diff_new_pack.NPSfZ5/_old 2014-04-20 11:36:33.000000000 +0200
+++ /var/tmp/diff_new_pack.NPSfZ5/_new 2014-04-20 11:36:33.000000000 +0200
@@ -22,7 +22,7 @@
%define username %{component}
Name: openstack-%{component}
-Version: 2014.1.rc1
+Version: 2014.1.rc2
Release: 0
Summary: OpenStack Metering (Ceilometer)
License: Apache-2.0
@@ -92,18 +92,18 @@
Requires: python-croniter >= 0.3.4
Requires: python-eventlet >= 0.13.0
Requires: python-glanceclient >= 0.9.0
-Requires: python-happybase >= 0.4
-Requires: python-iso8601 >= 0.1.8
+Requires: python-happybase >= 0.5
+Requires: python-iso8601 >= 0.1.9
Requires: python-jsonpath-rw >= 1.2.0
Requires: python-jsonschema >= 2.0.0
-Requires: python-keystoneclient >= 0.6.0
+Requires: python-keystoneclient >= 0.7.0
Requires: python-kombu >= 2.4.8
Requires: python-lockfile >= 0.8
Requires: python-lxml >= 2.3
Requires: python-msgpack-python
-Requires: python-novaclient >= 2.15.0
+Requires: python-novaclient >= 2.17.0
Requires: python-oslo.config >= 1.2.0
-Requires: python-oslo.vmware
+Requires: python-oslo.vmware >= 0.2
Requires: python-pecan >= 0.4.5
Requires: python-pymongo >= 2.4
Requires: python-pysnmp >= 4.2.1
++++++ ceilometer-2014.1.rc1.tar.gz -> ceilometer-2014.1.rc2.tar.gz ++++++
++++ 13176 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 python-openstackclient for openSUSE:Factory checked in at 2014-04-20 11:36:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-openstackclient (Old)
and /work/SRC/openSUSE:Factory/.python-openstackclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-openstackclient"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-openstackclient/python-openstackclient.changes 2014-04-09 19:09:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-openstackclient.new/python-openstackclient.changes 2014-04-20 11:36:25.000000000 +0200
@@ -2 +2 @@
-Thu Mar 27 10:25:53 UTC 2014 - dmueller(a)suse.com
+Mon Apr 7 16:42:07 UTC 2014 - dmueller(a)suse.com
@@ -4,44 +4 @@
-- go back to released version (0.3.1) for Icehouse
-
--------------------------------------------------------------------
-Mon Mar 24 01:10:32 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version python-openstackclient-0.3.1.23.gee22070:
- * Correct display of project/tenant id on display of credentials
-
--------------------------------------------------------------------
-Sun Mar 23 01:11:42 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version python-openstackclient-0.3.1.21.g4900c64:
- * Produce a useful error message for NoUniqueMatch
-
--------------------------------------------------------------------
-Fri Mar 14 00:44:21 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version python-openstackclient-0.3.1.20.g0c0803d:
- * identity v3 allow project list filtering by domain
- * Add ability to set key value pairs in projects
-
--------------------------------------------------------------------
-Thu Mar 13 00:55:17 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version python-openstackclient-0.3.1.17.g65f094e:
- * Updated from global requirements
-
--------------------------------------------------------------------
-Tue Mar 11 00:58:06 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version python-openstackclient-0.3.1.16.gcf8506d:
- * Fix 'keypair show' command output
-
--------------------------------------------------------------------
-Mon Mar 10 15:39:48 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version python-openstackclient-0.3.1.14.g4632238:
- * add interface and url to endpoint list
- * Fixed spelling error, compatability to compatibility
- * Fixed Spelling errors - compatability to compatibility
- * Fixed spelling errors - occurance to occurence
- * Updated from global requirements
- * Add --volume option to image create command
- 0.3.1
+- switch to released version (0.3.1)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-openstackclient.spec ++++++
--- /var/tmp/diff_new_pack.Jg2tzU/_old 2014-04-20 11:36:26.000000000 +0200
+++ /var/tmp/diff_new_pack.Jg2tzU/_new 2014-04-20 11:36:26.000000000 +0200
@@ -36,7 +36,6 @@
%endif
BuildRequires: python-Babel >= 1.3
BuildRequires: python-cliff >= 1.4.3
-BuildRequires: python-fixtures
BuildRequires: python-glanceclient >= 0.9.0
BuildRequires: python-keyring >= 1.6.1
BuildRequires: python-keystoneclient >= 0.3.2
@@ -48,14 +47,13 @@
BuildRequires: python-six >= 1.4.1
BuildRequires: python-testrepository >= 0.0.17
BuildRequires: python-testtools >= 0.9.32
-Requires: python-WebOb >= 1.2.3
Requires: python-cinderclient >= 1.0.6
Requires: python-cliff >= 1.4.3
Requires: python-glanceclient >= 0.9.0
Requires: python-keyring >= 1.6.1
-Requires: python-keystoneclient >= 0.6.0
+Requires: python-keystoneclient >= 0.3.2
Requires: python-novaclient >= 2.15.0
-Requires: python-pbr >= 0.6
+Requires: python-pbr >= 0.5.21
Requires: python-pycrypto >= 2.6
Requires: python-requests >= 1.1
Requires: python-six >= 1.4.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 python-oslo.messaging for openSUSE:Factory checked in at 2014-04-20 11:36:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.messaging (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.messaging.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.messaging"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.messaging/python-oslo.messaging.changes 2014-04-06 07:15:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-oslo.messaging.new/python-oslo.messaging.changes 2014-04-20 11:36:14.000000000 +0200
@@ -1,0 +2,30 @@
+Fri Apr 4 13:15:19 UTC 2014 - dmueller(a)suse.com
+
+- add compat hacks
+
+-------------------------------------------------------------------
+Fri Apr 4 12:13:37 UTC 2014 - dmueller(a)suse.com
+
+- fix package requires
+
+-------------------------------------------------------------------
+Tue Apr 1 13:37:43 UTC 2014 - speilicke(a)suse.com
+
+- Update to version 1.3.0:
+ * Add release notes for 1.3.0
+ * Fix wrong parameter description in docstring
+ * Fixed inconsistent EventletContextManagerSpawnTest failures
+ * Use messaging_conf fixture configuration by default
+ * Fixed possible pep8 failure due to pyflakes bug
+ * Refactor AMQP message broker selection
+ * Add unit test to check the order of Qpid hosts on reconnect
+ * Clean up for qpid tests
+ * Add kombu driver library to requirements.txt
+ * Use driver's notify_send() method again
+ * Remove vim header
+ * Updated from global requirements
+ * Fixed spelling error - runnung to running
+ * Build log_handler documentation
+ * Add release notes up to 1.3.0a9
+
+-------------------------------------------------------------------
Old:
----
oslo.messaging-1.3.0a9.tar.gz
New:
----
oslo.messaging-1.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.messaging.spec ++++++
--- /var/tmp/diff_new_pack.3pPVqN/_old 2014-04-20 11:36:15.000000000 +0200
+++ /var/tmp/diff_new_pack.3pPVqN/_new 2014-04-20 11:36:15.000000000 +0200
@@ -18,13 +18,18 @@
%define component oslo
Name: python-oslo.messaging
-Version: 1.3.0a9
+Version: 1.3.0
Release: 0
+%if "%version" != "1.3.0"
+%error remove the lines below
+%endif
+Provides: %name = 1.3.0a4
+Provides: %name = 1.3.0a9
Url: https://launchpad.net/oslo/
Summary: OpenStack Messaging API
License: Apache-2.0
Group: Development/Languages/Python
-Source: http://tarballs.openstack.org/oslo.messaging/oslo.messaging-1.3.0a9.tar.gz
+Source: http://tarballs.openstack.org/oslo.messaging/oslo.messaging-%{version}.tar.…
Source99: rpmlintrc
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: fdupes
@@ -35,11 +40,11 @@
Requires: python-Babel >= 1.3
Requires: python-PyYAML >= 3.1.0
Requires: python-eventlet >= 0.13.0
-Requires: python-iso8601 >= 0.1.8
+Requires: python-iso8601 >= 0.1.9
Requires: python-kombu >= 2.4.8
Requires: python-oslo.config >= 1.2.0
-Requires: python-six >= 1.4.1
-Requires: python-stevedore >= 0.12
+Requires: python-six >= 1.5.2
+Requires: python-stevedore >= 0.14
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%else
@@ -63,18 +68,17 @@
Summary: OpenStack Messaging API - test suite
Group: System/Management
Requires: %{name} = %{version}
-Requires: python-coverage >= 3.6
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
Requires: python-discover
%endif
Requires: python-fixtures >= 0.3.14
-Requires: python-hacking >= 0.8.0
Requires: python-mock >= 1.0
Requires: python-mox3 >= 0.7.0
-Requires: python-python-subunit
-Requires: python-testrepository >= 0.0.17
+Requires: python-oslotest
+Requires: python-python-subunit >= 0.0.18
+Requires: python-testrepository >= 0.0.18
Requires: python-testscenarios >= 0.4
-Requires: python-testtools >= 0.9.32
+Requires: python-testtools >= 0.9.34
%description test
This package contains testsuite files for %{name}.
++++++ _service ++++++
--- /var/tmp/diff_new_pack.3pPVqN/_old 2014-04-20 11:36:15.000000000 +0200
+++ /var/tmp/diff_new_pack.3pPVqN/_new 2014-04-20 11:36:15.000000000 +0200
@@ -5,6 +5,8 @@
<service mode="disabled" name="set_version">
<param name="basename">oslo.messaging</param>
</service>
+ <service name="python_requires" mode="disabled">
+ </service>
<service name="refresh_patches" mode="disabled">
<param name="changesgenerate">enable</param>
</service>
++++++ oslo.messaging-1.3.0a9.tar.gz -> oslo.messaging-1.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/ChangeLog new/oslo.messaging-1.3.0/ChangeLog
--- old/oslo.messaging-1.3.0a9/ChangeLog 2014-03-04 20:22:11.000000000 +0100
+++ new/oslo.messaging-1.3.0/ChangeLog 2014-04-01 14:21:49.000000000 +0200
@@ -1,6 +1,25 @@
CHANGES
=======
+1.3.0
+-----
+
+* Add release notes for 1.3.0
+* Fix wrong parameter description in docstring
+* Fixed inconsistent EventletContextManagerSpawnTest failures
+* Use messaging_conf fixture configuration by default
+* Fixed possible pep8 failure due to pyflakes bug
+* Refactor AMQP message broker selection
+* Add unit test to check the order of Qpid hosts on reconnect
+* Clean up for qpid tests
+* Add kombu driver library to requirements.txt
+* Use driver's notify_send() method again
+* Remove vim header
+* Updated from global requirements
+* Fixed spelling error - runnung to running
+* Build log_handler documentation
+* Add release notes up to 1.3.0a9
+
1.3.0a9
-------
@@ -9,8 +28,11 @@
1.3.0a8
-------
+* Expose PublishErrorsHandler through oslo.messaging
+* notify listener: document the metadata callback parameter
* Add missing data into the notif. endpoint callback
* notification listener: add allow_requeue param
+* Adds unit test cases to impl_qpid
* Do not leak _unique_id out of amqp drivers
* Add multiple exchange per listerner in fake driver
* Allow to requeue the notification message
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/PKG-INFO new/oslo.messaging-1.3.0/PKG-INFO
--- old/oslo.messaging-1.3.0a9/PKG-INFO 2014-03-04 20:22:11.000000000 +0100
+++ new/oslo.messaging-1.3.0/PKG-INFO 2014-04-01 14:21:49.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: oslo.messaging
-Version: 1.3.0a9
+Version: 1.3.0
Summary: Oslo Messaging API
Home-page: https://launchpad.net/oslo
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/doc/source/index.rst new/oslo.messaging-1.3.0/doc/source/index.rst
--- old/oslo.messaging-1.3.0a9/doc/source/index.rst 2014-03-04 20:21:21.000000000 +0100
+++ new/oslo.messaging-1.3.0/doc/source/index.rst 2014-04-01 14:21:04.000000000 +0200
@@ -24,6 +24,112 @@
Release Notes
=============
+1.3.0
+-----
+
+Changes since 1.3.0a9:
+
+* Expose PublishErrorsHandler in the public API
+* 1288425_: Add kombu driver library to requirements.txt
+* 1255239_: Add unit tests for the qpid driver
+* 1261631_: Add unit test for Qpid reconnect order
+* 1282706_: Fixed inconsistent eventlet test failures
+* 1297161_: Fixed pep8 failure due to pyflakes bug
+* 1286984_: Build log_handler documentation
+
+.. _1288425: https://bugs.launchpad.net/oslo.messaging/+bug/1288425
+.. _1255239: https://bugs.launchpad.net/oslo.messaging/+bug/1255239
+.. _1261631: https://bugs.launchpad.net/oslo.messaging/+bug/1261631
+.. _1282706: https://bugs.launchpad.net/oslo.messaging/+bug/1282706
+.. _1297161: https://bugs.launchpad.net/oslo.messaging/+bug/1297161
+.. _1286984: https://bugs.launchpad.net/oslo.messaging/+bug/1286984
+
+Thanks to Alex Holden, ChangBo Guo, Clint Byrum, Doug Hellmann, Ihar
+Hrachyshka, Lance Bragstad and Numan Siddique for their contributions
+to this release.
+
+1.3.0a9
+-------
+
+Changes since 1.3.0a8:
+
+* 856764_: Handle RabbitMQ consumer cancel notifications
+* 856764_: Slow down RabbitMQ reconnection attempts
+* 1287542_: Fix issue with duplicate SSL config options registered
+
+.. _856764: https://bugs.launchpad.net/oslo.messaging/+bug/856764
+.. _1287542: https://bugs.launchpad.net/oslo.messaging/+bug/1287542
+
+Thanks to Chet Burgess, Doug Hellmann and Nicolas Simonds for their
+contributions to this release.
+
+1.3.0a8
+-------
+
+Changes since 1.3.0a7:
+
+* notification_listener_: More notification listener API additions
+* log_handler_: Add notifier log handler
+* 1282038_: Fix Qpid driver regression
+* 1276163_: Fix ExpectedException handling
+* 1261631_: Fix RabbitMQ and Qpid reconnection behaviour
+* 1269890_: Support different RabbitMQ login methods
+* 1277168_: Switch from oslo.sphinx to oslosphinx
+* Convert to oslo.test library
+* Improve configuration help strings
+
+.. _notification_listener: https://blueprints.launchpad.net/oslo.messaging/+spec/notification-subscrib…
+.. _log_handler: https://blueprints.launchpad.net/oslo.messaging/+spec/log-handler
+.. _1282038: https://bugs.launchpad.net/oslo.messaging/+bug/1282038
+.. _1276163: https://bugs.launchpad.net/oslo.messaging/+bug/1276163
+.. _1261631: https://bugs.launchpad.net/oslo.messaging/+bug/1261631
+.. _1269890: https://bugs.launchpad.net/oslo.messaging/+bug/1269890
+.. _1277168: https://bugs.launchpad.net/oslo.messaging/+bug/1277168
+
+Thanks to Andreas Jaeger, Ben Nemec, Dirk Mueller, Doug Hellmann,
+Flavio Percoco, Ihar Hrachyshka, Jeremy Hanmer, Joe Harrison,
+Kurt Griffiths, Lance Bragstad, Mehdi Abaakouk and Xavier Queralt
+for their contributions to this release.
+
+1.3.0a7
+-------
+
+Changes since 1.3.0a6:
+
+* notification_listener_: Add notification listener API
+* 1272271_: Fix regression in RabbitMQ reconnection support
+* 1273455_: Remove use of deprecated stevedore API
+
+.. _notification_listener: https://blueprints.launchpad.net/oslo.messaging/+spec/notification-subscrib…
+.. _1272271: https://bugs.launchpad.net/oslo.messaging/+bug/1272271
+.. _1273455: https://bugs.launchpad.net/oslo.messaging/+bug/1273455
+
+Thanks to Ala Rezmerita, Doug Hellmann and Mehdi Abaakouk for their
+contributions to this release.
+
+1.3.0a6
+-------
+
+Changes since 1.3.0a5:
+
+* 1241566_: Enable sample config file generator include oslo.messaging options
+
+.. _1241566: https://bugs.launchpad.net/oslo.messaging/+bug/1241566
+
+Thanks to Andreas Jaeger for his contributions to this release.
+
+1.3.0a5
+-------
+
+Changes since 1.3.0a3:
+
+* routing_notifier_: Add a routing notifier
+
+.. _routing_notifier: http://blueprints.launchpad.net/oslo.messaging/+spec/configurable-notificat…
+
+Thanks to Dirk Mueller and Sandy Walsh for their contributions to this
+release.
+
1.3.0a3
-------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/doc/source/notifier.rst new/oslo.messaging-1.3.0/doc/source/notifier.rst
--- old/oslo.messaging-1.3.0a9/doc/source/notifier.rst 2014-03-04 20:21:21.000000000 +0100
+++ new/oslo.messaging-1.3.0/doc/source/notifier.rst 2014-04-01 14:21:03.000000000 +0200
@@ -9,3 +9,6 @@
.. autoclass:: LoggingNotificationHandler
:members:
+
+.. autoclass:: PublishErrorsHandler
+ :members:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/_cmd/zmq_receiver.py new/oslo.messaging-1.3.0/oslo/messaging/_cmd/zmq_receiver.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/_cmd/zmq_receiver.py 2014-03-04 20:21:21.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/_cmd/zmq_receiver.py 2014-04-01 14:21:03.000000000 +0200
@@ -1,5 +1,4 @@
#!/usr/bin/env python
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2011 OpenStack Foundation
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/amqpdriver.py new/oslo.messaging-1.3.0/oslo/messaging/_drivers/amqpdriver.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/amqpdriver.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/_drivers/amqpdriver.py 2014-04-01 14:21:04.000000000 +0200
@@ -358,7 +358,8 @@
return self._reply_q
def _send(self, target, ctxt, message,
- wait_for_reply=None, timeout=None, envelope=True):
+ wait_for_reply=None, timeout=None,
+ envelope=True, notify=False):
# FIXME(markmc): remove this temporary hack
class Context(object):
@@ -388,7 +389,9 @@
try:
with self._get_connection() as conn:
- if target.fanout:
+ if notify:
+ conn.notify_send(target.topic, msg)
+ elif target.fanout:
conn.fanout_send(target.topic, msg)
else:
topic = target.topic
@@ -409,7 +412,8 @@
return self._send(target, ctxt, message, wait_for_reply, timeout)
def send_notification(self, target, ctxt, message, version):
- return self._send(target, ctxt, message, envelope=(version == 2.0))
+ return self._send(target, ctxt, message,
+ envelope=(version == 2.0), notify=True)
def listen(self, target):
conn = self._get_connection(pooled=False)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/impl_fake.py new/oslo.messaging-1.3.0/oslo/messaging/_drivers/impl_fake.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/impl_fake.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/_drivers/impl_fake.py 2014-04-01 14:21:03.000000000 +0200
@@ -1,5 +1,3 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
# Copyright 2011 OpenStack Foundation
# Copyright 2013 Red Hat, Inc.
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/impl_qpid.py new/oslo.messaging-1.3.0/oslo/messaging/_drivers/impl_qpid.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/impl_qpid.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/_drivers/impl_qpid.py 2014-04-01 14:21:03.000000000 +0200
@@ -473,10 +473,7 @@
}
params.update(server_params or {})
- self.brokers = params['qpid_hosts']
-
- brokers_count = len(self.brokers)
- self.next_broker_indices = itertools.cycle(range(brokers_count))
+ self.brokers = itertools.cycle(params['qpid_hosts'])
self.username = params['username']
self.password = params['password']
@@ -515,7 +512,7 @@
except qpid_exceptions.ConnectionError:
pass
- broker = self.brokers[next(self.next_broker_indices)]
+ broker = six.next(self.brokers)
try:
self.connection_create(broker)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/impl_rabbit.py new/oslo.messaging-1.3.0/oslo/messaging/_drivers/impl_rabbit.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/impl_rabbit.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/_drivers/impl_rabbit.py 2014-04-01 14:21:03.000000000 +0200
@@ -466,10 +466,7 @@
params_list.append(params)
- self.params_list = params_list
-
- brokers_count = len(self.params_list)
- self.next_broker_indices = itertools.cycle(range(brokers_count))
+ self.params_list = itertools.cycle(params_list)
self.memory_transport = self.conf.fake_rabbit
@@ -575,7 +572,7 @@
attempt = 0
while True:
- params = self.params_list[next(self.next_broker_indices)]
+ params = six.next(self.params_list)
attempt += 1
try:
self._connect(params)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/matchmaker.py new/oslo.messaging-1.3.0/oslo/messaging/_drivers/matchmaker.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/matchmaker.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/_drivers/matchmaker.py 2014-04-01 14:21:03.000000000 +0200
@@ -1,5 +1,3 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
# Copyright 2011 Cloudscaling Group, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/matchmaker_redis.py new/oslo.messaging-1.3.0/oslo/messaging/_drivers/matchmaker_redis.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/matchmaker_redis.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/_drivers/matchmaker_redis.py 2014-04-01 14:21:03.000000000 +0200
@@ -1,5 +1,3 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
# Copyright 2013 Cloudscaling Group, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/matchmaker_ring.py new/oslo.messaging-1.3.0/oslo/messaging/_drivers/matchmaker_ring.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/_drivers/matchmaker_ring.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/_drivers/matchmaker_ring.py 2014-04-01 14:21:03.000000000 +0200
@@ -1,5 +1,3 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
# Copyright 2011-2013 Cloudscaling Group, Inc
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/_executors/impl_eventlet.py new/oslo.messaging-1.3.0/oslo/messaging/_executors/impl_eventlet.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/_executors/impl_eventlet.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/_executors/impl_eventlet.py 2014-04-01 14:21:03.000000000 +0200
@@ -57,6 +57,8 @@
thread = pool.spawn(callback)
thread.link(complete, ctxt.__exit__)
+ return thread
+
class EventletExecutor(base.ExecutorBase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/conffixture.py new/oslo.messaging-1.3.0/oslo/messaging/conffixture.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/conffixture.py 2014-03-04 20:21:21.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/conffixture.py 2014-04-01 14:21:03.000000000 +0200
@@ -46,8 +46,14 @@
self.conf = conf
_import_opts(self.conf,
'oslo.messaging._drivers.impl_rabbit', 'rabbit_opts')
+ _import_opts(self.conf,
+ 'oslo.messaging._drivers.impl_qpid', 'qpid_opts')
+ _import_opts(self.conf,
+ 'oslo.messaging._drivers.amqp', 'amqp_opts')
_import_opts(self.conf, 'oslo.messaging.rpc.client', '_client_opts')
_import_opts(self.conf, 'oslo.messaging.transport', '_transport_opts')
+ _import_opts(self.conf,
+ 'oslo.messaging.notify.notifier', '_notifier_opts')
def setUp(self):
super(ConfFixture, self).setUp()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/notify/__init__.py new/oslo.messaging-1.3.0/oslo/messaging/notify/__init__.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/notify/__init__.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/notify/__init__.py 2014-04-01 14:21:03.000000000 +0200
@@ -16,9 +16,11 @@
__all__ = ['Notifier',
'LoggingNotificationHandler',
'get_notification_listener',
- 'NotificationResult']
+ 'NotificationResult',
+ 'PublishErrorsHandler']
from .notifier import *
from .listener import *
+from .log_handler import *
from .logger import *
from .dispatcher import NotificationResult
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/notify/listener.py new/oslo.messaging-1.3.0/oslo/messaging/notify/listener.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/notify/listener.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/notify/listener.py 2014-04-01 14:21:03.000000000 +0200
@@ -71,7 +71,9 @@
priority
Parameters to endpoint methods are the request context supplied by the client,
-the publisher_id of the notification message, the event_type, the payload.
+the publisher_id of the notification message, the event_type, the payload and
+metadata. The metadata parameter is a mapping containing a unique message_id
+and a timestamp.
By supplying a serializer object, a listener can deserialize a request context
and arguments from - and serialize return values to - primitive types.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/notify/log_handler.py new/oslo.messaging-1.3.0/oslo/messaging/notify/log_handler.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/notify/log_handler.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/notify/log_handler.py 2014-04-01 14:21:03.000000000 +0200
@@ -13,11 +13,13 @@
import logging
from oslo.config import cfg
-from oslo import messaging
class PublishErrorsHandler(logging.Handler):
def __init__(self, *args, **kwargs):
+ # NOTE(dhellmann): Avoid a cyclical import by doing this one
+ # at runtime.
+ from oslo import messaging
logging.Handler.__init__(self, *args, **kwargs)
self._transport = messaging.get_transport(cfg.CONF)
self._notifier = messaging.Notifier(self._transport,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo/messaging/rpc/client.py new/oslo.messaging-1.3.0/oslo/messaging/rpc/client.py
--- old/oslo.messaging-1.3.0a9/oslo/messaging/rpc/client.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo/messaging/rpc/client.py 2014-04-01 14:21:03.000000000 +0200
@@ -320,7 +320,7 @@
:param method: the method name
:type method: str
:param kwargs: a dict of method arguments
- :param kwargs: dict
+ :type kwargs: dict
"""
self.prepare().cast(ctxt, method, **kwargs)
@@ -355,7 +355,7 @@
:param method: the method name
:type method: str
:param kwargs: a dict of method arguments
- :param kwargs: dict
+ :type kwargs: dict
:raises: MessagingTimeout, RemoteError
"""
return self.prepare().call(ctxt, method, **kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo.messaging.egg-info/PKG-INFO new/oslo.messaging-1.3.0/oslo.messaging.egg-info/PKG-INFO
--- old/oslo.messaging-1.3.0a9/oslo.messaging.egg-info/PKG-INFO 2014-03-04 20:22:11.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo.messaging.egg-info/PKG-INFO 2014-04-01 14:21:49.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: oslo.messaging
-Version: 1.3.0a9
+Version: 1.3.0
Summary: Oslo Messaging API
Home-page: https://launchpad.net/oslo
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo.messaging.egg-info/SOURCES.txt new/oslo.messaging-1.3.0/oslo.messaging.egg-info/SOURCES.txt
--- old/oslo.messaging-1.3.0a9/oslo.messaging.egg-info/SOURCES.txt 2014-03-04 20:22:11.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo.messaging.egg-info/SOURCES.txt 2014-04-01 14:21:49.000000000 +0200
@@ -97,6 +97,7 @@
tests/test_notify_listener.py
tests/test_opts.py
tests/test_pool.py
+tests/test_qpid.py
tests/test_rabbit.py
tests/test_rpc_client.py
tests/test_rpc_dispatcher.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/oslo.messaging.egg-info/requires.txt new/oslo.messaging-1.3.0/oslo.messaging.egg-info/requires.txt
--- old/oslo.messaging-1.3.0a9/oslo.messaging.egg-info/requires.txt 2014-03-04 20:22:11.000000000 +0100
+++ new/oslo.messaging-1.3.0/oslo.messaging.egg-info/requires.txt 2014-04-01 14:21:49.000000000 +0200
@@ -1,7 +1,8 @@
oslo.config>=1.2.0
stevedore>=0.14
-iso8601>=0.1.8
+iso8601>=0.1.9
six>=1.5.2
eventlet>=0.13.0
Babel>=1.3
-PyYAML>=3.1.0
\ No newline at end of file
+PyYAML>=3.1.0
+kombu>=2.4.8
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/requirements.txt new/oslo.messaging-1.3.0/requirements.txt
--- old/oslo.messaging-1.3.0a9/requirements.txt 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/requirements.txt 2014-04-01 14:21:03.000000000 +0200
@@ -2,7 +2,7 @@
stevedore>=0.14
# for timeutils
-iso8601>=0.1.8
+iso8601>=0.1.9
# for jsonutils
six>=1.5.2
@@ -17,3 +17,6 @@
# for the routing notifier
PyYAML>=3.1.0
+
+# rabbit driver is the default
+kombu>=2.4.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/test-requirements.txt new/oslo.messaging-1.3.0/test-requirements.txt
--- old/oslo.messaging-1.3.0a9/test-requirements.txt 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/test-requirements.txt 2014-04-01 14:21:03.000000000 +0200
@@ -11,8 +11,8 @@
testtools>=0.9.34
oslotest
-# for test_rabbit
-kombu>=2.4.8
+# for test_qpid
+qpid-python
# when we can require tox>= 1.4, this can go into tox.ini:
# [testenv:cover]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/tests/test_executor.py new/oslo.messaging-1.3.0/tests/test_executor.py
--- old/oslo.messaging-1.3.0a9/tests/test_executor.py 2014-03-04 20:21:21.000000000 +0100
+++ new/oslo.messaging-1.3.0/tests/test_executor.py 2014-04-01 14:21:03.000000000 +0200
@@ -105,8 +105,8 @@
self.mgr = context_mgr()
def test_normal_run(self):
- impl_eventlet.spawn_with(self.mgr, pool=eventlet)
- eventlet.sleep(0)
+ thread = impl_eventlet.spawn_with(self.mgr, pool=eventlet)
+ thread.wait()
self.assertEqual(self.before.call_count, 1)
self.assertEqual(self.callback.call_count, 1)
self.assertEqual(self.after.call_count, 1)
@@ -114,8 +114,11 @@
def test_excepted_exception(self):
self.callback.side_effect = ExceptedException
- impl_eventlet.spawn_with(self.mgr, pool=eventlet)
- eventlet.sleep(0)
+ thread = impl_eventlet.spawn_with(self.mgr, pool=eventlet)
+ try:
+ thread.wait()
+ except ExceptedException:
+ pass
self.assertEqual(self.before.call_count, 1)
self.assertEqual(self.callback.call_count, 1)
self.assertEqual(self.after.call_count, 1)
@@ -123,8 +126,11 @@
def test_unexcepted_exception(self):
self.callback.side_effect = Exception
- impl_eventlet.spawn_with(self.mgr, pool=eventlet)
- eventlet.sleep(0)
+ thread = impl_eventlet.spawn_with(self.mgr, pool=eventlet)
+ try:
+ thread.wait()
+ except Exception:
+ pass
self.assertEqual(self.before.call_count, 1)
self.assertEqual(self.callback.call_count, 1)
self.assertEqual(self.after.call_count, 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/tests/test_log_handler.py new/oslo.messaging-1.3.0/tests/test_log_handler.py
--- old/oslo.messaging-1.3.0a9/tests/test_log_handler.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/tests/test_log_handler.py 2014-04-01 14:21:03.000000000 +0200
@@ -23,7 +23,6 @@
"""Tests for log.PublishErrorsHandler"""
def setUp(self):
super(PublishErrorsHandlerTestCase, self).setUp()
- self.conf.register_opts(messaging.notify.notifier._notifier_opts)
self.publisherrorshandler = (log_handler.
PublishErrorsHandler(logging.ERROR))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/tests/test_notifier.py new/oslo.messaging-1.3.0/tests/test_notifier.py
--- old/oslo.messaging-1.3.0a9/tests/test_notifier.py 2014-03-04 20:21:21.000000000 +0100
+++ new/oslo.messaging-1.3.0/tests/test_notifier.py 2014-04-01 14:21:03.000000000 +0200
@@ -135,8 +135,6 @@
def setUp(self):
super(TestMessagingNotifier, self).setUp()
- self.conf.register_opts(msg_notifier._notifier_opts)
-
self.logger = self.useFixture(_ReRaiseLoggedExceptionsFixture()).logger
self.stubs.Set(_impl_messaging, 'LOG', self.logger)
self.stubs.Set(msg_notifier, '_LOG', self.logger)
@@ -149,8 +147,8 @@
if self.v2:
drivers.append('messagingv2')
- self.config(notification_driver=drivers)
- self.config(notification_topics=self.topics)
+ self.config(notification_driver=drivers,
+ notification_topics=self.topics)
transport = _FakeTransport(self.conf)
@@ -251,10 +249,6 @@
class TestLogNotifier(test_utils.BaseTestCase):
- def setUp(self):
- super(TestLogNotifier, self).setUp()
- self.conf.register_opts(msg_notifier._notifier_opts)
-
@mock.patch('oslo.messaging.openstack.common.timeutils.utcnow')
def test_notifier(self, mock_utcnow):
self.config(notification_driver=['log'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/tests/test_qpid.py new/oslo.messaging-1.3.0/tests/test_qpid.py
--- old/oslo.messaging-1.3.0a9/tests/test_qpid.py 1970-01-01 01:00:00.000000000 +0100
+++ new/oslo.messaging-1.3.0/tests/test_qpid.py 2014-04-01 14:21:03.000000000 +0200
@@ -0,0 +1,615 @@
+# Copyright (C) 2014 eNovance SAS <licensing(a)enovance.com>
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import random
+import thread
+import threading
+import time
+
+import mock
+import qpid
+import testscenarios
+
+from oslo import messaging
+from oslo.messaging._drivers import impl_qpid as qpid_driver
+from tests import utils as test_utils
+
+
+load_tests = testscenarios.load_tests_apply_scenarios
+
+QPID_BROKER = 'localhost:5672'
+
+
+class TestQpidDriverLoad(test_utils.BaseTestCase):
+
+ def setUp(self):
+ super(TestQpidDriverLoad, self).setUp()
+ self.messaging_conf.transport_driver = 'qpid'
+
+ def test_driver_load(self):
+ transport = messaging.get_transport(self.conf)
+ self.assertIsInstance(transport._driver, qpid_driver.QpidDriver)
+
+
+def _is_qpidd_service_running():
+
+ """this function checks if the qpid service is running or not."""
+
+ qpid_running = True
+ try:
+ broker = QPID_BROKER
+ connection = qpid.messaging.Connection(broker)
+ connection.open()
+ except Exception:
+ # qpid service is not running.
+ qpid_running = False
+ else:
+ connection.close()
+
+ return qpid_running
+
+
+class _QpidBaseTestCase(test_utils.BaseTestCase):
+
+ def setUp(self):
+ super(_QpidBaseTestCase, self).setUp()
+ self.messaging_conf.transport_driver = 'qpid'
+ self.fake_qpid = not _is_qpidd_service_running()
+
+ if self.fake_qpid:
+ self.session_receive = get_fake_qpid_session()
+ self.session_send = get_fake_qpid_session()
+ else:
+ self.broker = QPID_BROKER
+ # create connection from the qpid.messaging
+ # connection for the Consumer.
+ self.con_receive = qpid.messaging.Connection(self.broker)
+ self.con_receive.open()
+ # session to receive the messages
+ self.session_receive = self.con_receive.session()
+
+ # connection for sending the message
+ self.con_send = qpid.messaging.Connection(self.broker)
+ self.con_send.open()
+ # session to send the messages
+ self.session_send = self.con_send.session()
+
+ # list to store the expected messages and
+ # the actual received messages
+ self._expected = []
+ self._messages = []
+ self.initialized = True
+
+ def tearDown(self):
+ super(_QpidBaseTestCase, self).tearDown()
+
+ if self.initialized:
+ if self.fake_qpid:
+ _fake_session.flush_exchanges()
+ else:
+ self.con_receive.close()
+ self.con_send.close()
+
+
+class TestQpidInvalidTopologyVersion(_QpidBaseTestCase):
+ """Unit test cases to test invalid qpid topology version."""
+
+ scenarios = [
+ ('direct', dict(consumer_cls=qpid_driver.DirectConsumer,
+ publisher_cls=qpid_driver.DirectPublisher)),
+ ('topic', dict(consumer_cls=qpid_driver.TopicConsumer,
+ publisher_cls=qpid_driver.TopicPublisher)),
+ ('fanout', dict(consumer_cls=qpid_driver.FanoutConsumer,
+ publisher_cls=qpid_driver.FanoutPublisher)),
+ ]
+
+ def setUp(self):
+ super(TestQpidInvalidTopologyVersion, self).setUp()
+ self.config(qpid_topology_version=-1)
+
+ def test_invalid_topology_version(self):
+ def consumer_callback(msg):
+ pass
+
+ msgid_or_topic = 'test'
+
+ # not using self.assertRaises because
+ # 1. qpid driver raises Exception(msg) for invalid topology version
+ # 2. flake8 - H202 assertRaises Exception too broad
+ exception_msg = ("Invalid value for qpid_topology_version: %d" %
+ self.conf.qpid_topology_version)
+ recvd_exc_msg = ''
+
+ try:
+ self.consumer_cls(self.conf,
+ self.session_receive,
+ msgid_or_topic,
+ consumer_callback)
+ except Exception as e:
+ recvd_exc_msg = e.message
+
+ self.assertEqual(exception_msg, recvd_exc_msg)
+
+ recvd_exc_msg = ''
+ try:
+ self.publisher_cls(self.conf,
+ self.session_send,
+ msgid_or_topic)
+ except Exception as e:
+ recvd_exc_msg = e.message
+
+ self.assertEqual(exception_msg, recvd_exc_msg)
+
+
+class TestQpidDirectConsumerPublisher(_QpidBaseTestCase):
+ """Unit test cases to test DirectConsumer and Direct Publisher."""
+
+ _n_qpid_topology = [
+ ('v1', dict(qpid_topology=1)),
+ ('v2', dict(qpid_topology=2)),
+ ]
+
+ _n_msgs = [
+ ('single', dict(no_msgs=1)),
+ ('multiple', dict(no_msgs=10)),
+ ]
+
+ @classmethod
+ def generate_scenarios(cls):
+ cls.scenarios = testscenarios.multiply_scenarios(cls._n_qpid_topology,
+ cls._n_msgs)
+
+ def consumer_callback(self, msg):
+ # This function will be called by the DirectConsumer
+ # when any message is received.
+ # Append the received message into the messages list
+ # so that the received messages can be validated
+ # with the expected messages
+ if isinstance(msg, dict):
+ self._messages.append(msg['content'])
+ else:
+ self._messages.append(msg)
+
+ def test_qpid_direct_consumer_producer(self):
+ self.msgid = str(random.randint(1, 100))
+
+ # create a DirectConsumer and DirectPublisher class objects
+ self.dir_cons = qpid_driver.DirectConsumer(self.conf,
+ self.session_receive,
+ self.msgid,
+ self.consumer_callback)
+ self.dir_pub = qpid_driver.DirectPublisher(self.conf,
+ self.session_send,
+ self.msgid)
+
+ def try_send_msg(no_msgs):
+ for i in range(no_msgs):
+ self._expected.append(str(i))
+ snd_msg = {'content_type': 'text/plain', 'content': str(i)}
+ self.dir_pub.send(snd_msg)
+
+ def try_receive_msg(no_msgs):
+ for i in range(no_msgs):
+ self.dir_cons.consume()
+
+ thread1 = threading.Thread(target=try_receive_msg,
+ args=(self.no_msgs,))
+ thread2 = threading.Thread(target=try_send_msg,
+ args=(self.no_msgs,))
+
+ thread1.start()
+ thread2.start()
+ thread1.join()
+ thread2.join()
+
+ self.assertEqual(len(self._messages), self.no_msgs)
+ self.assertEqual(self._messages, self._expected)
+
+
+TestQpidDirectConsumerPublisher.generate_scenarios()
+
+
+class TestQpidTopicAndFanout(_QpidBaseTestCase):
+ """Unit Test cases to test TopicConsumer and
+ TopicPublisher classes of the qpid driver
+ and FanoutConsumer and FanoutPublisher classes
+ of the qpid driver
+ """
+
+ _n_qpid_topology = [
+ ('v1', dict(qpid_topology=1)),
+ ('v2', dict(qpid_topology=2)),
+ ]
+
+ _n_msgs = [
+ ('single', dict(no_msgs=1)),
+ ('multiple', dict(no_msgs=10)),
+ ]
+
+ _n_senders = [
+ ('single', dict(no_senders=1)),
+ ('multiple', dict(no_senders=10)),
+ ]
+
+ _n_receivers = [
+ ('single', dict(no_receivers=1)),
+ ]
+ _exchange_class = [
+ ('topic', dict(consumer_cls=qpid_driver.TopicConsumer,
+ publisher_cls=qpid_driver.TopicPublisher,
+ topic='topictest.test',
+ receive_topic='topictest.test')),
+ ('fanout', dict(consumer_cls=qpid_driver.FanoutConsumer,
+ publisher_cls=qpid_driver.FanoutPublisher,
+ topic='fanouttest',
+ receive_topic='fanouttest')),
+ ]
+
+ @classmethod
+ def generate_scenarios(cls):
+ cls.scenarios = testscenarios.multiply_scenarios(cls._n_qpid_topology,
+ cls._n_msgs,
+ cls._n_senders,
+ cls._n_receivers,
+ cls._exchange_class)
+
+ def setUp(self):
+ super(TestQpidTopicAndFanout, self).setUp()
+
+ # to store the expected messages and the
+ # actual received messages
+ #
+ # NOTE(dhellmann): These are dicts, where the base class uses
+ # lists.
+ self._expected = {}
+ self._messages = {}
+
+ self._senders = []
+ self._receivers = []
+
+ self._sender_threads = []
+ self._receiver_threads = []
+
+ def consumer_callback(self, msg):
+ """callback function called by the ConsumerBase class of
+ qpid driver.
+ Message will be received in the format x-y
+ where x is the sender id and y is the msg number of the sender
+ extract the sender id 'x' and store the msg 'x-y' with 'x' as
+ the key
+ """
+
+ if isinstance(msg, dict):
+ msgcontent = msg['content']
+ else:
+ msgcontent = msg
+
+ splitmsg = msgcontent.split('-')
+ key = thread.get_ident()
+
+ if key not in self._messages:
+ self._messages[key] = dict()
+
+ tdict = self._messages[key]
+
+ if splitmsg[0] not in tdict:
+ tdict[splitmsg[0]] = []
+
+ tdict[splitmsg[0]].append(msgcontent)
+
+ def _try_send_msg(self, sender_id, no_msgs):
+ for i in range(no_msgs):
+ sendmsg = '%s-%s' % (str(sender_id), str(i))
+ key = str(sender_id)
+ # Store the message in the self._expected for each sender.
+ # This will be used later to
+ # validate the test by comparing it with the
+ # received messages by all the receivers
+ if key not in self._expected:
+ self._expected[key] = []
+ self._expected[key].append(sendmsg)
+ send_dict = {'content_type': 'text/plain', 'content': sendmsg}
+ self._senders[sender_id].send(send_dict)
+
+ def _try_receive_msg(self, receiver_id, no_msgs):
+ for i in range(self.no_senders * no_msgs):
+ no_of_attempts = 0
+
+ # ConsumerBase.consume blocks indefinitely until a message
+ # is received.
+ # So qpid_receiver.available() is called before calling
+ # ConsumerBase.consume() so that we are not
+ # blocked indefinitely
+ qpid_receiver = self._receivers[receiver_id].get_receiver()
+ while no_of_attempts < 50:
+ if qpid_receiver.available() > 0:
+ self._receivers[receiver_id].consume()
+ break
+ no_of_attempts += 1
+ time.sleep(0.05)
+
+ def test_qpid_topic_and_fanout(self):
+ for receiver_id in range(self.no_receivers):
+ consumer = self.consumer_cls(self.conf,
+ self.session_receive,
+ self.receive_topic,
+ self.consumer_callback)
+ self._receivers.append(consumer)
+
+ # create receivers threads
+ thread = threading.Thread(target=self._try_receive_msg,
+ args=(receiver_id, self.no_msgs,))
+ self._receiver_threads.append(thread)
+
+ for sender_id in range(self.no_senders):
+ publisher = self.publisher_cls(self.conf,
+ self.session_send,
+ self.topic)
+ self._senders.append(publisher)
+
+ # create sender threads
+ thread = threading.Thread(target=self._try_send_msg,
+ args=(sender_id, self.no_msgs,))
+ self._sender_threads.append(thread)
+
+ for thread in self._receiver_threads:
+ thread.start()
+
+ for thread in self._sender_threads:
+ thread.start()
+
+ for thread in self._receiver_threads:
+ thread.join()
+
+ for thread in self._sender_threads:
+ thread.join()
+
+ # Each receiver should receive all the messages sent by
+ # the sender(s).
+ # So, Iterate through each of the receiver items in
+ # self._messages and compare with the expected messages
+ # messages.
+
+ self.assertEqual(len(self._expected), self.no_senders)
+ self.assertEqual(len(self._messages), self.no_receivers)
+
+ for key, messages in self._messages.iteritems():
+ self.assertEqual(self._expected, messages)
+
+TestQpidTopicAndFanout.generate_scenarios()
+
+
+class TestQpidReconnectOrder(test_utils.BaseTestCase):
+ """Unit Test cases to test reconnection
+ """
+
+ def test_reconnect_order(self):
+ brokers = ['host1', 'host2', 'host3', 'host4', 'host5']
+ brokers_count = len(brokers)
+
+ self.messaging_conf.conf.qpid_hosts = brokers
+
+ with mock.patch('qpid.messaging.Connection') as conn_mock:
+ # starting from the first broker in the list
+ connection = qpid_driver.Connection(self.messaging_conf.conf)
+
+ # reconnect will advance to the next broker, one broker per
+ # attempt, and then wrap to the start of the list once the end is
+ # reached
+ for _ in range(brokers_count):
+ connection.reconnect()
+
+ connection.close()
+
+ expected = []
+ for broker in brokers:
+ expected.extend([mock.call(broker),
+ mock.call().open(),
+ mock.call().session(),
+ mock.call().opened(),
+ mock.call().opened().__nonzero__(),
+ mock.call().close()])
+
+ # the last one was closed with close(), not reconnect()
+ expected.extend([mock.call(brokers[0]),
+ mock.call().open(),
+ mock.call().session(),
+ mock.call().close()])
+ conn_mock.assert_has_calls(expected)
+
+
+def synchronized(func):
+ func.__lock__ = threading.Lock()
+
+ def synced_func(*args, **kws):
+ with func.__lock__:
+ return func(*args, **kws)
+
+ return synced_func
+
+
+class FakeQpidMsgManager(object):
+ def __init__(self):
+ self._exchanges = {}
+
+ @synchronized
+ def add_exchange(self, exchange):
+ if exchange not in self._exchanges:
+ self._exchanges[exchange] = {'msgs': [], 'consumers': {}}
+
+ @synchronized
+ def add_exchange_consumer(self, exchange, consumer_id):
+ exchange_info = self._exchanges[exchange]
+ cons_dict = exchange_info['consumers']
+ cons_dict[consumer_id] = 0
+
+ @synchronized
+ def add_exchange_msg(self, exchange, msg):
+ exchange_info = self._exchanges[exchange]
+ exchange_info['msgs'].append(msg)
+
+ def get_exchange_msg(self, exchange, index):
+ exchange_info = self._exchanges[exchange]
+ return exchange_info['msgs'][index]
+
+ def get_no_exch_msgs(self, exchange):
+ exchange_info = self._exchanges[exchange]
+ return len(exchange_info['msgs'])
+
+ def get_exch_cons_index(self, exchange, consumer_id):
+ exchange_info = self._exchanges[exchange]
+ cons_dict = exchange_info['consumers']
+ return cons_dict[consumer_id]
+
+ @synchronized
+ def inc_consumer_index(self, exchange, consumer_id):
+ exchange_info = self._exchanges[exchange]
+ cons_dict = exchange_info['consumers']
+ cons_dict[consumer_id] += 1
+
+_fake_qpid_msg_manager = FakeQpidMsgManager()
+
+
+class FakeQpidSessionSender(object):
+ def __init__(self, session, id, target, options):
+ self.session = session
+ self.id = id
+ self.target = target
+ self.options = options
+
+ @synchronized
+ def send(self, object, sync=True, timeout=None):
+ _fake_qpid_msg_manager.add_exchange_msg(self.target, object)
+
+ def close(self, timeout=None):
+ pass
+
+
+class FakeQpidSessionReceiver(object):
+
+ def __init__(self, session, id, source, options):
+ self.session = session
+ self.id = id
+ self.source = source
+ self.options = options
+
+ @synchronized
+ def fetch(self, timeout=None):
+ if timeout is None:
+ # if timeout is not given, take a default time out
+ # of 30 seconds to avoid indefinite loop
+ _timeout = 30
+ else:
+ _timeout = timeout
+
+ deadline = time.time() + _timeout
+ while time.time() <= deadline:
+ index = _fake_qpid_msg_manager.get_exch_cons_index(self.source,
+ self.id)
+ try:
+ msg = _fake_qpid_msg_manager.get_exchange_msg(self.source,
+ index)
+ except IndexError:
+ pass
+ else:
+ _fake_qpid_msg_manager.inc_consumer_index(self.source,
+ self.id)
+ return qpid.messaging.Message(msg)
+ time.sleep(0.050)
+
+ if timeout is None:
+ raise Exception('timed out waiting for reply')
+
+ def close(self, timeout=None):
+ pass
+
+ @synchronized
+ def available(self):
+ no_msgs = _fake_qpid_msg_manager.get_no_exch_msgs(self.source)
+ index = _fake_qpid_msg_manager.get_exch_cons_index(self.source,
+ self.id)
+ if no_msgs == 0 or index >= no_msgs:
+ return 0
+ else:
+ return no_msgs - index
+
+
+class FakeQpidSession(object):
+
+ def __init__(self, connection=None, name=None, transactional=None):
+ self.connection = connection
+ self.name = name
+ self.transactional = transactional
+ self._receivers = {}
+ self.conf = None
+ self.url = None
+ self._senders = {}
+ self._sender_id = 0
+ self._receiver_id = 0
+
+ @synchronized
+ def sender(self, target, **options):
+ exchange_key = self._extract_exchange_key(target)
+ _fake_qpid_msg_manager.add_exchange(exchange_key)
+
+ sendobj = FakeQpidSessionSender(self, self._sender_id,
+ exchange_key, options)
+ self._senders[self._sender_id] = sendobj
+ self._sender_id = self._sender_id + 1
+ return sendobj
+
+ @synchronized
+ def receiver(self, source, **options):
+ exchange_key = self._extract_exchange_key(source)
+ _fake_qpid_msg_manager.add_exchange(exchange_key)
+ recvobj = FakeQpidSessionReceiver(self, self._receiver_id,
+ exchange_key, options)
+ self._receivers[self._receiver_id] = recvobj
+ _fake_qpid_msg_manager.add_exchange_consumer(exchange_key,
+ self._receiver_id)
+ self._receiver_id += 1
+ return recvobj
+
+ def acknowledge(self, message=None, disposition=None, sync=True):
+ pass
+
+ @synchronized
+ def flush_exchanges(self):
+ _fake_qpid_msg_manager._exchanges = {}
+
+ def _extract_exchange_key(self, exchange_msg):
+ """This function extracts a unique key for the exchange.
+ This key is used in the dictionary as a 'key' for
+ this exchange.
+ Eg. if the exchange_msg (for qpid topology version 1)
+ is 33/33 ; {"node": {"x-declare": {"auto-delete": true, ....
+ then 33 is returned as the key.
+ Eg 2. For topology v2, if the
+ exchange_msg is - amq.direct/44 ; {"link": {"x-dec.......
+ then 44 is returned
+ """
+ # first check for ';'
+ semicolon_split = exchange_msg.split(';')
+
+ # split the first item of semicolon_split with '/'
+ slash_split = semicolon_split[0].split('/')
+ # return the last element of the list as the key
+ key = slash_split[-1]
+ return key.strip()
+
+_fake_session = FakeQpidSession()
+
+
+def get_fake_qpid_session():
+ return _fake_session
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/tests/test_rabbit.py new/oslo.messaging-1.3.0/tests/test_rabbit.py
--- old/oslo.messaging-1.3.0a9/tests/test_rabbit.py 2014-03-04 20:21:21.000000000 +0100
+++ new/oslo.messaging-1.3.0/tests/test_rabbit.py 2014-04-01 14:21:03.000000000 +0200
@@ -1,5 +1,3 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
# Copyright 2013 Red Hat, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/tests/test_rpc_client.py new/oslo.messaging-1.3.0/tests/test_rpc_client.py
--- old/oslo.messaging-1.3.0a9/tests/test_rpc_client.py 2014-03-04 20:21:21.000000000 +0100
+++ new/oslo.messaging-1.3.0/tests/test_rpc_client.py 2014-04-01 14:21:03.000000000 +0200
@@ -17,7 +17,6 @@
import testscenarios
from oslo import messaging
-from oslo.messaging.rpc import client as rpc_client
from oslo.messaging import serializer as msg_serializer
from tests import utils as test_utils
@@ -48,10 +47,6 @@
args=dict(bar='blaa', foobar=11.01))),
]
- def setUp(self):
- super(TestCastCall, self).setUp(conf=cfg.ConfigOpts())
- self.conf.register_opts(rpc_client._client_opts)
-
def test_cast_call(self):
self.config(rpc_response_timeout=None)
@@ -238,10 +233,6 @@
dict(confval=None, ctor=None, prepare=0, expect=0)),
]
- def setUp(self):
- super(TestCallTimeout, self).setUp(conf=cfg.ConfigOpts())
- self.conf.register_opts(rpc_client._client_opts)
-
def test_call_timeout(self):
self.config(rpc_response_timeout=self.confval)
@@ -277,10 +268,6 @@
retval='d')),
]
- def setUp(self):
- super(TestSerializer, self).setUp(conf=cfg.ConfigOpts())
- self.conf.register_opts(rpc_client._client_opts)
-
def test_call_serializer(self):
self.config(rpc_response_timeout=None)
@@ -361,10 +348,6 @@
testscenarios.multiply_scenarios(cls._call_vs_cast,
cls._cap_scenarios))
- def setUp(self):
- super(TestVersionCap, self).setUp(conf=cfg.ConfigOpts())
- self.conf.register_opts(rpc_client._client_opts)
-
def test_version_cap(self):
self.config(rpc_response_timeout=None)
@@ -459,10 +442,6 @@
can_send=False)),
]
- def setUp(self):
- super(TestCanSendVersion, self).setUp(conf=cfg.ConfigOpts())
- self.conf.register_opts(rpc_client._client_opts)
-
def test_version_cap(self):
self.config(rpc_response_timeout=None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/tests/test_transport.py new/oslo.messaging-1.3.0/tests/test_transport.py
--- old/oslo.messaging-1.3.0a9/tests/test_transport.py 2014-03-04 20:21:21.000000000 +0100
+++ new/oslo.messaging-1.3.0/tests/test_transport.py 2014-04-01 14:21:03.000000000 +0200
@@ -112,10 +112,6 @@
allowed=[]))),
]
- def setUp(self):
- super(GetTransportTestCase, self).setUp(conf=cfg.ConfigOpts())
- self.conf.register_opts(transport._transport_opts)
-
def test_get_transport(self):
self.config(rpc_backend=self.rpc_backend,
control_exchange=self.control_exchange,
@@ -144,11 +140,11 @@
kwargs['allowed_remote_exmods'] = self.allowed
if self.aliases is not None:
kwargs['aliases'] = self.aliases
- transport = messaging.get_transport(self.conf, **kwargs)
+ transport_ = messaging.get_transport(self.conf, **kwargs)
- self.assertIsNotNone(transport)
- self.assertIs(transport.conf, self.conf)
- self.assertIs(transport._driver, drvr)
+ self.assertIsNotNone(transport_)
+ self.assertIs(transport_.conf, self.conf)
+ self.assertIs(transport_._driver, drvr)
class GetTransportSadPathTestCase(test_utils.BaseTestCase):
@@ -171,10 +167,6 @@
driver='testbackend'))),
]
- def setUp(self):
- super(GetTransportSadPathTestCase, self).setUp(conf=cfg.ConfigOpts())
- self.conf.register_opts(transport._transport_opts)
-
def test_get_transport_sad(self):
self.config(rpc_backend=self.rpc_backend,
transport_url=self.transport_url)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/tests/test_urls.py new/oslo.messaging-1.3.0/tests/test_urls.py
--- old/oslo.messaging-1.3.0a9/tests/test_urls.py 2014-03-04 20:21:21.000000000 +0100
+++ new/oslo.messaging-1.3.0/tests/test_urls.py 2014-04-01 14:21:03.000000000 +0200
@@ -13,11 +13,9 @@
# License for the specific language governing permissions and limitations
# under the License.
-from oslo.config import cfg
import testscenarios
from oslo import messaging
-from oslo.messaging import transport
from tests import utils as test_utils
load_tests = testscenarios.load_tests_apply_scenarios
@@ -120,10 +118,6 @@
]))),
]
- def setUp(self):
- super(TestParseURL, self).setUp(conf=cfg.ConfigOpts())
- self.conf.register_opts(transport._transport_opts)
-
def test_parse_url(self):
self.config(rpc_backend=None)
@@ -223,10 +217,6 @@
expected='testtransport://b%24:s%26@host:10//%24')),
]
- def setUp(self):
- super(TestFormatURL, self).setUp(conf=cfg.ConfigOpts())
- self.conf.register_opts(transport._transport_opts)
-
def test_parse_url(self):
self.config(rpc_backend=self.rpc_backend)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslo.messaging-1.3.0a9/tests/utils.py new/oslo.messaging-1.3.0/tests/utils.py
--- old/oslo.messaging-1.3.0a9/tests/utils.py 2014-03-04 20:21:22.000000000 +0100
+++ new/oslo.messaging-1.3.0/tests/utils.py 2014-04-01 14:21:03.000000000 +0200
@@ -1,5 +1,3 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
# Copyright 2010-2011 OpenStack Foundation
# Copyright 2010 United States Government as represented by the
# Administrator of the National Aeronautics and Space Administration.
@@ -34,12 +32,10 @@
def setUp(self, conf=cfg.CONF):
super(BaseTestCase, self).setUp()
- self.conf = conf
- self.addCleanup(self.conf.reset)
from oslo.messaging import conffixture
- self.messaging_conf = self.useFixture(
- conffixture.ConfFixture(self.conf))
+ self.messaging_conf = self.useFixture(conffixture.ConfFixture(conf))
+ self.conf = self.messaging_conf.conf
moxfixture = self.useFixture(moxstubout.MoxStubout())
self.mox = moxfixture.mox
--
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 openstack-neutron for openSUSE:Factory checked in at 2014-04-20 11:36:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openstack-neutron (Old)
and /work/SRC/openSUSE:Factory/.openstack-neutron.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openstack-neutron"
Changes:
--------
--- /work/SRC/openSUSE:Factory/openstack-neutron/openstack-neutron.changes 2014-04-14 10:56:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.openstack-neutron.new/openstack-neutron.changes 2014-04-20 11:36:10.000000000 +0200
@@ -1,0 +2,11 @@
+Thu Apr 17 12:53:32 UTC 2014 - dmueller(a)suse.com
+
+- update to 2014.1:
+ * no change
+
+-------------------------------------------------------------------
+Tue Apr 15 13:59:52 UTC 2014 - dmueller(a)suse.com
+
+- add 0001-Robust-detection-for-postgresql-connection-errors.patch (bnc#872361)
+
+-------------------------------------------------------------------
Old:
----
neutron-2014.1.rc2.tar.gz
New:
----
0001-Robust-detection-for-postgresql-connection-errors.patch
neutron-2014.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openstack-neutron-doc.spec ++++++
--- /var/tmp/diff_new_pack.32xKQr/_old 2014-04-20 11:36:11.000000000 +0200
+++ /var/tmp/diff_new_pack.32xKQr/_new 2014-04-20 11:36:11.000000000 +0200
@@ -19,7 +19,7 @@
%define component neutron
Name: openstack-neutron-doc
-Version: 2014.1.rc2
+Version: 2014.1
Release: 0
Summary: OpenStack Virtual Network Service (Neutron) - Documentation
License: Apache-2.0
++++++ openstack-neutron.spec ++++++
--- /var/tmp/diff_new_pack.32xKQr/_old 2014-04-20 11:36:11.000000000 +0200
+++ /var/tmp/diff_new_pack.32xKQr/_new 2014-04-20 11:36:11.000000000 +0200
@@ -21,7 +21,7 @@
%define username %{component}
Name: openstack-neutron
-Version: 2014.1.rc2
+Version: 2014.1
Release: 0
Summary: OpenStack Network
License: Apache-2.0
@@ -40,6 +40,7 @@
%endif
Patch1: 0001-Only-enable-IP6Tables-managing-if-IPv6-is-available.patch
Patch2: 0001-Start-ping-listener-also-for-postgresql.patch
+Patch3: 0001-Robust-detection-for-postgresql-connection-errors.patch
BuildRequires: crudini
BuildRequires: fdupes
BuildRequires: openstack-suse-macros
@@ -52,7 +53,7 @@
Requires: openstack-suse-sudo
Requires: python >= 2.6.8
Requires: python-neutron = %{version}
-Requires: python-oslo.config >= 1.2.0
+Requires: python-oslo.config >= 1.2
Provides: openstack-quantum = 2013.2.0
Obsoletes: openstack-quantum < 2013.2.0
Requires(pre): pwdutils
@@ -81,24 +82,24 @@
Requires: python >= 2.6.8
Requires: python-Jinja2
Requires: python-Paste
-Requires: python-PasteDeploy >= 1.5.0
+Requires: python-PasteDeploy >= 1.5
Requires: python-Routes >= 1.12.3
Requires: python-SQLAlchemy >= 0.7.8
Requires: python-WebOb >= 1.2.3
Requires: python-alembic >= 0.4.1
Requires: python-amqplib >= 0.6.1
Requires: python-anyjson >= 0.3.3
-Requires: python-eventlet >= 0.13.0
+Requires: python-eventlet >= 0.13
Requires: python-greenlet >= 0.3.2
Requires: python-httplib2 >= 0.7.5
Requires: python-iso8601 >= 0.1.9
Requires: python-jsonrpclib
-Requires: python-keystoneclient >= 0.7.0
+Requires: python-keystoneclient >= 0.7
Requires: python-kombu >= 2.4.8
Requires: python-netaddr >= 0.7.6
Requires: python-neutronclient >= 2.3.4
-Requires: python-novaclient >= 2.17.0
-Requires: python-oslo.config >= 1.2.0
+Requires: python-novaclient >= 2.17
+Requires: python-oslo.config >= 1.2
Requires: python-oslo.rootwrap
Requires: python-pbr >= 0.6
Requires: python-requests >= 1.1
@@ -304,14 +305,14 @@
Summary: OpenStack Network - Testsuite
Group: Development/Languages/Python
Requires: %{name} = %{version}
-Requires: python-WebTest >= 2.0
+Requires: python-WebTest >= 2
Requires: python-cliff >= 1.4.3
Requires: python-configobj
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
Requires: python-discover
%endif
Requires: python-fixtures >= 0.3.14
-Requires: python-mock >= 1.0
+Requires: python-mock >= 1
Requires: python-python-subunit >= 0.0.18
Requires: python-testrepository >= 0.0.18
Requires: python-testtools >= 0.9.34
@@ -326,6 +327,7 @@
%setup -q -n %{component}-%{version}
%patch1 -p1
%patch2
+%patch3 -p1
%openstack_cleanup_prep
%build
++++++ 0001-Robust-detection-for-postgresql-connection-errors.patch ++++++
>From d9bbb042f6287061e89c1e2f96b9f70c176c871a Mon Sep 17 00:00:00 2001
From: Dirk Mueller <dirk(a)dmllr.de>
Date: Fri, 11 Apr 2014 17:06:53 +0200
Subject: [PATCH] Robust detection for postgresql connection errors
In most cases, when the database is failing over to a new node,
engine.dialect.is_disconnected() returns True. However in some
cases it returns False and the exception string is "unknown error".
In those cases we can however query the closed attribute on the
db_connection that is set to True at that point.
Change-Id: I64ef17f451780c622e1cfd257acf74e2e11e8b62
Closes-Bug: #1306668
---
openstack/common/db/sqlalchemy/session.py | 4 ++-
tests/unit/db/sqlalchemy/test_sqlalchemy.py | 44 +++++++++++++++++++++++++++--
2 files changed, 45 insertions(+), 3 deletions(-)
Index: neutron-2014.1.rc2/neutron/openstack/common/db/sqlalchemy/session.py
===================================================================
--- neutron-2014.1.rc2.orig/neutron/openstack/common/db/sqlalchemy/session.py
+++ neutron-2014.1.rc2/neutron/openstack/common/db/sqlalchemy/session.py
@@ -683,7 +683,9 @@ def _ping_listener(engine, dbapi_conn, c
ping_sql = 'select 1 from (values (1)) AS t1'
cursor.execute(ping_sql)
except Exception as ex:
- if engine.dialect.is_disconnect(ex, dbapi_conn, cursor):
+ if (engine.dialect.is_disconnect(ex, dbapi_conn, cursor) or
+ ('unknown error' in str(ex).partition('\n')[0] and
+ getattr(dbapi_conn, 'closed', False))):
msg = _('Database server has gone away: %s') % ex
LOG.warning(msg)
++++++ neutron-2014.1.rc2.tar.gz -> neutron-2014.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/openstack-neutron/neutron-2014.1.rc2.tar.gz /work/SRC/openSUSE:Factory/.openstack-neutron.new/neutron-2014.1.tar.gz differ: char 5, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package python-oslo.config for openSUSE:Factory checked in at 2014-04-20 11:36:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oslo.config (Old)
and /work/SRC/openSUSE:Factory/.python-oslo.config.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslo.config"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oslo.config/python-oslo.config.changes 2014-03-28 13:56:30.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-oslo.config.new/python-oslo.config.changes 2014-04-20 11:36:07.000000000 +0200
@@ -2 +2 @@
-Thu Mar 27 10:19:08 UTC 2014 - dmueller(a)suse.com
+Wed Apr 2 09:05:43 UTC 2014 - speilicke(a)suse.com
@@ -4,2 +4,29 @@
-- switch back to released version of oslo.config (which is
- recommended for Icehouse)
+- Update to version 1.3.0:
+ * Include the 'meta' trove classifiers for python versions
+ * Do substitution on overrides and defaults too
+ * Follow style guide for help strings
+ * Updated from global requirements
+ * Convert to oslo.test
+ * Fix a whitespace in a comment
+ * Fix docstring of parsing order
+ * Switch over to oslosphinx
+ * Remove extraneous vim configuration comments
+ * Fix misspellings in oslo.config
+ * Add py33 trove classifier
+ * Support building wheels (PEP-427)
+ * Add Style Guide for help of config options
+ * Add docs for types
+ * Throw exception if --config-dir doesn't exist
+ * Remove copyright from empty files
+ * Implemented support for custom opt types
+ * Fix for parsing error with Dollar Sign ($) in values
+ * Utilizes assertIsNone and assertIsNotNone
+ * Fix spelling errors in docstrings and comments
+ * Added support of operator '=='
+ * Updated from global requirements
+ * Updated from global requirements
+ * Fix to make ConfigOpts no longer obscure IOErrors
+ * Replace assertEquals with assertEqual
+ * Updated from global requirements
+ * Add the ability to validate default options value
+- Switch to Icehouse release
@@ -8 +35 @@
-Mon Mar 10 16:24:49 UTC 2014 - cloud-devel(a)suse.de
+Thu Mar 27 10:19:08 UTC 2014 - dmueller(a)suse.com
@@ -10,2 +37,2 @@
-- Update to version oslo.config-1.3.0a0.40.gb347519:
- * Include the 'meta' trove classifiers for python versions
+- switch back to released version of oslo.config (which is
+ recommended for Icehouse)
Old:
----
oslo.config-1.2.1.tar.gz
New:
----
oslo.config-1.3.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oslo.config.spec ++++++
--- /var/tmp/diff_new_pack.5pb4Bp/_old 2014-04-20 11:36:08.000000000 +0200
+++ /var/tmp/diff_new_pack.5pb4Bp/_new 2014-04-20 11:36:08.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-oslo.config
-Version: 1.2.1
+Version: 1.3.0
Release: 0
Url: https://launchpad.net/oslo/
Summary: OpenStack configuration API
@@ -28,8 +28,9 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: fdupes
BuildRequires: python-devel
-BuildRequires: python-oslosphinx
BuildRequires: python-pbr
+# Documentation requirements:
+BuildRequires: python-oslosphinx
# Test requirements:
#BuildRequires: python-coverage >= 3.6
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
@@ -39,13 +40,13 @@
BuildRequires: python-fixtures >= 0.3.14
BuildRequires: python-mock >= 1.0
BuildRequires: python-oslotest
-BuildRequires: python-python-subunit
-BuildRequires: python-six
+BuildRequires: python-python-subunit >= 0.0.18
+BuildRequires: python-six >= 1.5.2
BuildRequires: python-testrepository >= 0.0.17
BuildRequires: python-testscenarios >= 0.4
BuildRequires: python-testtools >= 0.9.32
Requires: python-pbr
-Requires: python-six
+Requires: python-six >= 1.5.2
Provides: python-oslo-config = 2013.2
Obsoletes: python-oslo-config < 2013.2
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
++++++ _service ++++++
--- /var/tmp/diff_new_pack.5pb4Bp/_old 2014-04-20 11:36:08.000000000 +0200
+++ /var/tmp/diff_new_pack.5pb4Bp/_new 2014-04-20 11:36:08.000000000 +0200
@@ -5,6 +5,8 @@
<service mode="disabled" name="set_version">
<param name="basename">oslo.config</param>
</service>
+ <service name="python_requires" mode="disabled">
+ </service>
<service name="refresh_patches" mode="disabled">
<param name="changesgenerate">enable</param>
</service>
++++++ oslo.config-1.2.1.tar.gz -> oslo.config-1.3.0.tar.gz ++++++
++++ 5712 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 openstack-keystone for openSUSE:Factory checked in at 2014-04-20 11:36:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openstack-keystone (Old)
and /work/SRC/openSUSE:Factory/.openstack-keystone.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openstack-keystone"
Changes:
--------
--- /work/SRC/openSUSE:Factory/openstack-keystone/openstack-keystone.changes 2014-04-14 10:55:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.openstack-keystone.new/openstack-keystone.changes 2014-04-20 11:36:04.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Apr 17 12:52:36 UTC 2014 - dmueller(a)suse.com
+
+- update to 2014.1:
+ * no change
+
+-------------------------------------------------------------------
Old:
----
keystone-2014.1.rc2.tar.gz
New:
----
keystone-2014.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openstack-keystone-doc.spec ++++++
--- /var/tmp/diff_new_pack.YRfJRq/_old 2014-04-20 11:36:04.000000000 +0200
+++ /var/tmp/diff_new_pack.YRfJRq/_new 2014-04-20 11:36:04.000000000 +0200
@@ -19,7 +19,7 @@
%define component keystone
Name: openstack-%{component}-doc
-Version: 2014.1.rc2
+Version: 2014.1
Release: 0
Summary: OpenStack Identity Service (Keystone) - Documentation
License: Apache-2.0
++++++ openstack-keystone.spec ++++++
--- /var/tmp/diff_new_pack.YRfJRq/_old 2014-04-20 11:36:04.000000000 +0200
+++ /var/tmp/diff_new_pack.YRfJRq/_new 2014-04-20 11:36:04.000000000 +0200
@@ -21,7 +21,7 @@
%define username %{component}
Name: openstack-%{component}
-Version: 2014.1.rc2
+Version: 2014.1
Release: 0
Summary: OpenStack Identity Service (Keystone)
License: Apache-2.0
@@ -65,16 +65,16 @@
Requires: logrotate
Requires: python-iso8601 >= 0.1.9
Requires: python-keystone = %{version}
-Requires: python-oslo.config >= 1.2.0
+Requires: python-oslo.config >= 1.2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# keystone dependencies
# To generate a self-signed certificate to be used in demo setups:
Requires(post): coreutils
Requires(post): crudini
Requires(post): python-keystone
-Requires(post): python-dogpile.cache >= 0.5.0
+Requires(post): python-dogpile.cache >= 0.5
Requires(post): python-argparse
-Requires(post): python-iso8601 >= 0.1.8
+Requires(post): python-iso8601 >= 0.1.9
# NOTE(saschp): We need OpenStack'S fork here:
Requires(post): python-sqlalchemy-migrate >= 0.8.2
Requires(post): python-Routes >= 1.12.3
@@ -98,23 +98,23 @@
Requires: python >= 2.6.8
Requires: python-Babel >= 1.3
Requires: python-Paste
-Requires: python-PasteDeploy >= 1.5.0
+Requires: python-PasteDeploy >= 1.5
Requires: python-Routes >= 1.12.3
Requires: python-SQLAlchemy >= 0.7.8
Requires: python-WebOb >= 1.2.3
-Requires: python-dogpile.cache >= 0.5.0
-Requires: python-eventlet >= 0.13.0
+Requires: python-dogpile.cache >= 0.5
+Requires: python-eventlet >= 0.13
Requires: python-greenlet >= 0.3.2
Requires: python-iso8601 >= 0.1.9
-Requires: python-jsonschema >= 2.0.0
-Requires: python-keystoneclient >= 0.7.0
+Requires: python-jsonschema >= 2
+Requires: python-keystoneclient >= 0.7
Requires: python-kombu >= 2.4.8
Requires: python-ldap >= 2.3.13
Requires: python-lockfile >= 0.8
Requires: python-lxml >= 2.3
Requires: python-netaddr >= 0.7.6
Requires: python-oauthlib >= 0.6
-Requires: python-oslo.messaging >= 1.3.0a9
+Requires: python-oslo.messaging >= 1.3
Requires: python-pam >= 0.1.4
Requires: python-passlib
Requires: python-pbr >= 0.6
@@ -134,13 +134,13 @@
Summary: Testsuite for the OpenStack Keystone
Group: Development/Languages/Python
Requires: %{name} = %{version}
-Requires: python-WebTest >= 2.0
+Requires: python-WebTest >= 2
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
Requires: python-discover
%endif
Requires: python-fixtures >= 0.3.14
-Requires: python-keystoneclient >= 0.7.0
-Requires: python-mock >= 1.0
+Requires: python-keystoneclient >= 0.7
+Requires: python-mock >= 1
Requires: python-mox >= 0.5.3
Requires: python-pysqlite
Requires: python-python-memcached >= 1.48
++++++ keystone-2014.1.rc2.tar.gz -> keystone-2014.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystone-2014.1.rc2/ChangeLog new/keystone-2014.1/ChangeLog
--- old/keystone-2014.1.rc2/ChangeLog 2014-04-08 10:48:06.000000000 +0200
+++ new/keystone-2014.1/ChangeLog 2014-04-17 11:22:17.000000000 +0200
@@ -1,8 +1,8 @@
CHANGES
=======
-2014.1.rc2
-----------
+2014.1
+------
* Updated from global requirements
* Fix invalid LDAP filter for user ID with comma
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystone-2014.1.rc2/PKG-INFO new/keystone-2014.1/PKG-INFO
--- old/keystone-2014.1.rc2/PKG-INFO 2014-04-08 10:48:07.000000000 +0200
+++ new/keystone-2014.1/PKG-INFO 2014-04-17 11:22:17.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: keystone
-Version: 2014.1.rc2
+Version: 2014.1
Summary: OpenStack Identity
Home-page: http://www.openstack.org/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/keystone-2014.1.rc2/keystone.egg-info/PKG-INFO new/keystone-2014.1/keystone.egg-info/PKG-INFO
--- old/keystone-2014.1.rc2/keystone.egg-info/PKG-INFO 2014-04-08 10:48:07.000000000 +0200
+++ new/keystone-2014.1/keystone.egg-info/PKG-INFO 2014-04-17 11:22:17.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: keystone
-Version: 2014.1.rc2
+Version: 2014.1
Summary: OpenStack Identity
Home-page: http://www.openstack.org/
Author: OpenStack
--
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 openstack-cinder for openSUSE:Factory checked in at 2014-04-20 11:35:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openstack-cinder (Old)
and /work/SRC/openSUSE:Factory/.openstack-cinder.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openstack-cinder"
Changes:
--------
--- /work/SRC/openSUSE:Factory/openstack-cinder/openstack-cinder.changes 2014-04-14 10:52:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.openstack-cinder.new/openstack-cinder.changes 2014-04-20 11:35:58.000000000 +0200
@@ -1,0 +2,15 @@
+Thu Apr 17 12:47:09 UTC 2014 - dmueller(a)suse.com
+
+- update to 2014.1
+ * driver.create/remove_export() require elevated ctx
+ * Check for silent failure of tgtadm remove
+
+-------------------------------------------------------------------
+Tue Apr 15 08:29:46 UTC 2014 - dmueller(a)suse.com
+
+- Update to version 2014.1.rc2
+ * driver.create/remove_export() require elevated ctx
+ * Check for silent failure of tgtadm remove
+- fix requires
+
+-------------------------------------------------------------------
Old:
----
cinder-milestone-proposed.tar.gz
New:
----
cinder-2014.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openstack-cinder-doc.spec ++++++
--- /var/tmp/diff_new_pack.Of1FnC/_old 2014-04-20 11:35:59.000000000 +0200
+++ /var/tmp/diff_new_pack.Of1FnC/_new 2014-04-20 11:35:59.000000000 +0200
@@ -19,13 +19,13 @@
%define component cinder
Name: openstack-%{component}-doc
-Version: 2014.1.dev17.g512170a
+Version: 2014.1
Release: 0
Summary: OpenStack Block Storage (Cinder) - Documentation
License: Apache-2.0
Group: Documentation/HTML
Url: https://launchpad.net/cinder
-Source: http://tarballs.openstack.org/cinder/cinder-milestone-proposed.tar.gz
+Source: http://tarballs.openstack.org/cinder/cinder-%{version}.tar.gz
BuildRequires: graphviz
BuildRequires: openstack-suse-macros
BuildRequires: python-Babel
++++++ openstack-cinder.spec ++++++
--- /var/tmp/diff_new_pack.Of1FnC/_old 2014-04-20 11:35:59.000000000 +0200
+++ /var/tmp/diff_new_pack.Of1FnC/_new 2014-04-20 11:35:59.000000000 +0200
@@ -21,13 +21,13 @@
%define username %{component}
Name: openstack-%{component}
-Version: 2014.1.dev17.g512170a
+Version: 2014.1
Release: 0
Summary: OpenStack Block Storage (Cinder)
License: Apache-2.0
Group: System/Management
Url: https://launchpad.net/cinder
-Source: http://tarballs.openstack.org/cinder/cinder-milestone-proposed.tar.gz
+Source: http://tarballs.openstack.org/cinder/cinder-%{version}.tar.gz
Source1: %{name}.init
Source2: %{name}.logrotate
Source3: cinder-sudoers
@@ -60,7 +60,7 @@
Requires: python >= 2.6.8
Requires: python-cinder = %{version}
Requires: python-kombu >= 2.4.8
-Requires: python-oslo.config >= 1.2.0
+Requires: python-oslo.config >= 1.2
Requires: python-swiftclient >= 1.6
%if 0%{?suse_version} > 1110
Requires(pre): pwdutils
@@ -87,22 +87,24 @@
Requires: python >= 2.6.8
Requires: python-Babel >= 1.3
Requires: python-Paste
-Requires: python-PasteDeploy >= 1.5.0
+Requires: python-PasteDeploy >= 1.5
Requires: python-Routes >= 1.12.3
Requires: python-SQLAlchemy >= 0.7.8
Requires: python-WebOb >= 1.2.3
Requires: python-amqplib >= 0.6.1
Requires: python-anyjson >= 0.3.3
-Requires: python-eventlet >= 0.13.0
-Requires: python-glanceclient >= 0.9.0
+Requires: python-eventlet >= 0.13
+Requires: python-glanceclient >= 0.9
Requires: python-greenlet >= 0.3.2
Requires: python-iso8601 >= 0.1.9
-Requires: python-keystoneclient >= 0.7.0
+Requires: python-keystoneclient >= 0.7
Requires: python-lxml >= 2.3
Requires: python-netaddr >= 0.7.6
-Requires: python-novaclient >= 2.17.0
+Requires: python-novaclient >= 2.17
+Requires: python-oslo.messaging >= 1.3
Requires: python-oslo.rootwrap
-Requires: python-paramiko >= 1.9.0
+Requires: python-paramiko >= 1.9
+Requires: python-requests >= 1.1
Requires: python-rtslib-fb >= 2.1.39
Requires: python-six >= 1.5.2
Requires: python-sqlalchemy-migrate >= 0.8.2
@@ -170,10 +172,10 @@
Requires: python-discover
%endif
Requires: python-fixtures >= 0.3.14
-Requires: python-glanceclient >= 0.9.0
-Requires: python-hp3parclient >= 3.0
-Requires: python-hplefthandclient >= 1.0.0
-Requires: python-mock >= 1.0
+Requires: python-glanceclient >= 0.9
+Requires: python-hp3parclient >= 3
+Requires: python-hplefthandclient >= 1
+Requires: python-mock >= 1
Requires: python-mox >= 0.5.3
Requires: python-pbr >= 0.6
Requires: python-psycopg2
@@ -186,7 +188,7 @@
functionality of OpenStack Cinder.
%prep
-%setup -q -n cinder-2014.1.dev17.g512170a
+%setup -q -n cinder-%{version}
%patch0 -p1
%openstack_cleanup_prep
++++++ cinder-milestone-proposed.tar.gz -> cinder-2014.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinder-2014.1.dev17.g512170a/ChangeLog new/cinder-2014.1/ChangeLog
--- old/cinder-2014.1.dev17.g512170a/ChangeLog 2014-04-06 18:18:25.000000000 +0200
+++ new/cinder-2014.1/ChangeLog 2014-04-17 12:16:32.000000000 +0200
@@ -1,6 +1,15 @@
CHANGES
=======
+2014.1
+------
+
+* driver.create/remove_export() require elevated ctx
+* Check for silent failure of tgtadm remove
+
+2014.1.rc2
+----------
+
* Updated from global requirements
* Append nas_opts to IBMNAS_NFSDriver configuration
* Change iogrp property when retyping for Storwize/SVC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinder-2014.1.dev17.g512170a/PKG-INFO new/cinder-2014.1/PKG-INFO
--- old/cinder-2014.1.dev17.g512170a/PKG-INFO 2014-04-06 18:18:25.000000000 +0200
+++ new/cinder-2014.1/PKG-INFO 2014-04-17 12:16:33.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: cinder
-Version: 2014.1.dev17.g512170a
+Version: 2014.1
Summary: OpenStack Block Storage
Home-page: http://www.openstack.org/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinder-2014.1.dev17.g512170a/cinder/brick/iscsi/iscsi.py new/cinder-2014.1/cinder/brick/iscsi/iscsi.py
--- old/cinder-2014.1.dev17.g512170a/cinder/brick/iscsi/iscsi.py 2014-04-06 18:14:48.000000000 +0200
+++ new/cinder-2014.1/cinder/brick/iscsi/iscsi.py 2014-04-17 12:12:54.000000000 +0200
@@ -276,6 +276,30 @@
% {'vol_id': vol_id, 'e': e})
raise exception.ISCSITargetRemoveFailed(volume_id=vol_id)
+ # NOTE(jdg): There's a bug in some versions of tgt that
+ # will sometimes fail silently when using the force flag
+ # https://bugs.launchpad.net/ubuntu/+source/tgt/+bug/1305343
+ # For now work-around by checking if the target was deleted,
+ # if it wasn't, try again without the force.
+
+ # This will NOT do any good for the case of mutliple sessions
+ # which the force was aded for but it will however address
+ # the cases pointed out in bug:
+ # https://bugs.launchpad.net/cinder/+bug/1304122
+ if self._get_target(iqn):
+ try:
+ LOG.warning(_('Silent failure of target removal '
+ 'detected, retry....'))
+ self._execute('tgt-admin',
+ '--delete',
+ iqn,
+ run_as_root=True)
+ except putils.ProcessExecutionError as e:
+ LOG.error(_("Failed to remove iscsi target for volume "
+ "id:%(vol_id)s: %(e)s")
+ % {'vol_id': vol_id, 'e': e})
+ raise exception.ISCSITargetRemoveFailed(volume_id=vol_id)
+
# NOTE(jdg): This *should* be there still but incase
# it's not we don't care, so just ignore it if was
# somehow deleted between entry of this method
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinder-2014.1.dev17.g512170a/cinder/tests/test_iscsi.py new/cinder-2014.1/cinder/tests/test_iscsi.py
--- old/cinder-2014.1.dev17.g512170a/cinder/tests/test_iscsi.py 2014-04-06 18:14:48.000000000 +0200
+++ new/cinder-2014.1/cinder/tests/test_iscsi.py 2014-04-17 12:12:55.000000000 +0200
@@ -114,6 +114,7 @@
self.flags(volumes_dir=self.persist_tempdir)
self.script_template = "\n".join([
'tgt-admin --update %(target_name)s',
+ 'tgt-admin --delete %(target_name)s',
'tgt-admin --force '
'--delete %(target_name)s',
'tgtadm --lld iscsi --op show --mode target'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinder-2014.1.dev17.g512170a/cinder/tests/zonemanager/test_volume_manager_fc.py new/cinder-2014.1/cinder/tests/zonemanager/test_volume_manager_fc.py
--- old/cinder-2014.1.dev17.g512170a/cinder/tests/zonemanager/test_volume_manager_fc.py 2014-04-06 18:14:48.000000000 +0200
+++ new/cinder-2014.1/cinder/tests/zonemanager/test_volume_manager_fc.py 2014-04-17 12:12:55.000000000 +0200
@@ -119,7 +119,7 @@
with mock.patch.object(manager.VolumeManager,
'_add_or_delete_fc_connection')\
as add_del_conn_mock:
- self.terminate_connection(None, None, None, False)
+ self.terminate_connection(self.context_mock, None, None, False)
add_del_conn_mock.assert_called_once_with(conn_info, 0)
@mock.patch.object(utils, 'require_driver_initialized')
@@ -131,7 +131,7 @@
as add_del_conn_mock:
self.configuration.zoning_mode = 'none'
self.zonemanager = None
- self.terminate_connection(None, None, None, False)
+ self.terminate_connection(self.context_mock, None, None, False)
assert not add_del_conn_mock.called
@mock.patch.object(utils, 'require_driver_initialized')
@@ -142,7 +142,7 @@
with mock.patch.object(manager.VolumeManager,
'_add_or_delete_fc_connection')\
as add_del_conn_mock:
- self.terminate_connection(None, None, None, False)
+ self.terminate_connection(self.context_mock, None, None, False)
assert not add_del_conn_mock.called
@mock.patch.object(fc_zone_manager.ZoneManager, 'add_connection')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinder-2014.1.dev17.g512170a/cinder/volume/manager.py new/cinder-2014.1/cinder/volume/manager.py
--- old/cinder-2014.1.dev17.g512170a/cinder/volume/manager.py 2014-04-06 18:14:48.000000000 +0200
+++ new/cinder-2014.1/cinder/volume/manager.py 2014-04-17 12:12:57.000000000 +0200
@@ -779,7 +779,8 @@
model_update = None
try:
LOG.debug(_("Volume %s: creating export"), volume_id)
- model_update = self.driver.create_export(context, volume)
+ model_update = self.driver.create_export(context.elevated(),
+ volume)
if model_update:
volume = self.db.volume_update(context,
volume_id,
@@ -794,10 +795,10 @@
try:
conn_info = self.driver.initialize_connection(volume, connector)
except Exception as err:
- self.driver.remove_export(context, volume)
err_msg = (_('Unable to fetch connection information from '
'backend: %(err)s') % {'err': err})
LOG.error(err_msg)
+ self.driver.remove_export(context.elevated(), volume)
raise exception.VolumeBackendAPIException(data=err_msg)
# Add qos_specs to connection info
@@ -865,7 +866,7 @@
try:
LOG.debug(_("volume %s: removing export"), volume_id)
- self.driver.remove_export(context, volume_ref)
+ self.driver.remove_export(context.elevated(), volume_ref)
except Exception as ex:
LOG.exception(_("Error detaching volume %(volume)s, "
"due to remove export failure."),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cinder-2014.1.dev17.g512170a/cinder.egg-info/PKG-INFO new/cinder-2014.1/cinder.egg-info/PKG-INFO
--- old/cinder-2014.1.dev17.g512170a/cinder.egg-info/PKG-INFO 2014-04-06 18:18:25.000000000 +0200
+++ new/cinder-2014.1/cinder.egg-info/PKG-INFO 2014-04-17 12:16:33.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: cinder
-Version: 2014.1.dev17.g512170a
+Version: 2014.1
Summary: OpenStack Block Storage
Home-page: http://www.openstack.org/
Author: OpenStack
--
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 openstack-glance for openSUSE:Factory checked in at 2014-04-20 11:35:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openstack-glance (Old)
and /work/SRC/openSUSE:Factory/.openstack-glance.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openstack-glance"
Changes:
--------
--- /work/SRC/openSUSE:Factory/openstack-glance/openstack-glance-doc.changes 2014-04-14 10:53:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.openstack-glance.new/openstack-glance-doc.changes 2014-04-20 11:35:54.000000000 +0200
@@ -2,72 +1,0 @@
-Thu Mar 27 01:43:33 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev44.gdc2672a:
- * Return 405 when attempting DELETE on /tasks
- * Removes use of timeutils.set_time_override
- * Remove dependency of test_v1_api on other tests
-
--------------------------------------------------------------------
-Wed Mar 26 01:45:24 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev38.gb5d3295:
- * Pass Message object to webob exception
-
--------------------------------------------------------------------
-Tue Mar 25 01:45:22 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev36.gaabc62a:
- * VMware store.add to return the image size uploaded
- * registry: log errors on failure
-
--------------------------------------------------------------------
-Sat Mar 22 01:43:00 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev32.g09265f6:
- * Remove openstack.common.fixture
-
--------------------------------------------------------------------
-Fri Mar 21 01:54:56 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev31.g49d3220:
- * Detect MultiDict when generating json body
-
--------------------------------------------------------------------
-Mon Mar 17 01:06:27 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev29.gddae276:
- * Make the VMware datastore backend more robust
- * Add copyright text to glance/openstack/common/__init__.py
-
--------------------------------------------------------------------
-Sat Mar 15 01:08:01 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev26.gc6365cc:
- * Makes possible to enable Registry API v1 and v2
- * Fix glance db migration failed on 031
- * Include Location header in POST /tasks response
- * Catch exception when image cache pruning
-
--------------------------------------------------------------------
-Fri Mar 14 00:36:42 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev19.g2d3fa9e:
- * Updated from global requirements
- * Provide an upgrade period for enabling stores
- * API v2: Allow GET on unowned images with show_image_direct_url
-
--------------------------------------------------------------------
-Thu Mar 13 01:43:08 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev14.g09b583e:
- * Remove import specific validation from tasks resource
- * Provide explicit image create value in Registry v2 API test
-
--------------------------------------------------------------------
-Tue Mar 11 01:50:21 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev10.gcc118d4:
- * Don't enable all stores by default
- 2014.1.b3
- * Log 'image_id' with all BadStoreURI error messages
-
--------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/openstack-glance/openstack-glance.changes 2014-04-14 10:53:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.openstack-glance.new/openstack-glance.changes 2014-04-20 11:35:54.000000000 +0200
@@ -2 +2 @@
-Thu Mar 27 10:15:05 UTC 2014 - dmueller(a)suse.com
+Thu Apr 17 12:50:28 UTC 2014 - dmueller(a)suse.com
@@ -4 +4,2 @@
-- switch back to Icehouse branch
+- update to 2014.1:
+ * no change
@@ -7 +8 @@
-Thu Mar 27 01:43:36 UTC 2014 - cloud-devel(a)suse.de
+Mon Apr 14 19:30:59 UTC 2014 - dmueller(a)suse.com
@@ -9,4 +10 @@
-- Update to version glance-2014.1.dev44.gdc2672a:
- * Return 405 when attempting DELETE on /tasks
- * Removes use of timeutils.set_time_override
- * Remove dependency of test_v1_api on other tests
+- switch over to non-openstack-prefix'ed users
@@ -15 +13 @@
-Wed Mar 26 01:45:27 UTC 2014 - cloud-devel(a)suse.de
+Mon Apr 14 09:05:21 UTC 2014 - dmueller(a)suse.com
@@ -17,2 +15,7 @@
-- Update to version glance-2014.1.dev38.gb5d3295:
- * Pass Message object to webob exception
+- update to 2014.1.rc2:
+ * Fixes Glance Registry V2 client
+ * Update Glance configuration sample files for database options
+ * To prevent remote code injection on Sheepdog store
+ * Fix Jenkins translation jobs
+ * Catch loading failures if transport_url is not set
+ * Updated from global requirements
@@ -21 +24 @@
-Tue Mar 25 01:45:25 UTC 2014 - cloud-devel(a)suse.de
+Fri Apr 4 13:35:31 UTC 2014 - dmueller(a)suse.com
@@ -23,3 +26 @@
-- Update to version glance-2014.1.dev36.gaabc62a:
- * VMware store.add to return the image size uploaded
- * registry: log errors on failure
+- fix requires once again
@@ -28 +29 @@
-Sat Mar 22 01:43:03 UTC 2014 - cloud-devel(a)suse.de
+Wed Apr 2 07:53:56 UTC 2014 - speilicke(a)suse.com
@@ -30 +31,7 @@
-- Update to version glance-2014.1.dev32.g09265f6:
+- Update to 2014.1.rc1:
+ * Making DB sanity checking be optional for DB migration
+ * Fix swift functional test "test_create_store"
+ * Sanitize set passed to jsonutils.dumps()
+ * Imported Translations from Transifex
+ * Sync common db code from Oslo
+ * Return 405 when attempting DELETE on /tasks
@@ -32,26 +39,3 @@
-
--------------------------------------------------------------------
-Fri Mar 21 01:55:00 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev31.g49d3220:
- * Detect MultiDict when generating json body
-
--------------------------------------------------------------------
-Tue Mar 18 12:26:44 UTC 2014 - dmueller(a)suse.com
-
-- fix requires
-
--------------------------------------------------------------------
-Tue Mar 18 10:14:08 UTC 2014 - speilicke(a)suse.com
-
-- Fix changelog
-
--------------------------------------------------------------------
-Mon Mar 17 09:46:49 UTC 2014 - rhafer(a)suse.com
-
-- switch over to non-openstack-prefix'ed users
-
--------------------------------------------------------------------
-Mon Mar 17 01:06:30 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev29.gddae276:
+ * VMware store.add to return the image size uploaded
+ * registry: log errors on failure
+ * Removes use of timeutils.set_time_override
@@ -59,6 +43,2 @@
- * Add copyright text to glance/openstack/common/__init__.py
-
--------------------------------------------------------------------
-Sat Mar 15 01:08:05 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev26.gc6365cc:
+ * Pass Message object to webob exception
+ * Detect MultiDict when generating json body
@@ -66,8 +45,0 @@
- * Fix glance db migration failed on 031
- * Include Location header in POST /tasks response
- * Catch exception when image cache pruning
-
--------------------------------------------------------------------
-Fri Mar 14 00:36:46 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev19.g2d3fa9e:
@@ -77,12 +49 @@
-
--------------------------------------------------------------------
-Thu Mar 13 01:43:11 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev14.g09b583e:
- * Remove import specific validation from tasks resource
- * Provide explicit image create value in Registry v2 API test
-
--------------------------------------------------------------------
-Tue Mar 11 01:50:25 UTC 2014 - cloud-devel(a)suse.de
-
-- Update to version glance-2014.1.dev10.gcc118d4:
+ * Add copyright text to glance/openstack/common/__init__.py
@@ -90,2 +51,4 @@
- 2014.1.b3
- * Log 'image_id' with all BadStoreURI error messages
+ * Fix glance db migration failed on 031
+ * Document for API message localization
+- Cleanup requirements
+- Switch away from master (again)
Old:
----
glance-2014.1.b3.tar.gz
New:
----
glance-2014.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openstack-glance-doc.spec ++++++
--- /var/tmp/diff_new_pack.BnrUHY/_old 2014-04-20 11:35:55.000000000 +0200
+++ /var/tmp/diff_new_pack.BnrUHY/_new 2014-04-20 11:35:55.000000000 +0200
@@ -18,7 +18,7 @@
%define component glance
Name: openstack-%{component}-doc
-Version: 2014.1.b3
+Version: 2014.1
Release: 0
Summary: OpenStack Image Service (Glance) - Documentation
License: Apache-2.0
++++++ openstack-glance.spec ++++++
--- /var/tmp/diff_new_pack.BnrUHY/_old 2014-04-20 11:35:55.000000000 +0200
+++ /var/tmp/diff_new_pack.BnrUHY/_new 2014-04-20 11:35:55.000000000 +0200
@@ -22,7 +22,7 @@
%define username %{component}
Name: openstack-%{component}
-Version: 2014.1.b3
+Version: 2014.1
Release: 0
Summary: OpenStack Image Service (Glance)
License: Apache-2.0
@@ -81,23 +81,23 @@
Requires: python >= 2.6.8
Requires: python-Babel >= 1.3
Requires: python-Paste
-Requires: python-PasteDeploy >= 1.5.0
+Requires: python-PasteDeploy >= 1.5
Requires: python-Routes >= 1.12.3
Requires: python-SQLAlchemy >= 0.7.8
Requires: python-WebOb >= 1.2.3
Requires: python-anyjson >= 0.3.3
Requires: python-argparse
-Requires: python-boto >= 2.12.0
+Requires: python-boto >= 2.12
Requires: python-cinderclient >= 1.0.6
-Requires: python-eventlet >= 0.13.0
+Requires: python-eventlet >= 0.13
Requires: python-greenlet >= 0.3.2
Requires: python-httplib2 >= 0.7.5
-Requires: python-iso8601 >= 0.1.8
-Requires: python-jsonschema >= 2.0.0
-Requires: python-keystoneclient >= 0.6.0
+Requires: python-iso8601 >= 0.1.9
+Requires: python-jsonschema >= 2
+Requires: python-keystoneclient >= 0.7
Requires: python-kombu >= 2.4.8
-Requires: python-oslo.config >= 1.2.0
-Requires: python-oslo.messaging >= 1.3.0a4
+Requires: python-oslo.config >= 1.2
+Requires: python-oslo.messaging >= 1.3
Requires: python-oslo.vmware >= 0.2
%if %suse_version < 1120
Requires: python-ordereddict
@@ -106,10 +106,9 @@
Requires: python-psutil >= 1.1.1
Requires: python-pyOpenSSL >= 0.11
Requires: python-pycrypto >= 2.6
-Requires: python-six >= 1.4.1
+Requires: python-six >= 1.5.2
Requires: python-sqlalchemy-migrate >= 0.8.2
Requires: python-stevedore >= 0.14
-Requires: python-suds >= 0.4
Requires: python-swiftclient >= 1.6
Requires: python-xattr >= 0.4
@@ -120,13 +119,15 @@
Summary: OpenStack Image Service (Glance) - Testsuite
Group: Development/Languages/Python
Requires: %{name} = %{version}
+%if 0%{?suse_version} && 0%{?suse_version} <= 1110
Requires: python-discover
+%endif
Requires: python-fixtures >= 0.3.14
Requires: python-glanceclient
-Requires: python-mock >= 1.0
+Requires: python-mock >= 1
Requires: python-mox >= 0.5.3
Requires: python-psycopg2
-Requires: python-pysendfile >= 2.0.0
+Requires: python-pysendfile >= 2
Requires: python-requests >= 1.1
Requires: python-sqlalchemy-migrate >= 0.8.2
Requires: python-testrepository >= 0.0.18
@@ -204,7 +205,9 @@
mkdir -p %{buildroot}%{_localstatedir}/cache/glance/registry
%pre
-%openstack_pre_user_group_create %{username} %{groupname}
+getent group %{groupname} >/dev/null || groupadd -r %{groupname}
+getent passwd %{username} >/dev/null || useradd -r -g %{groupname} -d %{_localstatedir}/lib/glance -s /sbin/nologin -c "OpenStack Glance Daemons" %{username}
+exit 0
%post
%fillup_and_insserv openstack-glance-api openstack-glance-registry
++++++ glance-2014.1.b3.tar.gz -> glance-2014.1.tar.gz ++++++
++++ 264849 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 python3-nose for openSUSE:Factory checked in at 2014-04-20 11:35:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-nose (Old)
and /work/SRC/openSUSE:Factory/.python3-nose.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-nose"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-nose/python3-nose-doc.changes 2013-06-21 19:01:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-nose.new/python3-nose-doc.changes 2014-04-20 11:35:11.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Apr 17 11:18:47 UTC 2014 - toddrme2178(a)gmail.com
+
+- update to 1.3.1:
+ * very long list of bugfixes, see included CHANGELOG for details
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python3-nose/python3-nose.changes 2014-02-26 06:55:37.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3-nose.new/python3-nose.changes 2014-04-20 11:35:12.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Apr 17 11:18:47 UTC 2014 - toddrme2178(a)gmail.com
+
+- update to 1.3.1:
+ * very long list of bugfixes, see included CHANGELOG for details
+
+-------------------------------------------------------------------
Old:
----
nose-1.3.0.tar.gz
New:
----
nose-1.3.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-nose-doc.spec ++++++
--- /var/tmp/diff_new_pack.oQ4XOO/_old 2014-04-20 11:35:12.000000000 +0200
+++ /var/tmp/diff_new_pack.oQ4XOO/_new 2014-04-20 11:35:12.000000000 +0200
@@ -17,7 +17,7 @@
Name: python3-nose-doc
-Version: 1.3.0
+Version: 1.3.1
Release: 0
Url: http://readthedocs.org/docs/nose/
Summary: Nose extends unittest to make testing easier
python3-nose.spec: same change
++++++ nose-1.3.0.tar.gz -> nose-1.3.1.tar.gz ++++++
++++ 2522 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 shim for openSUSE:Factory checked in at 2014-04-20 11:35:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shim (Old)
and /work/SRC/openSUSE:Factory/.shim.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shim"
Changes:
--------
--- /work/SRC/openSUSE:Factory/shim/shim.changes 2014-01-30 11:37:51.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.shim.new/shim.changes 2014-04-20 11:35:07.000000000 +0200
@@ -1,0 +2,110 @@
+Thu Apr 10 08:20:20 UTC 2014 - glin(a)suse.com
+
+- Replace shim-mokmanager-support-sha1.patch with
+ shim-mokmanager-support-sha-family.patch to support the SHA
+ family
+
+-------------------------------------------------------------------
+Mon Apr 7 09:32:21 UTC 2014 - glin(a)suse.com
+
+- Add shim-mokmanager-support-sha1.patch to support SHA1 hashes in
+ MOK
+
+-------------------------------------------------------------------
+Mon Mar 31 11:57:13 UTC 2014 - mchang(a)suse.com
+
+- snapper rollback support (fate#317062)
+ - refresh shim-install
+
+-------------------------------------------------------------------
+Thu Mar 13 02:32:15 UTC 2014 - glin(a)suse.com
+
+- Insert the right signature (bnc#867974)
+
+-------------------------------------------------------------------
+Mon Mar 10 07:56:44 UTC 2014 - glin(a)suse.com
+
+- Add shim-fix-uninitialized-variable.patch to fix the use of
+ uninitialzed variables in lib
+
+-------------------------------------------------------------------
+Fri Mar 7 09:09:12 UTC 2014 - glin(a)suse.com
+
+- Add shim-mokmanager-delete-bs-var-right.patch to delete the BS+NV
+ variables the right way
+- Update shim-opensuse-cert-prompt.patch to delete openSUSE_Verify
+ correctly
+
+-------------------------------------------------------------------
+Thu Mar 6 07:37:57 UTC 2014 - glin(a)suse.com
+
+- Add shim-fallback-avoid-duplicate-bootorder.patch to fix the
+ duplicate entries in BootOrder
+- Add shim-allow-fallback-use-system-loadimage.patch to handle the
+ shim protocol properly to keep only one protocol entity
+- Refresh shim-opensuse-cert-prompt.patch
+
+-------------------------------------------------------------------
+Thu Mar 6 03:53:49 UTC 2014 - mchang(a)suse.com
+
+- shim-install: fix the $prefix to use grub2-mkrelpath for paths
+ on btrfs subvolume (bnc#866690).
+
+-------------------------------------------------------------------
+Tue Mar 4 04:19:05 UTC 2014 - glin(a)suse.com
+
+- FATE#315002: Update shim-install to install shim.efi as the EFI
+ default bootloader when none exists in \EFI\boot.
+
+-------------------------------------------------------------------
+Thu Feb 27 09:46:49 UTC 2014 - fcrozat(a)suse.com
+
+- Update signature-sles.asc: shim signed by UEFI signing service,
+ based on code from "Thu Feb 20 11:57:01 UTC 2014"
+
+-------------------------------------------------------------------
+Fri Feb 21 08:45:46 UTC 2014 - glin(a)suse.com
+
+- Add shim-opensuse-cert-prompt.patch to show the prompt to ask
+ whether the user trusts the openSUSE certificate or not
+
+-------------------------------------------------------------------
+Thu Feb 20 11:57:01 UTC 2014 - lnussel(a)suse.de
+
+- allow package to carry multiple signatures
+- check correct certificate is embedded
+
+-------------------------------------------------------------------
+Thu Feb 20 10:06:47 UTC 2014 - lnussel(a)suse.de
+
+- always clean up generated files that embed certificates
+ (shim_cert.h shim.cer shim.crt) to make sure next build loop
+ rebuilds them properly
+
+-------------------------------------------------------------------
+Mon Feb 17 09:58:56 UTC 2014 - glin(a)suse.com
+
+- Add shim-bnc863205-mokmanager-fix-hash-delete.patch to fix the
+ hash deletion operation to avoid ruining the whole list
+ (bnc#863205)
+
+-------------------------------------------------------------------
+Tue Feb 11 06:30:02 UTC 2014 - glin(a)suse.com
+
+- Update shim-mokx-support.patch to support the resetting of MOK
+ blacklist
+- Add shim-get-variable-check.patch to fix the variable checking
+ in get_variable_attr
+- Add shim-improve-fallback-entries-creation.patch to improve the
+ boot entry pathes and avoid generating the boot entries that
+ are already there
+- Update SUSE certificate
+- Update attach_signature.sh, show_hash.sh, strip_signature.sh,
+ extract_signature.sh and show_signatures.sh to remove the
+ creation of the temporary nss database
+- Add shim-only-os-name.patch: remove the kernel version of the
+ build server
+- Match the the prefix of the project name properly by escaping the
+ percent sign.
+
+-------------------------------------------------------------------
Old:
----
microsoft.asc
New:
----
shim-allow-fallback-use-system-loadimage.patch
shim-bnc863205-mokmanager-fix-hash-delete.patch
shim-fallback-avoid-duplicate-bootorder.patch
shim-fallback-improve-entries-creation.patch
shim-fix-uninitialized-variable.patch
shim-get-variable-check.patch
shim-mokmanager-delete-bs-var-right.patch
shim-mokmanager-support-sha-family.patch
shim-only-os-name.patch
shim-opensuse-cert-prompt.patch
signature-opensuse.asc
signature-sles.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ shim.spec ++++++
--- /var/tmp/diff_new_pack.9HlaKQ/_old 2014-04-20 11:35:08.000000000 +0200
+++ /var/tmp/diff_new_pack.9HlaKQ/_new 2014-04-20 11:35:08.000000000 +0200
@@ -28,7 +28,7 @@
Source: %{name}-%{version}.tar.bz2
# run "extract_signature.sh shim.efi" where shim.efi is the binary
# with the signature from the UEFI signing service.
-Source1: microsoft.asc
+Source1: signature-opensuse.asc
Source2: openSUSE-UEFI-CA-Certificate.crt
Source3: shim-install
Source4: SLES-UEFI-CA-Certificate.crt
@@ -38,6 +38,8 @@
Source8: show_signatures.sh
Source9: openSUSE-UEFI-CA-Certificate-4096.crt
Source10: timestamp.pl
+Source11: strip_signature.sh
+Source12: signature-sles.asc
# PATCH-FIX-UPSTREAM shim-fix-verify-mok.patch glin(a)suse.com -- Fix the error handling in verify_mok()
Patch1: shim-fix-verify-mok.patch
# PATCH-FIX-UPSTREAM shim-improve-error-messages.patch glin(a)suse.com -- Improve the error messages
@@ -50,6 +52,26 @@
Patch5: shim-mokx-support.patch
# PATCH-FIX-UPSTREAM shim-mokmanager-handle-keystroke-error.patch glin(a)suse.com -- Handle the error status from ReadKeyStroke to avoid the unexpected keys
Patch6: shim-mokmanager-handle-keystroke-error.patch
+# PATCH-FIX-SUSE shim-only-os-name.patch glin(a)suse.com -- Only include the OS name in version.c
+Patch7: shim-only-os-name.patch
+# PATCH-FIX-UPSTREAM shim-get-variable-check.patch glin(a)suse.com -- Fix the variable checking in get_variable_attr
+Patch8: shim-get-variable-check.patch
+# PATCH-FIX-UPSTREAM shim-fallback-improve--entries-creation.patch glin(a)suse.com -- Improve the boot entry pathes and avoid generating the boot entries that are already there
+Patch9: shim-fallback-improve-entries-creation.patch
+# PATCH-FIX-UPSTREAM shim-bnc863205-mokmanager-fix-hash-delete.patch bnc#863205 glin(a)suse.com -- Fix the hash deletion operation to avoid ruining the whole list
+Patch10: shim-bnc863205-mokmanager-fix-hash-delete.patch
+# PATCH-FIX-UPSTREAM shim-fallback-avoid-duplicate-bootorder.patch glin(a)suse.com -- Fix the duplicate BootOrder entries generated by fallback.efi
+Patch11: shim-fallback-avoid-duplicate-bootorder.patch
+# PATCH-FIX-UPSTREAM shim-allow-fallback-use-system-loadimage.patch glin(a)suse.com -- Handle the shim protocol properly to keep only one protocol entity
+Patch12: shim-allow-fallback-use-system-loadimage.patch
+# PATCH-FIX-UPSTREAM shim-mokmanager-delete-bs-var-right.patch glin(a)suse.com -- Delete BootService non-volatile variables the right way
+Patch13: shim-mokmanager-delete-bs-var-right.patch
+# PATCH-FIX-UPSTREAM shim-fix-uninitialized-variable.patch glin(a)suse.com -- Initialize the variable in lib properly
+Patch14: shim-fix-uninitialized-variable.patch
+# PATCH-FIX-UPSTREAM shim-mokmanager-support-sha-family.patch glin(a)suse.com -- Support SHA hashes in MOK
+Patch15: shim-mokmanager-support-sha-family.patch
+# PATCH-FIX-OPENSUSE shim-opensuse-cert-prompt.patch glin(a)suse.com -- Show the prompt to ask whether the user trusts openSUSE certificate or not
+Patch100: shim-opensuse-cert-prompt.patch
BuildRequires: gnu-efi >= 3.0t
BuildRequires: mozilla-nss-tools
BuildRequires: openssl >= 0.9.8
@@ -78,6 +100,16 @@
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch100 -p1
%build
# first, build MokManager and fallback as they don't depend on a
@@ -108,12 +140,18 @@
if test "$suffix" = "opensuse"; then
cert=%{SOURCE2}
cert2=%{SOURCE9}
+ verify='openSUSE Secure Boot CA1'
+ signature=%{SOURCE1}
elif test "$suffix" = "sles"; then
cert=%{SOURCE4}
cert2=''
+ verify='SUSE Linux Enterprise Secure Boot CA1'
+ signature=%{SOURCE12}
elif test "$suffix" = "devel"; then
cert=%{_sourcedir}/_projectcert.crt
cert2=''
+ verify=`openssl x509 -in "$cert" -noout -email`
+ signature=''
test -e "$cert" || continue
else
echo "invalid suffix"
@@ -121,6 +159,7 @@
fi
openssl x509 -in $cert -outform DER -out shim-$suffix.der
+ rm -f shim_cert.h shim.cer shim.crt
if [ -z "$cert2" ]; then
# create empty local cert file, we don't need a local key pair as we
# sign the mokmanager with our vendor key
@@ -128,36 +167,39 @@
touch shim.cer
else
cp $cert2 shim.crt
- rm -f shim.cer
fi
# make sure cast warnings don't trigger post build check
make EFI_PATH=/usr/lib64 VENDOR_CERT_FILE=shim-$suffix.der shim.efi 2>/dev/null
+ #
+ # assert correct certificate embedded
+ grep -q "$verify" shim.efi
# make VENDOR_CERT_FILE=cert.der VENDOR_DBX_FILE=dbx
- chmod 755 %{SOURCE6} %{SOURCE7} %{SOURCE10}
+ chmod 755 %{SOURCE10}
# alternative: verify signature
#sbverify --cert MicCorThiParMarRoo_2010-10-05.pem shim-signed.efi
- head -1 %{SOURCE1} > hash1
+ if test -n "$signature"; then
+ head -1 "$signature" > hash1
cp shim.efi shim.efi.bak
# pe header contains timestamp and checksum. we need to
# restore that
- %{SOURCE10} --set-from-file %{SOURCE1} shim.efi
- %{SOURCE7} shim.efi > hash2
+ %{SOURCE10} --set-from-file "$signature" shim.efi
+ pesign -h -P -i shim.efi > hash2
cat hash1 hash2
if ! cmp -s hash1 hash2; then
- echo "ERROR: binary changed, need to request new signature!"
+ echo "ERROR: $suffix binary changed, need to request new signature!"
# don't fail in devel projects
prj="%{_project}"
- if [ "${prj%%:*}" = "openSUSE" -o "${prj%%:*}" = "SUSE" ]; then
+ if [ "${prj%%%:*}" = "openSUSE" -o "${prj%%%:*}" = "SUSE" ]; then
false
fi
mv shim.efi.bak shim-$suffix.efi
rm shim.efi
else
# attach signature
- %{SOURCE6} %{SOURCE1} shim.efi
- mv shim-signed.efi shim-$suffix.efi
+ pesign -m "$signature" -i shim.efi -o shim-$suffix.efi
rm -f shim.efi
fi
+ fi
rm -f shim.cer shim.crt
# make sure cert.o gets rebuilt
rm -f cert.o
++++++ SLES-UEFI-CA-Certificate.crt ++++++
--- /var/tmp/diff_new_pack.9HlaKQ/_old 2014-04-20 11:35:08.000000000 +0200
+++ /var/tmp/diff_new_pack.9HlaKQ/_new 2014-04-20 11:35:08.000000000 +0200
@@ -1,39 +1,29 @@
-----BEGIN CERTIFICATE-----
-MIIG5TCCBM2gAwIBAgIBATANBgkqhkiG9w0BAQsFADCBpjEtMCsGA1UEAwwkU1VT
+MIIE5TCCA82gAwIBAgIBATANBgkqhkiG9w0BAQsFADCBpjEtMCsGA1UEAwwkU1VT
RSBMaW51eCBFbnRlcnByaXNlIFNlY3VyZSBCb290IENBMQswCQYDVQQGEwJERTES
MBAGA1UEBwwJTnVyZW1iZXJnMSEwHwYDVQQKDBhTVVNFIExpbnV4IFByb2R1Y3Rz
IEdtYkgxEzARBgNVBAsMCkJ1aWxkIFRlYW0xHDAaBgkqhkiG9w0BCQEWDWJ1aWxk
-QHN1c2UuZGUwHhcNMTMwMTIyMTQyMDA4WhcNMzQxMjE4MTQyMDA4WjCBpjEtMCsG
+QHN1c2UuZGUwHhcNMTMwNDE4MTQzMzQxWhcNMzUwMzE0MTQzMzQxWjCBpjEtMCsG
A1UEAwwkU1VTRSBMaW51eCBFbnRlcnByaXNlIFNlY3VyZSBCb290IENBMQswCQYD
VQQGEwJERTESMBAGA1UEBwwJTnVyZW1iZXJnMSEwHwYDVQQKDBhTVVNFIExpbnV4
IFByb2R1Y3RzIEdtYkgxEzARBgNVBAsMCkJ1aWxkIFRlYW0xHDAaBgkqhkiG9w0B
-CQEWDWJ1aWxkQHN1c2UuZGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
-AQCrLYL1Uq02iIgro6x6PFESFDtUKU7xO/bJanI7+AQAroowFuLBI67BBSmoq3hR
-QnH3OtQusGV8y+wvjaaunppvWMfjViZ88zssj5fKXrDr5U6BB566DJgHreWaEs2d
-FD13XpKRr3Nk9zdjAJu5YsR7hI1NMXsnj1X8w71OY9HLjv+Kq9917PJwZQjOGnAJ
-BQTi0ogHuLiwDqMKgg5rrYD4cJDPzoLEmEXnwHDIOSiWdD0bCzhN6GQDKldIxQ2O
-d/mjUgzB+dWslIb+bUKaoJgDtyPV20W74t7Y2uwoaEVr9QkPoM3tOPttf4qsWo8B
-J1TgeoF01ZeKcvSyvOXCKbfAN9sqURK2ZUTNThqZ//VPQmJP6fByrMJsbvTOSsQt
-HI+fFPrg1DC2KT8SzuGtWDRscHZ7MofvUKEQolVgkGwp8u68t/RAAwDpUdqIajzi
-yfp9qSDD+9uMeyiLa4rrAr2ATGohNBa0qha95slgvSepXbYKuHG5b4fWMsG7z4Uc
-dqE2vK8cQma1nsAeQBaq2/89294TOHEzKyspesfCBCnKQ3q+l9xelYRdvapj1CH/
-cfUZf2/6X3VHN1P88RfRrPubswmrcOCEBT41upa2WKRDJ1GS6YhL6LJnrZSTjfe+
-KsfNVS1D+KqSKiK0hfk6YK6O88mMGeAKQs3Ap8WthBLf0QIDAQABo4IBGjCCARYw
-DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPU1Az5OFOQJLHPxaEt7f6LF+dV8w
-gdMGA1UdIwSByzCByIAUPU1Az5OFOQJLHPxaEt7f6LF+dV+hgaykgakwgaYxLTAr
-BgNVBAMMJFNVU0UgTGludXggRW50ZXJwcmlzZSBTZWN1cmUgQm9vdCBDQTELMAkG
-A1UEBhMCREUxEjAQBgNVBAcMCU51cmVtYmVyZzEhMB8GA1UECgwYU1VTRSBMaW51
-eCBQcm9kdWN0cyBHbWJIMRMwEQYDVQQLDApCdWlsZCBUZWFtMRwwGgYJKoZIhvcN
-AQkBFg1idWlsZEBzdXNlLmRlggEBMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0B
-AQsFAAOCAgEANtdMT47CjQtuERYa5jfygIO5F+urB4fl8pYcQQ/hTPE0KtAnAtrS
-1strtMrVQ1t7Wu3fVbWYA6MZMXXkcwyyNbaWfj6roaSC6G5ZqCJ69oSyzaCbyaTI
-eOgzIIiVGOAj7tiM6T88Xp9qx4Xa3F6UQHF6xfwBT3nNKerGKOG01p7mBfBewwO5
-Hxp7OAZmennUxV1uuT5/AsArxw9lMlawXhIAS7tRYHW+32D4tjHPDycldOw1hBjt
-z5JdehBiTmxhJ6onl0HSpsX84IMSbkeFIxLfxIF0TNas1pGnSGmh8FcV+ck9js3P
-yamJcNkgCstIwo3QZ2D5YdtQjOusyEuGjCIpDIQx36OMzeOo0SayOdzb2dSmcrHv
-4DIkXDUELyIzu79A2R2KR7OQaGL6HGAVy6+yXHHygTbbUrb6ck2+aOG8913ChABc
-ZAiSFFRKVZzzj7FeIxZNA8GBUbhd20eQB2fUXDypeAnTG6P3dtTs84xNb1qGm3VC
-OAKjkWYQijLWmAOs9Q4NM/AXOeDTgXxA7iX7kWHRNeDbACirp7zM2ZOIP5ObIS6z
-yMqcG9DecSVbXiH3MJDTBoB1idQTTyreqpM/l6N8xNNVjEiLJGMEM1SeYq6S1lFV
-a+GcdOaLYkh7ya3I42l/tDOqH2OLIf7FEtocnc1xU6jTz8au1tZxec8=
+CQEWDWJ1aWxkQHN1c2UuZGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
+AQDN/avXKoT4gcM2NVA1LMfsBPH01sxgS8gTs3SbvfbEP2M+ZlHyfj9ufHZ7cZ1p
+ISoVm6ql5VbIeZgSNc17Y4y4Nynud1C8t2SP/iZK5YMYHGxdtIfv1zPE+Bo/KZqE
+WgHg2YFtMXdiKfXBZRTfSh37t0pGO/OQi6K4JioKw55UtQNggePZWDXtsAviT2vv
+abqLR9+kxdrQ0iWqhWM+LwXbTGkCpg41s8KucLD/JYAxxw05dKPApFDNnz+Ft2L7
+e5JtyB4S0u4PlvQBMNHt4hDs0rK4oeHFLbOxHvjF+nloneWhkg9eT0VCfpAYVYz+
+whMxuCHerDCdmeFrRGEMQz11AgMBAAGjggEaMIIBFjAPBgNVHRMBAf8EBTADAQH/
+MB0GA1UdDgQWBBTsqw1CxFbPdwQ2uXOZOGKWXocmLzCB0wYDVR0jBIHLMIHIgBTs
+qw1CxFbPdwQ2uXOZOGKWXocmL6GBrKSBqTCBpjEtMCsGA1UEAwwkU1VTRSBMaW51
+eCBFbnRlcnByaXNlIFNlY3VyZSBCb290IENBMQswCQYDVQQGEwJERTESMBAGA1UE
+BwwJTnVyZW1iZXJnMSEwHwYDVQQKDBhTVVNFIExpbnV4IFByb2R1Y3RzIEdtYkgx
+EzARBgNVBAsMCkJ1aWxkIFRlYW0xHDAaBgkqhkiG9w0BCQEWDWJ1aWxkQHN1c2Uu
+ZGWCAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4IBAQASviyFhVqU
+Wc1JUQgXwdljJynTnp0/FQOZJBSe7XdBGPmy91+3ITqrXgyqo/218KISiQl53Qlw
+pq+cIiGRAia1D7p7wbg7wsg+Trt0zZFXes30wfYq5pjfWadEBAgNCffkBz10TSjL
+jQrVwW5N+yUJMoq+r843TzV56Huy6LBOVhI5yTz7X7i2rSJYfyQWM8oeHLj8Yl5M
+rOB9gyTumxB4mOLmSqwKzJiUB0ppGPohdLUSSEKDdo6KSH/GjR7M7uBicwnzwJD3
+SVfT9nx9HKF2nXZlHvs5ViQQru3qP1tc6i0eXEnPTYW2+zkZcN0e5iHyozEZHsO0
+rvc1p6G0YWtO
-----END CERTIFICATE-----
++++++ attach_signature.sh ++++++
--- /var/tmp/diff_new_pack.9HlaKQ/_old 2014-04-20 11:35:08.000000000 +0200
+++ /var/tmp/diff_new_pack.9HlaKQ/_new 2014-04-20 11:35:08.000000000 +0200
@@ -11,13 +11,4 @@
outfile="${infile%.efi}-signed.efi"
-nssdir=`mktemp -d`
-cleanup()
-{
- rm -r "$nssdir"
-}
-trap cleanup EXIT
-echo > "$nssdir/pw"
-certutil -f "$nssdir/pw" -d "$nssdir" -N
-
-pesign -n "$nssdir" -m "$sig" -i "$infile" -o "$outfile"
+pesign -m "$sig" -i "$infile" -o "$outfile"
++++++ extract_signature.sh ++++++
--- /var/tmp/diff_new_pack.9HlaKQ/_old 2014-04-20 11:35:08.000000000 +0200
+++ /var/tmp/diff_new_pack.9HlaKQ/_new 2014-04-20 11:35:08.000000000 +0200
@@ -9,16 +9,7 @@
exit 1
fi
-nssdir=`mktemp -d`
-cleanup()
-{
- rm -r "$nssdir"
-}
-trap cleanup EXIT
-echo > "$nssdir/pw"
-certutil -f "$nssdir/pw" -d "$nssdir" -N
-
# wtf?
-(pesign -n "$nssdir" -h -P -i "$infile";
+(pesign -h -P -i "$infile";
perl $(dirname $0)/timestamp.pl "$infile";
-pesign -n "$nssdir" -a -f -e /dev/stdout -i "$infile")|cat
+pesign -a -f -e /dev/stdout -i "$infile")|cat
++++++ shim-allow-fallback-use-system-loadimage.patch ++++++
>From 06495f692fa748a553ffbde8bfae2974d8c791c0 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones(a)redhat.com>
Date: Fri, 14 Feb 2014 15:38:25 -0500
Subject: [PATCH] Allow fallback to use the system's LoadImage/StartImage .
Track use of the system's LoadImage(), and when the next StartImage()
call is for an image the system verified, allow that to count as
participating, since it has been verified by the system's db.
Signed-off-by: Peter Jones <pjones(a)redhat.com>
---
replacements.c | 68 ++++++++++++++++++++++++++++++++++++++++++++-
replacements.h | 3 ++
shim.c | 85 ++++++++++++++++++++++++++++++++++-----------------------
3 files changed, 121 insertions(+), 35 deletions(-)
--- a/replacements.c
+++ b/replacements.c
@@ -60,26 +60,82 @@
static EFI_SYSTEM_TABLE *systab;
+static typeof(systab->BootServices->LoadImage) system_load_image;
static typeof(systab->BootServices->StartImage) system_start_image;
static typeof(systab->BootServices->Exit) system_exit;
static typeof(systab->BootServices->ExitBootServices) system_exit_boot_services;
+static EFI_HANDLE last_loaded_image;
+
void
unhook_system_services(void)
{
systab->BootServices->Exit = system_exit;
+ systab->BootServices->LoadImage = system_load_image;
systab->BootServices->StartImage = system_start_image;
systab->BootServices->ExitBootServices = system_exit_boot_services;
}
static EFI_STATUS EFIAPI
+load_image(BOOLEAN BootPolicy, EFI_HANDLE ParentImageHandle,
+ EFI_DEVICE_PATH *DevicePath, VOID *SourceBuffer,
+ UINTN SourceSize, EFI_HANDLE *ImageHandle)
+{
+ EFI_STATUS status;
+ unhook_system_services();
+
+ status = systab->BootServices->LoadImage(BootPolicy,
+ ParentImageHandle, DevicePath,
+ SourceBuffer, SourceSize, ImageHandle);
+ hook_system_services(systab);
+ if (EFI_ERROR(status))
+ last_loaded_image = NULL;
+ else
+ last_loaded_image = *ImageHandle;
+ return status;
+}
+
+static EFI_STATUS EFIAPI
start_image(EFI_HANDLE image_handle, UINTN *exit_data_size, CHAR16 **exit_data)
{
EFI_STATUS status;
unhook_system_services();
+
+ /* We have to uninstall shim's protocol here, because if we're
+ * On the fallback.efi path, then our call pathway is:
+ *
+ * shim->fallback->shim->grub
+ * ^ ^ ^
+ * | | \- gets protocol #0
+ * | \- installs its protocol (#1)
+ * \- installs its protocol (#0)
+ * and if we haven't removed this, then grub will get the *first*
+ * shim's protocol, but it'll get the second shim's systab
+ * replacements. So even though it will participate and verify
+ * the kernel, the systab never finds out.
+ */
+ if (image_handle == last_loaded_image) {
+ loader_is_participating = 1;
+ uninstall_shim_protocols();
+ }
status = systab->BootServices->StartImage(image_handle, exit_data_size, exit_data);
- if (EFI_ERROR(status))
+ if (EFI_ERROR(status)) {
+ if (image_handle == last_loaded_image) {
+ EFI_STATUS status2 = install_shim_protocols();
+
+ if (EFI_ERROR(status2)) {
+ Print(L"Something has gone seriously wrong: %d\n",
+ status2);
+ Print(L"shim cannot continue, sorry.\n");
+ systab->BootServices->Stall(5000000);
+ systab->RuntimeServices->ResetSystem(
+ EfiResetShutdown,
+ EFI_SECURITY_VIOLATION, 0, NULL);
+ }
+ }
hook_system_services(systab);
+ loader_is_participating = 0;
+ }
return status;
}
@@ -123,6 +179,16 @@ hook_system_services(EFI_SYSTEM_TABLE *l
/* We need to hook various calls to make this work... */
+ /* We need LoadImage() hooked so that fallback.c can load shim
+ * without having to fake LoadImage as well. This allows it
+ * to call the system LoadImage(), and have us track the output
+ * and mark loader_is_participating in start_image. This means
+ * anything added by fallback has to be verified by the system db,
+ * which we want to preserve anyway, since that's all launching
+ * through BDS gives us. */
+ system_load_image = systab->BootServices->LoadImage;
+ systab->BootServices->LoadImage = load_image;
+
/* we need StartImage() so that we can allow chain booting to an
* image trusted by the firmware */
system_start_image = systab->BootServices->StartImage;
--- a/replacements.h
+++ b/replacements.h
@@ -41,4 +41,7 @@ extern int loader_is_participating;
extern void hook_system_services(EFI_SYSTEM_TABLE *local_systab);
extern void unhook_system_services(void);
+extern EFI_STATUS install_shim_protocols(void);
+extern void uninstall_shim_protocols(void);
+
#endif /* SHIM_REPLACEMENTS_H */
--- a/shim.c
+++ b/shim.c
@@ -1719,11 +1719,56 @@ EFI_STATUS set_second_stage (EFI_HANDLE
return EFI_SUCCESS;
}
-EFI_STATUS efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *passed_systab)
+static SHIM_LOCK shim_lock_interface;
+static EFI_HANDLE shim_lock_handle;
+
+EFI_STATUS
+install_shim_protocols(void)
+{
+ EFI_GUID shim_lock_guid = SHIM_LOCK_GUID;
+ EFI_STATUS efi_status;
+ /*
+ * Install the protocol
+ */
+ efi_status = uefi_call_wrapper(BS->InstallProtocolInterface, 4,
+ &shim_lock_handle, &shim_lock_guid,
+ EFI_NATIVE_INTERFACE, &shim_lock_interface);
+ if (EFI_ERROR(efi_status)) {
+ console_error(L"Could not install security protocol",
+ efi_status);
+ return efi_status;
+ }
+
+#if defined(OVERRIDE_SECURITY_POLICY)
+ /*
+ * Install the security protocol hook
+ */
+ security_policy_install(shim_verify);
+#endif
+
+ return EFI_SUCCESS;
+}
+
+void
+uninstall_shim_protocols(void)
{
EFI_GUID shim_lock_guid = SHIM_LOCK_GUID;
- static SHIM_LOCK shim_lock_interface;
- EFI_HANDLE handle = NULL;
+#if defined(OVERRIDE_SECURITY_POLICY)
+ /*
+ * Clean up the security protocol hook
+ */
+ security_policy_uninstall();
+#endif
+
+ /*
+ * If we're back here then clean everything up before exiting
+ */
+ uefi_call_wrapper(BS->UninstallProtocolInterface, 3, shim_lock_handle,
+ &shim_lock_guid, &shim_lock_interface);
+}
+
+EFI_STATUS efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *passed_systab)
+{
EFI_STATUS efi_status;
verification_method = VERIFIED_BY_NOTHING;
@@ -1776,24 +1821,9 @@ EFI_STATUS efi_main (EFI_HANDLE image_ha
loader_is_participating = 0;
}
- /*
- * Install the protocol
- */
- efi_status = uefi_call_wrapper(BS->InstallProtocolInterface, 4,
- &handle, &shim_lock_guid, EFI_NATIVE_INTERFACE,
- &shim_lock_interface);
- if (EFI_ERROR(efi_status)) {
- console_error(L"Could not install security protocol",
- efi_status);
+ efi_status = install_shim_protocols();
+ if (EFI_ERROR(efi_status))
return efi_status;
- }
-
-#if defined(OVERRIDE_SECURITY_POLICY)
- /*
- * Install the security protocol hook
- */
- security_policy_install(shim_verify);
-#endif
/*
* Enter MokManager if necessary
@@ -1820,20 +1850,7 @@ EFI_STATUS efi_main (EFI_HANDLE image_ha
efi_status = init_grub(image_handle);
-#if defined(OVERRIDE_SECURITY_POLICY)
- /*
- * Clean up the security protocol hook
- */
- security_policy_uninstall();
-#endif
-
- /*
- * If we're back here then clean everything up before exiting
- */
- uefi_call_wrapper(BS->UninstallProtocolInterface, 3, handle,
- &shim_lock_guid, &shim_lock_interface);
-
-
+ uninstall_shim_protocols();
/*
* Remove our hooks from system services.
*/
++++++ shim-bnc863205-mokmanager-fix-hash-delete.patch ++++++
>From 23cdee7b62fc62cd988d74b2180014595da9e4c5 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Thu, 13 Feb 2014 15:05:45 +0800
Subject: [PATCH 1/2] MokManager: calculate the variable size correctly
MokSize of the hash signature list includes the owner GUID,
so we should not add the 16bytes compensation.
Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/MokManager.c b/MokManager.c
index e79a8e0..e0cc143 100644
--- a/MokManager.c
+++ b/MokManager.c
@@ -934,7 +934,9 @@ static EFI_STATUS write_back_mok_list (MokListNode *list, INTN key_num,
if (list[i].Mok == NULL)
continue;
- DataSize += sizeof(EFI_SIGNATURE_LIST) + sizeof(EFI_GUID);
+ DataSize += sizeof(EFI_SIGNATURE_LIST);
+ if (CompareGuid(&(list[i].Type), &CertType) == 0)
+ DataSize += sizeof(EFI_GUID);
DataSize += list[i].MokSize;
}
--
1.8.4.5
>From 6b70c15cd8a83e0e62088bc4f2f8e84e818d2b73 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Mon, 17 Feb 2014 17:49:55 +0800
Subject: [PATCH 2/2] MokManager: fix the hash list counting in delete
match_hash() requests the number of keys in a list and it was
mistakenly replaced with the size of the Mok node. This would
made MokManager to remove the whole Mok node instead of one
hash.
Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/MokManager.c b/MokManager.c
index e0cc143..5af5ce6 100644
--- a/MokManager.c
+++ b/MokManager.c
@@ -1042,6 +1042,7 @@ static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size,
{
EFI_GUID HashType = EFI_CERT_SHA256_GUID;
UINT32 sig_size;
+ UINT32 list_num;
int i, del_ind;
void *start, *end;
UINT32 remain;
@@ -1053,8 +1054,10 @@ static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size,
(mok[i].MokSize < sig_size))
continue;
+ list_num = mok[i].MokSize / sig_size;
+
del_ind = match_hash(hash, hash_size, 0, mok[i].Mok,
- mok[i].MokSize);
+ list_num);
while (del_ind >= 0) {
/* Remove the hash */
if (sig_size == mok[i].MokSize) {
@@ -1069,9 +1072,10 @@ static void delete_hash_in_list (UINT8 *hash, UINT32 hash_size,
mem_move(start, end, remain);
mok[i].MokSize -= sig_size;
+ list_num--;
del_ind = match_hash(hash, hash_size, del_ind,
- mok[i].Mok, mok[i].MokSize);
+ mok[i].Mok, list_num);
}
}
}
--
1.8.4.5
++++++ shim-fallback-avoid-duplicate-bootorder.patch ++++++
>From 99858938a08dbdd892cc5438ec49b4262077017d Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Thu, 6 Mar 2014 11:58:36 +0800
Subject: [PATCH 1/3] [fallback] Avoid duplicate old BootOrder
set_boot_order() already copies the old BootOrder to the variable,
bootorder. Besides, we can adjust BootOrder when adding the newly
generated boot option. So, we don't have to copy the old one again
in update_boot_order(). This avoid the duplicate entries in BootOrder.
Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
fallback.c | 39 +++++++++++++--------------------------
1 file changed, 13 insertions(+), 26 deletions(-)
diff --git a/fallback.c b/fallback.c
index 44638ec..8aee618 100644
--- a/fallback.c
+++ b/fallback.c
@@ -204,12 +204,12 @@ add_boot_option(EFI_DEVICE_PATH *hddp, EFI_DEVICE_PATH *fulldp,
return EFI_OUT_OF_RESOURCES;
int j = 0;
+ newbootorder[0] = i & 0xffff;
if (nbootorder) {
- for (j = 0; j < nbootorder; j++)
- newbootorder[j] = bootorder[j];
+ for (j = 1; j < nbootorder + 1; j++)
+ newbootorder[j] = bootorder[j-1];
FreePool(bootorder);
}
- newbootorder[j] = i & 0xffff;
bootorder = newbootorder;
nbootorder += 1;
#ifdef DEBUG_FALLBACK
@@ -307,28 +307,17 @@ set_boot_order(void)
EFI_STATUS
update_boot_order(void)
{
- CHAR16 *oldbootorder;
UINTN size;
+ UINTN len = 0;
EFI_GUID global = EFI_GLOBAL_VARIABLE;
CHAR16 *newbootorder = NULL;
+ EFI_STATUS rc;
- oldbootorder = LibGetVariableAndSize(L"BootOrder", &global, &size);
- if (oldbootorder) {
- int n = size / sizeof (CHAR16) + nbootorder;
-
- newbootorder = AllocateZeroPool(n * sizeof (CHAR16));
- if (!newbootorder)
- return EFI_OUT_OF_RESOURCES;
- CopyMem(newbootorder, bootorder, nbootorder * sizeof (CHAR16));
- CopyMem(newbootorder + nbootorder, oldbootorder, size);
- size = n * sizeof (CHAR16);
- } else {
- size = nbootorder * sizeof(CHAR16);
- newbootorder = AllocateZeroPool(size);
- if (!newbootorder)
- return EFI_OUT_OF_RESOURCES;
- CopyMem(newbootorder, bootorder, size);
- }
+ size = nbootorder * sizeof(CHAR16);
+ newbootorder = AllocateZeroPool(size);
+ if (!newbootorder)
+ return EFI_OUT_OF_RESOURCES;
+ CopyMem(newbootorder, bootorder, size);
#ifdef DEBUG_FALLBACK
Print(L"nbootorder: %d\nBootOrder: ", size / sizeof (CHAR16));
@@ -337,13 +326,11 @@ update_boot_order(void)
Print(L"%04x ", newbootorder[j]);
Print(L"\n");
#endif
-
- if (oldbootorder) {
+ rc = uefi_call_wrapper(RT->GetVariable, 5, L"BootOrder", &global,
+ NULL, &len, NULL);
+ if (rc == EFI_BUFFER_TOO_SMALL)
LibDeleteVariable(L"BootOrder", &global);
- FreePool(oldbootorder);
- }
- EFI_STATUS rc;
rc = uefi_call_wrapper(RT->SetVariable, 5, L"BootOrder", &global,
EFI_VARIABLE_NON_VOLATILE |
EFI_VARIABLE_BOOTSERVICE_ACCESS |
--
1.8.4.5
>From 80c15a7e90d8f51b09211994895a64ec5e4f5c1e Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Thu, 6 Mar 2014 10:57:02 +0800
Subject: [PATCH 2/3] [fallback] Fix the data size for boot option comparison
Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
fallback.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fallback.c b/fallback.c
index 8aee618..156115f 100644
--- a/fallback.c
+++ b/fallback.c
@@ -231,7 +231,7 @@ find_boot_option(EFI_DEVICE_PATH *dp, CHAR16 *filename, CHAR16 *label,
{
int size = sizeof(UINT32) + sizeof (UINT16) +
StrLen(label)*2 + 2 + DevicePathSize(dp) +
- StrLen(arguments) * 2 + 2;
+ StrLen(arguments) * 2;
CHAR8 *data = AllocateZeroPool(size);
if (!data)
--
1.8.4.5
>From 70ffe93b85380a9866ebf3a99b35dde0b332cd65 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Wed, 5 Mar 2014 18:14:09 +0800
Subject: [PATCH 3/3] [fallback] Try to boot the first boot option anyway
Some UEFI implementations never care the boot options, so the
restored boot options could be just ignored and this results in
endless reboot.
To avoid this situation, this commit makes fallback.efi to
load the first matched boot option even if there is not boot
option to be restored.
Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
fallback.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/fallback.c b/fallback.c
index 156115f..777e708 100644
--- a/fallback.c
+++ b/fallback.c
@@ -226,8 +226,9 @@ add_boot_option(EFI_DEVICE_PATH *hddp, EFI_DEVICE_PATH *fulldp,
}
EFI_STATUS
-find_boot_option(EFI_DEVICE_PATH *dp, CHAR16 *filename, CHAR16 *label,
- CHAR16 *arguments, UINT16 *optnum)
+find_boot_option(EFI_DEVICE_PATH *dp, EFI_DEVICE_PATH *fulldp,
+ CHAR16 *filename, CHAR16 *label, CHAR16 *arguments,
+ UINT16 *optnum)
{
int size = sizeof(UINT32) + sizeof (UINT16) +
StrLen(label)*2 + 2 + DevicePathSize(dp) +
@@ -278,6 +279,12 @@ find_boot_option(EFI_DEVICE_PATH *dp, CHAR16 *filename, CHAR16 *label,
continue;
/* at this point, we have duplicate data. */
+ if (!first_new_option) {
+ first_new_option = DuplicateDevicePath(fulldp);
+ first_new_option_args = arguments;
+ first_new_option_size = StrLen(arguments) * sizeof (CHAR16);
+ }
+
*optnum = i;
FreePool(candidate);
FreePool(data);
@@ -403,7 +410,7 @@ add_to_boot_list(EFI_FILE_HANDLE fh, CHAR16 *dirname, CHAR16 *filename, CHAR16 *
#endif
UINT16 option;
- rc = find_boot_option(dp, fullpath, label, arguments, &option);
+ rc = find_boot_option(dp, full_device_path, fullpath, label, arguments, &option);
if (EFI_ERROR(rc)) {
add_boot_option(dp, full_device_path, fullpath, label, arguments);
} else if (option != 0) {
--
1.8.4.5
++++++ shim-fallback-improve-entries-creation.patch ++++++
>From 9ba08c4e8e7cf9b001497a0752652e0ece0b2b84 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones(a)redhat.com>
Date: Fri, 31 Jan 2014 10:30:24 -0500
Subject: [PATCH 1/2] For HD() device paths, use just the media node and later.
UEFI 2.x section 3.1.2 provides for "short-form device path", where the
first element specified is a "hard drive media device path", so that you
can move a disk around on different buses without invalidating your
device path. Fallback has not been using this option, though in most
cases efibootmgr has.
Note that we still keep the full device path, because LoadImage()
isn't necessarily the layer where HD() works - one some systems BDS is
responsible for resolving the full path and passes that to LoadImage()
instead. So we have to do LoadImage() with the full path.
---
fallback.c | 103 ++++++++++++++++++++++++++++++++++++++++++++++---------------
1 file changed, 78 insertions(+), 25 deletions(-)
diff --git a/fallback.c b/fallback.c
index 82ddbf2..7f4201e 100644
--- a/fallback.c
+++ b/fallback.c
@@ -15,6 +15,27 @@
EFI_LOADED_IMAGE *this_image = NULL;
static EFI_STATUS
+FindSubDevicePath(EFI_DEVICE_PATH *In, UINT8 Type, UINT8 SubType,
+ EFI_DEVICE_PATH **Out)
+{
+ EFI_DEVICE_PATH *dp = In;
+ if (!In || !Out)
+ return EFI_INVALID_PARAMETER;
+
+ for (dp = In; !IsDevicePathEnd(dp); dp = NextDevicePathNode(dp)) {
+ if (DevicePathType(dp) == Type &&
+ DevicePathSubType(dp) == SubType) {
+ *Out = DuplicateDevicePath(dp);
+ if (!*Out)
+ return EFI_OUT_OF_RESOURCES;
+ return EFI_SUCCESS;
+ }
+ }
+ *Out = NULL;
+ return EFI_NOT_FOUND;
+}
+
+static EFI_STATUS
get_file_size(EFI_FILE_HANDLE fh, UINT64 *retsize)
{
EFI_STATUS rc;
@@ -93,7 +114,9 @@ make_full_path(CHAR16 *dirname, CHAR16 *filename, CHAR16 **out, UINT64 *outlen)
{
UINT64 len;
- len = StrLen(dirname) + StrLen(filename) + StrLen(L"\\EFI\\\\") + 2;
+ len = StrLen(L"\\EFI\\") + StrLen(dirname)
+ + StrLen(L"\\") + StrLen(filename)
+ + 2;
CHAR16 *fullpath = AllocateZeroPool(len*sizeof(CHAR16));
if (!fullpath) {
@@ -119,7 +142,8 @@ VOID *first_new_option_args = NULL;
UINTN first_new_option_size = 0;
EFI_STATUS
-add_boot_option(EFI_DEVICE_PATH *dp, CHAR16 *filename, CHAR16 *label, CHAR16 *arguments)
+add_boot_option(EFI_DEVICE_PATH *hddp, EFI_DEVICE_PATH *fulldp,
+ CHAR16 *filename, CHAR16 *label, CHAR16 *arguments)
{
static int i = 0;
CHAR16 varname[] = L"Boot0000";
@@ -136,24 +160,31 @@ add_boot_option(EFI_DEVICE_PATH *dp, CHAR16 *filename, CHAR16 *label, CHAR16 *ar
void *var = LibGetVariable(varname, &global);
if (!var) {
int size = sizeof(UINT32) + sizeof (UINT16) +
- StrLen(label)*2 + 2 + DevicePathSize(dp) +
- StrLen(arguments) * 2 + 2;
+ StrLen(label)*2 + 2 + DevicePathSize(hddp) +
+ StrLen(arguments) * 2;
CHAR8 *data = AllocateZeroPool(size);
CHAR8 *cursor = data;
*(UINT32 *)cursor = LOAD_OPTION_ACTIVE;
cursor += sizeof (UINT32);
- *(UINT16 *)cursor = DevicePathSize(dp);
+ *(UINT16 *)cursor = DevicePathSize(hddp);
cursor += sizeof (UINT16);
StrCpy((CHAR16 *)cursor, label);
cursor += StrLen(label)*2 + 2;
- CopyMem(cursor, dp, DevicePathSize(dp));
- cursor += DevicePathSize(dp);
+ CopyMem(cursor, hddp, DevicePathSize(hddp));
+ cursor += DevicePathSize(hddp);
StrCpy((CHAR16 *)cursor, arguments);
Print(L"Creating boot entry \"%s\" with label \"%s\" "
L"for file \"%s\"\n",
varname, label, filename);
+
+ if (!first_new_option) {
+ first_new_option = DuplicateDevicePath(fulldp);
+ first_new_option_args = arguments;
+ first_new_option_size = StrLen(arguments) * sizeof (CHAR16);
+ }
+
rc = uefi_call_wrapper(RT->SetVariable, 5, varname,
&global, EFI_VARIABLE_NON_VOLATILE |
EFI_VARIABLE_BOOTSERVICE_ACCESS |
@@ -254,7 +285,10 @@ add_to_boot_list(EFI_FILE_HANDLE fh, CHAR16 *dirname, CHAR16 *filename, CHAR16 *
if (EFI_ERROR(rc))
return rc;
- EFI_DEVICE_PATH *dph = NULL, *dpf = NULL, *dp = NULL;
+ EFI_DEVICE_PATH *dph = NULL;
+ EFI_DEVICE_PATH *file = NULL;
+ EFI_DEVICE_PATH *full_device_path = NULL;
+ EFI_DEVICE_PATH *dp = NULL;
dph = DevicePathFromHandle(this_image->DeviceHandle);
if (!dph) {
@@ -262,19 +296,31 @@ add_to_boot_list(EFI_FILE_HANDLE fh, CHAR16 *dirname, CHAR16 *filename, CHAR16 *
goto err;
}
- dpf = FileDevicePath(fh, fullpath);
- if (!dpf) {
+ file = FileDevicePath(fh, fullpath);
+ if (!file) {
rc = EFI_OUT_OF_RESOURCES;
goto err;
}
- dp = AppendDevicePath(dph, dpf);
- if (!dp) {
+ full_device_path = AppendDevicePath(dph, file);
+ if (!full_device_path) {
rc = EFI_OUT_OF_RESOURCES;
goto err;
}
+ rc = FindSubDevicePath(full_device_path,
+ MEDIA_DEVICE_PATH, MEDIA_HARDDRIVE_DP, &dp);
+ if (EFI_ERROR(rc)) {
+ if (rc == EFI_NOT_FOUND) {
+ dp = full_device_path;
+ } else {
+ rc = EFI_OUT_OF_RESOURCES;
+ goto err;
+ }
+ }
+
#ifdef DEBUG_FALLBACK
+ {
UINTN s = DevicePathSize(dp);
int i;
UINT8 *dpv = (void *)dp;
@@ -287,20 +333,16 @@ add_to_boot_list(EFI_FILE_HANDLE fh, CHAR16 *dirname, CHAR16 *filename, CHAR16 *
CHAR16 *dps = DevicePathToStr(dp);
Print(L"device path: \"%s\"\n", dps);
-#endif
- if (!first_new_option) {
- CHAR16 *dps = DevicePathToStr(dp);
- Print(L"device path: \"%s\"\n", dps);
- first_new_option = DuplicateDevicePath(dp);
- first_new_option_args = arguments;
- first_new_option_size = StrLen(arguments) * sizeof (CHAR16);
}
+#endif
- add_boot_option(dp, fullpath, label, arguments);
+ add_boot_option(dp, full_device_path, fullpath, label, arguments);
err:
- if (dpf)
- FreePool(dpf);
+ if (file)
+ FreePool(file);
+ if (full_device_path)
+ FreePool(full_device_path);
if (dp)
FreePool(dp);
if (fullpath)
@@ -622,8 +664,19 @@ try_start_first_option(EFI_HANDLE parent_image_handle)
first_new_option, NULL, 0,
&image_handle);
if (EFI_ERROR(rc)) {
- Print(L"LoadImage failed: %d\n", rc);
- uefi_call_wrapper(BS->Stall, 1, 2000000);
+ CHAR16 *dps = DevicePathToStr(first_new_option);
+ UINTN s = DevicePathSize(first_new_option);
+ int i;
+ UINT8 *dpv = (void *)first_new_option;
+ Print(L"LoadImage failed: %d\nDevice path: \"%s\"\n", rc, dps);
+ for (i = 0; i < s; i++) {
+ if (i > 0 && i % 16 == 0)
+ Print(L"\n");
+ Print(L"%02x ", dpv[i]);
+ }
+ Print(L"\n");
+
+ uefi_call_wrapper(BS->Stall, 1, 500000000);
return rc;
}
@@ -637,7 +690,7 @@ try_start_first_option(EFI_HANDLE parent_image_handle)
rc = uefi_call_wrapper(BS->StartImage, 3, image_handle, NULL, NULL);
if (EFI_ERROR(rc)) {
Print(L"StartImage failed: %d\n", rc);
- uefi_call_wrapper(BS->Stall, 1, 2000000);
+ uefi_call_wrapper(BS->Stall, 1, 500000000);
}
return rc;
}
--
1.8.4.5
>From 23ed6291df5dd34789829607a97b3605b739a629 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones(a)redhat.com>
Date: Fri, 31 Jan 2014 10:31:10 -0500
Subject: [PATCH 2/2] Attempt to re-use existing entries when possible.
Some firmwares seem to ignore our boot entries and put their fallback
entries back on top. Right now that results in a lot of boot entries
for our stuff, a la https://bugzilla.redhat.com/show_bug.cgi?id=995834 .
Instead of that happening, if we simply find existing entries that match
the entry we would create and move them to the top of the boot order,
the machine will continue to operate in failure mode (which we can't
avoid), but at least we won't create thousands of extra entries.
Signed-off-by: Peter Jones <pjones(a)redhat.com>
---
fallback.c | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 98 insertions(+), 1 deletion(-)
diff --git a/fallback.c b/fallback.c
index 7f4201e..044e4ba 100644
--- a/fallback.c
+++ b/fallback.c
@@ -226,6 +226,85 @@ add_boot_option(EFI_DEVICE_PATH *hddp, EFI_DEVICE_PATH *fulldp,
}
EFI_STATUS
+find_boot_option(EFI_DEVICE_PATH *dp, CHAR16 *filename, CHAR16 *label,
+ CHAR16 *arguments, UINT16 *optnum)
+{
+ int size = sizeof(UINT32) + sizeof (UINT16) +
+ StrLen(label)*2 + 2 + DevicePathSize(dp) +
+ StrLen(arguments) * 2 + 2;
+
+ CHAR8 *data = AllocateZeroPool(size);
+ if (!data)
+ return EFI_OUT_OF_RESOURCES;
+ CHAR8 *cursor = data;
+ *(UINT32 *)cursor = LOAD_OPTION_ACTIVE;
+ cursor += sizeof (UINT32);
+ *(UINT16 *)cursor = DevicePathSize(dp);
+ cursor += sizeof (UINT16);
+ StrCpy((CHAR16 *)cursor, label);
+ cursor += StrLen(label)*2 + 2;
+ CopyMem(cursor, dp, DevicePathSize(dp));
+ cursor += DevicePathSize(dp);
+ StrCpy((CHAR16 *)cursor, arguments);
+
+ int i = 0;
+ CHAR16 varname[] = L"Boot0000";
+ CHAR16 hexmap[] = L"0123456789ABCDEF";
+ EFI_GUID global = EFI_GLOBAL_VARIABLE;
+ EFI_STATUS rc;
+
+ CHAR8 *candidate = AllocateZeroPool(size);
+ if (!candidate) {
+ FreePool(data);
+ return EFI_OUT_OF_RESOURCES;
+ }
+
+ for(i = 0; i < nbootorder && i < 0x10000; i++) {
+ varname[4] = hexmap[(bootorder[i] & 0xf000) >> 12];
+ varname[5] = hexmap[(bootorder[i] & 0x0f00) >> 8];
+ varname[6] = hexmap[(bootorder[i] & 0x00f0) >> 4];
+ varname[7] = hexmap[(bootorder[i] & 0x000f) >> 0];
+
+ UINTN candidate_size = size;
+ rc = uefi_call_wrapper(RT->GetVariable, 5, varname, &global,
+ NULL, &candidate_size, candidate);
+ if (EFI_ERROR(rc))
+ continue;
+
+ if (candidate_size != size)
+ continue;
+
+ if (CompareMem(candidate, data, size))
+ continue;
+
+ /* at this point, we have duplicate data. */
+ *optnum = i;
+ FreePool(candidate);
+ FreePool(data);
+ return EFI_SUCCESS;
+ }
+ FreePool(candidate);
+ FreePool(data);
+ return EFI_NOT_FOUND;
+}
+
+EFI_STATUS
+set_boot_order(void)
+{
+ CHAR16 *oldbootorder;
+ UINTN size;
+ EFI_GUID global = EFI_GLOBAL_VARIABLE;
+
+ oldbootorder = LibGetVariableAndSize(L"BootOrder", &global, &size);
+ if (oldbootorder) {
+ nbootorder = size / sizeof (CHAR16);
+ bootorder = oldbootorder;
+ }
+ return EFI_SUCCESS;
+
+}
+
+EFI_STATUS
update_boot_order(void)
{
CHAR16 *oldbootorder;
@@ -336,7 +415,23 @@ add_to_boot_list(EFI_FILE_HANDLE fh, CHAR16 *dirname, CHAR16 *filename, CHAR16 *
}
#endif
- add_boot_option(dp, full_device_path, fullpath, label, arguments);
+ UINT16 option;
+ rc = find_boot_option(dp, fullpath, label, arguments, &option);
+ if (EFI_ERROR(rc)) {
+ add_boot_option(dp, full_device_path, fullpath, label, arguments);
+ } else if (option != 0) {
+ CHAR16 *newbootorder;
+ newbootorder = AllocateZeroPool(sizeof (CHAR16) * nbootorder);
+ if (!newbootorder)
+ return EFI_OUT_OF_RESOURCES;
+
+ newbootorder[0] = bootorder[option];
+ CopyMem(newbootorder + 1, bootorder, sizeof (CHAR16) * option);
+ CopyMem(newbootorder + option + 1, bootorder + option + 1,
+ sizeof (CHAR16) * (nbootorder - option - 1));
+ FreePool(bootorder);
+ bootorder = newbootorder;
+ }
err:
if (file)
@@ -710,6 +805,8 @@ efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *systab)
Print(L"System BootOrder not found. Initializing defaults.\n");
+ set_boot_order();
+
rc = find_boot_options(this_image->DeviceHandle);
if (EFI_ERROR(rc)) {
Print(L"Error: could not find boot options: %d\n", rc);
--
1.8.4.5
++++++ shim-fix-uninitialized-variable.patch ++++++
>From ccf21ef9a8868aacf9084400a15d73fcc24a6d39 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones(a)redhat.com>
Date: Fri, 15 Nov 2013 09:21:53 -0500
Subject: [PATCH 1/2] Fix wrong sizeof().
CHAR16* vs CHAR16**, so the result is the same on all platforms.
Detected by coverity.
Signed-off-by: Peter Jones <pjones(a)redhat.com>
---
lib/shell.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/shell.c b/lib/shell.c
index 51de4e0..7337834 100644
--- a/lib/shell.c
+++ b/lib/shell.c
@@ -35,7 +35,7 @@ argsplit(EFI_HANDLE image, int *argc, CHAR16*** ARGV)
(*argc)++; /* we counted spaces, so add one for initial */
- *ARGV = AllocatePool(*argc * sizeof(*ARGV));
+ *ARGV = AllocatePool(*argc * sizeof(**ARGV));
if (!*ARGV) {
return EFI_OUT_OF_RESOURCES;
}
--
1.8.4.5
>From c4277cf343555646dbf0c17679108983af1e8887 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones(a)redhat.com>
Date: Fri, 15 Nov 2013 09:24:01 -0500
Subject: [PATCH 2/2] Initialize entries before we pass it to another function.
Coverity scan noticed that entries is uninitialized when we pass its
location to another function.
Signed-off-by: Peter Jones <pjones(a)redhat.com>
---
lib/simple_file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/simple_file.c b/lib/simple_file.c
index 3af0ec8..d345d87 100644
--- a/lib/simple_file.c
+++ b/lib/simple_file.c
@@ -415,7 +415,7 @@ simple_file_selector(EFI_HANDLE *im, CHAR16 **title, CHAR16 *name,
CHAR16 *filter, CHAR16 **result)
{
EFI_STATUS status;
- CHAR16 **entries;
+ CHAR16 **entries = NULL;
EFI_FILE_INFO *dmp;
int count, select, len;
CHAR16 *newname, *selected;
--
1.8.4.5
++++++ shim-get-variable-check.patch ++++++
>From 293f28d1fe3921c5348c60948b4dedcef5042d5b Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones(a)redhat.com>
Date: Fri, 15 Nov 2013 10:55:37 -0500
Subject: [PATCH] Error check the right thing in get_variable_attr() when
allocating.
Signed-off-by: Peter Jones <pjones(a)redhat.com>
---
lib/variables.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/variables.c b/lib/variables.c
index 81bd34d..3a9735e 100644
--- a/lib/variables.c
+++ b/lib/variables.c
@@ -224,7 +224,7 @@ get_variable_attr(CHAR16 *var, UINT8 **data, UINTN *len, EFI_GUID owner,
return efi_status;
*data = AllocateZeroPool(*len);
- if (!data)
+ if (!*data)
return EFI_OUT_OF_RESOURCES;
efi_status = uefi_call_wrapper(RT->GetVariable, 5, var, &owner,
--
1.8.4.5
++++++ shim-install ++++++
--- /var/tmp/diff_new_pack.9HlaKQ/_old 2014-04-20 11:35:08.000000000 +0200
+++ /var/tmp/diff_new_pack.9HlaKQ/_new 2014-04-20 11:35:08.000000000 +0200
@@ -4,14 +4,18 @@
bootdir=
efidir=
install_device=
+efibootdir=
+ca_string=
removable=no
clean=no
sysconfdir="/etc"
libdir="/usr/lib64"
source_dir="$libdir/efi"
grub_probe="`which grub2-probe`"
+grub_mkrelpath="`which grub2-mkrelpath`"
self="`basename $0`"
grub_cfg="/boot/grub2/grub.cfg"
+update_boot=no
# Get GRUB_DISTRIBUTOR.
if test -f "${sysconfdir}/default/grub" ; then
@@ -26,6 +30,14 @@
efi_distributor="$bootloader_id"
bootloader_id="${bootloader_id}-secureboot"
+case "$bootloader_id" in
+ "sle"*)
+ ca_string='SUSE Linux Enterprise Secure Boot CA1';;
+ "opensuse"*)
+ ca_string='openSUSE Secure Boot CA1';;
+ *) ca_string="";;
+esac
+
usage () {
echo "Usage: $self [OPTION] [INSTALL_DEVICE]"
echo
@@ -169,18 +181,32 @@
if test -n "$efidir"; then
efi_file=shim.efi
+ efibootdir="$efidir/EFI/boot"
+ mkdir -p "$efibootdir" || exit 1
efidir="$efidir/EFI/$efi_distributor"
mkdir -p "$efidir" || exit 1
else
exit 1;
fi
+if test -f "$efibootdir/bootx64.efi"; then
+ if test -n "$ca_string" && (grep -q "$ca_string" "$efibootdir/bootx64.efi"); then
+ update_boot=yes
+ fi
+else
+ update_boot=yes
+fi
+
if test "$clean" = "yes"; then
rm -f "${efidir}/shim.efi"
rm -f "${efidir}/MokManager.efi"
rm -f "${efidir}/grub.efi"
rm -f "${efidir}/grub.cfg"
rm -f "${efidir}/boot.csv"
+ if test "$update_boot" = "yes"; then
+ rm -f "${efibootdir}/bootx64.efi"
+ rm -f "${efibootdir}/fallback.efi"
+ fi
efibootmgr="`which efibootmgr`"
if test "$removable" = no && test -n "$bootloader_id" && test -n "$efibootmgr"; then
# Delete old entries from the same distributor.
@@ -196,17 +222,70 @@
cp "${source_dir}/MokManager.efi" "${efidir}"
cp "${source_dir}/grub.efi" "${efidir}"
echo "shim.efi,${bootloader_id}" | iconv -f ascii -t ucs2 > "${efidir}/boot.csv"
+if test "$update_boot" = "yes"; then
+ cp "${source_dir}/shim.efi" "${efibootdir}/bootx64.efi"
+ cp "${source_dir}/fallback.efi" "${efibootdir}"
+fi
+
+
+make_grubcfg () {
grub_cfg_dirname=`dirname $grub_cfg`
grub_cfg_basename=`basename $grub_cfg`
cfg_fs_uuid=`"$grub_probe" --target=fs_uuid "$grub_cfg_dirname"`
+descriptive_config="snapshot_submenu.cfg"
+root_fstype=`$grub_probe -t fs /`
+boot_fstype=`$grub_probe -t fs /boot`
+if [ "x${root_fstype}" != "xbtrfs" ] ||
+ [ "x${boot_fstype}" != "xbtrfs" ]; then
+ echo "/ is not on btrfs" >&2
+ exit 1;
+fi
+
+if test "x$SUSE_BTRFS_SNAPSHOT_BOOTING" = "xtrue" &&
+ test "x$root_fstype" = "xbtrfs" &&
+ test "x$boot_fstype" = "xbtrfs"; then
+
+cat <<EOF
+set btrfs_relative_path="yes"
+set extra_cmdline=""
+btrfs_subvolid=""
+btrfs_subvol="/"
+
+export btrfs_relative_path
+export extra_cmdline
-(cat << EOF
search --fs-uuid --set=root ${cfg_fs_uuid}
-set prefix=(\${root})${grub_cfg_dirname}
+
+set timeout=0
+
+terminal_input console
+terminal_output console
+
+menuentry 'default' {
+ btrfs_subvol=""
+ configfile /boot/grub2/grub.cfg
+ btrfs_subvol="/"
+}
+
+if [ -f "/.snapshots/${descriptive_config}" ]; then
+ source "/.snapshots/${descriptive_config}"
+fi
+
+EOF
+
+else
+
+cat <<EOF
+search --fs-uuid --set=root ${cfg_fs_uuid}
+set prefix=(\${root})`${grub_mkrelpath} ${grub_cfg_dirname}`
+configfile \$prefix/${grub_cfg_basename}
EOF
-echo "configfile \$prefix/${grub_cfg_basename}") \
-> "${efidir}/grub.cfg"
+fi
+
+}
+
+make_grubcfg > "${efidir}/grub.cfg"
efibootmgr="`which efibootmgr`"
if test "$removable" = no && test -n "$bootloader_id" && test -n "$efibootmgr"; then
++++++ shim-mokmanager-delete-bs-var-right.patch ++++++
>From 3c545d630917d76d91a8491f8759927f512e56f2 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Fri, 7 Mar 2014 16:56:14 +0800
Subject: [PATCH] MokManager: delete the BS+NV variables the right way
LibDeleteVariable assumes that the variable is RT+NV and it
won't work on a BS+NV variable.
Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 28 +++++++++++++++++++++++++---
1 file changed, 25 insertions(+), 3 deletions(-)
diff --git a/MokManager.c b/MokManager.c
index f5ed379..4ea28ef 100644
--- a/MokManager.c
+++ b/MokManager.c
@@ -1112,7 +1112,16 @@ static INTN mok_sb_prompt (void *MokSB, UINTN MokSBSize) {
return -1;
}
} else {
- LibDeleteVariable(L"MokSBState", &shim_lock_guid);
+ efi_status = uefi_call_wrapper(RT->SetVariable,
+ 5, L"MokSBState",
+ &shim_lock_guid,
+ EFI_VARIABLE_NON_VOLATILE |
+ EFI_VARIABLE_BOOTSERVICE_ACCESS,
+ 0, NULL);
+ if (efi_status != EFI_SUCCESS) {
+ console_notify(L"Failed to delete Secure Boot state");
+ return -1;
+ }
}
console_notify(L"The system must now be rebooted");
@@ -1224,7 +1233,16 @@ static INTN mok_db_prompt (void *MokDB, UINTN MokDBSize) {
return -1;
}
} else {
- LibDeleteVariable(L"MokDBState", &shim_lock_guid);
+ efi_status = uefi_call_wrapper(RT->SetVariable, 5,
+ L"MokDBState",
+ &shim_lock_guid,
+ EFI_VARIABLE_NON_VOLATILE |
+ EFI_VARIABLE_BOOTSERVICE_ACCESS,
+ 0, NULL);
+ if (efi_status != EFI_SUCCESS) {
+ console_notify(L"Failed to delete DB state");
+ return -1;
+ }
}
console_notify(L"The system must now be rebooted");
@@ -1261,7 +1279,11 @@ static INTN mok_pw_prompt (void *MokPW, UINTN MokPWSize) {
if (console_yes_no((CHAR16 *[]){L"Clear MOK password?", NULL}) == 0)
return 0;
- LibDeleteVariable(L"MokPWStore", &shim_lock_guid);
+ uefi_call_wrapper(RT->SetVariable, 5, L"MokPWStore",
+ &shim_lock_guid,
+ EFI_VARIABLE_NON_VOLATILE
+ | EFI_VARIABLE_BOOTSERVICE_ACCESS,
+ 0, NULL);
LibDeleteVariable(L"MokPW", &shim_lock_guid);
console_notify(L"The system must now be rebooted");
uefi_call_wrapper(RT->ResetSystem, 4, EfiResetWarm, EFI_SUCCESS, 0,
--
1.8.4.5
++++++ shim-mokmanager-support-sha-family.patch ++++++
++++ 627 lines (skipped)
++++++ shim-mokx-support.patch ++++++
--- /var/tmp/diff_new_pack.9HlaKQ/_old 2014-04-20 11:35:08.000000000 +0200
+++ /var/tmp/diff_new_pack.9HlaKQ/_new 2014-04-20 11:35:08.000000000 +0200
@@ -1,10 +1,12 @@
-From 8614cf8c164049e77d702eb234d608d5342e975b Mon Sep 17 00:00:00 2001
+From 58b8e54ef60d488886a9f0d0877b7187eb200d07 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Thu, 24 Oct 2013 17:02:08 +0800
-Subject: [PATCH 1/9] Support MOK blacklist
+Subject: [PATCH 01/10] Support MOK blacklist
The new blacklist, MokListX, stores the keys and hashes that are
banned.
+
+Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 241 +++++++++++++++++++++++++++++++++++++++++++++++++----------
shim.c | 3 +-
@@ -510,7 +512,7 @@
return EFI_SUCCESS;
}
diff --git a/shim.c b/shim.c
-index 9ae1936..c133bb2 100644
+index cf93d65..2c23a2f 100644
--- a/shim.c
+++ b/shim.c
@@ -1510,7 +1510,8 @@ EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
@@ -524,14 +526,15 @@
if (efi_status != EFI_SUCCESS) {
--
-1.8.1.4
+1.8.4.5
-From f36f4093bb72344242949b16b83905cefb93d3cd Mon Sep 17 00:00:00 2001
+From d2980a5cbee887223405a24be44ffd5bb439e3f1 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Thu, 24 Oct 2013 17:32:31 +0800
-Subject: [PATCH 2/9] MokManager: show the hash list properly
+Subject: [PATCH 02/10] MokManager: show the hash list properly
+Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++--------
1 file changed, 71 insertions(+), 11 deletions(-)
@@ -675,14 +678,15 @@
for (i=0; menu_strings[i] != NULL; i++)
--
-1.8.1.4
+1.8.4.5
-From f1073a9bc757008d44b5b86cb5002a3654faf2d2 Mon Sep 17 00:00:00 2001
+From 9c4b5d58385c64056adb5386c097219665f2f50d Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Fri, 25 Oct 2013 16:54:25 +0800
-Subject: [PATCH 3/9] MokManager: delete the hash properly
+Subject: [PATCH 03/10] MokManager: delete the hash properly
+Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 114 insertions(+), 10 deletions(-)
@@ -840,14 +844,15 @@
}
--
-1.8.1.4
+1.8.4.5
-From b5cb83a92620b0b41857f3e3a292d1577eb3a3a5 Mon Sep 17 00:00:00 2001
+From 54ce2f9605990c00f9cafae7cab22a1c885828c1 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Fri, 25 Oct 2013 17:05:10 +0800
-Subject: [PATCH 4/9] MokManager: Match all hashes in the list
+Subject: [PATCH 04/10] MokManager: Match all hashes in the list
+Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
@@ -908,15 +913,17 @@
}
}
--
-1.8.1.4
+1.8.4.5
-From 70a4e12d2e6ba37541d0b78ec3c8ed5e8da9a941 Mon Sep 17 00:00:00 2001
+From 4c1912c8521cca4d320a1417abff6f7954809a20 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Fri, 25 Oct 2013 18:30:48 +0800
-Subject: [PATCH 5/9] MokManager: Write the hash list properly
+Subject: [PATCH 05/10] MokManager: Write the hash list properly
also return to the previous entry in the list
+
+Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
MokManager.c | 30 +++++++++++++++++++-----------
1 file changed, 19 insertions(+), 11 deletions(-)
@@ -991,20 +998,21 @@
efi_status = uefi_call_wrapper(RT->SetVariable, 5, db_name,
--
-1.8.1.4
+1.8.4.5
-From 225e5fca2f7cf63e365b77243d6e43b1eb9860c8 Mon Sep 17 00:00:00 2001
+From 8b96a93bda39617efbe51f24d1dc606ad8835d26 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Mon, 28 Oct 2013 15:08:40 +0800
-Subject: [PATCH 6/9] Copy the MOK blacklist to a RT variable
+Subject: [PATCH 06/10] Copy the MOK blacklist to a RT variable
+Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
shim.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/shim.c b/shim.c
-index c133bb2..a0383a8 100644
+index 2c23a2f..ccb3071 100644
--- a/shim.c
+++ b/shim.c
@@ -1480,6 +1480,33 @@ EFI_STATUS mirror_mok_list()
@@ -1041,7 +1049,7 @@
* Check if a variable exists
*/
static BOOLEAN check_var(CHAR16 *varname)
-@@ -1795,6 +1822,8 @@ EFI_STATUS efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *passed_systab)
+@@ -1799,6 +1826,8 @@ EFI_STATUS efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *passed_systab)
*/
efi_status = mirror_mok_list();
@@ -1051,20 +1059,21 @@
* Create the runtime MokIgnoreDB variable so the kernel can make
* use of it
--
-1.8.1.4
+1.8.4.5
-From f9db55b719281ce491780ecd4ec269c5286a7251 Mon Sep 17 00:00:00 2001
+From 044d04dbed3ef3f2f3004a770e3751eabc052c2c Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Mon, 28 Oct 2013 16:36:34 +0800
-Subject: [PATCH 7/9] No newline for console_notify
+Subject: [PATCH 07/10] No newline for console_notify
+Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
shim.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/shim.c b/shim.c
-index a0383a8..a2e0862 100644
+index ccb3071..e30a464 100644
--- a/shim.c
+++ b/shim.c
@@ -470,7 +470,7 @@ static BOOLEAN secure_mode (void)
@@ -1086,13 +1095,13 @@
}
--
-1.8.1.4
+1.8.4.5
-From 0bf2da5c7d9442f3249fc977b3fbffab924a374c Mon Sep 17 00:00:00 2001
+From 0e97d1576fcc1924f0f17b7f31baf1dd74a7f83e Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Mon, 4 Nov 2013 14:45:33 +0800
-Subject: [PATCH 8/9] Verify the EFI images with MOK blacklist
+Subject: [PATCH 08/10] Verify the EFI images with MOK blacklist
Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
---
@@ -1100,7 +1109,7 @@
1 file changed, 9 insertions(+)
diff --git a/shim.c b/shim.c
-index a2e0862..5f5e9a6 100644
+index e30a464..efd3d85 100644
--- a/shim.c
+++ b/shim.c
@@ -365,6 +365,7 @@ static EFI_STATUS check_blacklist (WIN_CERTIFICATE_EFI_PKCS *cert,
@@ -1127,13 +1136,13 @@
return EFI_SUCCESS;
}
--
-1.8.1.4
+1.8.4.5
-From 20ced27d1785bceaf814c07ca0d5686506a119ad Mon Sep 17 00:00:00 2001
+From a166edaa42ef96eaf5b000d0e4ad71779b745d68 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Mon, 4 Nov 2013 17:51:55 +0800
-Subject: [PATCH 9/9] Exclude ca.crt while signing EFI images
+Subject: [PATCH 09/10] Exclude ca.crt while signing EFI images
If ca.crt was added into the certificate database, ca.crt would be the first
certificate in the signature. Because shim couldn't verify ca.crt with the
@@ -1158,5 +1167,33 @@
certutil -d certdb/ -A -i shim.crt -n shim -t u
--
-1.8.1.4
+1.8.4.5
+
+
+From cce37bfa5298e8e9c12d3509c78592f711699c4f Mon Sep 17 00:00:00 2001
+From: Gary Ching-Pang Lin <glin(a)suse.com>
+Date: Tue, 11 Feb 2014 14:11:15 +0800
+Subject: [PATCH 10/10] Make shim to check MokXAuth for MOKX reset
+
+Signed-off-by: Gary Ching-Pang Lin <glin(a)suse.com>
+---
+ shim.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/shim.c b/shim.c
+index efd3d85..7093c45 100644
+--- a/shim.c
++++ b/shim.c
+@@ -1547,7 +1547,8 @@ EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
+ if (check_var(L"MokNew") || check_var(L"MokSB") ||
+ check_var(L"MokPW") || check_var(L"MokAuth") ||
+ check_var(L"MokDel") || check_var(L"MokDB") ||
+- check_var(L"MokXNew") || check_var(L"MokXDel")) {
++ check_var(L"MokXNew") || check_var(L"MokXDel") ||
++ check_var(L"MokXAuth")) {
+ efi_status = start_image(image_handle, MOK_MANAGER);
+
+ if (efi_status != EFI_SUCCESS) {
+--
+1.8.4.5
++++++ shim-only-os-name.patch ++++++
diff --git a/Makefile b/Makefile
index 91e6bcd..6ed5ba7 100644
--- a/Makefile
+++ b/Makefile
@@ -63,7 +63,7 @@ shim_cert.h: shim.cer
version.c : version.c.in
sed -e "s,@@VERSION@@,$(VERSION)," \
- -e "s,@@UNAME@@,$(shell uname -a)," \
+ -e "s,@@UNAME@@,$(shell uname -o)," \
-e "s,@@COMMIT@@,$(shell if [ -d .git ] ; then git log -1 --pretty=format:%H ; elif [ -f commit ]; then cat commit ; else echo commit id not available; fi)," \
< version.c.in > version.c
++++++ shim-opensuse-cert-prompt.patch ++++++
>From 2082ad15e0b3413845a1ddc10c2953dcd95beb83 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Tue, 18 Feb 2014 17:29:19 +0800
Subject: [PATCH 1/3] Show the build-in certificate prompt
This is an openSUSE-only patch.
Pop up a window to ask if the user is willing to trust the built-in
openSUSE certificate.
If yes, set openSUSE_Verify, a BootService variable, to 1, and shim
won't bother the user afterward.
If no, continue the booting process without using the built-in
certificate to verify the EFI images, and the window will show up
again after reboot.
The state will store in use_openSUSE_cert, a volatile RT variable.
---
shim.c | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 97 insertions(+), 19 deletions(-)
diff --git a/shim.c b/shim.c
index 0b20191..a483ce3 100644
--- a/shim.c
+++ b/shim.c
@@ -82,6 +82,7 @@ UINT8 *vendor_dbx;
*/
verification_method_t verification_method;
int loader_is_participating;
+BOOLEAN use_builtin_cert;
#define EFI_IMAGE_SECURITY_DATABASE_GUID { 0xd719b2cb, 0x3d3a, 0x4596, { 0xa3, 0xbc, 0xda, 0xd0, 0x0e, 0x67, 0x65, 0x6f }}
@@ -752,7 +753,7 @@ static EFI_STATUS verify_buffer (char *data, int datasize,
if (status == EFI_SUCCESS)
return status;
- if (cert) {
+ if (cert && use_builtin_cert) {
/*
* Check against the shim build key
*/
@@ -1418,11 +1419,14 @@ EFI_STATUS mirror_mok_list()
if (efi_status != EFI_SUCCESS)
DataSize = 0;
- FullDataSize = DataSize
- + sizeof (*CertList)
- + sizeof (EFI_GUID)
- + vendor_cert_size
- ;
+ FullDataSize = DataSize;
+ if (use_builtin_cert) {
+ FullDataSize += sizeof (*CertList) +
+ sizeof (EFI_GUID) +
+ vendor_cert_size;
+ } else if (DataSize == 0) {
+ return EFI_SUCCESS;
+ }
FullData = AllocatePool(FullDataSize);
if (!FullData) {
Print(L"Failed to allocate space for MokListRT\n");
@@ -1434,21 +1438,24 @@ EFI_STATUS mirror_mok_list()
CopyMem(p, Data, DataSize);
p += DataSize;
}
- CertList = (EFI_SIGNATURE_LIST *)p;
- p += sizeof (*CertList);
- CertData = (EFI_SIGNATURE_DATA *)p;
- p += sizeof (EFI_GUID);
- CertList->SignatureType = EFI_CERT_X509_GUID;
- CertList->SignatureListSize = vendor_cert_size
- + sizeof (*CertList)
- + sizeof (*CertData)
- -1;
- CertList->SignatureHeaderSize = 0;
- CertList->SignatureSize = vendor_cert_size + sizeof (EFI_GUID);
+ if (use_builtin_cert) {
+ CertList = (EFI_SIGNATURE_LIST *)p;
+ p += sizeof (*CertList);
+ CertData = (EFI_SIGNATURE_DATA *)p;
+ p += sizeof (EFI_GUID);
- CertData->SignatureOwner = SHIM_LOCK_GUID;
- CopyMem(p, vendor_cert, vendor_cert_size);
+ CertList->SignatureType = EFI_CERT_X509_GUID;
+ CertList->SignatureListSize = vendor_cert_size
+ + sizeof (*CertList)
+ + sizeof (*CertData)
+ -1;
+ CertList->SignatureHeaderSize = 0;
+ CertList->SignatureSize = vendor_cert_size + sizeof (EFI_GUID);
+
+ CertData->SignatureOwner = SHIM_LOCK_GUID;
+ CopyMem(p, vendor_cert, vendor_cert_size);
+ }
efi_status = uefi_call_wrapper(RT->SetVariable, 5, L"MokListRT",
&shim_lock_guid,
@@ -1767,6 +1774,75 @@ uninstall_shim_protocols(void)
&shim_lock_guid, &shim_lock_interface);
}
+#define VENDOR_VERIFY L"openSUSE_Verify"
+
+/* Show the built-in certificate prompt if necessary */
+static int builtin_cert_prompt(void)
+{
+ EFI_GUID shim_lock_guid = SHIM_LOCK_GUID;
+ EFI_STATUS status;
+ UINT32 attributes;
+ UINTN len = sizeof(UINT8);
+ UINT8 data;
+
+ use_builtin_cert = FALSE;
+
+ if (vendor_cert_size == 0)
+ return 0;
+
+ status = uefi_call_wrapper(RT->GetVariable, 5, VENDOR_VERIFY,
+ &shim_lock_guid, &attributes,
+ &len, &data);
+ if (status != EFI_SUCCESS ||
+ (attributes & EFI_VARIABLE_RUNTIME_ACCESS)) {
+ int choice;
+
+ if (status != EFI_NOT_FOUND)
+ LibDeleteVariable(VENDOR_VERIFY, &shim_lock_guid);
+
+ CHAR16 *str[] = {L"Trust openSUSE Certificate",
+ L"",
+ L"Do you agree to use the built-in openSUSE certificate",
+ L"to verify boot loaders and kernels?",
+ NULL};
+ choice = console_yes_no(str);
+ if (choice != 1) {
+ data = 0;
+ goto done;
+ }
+
+ data = 1;
+ status = uefi_call_wrapper(RT->SetVariable, 5,
+ VENDOR_VERIFY,
+ &shim_lock_guid,
+ EFI_VARIABLE_NON_VOLATILE |
+ EFI_VARIABLE_BOOTSERVICE_ACCESS,
+ sizeof(UINT8), &data);
+ if (status != EFI_SUCCESS) {
+ console_error(L"Failed to set openSUSE_Verify", status);
+ return -1;
+ }
+ }
+
+ use_builtin_cert = TRUE;
+ data = 1;
+
+done:
+ /* Setup a runtime variable to show the current state */
+ status = uefi_call_wrapper(RT->SetVariable, 5,
+ L"use_openSUSE_cert",
+ &shim_lock_guid,
+ EFI_VARIABLE_BOOTSERVICE_ACCESS |
+ EFI_VARIABLE_RUNTIME_ACCESS,
+ sizeof(UINT8), &data);
+ if (status != EFI_SUCCESS) {
+ console_error(L"Failed to set use_openSUSE_cert", status);
+ return -1;
+ }
+
+ return 0;
+}
+
EFI_STATUS efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *passed_systab)
{
EFI_STATUS efi_status;
@@ -1819,6 +1895,8 @@ EFI_STATUS efi_main (EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *passed_systab)
*/
hook_system_services(systab);
loader_is_participating = 0;
+ if (builtin_cert_prompt() != 0)
+ return EFI_ABORTED;
}
efi_status = install_shim_protocols();
--
1.8.4.5
>From 57b6062bc614d5638e66f8c5ac62106b812c6d1a Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Thu, 20 Feb 2014 16:57:08 +0800
Subject: [PATCH 2/3] Support revoking the openSUSE cert
This is an openSUSE-only patch.
To revoke the openSUSE cert, create ClearVerify, a NV RT variable,
and store the password hash in the variable, and then MokManager
will show up with an additional option to clear openSUSE_Verify
---
MokManager.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
shim.c | 2 +-
2 files changed, 60 insertions(+), 3 deletions(-)
diff --git a/MokManager.c b/MokManager.c
index 71a3137..a03eea4 100644
--- a/MokManager.c
+++ b/MokManager.c
@@ -1570,6 +1570,33 @@ static INTN mok_pw_prompt (void *MokPW, UINTN MokPWSize) {
return -1;
}
+static INTN mok_clear_verify_prompt(void *ClearVerify, UINTN ClearVerifySize) {
+ EFI_GUID shim_lock_guid = SHIM_LOCK_GUID;
+ EFI_STATUS status;
+
+ if (console_yes_no((CHAR16 *[]){L"Do you want to revoke openSUSE certificate?", NULL}) != 1)
+ return 0;
+
+ if (ClearVerifySize == PASSWORD_CRYPT_SIZE) {
+ status = match_password((PASSWORD_CRYPT *)ClearVerify, NULL, 0,
+ NULL, NULL);
+ }
+ if (status != EFI_SUCCESS)
+ return -1;
+
+ status = LibDeleteVariable(L"openSUSE_Verify", &shim_lock_guid);
+ if (status != EFI_SUCCESS) {
+ console_error(L"Failed to delete openSUSE_Verify", status);
+ return -1;
+ }
+
+ console_notify(L"The system must now be rebooted");
+ uefi_call_wrapper(RT->ResetSystem, 4, EfiResetWarm,
+ EFI_SUCCESS, 0, NULL);
+ console_notify(L"Failed to reboot");
+ return -1;
+}
+
static BOOLEAN verify_certificate(void *cert, UINTN size)
{
X509 *X509Cert;
@@ -1903,6 +1930,7 @@ typedef enum {
MOK_CHANGE_SB,
MOK_SET_PW,
MOK_CHANGE_DB,
+ MOK_CLEAR_VERIFY,
MOK_KEY_ENROLL,
MOK_HASH_ENROLL
} mok_menu_item;
@@ -1914,7 +1942,8 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle,
void *MokPW, UINTN MokPWSize,
void *MokDB, UINTN MokDBSize,
void *MokXNew, UINTN MokXNewSize,
- void *MokXDel, UINTN MokXDelSize)
+ void *MokXDel, UINTN MokXDelSize,
+ void *ClearVerify, UINTN ClearVerifySize)
{
CHAR16 **menu_strings;
mok_menu_item *menu_item;
@@ -1988,6 +2017,9 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle,
if (MokDB)
menucount++;
+ if (ClearVerify)
+ menucount++;
+
menu_strings = AllocateZeroPool(sizeof(CHAR16 *) * (menucount + 1));
if (!menu_strings)
@@ -2057,6 +2089,12 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle,
i++;
}
+ if (ClearVerify) {
+ menu_strings[i] = L"Revoke openSUSE certificate";
+ menu_item[i] = MOK_CLEAR_VERIFY;
+ i++;
+ }
+
menu_strings[i] = L"Enroll key from disk";
menu_item[i] = MOK_KEY_ENROLL;
i++;
@@ -2107,6 +2145,9 @@ static EFI_STATUS enter_mok_menu(EFI_HANDLE image_handle,
case MOK_CHANGE_DB:
mok_db_prompt(MokDB, MokDBSize);
break;
+ case MOK_CLEAR_VERIFY:
+ mok_clear_verify_prompt(ClearVerify, ClearVerifySize);
+ break;
case MOK_KEY_ENROLL:
mok_key_enroll();
break;
@@ -2132,6 +2173,7 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
EFI_GUID shim_lock_guid = SHIM_LOCK_GUID;
UINTN MokNewSize = 0, MokDelSize = 0, MokSBSize = 0, MokPWSize = 0;
UINTN MokDBSize = 0, MokXNewSize = 0, MokXDelSize = 0;
+ UINTN ClearVerifySize = 0;
void *MokNew = NULL;
void *MokDel = NULL;
void *MokSB = NULL;
@@ -2139,6 +2181,7 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
void *MokDB = NULL;
void *MokXNew = NULL;
void *MokXDel = NULL;
+ void *ClearVerify = NULL;
EFI_STATUS status;
status = get_variable(L"MokNew", (UINT8 **)&MokNew, &MokNewSize,
@@ -2211,9 +2254,20 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
console_error(L"Could not retrieve MokXDel", status);
}
+ status = get_variable(L"ClearVerify", (UINT8 **)&ClearVerify, &ClearVerifySize,
+ shim_lock_guid);
+ if (status == EFI_SUCCESS) {
+ if (LibDeleteVariable(L"ClearVerify", &shim_lock_guid) != EFI_SUCCESS) {
+ console_notify(L"Failed to delete ClearVerify");
+ }
+ } else if (EFI_ERROR(status) && status != EFI_NOT_FOUND) {
+ console_error(L"Could not retrieve ClearVerify", status);
+ }
+
enter_mok_menu(image_handle, MokNew, MokNewSize, MokDel, MokDelSize,
MokSB, MokSBSize, MokPW, MokPWSize, MokDB, MokDBSize,
- MokXNew, MokXNewSize, MokXDel, MokXDelSize);
+ MokXNew, MokXNewSize, MokXDel, MokXDelSize,
+ ClearVerify, ClearVerifySize);
if (MokNew)
FreePool (MokNew);
@@ -2236,6 +2290,9 @@ static EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
if (MokXDel)
FreePool (MokXDel);
+ if (ClearVerify)
+ FreePool (ClearVerify);
+
LibDeleteVariable(L"MokAuth", &shim_lock_guid);
LibDeleteVariable(L"MokDelAuth", &shim_lock_guid);
LibDeleteVariable(L"MokXAuth", &shim_lock_guid);
diff --git a/shim.c b/shim.c
index a483ce3..3b00e6c 100644
--- a/shim.c
+++ b/shim.c
@@ -1529,7 +1529,7 @@ EFI_STATUS check_mok_request(EFI_HANDLE image_handle)
check_var(L"MokPW") || check_var(L"MokAuth") ||
check_var(L"MokDel") || check_var(L"MokDB") ||
check_var(L"MokXNew") || check_var(L"MokXDel") ||
- check_var(L"MokXAuth")) {
+ check_var(L"MokXAuth") || check_var(L"ClearVerify")) {
efi_status = start_image(image_handle, MOK_MANAGER);
if (efi_status != EFI_SUCCESS) {
--
1.8.4.5
>From 8d1fc876a8117bdfa2d1e8975725e03660eadc7c Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <glin(a)suse.com>
Date: Fri, 7 Mar 2014 16:17:20 +0800
Subject: [PATCH 3/3] Delete openSUSE_Verify the right way
This is an openSUSE-only patch.
LibDeleteVariable only works on the runtime variables.
---
MokManager.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/MokManager.c b/MokManager.c
index a03eea4..d4f107d 100644
--- a/MokManager.c
+++ b/MokManager.c
@@ -1584,7 +1584,10 @@ static INTN mok_clear_verify_prompt(void *ClearVerify, UINTN ClearVerifySize) {
if (status != EFI_SUCCESS)
return -1;
- status = LibDeleteVariable(L"openSUSE_Verify", &shim_lock_guid);
+ status = uefi_call_wrapper(RT->SetVariable, 5,
+ L"openSUSE_Verify", &shim_lock_guid,
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,
+ 0, NULL);
if (status != EFI_SUCCESS) {
console_error(L"Failed to delete openSUSE_Verify", status);
return -1;
--
1.8.4.5
++++++ show_hash.sh ++++++
--- /var/tmp/diff_new_pack.9HlaKQ/_old 2014-04-20 11:35:08.000000000 +0200
+++ /var/tmp/diff_new_pack.9HlaKQ/_new 2014-04-20 11:35:08.000000000 +0200
@@ -9,13 +9,4 @@
exit 1
fi
-nssdir=`mktemp -d`
-cleanup()
-{
- rm -r "$nssdir"
-}
-trap cleanup EXIT
-echo > "$nssdir/pw"
-certutil -f "$nssdir/pw" -d "$nssdir" -N
-
-pesign -n "$nssdir" -h -P -i "$infile"
+pesign -h -P -i "$infile"
++++++ show_signatures.sh ++++++
--- /var/tmp/diff_new_pack.9HlaKQ/_old 2014-04-20 11:35:08.000000000 +0200
+++ /var/tmp/diff_new_pack.9HlaKQ/_new 2014-04-20 11:35:08.000000000 +0200
@@ -9,13 +9,4 @@
exit 1
fi
-nssdir=`mktemp -d`
-cleanup()
-{
- rm -r "$nssdir"
-}
-trap cleanup EXIT
-echo > "$nssdir/pw"
-certutil -f "$nssdir/pw" -d "$nssdir" -N
-
-pesign -n "$nssdir" -S -i "$infile"
+pesign -S -i "$infile"
++++++ signature-opensuse.asc ++++++
hash: 97a8c5ba11d61fefbb5d6a05da4e15ba472dc4c6cd4972fc1a035de321342fe4
# 2013-10-01 08:29:53
timestamp: 524a8801
checksum: d364
-----BEGIN AUTHENTICODE SIGNATURE-----
MIIh8QYJKoZIhvcNAQcCoIIh4jCCId4CAQExDzANBglghkgBZQMEAgEFADBcBgor
BgEEAYI3AgEEoE4wTDAXBgorBgEEAYI3AgEPMAkDAQCgBKICgAAwMTANBglghkgB
ZQMEAgEFAAQgl6jFuhHWH++7XWoF2k4VukctxMbNSXL8GgNd4yE0L+Sgggs8MIIF
JDCCBAygAwIBAgITMwAAAApmQvP0n7c3lgABAAAACjANBgkqhkiG9w0BAQsFADCB
gTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UEAxMi
TWljcm9zb2Z0IENvcnBvcmF0aW9uIFVFRkkgQ0EgMjAxMTAeFw0xMzA5MjQxNzU0
MDNaFw0xNDEyMjQxNzU0MDNaMIGVMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
cnBvcmF0aW9uMQ0wCwYDVQQLEwRNT1BSMTAwLgYDVQQDEydNaWNyb3NvZnQgV2lu
ZG93cyBVRUZJIERyaXZlciBQdWJsaXNoZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQCc2PZRP3t6i2DCLSAuWrFHZKfyD98yckc9yxqqqJACgekdZi4s
ZEN1vYcVfiUhW4hFpdH3kcPah7wf+uqgyQa1hb/9AzDH63JYfaHLWA+Jx0leY0cG
CsIFviaUHrCEgxhkeXdrGfHroDcWArv2yBBvj+zvePVE9/VpDoBK+2nAFxz0oG23
BzE5duVpHIZn96fNyoDKYvCf649VqjM+O5/b5jlDylkMWAIVTvWqE0r/7YnC1Vcc
cgJDQk8IaIWSepRsjrvvf8C8uG3ZSxVjQeuPz7ETAryJIWvYdz240MzVAJD7SazH
SbVJm1LPHfS2FEpx3uUNOuo3IJrrxqeals8FAgMBAAGjggF9MIIBeTAfBgNVHSUE
GDAWBggrBgEFBQcDAwYKKwYBBAGCN1ACATAdBgNVHQ4EFgQU6t49RpSALGo0XSnP
ixuEhp5y0NEwUQYDVR0RBEowSKRGMEQxDTALBgNVBAsTBE1PUFIxMzAxBgNVBAUT
KjMxNjE5KzAxMjU1ZjQ2LTc0ZjUtNGZjNC1iYzcxLWU0ZGE5NzM2YmVlZTAfBgNV
HSMEGDAWgBQTrb9DCb2CcJyM1U8xbtUimIob1DBTBgNVHR8ETDBKMEigRqBEhkJo
dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb3JVRUZDQTIw
MTFfMjAxMS0wNi0yNy5jcmwwYAYIKwYBBQUHAQEEVDBSMFAGCCsGAQUFBzAChkRo
dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvclVFRkNB
MjAxMV8yMDExLTA2LTI3LmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUA
A4IBAQAqJ9a9LzTGipmJ7IVkSf5JNK1cBhXsWBlmQ5kFNzeoa+RskUuUeM45NTS3
We7F628BW3BrhT8dK+Uf6YB7F46qng+VWNal2RPFjHSSy60QartzlUJoAaQvNjhC
5gv3LQRmaIZdtdjOLJAclnMETQWrt0wXGsGYwPk3a7kYXsdSO7U+bSwRRkL/v74g
78bCVxwgBhWctw/yxCjpl/bOg79XrZpHxH3szpgwz4YaFWRxxiYAoCYLROKeqObj
PEB8BG83vkpG3K84wBiyT5ab63FtjnbOvD0dGRNO1vIWzC41eEi0mYGW69cya8o+
Ot4bqI6YYSpWmkah9FhW9OLfoCpdMIIGEDCCA/igAwIBAgIKYQjTxAAAAAAABDAN
BgkqhkiG9w0BAQsFADCBkTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbjE7MDkGA1UEAxMyTWljcm9zb2Z0IENvcnBvcmF0aW9uIFRoaXJkIFBhcnR5
IE1hcmtldHBsYWNlIFJvb3QwHhcNMTEwNjI3MjEyMjQ1WhcNMjYwNjI3MjEzMjQ1
WjCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT
B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UE
AxMiTWljcm9zb2Z0IENvcnBvcmF0aW9uIFVFRkkgQ0EgMjAxMTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKUIbEzHRQlqSwykwId/BnUMQwFUZOAWfwft
kn0LsnO/DArGSkVhoMUWLZbT9Sug+01Jm0GAkDy5VP3mvNGdxKQYin9BilxZg2gy
u4xHye5xvCFPmop8/0Q/jY8ysiZIrnW17slMHkoZfuSCmh14d00MsL32D9MW07z6
K6VROF31+7rbeALb/+wKG5bVg7gZE+m2wHtAe+EfKCfJ+u9WXhzmfpR+wPBEsnk5
5dqyYotNvzhw4mgkFMkzpAg31VhpXtN87cEEUwjnTrAqh2MIYW9jFVnqsit51wxh
Z4pb/V6th3+6hmdPcVgSIgQiIs6L71RxAM5QNVh2lQjuarGiAdUCAwEAAaOCAXYw
ggFyMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFPjBa7d/d1NK
8yU3HU6hJnsPIHCAMB0GA1UdDgQWBBQTrb9DCb2CcJyM1U8xbtUimIob1DAZBgkr
BgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
AwEB/zAfBgNVHSMEGDAWgBRFZlJD4X5YEb/WTp4jVQg7OiJqqDBcBgNVHR8EVTBT
MFGgT6BNhktodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0
cy9NaWNDb3JUaGlQYXJNYXJSb29fMjAxMC0xMC0wNS5jcmwwYAYIKwYBBQUHAQEE
VDBSMFAGCCsGAQUFBzAChkRodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl
cnRzL01pY0NvclRoaVBhck1hclJvb18yMDEwLTEwLTA1LmNydDANBgkqhkiG9w0B
AQsFAAOCAgEANQhC/zDMzvd2DK0QaFg1KUYydid87xJBJ0IbSqptgThIWRNV8+lY
NKYWC4KqXa2C2oCDQQaPtB3yA7nzGl0b8VCQ+bNVhEIoHCC9sq5RFMXArJeVIRyQ
2w/8d56Vc5GIyr29UrkFUA3fV56gYe0N5W0l2UAPF0DIzqNKwk2vmhIdCFSPvce8
uSs9SSsfMvxqIWlPm8h+QjT8NgYXi48gQMCzmiV1J83JA6P2XdHnNlR6uVC10xLR
B7+7dN/cHo+A1e0Y9C8UFmsv3maMsCPlx4TY7erBM4KtVksYLfFolQfNz/By8K67
3YaFmCwhTDMr8A9K8GiHtZJVMnWhaoJqPKMlEaTtrdcErsvYQFmghNGVTGKRIhp0
HYw9Rw5EpuSwmzQ1sfq2U6gsgeykBXHInbi66BtEZuRHVA6OVn+znxaYsobQaD6Q
I7UvXo9QhY3GjYJfQaH0Lg3gmdJsdeS2abUhhvoH0fbiTdHarSx3Ux4lMjfHbFJy
lYaw8TVhahn1sjuBUFamMi3+oon5QoYnGFWhgspam/gwmFQUpkeWJS/IJuRBlBpc
Aj/lluOFWzw+P7tHFnJV4iUisdl75wMGKqP3HpBGwwAN1hmJ4w41J2IDcRWm79An
oKBZN2D4OJS44Hhw+LpMhoeU9uCuAkXuZcK2o35pFnUHkpv1prxZg1gxghYoMIIW
JAIBATCBmTCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEr
MCkGA1UEAxMiTWljcm9zb2Z0IENvcnBvcmF0aW9uIFVFRkkgQ0EgMjAxMQITMwAA
AApmQvP0n7c3lgABAAAACjANBglghkgBZQMEAgEFAKCCAREwGQYJKoZIhvcNAQkD
MQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJ
KoZIhvcNAQkEMSIEIOBR1lXJ0yMtGJm8ETD6MEFIJCyjBPLlLe2aF6PcGN1xMIGk
BgorBgEEAYI3AgEMMYGVMIGSoF6AXABoAHQAdABwADoALwAvAHcAdwB3AC4AbQBp
AGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAHcAaABkAGMALwBoAGMAbAAvAGQAZQBm
AGEAdQBsAHQALgBtAHMAcAB4oTCALmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS93
aGRjL2hjbC9kZWZhdWx0Lm1zcHgwDQYJKoZIhvcNAQEBBQAEggEAVajbL42oQSy1
NUS6HAoCq0L01hhN9fHn8acFrSpXK+GjijNspEcxVWSmJCWUWj4oVgBU7hgB2cFr
YBm7M6VLl0h45tCI0jyHURNs4bYeKhBlywIAKQ1B3sxBi84vrNmVv7tZqtV8eAte
tmX/8X6mOObVtD1YfYRVc2/EAEqv/Dee3BKb2/3MJ8TlUDuPZ1yAjAq4MViGs0J3
m4T63cugiWPuoaZEGJ6eaPiVXPcEKiDDOboCMm6MY1CLADE0moMrQ86dtbmycXIu
N44ImKRkPSSCnRbmNDl/OkITHAicitORyvpet6uciDQtXQEq8xuRHJ7tOrwTmuLs
r+BEVn7BR6GCE0owghNGBgorBgEEAYI3AwMBMYITNjCCEzIGCSqGSIb3DQEHAqCC
EyMwghMfAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggE9BgsqhkiG9w0BCRABBKCCASwE
ggEoMIIBJAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCBfmL3wsdu9
3kovdSnRVAah9huZNZbgGFJ05HSVLqfy9gIGUmk4IyjpGBMyMDEzMTAzMDE5MTY0
My42ODZaMAcCAQGAAgH0oIG5pIG2MIGzMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
IENvcnBvcmF0aW9uMQ0wCwYDVQQLEwRNT1BSMScwJQYDVQQLEx5uQ2lwaGVyIERT
RSBFU046QzBGNC0zMDg2LURFRjgxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0
YW1wIFNlcnZpY2Wggg7NMIIGcTCCBFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG
9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEy
MDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
MTAwHhcNMTAwNzAxMjEzNjU1WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJV
UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt
ZS1TdGFtcCBQQ0EgMjAxMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AKkdDbx3EYo6IOz8E5f1+n9plGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vw
FVMnBDEfQRsalR3OCROOfGEwWbEwRA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNF
DdDq9UeBzb8kYDJYYEbyWEeGMoQedGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC7
32H8RsEnHSRnEnIaIYqvS2SJUGKxXf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOW
RH7v0Ev9buWayrGo8noqCjHw2k4GkbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJ
k3jN/LzAyURdXhacAQVPIk0CAwEAAaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEA
MB0GA1UdDgQWBBTVYzpcijGQ80N7fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4K
AFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME
GDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRw
Oi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJB
dXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5o
dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8y
MDEwLTA2LTIzLmNydDCBoAYDVR0gAQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEw
PQYIKwYBBQUHAgEWMWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9D
UFMvZGVmYXVsdC5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABv
AGwAaQBjAHkAXwBTAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQAD
ggIBAAfmiFEN4sbgmD+BcQM9naOhIW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/1
5/B4vceoniXj+bzta1RXCCtRgkQS+7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRW
S3TvQhDIr79/xn/yN31aPxzymXlKkVIArzgPF/UveYFl2am1a+THzvbKegBvSzBE
JCI8z+0DpZaPWSm8tv0E4XCfMkon/VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/
3cVKC5Em4jnsGUpxY517IW3DnKOiPPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9
nhquBEKDuLWAmyI4ILUl5WTs9/S/fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5H
moDF0M2n0O99g/DhO3EJ3110mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv3
3nJ+YWtvd6mBy6cJrDm77MbL2IK0cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI
5pgt6o3gMy4SKfXAL1QnIffIrE7aKLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0
MkvfY3v1mYovG8chr1m1rtxEPJdQcdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0e
GTgvvM9YBS7vDaBQNdrvCScc1bN+NR4Iuto229Nfj950iEkSMIIE2jCCA8KgAwIB
AgITMwAAACiQZ7kEsDxuZgAAAAAAKDANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQG
EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
VGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0xMzAzMjcyMDEzMTNaFw0xNDA2MjcyMDEz
MTNaMIGzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQ0wCwYD
VQQLEwRNT1BSMScwJQYDVQQLEx5uQ2lwaGVyIERTRSBFU046QzBGNC0zMDg2LURF
RjgxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDdpUi/akidSiGckmve4C3c5GP4zLmJ
xMcbvee10/vtrs8x/vNmsEQD2plnCFq/dQYiEYnQZ1LM+s+SN0Xo+vG9M9PMc+O4
IaSgFX3LL8QDBdo/lnPTWeWYTQtWhi+dR9HWX52R6ceE2ZVrMky0awBS4EHTPGl0
qM7MfWidUlXmcH8UB6KeZ7CGRPMzP3Ndxij4F19SAS1EL9bteAi45TsvwLnDS8O3
Oy/TprWcsUhK3TIJVqEbS1rTqiYnDBJDYMVq19pADWCYiUG7k3Pdv/7EjFvO+lUn
yk1Nmm99EWyxRyOwTHxsfwahdIIfUngY6QYaFlCawzrdgYH3mydyIX91AgMBAAGj
ggEbMIIBFzAdBgNVHQ4EFgQU3JgInXnRBLKLR8Nx0Izns+awU50wHwYDVR0jBBgw
FoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDov
L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljVGltU3RhUENB
XzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0
cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNUaW1TdGFQQ0FfMjAx
MC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDCDAN
BgkqhkiG9w0BAQsFAAOCAQEAgiLztz1kfhJL/Cb84OS30MQUTgn+q1aa0VqYpr6M
QR6UtDK+hLS3RXbj72AYJIeoz+m00VQpvMrkyxJ7wPHUDp8xMxsRP3o73d0CqhjK
yjz6luNsu6+7yYQ+x9gMhctyCwEbpPUxERAMRaVaSJl+2r5Fhte6TeSB/9NYCnZl
Blkv9sJCzwTJqxv6YZ3185hJcLFJ0GTEIejuYBdTfusC2miVi/UKPAHbo7WYFFF0
nlPp2nKYZqBfKc+Prx+CnNPr5vFMG1T46DLcwRXDrCpudAUWg+NEmJ/L7+gweX+v
UqU6H99lx43+J9hHGZIItIs0jmknNxoC9pGzlSL/CEgq/qGCA3YwggJeAgEBMIHj
oYG5pIG2MIGzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQ0w
CwYDVQQLEwRNT1BSMScwJQYDVQQLEx5uQ2lwaGVyIERTRSBFU046QzBGNC0zMDg2
LURFRjgxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiJQoB
ATAJBgUrDgMCGgUAAxUA8120HsdfO2ZOZQ7emART9hWnH0SggcIwgb+kgbwwgbkx
CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1P
UFIxJzAlBgNVBAsTHm5DaXBoZXIgTlRTIEVTTjpCMDI3LUM2RjgtMUQ4ODErMCkG
A1UEAxMiTWljcm9zb2Z0IFRpbWUgU291cmNlIE1hc3RlciBDbG9jazANBgkqhkiG
9w0BAQUFAAIFANYbbXkwIhgPMjAxMzEwMzAxMTM1MjFaGA8yMDEzMTAzMTExMzUy
MVowdDA6BgorBgEEAYRZCgQBMSwwKjAKAgUA1htteQIBADAHAgEAAgIQxzAHAgEA
AgIYcDAKAgUA1hy++QIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMB
oAowCAIBAAIDFuNgoQowCAIBAAIDB6EgMA0GCSqGSIb3DQEBBQUAA4IBAQAxxOL5
p8WZx+WQXwsf9YpPA4dWCU2xk7l1MY2R653keklyM7ks9Md5/7JbBzMPQXMPJ0Ts
SllTUWF+wCUwW84ZAJCG4IUS5MrfbC5yXPkCjYEW6pll2A77OgwC+UG7X5VN67nm
XfRbw+3lyAAcCjpreeEOiMRTNP1UW3Th2x5Lmbgc4AW/6p+6VEj/7QJEuj7oMXVe
KQNp/I+lJn1rBGU42wqteobjNmUI55+i5PN+Wa5uGh7IhkqpDRPIkBM9wqVDQoHb
d727DRVQMwzTAGYdSaOPJjLYti078h71WDJYyM1waA435nrkukJ6ObWdMTNjJqsy
/Tz7rYZPgMPKLjtfMYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMCVVMxEzARBgNV
BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jv
c29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg
UENBIDIwMTACEzMAAAAokGe5BLA8bmYAAAAAACgwDQYJYIZIAWUDBAIBBQCgggEy
MBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgqtHU
/PG7RLWN/Y5UsjD6+lFX/RpWbpbjNV/x7SF3lQwwgeIGCyqGSIb3DQEJEAIMMYHS
MIHPMIHMMIGxBBTzXbQex187Zk5lDt6YBFP2FacfRDCBmDCBgKR+MHwxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w
HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jvc29m
dCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAAKJBnuQSwPG5mAAAAAAAoMBYEFLWf
+tQPMIlyzZih4uVtvwa31BWHMA0GCSqGSIb3DQEBCwUABIIBAEJSSeyhVFmVBArn
o02R+f9PxUVjdMsHRqTWdnfA6F4uFU2GGGB2NoGTPHVeHrTTejo2bzXf5Di0jO5r
nIM1KVSUIDmM6xgvcIgxMuo2oM8MxHnYSh9QdWTCnJsqcR+PzIhsdrxaQOLRXNiS
uEyj0MgaJuYATAmhM2oM4BFNmbFavr0Sar3fj54zoZ9/p7ZhROSVm40OKt8tzSDu
7KrU8rr6VikJV2svuvLsmBKP7H6A+ZBWgrSlraQhdOxgjdPci6rhoZ9GG3WzNIcg
c+4KZEXs0hxinuZA2+Z9QhyXcTeLXm1UbKtN+P6hEv6ABEaghtj238dcrBtwijpX
BkfJeJoAAAA=
-----END AUTHENTICODE SIGNATURE-----
++++++ signature-sles.asc ++++++
hash: f31fd461c5e99510403fc97c1da2d8a9cbe270597d32badf8fd66b77495f8d94
# 2069-04-10 06:07:54
timestamp: babababa
checksum: 61c9
-----BEGIN AUTHENTICODE SIGNATURE-----
MIIh9AYJKoZIhvcNAQcCoIIh5TCCIeECAQExDzANBglghkgBZQMEAgEFADBcBgor
BgEEAYI3AgEEoE4wTDAXBgorBgEEAYI3AgEPMAkDAQCgBKICgAAwMTANBglghkgB
ZQMEAgEFAAQg8x/UYcXplRBAP8l8HaLYqcvicFl9Mrrfj9Zrd0lfjZSgggs8MIIF
JDCCBAygAwIBAgITMwAAAApmQvP0n7c3lgABAAAACjANBgkqhkiG9w0BAQsFADCB
gTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UEAxMi
TWljcm9zb2Z0IENvcnBvcmF0aW9uIFVFRkkgQ0EgMjAxMTAeFw0xMzA5MjQxNzU0
MDNaFw0xNDEyMjQxNzU0MDNaMIGVMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz
aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENv
cnBvcmF0aW9uMQ0wCwYDVQQLEwRNT1BSMTAwLgYDVQQDEydNaWNyb3NvZnQgV2lu
ZG93cyBVRUZJIERyaXZlciBQdWJsaXNoZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQCc2PZRP3t6i2DCLSAuWrFHZKfyD98yckc9yxqqqJACgekdZi4s
ZEN1vYcVfiUhW4hFpdH3kcPah7wf+uqgyQa1hb/9AzDH63JYfaHLWA+Jx0leY0cG
CsIFviaUHrCEgxhkeXdrGfHroDcWArv2yBBvj+zvePVE9/VpDoBK+2nAFxz0oG23
BzE5duVpHIZn96fNyoDKYvCf649VqjM+O5/b5jlDylkMWAIVTvWqE0r/7YnC1Vcc
cgJDQk8IaIWSepRsjrvvf8C8uG3ZSxVjQeuPz7ETAryJIWvYdz240MzVAJD7SazH
SbVJm1LPHfS2FEpx3uUNOuo3IJrrxqeals8FAgMBAAGjggF9MIIBeTAfBgNVHSUE
GDAWBggrBgEFBQcDAwYKKwYBBAGCN1ACATAdBgNVHQ4EFgQU6t49RpSALGo0XSnP
ixuEhp5y0NEwUQYDVR0RBEowSKRGMEQxDTALBgNVBAsTBE1PUFIxMzAxBgNVBAUT
KjMxNjE5KzAxMjU1ZjQ2LTc0ZjUtNGZjNC1iYzcxLWU0ZGE5NzM2YmVlZTAfBgNV
HSMEGDAWgBQTrb9DCb2CcJyM1U8xbtUimIob1DBTBgNVHR8ETDBKMEigRqBEhkJo
dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNDb3JVRUZDQTIw
MTFfMjAxMS0wNi0yNy5jcmwwYAYIKwYBBQUHAQEEVDBSMFAGCCsGAQUFBzAChkRo
dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NlcnRzL01pY0NvclVFRkNB
MjAxMV8yMDExLTA2LTI3LmNydDAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUA
A4IBAQAqJ9a9LzTGipmJ7IVkSf5JNK1cBhXsWBlmQ5kFNzeoa+RskUuUeM45NTS3
We7F628BW3BrhT8dK+Uf6YB7F46qng+VWNal2RPFjHSSy60QartzlUJoAaQvNjhC
5gv3LQRmaIZdtdjOLJAclnMETQWrt0wXGsGYwPk3a7kYXsdSO7U+bSwRRkL/v74g
78bCVxwgBhWctw/yxCjpl/bOg79XrZpHxH3szpgwz4YaFWRxxiYAoCYLROKeqObj
PEB8BG83vkpG3K84wBiyT5ab63FtjnbOvD0dGRNO1vIWzC41eEi0mYGW69cya8o+
Ot4bqI6YYSpWmkah9FhW9OLfoCpdMIIGEDCCA/igAwIBAgIKYQjTxAAAAAAABDAN
BgkqhkiG9w0BAQsFADCBkTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
dGlvbjE7MDkGA1UEAxMyTWljcm9zb2Z0IENvcnBvcmF0aW9uIFRoaXJkIFBhcnR5
IE1hcmtldHBsYWNlIFJvb3QwHhcNMTEwNjI3MjEyMjQ1WhcNMjYwNjI3MjEzMjQ1
WjCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT
B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjErMCkGA1UE
AxMiTWljcm9zb2Z0IENvcnBvcmF0aW9uIFVFRkkgQ0EgMjAxMTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKUIbEzHRQlqSwykwId/BnUMQwFUZOAWfwft
kn0LsnO/DArGSkVhoMUWLZbT9Sug+01Jm0GAkDy5VP3mvNGdxKQYin9BilxZg2gy
u4xHye5xvCFPmop8/0Q/jY8ysiZIrnW17slMHkoZfuSCmh14d00MsL32D9MW07z6
K6VROF31+7rbeALb/+wKG5bVg7gZE+m2wHtAe+EfKCfJ+u9WXhzmfpR+wPBEsnk5
5dqyYotNvzhw4mgkFMkzpAg31VhpXtN87cEEUwjnTrAqh2MIYW9jFVnqsit51wxh
Z4pb/V6th3+6hmdPcVgSIgQiIs6L71RxAM5QNVh2lQjuarGiAdUCAwEAAaOCAXYw
ggFyMBIGCSsGAQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFPjBa7d/d1NK
8yU3HU6hJnsPIHCAMB0GA1UdDgQWBBQTrb9DCb2CcJyM1U8xbtUimIob1DAZBgkr
BgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
AwEB/zAfBgNVHSMEGDAWgBRFZlJD4X5YEb/WTp4jVQg7OiJqqDBcBgNVHR8EVTBT
MFGgT6BNhktodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0
cy9NaWNDb3JUaGlQYXJNYXJSb29fMjAxMC0xMC0wNS5jcmwwYAYIKwYBBQUHAQEE
VDBSMFAGCCsGAQUFBzAChkRodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2Nl
cnRzL01pY0NvclRoaVBhck1hclJvb18yMDEwLTEwLTA1LmNydDANBgkqhkiG9w0B
AQsFAAOCAgEANQhC/zDMzvd2DK0QaFg1KUYydid87xJBJ0IbSqptgThIWRNV8+lY
NKYWC4KqXa2C2oCDQQaPtB3yA7nzGl0b8VCQ+bNVhEIoHCC9sq5RFMXArJeVIRyQ
2w/8d56Vc5GIyr29UrkFUA3fV56gYe0N5W0l2UAPF0DIzqNKwk2vmhIdCFSPvce8
uSs9SSsfMvxqIWlPm8h+QjT8NgYXi48gQMCzmiV1J83JA6P2XdHnNlR6uVC10xLR
B7+7dN/cHo+A1e0Y9C8UFmsv3maMsCPlx4TY7erBM4KtVksYLfFolQfNz/By8K67
3YaFmCwhTDMr8A9K8GiHtZJVMnWhaoJqPKMlEaTtrdcErsvYQFmghNGVTGKRIhp0
HYw9Rw5EpuSwmzQ1sfq2U6gsgeykBXHInbi66BtEZuRHVA6OVn+znxaYsobQaD6Q
I7UvXo9QhY3GjYJfQaH0Lg3gmdJsdeS2abUhhvoH0fbiTdHarSx3Ux4lMjfHbFJy
lYaw8TVhahn1sjuBUFamMi3+oon5QoYnGFWhgspam/gwmFQUpkeWJS/IJuRBlBpc
Aj/lluOFWzw+P7tHFnJV4iUisdl75wMGKqP3HpBGwwAN1hmJ4w41J2IDcRWm79An
oKBZN2D4OJS44Hhw+LpMhoeU9uCuAkXuZcK2o35pFnUHkpv1prxZg1gxghYrMIIW
JwIBATCBmTCBgTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEr
MCkGA1UEAxMiTWljcm9zb2Z0IENvcnBvcmF0aW9uIFVFRkkgQ0EgMjAxMQITMwAA
AApmQvP0n7c3lgABAAAACjANBglghkgBZQMEAgEFAKCCAREwGQYJKoZIhvcNAQkD
MQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwLwYJ
KoZIhvcNAQkEMSIEIJrzMZcr8o7z/mk2WCbI8fEz7nZbYeVPQtJjL0exXBCxMIGk
BgorBgEEAYI3AgEMMYGVMIGSoF6AXABoAHQAdABwADoALwAvAHcAdwB3AC4AbQBp
AGMAcgBvAHMAbwBmAHQALgBjAG8AbQAvAHcAaABkAGMALwBoAGMAbAAvAGQAZQBm
AGEAdQBsAHQALgBtAHMAcAB4oTCALmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS93
aGRjL2hjbC9kZWZhdWx0Lm1zcHgwDQYJKoZIhvcNAQEBBQAEggEAjHDQORfm8d8T
eyJMiPDMRPFiO/aBL7UtF4rtDUeYi+c9UU6KDVXHi19Z9DNt3pkRRm4DxFVdDPXU
P1TFD8HWbQPQ7YGGRjDOv1BwxZ+5F6xmNgoxUh0khKisi3l0LPq6Zauee7ebgly3
6A6GQSKlaXH7MXxMsgbvGFdXAQs/KVMb3xzuttby/jcQ9lxoMr4SVcM6Vu6fFZ24
DWhHFtONzHFSvJ3Sf10d8teTvikrIaXg7pzNU+T7+sMXsiyhVhWiFFFtetaaxtT4
vcKDuGHNP797WM1YYxZz+2sMbWyi81h+We6ReHn0V+UUW4b7i4yh0p2Vy3xPrzb6
TgGQIyi536GCE00wghNJBgorBgEEAYI3AwMBMYITOTCCEzUGCSqGSIb3DQEHAqCC
EyYwghMiAgEDMQ8wDQYJYIZIAWUDBAIBBQAwggE9BgsqhkiG9w0BCRABBKCCASwE
ggEoMIIBJAIBAQYKKwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCAqAR+tIZOx
IQiET4LQ+OsCmH0VlrTUkAPePwl/JtC8pAIGUt6TDOrUGBMyMDE0MDIyNzAxMDcz
My43NzNaMAcCAQGAAgH0oIG5pIG2MIGzMQswCQYDVQQGEwJVUzETMBEGA1UECBMK
V2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
IENvcnBvcmF0aW9uMQ0wCwYDVQQLEwRNT1BSMScwJQYDVQQLEx5uQ2lwaGVyIERT
RSBFU046QzBGNC0zMDg2LURFRjgxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0
YW1wIFNlcnZpY2Wggg7QMIIGcTCCBFmgAwIBAgIKYQmBKgAAAAAAAjANBgkqhkiG
9w0BAQsFADCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEy
MDAGA1UEAxMpTWljcm9zb2Z0IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw
MTAwHhcNMTAwNzAxMjEzNjU1WhcNMjUwNzAxMjE0NjU1WjB8MQswCQYDVQQGEwJV
UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE
ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGlt
ZS1TdGFtcCBQQ0EgMjAxMDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AKkdDbx3EYo6IOz8E5f1+n9plGt0VBDVpQoAgoX77XxoSyxfxcPlYcJ2tz5mK1vw
FVMnBDEfQRsalR3OCROOfGEwWbEwRA/xYIiEVEMM1024OAizQt2TrNZzMFcmgqNF
DdDq9UeBzb8kYDJYYEbyWEeGMoQedGFnkV+BVLHPk0ySwcSmXdFhE24oxhr5hoC7
32H8RsEnHSRnEnIaIYqvS2SJUGKxXf13Hz3wV3WsvYpCTUBR0Q+cBj5nf/VmwAOW
RH7v0Ev9buWayrGo8noqCjHw2k4GkbaICDXoeByw6ZnNPOcvRLqn9NxkvaQBwSAJ
k3jN/LzAyURdXhacAQVPIk0CAwEAAaOCAeYwggHiMBAGCSsGAQQBgjcVAQQDAgEA
MB0GA1UdDgQWBBTVYzpcijGQ80N7fEYbxTNoWoVtVTAZBgkrBgEEAYI3FAIEDB4K
AFMAdQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME
GDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRw
Oi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJB
dXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsGAQUFBzAChj5o
dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8y
MDEwLTA2LTIzLmNydDCBoAYDVR0gAQH/BIGVMIGSMIGPBgkrBgEEAYI3LgMwgYEw
PQYIKwYBBQUHAgEWMWh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9QS0kvZG9jcy9D
UFMvZGVmYXVsdC5odG0wQAYIKwYBBQUHAgIwNB4yIB0ATABlAGcAYQBsAF8AUABv
AGwAaQBjAHkAXwBTAHQAYQB0AGUAbQBlAG4AdAAuIB0wDQYJKoZIhvcNAQELBQAD
ggIBAAfmiFEN4sbgmD+BcQM9naOhIW+z66bM9TG+zwXiqf76V20ZMLPCxWbJat/1
5/B4vceoniXj+bzta1RXCCtRgkQS+7lTjMz0YBKKdsxAQEGb3FwX/1z5Xhc1mCRW
S3TvQhDIr79/xn/yN31aPxzymXlKkVIArzgPF/UveYFl2am1a+THzvbKegBvSzBE
JCI8z+0DpZaPWSm8tv0E4XCfMkon/VWvL/625Y4zu2JfmttXQOnxzplmkIz/amJ/
3cVKC5Em4jnsGUpxY517IW3DnKOiPPp/fZZqkHimbdLhnPkd/DjYlPTGpQqWhqS9
nhquBEKDuLWAmyI4ILUl5WTs9/S/fmNZJQ96LjlXdqJxqgaKD4kWumGnEcua2A5H
moDF0M2n0O99g/DhO3EJ3110mCIIYdqwUB5vvfHhAN/nMQekkzr3ZUd46PioSKv3
3nJ+YWtvd6mBy6cJrDm77MbL2IK0cs0d9LiFAR6A+xuJKlQ5slvayA1VmXqHczsI
5pgt6o3gMy4SKfXAL1QnIffIrE7aKLixqduWsqdCosnPGUFN4Ib5KpqjEWYw07t0
MkvfY3v1mYovG8chr1m1rtxEPJdQcdeh0sVV42neV8HR3jDA/czmTfsNv11P6Z0e
GTgvvM9YBS7vDaBQNdrvCScc1bN+NR4Iuto229Nfj950iEkSMIIE2jCCA8KgAwIB
AgITMwAAACiQZ7kEsDxuZgAAAAAAKDANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQG
EwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwG
A1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQg
VGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0xMzAzMjcyMDEzMTNaFw0xNDA2MjcyMDEz
MTNaMIGzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UE
BxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQ0wCwYD
VQQLEwRNT1BSMScwJQYDVQQLEx5uQ2lwaGVyIERTRSBFU046QzBGNC0zMDg2LURF
RjgxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2UwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDdpUi/akidSiGckmve4C3c5GP4zLmJ
xMcbvee10/vtrs8x/vNmsEQD2plnCFq/dQYiEYnQZ1LM+s+SN0Xo+vG9M9PMc+O4
IaSgFX3LL8QDBdo/lnPTWeWYTQtWhi+dR9HWX52R6ceE2ZVrMky0awBS4EHTPGl0
qM7MfWidUlXmcH8UB6KeZ7CGRPMzP3Ndxij4F19SAS1EL9bteAi45TsvwLnDS8O3
Oy/TprWcsUhK3TIJVqEbS1rTqiYnDBJDYMVq19pADWCYiUG7k3Pdv/7EjFvO+lUn
yk1Nmm99EWyxRyOwTHxsfwahdIIfUngY6QYaFlCawzrdgYH3mydyIX91AgMBAAGj
ggEbMIIBFzAdBgNVHQ4EFgQU3JgInXnRBLKLR8Nx0Izns+awU50wHwYDVR0jBBgw
FoAU1WM6XIoxkPNDe3xGG8UzaFqFbVUwVgYDVR0fBE8wTTBLoEmgR4ZFaHR0cDov
L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVjdHMvTWljVGltU3RhUENB
XzIwMTAtMDctMDEuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggrBgEFBQcwAoY+aHR0
cDovL3d3dy5taWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNUaW1TdGFQQ0FfMjAx
MC0wNy0wMS5jcnQwDAYDVR0TAQH/BAIwADATBgNVHSUEDDAKBggrBgEFBQcDCDAN
BgkqhkiG9w0BAQsFAAOCAQEAgiLztz1kfhJL/Cb84OS30MQUTgn+q1aa0VqYpr6M
QR6UtDK+hLS3RXbj72AYJIeoz+m00VQpvMrkyxJ7wPHUDp8xMxsRP3o73d0CqhjK
yjz6luNsu6+7yYQ+x9gMhctyCwEbpPUxERAMRaVaSJl+2r5Fhte6TeSB/9NYCnZl
Blkv9sJCzwTJqxv6YZ3185hJcLFJ0GTEIejuYBdTfusC2miVi/UKPAHbo7WYFFF0
nlPp2nKYZqBfKc+Prx+CnNPr5vFMG1T46DLcwRXDrCpudAUWg+NEmJ/L7+gweX+v
UqU6H99lx43+J9hHGZIItIs0jmknNxoC9pGzlSL/CEgq/qGCA3kwggJhAgEBMIHj
oYG5pIG2MIGzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMQ0w
CwYDVQQLEwRNT1BSMScwJQYDVQQLEx5uQ2lwaGVyIERTRSBFU046QzBGNC0zMDg2
LURFRjgxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2WiJQoB
ATAJBgUrDgMCGgUAAxUA8120HsdfO2ZOZQ7emART9hWnH0SggcIwgb+kgbwwgbkx
CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRt
b25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xDTALBgNVBAsTBE1P
UFIxJzAlBgNVBAsTHm5DaXBoZXIgTlRTIEVTTjpCMDI3LUM2RjgtMUQ4ODErMCkG
A1UEAxMiTWljcm9zb2Z0IFRpbWUgU291cmNlIE1hc3RlciBDbG9jazANBgkqhkiG
9w0BAQUFAAIFANa4+LowIhgPMjAxNDAyMjYyMzM1MjJaGA8yMDE0MDIyNzIzMzUy
MlowdzA9BgorBgEEAYRZCgQBMS8wLTAKAgUA1rj4ugIBADAKAgEAAgIM/AIB/zAH
AgEAAgIV3zAKAgUA1rpKOgIBADA2BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZ
CgMBoAowCAIBAAIDFuNgoQowCAIBAAIDB6EgMA0GCSqGSIb3DQEBBQUAA4IBAQBm
lwBgKM7WFYZn7KoOxHuc0HCwn9KJ7P2+V1ixjuYcd9TJPbpom+P6TqrtdVyqC1qN
P1ika8uTrueq+WIyDkpbBeRjgRPxywB8p6swJXn3a8FQJlYM8wZlX6k4DXOQ5a1I
8Df1MoZedlnFIJFCuailsPek9CZSuawhHvQu6tutrNrCtOJpHGwP/g7QhqDby6MU
9W08fcBbMQ+Q+NN9R+O5914iiyXTxNYply2O6zmRRXVV8Os49n6MAdLMQwlW/Hjf
Qx9xsPgmOpnwA3IVmPCEtJnHbNPnmX23cB3zQ5HQ8Rgzh4a2iGFTUKVLQzP2XbJI
GAt0fd2U/pFkRHTpexsrMYIC9TCCAvECAQEwgZMwfDELMAkGA1UEBhMCVVMxEzAR
BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
Y3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3Rh
bXAgUENBIDIwMTACEzMAAAAokGe5BLA8bmYAAAAAACgwDQYJYIZIAWUDBAIBBQCg
ggEyMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQg
igCH0fhbYKLF4fSmxZObvVlmifs8MaWR0dGzScGuExwwgeIGCyqGSIb3DQEJEAIM
MYHSMIHPMIHMMIGxBBTzXbQex187Zk5lDt6YBFP2FacfRDCBmDCBgKR+MHwxCzAJ
BgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k
MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jv
c29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAAKJBnuQSwPG5mAAAAAAAoMBYE
FP/tXYkB9TLyFTNFAIYorcmDMtYiMA0GCSqGSIb3DQEBCwUABIIBABg8AdKpFO37
Mdc4SKY28D2Sff2uoRuCoLxMZPhC7rR14gC1sXKSBHIoNyMBR32mYJnJsTAgJRwT
YTEmsHYl6l37/tkLAsRS21lt+YuynR9/fdGlwvqxc41HkUHdcTRjvsetVZ7v2HSz
vpCBje4TsAaxblVCsyXiH94CyMR3Aq6brcoG+QJKh14NFLLLIxN2melZYivfcAJR
ES78bXBRGa6hPqsvOIZ6USSC1rAwHodonNcp4Xb1QMPoXKcMPyUAYdzz0q673Mec
hsP7HKqhezXDmpGe6Hg4RrO/In7qyRok6LZ4DH5hsp6dp0Omcgqm3kmcqTTNmtF6
0JelOr7e+os=
-----END AUTHENTICODE SIGNATURE-----
++++++ strip_signature.sh ++++++
--- /var/tmp/diff_new_pack.9HlaKQ/_old 2014-04-20 11:35:08.000000000 +0200
+++ /var/tmp/diff_new_pack.9HlaKQ/_new 2014-04-20 11:35:08.000000000 +0200
@@ -10,13 +10,4 @@
outfile="${infile%.efi}-unsigned.efi"
-nssdir=`mktemp -d`
-cleanup()
-{
- rm -r "$nssdir"
-}
-trap cleanup EXIT
-echo > "$nssdir/pw"
-certutil -f "$nssdir/pw" -d "$nssdir" -N
-
-pesign -n "$nssdir" -r -i "$infile" -o "$outfile"
+pesign -r -i "$infile" -o "$outfile"
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Sys-Virt for openSUSE:Factory checked in at 2014-04-20 11:35:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Sys-Virt (Old)
and /work/SRC/openSUSE:Factory/.perl-Sys-Virt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Sys-Virt"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Sys-Virt/perl-Sys-Virt.changes 2014-03-04 13:58:48.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Sys-Virt.new/perl-Sys-Virt.changes 2014-04-20 11:35:02.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Apr 7 12:00:30 MDT 2014 - jfehlig(a)suse.com
+
+- Update to 1.2.3
+ - Add all new APIs and constants in libvirt 1.2.3
+
+-------------------------------------------------------------------
Old:
----
Sys-Virt-1.2.2.tar.gz
New:
----
Sys-Virt-1.2.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Sys-Virt.spec ++++++
--- /var/tmp/diff_new_pack.pQkyeL/_old 2014-04-20 11:35:03.000000000 +0200
+++ /var/tmp/diff_new_pack.pQkyeL/_new 2014-04-20 11:35:03.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Sys-Virt
-Version: 1.2.2
+Version: 1.2.3
Release: 0
%define cpan_name Sys-Virt
Summary: Represent and manage a libvirt hypervisor connection
++++++ Sys-Virt-1.2.2.tar.gz -> Sys-Virt-1.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.2/Changes new/Sys-Virt-1.2.3/Changes
--- old/Sys-Virt-1.2.2/Changes 2014-03-03 12:21:53.000000000 +0100
+++ new/Sys-Virt-1.2.3/Changes 2014-04-07 12:35:31.000000000 +0200
@@ -1,5 +1,11 @@
Revision history for perl module Sys::Virt
+1.2.3 2014-04-07
+
+ - Add VIR_FROM_CRYPTO error constant
+ - Add VIR_MIGRATE_AUTO_CONVERGE migration constant
+ - Add virDomainCoreDumpWithFormat and its constants
+
1.2.2 2014-03-03
- Add new domain blk I/O constants
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.2/META.yml new/Sys-Virt-1.2.3/META.yml
--- old/Sys-Virt-1.2.2/META.yml 2014-03-03 12:22:04.000000000 +0100
+++ new/Sys-Virt-1.2.3/META.yml 2014-04-07 12:50:38.000000000 +0200
@@ -1,7 +1,7 @@
--- #YAML:1.0
name: Sys-Virt
abstract: Extension for the libvirt library
-version: 1.2.2
+version: 1.2.3
author:
- Daniel P. Berrange <dan(a)berrange.com>
license: perl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.2/MYMETA.json new/Sys-Virt-1.2.3/MYMETA.json
--- old/Sys-Virt-1.2.2/MYMETA.json 2014-03-03 12:21:57.000000000 +0100
+++ new/Sys-Virt-1.2.3/MYMETA.json 2014-04-07 12:50:30.000000000 +0200
@@ -42,5 +42,5 @@
}
},
"release_status" : "stable",
- "version" : "v1.2.2"
+ "version" : "v1.2.3"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.2/MYMETA.yml new/Sys-Virt-1.2.3/MYMETA.yml
--- old/Sys-Virt-1.2.2/MYMETA.yml 2014-03-03 12:21:57.000000000 +0100
+++ new/Sys-Virt-1.2.3/MYMETA.yml 2014-04-07 12:50:30.000000000 +0200
@@ -24,4 +24,4 @@
Test::Pod::Coverage: 0
Time::HiRes: 0
XML::XPath: 0
-version: v1.2.2
+version: v1.2.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.2/Makefile.PL new/Sys-Virt-1.2.3/Makefile.PL
--- old/Sys-Virt-1.2.2/Makefile.PL 2014-03-03 12:21:53.000000000 +0100
+++ new/Sys-Virt-1.2.3/Makefile.PL 2014-04-07 12:35:31.000000000 +0200
@@ -3,7 +3,7 @@
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
-my $libvirtver = "1.2.2";
+my $libvirtver = "1.2.3";
my $stat = system "pkg-config --atleast-version=$libvirtver libvirt";
die "cannot run pkg-config to check libvirt version" if $stat == -1;
die "libvirt >= $libvirtver is required\n" unless $stat == 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.2/README new/Sys-Virt-1.2.3/README
--- old/Sys-Virt-1.2.2/README 2014-03-03 12:21:53.000000000 +0100
+++ new/Sys-Virt-1.2.3/README 2014-04-07 12:35:31.000000000 +0200
@@ -7,6 +7,6 @@
The only pre-requisite for this module is libvirt itself. For
installation instructions, consult the INSTALL file.
-The current minimum required version of libvirt is 1.2.2
+The current minimum required version of libvirt is 1.2.3
-- End
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.2/Virt.xs new/Sys-Virt-1.2.3/Virt.xs
--- old/Sys-Virt-1.2.2/Virt.xs 2014-03-03 12:21:53.000000000 +0100
+++ new/Sys-Virt-1.2.3/Virt.xs 2014-04-07 12:35:31.000000000 +0200
@@ -3125,13 +3125,24 @@
void
core_dump(dom, to, flags=0)
virDomainPtr dom;
- const char *to
+ const char *to;
unsigned int flags;
PPCODE:
if (virDomainCoreDump(dom, to, flags) < 0)
_croak_error();
+void
+core_dump_format(dom, to, format, flags=0)
+ virDomainPtr dom;
+ const char *to;
+ unsigned int format;
+ unsigned int flags;
+ PPCODE:
+ if (virDomainCoreDumpWithFormat(dom, to, format, flags) < 0)
+ _croak_error();
+
+
HV *
get_info(dom)
virDomainPtr dom;
@@ -6761,6 +6772,7 @@
REGISTER_CONSTANT(VIR_MIGRATE_OFFLINE, MIGRATE_OFFLINE);
REGISTER_CONSTANT(VIR_MIGRATE_COMPRESSED, MIGRATE_COMPRESSED);
REGISTER_CONSTANT(VIR_MIGRATE_ABORT_ON_ERROR, MIGRATE_ABORT_ON_ERROR);
+ REGISTER_CONSTANT(VIR_MIGRATE_AUTO_CONVERGE, MIGRATE_AUTO_CONVERGE);
REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_BANDWIDTH, MIGRATE_PARAM_BANDWIDTH);
REGISTER_CONSTANT_STR(VIR_MIGRATE_PARAM_DEST_NAME, MIGRATE_PARAM_DEST_NAME);
@@ -7141,6 +7153,10 @@
REGISTER_CONSTANT(VIR_DOMAIN_SEND_KEY_MAX_KEYS, SEND_KEY_MAX_KEYS);
+ REGISTER_CONSTANT(VIR_DOMAIN_CORE_DUMP_FORMAT_RAW, CORE_DUMP_FORMAT_RAW);
+ REGISTER_CONSTANT(VIR_DOMAIN_CORE_DUMP_FORMAT_KDUMP_LZO, CORE_DUMP_FORMAT_KDUMP_LZO);
+ REGISTER_CONSTANT(VIR_DOMAIN_CORE_DUMP_FORMAT_KDUMP_SNAPPY, CORE_DUMP_FORMAT_KDUMP_SNAPPY);
+ REGISTER_CONSTANT(VIR_DOMAIN_CORE_DUMP_FORMAT_KDUMP_ZLIB, CORE_DUMP_FORMAT_KDUMP_ZLIB);
stash = gv_stashpv( "Sys::Virt::DomainSnapshot", TRUE );
REGISTER_CONSTANT(VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN, DELETE_CHILDREN);
@@ -7392,6 +7408,7 @@
REGISTER_CONSTANT(VIR_FROM_ACCESS, FROM_ACCESS);
REGISTER_CONSTANT(VIR_FROM_SYSTEMD, FROM_SYSTEMD);
REGISTER_CONSTANT(VIR_FROM_BHYVE, FROM_BHYVE);
+ REGISTER_CONSTANT(VIR_FROM_CRYPTO, FROM_CRYPTO);
REGISTER_CONSTANT(VIR_ERR_OK, ERR_OK);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.2/lib/Sys/Virt/Domain.pm new/Sys-Virt-1.2.3/lib/Sys/Virt/Domain.pm
--- old/Sys-Virt-1.2.2/lib/Sys/Virt/Domain.pm 2014-03-03 12:21:53.000000000 +0100
+++ new/Sys-Virt-1.2.3/lib/Sys/Virt/Domain.pm 2014-04-07 12:35:31.000000000 +0200
@@ -227,6 +227,34 @@
The optional C<$flags> flags parameter is currently unused and if
omitted will default to 0.
+=item $dom->core_dump_format($filename, $format, [, $flags])
+
+Trigger a core dump of the guest virtual machine, saving its memory
+image to C<$filename> so it can be analysed by tools such as C<crash>.
+The C<$format> parameter is one of the core dump format constants.
+The optional C<$flags> flags parameter is currently unused and if
+omitted will default to 0.
+
+=over 4
+
+=item Sys::Virt::Domain::CORE_DUMP_FORMAT_RAW
+
+The raw ELF format
+
+=item Sys::Virt::Domain::CORE_DUMP_FORMAT_KDUMP_ZLIB
+
+The zlib compressed ELF format
+
+=item Sys::Virt::Domain::CORE_DUMP_FORMAT_KDUMP_SNAPPY
+
+The snappy compressed ELF format
+
+=item Sys::Virt::Domain::CORE_DUMP_FORMAT_KDUMP_LZO
+
+The lzo compressed ELF format
+
+=back
+
=item $dom->destroy()
Immediately poweroff the machine. This is equivalent to removing the
@@ -1875,6 +1903,11 @@
Abort if an I/O error occurrs on the disk
+=item Sys::Virt::Domain::MIGRATE_AUTO_CONVERGE
+
+Force convergance of the migration operation by
+throttling guest runtime
+
=back
=head2 UNDEFINE CONSTANTS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.2/lib/Sys/Virt/Error.pm new/Sys-Virt-1.2.3/lib/Sys/Virt/Error.pm
--- old/Sys-Virt-1.2.2/lib/Sys/Virt/Error.pm 2014-03-03 12:21:53.000000000 +0100
+++ new/Sys-Virt-1.2.3/lib/Sys/Virt/Error.pm 2014-04-07 12:35:31.000000000 +0200
@@ -366,6 +366,10 @@
The FreeBSD BHyve driver
+=item Sys::Virt::Error::FROM_CRYPTO
+
+The cryptographic helper APIs.
+
=back
=head2 ERROR CODE CONSTANTS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.2/lib/Sys/Virt.pm new/Sys-Virt-1.2.3/lib/Sys/Virt.pm
--- old/Sys-Virt-1.2.2/lib/Sys/Virt.pm 2014-03-03 12:21:53.000000000 +0100
+++ new/Sys-Virt-1.2.3/lib/Sys/Virt.pm 2014-04-07 12:35:31.000000000 +0200
@@ -78,7 +78,7 @@
use Sys::Virt::DomainSnapshot;
use Sys::Virt::Stream;
-our $VERSION = '1.2.2';
+our $VERSION = '1.2.3';
require XSLoader;
XSLoader::load('Sys::Virt', $VERSION);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Sys-Virt-1.2.2/perl-Sys-Virt.spec new/Sys-Virt-1.2.3/perl-Sys-Virt.spec
--- old/Sys-Virt-1.2.2/perl-Sys-Virt.spec 2014-03-03 12:22:04.000000000 +0100
+++ new/Sys-Virt-1.2.3/perl-Sys-Virt.spec 2014-04-07 12:50:38.000000000 +0200
@@ -1,7 +1,7 @@
# Automatically generated by perl-Sys-Virt.spec.PL
Name: perl-Sys-Virt
-Version: 1.2.2
+Version: 1.2.3
Release: 1%{?dist}%{?extra_release}
Summary: Represent and manage a libvirt hypervisor connection
License: GPLv2+ or Artistic
--
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 libvirt-python for openSUSE:Factory checked in at 2014-04-20 11:34:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvirt-python (Old)
and /work/SRC/openSUSE:Factory/.libvirt-python.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvirt-python"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libvirt-python/libvirt-python.changes 2014-03-04 13:45:29.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libvirt-python.new/libvirt-python.changes 2014-04-20 11:34:58.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Apr 7 11:54:39 MDT 2014 - jfehlig(a)suse.com
+
+- Update to 1.2.3
+ - Add all new APIs and constants in libvirt 1.2.3
+
+-------------------------------------------------------------------
Old:
----
libvirt-python-1.2.2.tar.bz2
New:
----
libvirt-python-1.2.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvirt-python.spec ++++++
--- /var/tmp/diff_new_pack.vSLO1F/_old 2014-04-20 11:34:59.000000000 +0200
+++ /var/tmp/diff_new_pack.vSLO1F/_new 2014-04-20 11:34:59.000000000 +0200
@@ -18,7 +18,7 @@
Name: libvirt-python
Url: http://libvirt.org/
-Version: 1.2.2
+Version: 1.2.3
Release: 0
Summary: Library providing a simple virtualization API
License: LGPL-2.1+
++++++ libvirt-python-1.2.2.tar.bz2 -> libvirt-python-1.2.3.tar.bz2 ++++++
++++ 1834 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 libreoffice-templates-de for openSUSE:Factory checked in at 2014-04-18 15:52:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libreoffice-templates-de (Old)
and /work/SRC/openSUSE:Factory/.libreoffice-templates-de.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libreoffice-templates-de"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libreoffice-templates-de/libreoffice-templates-de.changes 2013-01-31 16:45:46.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libreoffice-templates-de.new/libreoffice-templates-de.changes 2014-04-18 15:52:45.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Apr 18 12:55:31 UTC 2014 - tchvatal(a)suse.com
+
+- Fix build in factory by converting all file names to ascii.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libreoffice-templates-de.spec ++++++
--- /var/tmp/diff_new_pack.RsDLsG/_old 2014-04-18 15:52:46.000000000 +0200
+++ /var/tmp/diff_new_pack.RsDLsG/_new 2014-04-18 15:52:46.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libreoffice-templates-de
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,45 +17,25 @@
Name: libreoffice-templates-de
-Provides: locale(OpenOffice_org:de)
-Provides: locale(libreoffice:de)
-# compat stuff
-Provides: OpenOffice_org-templates-de = %version
-Obsoletes: OpenOffice_org-templates-de <= %version
-Provides: OpenOffice_org-de-templates <= 8.2
-Obsoletes: OpenOffice_org-de-templates <= 8.2
Version: 3.3
Release: 0
Summary: German Templates for LibreOffice
License: BSD-4-Clause and LGPL-2.1+
Group: Productivity/Office/Suite
+Url: http://extensions.services.openoffice.org/project/TemplatePackII
Source0: ooo-templates-de-2.0.4.tar.bz2
Source1: ooo-templates-de-suse-2.0.4.tar.bz2
-# http://extensions.services.openoffice.org/project/TemplatePackII
Source2: Sun_ODF_Template_Pack_de-non-layout.tar.bz2
+Provides: locale(OpenOffice_org:de)
+Provides: locale(libreoffice:de)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
A compilation of German templates for LibreOffice.
-
-
-Authors:
---------
- Berthold Gerdes <berthold(a)bgerdes.de>
- Johannes Czerwinski <johannes(a)openoffice.org>
- Olaf Eichborn <oeichhorn(a)openoffice.org>
- Dennis Kielhorn <dkielhorn(a)openoffice.org>
- Harald Schilly <mysteron(a)openoffice.org>
- Karlhanns Spiegel <khs(a)s.netic.de>
- Sven Vermeulen <siboy(a)openoffice.org>
- Helmut Weigel <weigel(a)openoffice.org>
- Frank Welker <gandalfdergraue(a)openoffice.org>
- K. J. Welter <kajo(a)teamstaroffice.org>
-
%prep
-%setup -c -q -b1 -b2
+%setup -q -c -b1 -b2
# update the Sun templates dir
sun_name=Sun_ODF_Template_Pack
sun_dir=${sun_name}_de-non-layout
@@ -74,25 +54,24 @@
%build
%install
-install -m 755 -d $RPM_BUILD_ROOT/usr/share/templates/libreoffice/
-cp -a ooo-templates-de-*/de $RPM_BUILD_ROOT/usr/share/templates/libreoffice/
-cp -a Sun_ODF_Template_Pack_de-non-layout/template/* $RPM_BUILD_ROOT/usr/share/templates/libreoffice/de
-# compat stuff
-install -m 755 -d $RPM_BUILD_ROOT/usr/share/templates/ooo/
-for dir in `find $RPM_BUILD_ROOT/usr/share/templates/libreoffice/ -type d -printf "%%P \n"` ; do
- echo "~$RPM_BUILD_ROOT/usr/share/templates/ooo/$dir~"
- mkdir -p $RPM_BUILD_ROOT/usr/share/templates/ooo/$dir
+install -m 755 -d %{buildroot}%{_datadir}/templates/libreoffice/
+cp -a ooo-templates-de-*/de %{buildroot}%{_datadir}/templates/libreoffice/
+cp -a Sun_ODF_Template_Pack_de-non-layout/template/* %{buildroot}%{_datadir}/templates/libreoffice/de
+# Convert to ascii names
+find %{buildroot}%{_datadir}/templates/libreoffice/ -type f > utf8list
+iconv -f UTF-8 -t ASCII//TRANSLIT utf8list > asciilist
+for file in $(cat utf8list); do
+ newname=$(head -$i asciilist | tail -1 | tr -d '\n')
+ if [ -e $newname ] ; then
+ rm $file
+ else
+ mv $file $newname
+ fi
done
-for file in `find $RPM_BUILD_ROOT/usr/share/templates/libreoffice/ -type f -printf "%%P "` ; do
- ln -sf /usr/share/templates/libreoffice/$file $RPM_BUILD_ROOT/usr/share/templates/ooo/$file
-done
-
-%clean
-rm -rf $RPM_BUILD_ROOT
%files
%defattr(-, root, root)
%doc ooo-templates-de-*/README*.txt Sun*/{README.*,LICENSE.*}
-/usr/share/templates/
+%{_datadir}/templates/
%changelog
--
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 apparmor for openSUSE:Factory checked in at 2014-04-18 15:52:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apparmor (Old)
and /work/SRC/openSUSE:Factory/.apparmor.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apparmor"
Changes:
--------
--- /work/SRC/openSUSE:Factory/apparmor/apparmor.changes 2014-03-23 22:29:32.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.apparmor.new/apparmor.changes 2014-04-18 15:52:39.000000000 +0200
@@ -1,0 +2,13 @@
+Tue Apr 1 16:06:24 UTC 2014 - lmuelle(a)suse.com
+
+- update usr.sbin.winbindd profile (bnc#870607)
+ - restrict rw access to /var/cache/krb5rcache/ instead /var/tmp/
+
+-------------------------------------------------------------------
+Fri Mar 28 14:24:19 UTC 2014 - lmuelle(a)suse.com
+
+- update usr.sbin.winbindd profile (bnc#870607)
+ - treat passdb.tdb.tmp as passdb.tdb
+ - allow rw access to /var/tmp/
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ usr.sbin.winbindd ++++++
--- /var/tmp/diff_new_pack.SrpGW9/_old 2014-04-18 15:52:40.000000000 +0200
+++ /var/tmp/diff_new_pack.SrpGW9/_new 2014-04-18 15:52:40.000000000 +0200
@@ -11,7 +11,7 @@
capability setuid,
/etc/samba/dhcp.conf r,
- /etc/samba/passdb.tdb rwk,
+ /etc/samba/passdb.tdb{,.tmp} rwk,
/etc/samba/secrets.tdb rwk,
/proc/sys/kernel/core_pattern r,
/tmp/.winbindd/ w,
@@ -21,6 +21,7 @@
/usr/lib*/samba/pdb/*.so mr,
/usr/sbin/winbindd mr,
/usr/share/samba/codepages/{lowcase,upcase,valid}.dat r,
+ /var/cache/krb5rcache/* rw,
/var/cache/samba/*.tdb rwk,
/var/cache/samba/netsamlogon_cache.tdb rw,
--
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 kde4-l10n for openSUSE:Factory checked in at 2014-04-18 15:45:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kde4-l10n (Old)
and /work/SRC/openSUSE:Factory/.kde4-l10n.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kde4-l10n"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kde4-l10n/kde4-l10n.changes 2014-02-20 07:59:03.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde4-l10n.changes 2014-04-18 15:46:07.000000000 +0200
@@ -1,0 +2,41 @@
+Fri Apr 11 17:03:29 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.13.0
+ * KDE 4.13 release
+ * See http://www.kde.org/announcements/4.13/
+
+-------------------------------------------------------------------
+Thu Mar 27 17:42:21 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.12.97
+ * KDE 4.13 RC release
+ * See http://www.kde.org/announcements/announce-4.13-rc.php
+
+-------------------------------------------------------------------
+Thu Mar 20 18:42:09 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.12.95
+ * KDE 4.13 Beta 3 release
+ * See http://www.kde.org/announcements/announce-4.13-beta3.php
+
+-------------------------------------------------------------------
+Thu Mar 13 22:36:13 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.12.90
+ * KDE 4.13 Beta 2 release
+ * See http://www.kde.org/announcements/announce-4.13-beta2.php
+
+-------------------------------------------------------------------
+Fri Mar 7 13:42:46 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.12.3
+ * KDE 4.12.3 release
+ * See http://www.kde.org/announcements/announce-4.12.3.php
+
+-------------------------------------------------------------------
+Mon Mar 3 19:28:02 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Resolve build issue with an "@" in the package name.
+ Package ca@valencia will now be caValencia
+
+-------------------------------------------------------------------
Old:
----
kde-l10n-ar-4.12.2.tar.xz
kde-l10n-bg-4.12.2.tar.xz
kde-l10n-bs-4.12.2.tar.xz
kde-l10n-ca-4.12.2.tar.xz
kde-l10n-ca(a)valencia-4.12.2.tar.xz
kde-l10n-cs-4.12.2.tar.xz
kde-l10n-da-4.12.2.tar.xz
kde-l10n-de-4.12.2.tar.xz
kde-l10n-el-4.12.2.tar.xz
kde-l10n-en_GB-4.12.2.tar.xz
kde-l10n-es-4.12.2.tar.xz
kde-l10n-et-4.12.2.tar.xz
kde-l10n-eu-4.12.2.tar.xz
kde-l10n-fi-4.12.2.tar.xz
kde-l10n-fr-4.12.2.tar.xz
kde-l10n-ga-4.12.2.tar.xz
kde-l10n-gl-4.12.2.tar.xz
kde-l10n-he-4.12.2.tar.xz
kde-l10n-hi-4.12.2.tar.xz
kde-l10n-hr-4.12.2.tar.xz
kde-l10n-hu-4.12.2.tar.xz
kde-l10n-ia-4.12.2.tar.xz
kde-l10n-is-4.12.2.tar.xz
kde-l10n-it-4.12.2.tar.xz
kde-l10n-ja-4.12.2.tar.xz
kde-l10n-kk-4.12.2.tar.xz
kde-l10n-km-4.12.2.tar.xz
kde-l10n-ko-4.12.2.tar.xz
kde-l10n-lt-4.12.2.tar.xz
kde-l10n-lv-4.12.2.tar.xz
kde-l10n-mr-4.12.2.tar.xz
kde-l10n-nb-4.12.2.tar.xz
kde-l10n-nds-4.12.2.tar.xz
kde-l10n-nl-4.12.2.tar.xz
kde-l10n-nn-4.12.2.tar.xz
kde-l10n-pa-4.12.2.tar.xz
kde-l10n-pl-4.12.2.tar.xz
kde-l10n-pt-4.12.2.tar.xz
kde-l10n-pt_BR-4.12.2.tar.xz
kde-l10n-ro-4.12.2.tar.xz
kde-l10n-ru-4.12.2.tar.xz
kde-l10n-sk-4.12.2.tar.xz
kde-l10n-sl-4.12.2.tar.xz
kde-l10n-sr-4.12.2.tar.xz
kde-l10n-sv-4.12.2.tar.xz
kde-l10n-tr-4.12.2.tar.xz
kde-l10n-ug-4.12.2.tar.xz
kde-l10n-uk-4.12.2.tar.xz
kde-l10n-vi-4.12.2.tar.xz
kde-l10n-wa-4.12.2.tar.xz
kde-l10n-zh_CN-4.12.2.tar.xz
kde-l10n-zh_TW-4.12.2.tar.xz
New:
----
kde-l10n-ar-4.13.0.tar.xz
kde-l10n-bg-4.13.0.tar.xz
kde-l10n-bs-4.13.0.tar.xz
kde-l10n-ca-4.13.0.tar.xz
kde-l10n-ca(a)valencia-4.13.0.tar.xz
kde-l10n-cs-4.13.0.tar.xz
kde-l10n-da-4.13.0.tar.xz
kde-l10n-de-4.13.0.tar.xz
kde-l10n-el-4.13.0.tar.xz
kde-l10n-en_GB-4.13.0.tar.xz
kde-l10n-es-4.13.0.tar.xz
kde-l10n-et-4.13.0.tar.xz
kde-l10n-eu-4.13.0.tar.xz
kde-l10n-fi-4.13.0.tar.xz
kde-l10n-fr-4.13.0.tar.xz
kde-l10n-ga-4.13.0.tar.xz
kde-l10n-gl-4.13.0.tar.xz
kde-l10n-he-4.13.0.tar.xz
kde-l10n-hi-4.13.0.tar.xz
kde-l10n-hr-4.13.0.tar.xz
kde-l10n-hu-4.13.0.tar.xz
kde-l10n-ia-4.13.0.tar.xz
kde-l10n-id-4.13.0.tar.xz
kde-l10n-is-4.13.0.tar.xz
kde-l10n-it-4.13.0.tar.xz
kde-l10n-ja-4.13.0.tar.xz
kde-l10n-kk-4.13.0.tar.xz
kde-l10n-km-4.13.0.tar.xz
kde-l10n-ko-4.13.0.tar.xz
kde-l10n-lt-4.13.0.tar.xz
kde-l10n-lv-4.13.0.tar.xz
kde-l10n-mr-4.13.0.tar.xz
kde-l10n-nb-4.13.0.tar.xz
kde-l10n-nds-4.13.0.tar.xz
kde-l10n-nl-4.13.0.tar.xz
kde-l10n-nn-4.13.0.tar.xz
kde-l10n-pa-4.13.0.tar.xz
kde-l10n-pl-4.13.0.tar.xz
kde-l10n-pt-4.13.0.tar.xz
kde-l10n-pt_BR-4.13.0.tar.xz
kde-l10n-ro-4.13.0.tar.xz
kde-l10n-ru-4.13.0.tar.xz
kde-l10n-sk-4.13.0.tar.xz
kde-l10n-sl-4.13.0.tar.xz
kde-l10n-sr-4.13.0.tar.xz
kde-l10n-sv-4.13.0.tar.xz
kde-l10n-tr-4.13.0.tar.xz
kde-l10n-ug-4.13.0.tar.xz
kde-l10n-uk-4.13.0.tar.xz
kde-l10n-vi-4.13.0.tar.xz
kde-l10n-wa-4.13.0.tar.xz
kde-l10n-zh_CN-4.13.0.tar.xz
kde-l10n-zh_TW-4.13.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kde4-l10n.spec ++++++
--- /var/tmp/diff_new_pack.Ij4Wmo/_old 2014-04-18 15:46:14.000000000 +0200
+++ /var/tmp/diff_new_pack.Ij4Wmo/_new 2014-04-18 15:46:14.000000000 +0200
@@ -18,7 +18,7 @@
Name: kde4-l10n
-Version: 4.12.2
+Version: 4.13.0
Release: 0
Summary: KDE translations base package
License: GPL-2.0+
@@ -46,36 +46,37 @@
Source19: kde-l10n-hr-%version.tar.xz
Source20: kde-l10n-hu-%version.tar.xz
Source21: kde-l10n-ia-%version.tar.xz
-Source22: kde-l10n-is-%version.tar.xz
-Source23: kde-l10n-it-%version.tar.xz
-Source24: kde-l10n-ja-%version.tar.xz
-Source25: kde-l10n-kk-%version.tar.xz
-Source26: kde-l10n-km-%version.tar.xz
-Source27: kde-l10n-ko-%version.tar.xz
-Source28: kde-l10n-lt-%version.tar.xz
-Source29: kde-l10n-lv-%version.tar.xz
-Source30: kde-l10n-mr-%version.tar.xz
-Source31: kde-l10n-nb-%version.tar.xz
-Source32: kde-l10n-nds-%version.tar.xz
-Source33: kde-l10n-nl-%version.tar.xz
-Source34: kde-l10n-nn-%version.tar.xz
-Source35: kde-l10n-pa-%version.tar.xz
-Source36: kde-l10n-pl-%version.tar.xz
-Source37: kde-l10n-pt-%version.tar.xz
-Source38: kde-l10n-pt_BR-%version.tar.xz
-Source39: kde-l10n-ro-%version.tar.xz
-Source40: kde-l10n-ru-%version.tar.xz
-Source41: kde-l10n-sk-%version.tar.xz
-Source42: kde-l10n-sl-%version.tar.xz
-Source43: kde-l10n-sr-%version.tar.xz
-Source44: kde-l10n-sv-%version.tar.xz
-Source45: kde-l10n-tr-%version.tar.xz
-Source46: kde-l10n-ug-%version.tar.xz
-Source47: kde-l10n-uk-%version.tar.xz
-Source48: kde-l10n-vi-%version.tar.xz
-Source49: kde-l10n-wa-%version.tar.xz
-Source50: kde-l10n-zh_CN-%version.tar.xz
-Source51: kde-l10n-zh_TW-%version.tar.xz
+Source22: kde-l10n-id-%version.tar.xz
+Source23: kde-l10n-is-%version.tar.xz
+Source24: kde-l10n-it-%version.tar.xz
+Source25: kde-l10n-ja-%version.tar.xz
+Source26: kde-l10n-kk-%version.tar.xz
+Source27: kde-l10n-km-%version.tar.xz
+Source28: kde-l10n-ko-%version.tar.xz
+Source29: kde-l10n-lt-%version.tar.xz
+Source30: kde-l10n-lv-%version.tar.xz
+Source31: kde-l10n-mr-%version.tar.xz
+Source32: kde-l10n-nb-%version.tar.xz
+Source33: kde-l10n-nds-%version.tar.xz
+Source34: kde-l10n-nl-%version.tar.xz
+Source35: kde-l10n-nn-%version.tar.xz
+Source36: kde-l10n-pa-%version.tar.xz
+Source37: kde-l10n-pl-%version.tar.xz
+Source38: kde-l10n-pt-%version.tar.xz
+Source39: kde-l10n-pt_BR-%version.tar.xz
+Source40: kde-l10n-ro-%version.tar.xz
+Source41: kde-l10n-ru-%version.tar.xz
+Source42: kde-l10n-sk-%version.tar.xz
+Source43: kde-l10n-sl-%version.tar.xz
+Source44: kde-l10n-sr-%version.tar.xz
+Source45: kde-l10n-sv-%version.tar.xz
+Source46: kde-l10n-tr-%version.tar.xz
+Source47: kde-l10n-ug-%version.tar.xz
+Source48: kde-l10n-uk-%version.tar.xz
+Source49: kde-l10n-vi-%version.tar.xz
+Source50: kde-l10n-wa-%version.tar.xz
+Source51: kde-l10n-zh_CN-%version.tar.xz
+Source52: kde-l10n-zh_TW-%version.tar.xz
#@SOURCES@
Source1000: COPYING
Source1001: texts
@@ -90,7 +91,7 @@
%define kdepim_version %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
-%define build_languages ar bg bs ca ca@valencia cs da de el en_GB es et eu fi fr ga gl he hi hr hu ia is it ja kk km ko lt lv mr nb nds nl nn pa pl pt pt_BR ro ru sk sl sr sv tr ug uk vi wa zh_CN zh_TW
+%define build_languages ar bg bs ca ca@valencia cs da de el en_GB es et eu fi fr ga gl he hi hr hu ia id is it ja kk km ko lt lv mr nb nds nl nn pa pl pt pt_BR ro ru sk sl sr sv tr ug uk vi wa zh_CN zh_TW
%define split_languages da de en_GB es et fr it nl pl pt_BR ru sv uk
%description
@@ -140,14 +141,14 @@
All the requirements for a KDE desktop in Catalan. This package contains
application translations, help files, and screenshots.
-%package ca@valencia
-Summary: Valencian (ca@valencia) translations for KDE
+%package caValencia
+Summary: summary
Group: System/Localization
-Provides: kde-l10n-ca@valencia
+Provides: kde-l10n-caValencia
Provides: locale(kdelibs4:ca@valencia)
-Supplements: packageand(kdelibs4:kde3-i18n-ca@valencia)
+Supplements: packageand(kdelibs4:kde3-i18n-caValencia)
-%description ca@valencia
+%description caValencia
All the requirements for a KDE desktop in Valencian. This package contains
application translations, help files, and screenshots.
@@ -447,6 +448,17 @@
Auxiliary Language Association). This package contains application
translations, help files, and screenshots.
+%package id
+Summary: Indonesian (id) translations for KDE
+Group: System/Localization
+Provides: kde-l10n-id
+Provides: locale(kdelibs4:id)
+Supplements: packageand(kdelibs4:kde3-i18n-id)
+
+%description id
+All the requirements for a KDE desktop in Indonesian. This package contains
+application translations, help files, and screenshots.
+
%package is
Summary: Icelandic (is) translations for KDE
Group: System/Localization
@@ -973,6 +985,7 @@
turtlelang=$i
autolang=$i
l=$i
+ f=$i
case $i in
de)
turtlelang=de_DE
@@ -995,12 +1008,18 @@
;;
sr@latin)
l=sr
+ f=sr
;;
sr@ijekavian)
l=sr
+ f=sr
;;
sr@ijekavianlatin)
l=sr
+ f=sr
+ ;;
+ ca@valencia)
+ f=caValencia
;;
esac
{
@@ -1032,7 +1051,7 @@
echo "%{_docdir}/kde4-l10n-$l"
- } >> files.$l
+ } >> files.$f
{
echo "%defattr(-,root,root)"
if test -d %{buildroot}%{_kde4_appsdir}/khangman/data/$i; then
@@ -1136,7 +1155,7 @@
if test -d %{buildroot}%{_docdir}/kde4-l10n-$i-data; then
echo "%{_docdir}/kde4-l10n-$i-data"
fi
- } >> files.data.$l
+ } >> files.data.$f
{
echo "%defattr(-,root,root)"
@@ -1147,8 +1166,8 @@
if test -d %{buildroot}%{_docdir}/kde4-l10n-$i-doc ; then
echo "%{_docdir}/kde4-l10n-$i-doc"
fi
- } >> files.doc.$l
- cat files.$l files.data.$l files.doc.$l >files.all.$l
+ } >> files.doc.$f
+ cat files.$f files.data.$f files.doc.$f >files.all.$f
done
%fdupes %{buildroot}
@@ -1161,7 +1180,7 @@
%files bg -f files.all.bg
%files bs -f files.all.bs
%files ca -f files.all.ca
-%files ca@valencia -f files.all.ca@valencia
+%files caValencia -f files.all.caValencia
%files cs -f files.all.cs
%files da -f files.da
%files da-doc -f files.doc.da
@@ -1191,6 +1210,7 @@
%files hr -f files.all.hr
%files hu -f files.all.hu
%files ia -f files.all.ia
+%files id -f files.all.id
%files is -f files.all.is
%files it -f files.it
%files it-doc -f files.doc.it
++++++ kde-l10n-ar-4.12.2.tar.xz -> kde-l10n-ar-4.13.0.tar.xz ++++++
++++ 85957 lines of diff (skipped)
++++++ kde-l10n-bg-4.12.2.tar.xz -> kde-l10n-bg-4.13.0.tar.xz ++++++
++++ 93917 lines of diff (skipped)
++++++ kde-l10n-bs-4.12.2.tar.xz -> kde-l10n-bs-4.13.0.tar.xz ++++++
++++ 129280 lines of diff (skipped)
++++++ kde-l10n-ca-4.12.2.tar.xz -> kde-l10n-ca-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-ca-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-ca-4.13.0.tar.xz differ: char 27, line 1
++++++ kde-l10n-ca(a)valencia-4.12.2.tar.xz -> kde-l10n-ca(a)valencia-4.13.0.tar.xz ++++++
++++ 129137 lines of diff (skipped)
++++++ kde-l10n-cs-4.12.2.tar.xz -> kde-l10n-cs-4.13.0.tar.xz ++++++
++++ 102691 lines of diff (skipped)
++++++ kde-l10n-da-4.12.2.tar.xz -> kde-l10n-da-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-da-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-da-4.13.0.tar.xz differ: char 27, line 1
++++++ kde-l10n-de-4.12.2.tar.xz -> kde-l10n-de-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-de-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-de-4.13.0.tar.xz differ: char 47, line 1
++++++ kde-l10n-el-4.12.2.tar.xz -> kde-l10n-el-4.13.0.tar.xz ++++++
++++ 121872 lines of diff (skipped)
++++++ kde-l10n-en_GB-4.12.2.tar.xz -> kde-l10n-en_GB-4.13.0.tar.xz ++++++
++++ 101721 lines of diff (skipped)
++++++ kde-l10n-es-4.12.2.tar.xz -> kde-l10n-es-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-es-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-es-4.13.0.tar.xz differ: char 27, line 1
++++++ kde-l10n-et-4.12.2.tar.xz -> kde-l10n-et-4.13.0.tar.xz ++++++
++++ 107157 lines of diff (skipped)
++++++ kde-l10n-eu-4.12.2.tar.xz -> kde-l10n-eu-4.13.0.tar.xz ++++++
++++ 129602 lines of diff (skipped)
++++++ kde-l10n-fi-4.12.2.tar.xz -> kde-l10n-fi-4.13.0.tar.xz ++++++
++++ 124372 lines of diff (skipped)
++++++ kde-l10n-fr-4.12.2.tar.xz -> kde-l10n-fr-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-fr-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-fr-4.13.0.tar.xz differ: char 27, line 1
++++++ kde-l10n-ga-4.12.2.tar.xz -> kde-l10n-ga-4.13.0.tar.xz ++++++
++++ 100787 lines of diff (skipped)
++++++ kde-l10n-gl-4.12.2.tar.xz -> kde-l10n-gl-4.13.0.tar.xz ++++++
++++ 110770 lines of diff (skipped)
++++++ kde-l10n-he-4.12.2.tar.xz -> kde-l10n-he-4.13.0.tar.xz ++++++
++++ 82966 lines of diff (skipped)
++++++ kde-l10n-hi-4.12.2.tar.xz -> kde-l10n-hi-4.13.0.tar.xz ++++++
++++ 88995 lines of diff (skipped)
++++++ kde-l10n-hr-4.12.2.tar.xz -> kde-l10n-hr-4.13.0.tar.xz ++++++
++++ 8910 lines of diff (skipped)
++++++ kde-l10n-hu-4.12.2.tar.xz -> kde-l10n-hu-4.13.0.tar.xz ++++++
++++ 113214 lines of diff (skipped)
++++++ kde-l10n-ia-4.12.2.tar.xz -> kde-l10n-ia-4.13.0.tar.xz ++++++
++++ 72079 lines of diff (skipped)
++++++ kde-l10n-ia-4.12.2.tar.xz -> kde-l10n-id-4.13.0.tar.xz ++++++
++++ 372988 lines of diff (skipped)
++++++ kde-l10n-is-4.12.2.tar.xz -> kde-l10n-is-4.13.0.tar.xz ++++++
++++ 95147 lines of diff (skipped)
++++++ kde-l10n-it-4.12.2.tar.xz -> kde-l10n-it-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-it-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-it-4.13.0.tar.xz differ: char 27, line 1
++++++ kde-l10n-ja-4.12.2.tar.xz -> kde-l10n-ja-4.13.0.tar.xz ++++++
++++ 97778 lines of diff (skipped)
++++++ kde-l10n-kk-4.12.2.tar.xz -> kde-l10n-kk-4.13.0.tar.xz ++++++
++++ 105125 lines of diff (skipped)
++++++ kde-l10n-km-4.12.2.tar.xz -> kde-l10n-km-4.13.0.tar.xz ++++++
++++ 93409 lines of diff (skipped)
++++++ kde-l10n-ko-4.12.2.tar.xz -> kde-l10n-ko-4.13.0.tar.xz ++++++
++++ 158547 lines of diff (skipped)
++++++ kde-l10n-lt-4.12.2.tar.xz -> kde-l10n-lt-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-lt-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-lt-4.13.0.tar.xz differ: char 27, line 1
++++++ kde-l10n-lv-4.12.2.tar.xz -> kde-l10n-lv-4.13.0.tar.xz ++++++
++++ 89353 lines of diff (skipped)
++++++ kde-l10n-mr-4.12.2.tar.xz -> kde-l10n-mr-4.13.0.tar.xz ++++++
++++ 99481 lines of diff (skipped)
++++++ kde-l10n-nb-4.12.2.tar.xz -> kde-l10n-nb-4.13.0.tar.xz ++++++
++++ 102278 lines of diff (skipped)
++++++ kde-l10n-nds-4.12.2.tar.xz -> kde-l10n-nds-4.13.0.tar.xz ++++++
++++ 151779 lines of diff (skipped)
++++++ kde-l10n-nl-4.12.2.tar.xz -> kde-l10n-nl-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-nl-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-nl-4.13.0.tar.xz differ: char 27, line 1
++++++ kde-l10n-nn-4.12.2.tar.xz -> kde-l10n-nn-4.13.0.tar.xz ++++++
++++ 85453 lines of diff (skipped)
++++++ kde-l10n-pa-4.12.2.tar.xz -> kde-l10n-pa-4.13.0.tar.xz ++++++
++++ 97438 lines of diff (skipped)
++++++ kde-l10n-pl-4.12.2.tar.xz -> kde-l10n-pl-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-pl-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-pl-4.13.0.tar.xz differ: char 27, line 1
++++++ kde-l10n-pt-4.12.2.tar.xz -> kde-l10n-pt-4.13.0.tar.xz ++++++
++++ 127265 lines of diff (skipped)
++++++ kde-l10n-pt_BR-4.12.2.tar.xz -> kde-l10n-pt_BR-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-pt_BR-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-pt_BR-4.13.0.tar.xz differ: char 27, line 1
++++++ kde-l10n-ro-4.12.2.tar.xz -> kde-l10n-ro-4.13.0.tar.xz ++++++
++++ 107464 lines of diff (skipped)
++++++ kde-l10n-ru-4.12.2.tar.xz -> kde-l10n-ru-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-ru-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-ru-4.13.0.tar.xz differ: char 27, line 1
++++++ kde-l10n-sk-4.12.2.tar.xz -> kde-l10n-sk-4.13.0.tar.xz ++++++
++++ 117903 lines of diff (skipped)
++++++ kde-l10n-sl-4.12.2.tar.xz -> kde-l10n-sl-4.13.0.tar.xz ++++++
++++ 105186 lines of diff (skipped)
++++++ kde-l10n-sr-4.12.2.tar.xz -> kde-l10n-sr-4.13.0.tar.xz ++++++
++++ 300150 lines of diff (skipped)
++++++ kde-l10n-sv-4.12.2.tar.xz -> kde-l10n-sv-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-sv-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-sv-4.13.0.tar.xz differ: char 27, line 1
++++++ kde-l10n-tr-4.12.2.tar.xz -> kde-l10n-tr-4.13.0.tar.xz ++++++
++++ 101768 lines of diff (skipped)
++++++ kde-l10n-ug-4.12.2.tar.xz -> kde-l10n-ug-4.13.0.tar.xz ++++++
++++ 98345 lines of diff (skipped)
++++++ kde-l10n-uk-4.12.2.tar.xz -> kde-l10n-uk-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kde4-l10n/kde-l10n-uk-4.12.2.tar.xz /work/SRC/openSUSE:Factory/.kde4-l10n.new/kde-l10n-uk-4.13.0.tar.xz differ: char 27, line 1
++++++ kde-l10n-vi-4.12.2.tar.xz -> kde-l10n-vi-4.13.0.tar.xz ++++++
++++ 24231 lines of diff (skipped)
++++++ kde-l10n-wa-4.12.2.tar.xz -> kde-l10n-wa-4.13.0.tar.xz ++++++
++++ 51325 lines of diff (skipped)
++++++ kde-l10n-zh_CN-4.12.2.tar.xz -> kde-l10n-zh_CN-4.13.0.tar.xz ++++++
++++ 108064 lines of diff (skipped)
++++++ kde-l10n-zh_TW-4.12.2.tar.xz -> kde-l10n-zh_TW-4.13.0.tar.xz ++++++
++++ 106317 lines of diff (skipped)
++++++ kde4-l10n.spec.in ++++++
--- /var/tmp/diff_new_pack.Ij4Wmo/_old 2014-04-18 15:47:10.000000000 +0200
+++ /var/tmp/diff_new_pack.Ij4Wmo/_new 2014-04-18 15:47:10.000000000 +0200
@@ -18,7 +18,7 @@
# icecream 0
Name: kde4-l10n
-Version: 4.12.2
+Version: 4.13.0
Release: 0
License: GPL-2.0+
Summary: English translations for KDE
@@ -119,6 +119,7 @@
turtlelang=$i
autolang=$i
l=$i
+ f=$i
case $i in
de)
turtlelang=de_DE
@@ -141,12 +142,18 @@
;;
sr@latin)
l=sr
+ f=sr
;;
sr@ijekavian)
l=sr
+ f=sr
;;
sr@ijekavianlatin)
l=sr
+ f=sr
+ ;;
+ ca@valencia)
+ f=caValencia
;;
esac
{
@@ -178,7 +185,7 @@
echo "%{_docdir}/kde4-l10n-$l"
- } >> files.$l
+ } >> files.$f
{
echo "%defattr(-,root,root)"
if test -d %{buildroot}%{_kde4_appsdir}/khangman/data/$i; then
@@ -282,7 +289,7 @@
if test -d %{buildroot}%{_docdir}/kde4-l10n-$i-data; then
echo "%{_docdir}/kde4-l10n-$i-data"
fi
- } >> files.data.$l
+ } >> files.data.$f
{
echo "%defattr(-,root,root)"
@@ -293,8 +300,8 @@
if test -d %{buildroot}%{_docdir}/kde4-l10n-$i-doc ; then
echo "%{_docdir}/kde4-l10n-$i-doc"
fi
- } >> files.doc.$l
- cat files.$l files.data.$l files.doc.$l >files.all.$l
+ } >> files.doc.$f
+ cat files.$f files.data.$f files.doc.$f >files.all.$f
done
%fdupes %{buildroot}
++++++ pre_checkin.sh ++++++
--- /var/tmp/diff_new_pack.Ij4Wmo/_old 2014-04-18 15:47:10.000000000 +0200
+++ /var/tmp/diff_new_pack.Ij4Wmo/_new 2014-04-18 15:47:10.000000000 +0200
@@ -46,6 +46,9 @@
lang=srLatn
plang=sr
fi
+ if test "$lang" = "ca@valencia"; then
+ lang=caValencia
+ fi
splitpackage=
for sl in $splitlanguages; do
++++++ texts ++++++
--- /var/tmp/diff_new_pack.Ij4Wmo/_old 2014-04-18 15:47:10.000000000 +0200
+++ /var/tmp/diff_new_pack.Ij4Wmo/_new 2014-04-18 15:47:10.000000000 +0200
@@ -32,10 +32,10 @@
application translations, help files, and screenshots.
-description.kde4-l10n-ca
summary.kde4-l10n-ca Catalan (ca) translations for KDE
-+description.kde4-l10n-ca@valencia
++description.kde4-l10n-caValencia
All the requirements for a KDE desktop in Valencian. This package contains
application translations, help files, and screenshots.
--description.kde4-l10n-ca@valencia
+-description.kde4-l10n-caValencia
summary.kde4-l10n-ca@valencia Valencian (ca@valencia) translations for KDE
+description.kde4-l10n-cs
All the requirements for a KDE desktop in Czech. This package contains
--
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 python-M2Crypto for openSUSE:Factory checked in at 2014-04-18 12:33:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-M2Crypto (Old)
and /work/SRC/openSUSE:Factory/.python-M2Crypto.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-M2Crypto"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-M2Crypto/python-M2Crypto.changes 2013-10-25 11:23:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-M2Crypto.new/python-M2Crypto.changes 2014-04-18 12:37:59.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Apr 17 19:49:12 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Update to 0.22.3
+ * No changelog provided
+- Demos are no longer included
+
+-------------------------------------------------------------------
Old:
----
M2Crypto-0.21.1.tar.gz
New:
----
M2Crypto-0.22.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-M2Crypto.spec ++++++
--- /var/tmp/diff_new_pack.bgwMlK/_old 2014-04-18 12:38:00.000000000 +0200
+++ /var/tmp/diff_new_pack.bgwMlK/_new 2014-04-18 12:38:00.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-M2Crypto
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: python-M2Crypto
-Version: 0.21.1
+Version: 0.22.3
Release: 0
Url: http://chandlerproject.org/bin/view/Projects/MeTooCrypto
Summary: Crypto and SSL toolkit for Python
@@ -69,12 +69,10 @@
#chmod 0644 demo/{https.howto/get_https,ssl/twistedsslclient,ssl/twistedsslserver,tinderbox/slave,x509/certdata2pem}.py
export DOCDIR=%{buildroot}%{_docdir}/%{name}
-chmod -R -x+X demo
mkdir -p $DOCDIR
-cp -r demo $DOCDIR
%fdupes $DOCDIR
-install -m 644 CHANGES LICENCE README $DOCDIR
+install -m 644 README $DOCDIR
%files
%defattr(-,root,root)
++++++ M2Crypto-0.21.1.tar.gz -> M2Crypto-0.22.3.tar.gz ++++++
++++ 34685 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 kde4-filesystem for openSUSE:Factory checked in at 2014-04-18 11:35:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kde4-filesystem (Old)
and /work/SRC/openSUSE:Factory/.kde4-filesystem.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kde4-filesystem"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kde4-filesystem/kde4-filesystem.changes 2014-03-30 07:50:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kde4-filesystem.new/kde4-filesystem.changes 2014-04-18 12:37:57.000000000 +0200
@@ -1,0 +2,7 @@
+Fri Apr 11 16:39:48 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.13.0
+ * KDE 4.13 release
+ * See http://www.kde.org/announcements/4.13/
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ macros.kde4 ++++++
--- /var/tmp/diff_new_pack.ikqjq8/_old 2014-04-18 12:37:58.000000000 +0200
+++ /var/tmp/diff_new_pack.ikqjq8/_new 2014-04-18 12:37:58.000000000 +0200
@@ -33,9 +33,9 @@
%_kde4_modules %{_kde4_modulesdir}
%_kde4_servicetypes %{_kde4_servicetypesdir}
-%_kde_platform_version 4.12.97
+%_kde_platform_version 4.13
%_kde_platform_minor_version %(echo %{_kde_platform_version} | cut -f 2 -d \.)
-%_kde_pimlibs_version 4.12.97
+%_kde_pimlibs_version 4.13
%_kde_branding_version 4.13
%_kde_akonadi_version 1.12.0
--
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 kdelibs4 for openSUSE:Factory checked in at 2014-04-18 11:35:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdelibs4 (Old)
and /work/SRC/openSUSE:Factory/.kdelibs4.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdelibs4"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kdelibs4/kdelibs4-apidocs.changes 2014-03-30 07:57:14.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdelibs4.new/kdelibs4-apidocs.changes 2014-04-18 12:37:54.000000000 +0200
@@ -1,0 +2,7 @@
+Fri Apr 11 16:42:45 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.13.0
+ * KDE 4.13 release
+ * See http://www.kde.org/announcements/4.13/
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/kdelibs4/kdelibs4.changes 2014-03-30 07:57:14.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdelibs4.new/kdelibs4.changes 2014-04-18 12:37:55.000000000 +0200
@@ -1,0 +2,12 @@
+Tue Apr 15 09:32:22 UTC 2014 - sweet_f_a(a)gmx.de
+
+- remove unused and unmaintained ssl certificates (bnc#873680)
+
+-------------------------------------------------------------------
+Fri Apr 11 16:42:45 UTC 2014 - tittiatcoke(a)gmail.com
+
+- Update to 4.13.0
+ * KDE 4.13 release
+ * See http://www.kde.org/announcements/4.13/
+
+-------------------------------------------------------------------
Old:
----
kdelibs-4.12.97.tar.xz
New:
----
kdelibs-4.13.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdelibs4-apidocs.spec ++++++
--- /var/tmp/diff_new_pack.9zFcTX/_old 2014-04-18 12:37:56.000000000 +0200
+++ /var/tmp/diff_new_pack.9zFcTX/_new 2014-04-18 12:37:56.000000000 +0200
@@ -17,7 +17,7 @@
Name: kdelibs4-apidocs
-Version: 4.12.97
+Version: 4.13.0
Release: 0
Summary: KDE 4 API documentation
License: LGPL-2.1+
++++++ kdelibs4.spec ++++++
--- /var/tmp/diff_new_pack.9zFcTX/_old 2014-04-18 12:37:56.000000000 +0200
+++ /var/tmp/diff_new_pack.9zFcTX/_new 2014-04-18 12:37:56.000000000 +0200
@@ -20,7 +20,7 @@
%bcond_with gendoxygen
Name: kdelibs4
-Version: 4.12.97
+Version: 4.13.0
Release: 0
BuildRequires: OpenEXR-devel
BuildRequires: automoc4
@@ -172,6 +172,8 @@
%install
%kde4_makeinstall -C build
chmod +x %{buildroot}%{_kde4_appsdir}/kconf_update/ksslcertificatemanager.upd.sh
+ # these unmaintained certs are probably unused anyway, remove them to be sure
+ rm -f %{buildroot}%{_kde4_appsdir}/kssl/ca-bundle.crt
pushd build
%create_subdir_filelist -d kdecore -v kdecore.devel
%create_subdir_filelist -d kpty -f kdecore -v kdecore.devel
++++++ kdelibs-4.12.97.tar.xz -> kdelibs-4.13.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/kdelibs4/kdelibs-4.12.97.tar.xz /work/SRC/openSUSE:Factory/.kdelibs4.new/kdelibs-4.13.0.tar.xz differ: char 27, 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