openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
February 2015
- 1 participants
- 1390 discussions
Hello community,
here is the log from the commit of package mkvtoolnix for openSUSE:Factory checked in at 2015-02-04 09:32:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mkvtoolnix (Old)
and /work/SRC/openSUSE:Factory/.mkvtoolnix.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mkvtoolnix"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mkvtoolnix/mkvtoolnix.changes 2014-12-16 14:49:07.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.mkvtoolnix.new/mkvtoolnix.changes 2015-02-04 12:54:38.000000000 +0100
@@ -1,0 +2,14 @@
+Sun Feb 1 17:24:56 UTC 2015 - jengelh(a)inai.de
+
+- Update to new upstream release 7.5.0
+* mkvmerge: Fixed reading MPEG transport streams in which
+ all PATs and/or PMTs have CRC errors.
+* mkvmerge: Implemented support for MP4 DASH files.
+* mkvmerge: Implemented reading MPEG-H p2/HEVC video
+ tracks from MP4 files.
+* mkvmerge: Implemented support for AAC in LOAS/LATM multiplex if
+ read from MPEG transport streams or raw LOAS/LATM AAC files.
+* mkvmerge: Added support for recognizing H.265/HEVC video tracks
+ in MPEG transport streams.
+
+-------------------------------------------------------------------
Old:
----
mkvtoolnix-7.4.0.tar.xz
New:
----
mkvtoolnix-7.5.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mkvtoolnix.spec ++++++
--- /var/tmp/diff_new_pack.ZbSnce/_old 2015-02-04 12:54:39.000000000 +0100
+++ /var/tmp/diff_new_pack.ZbSnce/_new 2015-02-04 12:54:39.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package mkvtoolnix
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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: mkvtoolnix
-Version: 7.4.0
+Version: 7.5.0
Release: 0
Summary: Tools to Create, Alter, and Inspect Matroska Files
License: GPL-2.0+
@@ -31,14 +31,14 @@
BuildRequires: fdupes
BuildRequires: file-devel
BuildRequires: gcc-c++ >= 4.7
-BuildRequires: libebml-devel >= 1.3.0
-BuildRequires: libmatroska-devel >= 1.4.1
BuildRequires: lzo-devel
BuildRequires: ruby >= 1.9
BuildRequires: xz
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(flac)
BuildRequires: pkgconfig(libcurl)
+BuildRequires: pkgconfig(libebml) >= 1.3.1
+BuildRequires: pkgconfig(libmatroska) >= 1.4.2
BuildRequires: pkgconfig(ogg)
BuildRequires: pkgconfig(vorbis)
BuildRequires: pkgconfig(zlib)
++++++ mkvtoolnix-7.4.0.tar.xz -> mkvtoolnix-7.5.0.tar.xz ++++++
++++ 100775 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 libgit2-glib for openSUSE:Factory checked in at 2015-02-04 09:32:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libgit2-glib (Old)
and /work/SRC/openSUSE:Factory/.libgit2-glib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libgit2-glib"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libgit2-glib/libgit2-glib.changes 2014-12-31 11:22:33.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libgit2-glib.new/libgit2-glib.changes 2015-02-04 12:52:17.000000000 +0100
@@ -1,0 +2,8 @@
+Tue Jan 27 18:38:13 UTC 2015 - dimstar(a)opensuse.org
+
+- Update to version 0.22.0:
+ + Fix api breaks made in libgit2.
+ + Follow libgit2's version.
+ + Misc bugfixing.
+
+-------------------------------------------------------------------
Old:
----
libgit2-glib-0.0.24.tar.xz
New:
----
libgit2-glib-0.22.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libgit2-glib.spec ++++++
--- /var/tmp/diff_new_pack.BJBErY/_old 2015-02-04 12:52:18.000000000 +0100
+++ /var/tmp/diff_new_pack.BJBErY/_new 2015-02-04 12:52:18.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libgit2-glib
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2013 Dominique Leuenberger, Amsterdam, The Netherlands.
#
# All modifications and additions to the file contributed by third parties
@@ -18,20 +18,20 @@
Name: libgit2-glib
-Version: 0.0.24
+Version: 0.22.0
Release: 0
Summary: Glib wrapper library around libgit2
License: LGPL-2.1+
Group: System/Libraries
Url: https://live.gnome.org/Libgit2-glib
-Source: http://download.gnome.org/sources/libgit2-glib/0.0/%{name}-%{version}.tar.xz
+Source: http://download.gnome.org/sources/libgit2-glib/0.22/%{name}-%{version}.tar.…
# Needed to create the vala bindings
BuildRequires: vala
BuildRequires: pkgconfig(gio-2.0) >= 2.28.0
BuildRequires: pkgconfig(glib-2.0) >= 2.28.0
BuildRequires: pkgconfig(gobject-2.0) >= 2.28.0
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.10.1
-BuildRequires: pkgconfig(libgit2) >= 0.21.0
+BuildRequires: pkgconfig(libgit2) >= 0.22.0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
++++++ libgit2-glib-0.0.24.tar.xz -> libgit2-glib-0.22.0.tar.xz ++++++
++++ 9134 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 fail2ban for openSUSE:Factory checked in at 2015-02-04 09:31:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fail2ban (Old)
and /work/SRC/openSUSE:Factory/.fail2ban.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fail2ban"
Changes:
--------
--- /work/SRC/openSUSE:Factory/fail2ban/fail2ban.changes 2014-11-26 10:34:08.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.fail2ban.new/fail2ban.changes 2015-02-04 12:47:12.000000000 +0100
@@ -1,0 +2,6 @@
+Wed Jan 21 21:00:48 UTC 2015 - jweberhofer(a)weberhofer.at
+
+- Fixed strptime thread safety issue.
+ fail2ban-issue_906-strptime.patch (bnc#914075 gh#fail2ban/fail2ban#906)
+
+-------------------------------------------------------------------
New:
----
fail2ban-issue_906-strptime.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fail2ban.spec ++++++
--- /var/tmp/diff_new_pack.7FjMUL/_old 2015-02-04 12:47:13.000000000 +0100
+++ /var/tmp/diff_new_pack.7FjMUL/_new 2015-02-04 12:47:13.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package fail2ban
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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
@@ -36,8 +36,10 @@
Source5: %{name}.tmpfiles
Source6: sfw-fail2ban.conf
Source7: f2b-restart.conf
-# PATCH-FIX-OPENSUSE fail2ban-opensuse-locations.patch bnc#878028 jweberhofer@weberhoferat -- update default locations for logfiles
+# PATCH-FIX-OPENSUSE fail2ban-opensuse-locations.patch bnc#878028 jweberhofer(a)weberhofer.at -- update default locations for logfiles
Patch100: fail2ban-opensuse-locations.patch
+# PATCH-FIX-UPSTREAM fail2ban-issue_906-strptime.patch bnc#914075, gh#fail2ban/fail2ban#906 jweberhofer(a)weberhofer.at -- Fix strptime thread safety issue
+Patch101: fail2ban-issue_906-strptime.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%if 0%{?suse_version} >= 1230
@@ -97,6 +99,8 @@
%prep
%setup
%patch100 -p1
+%patch101 -p1
+
# correct doc-path
sed -i -e 's|%{_prefix}/share/doc/fail2ban|%{_docdir}/%{name}|' setup.py
++++++ fail2ban-issue_906-strptime.patch ++++++
diff -ur fail2ban-0.8.14.orig/common/__init__.py fail2ban-0.8.14/common/__init__.py
--- fail2ban-0.8.14.orig/common/__init__.py 2014-08-19 22:23:33.000000000 +0200
+++ fail2ban-0.8.14/common/__init__.py 2015-01-21 21:51:13.425141175 +0100
@@ -28,3 +28,7 @@
# Custom debug level
logging.HEAVYDEBUG = 5
+
+from time import strptime
+# strptime thread safety hack-around - http://bugs.python.org/issue7980
+strptime("2012", "%Y")
--
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 cloud-init for openSUSE:Factory checked in at 2015-02-04 09:32:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cloud-init (Old)
and /work/SRC/openSUSE:Factory/.cloud-init.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cloud-init"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cloud-init/cloud-init.changes 2014-12-03 22:48:21.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.cloud-init.new/cloud-init.changes 2015-02-04 12:46:01.000000000 +0100
@@ -1,0 +2,6 @@
+Tue Feb 3 15:28:37 UTC 2015 - tbechtold(a)suse.com
+
+- Remove Requires for python-yaml . There's already the right
+ requirement for python-PyYAML
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cloud-init.spec ++++++
--- /var/tmp/diff_new_pack.Ou7zsg/_old 2015-02-04 12:46:02.000000000 +0100
+++ /var/tmp/diff_new_pack.Ou7zsg/_new 2015-02-04 12:46:02.000000000 +0100
@@ -59,7 +59,6 @@
Requires: python-PyYAML
Requires: python-requests
Requires: python-xml
-Requires: python-yaml
Requires: sudo
Requires: util-linux
BuildRoot: %{_tmppath}/%{name}-%{version}-build
--
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 2015-02-04 09:31:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc49 (Old)
and /work/SRC/openSUSE:Factory/.gcc49.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc49"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc49/cross-aarch64-gcc49.changes 2014-06-25 21:20:22.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gcc49.new/cross-aarch64-gcc49.changes 2015-02-04 09:31:48.000000000 +0100
@@ -1,0 +2,47 @@
+Mon Dec 8 09:01:59 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r218474).
+ * Includes patches to allow building against ISL 0.14.
+
+-------------------------------------------------------------------
+Mon Nov 24 13:52:44 UTC 2014 - rguenther(a)suse.com
+
+- Fix baselibs.conf.
+- Fix libjava version.
+- Fix missing default attributes on go package filelists.
+
+-------------------------------------------------------------------
+Thu Oct 30 11:41:45 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r216917).
+ * Includes GCC 4.9.2 release with lots of bugfixes.
+
+-------------------------------------------------------------------
+Thu Sep 18 12:37:30 UTC 2014 - jengelh(a)inai.de
+
+- Enable cross compilers for SPARC
+
+-------------------------------------------------------------------
+Fri Aug 1 08:38:23 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r213409).
+ * Includes fix for libgfortran integer overflows, CVE-2014-5044
+ [bnc#888791]
+
+-------------------------------------------------------------------
+Wed Jul 16 10:08:34 UTC 2014 - rguenther(a)suse.com
+
+- Update to GCC 4.9.1 release.
+
+-------------------------------------------------------------------
+Wed Jul 9 20:53:47 UTC 2014 - ptesarik(a)suse.cz
+
+- Fix spec templates for avr and spu.
+- Add cross-avr-gcc49.
+
+-------------------------------------------------------------------
+Thu Jun 26 07:15:02 UTC 2014 - rguenther(a)suse.com
+
+- Add libffi49-rpmlintrc as source.
+
+-------------------------------------------------------------------
cross-armv6hl-gcc49.changes: same change
cross-armv7hl-gcc49.changes: same change
New Changes file:
--- /dev/null 2014-12-25 22:38:16.200041506 +0100
+++ /work/SRC/openSUSE:Factory/.gcc49.new/cross-avr-gcc49.changes 2015-02-04 09:31:49.000000000 +0100
@@ -0,0 +1,180 @@
+-------------------------------------------------------------------
+Mon Dec 8 09:01:59 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r218474).
+ * Includes patches to allow building against ISL 0.14.
+
+-------------------------------------------------------------------
+Mon Nov 24 13:52:44 UTC 2014 - rguenther(a)suse.com
+
+- Fix baselibs.conf.
+- Fix libjava version.
+- Fix missing default attributes on go package filelists.
+
+-------------------------------------------------------------------
+Thu Oct 30 11:41:45 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r216917).
+ * Includes GCC 4.9.2 release with lots of bugfixes.
+
+-------------------------------------------------------------------
+Thu Sep 18 12:37:30 UTC 2014 - jengelh(a)inai.de
+
+- Enable cross compilers for SPARC
+
+-------------------------------------------------------------------
+Fri Aug 1 08:38:23 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r213409).
+ * Includes fix for libgfortran integer overflows, CVE-2014-5044
+ [bnc#888791]
+
+-------------------------------------------------------------------
+Wed Jul 16 10:08:34 UTC 2014 - rguenther(a)suse.com
+
+- Update to GCC 4.9.1 release.
+
+-------------------------------------------------------------------
+Wed Jul 9 20:53:47 UTC 2014 - ptesarik(a)suse.cz
+
+- Fix spec templates for avr and spu.
+- Add cross-avr-gcc49.
+
+-------------------------------------------------------------------
+Thu Jun 26 07:15:02 UTC 2014 - rguenther(a)suse.com
+
+- Add libffi49-rpmlintrc as source.
+
+-------------------------------------------------------------------
+Tue Jun 17 09:14:00 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r211729).
+
+-------------------------------------------------------------------
+Thu Jun 5 11:27:53 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r211260).
+
+-------------------------------------------------------------------
+Thu May 22 08:18:10 UTC 2014 - rguenther(a)suse.com
+
+- Fix libstdc++49-doc build conditional to really only build from
+ libgcj49.spec.
+
+-------------------------------------------------------------------
+Tue May 13 13:45:22 UTC 2014 - rguenther(a)suse.com
+
+- Build libstdc++48-doc package from the libgcj48 build and build
+ the libstdc++ API reference, build-requiring doxygen and graphviz.
+ Add patch gcc48-libstdc++-api-reference.patch to refer to that
+ instead of the online version. [bnc#871501]
+
+-------------------------------------------------------------------
+Mon Apr 28 08:28:58 UTC 2014 - rguenther(a)suse.com
+
+- Drop cross-ppc-gcc49 packages, they conflict with cross-ppc64-gcc49
+ because they share the same target triplet. Obsolete older
+ cross-ppc-gcc49 from cross-ppc64-gcc49.
+
+-------------------------------------------------------------------
+Fri Apr 25 09:21:16 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r209782).
+ * includes gcc49-pr60720.patch
+- Add requires to libgo from gcc-go. [bnc#875128]
+
+-------------------------------------------------------------------
+Tue Apr 22 07:54:46 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc 4.9.0.
+- Switch to release checking and enable profiledbootstrap where
+ applicable.
+
+-------------------------------------------------------------------
+Sat Apr 19 10:47:34 UTC 2014 - schwab(a)suse.de
+
+- Add aarch64 to atomic_arch
+
+-------------------------------------------------------------------
+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
+
--- /work/SRC/openSUSE:Factory/gcc49/cross-i386-gcc49.changes 2014-06-25 21:20:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gcc49.new/cross-i386-gcc49.changes 2015-02-04 09:31:49.000000000 +0100
@@ -1,0 +2,47 @@
+Mon Dec 8 09:01:59 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r218474).
+ * Includes patches to allow building against ISL 0.14.
+
+-------------------------------------------------------------------
+Mon Nov 24 13:52:44 UTC 2014 - rguenther(a)suse.com
+
+- Fix baselibs.conf.
+- Fix libjava version.
+- Fix missing default attributes on go package filelists.
+
+-------------------------------------------------------------------
+Thu Oct 30 11:41:45 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r216917).
+ * Includes GCC 4.9.2 release with lots of bugfixes.
+
+-------------------------------------------------------------------
+Thu Sep 18 12:37:30 UTC 2014 - jengelh(a)inai.de
+
+- Enable cross compilers for SPARC
+
+-------------------------------------------------------------------
+Fri Aug 1 08:38:23 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r213409).
+ * Includes fix for libgfortran integer overflows, CVE-2014-5044
+ [bnc#888791]
+
+-------------------------------------------------------------------
+Wed Jul 16 10:08:34 UTC 2014 - rguenther(a)suse.com
+
+- Update to GCC 4.9.1 release.
+
+-------------------------------------------------------------------
+Wed Jul 9 20:53:47 UTC 2014 - ptesarik(a)suse.cz
+
+- Fix spec templates for avr and spu.
+- Add cross-avr-gcc49.
+
+-------------------------------------------------------------------
+Thu Jun 26 07:15:02 UTC 2014 - rguenther(a)suse.com
+
+- Add libffi49-rpmlintrc as source.
+
+-------------------------------------------------------------------
cross-ppc64-gcc49.changes: same change
cross-ppc64le-gcc49.changes: same change
cross-s390-gcc49.changes: same change
cross-s390x-gcc49.changes: same change
New Changes file:
--- /dev/null 2014-12-25 22:38:16.200041506 +0100
+++ /work/SRC/openSUSE:Factory/.gcc49.new/cross-sparc-gcc49.changes 2015-02-04 09:31:49.000000000 +0100
@@ -0,0 +1,180 @@
+-------------------------------------------------------------------
+Mon Dec 8 09:01:59 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r218474).
+ * Includes patches to allow building against ISL 0.14.
+
+-------------------------------------------------------------------
+Mon Nov 24 13:52:44 UTC 2014 - rguenther(a)suse.com
+
+- Fix baselibs.conf.
+- Fix libjava version.
+- Fix missing default attributes on go package filelists.
+
+-------------------------------------------------------------------
+Thu Oct 30 11:41:45 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r216917).
+ * Includes GCC 4.9.2 release with lots of bugfixes.
+
+-------------------------------------------------------------------
+Thu Sep 18 12:37:30 UTC 2014 - jengelh(a)inai.de
+
+- Enable cross compilers for SPARC
+
+-------------------------------------------------------------------
+Fri Aug 1 08:38:23 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r213409).
+ * Includes fix for libgfortran integer overflows, CVE-2014-5044
+ [bnc#888791]
+
+-------------------------------------------------------------------
+Wed Jul 16 10:08:34 UTC 2014 - rguenther(a)suse.com
+
+- Update to GCC 4.9.1 release.
+
+-------------------------------------------------------------------
+Wed Jul 9 20:53:47 UTC 2014 - ptesarik(a)suse.cz
+
+- Fix spec templates for avr and spu.
+- Add cross-avr-gcc49.
+
+-------------------------------------------------------------------
+Thu Jun 26 07:15:02 UTC 2014 - rguenther(a)suse.com
+
+- Add libffi49-rpmlintrc as source.
+
+-------------------------------------------------------------------
+Tue Jun 17 09:14:00 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r211729).
+
+-------------------------------------------------------------------
+Thu Jun 5 11:27:53 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r211260).
+
+-------------------------------------------------------------------
+Thu May 22 08:18:10 UTC 2014 - rguenther(a)suse.com
+
+- Fix libstdc++49-doc build conditional to really only build from
+ libgcj49.spec.
+
+-------------------------------------------------------------------
+Tue May 13 13:45:22 UTC 2014 - rguenther(a)suse.com
+
+- Build libstdc++48-doc package from the libgcj48 build and build
+ the libstdc++ API reference, build-requiring doxygen and graphviz.
+ Add patch gcc48-libstdc++-api-reference.patch to refer to that
+ instead of the online version. [bnc#871501]
+
+-------------------------------------------------------------------
+Mon Apr 28 08:28:58 UTC 2014 - rguenther(a)suse.com
+
+- Drop cross-ppc-gcc49 packages, they conflict with cross-ppc64-gcc49
+ because they share the same target triplet. Obsolete older
+ cross-ppc-gcc49 from cross-ppc64-gcc49.
+
+-------------------------------------------------------------------
+Fri Apr 25 09:21:16 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r209782).
+ * includes gcc49-pr60720.patch
+- Add requires to libgo from gcc-go. [bnc#875128]
+
+-------------------------------------------------------------------
+Tue Apr 22 07:54:46 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc 4.9.0.
+- Switch to release checking and enable profiledbootstrap where
+ applicable.
+
+-------------------------------------------------------------------
+Sat Apr 19 10:47:34 UTC 2014 - schwab(a)suse.de
+
+- Add aarch64 to atomic_arch
+
+-------------------------------------------------------------------
+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-sparc64-gcc49.changes: same change
--- /work/SRC/openSUSE:Factory/gcc49/cross-x86_64-gcc49.changes 2014-06-25 21:20:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gcc49.new/cross-x86_64-gcc49.changes 2015-02-04 09:31:50.000000000 +0100
@@ -1,0 +2,47 @@
+Mon Dec 8 09:01:59 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r218474).
+ * Includes patches to allow building against ISL 0.14.
+
+-------------------------------------------------------------------
+Mon Nov 24 13:52:44 UTC 2014 - rguenther(a)suse.com
+
+- Fix baselibs.conf.
+- Fix libjava version.
+- Fix missing default attributes on go package filelists.
+
+-------------------------------------------------------------------
+Thu Oct 30 11:41:45 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r216917).
+ * Includes GCC 4.9.2 release with lots of bugfixes.
+
+-------------------------------------------------------------------
+Thu Sep 18 12:37:30 UTC 2014 - jengelh(a)inai.de
+
+- Enable cross compilers for SPARC
+
+-------------------------------------------------------------------
+Fri Aug 1 08:38:23 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_9-branch head (r213409).
+ * Includes fix for libgfortran integer overflows, CVE-2014-5044
+ [bnc#888791]
+
+-------------------------------------------------------------------
+Wed Jul 16 10:08:34 UTC 2014 - rguenther(a)suse.com
+
+- Update to GCC 4.9.1 release.
+
+-------------------------------------------------------------------
+Wed Jul 9 20:53:47 UTC 2014 - ptesarik(a)suse.cz
+
+- Fix spec templates for avr and spu.
+- Add cross-avr-gcc49.
+
+-------------------------------------------------------------------
+Thu Jun 26 07:15:02 UTC 2014 - rguenther(a)suse.com
+
+- Add libffi49-rpmlintrc as source.
+
+-------------------------------------------------------------------
gcc49-testresults.changes: same change
gcc49.changes: same change
libffi49.changes: same change
libgcj49.changes: same change
Old:
----
gcc-4.9.0-r211729.tar.bz2
New:
----
cross-avr-gcc49.changes
cross-avr-gcc49.spec
cross-sparc-gcc49.changes
cross-sparc-gcc49.spec
cross-sparc64-gcc49.changes
cross-sparc64-gcc49.spec
gcc-4.9.2-r218474.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cross-aarch64-gcc49.spec ++++++
--- /var/tmp/diff_new_pack.uJOhHg/_old 2015-02-04 09:31:57.000000000 +0100
+++ /var/tmp/diff_new_pack.uJOhHg/_new 2015-02-04 09:31:57.000000000 +0100
@@ -49,9 +49,18 @@
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
+%if %{cross_arch} == "sparcv9"
+%define binutils_target sparc
+%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} == "avr" || %{binutils_target} == "spu"
+%define binutils_os %{canonical_target}
+%else
%if %{binutils_target} == "arm"
-%define canonical_target_abi -gnueabi
+%define binutils_os %{canonical_target}-suse-linux-gnueabi
+%else
+%define binutils_os %{canonical_target}-suse-linux
+%endif
%endif
%if 0%{?gcc_icecream:1}
@@ -95,7 +104,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.9.0+r211729
+Version: 4.9.2+r218474
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -110,6 +119,7 @@
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
+Source8: libffi49-rpmlintrc
#testpatch begin
@@ -393,8 +403,8 @@
--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 \
+%if 0%{?binutils_os:1}
+ --with-build-time-tools=/usr/%{binutils_os}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
@@ -515,7 +525,7 @@
# 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 \
+install -s -D %{_prefix}/bin/%{binutils_os}-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++
cross-armv6hl-gcc49.spec: same change
cross-armv7hl-gcc49.spec: same change
++++++ cross-avr-gcc49.spec ++++++
#
# spec file for package cross-avr-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-avr-gcc49
%define cross_arch avr
%define gcc_target_arch avr-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
%if %{cross_arch} == "sparcv9"
%define binutils_target sparc
%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} == "avr" || %{binutils_target} == "spu"
%define binutils_os %{canonical_target}
%else
%if %{binutils_target} == "arm"
%define binutils_os %{canonical_target}-suse-linux-gnueabi
%else
%define binutils_os %{canonical_target}-suse-linux
%endif
%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
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
# file conflicts with it and is no longer packaged
%if "%pkgname" == "cross-ppc64-gcc49"
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
%endif
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.2+r218474
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
Source8: libffi49-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
Patch39: gcc48-libstdc++-api-reference.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
%patch39
%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%{?binutils_os:1}
--with-build-time-tools=/usr/%{binutils_os}/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/%{binutils_os}-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 ++++++
--- /var/tmp/diff_new_pack.uJOhHg/_old 2015-02-04 09:31:57.000000000 +0100
+++ /var/tmp/diff_new_pack.uJOhHg/_new 2015-02-04 09:31:57.000000000 +0100
@@ -49,9 +49,18 @@
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
+%if %{cross_arch} == "sparcv9"
+%define binutils_target sparc
+%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} == "avr" || %{binutils_target} == "spu"
+%define binutils_os %{canonical_target}
+%else
%if %{binutils_target} == "arm"
-%define canonical_target_abi -gnueabi
+%define binutils_os %{canonical_target}-suse-linux-gnueabi
+%else
+%define binutils_os %{canonical_target}-suse-linux
+%endif
%endif
%if 0%{?gcc_icecream:1}
@@ -95,7 +104,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.9.0+r211729
+Version: 4.9.2+r218474
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -110,6 +119,7 @@
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
+Source8: libffi49-rpmlintrc
#testpatch begin
@@ -393,8 +403,8 @@
--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 \
+%if 0%{?binutils_os:1}
+ --with-build-time-tools=/usr/%{binutils_os}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
@@ -515,7 +525,7 @@
# 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 \
+install -s -D %{_prefix}/bin/%{binutils_os}-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++
cross-ppc64-gcc49.spec: same change
cross-ppc64le-gcc49.spec: same change
cross-s390-gcc49.spec: same change
cross-s390x-gcc49.spec: same change
++++++ cross-sparc-gcc49.spec ++++++
#
# spec file for package cross-sparc-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-sparc-gcc49
%define cross_arch sparcv9
%define gcc_target_arch sparc-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
%if %{cross_arch} == "sparcv9"
%define binutils_target sparc
%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} == "avr" || %{binutils_target} == "spu"
%define binutils_os %{canonical_target}
%else
%if %{binutils_target} == "arm"
%define binutils_os %{canonical_target}-suse-linux-gnueabi
%else
%define binutils_os %{canonical_target}-suse-linux
%endif
%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
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
# file conflicts with it and is no longer packaged
%if "%pkgname" == "cross-ppc64-gcc49"
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
%endif
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.2+r218474
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
Source8: libffi49-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
Patch39: gcc48-libstdc++-api-reference.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
%patch39
%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%{?binutils_os:1}
--with-build-time-tools=/usr/%{binutils_os}/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/%{binutils_os}-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-sparc64-gcc49.spec ++++++
#
# spec file for package cross-sparc64-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-sparc64-gcc49
%define cross_arch sparc64
%define gcc_target_arch sparc64-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
%if %{cross_arch} == "sparcv9"
%define binutils_target sparc
%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} == "avr" || %{binutils_target} == "spu"
%define binutils_os %{canonical_target}
%else
%if %{binutils_target} == "arm"
%define binutils_os %{canonical_target}-suse-linux-gnueabi
%else
%define binutils_os %{canonical_target}-suse-linux
%endif
%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
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
# file conflicts with it and is no longer packaged
%if "%pkgname" == "cross-ppc64-gcc49"
Obsoletes: cross-ppc-gcc49 <= 4.9.0+r209354
%endif
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
Version: 4.9.2+r218474
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
Source8: libffi49-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
Patch39: gcc48-libstdc++-api-reference.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
%patch39
%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%{?binutils_os:1}
--with-build-time-tools=/usr/%{binutils_os}/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/%{binutils_os}-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 ++++++
--- /var/tmp/diff_new_pack.uJOhHg/_old 2015-02-04 09:31:57.000000000 +0100
+++ /var/tmp/diff_new_pack.uJOhHg/_new 2015-02-04 09:31:57.000000000 +0100
@@ -49,9 +49,18 @@
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
+%if %{cross_arch} == "sparcv9"
+%define binutils_target sparc
+%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} == "avr" || %{binutils_target} == "spu"
+%define binutils_os %{canonical_target}
+%else
%if %{binutils_target} == "arm"
-%define canonical_target_abi -gnueabi
+%define binutils_os %{canonical_target}-suse-linux-gnueabi
+%else
+%define binutils_os %{canonical_target}-suse-linux
+%endif
%endif
%if 0%{?gcc_icecream:1}
@@ -95,7 +104,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.9.0+r211729
+Version: 4.9.2+r218474
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -110,6 +119,7 @@
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
+Source8: libffi49-rpmlintrc
#testpatch begin
@@ -393,8 +403,8 @@
--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 \
+%if 0%{?binutils_os:1}
+ --with-build-time-tools=/usr/%{binutils_os}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
@@ -515,7 +525,7 @@
# 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 \
+install -s -D %{_prefix}/bin/%{binutils_os}-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++
++++++ gcc49-testresults.spec ++++++
--- /var/tmp/diff_new_pack.uJOhHg/_old 2015-02-04 09:31:57.000000000 +0100
+++ /var/tmp/diff_new_pack.uJOhHg/_new 2015-02-04 09:31:57.000000000 +0100
@@ -48,7 +48,7 @@
%define quadmath_arch %ix86 x86_64 ia64
%define tsan_arch x86_64
%define asan_arch x86_64 %ix86 ppc ppc64 %sparc %arm
-%define itm_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc
+%define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k
%define lsan_arch x86_64
%define ubsan_arch x86_64 %ix86 ppc ppc64 %arm
@@ -241,7 +241,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.9.0+r211729
+Version: 4.9.2+r218474
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -290,6 +290,7 @@
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
+Source8: libffi49-rpmlintrc
#testpatch begin
@@ -624,8 +625,8 @@
--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 \
+%if 0%{?binutils_os:1}
+ --with-build-time-tools=/usr/%{binutils_os}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
++++++ gcc49.spec ++++++
--- /var/tmp/diff_new_pack.uJOhHg/_old 2015-02-04 09:31:57.000000000 +0100
+++ /var/tmp/diff_new_pack.uJOhHg/_new 2015-02-04 09:31:57.000000000 +0100
@@ -30,7 +30,7 @@
%define quadmath_arch %ix86 x86_64 ia64
%define tsan_arch x86_64
%define asan_arch x86_64 %ix86 ppc ppc64 %sparc %arm
-%define itm_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc
+%define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k
%define lsan_arch x86_64
%define ubsan_arch x86_64 %ix86 ppc ppc64 %arm
@@ -223,7 +223,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.9.0+r211729
+Version: 4.9.2+r218474
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -272,6 +272,7 @@
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
+Source8: libffi49-rpmlintrc
#testpatch begin
@@ -1940,8 +1941,8 @@
--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 \
+%if 0%{?binutils_os:1}
+ --with-build-time-tools=/usr/%{binutils_os}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
@@ -2626,6 +2627,9 @@
%ifarch %cilkrts_arch
%{libsubdir}/include/cilk
%endif
+%ifarch %asan_arch
+%{libsubdir}/include/sanitizer
+%endif
%versmainlib *crt*.o
%versmainlib libgcc*.a
%versmainlib libgcov.a
@@ -3251,6 +3255,7 @@
%if %{build_go}
%files go
+%defattr(-,root,root)
%{_prefix}/bin/gccgo%{binsuffix}
%{libsubdir}/go1
%versmainlib libgo.a
@@ -3263,6 +3268,7 @@
%if %{separate_biarch}
%files go%{separate_biarch_suffix}
+%defattr(-,root,root)
%versbiarchlib libgo.a
%versbiarchlib libgo.so
%versbiarchlib libgobegin.a
++++++ libffi49.spec ++++++
--- /var/tmp/diff_new_pack.uJOhHg/_old 2015-02-04 09:31:57.000000000 +0100
+++ /var/tmp/diff_new_pack.uJOhHg/_new 2015-02-04 09:31:57.000000000 +0100
@@ -47,7 +47,7 @@
%define quadmath_arch %ix86 x86_64 ia64
%define tsan_arch x86_64
%define asan_arch x86_64 %ix86 ppc ppc64 %sparc %arm
-%define itm_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc
+%define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k
%define lsan_arch x86_64
%define ubsan_arch x86_64 %ix86 ppc ppc64 %arm
@@ -240,7 +240,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.9.0+r211729
+Version: 4.9.2+r218474
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -289,6 +289,7 @@
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
+Source8: libffi49-rpmlintrc
#testpatch begin
@@ -789,8 +790,8 @@
--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 \
+%if 0%{?binutils_os:1}
+ --with-build-time-tools=/usr/%{binutils_os}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
@@ -1124,6 +1125,7 @@
%if %{build_go}
%files go
+%defattr(-,root,root)
%{_prefix}/bin/gccgo%{binsuffix}
%{libsubdir}/go1
%versmainlib libgo.a
@@ -1136,6 +1138,7 @@
%if %{separate_biarch}
%files go%{separate_biarch_suffix}
+%defattr(-,root,root)
%versbiarchlib libgo.a
%versbiarchlib libgo.so
%versbiarchlib libgobegin.a
++++++ libgcj49.spec ++++++
--- /var/tmp/diff_new_pack.uJOhHg/_old 2015-02-04 09:31:57.000000000 +0100
+++ /var/tmp/diff_new_pack.uJOhHg/_new 2015-02-04 09:31:57.000000000 +0100
@@ -47,7 +47,7 @@
%define quadmath_arch %ix86 x86_64 ia64
%define tsan_arch x86_64
%define asan_arch x86_64 %ix86 ppc ppc64 %sparc %arm
-%define itm_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc
+%define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k
%define lsan_arch x86_64
%define ubsan_arch x86_64 %ix86 ppc ppc64 %arm
@@ -240,7 +240,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.9.0+r211729
+Version: 4.9.2+r218474
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -289,6 +289,7 @@
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
+Source8: libffi49-rpmlintrc
#testpatch begin
@@ -879,8 +880,8 @@
--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 \
+%if 0%{?binutils_os:1}
+ --with-build-time-tools=/usr/%{binutils_os}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
@@ -1490,6 +1491,7 @@
%if %{build_go}
%files go
+%defattr(-,root,root)
%{_prefix}/bin/gccgo%{binsuffix}
%{libsubdir}/go1
%versmainlib libgo.a
@@ -1502,6 +1504,7 @@
%if %{separate_biarch}
%files go%{separate_biarch_suffix}
+%defattr(-,root,root)
%versbiarchlib libgo.a
%versbiarchlib libgo.so
%versbiarchlib libgobegin.a
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.uJOhHg/_old 2015-02-04 09:31:57.000000000 +0100
+++ /var/tmp/diff_new_pack.uJOhHg/_new 2015-02-04 09:31:57.000000000 +0100
@@ -1,9 +1,9 @@
targettype x86 package libgcc_s1
targettype x86 package libstdc++6
-libgcj48
- requires "libgcj48"
-libgcj48-devel
-gcc48-gij
- requires "libgcj48-<targettype>"
- +/usr/bin/gij-4.8 -> /usr/bin/gij<extension>-4.8
- +/usr/bin/grmiregistry-4.8 -> /usr/bin/grmiregistry<extension>-4.8
+libgcj49
+ requires "libgcj49"
+libgcj49-devel
+gcc49-gij
+ requires "libgcj49-<targettype>"
+ +/usr/bin/gij-4.9 -> /usr/bin/gij<extension>-4.9
+ +/usr/bin/grmiregistry-4.9 -> /usr/bin/grmiregistry<extension>-4.9
++++++ change_spec ++++++
--- /var/tmp/diff_new_pack.uJOhHg/_old 2015-02-04 09:31:57.000000000 +0100
+++ /var/tmp/diff_new_pack.uJOhHg/_new 2015-02-04 09:31:57.000000000 +0100
@@ -133,10 +133,13 @@
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-avr-gcc$base_ver avr avr-suse-linux %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-sparc-gcc$base_ver sparcv9 sparc-suse-linux %define gcc_icecream 1
+add_cross cross-sparc64-gcc$base_ver sparc64 sparc64-suse-linux %define gcc_icecream 1
# No cross-ppc because it shares the target triplet with cross-ppc64
#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
++++++ cross.spec.in ++++++
--- /var/tmp/diff_new_pack.uJOhHg/_old 2015-02-04 09:31:57.000000000 +0100
+++ /var/tmp/diff_new_pack.uJOhHg/_new 2015-02-04 09:31:57.000000000 +0100
@@ -28,9 +28,18 @@
%if %{cross_arch} == "armv5tel"
%define binutils_target arm
%endif
+%if %{cross_arch} == "sparcv9"
+%define binutils_target sparc
+%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} == "avr" || %{binutils_target} == "spu"
+%define binutils_os %{canonical_target}
+%else
%if %{binutils_target} == "arm"
-%define canonical_target_abi -gnueabi
+%define binutils_os %{canonical_target}-suse-linux-gnueabi
+%else
+%define binutils_os %{canonical_target}-suse-linux
+%endif
%endif
%if 0%{?gcc_icecream:1}
@@ -64,7 +73,7 @@
%if 0%{!?gcc_icecream:1}
BuildRequires: cross-%cross_arch-glibc-devel
%endif
-ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
+ExclusiveArch: ppc64 x86_64 ia64 s390x aarch64
%define _binary_payload w.ufdio
# Obsolete cross-ppc-gcc49 from cross-ppc64-gcc49 which has
# file conflicts with it and is no longer packaged
@@ -121,7 +130,7 @@
# 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 \
+install -s -D %{_prefix}/bin/%{binutils_os}-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++
++++++ gcc-4.9.0-r211729.tar.bz2 -> gcc-4.9.2-r218474.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/gcc49/gcc-4.9.0-r211729.tar.bz2 /work/SRC/openSUSE:Factory/.gcc49.new/gcc-4.9.2-r218474.tar.bz2 differ: char 11, line 1
++++++ gcc-dir-version.patch ++++++
--- /var/tmp/diff_new_pack.uJOhHg/_old 2015-02-04 09:31:58.000000000 +0100
+++ /var/tmp/diff_new_pack.uJOhHg/_new 2015-02-04 09:31:58.000000000 +0100
@@ -119,7 +119,7 @@
set text [eval exec "$GCJ_UNDER_TEST -B$specdir -v 2>@ stdout"]
regexp " version \[^\n\r\]*" $text version
- set libjava_version [lindex $version 1]
-+ set libjava_version 4.8
++ set libjava_version 4.9
verbose "version: $libjava_version"
++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.uJOhHg/_old 2015-02-04 09:31:58.000000000 +0100
+++ /var/tmp/diff_new_pack.uJOhHg/_new 2015-02-04 09:31:58.000000000 +0100
@@ -32,7 +32,7 @@
%define quadmath_arch %ix86 x86_64 ia64
%define tsan_arch x86_64
%define asan_arch x86_64 %ix86 ppc ppc64 %sparc %arm
-%define itm_arch x86_64 %ix86 %arm ppc ppc64 ppc64le s390 s390x %sparc
+%define itm_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc
%define atomic_arch x86_64 %ix86 %arm aarch64 ppc ppc64 ppc64le s390 s390x %sparc m68k
%define lsan_arch x86_64
%define ubsan_arch x86_64 %ix86 ppc ppc64 %arm
@@ -228,7 +228,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: http://gcc.gnu.org/
-Version: 4.9.0+r211729
+Version: 4.9.2+r218474
Release: 1
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -278,6 +278,7 @@
Source5: README.First-for.SuSE.packagers
Source6: baselibs.conf
Source7: libgcj49-rpmlintrc
+Source8: libffi49-rpmlintrc
#testpatch begin
@@ -1316,8 +1317,8 @@
--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 \
+%if 0%{?binutils_os:1}
+ --with-build-time-tools=/usr/%{binutils_os}/bin \
%endif
%if "%{TARGET_ARCH}" == "spu"
--with-gxx-include-dir=%sysroot/include/c++/%{gcc_dir_version} \
@@ -2019,6 +2020,9 @@
%ifarch %cilkrts_arch
%{libsubdir}/include/cilk
%endif
+%ifarch %asan_arch
+%{libsubdir}/include/sanitizer
+%endif
%versmainlib *crt*.o
%versmainlib libgcc*.a
%versmainlib libgcov.a
@@ -2659,6 +2663,7 @@
%if %{build_go}
%files go
+%defattr(-,root,root)
%{_prefix}/bin/gccgo%{binsuffix}
%{libsubdir}/go1
%versmainlib libgo.a
@@ -2671,6 +2676,7 @@
%if %{separate_biarch}
%files go%{separate_biarch_suffix}
+%defattr(-,root,root)
%versbiarchlib libgo.a
%versbiarchlib libgo.so
%versbiarchlib libgobegin.a
--
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 xen for openSUSE:Factory checked in at 2015-02-04 09:31:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xen (Old)
and /work/SRC/openSUSE:Factory/.xen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xen"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xen/xen.changes 2014-10-14 13:24:38.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xen.new/xen.changes 2015-02-04 09:31:32.000000000 +0100
@@ -1,0 +2,197 @@
+Wed Jan 14 10:47:43 MST 2015 - carnold(a)suse.com
+
+- Update to Xen 4.5.0 FCS
+
+-------------------------------------------------------------------
+Wed Jan 14 16:54:24 UTC 2015 - ohering(a)suse.de
+
+- Include systemd presets in 13.2 and older
+
+-------------------------------------------------------------------
+Mon Jan 12 14:49:23 UTC 2015 - ohering(a)suse.de
+
+- bnc#897352 - Enable xencommons/xendomains only during fresh install
+- disable restart on upgrade because the toolstack is not restartable
+
+-------------------------------------------------------------------
+Tue Dec 16 11:42:30 UTC 2014 - ohering(a)suse.de
+
+- adjust seabios, vgabios, stubdom and hvmloader build to reduce
+ build-compare noise
+ xen.build-compare.mini-os.patch
+ xen.build-compare.smbiosdate.patch
+ xen.build-compare.ipxe.patch
+ xen.build-compare.vgabios.patch
+ xen.build-compare.seabios.patch
+ xen.build-compare.man.patch
+
+-------------------------------------------------------------------
+Mon Dec 15 11:36:42 MST 2014 - carnold(a)suse.com
+
+- Update to Xen 4.5.0 RC4
+
+-------------------------------------------------------------------
+Wed Dec 10 08:54:22 UTC 2014 - ohering(a)suse.de
+
+- Remove xend specific if-up scripts
+ Recording bridge slaves is a generic task which should be handled
+ by generic network code
+
+-------------------------------------------------------------------
+Tue Dec 9 18:33:51 UTC 2014 - ohering(a)suse.de
+
+- Use systemd features from upstream
+ requires updated systemd-presets-branding package
+
+-------------------------------------------------------------------
+Thu Dec 4 11:59:29 MST 2014 - carnold(a)suse.com
+
+- Update to Xen 4.5.0 RC3
+
+-------------------------------------------------------------------
+Thu Dec 4 11:44:24 UTC 2014 - ohering(a)suse.de
+
+- Set GIT, WGET and FTP to /bin/false
+
+-------------------------------------------------------------------
+Wed Dec 3 12:14:27 UTC 2014 - ohering(a)suse.de
+
+- Use new configure features instead of make variables
+ xen.stubdom.newlib.patch
+
+-------------------------------------------------------------------
+Wed Nov 19 17:10:51 UTC 2014 - ohering(a)suse.de
+
+- adjust docs and xen build to reduce build-compare noise
+ xen.build-compare.doc_html.patch
+ xen.build-compare.xen_compile_h.patch
+
+-------------------------------------------------------------------
+Mon Nov 17 16:28:13 UTC 2014 - ohering(a)suse.de
+
+- Drop trailing B_CNT from XEN_EXTRAVERSION to reduce build-compare noise
+
+-------------------------------------------------------------------
+Tue Nov 11 11:15:30 MST 2014 - carnold(a)suse.com
+
+- Update to Xen 4.5.0 RC2
+
+-------------------------------------------------------------------
+Thu Oct 23 18:34:55 MDT 2014 - carnold(a)suse.com
+
+- Update to Xen 4.5.0 RC1
+ xen-4.5.0-testing-src.tar.bz2
+- Remove all patches now contained in the new tarball
+ xen-4.4.1-testing-src.tar.bz2
+ 5315a3bb-x86-don-t-propagate-acpi_skip_timer_override-do-Dom0.patch
+ 5315a43a-x86-ACPI-also-print-address-space-for-PM1x-fields.patch
+ 53299d8f-xenconsole-reset-tty-on-failure.patch
+ 53299d8f-xenconsole-tolerate-tty-errors.patch
+ 5346a7a0-x86-AMD-support-further-feature-masking-MSRs.patch
+ 53563ea4-x86-MSI-drop-workaround-for-insecure-Dom0-kernels.patch
+ 537c9c77-libxc-check-return-values-on-mmap-and-madvise.patch
+ 537cd0b0-hvmloader-also-cover-PCI-MMIO-ranges-above-4G-with-UC-MTRR-ranges.patch
+ 537cd0cc-hvmloader-PA-range-0xfc000000-0xffffffff-should-be-UC.patch
+ 539ebe62-x86-EFI-improve-boot-time-diagnostics.patch
+ 53aac342-x86-HVM-consolidate-and-sanitize-CR4-guest-reserved-bit-determination.patch
+ 53c9151b-Fix-xl-vncviewer-accesses-port-0-by-any-invalid-domid.patch
+ 53d124e7-fix-list_domain_details-check-config-data-length-0.patch
+ 53dba447-x86-ACPI-allow-CMOS-RTC-use-even-when-ACPI-says-there-is-none.patch
+ 53df727b-x86-HVM-extend-LAPIC-shortcuts-around-P2M-lookups.patch
+ 53e8be5f-x86-vHPET-use-rwlock-instead-of-simple-one.patch
+ 53f737b1-VMX-fix-DebugCtl-MSR-clearing.patch
+ 53f7386d-x86-irq-process-softirqs-in-irq-keyhandlers.patch
+ 53fcebab-xen-pass-kernel-initrd-to-qemu.patch
+ 53ff3659-x86-consolidate-boolean-inputs-in-hvm-and-p2m.patch
+ 53ff36ae-x86-hvm-treat-non-insn-fetch-NPF-also-as-read-violations.patch
+ 53ff36d5-x86-mem_event-deliver-gla-fault-EPT-violation-information.patch
+ 53ff3716-x86-ats-Disable-Address-Translation-Services-by-default.patch
+ 53ff3899-x86-NMI-allow-processing-unknown-NMIs-with-watchdog.patch
+ 54005472-EPT-utilize-GLA-GPA-translation-known-for-certain-faults.patch
+ 540effe6-evtchn-check-control-block-exists-when-using-FIFO-based-events.patch
+ 540f2624-x86-idle-add-barriers-to-CLFLUSH-workaround.patch
+ 541825dc-VMX-don-t-leave-x2APIC-MSR-intercepts-disabled.patch
+ 541ad385-x86-suppress-event-check-IPI-to-MWAITing-CPUs.patch
+ 541ad3ca-x86-HVM-batch-vCPU-wakeups.patch
+ 541ad81a-VT-d-suppress-UR-signaling-for-further-desktop-chipsets.patch
+ 54216833-x86-shadow-fix-race-when-sampling-dirty-vram-state.patch
+ 54216882-x86-emulate-check-cpl-for-all-privileged-instructions.patch
+ 542168ae-x86emul-only-emulate-swint-injection-for-real-mode.patch
+ 54228a37-x86-EFI-fix-freeing-of-uninitialized-pointer.patch
+ 5423e61c-x86emul-fix-SYSCALL-SYSENTER-SYSEXIT-emulation.patch
+ 5424057f-x86-HVM-fix-miscellaneous-aspects-of-x2APIC-emulation.patch
+ 542405b4-x86-HVM-fix-ID-handling-of-x2APIC-emulation.patch
+ 542bf997-x86-HVM-properly-bound-x2APIC-MSR-range.patch
+ 54325cc0-x86-MSI-fix-MSI-X-case-of-freeing-IRQ.patch
+ 54325d2f-x86-restore-reserving-of-IO-APIC-pages-in-XENMEM_machine_memory_map-output.patch
+ 54325d95-don-t-allow-Dom0-access-to-IOMMUs-MMIO-pages.patch
+ 54325ecc-AMD-guest_iommu-properly-disable-guest-iommu-support.patch
+ 54325f3c-x86-paging-make-log-dirty-operations-preemptible.patch
+ 54379e6d-x86-vlapic-don-t-silently-accept-bad-vectors.patch
+ CVE-2013-4540-qemu.patch qemu-support-xen-hvm-direct-kernel-boot.patch
+ qemu-xen-upstream-blkif-discard.patch change-vnc-passwd.patch
+ libxc-pass-errno-to-callers-of-xc_domain_save.patch
+ libxl.honor-more-top-level-vfb-options.patch
+ libxl.add-option-for-discard-support-to-xl-disk-conf.patch
+ libxl.introduce-an-option-to-disable-the-non-O_DIRECT-workaround.patch
+ x86-dom-print.patch x86-extra-trap-info.patch tmp_build.patch
+ xl-check-for-libvirt-managed-domain.patch disable-wget-check.patch
+- Xend/xm is no longer supported and is not part of the upstream code. Remove
+ all xend/xm specific patches, configs, and scripts
+ xen-xmexample.patch bridge-opensuse.patch xmexample.disks xmclone.sh
+ init.xend xend-relocation.sh xend.service xend-relocation-server.fw
+ domUloader.py xmexample.domUloader xmexample.disks
+ bridge-vlan.patch bridge-bonding.patch bridge-record-creation.patch
+ network-nat-open-SuSEfirewall2-FORWARD.patch
+ xend-set-migration-constraints-from-cmdline.patch
+ xen.migrate.tools-xend_move_assert_to_exception_block.patch
+ xend-pvscsi-recognize-also-SCSI-CDROM-devices.patch
+ xend-config.patch xend-max-free-mem.patch xend-hvm-default-pae.patch
+ xend-vif-route-ifup.patch xend-xenapi-console-protocol.patch xend-core-dump-loc.patch
+ xend-xen-api-auth.patch xend-checkpoint-rename.patch xend-xm-save-check-file.patch
+ xend-xm-create-xflag.patch xend-domu-usb-controller.patch xend-devid-or-name.patch
+ xend-migration-domname-fix.patch xend-del_usb_xend_entry.patch xend-xen-domUloader.patch
+ xend-multi-xvdp.patch xend-check_device_status.patch xend-change_home_server.patch
+ xend-minimum-restart-time.patch xend-disable-internal-logrotate.patch xend-config-enable-dump-comment.patch
+ xend-tools-watchdog-support.patch xend-console-port-restore.patch xend-vcpu-affinity-fix.patch
+ xend-migration-bridge-check.patch xend-managed-pci-device.patch xend-hvm-firmware-passthrough.patch
+ xend-cpuinfo-model-name.patch xend-xm-reboot-fix.patch xend-domain-lock.patch
+ xend-domain-lock-sfex.patch xend-32on64-extra-mem.patch xend-hv_extid_compatibility.patch
+ xend-xenpaging.autostart.patch xend-remove-xm-deprecation-warning.patch libxen_permissive.patch
+ tmp-initscript-modprobe.patch init.xendomains xendomains.service
+ xen-watchdog.service xen-updown.sh
+
+-------------------------------------------------------------------
+Thu Oct 16 14:17:37 MDT 2014 - carnold(a)suse.com
+
+- bnc#901317 - L3: increase limit domUloader to 32MB
+ domUloader.py
+
+-------------------------------------------------------------------
+Tue Oct 14 09:16:37 MDT 2014 - carnold(a)suse.com
+
+- bnc#898772 - SLES 12 RC3 - XEN Host crashes when assigning non-VF
+ device (SR-IOV) to guest
+ 54325cc0-x86-MSI-fix-MSI-X-case-of-freeing-IRQ.patch
+- bnc#882089 - Windows 2012 R2 fails to boot up with greater than
+ 60 vcpus
+ 54325ecc-AMD-guest_iommu-properly-disable-guest-iommu-support.patch
+- bnc#826717 - VUL-0: CVE-2013-3495: XSA-59: xen: Intel VT-d
+ Interrupt Remapping engines can be evaded by native NMI interrupts
+ 541ad81a-VT-d-suppress-UR-signaling-for-further-desktop-chipsets.patch
+- Upstream patches from Jan
+ 540effe6-evtchn-check-control-block-exists-when-using-FIFO-based-events.patch (Replaces xsa107.patch)
+ 54216833-x86-shadow-fix-race-when-sampling-dirty-vram-state.patch (Replaces xsa104.patch)
+ 54216882-x86-emulate-check-cpl-for-all-privileged-instructions.patch (Replaces xsa105.patch)
+ 542168ae-x86emul-only-emulate-swint-injection-for-real-mode.patch (Replaces xsa106.patch)
+ 54228a37-x86-EFI-fix-freeing-of-uninitialized-pointer.patch
+ 5423e61c-x86emul-fix-SYSCALL-SYSENTER-SYSEXIT-emulation.patch
+ 5424057f-x86-HVM-fix-miscellaneous-aspects-of-x2APIC-emulation.patch
+ 542405b4-x86-HVM-fix-ID-handling-of-x2APIC-emulation.patch
+ 542bf997-x86-HVM-properly-bound-x2APIC-MSR-range.patch (Replaces xsa108.patch)
+ 54325d2f-x86-restore-reserving-of-IO-APIC-pages-in-XENMEM_machine_memory_map-output.patch
+ 54325d95-don-t-allow-Dom0-access-to-IOMMUs-MMIO-pages.patch
+ 54325f3c-x86-paging-make-log-dirty-operations-preemptible.patch (Replaces xsa97.patch)
+ 54379e6d-x86-vlapic-don-t-silently-accept-bad-vectors.patch
+
+-------------------------------------------------------------------
++++ 34 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/xen/xen.changes
++++ and /work/SRC/openSUSE:Factory/.xen.new/xen.changes
Old:
----
5315a3bb-x86-don-t-propagate-acpi_skip_timer_override-do-Dom0.patch
5315a43a-x86-ACPI-also-print-address-space-for-PM1x-fields.patch
53299d8f-xenconsole-reset-tty-on-failure.patch
53299d8f-xenconsole-tolerate-tty-errors.patch
5346a7a0-x86-AMD-support-further-feature-masking-MSRs.patch
53563ea4-x86-MSI-drop-workaround-for-insecure-Dom0-kernels.patch
537cd0b0-hvmloader-also-cover-PCI-MMIO-ranges-above-4G-with-UC-MTRR-ranges.patch
537cd0cc-hvmloader-PA-range-0xfc000000-0xffffffff-should-be-UC.patch
539ebe62-x86-EFI-improve-boot-time-diagnostics.patch
53aac342-x86-HVM-consolidate-and-sanitize-CR4-guest-reserved-bit-determination.patch
53c9151b-Fix-xl-vncviewer-accesses-port-0-by-any-invalid-domid.patch
53d124e7-fix-list_domain_details-check-config-data-length-0.patch
53dba447-x86-ACPI-allow-CMOS-RTC-use-even-when-ACPI-says-there-is-none.patch
53df727b-x86-HVM-extend-LAPIC-shortcuts-around-P2M-lookups.patch
53e8be5f-x86-vHPET-use-rwlock-instead-of-simple-one.patch
53f737b1-VMX-fix-DebugCtl-MSR-clearing.patch
53f7386d-x86-irq-process-softirqs-in-irq-keyhandlers.patch
53fcebab-xen-pass-kernel-initrd-to-qemu.patch
53ff3659-x86-consolidate-boolean-inputs-in-hvm-and-p2m.patch
53ff36ae-x86-hvm-treat-non-insn-fetch-NPF-also-as-read-violations.patch
53ff36d5-x86-mem_event-deliver-gla-fault-EPT-violation-information.patch
53ff3716-x86-ats-Disable-Address-Translation-Services-by-default.patch
53ff3899-x86-NMI-allow-processing-unknown-NMIs-with-watchdog.patch
54005472-EPT-utilize-GLA-GPA-translation-known-for-certain-faults.patch
CVE-2013-4540-qemu.patch
bridge-bonding.patch
bridge-opensuse.patch
bridge-record-creation.patch
bridge-vlan.patch
change-vnc-passwd.patch
disable-wget-check.patch
domUloader.py
init.xend
init.xendomains
libxc-pass-errno-to-callers-of-xc_domain_save.patch
libxen_permissive.patch
libxl.add-option-for-discard-support-to-xl-disk-conf.patch
libxl.honor-more-top-level-vfb-options.patch
libxl.introduce-an-option-to-disable-the-non-O_DIRECT-workaround.patch
network-nat-open-SuSEfirewall2-FORWARD.patch
qemu-support-xen-hvm-direct-kernel-boot.patch
qemu-xen-upstream-blkif-discard.patch
tmp-initscript-modprobe.patch
x86-dom-print.patch
x86-extra-trap-info.patch
xen-4.4.1-testing-src.tar.bz2
xen-updown.sh
xen-watchdog.service
xen-xmexample.patch
xen.migrate.tools-xend_move_assert_to_exception_block.patch
xend-32on64-extra-mem.patch
xend-change_home_server.patch
xend-check_device_status.patch
xend-checkpoint-rename.patch
xend-config-enable-dump-comment.patch
xend-config.patch
xend-console-port-restore.patch
xend-core-dump-loc.patch
xend-cpuinfo-model-name.patch
xend-del_usb_xend_entry.patch
xend-devid-or-name.patch
xend-disable-internal-logrotate.patch
xend-domain-lock-sfex.patch
xend-domain-lock.patch
xend-domu-usb-controller.patch
xend-hv_extid_compatibility.patch
xend-hvm-default-pae.patch
xend-hvm-firmware-passthrough.patch
xend-managed-pci-device.patch
xend-max-free-mem.patch
xend-migration-bridge-check.patch
xend-migration-domname-fix.patch
xend-minimum-restart-time.patch
xend-multi-xvdp.patch
xend-pvscsi-recognize-also-SCSI-CDROM-devices.patch
xend-relocation-server.fw
xend-relocation.sh
xend-remove-xm-deprecation-warning.patch
xend-set-migration-constraints-from-cmdline.patch
xend-tools-watchdog-support.patch
xend-vcpu-affinity-fix.patch
xend-vif-route-ifup.patch
xend-xen-api-auth.patch
xend-xen-domUloader.patch
xend-xenapi-console-protocol.patch
xend-xenpaging.autostart.patch
xend-xm-create-xflag.patch
xend-xm-reboot-fix.patch
xend-xm-save-check-file.patch
xend.service
xendomains.service
xl-check-for-libvirt-managed-domain.patch
xmclone.sh
xmexample.disks
xmexample.domUloader
xsa104.patch
xsa105.patch
xsa106.patch
xsa107.patch
xsa108.patch
New:
----
xen-4.5.0-testing-src.tar.bz2
xen.build-compare.doc_html.patch
xen.build-compare.ipxe.patch
xen.build-compare.man.patch
xen.build-compare.mini-os.patch
xen.build-compare.seabios.patch
xen.build-compare.smbiosdate.patch
xen.build-compare.vgabios.patch
xen.build-compare.xen_compile_h.patch
xen.stubdom.newlib.patch
xl-coredump-file-location.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xen.spec ++++++
++++ 1295 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/xen/xen.spec
++++ and /work/SRC/openSUSE:Factory/.xen.new/xen.spec
++++++ README.SUSE ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100
@@ -601,16 +601,13 @@
Grub2 Example:
Edit /etc/default/grub and add,
GRUB_CMDLINE_XEN_DEFAULT="noreboot loglvl=all guest_loglvl=all"
- Edit /etc/grub.d/20_linux_xen file. Look for this line:
- while [ "x${xen_list}" != "x" ] ; do
- and add *before* the above line something like this:
- xen_dbg_list=`readlink -f /boot/xen-dbg.gz`
- xen_list="$xen_list $xen_dbg_list"
- finally run:
- grub2-mkconfig -o /boot/grub2/grub.cfg
- On reboot, select "Advanced options for SUSE Linux Enterprise Server 12
- (with Xen hypervisor)" from the grub menu and the Xen hypervisor debug entry
- in the submenu.
+ Edit /boot/grub2/grub.cfg and look for these lines:
+ multiboot /boot/xen-<version>.gz ...
+ and replace them with:
+ multiboot /boot/xen-dbg-<version>.gz' ... Replace <version> with the
+ appropriate version string contained in the filename. Note that running
+ grub2-mkconfig -o /boot/grub2/grub.cfg will overwrite all manual changes
+ made to grub.cfg.
Grub1 Example:
Edit your menu.lst configuration from something like this:
++++++ bdrv_open2_flags_2.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c
===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/hw/xen_blktap.c
@@ -225,6 +225,7 @@ static int open_disk(struct td_state *s,
BlockDriver* drv;
char* devname;
@@ -19,11 +19,11 @@
fprintf(stderr, "Could not open image file %s\n", path);
return -ENOMEM;
}
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
-@@ -135,7 +135,8 @@ static void insert_media(void *opaque)
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+@@ -134,7 +134,8 @@ static void insert_media(void *opaque)
else
format = &bdrv_raw;
@@ -33,7 +33,7 @@
#ifdef CONFIG_STUBDOM
{
char *buf, *backend, *params_path, *params;
-@@ -510,7 +511,8 @@ void xenstore_parse_domain_config(int hv
+@@ -509,7 +510,8 @@ void xenstore_parse_domain_config(int hv
}
for (i = 0; i < num; i++) {
@@ -43,7 +43,7 @@
/* read the backend path */
xenstore_get_backend_path(&bpath, "vbd", danger_path, hvm_domid, e_danger[i]);
if (bpath == NULL)
-@@ -596,6 +598,17 @@ void xenstore_parse_domain_config(int hv
+@@ -595,6 +597,17 @@ void xenstore_parse_domain_config(int hv
format = &bdrv_raw;
}
@@ -61,7 +61,7 @@
#if 0
/* Phantom VBDs are disabled because the use of paths
* from guest-controlled areas in xenstore is unsafe.
-@@ -663,7 +676,7 @@ void xenstore_parse_domain_config(int hv
+@@ -662,7 +675,7 @@ void xenstore_parse_domain_config(int hv
#ifdef CONFIG_STUBDOM
if (pasprintf(&danger_buf, "%s/device/vbd/%s", danger_path, e_danger[i]) == -1)
continue;
++++++ blktap-pv-cdrom.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100
@@ -8,10 +8,10 @@
xen/include/public/io/cdromif.h | 122 ++++
7 files changed, 726 insertions(+), 3 deletions(-)
-Index: xen-4.4.0-testing/tools/blktap/drivers/Makefile
+Index: xen-4.5.0-testing/tools/blktap/drivers/Makefile
===================================================================
---- xen-4.4.0-testing.orig/tools/blktap/drivers/Makefile
-+++ xen-4.4.0-testing/tools/blktap/drivers/Makefile
+--- xen-4.5.0-testing.orig/tools/blktap/drivers/Makefile
++++ xen-4.5.0-testing/tools/blktap/drivers/Makefile
@@ -32,8 +32,9 @@ AIOLIBS := -laio
CFLAGS += $(PTHREAD_CFLAGS)
LDFLAGS += $(PTHREAD_LDFLAGS)
@@ -32,10 +32,10 @@
BLK-OBJS-y += aes.o
BLK-OBJS-y += tapaio.o
BLK-OBJS-$(CONFIG_Linux) += blk_linux.o
-Index: xen-4.4.0-testing/tools/blktap/drivers/block-cdrom.c
+Index: xen-4.5.0-testing/tools/blktap/drivers/block-cdrom.c
===================================================================
--- /dev/null
-+++ xen-4.4.0-testing/tools/blktap/drivers/block-cdrom.c
++++ xen-4.5.0-testing/tools/blktap/drivers/block-cdrom.c
@@ -0,0 +1,568 @@
+/* block-cdrom.c
+ *
@@ -605,10 +605,10 @@
+ .td_get_parent_id = tdcdrom_get_parent_id,
+ .td_validate_parent = tdcdrom_validate_parent
+};
-Index: xen-4.4.0-testing/tools/blktap/drivers/tapdisk.c
+Index: xen-4.5.0-testing/tools/blktap/drivers/tapdisk.c
===================================================================
---- xen-4.4.0-testing.orig/tools/blktap/drivers/tapdisk.c
-+++ xen-4.4.0-testing/tools/blktap/drivers/tapdisk.c
+--- xen-4.5.0-testing.orig/tools/blktap/drivers/tapdisk.c
++++ xen-4.5.0-testing/tools/blktap/drivers/tapdisk.c
@@ -735,6 +735,22 @@ static void get_io_request(struct td_sta
goto out;
}
@@ -632,10 +632,10 @@
default:
DPRINTF("Unknown block operation\n");
break;
-Index: xen-4.4.0-testing/tools/blktap/drivers/tapdisk.h
+Index: xen-4.5.0-testing/tools/blktap/drivers/tapdisk.h
===================================================================
---- xen-4.4.0-testing.orig/tools/blktap/drivers/tapdisk.h
-+++ xen-4.4.0-testing/tools/blktap/drivers/tapdisk.h
+--- xen-4.5.0-testing.orig/tools/blktap/drivers/tapdisk.h
++++ xen-4.5.0-testing/tools/blktap/drivers/tapdisk.h
@@ -137,6 +137,9 @@ struct tap_disk {
int (*td_get_parent_id) (struct disk_driver *dd, struct disk_id *id);
int (*td_validate_parent)(struct disk_driver *dd,
@@ -680,10 +680,10 @@
};
typedef struct driver_list_entry {
-Index: xen-4.4.0-testing/tools/blktap/lib/blktaplib.h
+Index: xen-4.5.0-testing/tools/blktap/lib/blktaplib.h
===================================================================
---- xen-4.4.0-testing.orig/tools/blktap/lib/blktaplib.h
-+++ xen-4.4.0-testing/tools/blktap/lib/blktaplib.h
+--- xen-4.5.0-testing.orig/tools/blktap/lib/blktaplib.h
++++ xen-4.5.0-testing/tools/blktap/lib/blktaplib.h
@@ -219,6 +219,7 @@ typedef struct msg_pid {
#define DISK_TYPE_RAM 3
#define DISK_TYPE_QCOW 4
@@ -692,11 +692,11 @@
/* xenstore/xenbus: */
#define DOMNAME "Domain-0"
-Index: xen-4.4.0-testing/xen/include/public/io/blkif.h
+Index: xen-4.5.0-testing/xen/include/public/io/blkif.h
===================================================================
---- xen-4.4.0-testing.orig/xen/include/public/io/blkif.h
-+++ xen-4.4.0-testing/xen/include/public/io/blkif.h
-@@ -453,7 +453,7 @@
+--- xen-4.5.0-testing.orig/xen/include/public/io/blkif.h
++++ xen-4.5.0-testing/xen/include/public/io/blkif.h
+@@ -485,7 +485,7 @@
* Used in SLES sources for device specific command packet
* contained within the request. Reserved for that purpose.
*/
@@ -705,10 +705,10 @@
/*
* Indicate to the backend device that a region of storage is no longer in
* use, and may be discarded at any time without impact to the client. If
-Index: xen-4.4.0-testing/xen/include/public/io/cdromif.h
+Index: xen-4.5.0-testing/xen/include/public/io/cdromif.h
===================================================================
--- /dev/null
-+++ xen-4.4.0-testing/xen/include/public/io/cdromif.h
++++ xen-4.5.0-testing/xen/include/public/io/cdromif.h
@@ -0,0 +1,122 @@
+/******************************************************************************
+ * cdromif.h
++++++ blktap.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100
@@ -1,19 +1,6 @@
bug #239173
bug #242953
-Index: xen-4.4.0-testing/tools/python/xen/xend/XendDomainInfo.py
-===================================================================
---- xen-4.4.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.4.0-testing/tools/python/xen/xend/XendDomainInfo.py
-@@ -3281,7 +3281,7 @@ class XendDomainInfo:
- (fn, BOOTLOADER_LOOPBACK_DEVICE))
-
- vbd = {
-- 'mode': 'RO',
-+ 'mode': 'RW',
- 'device': BOOTLOADER_LOOPBACK_DEVICE,
- }
-
Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
===================================================================
--- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
++++++ block-dmmd ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100
@@ -94,16 +94,8 @@
function activate_lvm()
{
local run_timeout=90
- local parsed_timeout
local end_time
- # Parse device-create-timeout from /etc/xen/xend-config.sxp
- # If not set, use default timeout of 90s
- parsed_timeout=$(grep -v "^[ \t]*#.*" /etc/xen/xend-config.sxp|sed -n 's/(device-create-timeout \+\([0-9]\+\))/\1/p')
- if [ ! -z $parsed_timeout ]; then
- run_timeout=$((${parsed_timeout}*9/10))
- fi
-
end_time=$(($(date +%s)+${run_timeout}))
while true; do
/sbin/lvchange -aey $1
++++++ build-tapdisk-ioemu.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100
@@ -8,24 +8,27 @@
being built. This patch re-enables the build of tapdisk-ioemu.
Signed-off-by: Kevin Wolf <kwolf(a)suse.de>
----
- Makefile | 22 +++++++++++++++-------
- configure | 2 +-
- qemu-tool.c | 2 +-
- tapdisk-ioemu.c | 17 -----------------
- 4 files changed, 17 insertions(+), 26 deletions(-)
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/Makefile
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
+@@ -1,3 +1,4 @@
++CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc
+ CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc/include
+ CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/include
+ CPPFLAGS+= -I$(XEN_ROOT)/tools/include
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile
+===================================================================
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/Makefile
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/Makefile
@@ -46,14 +46,6 @@ $(filter %-user,$(SUBDIR_RULES)): libqem
recurse-all: $(SUBDIR_RULES)
--CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
+-CPPFLAGS += -I$(XEN_ROOT)/tools/libxc/include
-CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
--CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
+-CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/include
-CPPFLAGS += -I$(XEN_ROOT)/tools/include
-
-tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c
@@ -46,9 +49,9 @@
+tapdisk-ioemu.o: tapdisk-ioemu.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) -DQEMU_IMG -DQEMU_TOOL -c -o $@ $<
+
-+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
++tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/libxc/include
+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
-+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
++tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/include
+tapdisk-ioemu: CPPFLAGS += -I$(XEN_ROOT)/tools/include
+tapdisk-ioemu: tapdisk-ioemu.o $(BLOCK_OBJS) qemu-tool.o hw/tapdisk-xen_blktap.o
+ $(CC) $(LDFLAGS) -o $@ $^ -lz $(LIBS)
@@ -56,10 +59,10 @@
######################################################################
# libqemu_common.a: Target independent part of system emulation. The
# long term path is to suppress *all* target specific code in case of
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/configure
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/configure
===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/configure
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/configure
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/configure
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/configure
@@ -1512,7 +1512,7 @@ bsd)
;;
esac
@@ -69,10 +72,10 @@
if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
tools="qemu-img\$(EXESUF) $tools"
if [ "$linux" = "yes" ] ; then
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-tool.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-tool.c
===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-tool.c
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-tool.c
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-tool.c
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-tool.c
@@ -68,7 +68,7 @@ void qemu_bh_delete(QEMUBH *bh)
qemu_free(bh);
}
@@ -82,10 +85,10 @@
IOCanRWHandler *fd_read_poll,
IOHandler *fd_read,
IOHandler *fd_write,
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c
===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/tapdisk-ioemu.c
@@ -12,34 +12,12 @@
extern void qemu_aio_init(void);
++++++ cdrom-removable.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100
@@ -1,402 +1,3 @@
-Index: xen-4.4.0-testing/tools/python/xen/xend/server/HalDaemon.py
-===================================================================
---- /dev/null
-+++ xen-4.4.0-testing/tools/python/xen/xend/server/HalDaemon.py
-@@ -0,0 +1,243 @@
-+#!/usr/bin/env python
-+# -*- mode: python; -*-
-+#============================================================================
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of version 2.1 of the GNU Lesser General Public
-+# License as published by the Free Software Foundation.
-+#
-+# This 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 this library; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+#============================================================================
-+# Copyright (C) 2007 Pat Campbell <plc(a)novell.com>
-+# Copyright (C) 2007 Novell Inc.
-+#============================================================================
-+
-+"""hald (Hardware Abstraction Layer Daemon) watcher for Xen management
-+ of removable block device media.
-+
-+"""
-+
-+import gobject
-+import dbus
-+import dbus.glib
-+import os
-+import types
-+import sys
-+import signal
-+import traceback
-+from xen.xend.xenstore.xstransact import xstransact, complete
-+from xen.xend.xenstore.xsutil import xshandle
-+from xen.xend import PrettyPrint
-+from xen.xend import XendLogging
-+from xen.xend.XendLogging import log
-+
-+DEVICE_TYPES = ['vbd', 'tap']
-+
-+class HalDaemon:
-+ """The Hald block device watcher for XEN
-+ """
-+
-+ """Default path to the log file. """
-+ logfile_default = "/var/log/xen/hald.log"
-+
-+ """Default level of information to be logged."""
-+ loglevel_default = 'INFO'
-+
-+
-+ def __init__(self):
-+
-+ XendLogging.init(self.logfile_default, self.loglevel_default)
-+ log.debug( "%s", "__init__")
-+
-+ self.udi_dict = {}
-+ self.debug = 0
-+ self.dbpath = "/local/domain/0/backend"
-+ self.bus = dbus.SystemBus()
-+ self.hal_manager_obj = self.bus.get_object('org.freedesktop.Hal', '/org/freedesktop/Hal/Manager')
-+ self.hal_manager = dbus.Interface( self.hal_manager_obj, 'org.freedesktop.Hal.Manager')
-+ self.gatherBlockDevices()
-+ self.registerDeviceCallbacks()
-+
-+ def run(self):
-+ log.debug( "%s", "In new run" );
-+ try:
-+ self.mainloop = gobject.MainLoop()
-+ self.mainloop.run()
-+ except KeyboardInterrupt, ex:
-+ log.debug('Keyboard exception handler: %s', ex )
-+ self.mainloop.quit()
-+ except Exception, ex:
-+ log.debug('Generic exception handler: %s', ex )
-+ self.mainloop.quit()
-+
-+ def __del__(self):
-+ log.debug( "%s", "In del " );
-+ self.unRegisterDeviceCallbacks()
-+ self.mainloop.quit()
-+
-+ def shutdown(self):
-+ log.debug( "%s", "In shutdown now " );
-+ self.unRegisterDeviceCallbacks()
-+ self.mainloop.quit()
-+
-+ def stop(self):
-+ log.debug( "%s", "In stop now " );
-+ self.unRegisterDeviceCallbacks()
-+ self.mainloop.quit()
-+
-+ def gatherBlockDevices(self):
-+
-+ # Get all the current devices from hal and save in a dictionary
-+ try:
-+ device_names = self.hal_manager.GetAllDevices()
-+ i = 0;
-+ for name in device_names:
-+ #log.debug("device name, device=%s",name)
-+ dev_obj = self.bus.get_object ('org.freedesktop.Hal', name)
-+ dev = dbus.Interface (dev_obj, 'org.freedesktop.Hal.Device')
-+ dev_properties = dev_obj.GetAllProperties(dbus_interface="org.freedesktop.Hal.Device")
-+ if dev_properties.has_key('block.device'):
-+ dev_str = dev_properties['block.device']
-+ dev_major = dev_properties['block.major']
-+ dev_minor = dev_properties['block.minor']
-+ udi_info = {}
-+ udi_info['device'] = dev_str
-+ udi_info['major'] = dev_major
-+ udi_info['minor'] = dev_minor
-+ udi_info['udi'] = name
-+ self.udi_dict[i] = udi_info
-+ i = i + 1
-+ except Exception, ex:
-+ print >>sys.stderr, 'Exception gathering block devices:', ex
-+ log.warn("Exception gathering block devices (%s)",ex)
-+
-+ #
-+ def registerDeviceCallbacks(self):
-+ # setup the callbacks for when the gdl changes
-+ self.hal_manager.connect_to_signal('DeviceAdded', self.device_added_callback)
-+ self.hal_manager.connect_to_signal('DeviceRemoved', self.device_removed_callback)
-+
-+ #
-+ def unRegisterDeviceCallbacks(self):
-+ # setup the callbacks for when the gdl changes
-+ self.hal_manager.remove_signal_receiver(self.device_added_callback,'DeviceAdded')
-+ self.hal_manager.remove_signal_receiver(self.device_removed_callback,'DeviceRemoved')
-+
-+ #
-+ def device_removed_callback(self,udi):
-+ log.debug('UDI %s was removed',udi)
-+ self.show_dict(self.udi_dict)
-+ for key in self.udi_dict:
-+ udi_info = self.udi_dict[key]
-+ if udi_info['udi'] == udi:
-+ device = udi_info['device']
-+ major = udi_info['major']
-+ minor = udi_info['minor']
-+ self.change_xenstore( "remove", device, major, minor)
-+
-+ # Adds device to dictionary if not already there
-+ def device_added_callback(self,udi):
-+ log.debug('UDI %s was added', udi)
-+ self.show_dict(self.udi_dict)
-+ dev_obj = self.bus.get_object ('org.freedesktop.Hal', udi)
-+ dev = dbus.Interface (dev_obj, 'org.freedesktop.Hal.Device')
-+ device = dev.GetProperty ('block.device')
-+ major = dev.GetProperty ('block.major')
-+ minor = dev.GetProperty ('block.minor')
-+ udi_info = {}
-+ udi_info['device'] = device
-+ udi_info['major'] = major
-+ udi_info['minor'] = minor
-+ udi_info['udi'] = udi
-+ already = 0
-+ cnt = 0;
-+ for key in self.udi_dict:
-+ info = self.udi_dict[key]
-+ if info['udi'] == udi:
-+ already = 1
-+ break
-+ cnt = cnt + 1
-+ if already == 0:
-+ self.udi_dict[cnt] = udi_info;
-+ log.debug('UDI %s was added, device:%s major:%s minor:%s index:%d\n', udi, device, major, minor, cnt)
-+ self.change_xenstore( "add", device, major, minor)
-+
-+ # Debug helper, shows dictionary contents
-+ def show_dict(self,dict=None):
-+ if self.debug == 0 :
-+ return
-+ if dict == None :
-+ dict = self.udi_dict
-+ for key in dict:
-+ log.debug('udi_info %s udi_info:%s',key,dict[key])
-+
-+ # Set or clear xenstore media-present depending on the action argument
-+ # for every vbd that has this block device
-+ def change_xenstore(self,action, device, major, minor):
-+ for type in DEVICE_TYPES:
-+ path = self.dbpath + '/' + type
-+ domains = xstransact.List(path)
-+ log.debug('domains: %s', domains)
-+ for domain in domains: # for each domain
-+ devices = xstransact.List( path + '/' + domain)
-+ log.debug('devices: %s',devices)
-+ for device in devices: # for each vbd device
-+ str = device.split('/')
-+ vbd_type = None;
-+ vbd_physical_device = None
-+ vbd_media = None
-+ vbd_device_path = path + '/' + domain + '/' + device
-+ listing = xstransact.List(vbd_device_path)
-+ for entry in listing: # for each entry
-+ item = path + '/' + entry
-+ value = xstransact.Read( vbd_device_path + '/' + entry)
-+ log.debug('%s=%s',item,value)
-+ if item.find('media-present') != -1:
-+ vbd_media = item;
-+ vbd_media_path = item
-+ if item.find('physical-device') != -1:
-+ vbd_physical_device = value;
-+ if item.find('type') != -1:
-+ vbd_type = value;
-+ if vbd_type is not None and vbd_physical_device is not None and vbd_media is not None :
-+ inode = vbd_physical_device.split(':')
-+ imajor = parse_hex(inode[0])
-+ iminor = parse_hex(inode[1])
-+ log.debug("action:%s major:%s- minor:%s- imajor:%s- iminor:%s- inode: %s",
-+ action,major,minor, imajor, iminor, inode)
-+ if int(imajor) == int(major) and int(iminor) == int(minor):
-+ if action == "add":
-+ xs_dict = {'media': "1"}
-+ xstransact.Write(vbd_device_path, 'media-present', "1" )
-+ log.debug("wrote xenstore media-present 1 path:%s",vbd_media_path)
-+ else:
-+ xstransact.Write(vbd_device_path, 'media-present', "0" )
-+ log.debug("wrote xenstore media 0 path:%s",vbd_media_path)
-+
-+def mylog( fmt, *args):
-+ f = open('/tmp/haldaemon.log', 'a')
-+ print >>f, "HalDaemon ", fmt % args
-+ f.close()
-+
-+
-+def parse_hex(val):
-+ try:
-+ if isinstance(val, types.StringTypes):
-+ return int(val, 16)
-+ else:
-+ return val
-+ except ValueError:
-+ return None
-+
-+if __name__ == "__main__":
-+ watcher = HalDaemon()
-+ watcher.run()
-+ print 'Falling off end'
-+
-+
-Index: xen-4.4.0-testing/tools/python/xen/xend/server/Hald.py
-===================================================================
---- /dev/null
-+++ xen-4.4.0-testing/tools/python/xen/xend/server/Hald.py
-@@ -0,0 +1,125 @@
-+#============================================================================
-+# This library is free software; you can redistribute it and/or
-+# modify it under the terms of version 2.1 of the GNU Lesser General Public
-+# License as published by the Free Software Foundation.
-+#
-+# This 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 this library; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-+#============================================================================
-+# Copyright (C) 2007 Pat Campbell <plc(a)novell.com>
-+# Copyright (C) 2007 Novell Inc.
-+#============================================================================
-+
-+import errno
-+import types
-+import os
-+import sys
-+import time
-+import signal
-+from traceback import print_exc
-+
-+from xen.xend.XendLogging import log
-+
-+class Hald:
-+ def __init__(self):
-+ self.ready = False
-+ self.running = True
-+
-+ def run(self):
-+ """Starts the HalDaemon process
-+ """
-+ self.ready = True
-+ try:
-+ myfile = self.find("xen/xend/server/HalDaemon.py")
-+ args = (["python", myfile ])
-+ self.pid = self.daemonize("python", args )
-+ #log.debug( "%s %s pid:%d", "Hald.py starting ", args, self.pid )
-+ except:
-+ self.pid = -1
-+ log.debug("Unable to start HalDaemon process")
-+
-+ def shutdown(self):
-+ """Shutdown the HalDaemon process
-+ """
-+ log.debug("%s pid:%d", "Hald.shutdown()", self.pid)
-+ self.running = False
-+ self.ready = False
-+ if self.pid != -1:
-+ try:
-+ os.kill(self.pid, signal.SIGINT)
-+ except:
-+ print_exc()
-+
-+ def daemonize(self,prog, args):
-+ """Runs a program as a daemon with the list of arguments. Returns the PID
-+ of the daemonized program, or returns 0 on error.
-+ Copied from xm/create.py instead of importing to reduce coupling
-+ """
-+ r, w = os.pipe()
-+ pid = os.fork()
-+
-+ if pid == 0:
-+ os.close(r)
-+ w = os.fdopen(w, 'w')
-+ os.setsid()
-+ try:
-+ pid2 = os.fork()
-+ except:
-+ pid2 = None
-+ if pid2 == 0:
-+ os.chdir("/")
-+ env = os.environ.copy()
-+ env['PYTHONPATH'] = self.getpythonpath()
-+ for fd in range(0, 256):
-+ try:
-+ os.close(fd)
-+ except:
-+ pass
-+ os.open("/dev/null", os.O_RDWR)
-+ os.dup2(0, 1)
-+ os.dup2(0, 2)
-+ os.execvpe(prog, args, env)
-+ os._exit(1)
-+ else:
-+ w.write(str(pid2 or 0))
-+ w.close()
-+ os._exit(0)
-+ os.close(w)
-+ r = os.fdopen(r)
-+ daemon_pid = int(r.read())
-+ r.close()
-+ os.waitpid(pid, 0)
-+ #log.debug( "daemon_pid: %d", daemon_pid )
-+ return daemon_pid
-+
-+ def getpythonpath(self):
-+ str = " "
-+ for p in sys.path:
-+ if str != " ":
-+ str = str + ":" + p
-+ else:
-+ if str != "":
-+ str = p
-+ return str
-+
-+ def find(self,path, matchFunc=os.path.isfile):
-+ """Find a module in the sys.path
-+ From web page: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52224
-+ """
-+ for dirname in sys.path:
-+ candidate = os.path.join(dirname, path)
-+ if matchFunc(candidate):
-+ return candidate
-+ raise Error("Can't find file %s" % path)
-+
-+if __name__ == "__main__":
-+ watcher = Hald()
-+ watcher.run()
-+ time.sleep(10)
-+ watcher.shutdown()
-Index: xen-4.4.0-testing/tools/python/xen/xend/server/SrvServer.py
-===================================================================
---- xen-4.4.0-testing.orig/tools/python/xen/xend/server/SrvServer.py
-+++ xen-4.4.0-testing/tools/python/xen/xend/server/SrvServer.py
-@@ -57,6 +57,7 @@ from xen.web.SrvDir import SrvDir
-
- from SrvRoot import SrvRoot
- from XMLRPCServer import XMLRPCServer
-+from xen.xend.server.Hald import Hald
-
- xoptions = XendOptions.instance()
-
-@@ -252,6 +253,8 @@ def _loadConfig(servers, root, reload):
- if xoptions.get_xend_unix_xmlrpc_server():
- servers.add(XMLRPCServer(XendAPI.AUTH_PAM, False))
-
-+ servers.add(Hald())
-+
-
- def create():
- root = SrvDir()
Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
===================================================================
--- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
++++++ ioemu-blktap-zero-size.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100
@@ -29,16 +29,3 @@
s->info = ((s->flags & TD_RDONLY) ? VDISK_READONLY : 0);
#ifndef QEMU_TOOL
-Index: xen-4.2.0-testing/tools/python/xen/xend/server/DevController.py
-===================================================================
---- xen-4.2.0-testing.orig/tools/python/xen/xend/server/DevController.py
-+++ xen-4.2.0-testing/tools/python/xen/xend/server/DevController.py
-@@ -155,7 +155,7 @@ class DevController:
- (devid, self.deviceClass))
-
- elif status == Error:
-- self.destroyDevice(devid, False)
-+ self.destroyDevice(devid, True)
- if err is None:
- raise VmError("Device %s (%s) could not be connected. "
- "Backend device not found." %
++++++ ioemu-disable-emulated-ide-if-pv.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:39.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:39.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
===================================================================
---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
-+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/qemu-xen.h
@@ -1,6 +1,8 @@
#ifndef QEMU_XEN_H
#define QEMU_XEN_H
@@ -20,10 +20,10 @@
int xenstore_parse_disable_pf_config(void);
int xenstore_fd(void);
void xenstore_process_event(void *opaque);
-Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/vl.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
===================================================================
---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c
-+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/vl.c
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vl.c
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/vl.c
@@ -5862,9 +5862,9 @@ int main(int argc, char **argv, char **e
if ((msg = xenbus_read(XBT_NIL, "domid", &domid_s)))
fprintf(stderr,"Can not read our own domid: %s\n", msg);
@@ -36,11 +36,11 @@
#endif /* CONFIG_STUBDOM */
}
-Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
===================================================================
---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
-+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
-@@ -446,7 +446,7 @@ void xenstore_init(void)
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+@@ -445,7 +445,7 @@ void xenstore_init(void)
}
}
@@ -49,7 +49,7 @@
{
char **e_danger = NULL;
char *buf = NULL;
-@@ -740,11 +740,19 @@ void xenstore_parse_domain_config(int hv
+@@ -739,11 +739,19 @@ void xenstore_parse_domain_config(int hv
#endif
++++++ ipxe.tar.bz2 ++++++
++++++ libxl.add-option-to-disable-disk-cache-flushes-in-qdisk.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:40.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:40.000000000 +0100
@@ -7,25 +7,25 @@
tools/libxl/libxlu_disk_l.l | 1 +
5 files changed, 18 insertions(+), 1 deletion(-)
-Index: xen-4.4.0-testing/tools/libxl/libxl.c
+Index: xen-4.5.0-testing/tools/libxl/libxl.c
===================================================================
---- xen-4.4.0-testing.orig/tools/libxl/libxl.c
-+++ xen-4.4.0-testing/tools/libxl/libxl.c
-@@ -2488,6 +2488,8 @@ static void device_disk_add(libxl__egc *
- flexarray_append_pair(back, "direct-io-safe", "1");
- if ((disk->readwrite & ~LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MASK) == LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MAGIC)
- flexarray_append_pair(back, "discard-enable", "0");
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.c
++++ xen-4.5.0-testing/tools/libxl/libxl.c
+@@ -2771,6 +2771,8 @@ static void device_disk_add(libxl__egc *
+ flexarray_append_pair(back, "discard-enable",
+ libxl_defbool_val(disk->discard_enable) ?
+ "1" : "0");
+ if ((disk->readwrite & ~LIBXL_HAVE_LIBXL_DEVICE_DISK_DISABLE_FLUSH_MASK) == LIBXL_HAVE_LIBXL_DEVICE_DISK_DISABLE_FLUSH_MAGIC)
+ flexarray_append_pair(back, "suse-diskcache-disable-flush", "1");
flexarray_append(front, "backend-id");
flexarray_append(front, libxl__sprintf(gc, "%d", disk->backend_domid));
-Index: xen-4.4.0-testing/tools/libxl/libxl.h
+Index: xen-4.5.0-testing/tools/libxl/libxl.h
===================================================================
---- xen-4.4.0-testing.orig/tools/libxl/libxl.h
-+++ xen-4.4.0-testing/tools/libxl/libxl.h
-@@ -118,6 +118,18 @@
- #define LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MASK 0xffffff0fU
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.h
++++ xen-4.5.0-testing/tools/libxl/libxl.h
+@@ -163,6 +163,18 @@
+ #define LIBXL_HAVE_BUILDINFO_HVM_MMIO_HOLE_MEMKB 1
/*
+ * The libxl_device_disk has no way to indicate that cache=unsafe is
@@ -43,40 +43,40 @@
* libxl ABI compatibility
*
* The only guarantee which libxl makes regarding ABI compatibility
-Index: xen-4.4.0-testing/tools/libxl/libxlu_disk.c
+Index: xen-4.5.0-testing/tools/libxl/libxlu_disk.c
===================================================================
---- xen-4.4.0-testing.orig/tools/libxl/libxlu_disk.c
-+++ xen-4.4.0-testing/tools/libxl/libxlu_disk.c
-@@ -84,6 +84,8 @@ int xlu_disk_parse(XLU_Config *cfg,
- disk->readwrite = (disk->readwrite & LIBXL_HAVE_LIBXL_DEVICE_DISK_DIRECT_IO_SAFE_MASK) | LIBXL_HAVE_LIBXL_DEVICE_DISK_DIRECT_IO_SAFE_MAGIC;
- if (disk->readwrite && dpc.disable_discard)
- disk->readwrite = (disk->readwrite & LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MASK) | LIBXL_HAVE_LIBXL_DEVICE_DISK_DISCARD_DISABLE_MAGIC;
+--- xen-4.5.0-testing.orig/tools/libxl/libxlu_disk.c
++++ xen-4.5.0-testing/tools/libxl/libxlu_disk.c
+@@ -79,6 +79,8 @@ int xlu_disk_parse(XLU_Config *cfg,
+ if (!disk->pdev_path || !strcmp(disk->pdev_path, ""))
+ disk->format = LIBXL_DISK_FORMAT_EMPTY;
+ }
+ if (disk->readwrite && dpc.suse_diskcache_disable_flush)
+ disk->readwrite = (disk->readwrite & LIBXL_HAVE_LIBXL_DEVICE_DISK_DISABLE_FLUSH_MASK) | LIBXL_HAVE_LIBXL_DEVICE_DISK_DISABLE_FLUSH_MAGIC;
if (!disk->vdev) {
xlu__disk_err(&dpc,0, "no vdev specified");
-Index: xen-4.4.0-testing/tools/libxl/libxlu_disk_i.h
+Index: xen-4.5.0-testing/tools/libxl/libxlu_disk_i.h
===================================================================
---- xen-4.4.0-testing.orig/tools/libxl/libxlu_disk_i.h
-+++ xen-4.4.0-testing/tools/libxl/libxlu_disk_i.h
+--- xen-4.5.0-testing.orig/tools/libxl/libxlu_disk_i.h
++++ xen-4.5.0-testing/tools/libxl/libxlu_disk_i.h
@@ -10,7 +10,7 @@ typedef struct {
void *scanner;
YY_BUFFER_STATE buf;
libxl_device_disk *disk;
-- int access_set, direct_io_safe, disable_discard, had_depr_prefix;
-+ int access_set, suse_diskcache_disable_flush, direct_io_safe, disable_discard, had_depr_prefix;
+- int access_set, had_depr_prefix;
++ int access_set, suse_diskcache_disable_flush, had_depr_prefix;
const char *spec;
} DiskParseContext;
-Index: xen-4.4.0-testing/tools/libxl/libxlu_disk_l.l
+Index: xen-4.5.0-testing/tools/libxl/libxlu_disk_l.l
===================================================================
---- xen-4.4.0-testing.orig/tools/libxl/libxlu_disk_l.l
-+++ xen-4.4.0-testing/tools/libxl/libxlu_disk_l.l
+--- xen-4.5.0-testing.orig/tools/libxl/libxlu_disk_l.l
++++ xen-4.5.0-testing/tools/libxl/libxlu_disk_l.l
@@ -176,6 +176,7 @@ script=[^,]*,? { STRIP(','); SAVESTRING(
- direct-io-safe,? { DPC->direct_io_safe = 1; }
- discard,? { DPC->disable_discard = 0; }
- no-discard,? { DPC->disable_discard = 1; }
+ direct-io-safe,? { DPC->disk->direct_io_safe = 1; }
+ discard,? { libxl_defbool_set(&DPC->disk->discard_enable, true); }
+ no-discard,? { libxl_defbool_set(&DPC->disk->discard_enable, false); }
+suse-diskcache-disable-flush,? { DPC->suse_diskcache_disable_flush = 1; }
/* the target magic parameter, eats the rest of the string */
++++++ libxl.pvscsi.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:40.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:40.000000000 +0100
@@ -31,11 +31,11 @@
7de6f49 support character devices too
c84381b allow /dev/sda as scsi devspec
f11e3a2 pvscsi
-Index: xen-4.4.1-testing/docs/man/xl.cfg.pod.5
+Index: xen-4.5.0-testing/docs/man/xl.cfg.pod.5
===================================================================
---- xen-4.4.1-testing.orig/docs/man/xl.cfg.pod.5
-+++ xen-4.4.1-testing/docs/man/xl.cfg.pod.5
-@@ -411,6 +411,36 @@ value is optional if this is a guest dom
+--- xen-4.5.0-testing.orig/docs/man/xl.cfg.pod.5
++++ xen-4.5.0-testing/docs/man/xl.cfg.pod.5
+@@ -448,6 +448,36 @@ value is optional if this is a guest dom
=back
@@ -72,11 +72,11 @@
=item B<vfb=[ "VFB_SPEC_STRING", "VFB_SPEC_STRING", ...]>
Specifies the paravirtual framebuffer devices which should be supplied
-Index: xen-4.4.1-testing/docs/man/xl.pod.1
+Index: xen-4.5.0-testing/docs/man/xl.pod.1
===================================================================
---- xen-4.4.1-testing.orig/docs/man/xl.pod.1
-+++ xen-4.4.1-testing/docs/man/xl.pod.1
-@@ -1208,6 +1208,26 @@ List virtual trusted platform modules fo
+--- xen-4.5.0-testing.orig/docs/man/xl.pod.1
++++ xen-4.5.0-testing/docs/man/xl.pod.1
+@@ -1323,6 +1323,26 @@ List virtual trusted platform modules fo
=back
@@ -103,11 +103,11 @@
=head1 PCI PASS-THROUGH
=over 4
-Index: xen-4.4.1-testing/tools/libxl/libxl.c
+Index: xen-4.5.0-testing/tools/libxl/libxl.c
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl.c
-+++ xen-4.4.1-testing/tools/libxl/libxl.c
-@@ -2021,6 +2021,273 @@ int libxl_devid_to_device_vtpm(libxl_ctx
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.c
++++ xen-4.5.0-testing/tools/libxl/libxl.c
+@@ -2263,6 +2263,273 @@ int libxl_devid_to_device_vtpm(libxl_ctx
return rc;
}
@@ -381,7 +381,7 @@
/******************************************************************************/
-@@ -3489,6 +3756,8 @@ out:
+@@ -4138,6 +4405,8 @@ out:
* libxl_device_vkb_destroy
* libxl_device_vfb_remove
* libxl_device_vfb_destroy
@@ -390,9 +390,9 @@
*/
#define DEFINE_DEVICE_REMOVE(type, removedestroy, f) \
int libxl_device_##type##_##removedestroy(libxl_ctx *ctx, \
-@@ -3540,6 +3809,10 @@ DEFINE_DEVICE_REMOVE(vfb, destroy, 1)
- DEFINE_DEVICE_REMOVE(vtpm, remove, 0)
- DEFINE_DEVICE_REMOVE(vtpm, destroy, 1)
+@@ -4193,6 +4462,10 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1)
+ * 1. add support for secondary consoles to xenconsoled
+ * 2. dynamically add/remove qemu chardevs via qmp messages. */
+/* vscsi */
+DEFINE_DEVICE_REMOVE(vscsi, remove, 0)
@@ -401,7 +401,7 @@
#undef DEFINE_DEVICE_REMOVE
/******************************************************************************/
-@@ -3549,6 +3822,7 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1)
+@@ -4202,6 +4475,7 @@ DEFINE_DEVICE_REMOVE(vtpm, destroy, 1)
* libxl_device_disk_add
* libxl_device_nic_add
* libxl_device_vtpm_add
@@ -409,7 +409,7 @@
*/
#define DEFINE_DEVICE_ADD(type) \
-@@ -3578,6 +3852,9 @@ DEFINE_DEVICE_ADD(nic)
+@@ -4233,6 +4507,9 @@ DEFINE_DEVICE_ADD(nic)
/* vtpm */
DEFINE_DEVICE_ADD(vtpm)
@@ -419,9 +419,9 @@
#undef DEFINE_DEVICE_ADD
/******************************************************************************/
-@@ -5683,6 +5960,20 @@ int libxl_fd_set_cloexec(libxl_ctx *ctx,
- int libxl_fd_set_nonblock(libxl_ctx *ctx, int fd, int nonblock)
- { return fd_set_flags(ctx,fd, F_GETFL,F_SETFL,"FL", O_NONBLOCK, nonblock); }
+@@ -6769,6 +7046,20 @@ out:
+ return rc;
+ }
+/* libxl.so.4.4 ABI compatilibity hack - do not do this at home */
+static libxl_device_vscsi_suse* libxl__global_vscsi_list_suse;
@@ -440,11 +440,11 @@
/*
* Local variables:
* mode: C
-Index: xen-4.4.1-testing/tools/libxl/libxl.h
+Index: xen-4.5.0-testing/tools/libxl/libxl.h
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl.h
-+++ xen-4.4.1-testing/tools/libxl/libxl.h
-@@ -966,6 +966,26 @@ libxl_device_vtpm *libxl_device_vtpm_lis
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.h
++++ xen-4.5.0-testing/tools/libxl/libxl.h
+@@ -1228,6 +1228,26 @@ libxl_device_vtpm *libxl_device_vtpm_lis
int libxl_device_vtpm_getinfo(libxl_ctx *ctx, uint32_t domid,
libxl_device_vtpm *vtpm, libxl_vtpminfo *vtpminfo);
@@ -471,7 +471,7 @@
/* Keyboard */
int libxl_device_vkb_add(libxl_ctx *ctx, uint32_t domid, libxl_device_vkb *vkb,
const libxl_asyncop_how *ao_how)
-@@ -1181,6 +1201,27 @@ int libxl_fd_set_nonblock(libxl_ctx *ctx
+@@ -1485,6 +1505,27 @@ int libxl_fd_set_nonblock(libxl_ctx *ctx
#include <libxl_event.h>
@@ -499,11 +499,11 @@
#endif /* LIBXL_H */
/*
-Index: xen-4.4.1-testing/tools/libxl/libxl_create.c
+Index: xen-4.5.0-testing/tools/libxl/libxl_create.c
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_create.c
-+++ xen-4.4.1-testing/tools/libxl/libxl_create.c
-@@ -1048,6 +1048,7 @@ static void domcreate_rebuild_done(libxl
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_create.c
++++ xen-4.5.0-testing/tools/libxl/libxl_create.c
+@@ -1128,6 +1128,7 @@ static void domcreate_rebuild_done(libxl
libxl__multidev_begin(ao, &dcs->multidev);
dcs->multidev.callback = domcreate_launch_dm;
libxl__add_disks(egc, ao, domid, d_config, &dcs->multidev);
@@ -511,11 +511,11 @@
libxl__multidev_prepared(egc, &dcs->multidev, 0);
return;
-Index: xen-4.4.1-testing/tools/libxl/libxl_device.c
+Index: xen-4.5.0-testing/tools/libxl/libxl_device.c
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_device.c
-+++ xen-4.4.1-testing/tools/libxl/libxl_device.c
-@@ -523,6 +523,7 @@ void libxl__multidev_prepared(libxl__egc
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_device.c
++++ xen-4.5.0-testing/tools/libxl/libxl_device.c
+@@ -541,6 +541,7 @@ void libxl__multidev_prepared(libxl__egc
* The following functions are defined:
* libxl__add_disks
* libxl__add_nics
@@ -523,7 +523,7 @@
* libxl__add_vtpms
*/
-@@ -542,10 +543,32 @@ void libxl__multidev_prepared(libxl__egc
+@@ -560,10 +561,32 @@ void libxl__multidev_prepared(libxl__egc
DEFINE_DEVICES_ADD(disk)
DEFINE_DEVICES_ADD(nic)
@@ -556,11 +556,11 @@
/******************************************************************************/
int libxl__device_destroy(libxl__gc *gc, libxl__device *dev)
-Index: xen-4.4.1-testing/tools/libxl/libxl_internal.h
+Index: xen-4.5.0-testing/tools/libxl/libxl_internal.h
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_internal.h
-+++ xen-4.4.1-testing/tools/libxl/libxl_internal.h
-@@ -982,6 +982,7 @@ _hidden int libxl__device_disk_setdefaul
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_internal.h
++++ xen-4.5.0-testing/tools/libxl/libxl_internal.h
+@@ -1079,6 +1079,7 @@ _hidden int libxl__device_disk_setdefaul
_hidden int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic,
uint32_t domid);
_hidden int libxl__device_vtpm_setdefault(libxl__gc *gc, libxl_device_vtpm *vtpm);
@@ -568,7 +568,7 @@
_hidden int libxl__device_vfb_setdefault(libxl__gc *gc, libxl_device_vfb *vfb);
_hidden int libxl__device_vkb_setdefault(libxl__gc *gc, libxl_device_vkb *vkb);
_hidden int libxl__device_pci_setdefault(libxl__gc *gc, libxl_device_pci *pci);
-@@ -2082,6 +2083,10 @@ _hidden void libxl__device_vtpm_add(libx
+@@ -2390,6 +2391,10 @@ _hidden void libxl__device_vtpm_add(libx
libxl_device_vtpm *vtpm,
libxl__ao_device *aodev);
@@ -579,7 +579,7 @@
/* Internal function to connect a vkb device */
_hidden int libxl__device_vkb_add(libxl__gc *gc, uint32_t domid,
libxl_device_vkb *vkb);
-@@ -2522,6 +2527,10 @@ _hidden void libxl__add_vtpms(libxl__egc
+@@ -3013,6 +3018,10 @@ _hidden void libxl__add_vtpms(libxl__egc
libxl_domain_config *d_config,
libxl__multidev *multidev);
@@ -590,12 +590,12 @@
/*----- device model creation -----*/
/* First layer; wraps libxl__spawn_spawn. */
-Index: xen-4.4.1-testing/tools/libxl/libxl_types.idl
+Index: xen-4.5.0-testing/tools/libxl/libxl_types.idl
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_types.idl
-+++ xen-4.4.1-testing/tools/libxl/libxl_types.idl
-@@ -456,6 +456,26 @@ libxl_device_vtpm = Struct("device_vtpm"
- ("uuid", libxl_uuid),
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_types.idl
++++ xen-4.5.0-testing/tools/libxl/libxl_types.idl
+@@ -539,6 +539,26 @@ libxl_device_channel = Struct("device_ch
+ ])),
])
+libxl_vscsi_dev = Struct("vscsi_dev", [
@@ -621,16 +621,16 @@
libxl_domain_config = Struct("domain_config", [
("c_info", libxl_domain_create_info),
("b_info", libxl_domain_build_info),
-@@ -466,6 +486,8 @@ libxl_domain_config = Struct("domain_con
- ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
- ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
- ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
+@@ -552,6 +572,8 @@ libxl_domain_config = Struct("domain_con
+ # a channel manifests as a console with a name,
+ # see docs/misc/channels.txt
+ ("channels", Array(libxl_device_channel, "num_channels")),
+# preserve libxl.so.4.4 ABI
+# ("vscsis", Array(libxl_device_vscsi, "num_vscsis")),
("on_poweroff", libxl_action_on_shutdown),
("on_reboot", libxl_action_on_shutdown),
-@@ -508,6 +530,28 @@ libxl_vtpminfo = Struct("vtpminfo", [
+@@ -594,6 +616,28 @@ libxl_vtpminfo = Struct("vtpminfo", [
("uuid", libxl_uuid),
], dir=DIR_OUT)
@@ -659,11 +659,11 @@
libxl_vcpuinfo = Struct("vcpuinfo", [
("vcpuid", uint32),
("cpu", uint32),
-Index: xen-4.4.1-testing/tools/libxl/libxl_types_internal.idl
+Index: xen-4.5.0-testing/tools/libxl/libxl_types_internal.idl
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_types_internal.idl
-+++ xen-4.4.1-testing/tools/libxl/libxl_types_internal.idl
-@@ -20,6 +20,7 @@ libxl__device_kind = Enumeration("device
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_types_internal.idl
++++ xen-4.5.0-testing/tools/libxl/libxl_types_internal.idl
+@@ -22,6 +22,7 @@ libxl__device_kind = Enumeration("device
(6, "VKBD"),
(7, "CONSOLE"),
(8, "VTPM"),
@@ -671,11 +671,11 @@
])
libxl__console_backend = Enumeration("console_backend", [
-Index: xen-4.4.1-testing/tools/libxl/xl.h
+Index: xen-4.5.0-testing/tools/libxl/xl.h
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/xl.h
-+++ xen-4.4.1-testing/tools/libxl/xl.h
-@@ -81,6 +81,9 @@ int main_networkdetach(int argc, char **
+--- xen-4.5.0-testing.orig/tools/libxl/xl.h
++++ xen-4.5.0-testing/tools/libxl/xl.h
+@@ -83,6 +83,9 @@ int main_channellist(int argc, char **ar
int main_blockattach(int argc, char **argv);
int main_blocklist(int argc, char **argv);
int main_blockdetach(int argc, char **argv);
@@ -685,10 +685,10 @@
int main_vtpmattach(int argc, char **argv);
int main_vtpmlist(int argc, char **argv);
int main_vtpmdetach(int argc, char **argv);
-Index: xen-4.4.1-testing/tools/libxl/xl_cmdimpl.c
+Index: xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/xl_cmdimpl.c
-+++ xen-4.4.1-testing/tools/libxl/xl_cmdimpl.c
+--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdimpl.c
++++ xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c
@@ -17,6 +17,7 @@
#include "libxl_osdeps.h"
@@ -702,10 +702,10 @@
#include <inttypes.h>
#include <limits.h>
+#include <dirent.h>
+ #include <xen/hvm/e820.h>
#include "libxl.h"
- #include "libxl_utils.h"
-@@ -544,6 +546,122 @@ static void parse_vif_rate(XLU_Config **
+@@ -549,6 +551,122 @@ static void set_default_nic_values(libxl
}
}
@@ -828,16 +828,16 @@
static void split_string_into_string_list(const char *str,
const char *delim,
libxl_string_list *psl)
-@@ -763,7 +881,7 @@ static void parse_config_data(const char
+@@ -918,7 +1036,7 @@ static void parse_config_data(const char
const char *buf;
long l;
XLU_Config *config;
- XLU_ConfigList *cpus, *vbds, *nics, *pcis, *cvfbs, *cpuids, *vtpms;
+ XLU_ConfigList *cpus, *vbds, *nics, *pcis, *cvfbs, *cpuids, *vtpms, *vscsis;
- XLU_ConfigList *ioports, *irqs, *iomem;
- int num_ioports, num_irqs, num_iomem;
+ XLU_ConfigList *channels, *ioports, *irqs, *iomem, *viridian;
+ int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian;
int pci_power_mgmt = 0;
-@@ -1255,6 +1373,66 @@ static void parse_config_data(const char
+@@ -1421,6 +1539,66 @@ static void parse_config_data(const char
}
}
@@ -904,7 +904,7 @@
if (!xlu_cfg_get_list(config, "vtpm", &vtpms, 0, 0)) {
d_config->num_vtpms = 0;
d_config->vtpms = NULL;
-@@ -6052,6 +6230,256 @@ int main_blockdetach(int argc, char **ar
+@@ -6490,6 +6668,256 @@ int main_blockdetach(int argc, char **ar
return rc;
}
@@ -1161,11 +1161,11 @@
int main_vtpmattach(int argc, char **argv)
{
int opt;
-Index: xen-4.4.1-testing/tools/libxl/xl_cmdtable.c
+Index: xen-4.5.0-testing/tools/libxl/xl_cmdtable.c
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/xl_cmdtable.c
-+++ xen-4.4.1-testing/tools/libxl/xl_cmdtable.c
-@@ -354,6 +354,21 @@ struct cmd_spec cmd_table[] = {
+--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdtable.c
++++ xen-4.5.0-testing/tools/libxl/xl_cmdtable.c
+@@ -372,6 +372,21 @@ struct cmd_spec cmd_table[] = {
"Destroy a domain's virtual block device",
"<Domain> <DevId>",
},
++++++ libxl.set-migration-constraints-from-cmdline.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:40.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:40.000000000 +0100
@@ -75,9 +75,9 @@
Signed-off-by: Olaf Hering <olaf(a)aepfle.de>
---
docs/man/xl.pod.1 | 20 +++++++++++++++++++
- tools/libxc/xc_domain_save.c | 27 +++++++++++++++++++++++--
- tools/libxc/xc_nomigrate.c | 10 +++++++++
- tools/libxc/xenguest.h | 7 ++++++
+ tools/libxc/include/xenguest.h | 6 +++++
+ tools/libxc/xc_domain_save.c | 26 ++++++++++++++++++++++--
+ tools/libxc/xc_nomigrate.c | 9 ++++++++
tools/libxl/libxl.c | 27 ++++++++++++++++++++++---
tools/libxl/libxl.h | 15 ++++++++++++++
tools/libxl/libxl_dom.c | 1
@@ -86,13 +86,13 @@
tools/libxl/libxl_save_helper.c | 4 ++-
tools/libxl/xl_cmdimpl.c | 41 +++++++++++++++++++++++++++++++++------
tools/libxl/xl_cmdtable.c | 23 ++++++++++++++-------
- 12 files changed, 162 insertions(+), 21 deletions(-)
+ 12 files changed, 159 insertions(+), 21 deletions(-)
-Index: xen-4.4.1-testing/docs/man/xl.pod.1
+Index: xen-4.5.0-testing/docs/man/xl.pod.1
===================================================================
---- xen-4.4.1-testing.orig/docs/man/xl.pod.1
-+++ xen-4.4.1-testing/docs/man/xl.pod.1
-@@ -392,6 +392,26 @@ Send <config> instead of config file fro
+--- xen-4.5.0-testing.orig/docs/man/xl.pod.1
++++ xen-4.5.0-testing/docs/man/xl.pod.1
+@@ -428,6 +428,26 @@ Send <config> instead of config file fro
Print huge (!) amount of debug during the migration process.
@@ -119,11 +119,35 @@
=back
=item B<remus> [I<OPTIONS>] I<domain-id> I<host>
-Index: xen-4.4.1-testing/tools/libxc/xc_domain_save.c
+Index: xen-4.5.0-testing/tools/libxc/include/xenguest.h
===================================================================
---- xen-4.4.1-testing.orig/tools/libxc/xc_domain_save.c
-+++ xen-4.4.1-testing/tools/libxc/xc_domain_save.c
-@@ -43,6 +43,7 @@
+--- xen-4.5.0-testing.orig/tools/libxc/include/xenguest.h
++++ xen-4.5.0-testing/tools/libxc/include/xenguest.h
+@@ -28,6 +28,7 @@
+ #define XCFLAGS_HVM (1 << 2)
+ #define XCFLAGS_STDVGA (1 << 3)
+ #define XCFLAGS_CHECKPOINT_COMPRESS (1 << 4)
++#define XCFLAGS_DOMSAVE_ABORT_IF_BUSY (1 << 5)
+
+ #define X86_64_B_SIZE 64
+ #define X86_32_B_SIZE 32
+@@ -88,6 +89,11 @@ int xc_domain_save(xc_interface *xch, in
+ uint32_t max_factor, uint32_t flags /* XCFLAGS_xxx */,
+ struct save_callbacks* callbacks, int hvm);
+
++int xc_domain_save_suse(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters,
++ uint32_t max_factor, uint32_t flags /* XCFLAGS_xxx */,
++ uint32_t min_remaining,
++ struct save_callbacks* callbacks, int hvm);
++
+
+ /* callbacks provided by xc_domain_restore */
+ struct restore_callbacks {
+Index: xen-4.5.0-testing/tools/libxc/xc_domain_save.c
+===================================================================
+--- xen-4.5.0-testing.orig/tools/libxc/xc_domain_save.c
++++ xen-4.5.0-testing/tools/libxc/xc_domain_save.c
+@@ -44,6 +44,7 @@
*/
#define DEF_MAX_ITERS 29 /* limit us to 30 times round loop */
#define DEF_MAX_FACTOR 3 /* never send more than 3x p2m_size */
@@ -131,7 +155,7 @@
struct save_ctx {
unsigned long hvirt_start; /* virtual starting address of the hypervisor */
-@@ -798,8 +799,9 @@ static int save_tsc_info(xc_interface *x
+@@ -800,8 +801,9 @@ static int save_tsc_info(xc_interface *x
return 0;
}
@@ -139,11 +163,11 @@
+int xc_domain_save_suse(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters,
uint32_t max_factor, uint32_t flags,
+ uint32_t min_remaining,
- struct save_callbacks* callbacks, int hvm,
- unsigned long vm_generationid_addr)
+ struct save_callbacks* callbacks, int hvm)
{
+ xc_dominfo_t info;
@@ -810,6 +812,7 @@ int xc_domain_save(xc_interface *xch, in
- int rc = 1, frc, i, j, last_iter = 0, iter = 0;
+ int rc, frc, i, j, last_iter = 0, iter = 0;
int live = (flags & XCFLAGS_LIVE);
int debug = (flags & XCFLAGS_DEBUG);
+ int abort_if_busy = (flags & XCFLAGS_DOMSAVE_ABORT_IF_BUSY);
@@ -158,7 +182,7 @@
if ( !get_platform_info(xch, dom,
&ctx->max_mfn, &ctx->hvirt_start, &ctx->pt_levels, &dinfo->guest_width) )
-@@ -1563,10 +1567,22 @@ int xc_domain_save(xc_interface *xch, in
+@@ -1536,10 +1540,21 @@ int xc_domain_save(xc_interface *xch, in
if ( live )
{
@@ -170,7 +194,6 @@
{
+ if ( !min_reached && abort_if_busy )
+ {
-+ errnoval = EBUSY;
+ DPRINTF("Live migration aborted, as requested. (guest too busy?)");
+ DPRINTF(" total_sent %lu iter %d, max_iters %u max_factor %u",
+ total_sent, iter, max_iters, max_factor);
@@ -182,33 +205,32 @@
DPRINTF("Start last iteration\n");
last_iter = 1;
-@@ -2210,6 +2226,13 @@ exit:
-
- return !!rc;
+@@ -2181,6 +2196,13 @@ exit:
+ return !!errno;
}
+
+int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters,
+ uint32_t max_factor, uint32_t flags,
-+ struct save_callbacks* callbacks, int hvm,
-+ unsigned long vm_generationid_addr)
++ struct save_callbacks* callbacks, int hvm)
+{
-+ return xc_domain_save_suse(xch, io_fd, dom, max_iters, max_factor, flags, 0, callbacks, hvm, vm_generationid_addr);
++ return xc_domain_save_suse(xch, io_fd, dom, max_iters, max_factor, flags, 0, callbacks, hvm);
+}
-
++
/*
* Local variables:
-Index: xen-4.4.1-testing/tools/libxc/xc_nomigrate.c
+ * mode: C
+Index: xen-4.5.0-testing/tools/libxc/xc_nomigrate.c
===================================================================
---- xen-4.4.1-testing.orig/tools/libxc/xc_nomigrate.c
-+++ xen-4.4.1-testing/tools/libxc/xc_nomigrate.c
-@@ -21,6 +21,16 @@
+--- xen-4.5.0-testing.orig/tools/libxc/xc_nomigrate.c
++++ xen-4.5.0-testing/tools/libxc/xc_nomigrate.c
+@@ -21,6 +21,15 @@
#include <xenctrl.h>
#include <xenguest.h>
+int xc_domain_save_suse(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters,
+ uint32_t max_factor, uint32_t flags,
+ uint32_t min_remaining,
-+ struct save_callbacks* callbacks, int hvm,
-+ unsigned long vm_generationid_addr)
++ struct save_callbacks* callbacks, int hvm)
+{
+ errno = ENOSYS;
+ return -1;
@@ -216,37 +238,12 @@
+
int xc_domain_save(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters,
uint32_t max_factor, uint32_t flags,
- struct save_callbacks* callbacks, int hvm,
-Index: xen-4.4.1-testing/tools/libxc/xenguest.h
-===================================================================
---- xen-4.4.1-testing.orig/tools/libxc/xenguest.h
-+++ xen-4.4.1-testing/tools/libxc/xenguest.h
-@@ -28,6 +28,7 @@
- #define XCFLAGS_HVM (1 << 2)
- #define XCFLAGS_STDVGA (1 << 3)
- #define XCFLAGS_CHECKPOINT_COMPRESS (1 << 4)
-+#define XCFLAGS_DOMSAVE_ABORT_IF_BUSY (1 << 5)
-
- #define X86_64_B_SIZE 64
- #define X86_32_B_SIZE 32
-@@ -89,6 +90,12 @@ int xc_domain_save(xc_interface *xch, in
- struct save_callbacks* callbacks, int hvm,
- unsigned long vm_generationid_addr);
-
-+int xc_domain_save_suse(xc_interface *xch, int io_fd, uint32_t dom, uint32_t max_iters,
-+ uint32_t max_factor, uint32_t flags /* XCFLAGS_xxx */,
-+ uint32_t min_remaining,
-+ struct save_callbacks* callbacks, int hvm,
-+ unsigned long vm_generationid_addr);
-+
-
- /* callbacks provided by xc_domain_restore */
- struct restore_callbacks {
-Index: xen-4.4.1-testing/tools/libxl/libxl.c
+ struct save_callbacks* callbacks, int hvm)
+Index: xen-4.5.0-testing/tools/libxl/libxl.c
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl.c
-+++ xen-4.4.1-testing/tools/libxl/libxl.c
-@@ -763,7 +763,8 @@ static void domain_suspend_cb(libxl__egc
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.c
++++ xen-4.5.0-testing/tools/libxl/libxl.c
+@@ -944,7 +944,8 @@ static void domain_suspend_cb(libxl__egc
}
@@ -256,7 +253,7 @@
const libxl_asyncop_how *ao_how)
{
AO_CREATE(ctx, domid, ao_how);
-@@ -784,8 +785,14 @@ int libxl_domain_suspend(libxl_ctx *ctx,
+@@ -965,8 +966,14 @@ int libxl_domain_suspend(libxl_ctx *ctx,
dss->domid = domid;
dss->fd = fd;
dss->type = type;
@@ -273,7 +270,7 @@
libxl__domain_suspend(egc, dss);
return AO_INPROGRESS;
-@@ -794,6 +801,20 @@ int libxl_domain_suspend(libxl_ctx *ctx,
+@@ -975,6 +982,20 @@ int libxl_domain_suspend(libxl_ctx *ctx,
return AO_ABORT(rc);
}
@@ -294,11 +291,11 @@
int libxl_domain_pause(libxl_ctx *ctx, uint32_t domid)
{
int ret;
-Index: xen-4.4.1-testing/tools/libxl/libxl.h
+Index: xen-4.5.0-testing/tools/libxl/libxl.h
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl.h
-+++ xen-4.4.1-testing/tools/libxl/libxl.h
-@@ -702,8 +702,23 @@ int libxl_domain_suspend(libxl_ctx *ctx,
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.h
++++ xen-4.5.0-testing/tools/libxl/libxl.h
+@@ -949,8 +949,23 @@ int libxl_domain_suspend(libxl_ctx *ctx,
int flags, /* LIBXL_SUSPEND_* */
const libxl_asyncop_how *ao_how)
LIBXL_EXTERNAL_CALLERS_ONLY;
@@ -322,25 +319,25 @@
/* @param suspend_cancel [from xenctrl.h:xc_domain_resume( @param fast )]
* If this parameter is true, use co-operative resume. The guest
-Index: xen-4.4.1-testing/tools/libxl/libxl_dom.c
+Index: xen-4.5.0-testing/tools/libxl/libxl_dom.c
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_dom.c
-+++ xen-4.4.1-testing/tools/libxl/libxl_dom.c
-@@ -1341,6 +1341,7 @@ void libxl__domain_suspend(libxl__egc *e
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_dom.c
++++ xen-4.5.0-testing/tools/libxl/libxl_dom.c
+@@ -1808,6 +1808,7 @@ void libxl__domain_suspend(libxl__egc *e
dss->xcflags = (live ? XCFLAGS_LIVE : 0)
| (debug ? XCFLAGS_DEBUG : 0)
+ | (dss->xlflags & LIBXL_SUSPEND_ABORT_IF_BUSY ? XCFLAGS_DOMSAVE_ABORT_IF_BUSY : 0)
| (dss->hvm ? XCFLAGS_HVM : 0);
- dss->suspend_eventchn = -1;
-Index: xen-4.4.1-testing/tools/libxl/libxl_internal.h
+ dss->guest_evtchn.port = -1;
+Index: xen-4.5.0-testing/tools/libxl/libxl_internal.h
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_internal.h
-+++ xen-4.4.1-testing/tools/libxl/libxl_internal.h
-@@ -2319,6 +2319,10 @@ struct libxl__domain_suspend_state {
- xc_evtchn *xce; /* event channel handle */
- int suspend_eventchn;
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_internal.h
++++ xen-4.5.0-testing/tools/libxl/libxl_internal.h
+@@ -2803,6 +2803,10 @@ struct libxl__domain_suspend_state {
+ libxl__ev_evtchn guest_evtchn;
+ int guest_evtchn_lockfd;
int hvm;
+ int max_iters;
+ int max_factor;
@@ -348,49 +345,49 @@
+ int xlflags;
int xcflags;
int guest_responded;
- const char *dm_savefile;
-Index: xen-4.4.1-testing/tools/libxl/libxl_save_callout.c
+ libxl__xswait_state pvcontrol;
+Index: xen-4.5.0-testing/tools/libxl/libxl_save_callout.c
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_save_callout.c
-+++ xen-4.4.1-testing/tools/libxl/libxl_save_callout.c
-@@ -108,7 +108,9 @@ void libxl__xc_domain_save(libxl__egc *e
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_save_callout.c
++++ xen-4.5.0-testing/tools/libxl/libxl_save_callout.c
+@@ -110,7 +110,9 @@ void libxl__xc_domain_save(libxl__egc *e
}
const unsigned long argnums[] = {
-- dss->domid, 0, 0, dss->xcflags, dss->hvm, vm_generationid_addr,
+- dss->domid, 0, 0, dss->xcflags, dss->hvm,
+ dss->domid,
+ dss->max_iters, dss->max_factor, dss->min_remaining,
-+ dss->xcflags, dss->hvm, vm_generationid_addr,
++ dss->xcflags, dss->hvm,
toolstack_data_fd, toolstack_data_len,
cbflags,
};
-Index: xen-4.4.1-testing/tools/libxl/libxl_save_helper.c
+Index: xen-4.5.0-testing/tools/libxl/libxl_save_helper.c
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/libxl_save_helper.c
-+++ xen-4.4.1-testing/tools/libxl/libxl_save_helper.c
-@@ -221,6 +221,7 @@ int main(int argc, char **argv)
+--- xen-4.5.0-testing.orig/tools/libxl/libxl_save_helper.c
++++ xen-4.5.0-testing/tools/libxl/libxl_save_helper.c
+@@ -215,6 +215,7 @@ int main(int argc, char **argv)
uint32_t dom = strtoul(NEXTARG,0,10);
uint32_t max_iters = strtoul(NEXTARG,0,10);
uint32_t max_factor = strtoul(NEXTARG,0,10);
+ uint32_t min_remaining = strtoul(NEXTARG,0,10);
uint32_t flags = strtoul(NEXTARG,0,10);
int hvm = atoi(NEXTARG);
- unsigned long genidad = strtoul(NEXTARG,0,10);
-@@ -235,7 +236,8 @@ int main(int argc, char **argv)
+ toolstack_save_fd = atoi(NEXTARG);
+@@ -228,7 +229,8 @@ int main(int argc, char **argv)
helper_setcallbacks_save(&helper_save_callbacks, cbflags);
startup("save");
- r = xc_domain_save(xch, io_fd, dom, max_iters, max_factor, flags,
+ r = xc_domain_save_suse(xch, io_fd, dom, max_iters, max_factor, flags,
+ min_remaining,
- &helper_save_callbacks, hvm, genidad);
+ &helper_save_callbacks, hvm);
complete(r);
-Index: xen-4.4.1-testing/tools/libxl/xl_cmdimpl.c
+Index: xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/xl_cmdimpl.c
-+++ xen-4.4.1-testing/tools/libxl/xl_cmdimpl.c
-@@ -3656,6 +3656,8 @@ static void migrate_do_preamble(int send
+--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdimpl.c
++++ xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c
+@@ -3878,6 +3878,8 @@ static void migrate_do_preamble(int send
}
static void migrate_domain(uint32_t domid, const char *rune, int debug,
@@ -399,7 +396,7 @@
const char *override_config_file)
{
pid_t child = -1;
-@@ -3664,7 +3666,13 @@ static void migrate_domain(uint32_t domi
+@@ -3886,7 +3888,13 @@ static void migrate_domain(uint32_t domi
char *away_domname;
char rc_buf;
uint8_t *config_data;
@@ -414,7 +411,7 @@
save_domain_core_begin(domid, override_config_file,
&config_data, &config_len);
-@@ -3683,10 +3691,13 @@ static void migrate_domain(uint32_t domi
+@@ -3905,10 +3913,13 @@ static void migrate_domain(uint32_t domi
xtl_stdiostream_adjust_flags(logger, XTL_STDIOSTREAM_HIDE_PROGRESS, 0);
if (debug)
@@ -431,7 +428,7 @@
" (rc=%d)\n", rc);
if (rc == ERROR_GUEST_TIMEDOUT)
goto failed_suspend;
-@@ -4073,13 +4084,18 @@ int main_migrate(int argc, char **argv)
+@@ -4295,13 +4306,18 @@ int main_migrate(int argc, char **argv)
char *rune = NULL;
char *host;
int opt, daemonize = 1, monitor = 1, debug = 0;
@@ -451,7 +448,7 @@
case 'C':
config_filename = optarg;
break;
-@@ -4096,6 +4112,18 @@ int main_migrate(int argc, char **argv)
+@@ -4318,6 +4334,18 @@ int main_migrate(int argc, char **argv)
case 0x100:
debug = 1;
break;
@@ -470,7 +467,7 @@
}
domid = find_domain(argv[optind]);
-@@ -4111,7 +4139,8 @@ int main_migrate(int argc, char **argv)
+@@ -4348,7 +4376,8 @@ int main_migrate(int argc, char **argv)
return 1;
}
@@ -480,11 +477,11 @@
return 0;
}
#endif
-Index: xen-4.4.1-testing/tools/libxl/xl_cmdtable.c
+Index: xen-4.5.0-testing/tools/libxl/xl_cmdtable.c
===================================================================
---- xen-4.4.1-testing.orig/tools/libxl/xl_cmdtable.c
-+++ xen-4.4.1-testing/tools/libxl/xl_cmdtable.c
-@@ -150,14 +150,21 @@ struct cmd_spec cmd_table[] = {
+--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdtable.c
++++ xen-4.5.0-testing/tools/libxl/xl_cmdtable.c
+@@ -155,14 +155,21 @@ struct cmd_spec cmd_table[] = {
&main_migrate, 0, 1,
"Migrate a domain to another host",
"[options] <Domain> <host>",
++++++ local_attach_support_for_phy.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:40.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:40.000000000 +0100
@@ -10,11 +10,11 @@
Suggested-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
-Index: xen-4.4.0-testing/tools/libxl/libxl.c
+Index: xen-4.5.0-testing/tools/libxl/libxl.c
===================================================================
---- xen-4.4.0-testing.orig/tools/libxl/libxl.c
-+++ xen-4.4.0-testing/tools/libxl/libxl.c
-@@ -2634,6 +2634,16 @@ void libxl__device_disk_local_initiate_a
+--- xen-4.5.0-testing.orig/tools/libxl/libxl.c
++++ xen-4.5.0-testing/tools/libxl/libxl.c
+@@ -3006,6 +3006,16 @@ void libxl__device_disk_local_initiate_a
switch (disk->backend) {
case LIBXL_DISK_BACKEND_PHY:
@@ -31,7 +31,7 @@
LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "locally attaching PHY disk %s",
disk->pdev_path);
dev = disk->pdev_path;
-@@ -2713,7 +2723,7 @@ static void local_device_attach_cb(libxl
+@@ -3085,7 +3095,7 @@ static void local_device_attach_cb(libxl
}
dev = GCSPRINTF("/dev/%s", disk->vdev);
@@ -40,7 +40,7 @@
rc = libxl__device_from_disk(gc, LIBXL_TOOLSTACK_DOMID, disk, &device);
if (rc < 0)
-@@ -2753,6 +2763,7 @@ void libxl__device_disk_local_initiate_d
+@@ -3125,6 +3135,7 @@ void libxl__device_disk_local_initiate_d
if (!dls->diskpath) goto out;
switch (disk->backend) {
@@ -48,7 +48,7 @@
case LIBXL_DISK_BACKEND_QDISK:
if (disk->vdev != NULL) {
GCNEW(device);
-@@ -2770,7 +2781,6 @@ void libxl__device_disk_local_initiate_d
+@@ -3142,7 +3153,6 @@ void libxl__device_disk_local_initiate_d
/* disk->vdev == NULL; fall through */
default:
/*
++++++ pygrub-boot-legacy-sles.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:40.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:40.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.4.0-testing/tools/pygrub/src/pygrub
+Index: xen-4.5.0-testing/tools/pygrub/src/pygrub
===================================================================
---- xen-4.4.0-testing.orig/tools/pygrub/src/pygrub
-+++ xen-4.4.0-testing/tools/pygrub/src/pygrub
-@@ -452,7 +452,7 @@ class Grub:
+--- xen-4.5.0-testing.orig/tools/pygrub/src/pygrub
++++ xen-4.5.0-testing/tools/pygrub/src/pygrub
+@@ -450,7 +450,7 @@ class Grub:
self.cf.filename = f
break
if self.__dict__.get('cf', None) is None:
@@ -11,7 +11,7 @@
f = fs.open_file(self.cf.filename)
# limit read size to avoid pathological cases
buf = f.read(FS_READ_MAX)
-@@ -598,6 +598,20 @@ def run_grub(file, entry, fs, cfg_args):
+@@ -622,6 +622,20 @@ def run_grub(file, entry, fs, cfg_args):
g = Grub(file, fs)
@@ -32,7 +32,7 @@
if list_entries:
for i in range(len(g.cf.images)):
img = g.cf.images[i]
-@@ -693,6 +707,19 @@ def sniff_netware(fs, cfg):
+@@ -717,6 +731,19 @@ def sniff_netware(fs, cfg):
return cfg
@@ -52,11 +52,11 @@
def format_sxp(kernel, ramdisk, args):
s = "linux (kernel %s)" % kernel
if ramdisk:
-@@ -773,7 +800,7 @@ if __name__ == "__main__":
+@@ -797,7 +824,7 @@ if __name__ == "__main__":
debug = False
not_really = False
output_format = "sxp"
-- output_directory = "/var/run/xend/boot"
+- output_directory = "/var/run/xen/pygrub"
+ output_directory = "/var/run/xen"
# what was passed in
++++++ pygrub-netware-xnloader.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:40.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:40.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.4.0-testing/tools/pygrub/src/pygrub
+Index: xen-4.5.0-testing/tools/pygrub/src/pygrub
===================================================================
---- xen-4.4.0-testing.orig/tools/pygrub/src/pygrub
-+++ xen-4.4.0-testing/tools/pygrub/src/pygrub
+--- xen-4.5.0-testing.orig/tools/pygrub/src/pygrub
++++ xen-4.5.0-testing/tools/pygrub/src/pygrub
@@ -26,6 +26,7 @@ import fsimage
import grub.GrubConf
import grub.LiloConf
@@ -10,7 +10,7 @@
PYGRUB_VER = 0.6
FS_READ_MAX = 1024 * 1024
-@@ -735,6 +736,8 @@ if __name__ == "__main__":
+@@ -759,6 +760,8 @@ if __name__ == "__main__":
if len(data) == 0:
os.close(tfd)
del datafile
++++++ qemu-xen-dir-remote.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/xen/qemu-xen-dir-remote.tar.bz2 /work/SRC/openSUSE:Factory/.xen.new/qemu-xen-dir-remote.tar.bz2 differ: char 11, line 1
++++++ qemu-xen-traditional-dir-remote.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/Makefile new/tools/qemu-xen-traditional-dir-remote/Makefile
--- old/tools/qemu-xen-traditional-dir-remote/Makefile 2014-08-07 18:30:33.000000000 +0200
+++ new/tools/qemu-xen-traditional-dir-remote/Makefile 2015-01-14 18:45:44.000000000 +0100
@@ -46,9 +46,9 @@
recurse-all: $(SUBDIR_RULES)
-CPPFLAGS += -I$(XEN_ROOT)/tools/libxc
+CPPFLAGS += -I$(XEN_ROOT)/tools/libxc/include
CPPFLAGS += -I$(XEN_ROOT)/tools/blktap/lib
-CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore
+CPPFLAGS += -I$(XEN_ROOT)/tools/xenstore/include
CPPFLAGS += -I$(XEN_ROOT)/tools/include
tapdisk-ioemu: tapdisk-ioemu.c cutils.c block.c block-raw.c block-cow.c block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c block-vpc.c block-vvfat.c block-qcow2.c hw/xen_blktap.c osdep.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/xen-config.mak new/tools/qemu-xen-traditional-dir-remote/xen-config.mak
--- old/tools/qemu-xen-traditional-dir-remote/xen-config.mak 2014-08-07 18:30:34.000000000 +0200
+++ new/tools/qemu-xen-traditional-dir-remote/xen-config.mak 2015-01-14 18:45:44.000000000 +0100
@@ -9,4 +9,4 @@
CFLAGS += -I$(QEMU_ROOT)/hw
-bindir = ${LIBEXEC}
+bindir = ${LIBEXEC_BIN}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak new/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak
--- old/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak 2014-08-07 18:30:34.000000000 +0200
+++ new/tools/qemu-xen-traditional-dir-remote/xen-hooks.mak 2015-01-14 18:45:44.000000000 +0100
@@ -1,5 +1,5 @@
-CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc
-CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore
+CPPFLAGS+= -I$(XEN_ROOT)/tools/libxc/include
+CPPFLAGS+= -I$(XEN_ROOT)/tools/xenstore/include
CPPFLAGS+= -I$(XEN_ROOT)/tools/include
SSE2 := $(call cc-option,-msse2,)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tools/qemu-xen-traditional-dir-remote/xen-setup-stubdom new/tools/qemu-xen-traditional-dir-remote/xen-setup-stubdom
--- old/tools/qemu-xen-traditional-dir-remote/xen-setup-stubdom 2014-08-07 18:30:34.000000000 +0200
+++ new/tools/qemu-xen-traditional-dir-remote/xen-setup-stubdom 2015-01-14 18:45:44.000000000 +0100
@@ -22,7 +22,7 @@
TARGET_CFLAGS= $TARGET_CFLAGS
TARGET_LDFLAGS= $TARGET_LDFLAGS
-bindir = \${LIBEXEC}
+bindir = \${LIBEXEC_BIN}
END
mv -f $target/config.mak.new $target/config.mak
#----------
++++++ qemu-xen-upstream-megasas-buildtime.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100
@@ -4,11 +4,11 @@
tools/qemu-xen-dir-remote/hw/scsi/megasas.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
-Index: xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/scsi/megasas.c
+Index: xen-4.5.0-testing/tools/qemu-xen-dir-remote/hw/scsi/megasas.c
===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-dir-remote/hw/scsi/megasas.c
-+++ xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/scsi/megasas.c
-@@ -712,8 +712,8 @@ static int megasas_ctrl_get_info(Megasas
+--- xen-4.5.0-testing.orig/tools/qemu-xen-dir-remote/hw/scsi/megasas.c
++++ xen-4.5.0-testing/tools/qemu-xen-dir-remote/hw/scsi/megasas.c
+@@ -717,8 +717,8 @@ static int megasas_ctrl_get_info(Megasas
snprintf(info.package_version, 0x60, "%s-QEMU", QEMU_VERSION);
memcpy(info.image_component[0].name, "APP", 3);
memcpy(info.image_component[0].version, MEGASAS_VERSION "-QEMU", 9);
++++++ qemu-xen-upstream-qdisk-cache-unsafe.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100
@@ -3,11 +3,11 @@
tools/qemu-xen-dir-remote/hw/block/xen_disk.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
-Index: xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_disk.c
+Index: xen-4.5.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_disk.c
===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-dir-remote/hw/block/xen_disk.c
-+++ xen-4.4.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_disk.c
-@@ -113,6 +113,7 @@ struct XenBlkDev {
+--- xen-4.5.0-testing.orig/tools/qemu-xen-dir-remote/hw/block/xen_disk.c
++++ xen-4.5.0-testing/tools/qemu-xen-dir-remote/hw/block/xen_disk.c
+@@ -120,6 +120,7 @@ struct XenBlkDev {
int requests_inflight;
int requests_finished;
@@ -15,8 +15,8 @@
/* Persistent grants extension */
gboolean feature_discard;
gboolean feature_persistent;
-@@ -725,6 +726,16 @@ static void blk_parse_discard(struct Xen
- xenstore_write_be_int(&blkdev->xendev, "feature-discard", 1);
+@@ -780,6 +781,16 @@ static void blk_parse_discard(struct Xen
+ }
}
+static void blk_parse_cache_unsafe(struct XenBlkDev *blkdev)
@@ -32,7 +32,7 @@
static int blk_init(struct XenDevice *xendev)
{
struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
-@@ -793,6 +804,7 @@ static int blk_init(struct XenDevice *xe
+@@ -848,6 +859,7 @@ static int blk_init(struct XenDevice *xe
xenstore_write_be_int(&blkdev->xendev, "info", info);
blk_parse_discard(blkdev);
@@ -40,9 +40,9 @@
g_free(directiosafe);
return 0;
-@@ -832,6 +844,9 @@ static int blk_connect(struct XenDevice
- if (blkdev->feature_discard)
+@@ -888,6 +900,9 @@ static int blk_connect(struct XenDevice
qflags |= BDRV_O_UNMAP;
+ }
+ if (blkdev->cache_unsafe)
+ qflags |= BDRV_O_NO_FLUSH;
++++++ seabios-dir-remote.tar.bz2 ++++++
++++++ set-mtu-from-bridge-for-tap-interface.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100
@@ -16,11 +16,11 @@
Signed-off-by: Charles Arnold <carnold(a)suse.com>
Acked-by: Ian Campbell <ian.campbell(a)citrix.com>
-Index: xen-4.4.0-testing/tools/hotplug/Linux/vif-bridge
+Index: xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge
===================================================================
---- xen-4.4.0-testing.orig/tools/hotplug/Linux/vif-bridge
-+++ xen-4.4.0-testing/tools/hotplug/Linux/vif-bridge
-@@ -88,7 +88,7 @@ fi
+--- xen-4.5.0-testing.orig/tools/hotplug/Linux/vif-bridge
++++ xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge
+@@ -84,7 +84,7 @@ fi
case "$command" in
online)
setup_virtual_bridge_port "$dev"
@@ -29,7 +29,7 @@
add_to_bridge "$bridge" "$dev"
;;
-@@ -99,7 +99,7 @@ case "$command" in
+@@ -95,7 +95,7 @@ case "$command" in
add)
setup_virtual_bridge_port "$dev"
++++++ stubdom.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/xen/stubdom.tar.bz2 /work/SRC/openSUSE:Factory/.xen.new/stubdom.tar.bz2 differ: char 11, line 1
++++++ suspend_evtchn_lock.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100
@@ -6,11 +6,11 @@
Signed-off-by: Chunyan Liu <cyliu(a)suse.com>
-Index: xen-4.2.0-testing/tools/libxc/xc_suspend.c
+Index: xen-4.5.0-testing/tools/libxc/xc_suspend.c
===================================================================
---- xen-4.2.0-testing.orig/tools/libxc/xc_suspend.c
-+++ xen-4.2.0-testing/tools/libxc/xc_suspend.c
-@@ -16,8 +16,43 @@
+--- xen-4.5.0-testing.orig/tools/libxc/xc_suspend.c
++++ xen-4.5.0-testing/tools/libxc/xc_suspend.c
+@@ -19,6 +19,10 @@
#include "xc_private.h"
#include "xenguest.h"
@@ -19,7 +19,12 @@
+extern int kill (__pid_t __pid, int __sig);
+#endif
- #define SUSPEND_LOCK_FILE "/var/lib/xen/suspend_evtchn"
+ #define SUSPEND_LOCK_FILE XEN_RUN_DIR "/suspend-evtchn-%d.lock"
+
+@@ -34,6 +38,37 @@
+
+ #define SUSPEND_FILE_BUFLEN (sizeof(SUSPEND_LOCK_FILE) + 10)
+
+/* cleanup obsolete suspend lock file which is unlinked for any reason,
+so that current process can get lock */
+static void clean_obsolete_lock(int domid)
@@ -51,34 +56,23 @@
+ }
+}
+
- static int lock_suspend_event(xc_interface *xch, int domid)
+ static void get_suspend_file(char buf[], int domid)
{
- int fd, rc;
-@@ -27,6 +62,7 @@ static int lock_suspend_event(xc_interfa
+ snprintf(buf, SUSPEND_FILE_BUFLEN, SUSPEND_LOCK_FILE, domid);
+@@ -47,6 +82,7 @@ static int lock_suspend_event(xc_interfa
+ struct flock fl;
- snprintf(suspend_file, sizeof(suspend_file), "%s_%d_lock.d",
- SUSPEND_LOCK_FILE, domid);
+ get_suspend_file(suspend_file, domid);
+ clean_obsolete_lock(domid);
- mask = umask(022);
- fd = open(suspend_file, O_CREAT | O_EXCL | O_RDWR, 0666);
- if (fd < 0)
-@@ -41,6 +77,9 @@ static int lock_suspend_event(xc_interfa
- rc = write_exact(fd, buf, strlen(buf));
- close(fd);
-
-+ if(rc)
-+ unlink(suspend_file);
-+
- return rc;
- }
-@@ -127,8 +166,7 @@ int xc_suspend_evtchn_init(xc_interface
- return suspend_evtchn;
+ *lockfd = -1;
- cleanup:
-- if (suspend_evtchn != -1)
-- xc_suspend_evtchn_release(xch, xce, domid, suspend_evtchn);
-+ xc_suspend_evtchn_release(xch, xce, domid, suspend_evtchn);
+@@ -96,6 +132,8 @@ static int lock_suspend_event(xc_interfa
+ if (fd >= 0)
+ close(fd);
++ unlink(suspend_file);
++
return -1;
}
+
++++++ tigervnc-long-press.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.4.1-testing/tools/qemu-xen-dir-remote/ui/vnc.c
+Index: xen-4.5.0-testing/tools/qemu-xen-dir-remote/ui/vnc.c
===================================================================
---- xen-4.4.1-testing.orig/tools/qemu-xen-dir-remote/ui/vnc.c
-+++ xen-4.4.1-testing/tools/qemu-xen-dir-remote/ui/vnc.c
-@@ -1651,6 +1651,25 @@ static void do_key_event(VncState *vs, i
+--- xen-4.5.0-testing.orig/tools/qemu-xen-dir-remote/ui/vnc.c
++++ xen-4.5.0-testing/tools/qemu-xen-dir-remote/ui/vnc.c
+@@ -1645,6 +1645,25 @@ static void do_key_event(VncState *vs, i
if (down)
vs->modifiers_state[keycode] ^= 1;
break;
++++++ tmp_build.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100
@@ -1,26 +1,30 @@
-Index: xen-4.3.0-testing/tools/xenstore/Makefile
+---
+ tools/xenstore/Makefile | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+Index: xen-4.5.0-testing/tools/xenstore/Makefile
===================================================================
---- xen-4.3.0-testing.orig/tools/xenstore/Makefile
-+++ xen-4.3.0-testing/tools/xenstore/Makefile
-@@ -75,6 +75,7 @@ $(CLIENTS_DOMU): xenstore
+--- xen-4.5.0-testing.orig/tools/xenstore/Makefile
++++ xen-4.5.0-testing/tools/xenstore/Makefile
+@@ -91,6 +91,7 @@ $(CLIENTS_DOMU): xenstore
xenstore: xenstore_client.o $(LIBXENSTORE)
- $(CC) $(LDFLAGS) $< $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS)
-+ $(CC) $(CFLAGS) $(LDFLAGS) -Wl,--build-id=uuid $< -L. -lxenstore $(SOCKET_LIBS) -o domu-$@
+ $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS)
++ $(CC) $< $(CFLAGS) $(LDFLAGS) -Wl,--build-id=uuid -L. -lxenstore $(SOCKET_LIBS) -o domu-$@
xenstore-control: xenstore_control.o $(LIBXENSTORE)
- $(CC) $(LDFLAGS) $< $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS)
-@@ -124,10 +125,11 @@ install: all
+ $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS)
+@@ -141,10 +142,11 @@ endif
$(INSTALL_PROG) xenstore-control $(DESTDIR)$(BINDIR)
$(INSTALL_PROG) xenstore $(DESTDIR)$(BINDIR)
set -e ; for c in $(CLIENTS) ; do \
- ln -f $(DESTDIR)$(BINDIR)/xenstore $(DESTDIR)$(BINDIR)/$${c} ; \
-+ ln -fs /usr/bin/xenstore $(DESTDIR)/usr/bin/$${c} ; \
++ ln -fs xenstore $(DESTDIR)/usr/bin/$${c} ; \
done
+ $(INSTALL_PROG) domu-xenstore $(DESTDIR)/bin
for client in $(CLIENTS_DOMU); do \
- $(INSTALL_PROG) $$client $(DESTDIR)/bin/$${client/domu-}; \
-+ ln -fs /bin/domu-xenstore $(DESTDIR)/bin/$${client/domu-}; \
++ ln -fs domu-xenstore $(DESTDIR)/bin/$${client/domu-}; \
done
$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
- $(INSTALL_PROG) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
+ $(INSTALL_SHLIB) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
++++++ udev-rules.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100
@@ -1,11 +1,11 @@
-Index: xen-4.3.0-testing/tools/hotplug/Linux/xen-backend.rules
+Index: xen-4.5.0-testing/tools/hotplug/Linux/xen-backend.rules.in
===================================================================
---- xen-4.3.0-testing.orig/tools/hotplug/Linux/xen-backend.rules
-+++ xen-4.3.0-testing/tools/hotplug/Linux/xen-backend.rules
+--- xen-4.5.0-testing.orig/tools/hotplug/Linux/xen-backend.rules.in
++++ xen-4.5.0-testing/tools/hotplug/Linux/xen-backend.rules.in
@@ -12,4 +12,5 @@ KERNEL=="blktap-control", NAME="xen/blkt
KERNEL=="gntdev", NAME="xen/%k", MODE="0600"
KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600"
KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600"
--SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+-SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="@XEN_SCRIPT_DIR@/vif-setup $env{ACTION} type_if=tap"
+SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", TEST=="/proc/xen" RUN+="/etc/xen/scripts/vif-setup $env{ACTION} type_if=tap"
+KERNELS=="xen", KERNEL=="xvd*", SUBSYSTEM=="block", OPTIONS+="last_rule"
++++++ vif-bridge-no-iptables.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100
@@ -1,17 +1,13 @@
-Index: xen-4.4.0-testing/tools/hotplug/Linux/vif-bridge
+Index: xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge
===================================================================
---- xen-4.4.0-testing.orig/tools/hotplug/Linux/vif-bridge
-+++ xen-4.4.0-testing/tools/hotplug/Linux/vif-bridge
-@@ -97,9 +97,9 @@ case "$command" in
+--- xen-4.5.0-testing.orig/tools/hotplug/Linux/vif-bridge
++++ xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge
+@@ -93,7 +93,7 @@ case "$command" in
;;
esac
--if [ "$type_if" = vif ]; then
-- handle_iptable
--fi
-+#if [ "$type_if" = vif ]; then
-+# handle_iptable
-+#fi
+-handle_iptable
++#handle_iptable
call_hooks vif post
++++++ vif-bridge-tap-fix.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100
@@ -10,11 +10,11 @@
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
-Index: xen-4.2.0-testing/tools/hotplug/Linux/vif-bridge
+Index: xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge
===================================================================
---- xen-4.2.0-testing.orig/tools/hotplug/Linux/vif-bridge
-+++ xen-4.2.0-testing/tools/hotplug/Linux/vif-bridge
-@@ -32,6 +32,13 @@
+--- xen-4.5.0-testing.orig/tools/hotplug/Linux/vif-bridge
++++ xen-4.5.0-testing/tools/hotplug/Linux/vif-bridge
+@@ -28,6 +28,13 @@
dir=$(dirname "$0")
. "$dir/vif-common.sh"
++++++ x86-cpufreq-report.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.4.0-testing/xen/arch/x86/platform_hypercall.c
+Index: xen-4.5.0-testing/xen/arch/x86/platform_hypercall.c
===================================================================
---- xen-4.4.0-testing.orig/xen/arch/x86/platform_hypercall.c
-+++ xen-4.4.0-testing/xen/arch/x86/platform_hypercall.c
+--- xen-4.5.0-testing.orig/xen/arch/x86/platform_hypercall.c
++++ xen-4.5.0-testing/xen/arch/x86/platform_hypercall.c
@@ -25,7 +25,7 @@
#include <xen/irq.h>
#include <asm/current.h>
@@ -11,7 +11,7 @@
#include <asm/edd.h>
#include <asm/mtrr.h>
#include <asm/io_apic.h>
-@@ -601,6 +601,41 @@ ret_t do_platform_op(XEN_GUEST_HANDLE_PA
+@@ -760,6 +760,41 @@ ret_t do_platform_op(XEN_GUEST_HANDLE_PA
}
break;
@@ -53,10 +53,10 @@
default:
ret = -ENOSYS;
break;
-Index: xen-4.4.0-testing/xen/include/public/platform.h
+Index: xen-4.5.0-testing/xen/include/public/platform.h
===================================================================
---- xen-4.4.0-testing.orig/xen/include/public/platform.h
-+++ xen-4.4.0-testing/xen/include/public/platform.h
+--- xen-4.5.0-testing.orig/xen/include/public/platform.h
++++ xen-4.5.0-testing/xen/include/public/platform.h
@@ -527,6 +527,16 @@ struct xenpf_core_parking {
typedef struct xenpf_core_parking xenpf_core_parking_t;
DEFINE_XEN_GUEST_HANDLE(xenpf_core_parking_t);
@@ -72,12 +72,12 @@
+};
+
/*
- * ` enum neg_errnoval
- * ` HYPERVISOR_platform_op(const struct xen_platform_op*);
-@@ -553,6 +563,7 @@ struct xen_platform_op {
- struct xenpf_cpu_hotadd cpu_add;
+ * Access generic platform resources(e.g., accessing MSR, port I/O, etc)
+ * in unified way. Batch resource operations in one call are supported and
+@@ -587,6 +597,7 @@ struct xen_platform_op {
struct xenpf_mem_hotadd mem_add;
struct xenpf_core_parking core_parking;
+ struct xenpf_resource_op resource_op;
+ struct xenpf_get_cpu_freq get_cpu_freq;
uint8_t pad[128];
} u;
++++++ x86-ioapic-ack-default.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:42.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:42.000000000 +0100
@@ -1,8 +1,10 @@
Change default IO-APIC ack mode for single IO-APIC systems to old-style.
---- a/xen/arch/x86/io_apic.c
-+++ b/xen/arch/x86/io_apic.c
-@@ -2034,7 +2034,10 @@ void __init setup_IO_APIC(void)
+Index: xen-4.5.0-testing/xen/arch/x86/io_apic.c
+===================================================================
+--- xen-4.5.0-testing.orig/xen/arch/x86/io_apic.c
++++ xen-4.5.0-testing/xen/arch/x86/io_apic.c
+@@ -2035,7 +2035,10 @@ void __init setup_IO_APIC(void)
io_apic_irqs = ~PIC_IRQS;
printk("ENABLING IO-APIC IRQs\n");
++++++ xen-4.4.1-testing-src.tar.bz2 -> xen-4.5.0-testing-src.tar.bz2 ++++++
++++ 264342 lines of diff (skipped)
++++++ xen-destdir.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.4.0-testing/tools/xenstore/Makefile
+Index: xen-4.5.0-testing/tools/xenstore/Makefile
===================================================================
---- xen-4.4.0-testing.orig/tools/xenstore/Makefile
-+++ xen-4.4.0-testing/tools/xenstore/Makefile
-@@ -10,6 +10,7 @@ CFLAGS += $(CFLAGS_libxenctrl)
+--- xen-4.5.0-testing.orig/tools/xenstore/Makefile
++++ xen-4.5.0-testing/tools/xenstore/Makefile
+@@ -19,6 +19,7 @@ LDFLAGS += $(LDFLAGS-y)
CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmod
CLIENTS += xenstore-write xenstore-ls xenstore-watch
@@ -10,7 +10,7 @@
XENSTORED_OBJS = xenstored_core.o xenstored_watch.o xenstored_domain.o xenstored_transaction.o xs_lib.o talloc.o utils.o tdb.o hashtable.o
-@@ -41,7 +42,7 @@ endif
+@@ -57,7 +58,7 @@ endif
all: $(ALL_TARGETS)
.PHONY: clients
@@ -19,7 +19,7 @@
ifeq ($(CONFIG_SunOS),y)
xenstored_probes.h: xenstored_probes.d
-@@ -69,6 +70,9 @@ xenstored.a: $(XENSTORED_OBJS)
+@@ -85,6 +86,9 @@ xenstored.a: $(XENSTORED_OBJS)
$(CLIENTS): xenstore
ln -f xenstore $@
@@ -27,9 +27,9 @@
+ ln -f xenstore $@
+
xenstore: xenstore_client.o $(LIBXENSTORE)
- $(CC) $(LDFLAGS) $< $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS)
+ $(CC) $< $(LDFLAGS) $(LDLIBS_libxenstore) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS)
-@@ -96,7 +100,7 @@ clean:
+@@ -112,7 +116,7 @@ clean:
rm -f *.a *.o *.opic *.so* xenstored_probes.h
rm -f xenstored xs_random xs_stress xs_crashme
rm -f xs_tdb_dump xenstore-control init-xenstore-domain
@@ -38,15 +38,14 @@
$(RM) $(DEPS)
.PHONY: TAGS
-@@ -113,6 +117,7 @@ install: all
+@@ -132,12 +136,16 @@ ifeq ($(XENSTORE_XENSTORED),y)
$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
- $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)
- $(INSTALL_DIR) $(DESTDIR)$(INCLUDEDIR)/xenstore-compat
-+ $(INSTALL_DIR) $(DESTDIR)/bin
- $(INSTALL_DIR) $(DESTDIR)/var/run/xenstored
- $(INSTALL_DIR) $(DESTDIR)/var/lib/xenstored
+ $(INSTALL_DIR) $(DESTDIR)$(XEN_LIB_STORED)
$(INSTALL_PROG) xenstored $(DESTDIR)$(SBINDIR)
-@@ -121,6 +126,9 @@ install: all
++ $(INSTALL_DIR) $(DESTDIR)/bin
+ endif
+ $(INSTALL_PROG) xenstore-control $(DESTDIR)$(BINDIR)
+ $(INSTALL_PROG) xenstore $(DESTDIR)$(BINDIR)
set -e ; for c in $(CLIENTS) ; do \
ln -f $(DESTDIR)$(BINDIR)/xenstore $(DESTDIR)$(BINDIR)/$${c} ; \
done
@@ -54,50 +53,5 @@
+ $(INSTALL_PROG) $$client $(DESTDIR)/bin/$${client/domu-}; \
+ done
$(INSTALL_DIR) $(DESTDIR)$(LIBDIR)
- $(INSTALL_PROG) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
+ $(INSTALL_SHLIB) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)
ln -sf libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenstore.so.$(MAJOR)
-Index: xen-4.4.0-testing/tools/hotplug/Linux/Makefile
-===================================================================
---- xen-4.4.0-testing.orig/tools/hotplug/Linux/Makefile
-+++ xen-4.4.0-testing/tools/hotplug/Linux/Makefile
-@@ -46,14 +46,14 @@ install: all install-initd install-scrip
- .PHONY: install-initd
- install-initd:
- [ -d $(DESTDIR)$(INITD_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
-- [ -d $(DESTDIR)$(SYSCONFIG_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR)
-+ [ -d $(DESTDIR)/var/adm/fillup-templates ] || $(INSTALL_DIR) $(DESTDIR)/var/adm/fillup-templates/
- ifeq ($(CONFIG_XEND),y)
- $(INSTALL_PROG) $(XEND_INITD) $(DESTDIR)$(INITD_DIR)
- endif
- $(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)$(INITD_DIR)
-- $(INSTALL_DATA) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)$(SYSCONFIG_DIR)/xendomains
-+ $(INSTALL_DATA) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)/var/adm/fillup-templates/
- $(INSTALL_PROG) $(XENCOMMONS_INITD) $(DESTDIR)$(INITD_DIR)
-- $(INSTALL_DATA) $(XENCOMMONS_SYSCONFIG) $(DESTDIR)$(SYSCONFIG_DIR)/xencommons
-+ $(INSTALL_DATA) $(XENCOMMONS_SYSCONFIG) $(DESTDIR)/var/adm/fillup-templates/
- $(INSTALL_PROG) init.d/xen-watchdog $(DESTDIR)$(INITD_DIR)
-
- .PHONY: install-scripts
-Index: xen-4.4.0-testing/tools/firmware/etherboot/Makefile
-===================================================================
---- xen-4.4.0-testing.orig/tools/firmware/etherboot/Makefile
-+++ xen-4.4.0-testing/tools/firmware/etherboot/Makefile
-@@ -28,12 +28,12 @@ all: $(ROMS)
- $(MAKE) -C $D/src bin/$(*F).rom
-
- $T:
-- if ! $(FETCHER) _$T $(IPXE_TARBALL_URL); then \
-- $(GIT) clone $(IPXE_GIT_URL) $D.git; \
-- (cd $D.git && $(GIT) archive --format=tar --prefix=$D/ \
-- $(IPXE_GIT_TAG) | gzip >../_$T); \
-- rm -rf $D.git; \
-- fi
-+ #if ! $(FETCHER) _$T $(IPXE_TARBALL_URL); then \
-+ # $(GIT) clone $(IPXE_GIT_URL) $D.git; \
-+ # (cd $D.git && $(GIT) archive --format=tar --prefix=$D/ \
-+ # $(IPXE_GIT_TAG) | gzip >../_$T); \
-+ # rm -rf $D.git; \
-+ #fi
- mv _$T $T
-
- $D/src/arch/i386/Makefile: $T Config
++++++ xen-hvm-default-bridge.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100
@@ -30,27 +30,6 @@
}
} else
#endif
-Index: xen-4.2.3-testing/tools/python/xen/xend/image.py
-===================================================================
---- xen-4.2.3-testing.orig/tools/python/xen/xend/image.py
-+++ xen-4.2.3-testing/tools/python/xen/xend/image.py
-@@ -912,11 +912,13 @@ class HVMImageHandler(ImageHandler):
- mac = devinfo.get('mac')
- if mac is None:
- raise VmError("MAC address not specified or generated.")
-- bridge = devinfo.get('bridge', 'xenbr0')
-+ bridge = devinfo.get('bridge', None)
- model = devinfo.get('model', 'rtl8139')
- ret.append("-net")
-- ret.append("nic,vlan=%d,macaddr=%s,model=%s" %
-- (nics, mac, model))
-+ net = "nic,vlan=%d,macaddr=%s,model=%s" % (nics, mac, model)
-+ if bridge:
-+ net += ",bridge=%s" % bridge
-+ ret.append(net)
- vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1)
- ret.append("-net")
- if osdep.tapif_script is not None:
Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
===================================================================
--- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
++++++ xen-qemu-iscsi-fix.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
===================================================================
---- xen-4.4.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
-+++ xen-4.4.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
-@@ -451,7 +451,7 @@ void xenstore_parse_domain_config(int hv
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+@@ -450,7 +450,7 @@ void xenstore_parse_domain_config(int hv
char *buf = NULL;
char *fpath = NULL, *bpath = NULL, *btype = NULL,
*dev = NULL, *params = NULL, *drv = NULL;
@@ -11,7 +11,7 @@
unsigned int len, num, hd_index, pci_devid = 0;
BlockDriverState *bs;
BlockDriver *format;
-@@ -535,12 +535,7 @@ void xenstore_parse_domain_config(int hv
+@@ -534,12 +534,7 @@ void xenstore_parse_domain_config(int hv
continue;
free(danger_type);
danger_type = xs_read(xsh, XBT_NULL, danger_buf, &len);
@@ -25,7 +25,7 @@
/* read the name of the device */
if (pasprintf(&buf, "%s/type", bpath) == -1)
continue;
-@@ -548,6 +543,35 @@ void xenstore_parse_domain_config(int hv
+@@ -547,6 +542,35 @@ void xenstore_parse_domain_config(int hv
drv = xs_read(xsh, XBT_NULL, buf, &len);
if (drv == NULL)
continue;
@@ -61,7 +61,7 @@
/* Obtain blktap sub-type prefix */
if ((!strcmp(drv, "tap") || !strcmp(drv, "qdisk")) && params[0]) {
char *offset = strchr(params, ':');
-@@ -665,6 +689,12 @@ void xenstore_parse_domain_config(int hv
+@@ -664,6 +688,12 @@ void xenstore_parse_domain_config(int hv
format = &bdrv_host_device;
else
format = &bdrv_raw;
++++++ xen.build-compare.doc_html.patch ++++++
The result of $(wildcard *) is random.
Sort input files to reduce build-compare noise.
---
docs/Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Index: xen-4.5.0-testing/docs/Makefile
===================================================================
--- xen-4.5.0-testing.orig/docs/Makefile
+++ xen-4.5.0-testing/docs/Makefile
@@ -110,7 +110,7 @@ install-html: html txt figs
install: install-man-pages install-html
html/index.html: $(DOC_HTML) $(CURDIR)/gen-html-index INDEX
- $(PERL) -w -- $(CURDIR)/gen-html-index -i INDEX html $(DOC_HTML)
+ $(PERL) -w -- $(CURDIR)/gen-html-index -i INDEX html $(sort $(DOC_HTML))
html/%.html: %.markdown
$(INSTALL_DIR) $(@D)
@@ -152,8 +152,8 @@ html/hypercall/%/index.html: $(CURDIR)/x
$(INSTALL_DIR) $(@D)
$(PERL) -w $(CURDIR)/xen-headers -O $(@D) \
-T 'arch-$* - Xen public headers' \
- $(patsubst %,-X arch-%,$(filter-out $*,$(DOC_ARCHES))) \
- $(patsubst %,-X xen-%,$(filter-out $*,$(DOC_ARCHES))) \
+ $(sort $(patsubst %,-X arch-%,$(filter-out $*,$(DOC_ARCHES)))) \
+ $(sort $(patsubst %,-X xen-%,$(filter-out $*,$(DOC_ARCHES)))) \
$(EXTRA_EXCLUDE) \
$(XEN_ROOT)/xen include/public include/xen/errno.h
++++++ xen.build-compare.ipxe.patch ++++++
The result of $(wildcard *) is random.
Sort input files to reduce build-compare noise.
---
tools/firmware/etherboot/patches/build-compare.patch | 19 +++++++++++++++++++
tools/firmware/etherboot/patches/series | 1 +
2 files changed, 20 insertions(+)
Index: xen-4.5.0-testing/tools/firmware/etherboot/patches/build-compare.patch
===================================================================
--- /dev/null
+++ xen-4.5.0-testing/tools/firmware/etherboot/patches/build-compare.patch
@@ -0,0 +1,19 @@
+The result of $(wildcard *) is random.
+Sort input files to reduce build-compare noise.
+---
+ ipxe/src/Makefile.housekeeping | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: ipxe/src/Makefile.housekeeping
+===================================================================
+--- ipxe/src/Makefile.housekeeping
++++ ipxe/src/Makefile.housekeeping
+@@ -773,7 +773,7 @@ BLIB = $(BIN)/blib.a
+ $(BLIB) : $(BLIB_OBJS) $(BLIB_LIST) $(MAKEDEPS)
+ $(Q)$(RM) $(BLIB)
+ $(QM)$(ECHO) " [AR] $@"
+- $(Q)$(AR) r $@ $(BLIB_OBJS)
++ $(Q)$(AR) r $@ $(sort $(BLIB_OBJS))
+ $(Q)$(RANLIB) $@
+ blib : $(BLIB)
+
Index: xen-4.5.0-testing/tools/firmware/etherboot/patches/series
===================================================================
--- xen-4.5.0-testing.orig/tools/firmware/etherboot/patches/series
+++ xen-4.5.0-testing/tools/firmware/etherboot/patches/series
@@ -2,3 +2,4 @@ boot_prompt_option.patch
build_fix_1.patch
build_fix_2.patch
build_fix_3.patch
+build-compare.patch
++++++ xen.build-compare.man.patch ++++++
Having just X.Y as version in the man pages is enough.
---
docs/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: xen-4.5.0-testing/docs/Makefile
===================================================================
--- xen-4.5.0-testing.orig/docs/Makefile
+++ xen-4.5.0-testing/docs/Makefile
@@ -2,7 +2,7 @@ XEN_ROOT=$(CURDIR)/..
include $(XEN_ROOT)/Config.mk
-include $(XEN_ROOT)/config/Docs.mk
-VERSION := $(shell $(MAKE) -C $(XEN_ROOT)/xen --no-print-directory xenversion)
+VERSION := $(shell $(MAKE) -C $(XEN_ROOT)/xen --no-print-directory xenversion | cut -f -2 -d .)
DOC_ARCHES := arm x86_32 x86_64
++++++ xen.build-compare.mini-os.patch ++++++
The result of $(wildcard *) is random.
Sort input files to reduce build-compare noise.
---
extras/mini-os/Makefile | 2 +-
extras/mini-os/arch/x86/Makefile | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Index: xen-4.5.0-testing/extras/mini-os/Makefile
===================================================================
--- xen-4.5.0-testing.orig/extras/mini-os/Makefile
+++ xen-4.5.0-testing/extras/mini-os/Makefile
@@ -158,7 +158,7 @@ endif
$(OBJ_DIR)/lwip.a: $(LWO)
$(RM) $@
- $(AR) cqs $@ $^
+ $(AR) cqs $@ $(sort $^)
OBJS += $(OBJ_DIR)/lwip.a
endif
Index: xen-4.5.0-testing/extras/mini-os/arch/x86/Makefile
===================================================================
--- xen-4.5.0-testing.orig/extras/mini-os/arch/x86/Makefile
+++ xen-4.5.0-testing/extras/mini-os/arch/x86/Makefile
@@ -24,7 +24,7 @@ all: $(OBJ_DIR)/$(ARCH_LIB)
# $(HEAD_ARCH_OBJ) is only build here, needed on linking
# in ../../Makefile.
$(OBJ_DIR)/$(ARCH_LIB): $(ARCH_OBJS) $(OBJ_DIR)/$(HEAD_ARCH_OBJ)
- $(AR) rv $(OBJ_DIR)/$(ARCH_LIB) $(ARCH_OBJS)
+ $(AR) rv $(OBJ_DIR)/$(ARCH_LIB) $(sort $(ARCH_OBJS))
clean:
rm -f $(OBJ_DIR)/$(ARCH_LIB) $(ARCH_OBJS) $(OBJ_DIR)/$(HEAD_ARCH_OBJ)
++++++ xen.build-compare.seabios.patch ++++++
Use stable strings to reduce build-compare noise.
---
tools/firmware/seabios-dir-remote/tools/buildversion.sh | 5 +++++
1 file changed, 5 insertions(+)
Index: xen-4.5.0-testing/tools/firmware/seabios-dir-remote/tools/buildversion.sh
===================================================================
--- xen-4.5.0-testing.orig/tools/firmware/seabios-dir-remote/tools/buildversion.sh
+++ xen-4.5.0-testing/tools/firmware/seabios-dir-remote/tools/buildversion.sh
@@ -11,7 +11,12 @@ elif [ -f .version ]; then
else
VERSION="?"
fi
+if test -n "${SEABIOS_DATE}"
+then
+ VERSION="${SEABIOS_DATE}"
+else
VERSION="${VERSION}-`date +"%Y%m%d_%H%M%S"`-`hostname`"
+fi
echo "Version: ${VERSION}"
# Build header file
++++++ xen.build-compare.smbiosdate.patch ++++++
Use stable strings to reduce build-compare noise.
---
tools/firmware/hvmloader/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: xen-4.5.0-testing/tools/firmware/hvmloader/Makefile
===================================================================
--- xen-4.5.0-testing.orig/tools/firmware/hvmloader/Makefile
+++ xen-4.5.0-testing/tools/firmware/hvmloader/Makefile
@@ -25,6 +25,7 @@ SUBDIRS := acpi
# The HVM loader is started in 32-bit mode at the address below:
LOADADDR = 0x100000
+SMBIOS_DATE ?= $(shell date +%m/%d/%Y)
CFLAGS += $(CFLAGS_xeninclude)
@@ -88,7 +89,7 @@ all: subdirs-all
$(MAKE) hvmloader
ovmf.o rombios.o seabios.o hvmloader.o: roms.inc
-smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(shell date +%m/%d/%Y)\""
+smbios.o: CFLAGS += -D__SMBIOS_DATE__="$(SMBIOS_DATE)"
hvmloader: $(OBJS) acpi/acpi.a
$(LD) $(LDFLAGS_DIRECT) -N -Ttext $(LOADADDR) -o hvmloader.tmp $^
++++++ xen.build-compare.vgabios.patch ++++++
---
tools/firmware/vgabios/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: xen-4.5.0-testing/tools/firmware/vgabios/Makefile
===================================================================
--- xen-4.5.0-testing.orig/tools/firmware/vgabios/Makefile
+++ xen-4.5.0-testing/tools/firmware/vgabios/Makefile
@@ -5,7 +5,7 @@ BCC = bcc
AS86 = as86
RELEASE = `pwd | sed "s-.*/--"`
-RELDATE = `date '+%d %b %Y'`
+RELDATE ?= `date '+%d %b %Y'`
RELVERS = `pwd | sed "s-.*/--" | sed "s/vgabios//" | sed "s/-//"`
VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\""
++++++ xen.build-compare.xen_compile_h.patch ++++++
Use stable strings to reduce build-compare noise.
Index: xen-4.5.0-testing/xen/Makefile
===================================================================
--- xen-4.5.0-testing.orig/xen/Makefile
+++ xen-4.5.0-testing/xen/Makefile
@@ -8,6 +8,9 @@ export XEN_FULLVERSION = $(XEN_VERSION
export XEN_WHOAMI ?= $(USER)
export XEN_DOMAIN ?= $(shell ([ -x /bin/dnsdomainname ] && /bin/dnsdomainname) || ([ -x /bin/domainname ] && /bin/domainname || echo [unknown]))
+export XEN_BUILD_DATE ?= $(shell LC_ALL=C date)
+export XEN_BUILD_TIME ?= $(shell LC_ALL=C date +%T)
+export XEN_BUILD_HOST ?= $(shell hostname)
export BASEDIR := $(CURDIR)
export XEN_ROOT := $(BASEDIR)/..
@@ -126,11 +129,11 @@ delete-unfresh-files:
# compile.h contains dynamic build info. Rebuilt on every 'make' invocation.
include/xen/compile.h: include/xen/compile.h.in .banner
- @sed -e 's/@@date@@/$(shell LC_ALL=C date)/g' \
- -e 's/@@time@@/$(shell LC_ALL=C date +%T)/g' \
+ @sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
+ -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \
-e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
-e 's/@@domain@@/$(XEN_DOMAIN)/g' \
- -e 's/@@hostname@@/$(shell hostname)/g' \
+ -e 's/@@hostname@@/$(XEN_BUILD_HOST)/g' \
-e 's!@@compiler@@!$(shell $(CC) $(CFLAGS) --version 2>&1 | head -1)!g' \
-e 's/@@version@@/$(XEN_VERSION)/g' \
-e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
++++++ xen.stubdom.newlib.patch ++++++
# HG changeset patch
# Parent 02ec826cab1e4acb25b364a180a1597ace1149f9
stubdom: fix errors in newlib
rpm post-build-checks found a few code bugs in newlib, and marks them as
errors. Add another newlib patch and apply it during stubdom build.
I: A function uses a 'return;' statement, but has actually a value
to return, like an integer ('return 42;') or similar.
W: xen voidreturn ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:117, 125, 146, 157, 330
I: Program is using implicit definitions of special functions.
these functions need to use their correct prototypes to allow
the lightweight buffer overflow checking to work.
- Implicit memory/string functions need #include <string.h>.
- Implicit *printf functions need #include <stdio.h>.
- Implicit *printf functions need #include <stdio.h>.
- Implicit *read* functions need #include <unistd.h>.
- Implicit *recv* functions need #include <sys/socket.h>.
E: xen implicit-fortify-decl ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:119
I: Program returns random data in a function
E: xen no-return-in-nonvoid-function ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:362
Signed-off-by: Olaf Hering <olaf(a)aepfle.de>
Index: xen-4.5.0-testing/stubdom/Makefile
===================================================================
--- xen-4.5.0-testing.orig/stubdom/Makefile
+++ xen-4.5.0-testing/stubdom/Makefile
@@ -72,6 +72,7 @@ newlib-$(NEWLIB_VERSION): newlib-$(NEWLI
patch -d $@ -p0 < newlib.patch
patch -d $@ -p0 < newlib-chk.patch
patch -d $@ -p1 < newlib-stdint-size_max-fix-from-1.17.0.patch
+ patch -d $@ -p1 < newlib-cygmon-gmon.patch
find $@ -type f | xargs perl -i.bak \
-pe 's/\b_(tzname|daylight|timezone)\b/$$1/g'
touch $@
Index: xen-4.5.0-testing/stubdom/newlib-cygmon-gmon.patch
===================================================================
--- /dev/null
+++ xen-4.5.0-testing/stubdom/newlib-cygmon-gmon.patch
@@ -0,0 +1,60 @@
+
+I: A function uses a 'return;' statement, but has actually a value
+ to return, like an integer ('return 42;') or similar.
+W: xen voidreturn ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:117, 125, 146, 157, 330
+
+I: Program is using implicit definitions of special functions.
+ these functions need to use their correct prototypes to allow
+ the lightweight buffer overflow checking to work.
+ - Implicit memory/string functions need #include <string.h>.
+ - Implicit *printf functions need #include <stdio.h>.
+ - Implicit *printf functions need #include <stdio.h>.
+ - Implicit *read* functions need #include <unistd.h>.
+ - Implicit *recv* functions need #include <sys/socket.h>.
+E: xen implicit-fortify-decl ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:119
+
+I: Program returns random data in a function
+E: xen no-return-in-nonvoid-function ../../../../newlib-1.16.0/libgloss/i386/cygmon-gmon.c:362
+
+---
+ libgloss/i386/cygmon-gmon.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+Index: newlib-1.16.0/libgloss/i386/cygmon-gmon.c
+===================================================================
+--- newlib-1.16.0.orig/libgloss/i386/cygmon-gmon.c
++++ newlib-1.16.0/libgloss/i386/cygmon-gmon.c
+@@ -61,6 +61,8 @@
+ static char sccsid[] = "@(#)gmon.c 5.3 (Berkeley) 5/22/91";
+ #endif /* not lint */
+
++#include <string.h>
++#include <unistd.h>
+ #define DEBUG
+ #ifdef DEBUG
+ #include <stdio.h>
+@@ -89,7 +91,7 @@ static int s_scale;
+
+ extern int errno;
+
+-int
++void
+ monstartup(lowpc, highpc)
+ char *lowpc;
+ char *highpc;
+@@ -199,6 +201,7 @@ _mcleanup()
+
+ static char already_setup = 0;
+
++void
+ _mcount()
+ {
+ register char *selfpc;
+@@ -341,6 +344,7 @@ overflow:
+ * profiling is what mcount checks to see if
+ * all the data structures are ready.
+ */
++void
+ moncontrol(mode)
+ int mode;
+ {
++++++ xen2libvirt.py ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100
@@ -51,12 +51,25 @@
isbinary = os.system('file -b ' + path + ' | grep text > /dev/null')
if isbinary:
- print 'File %s is not a text file containing Xen xm or sexpr configuration'
- sys.exit(1)
+ print('Skipping %s (not a valid Xen configuration file)' % path)
+ return 'unknown'
- if config.find('\(domain'):
- return 'sexpr'
- return 'xm'
+ for line in config.splitlines():
+ if len(line) == 0 or line.startswith('#'):
+ continue
+ if line.startswith('<domain'):
+ # XML is not a supported conversion format
+ break
+ if line.startswith('(domain'):
+ print('Found sexpr formatted file %s' % path)
+ return 'sexpr'
+ if '=' in line:
+ print('Found xm formatted file %s' % path)
+ return 'xm'
+ break
+
+ print('Skipping %s (not a valid Xen configuration file)' % path)
+ return 'unknown'
def import_domain(conn, path, format=None, convert_only=False):
@@ -68,20 +81,22 @@
format = check_config(path, config)
if format == 'sexpr':
- print_verbose('scrubbing domin from configuration')
+ print_verbose('scrubbing domid from configuration')
config = re.sub("\(domid [0-9]*\)", "", config)
print_verbose('scrubbed sexpr:\n %s' % config)
xml = conn.domainXMLFromNative('xen-sxpr', config, 0)
- else:
- # if format != sexpr, try xm
+ elif format == 'xm':
xml = conn.domainXMLFromNative('xen-xm', config, 0)
+ else:
+ # Return to continue on to next file (if recursive)
+ return
f.close()
# domUloader is no longer available in SLES12, replace with pygrub
tree = ElementTree.fromstring(xml)
bl = tree.find('.//bootloader')
- if bl is not None and 'domUloader' in bl.text:
+ if bl is not None and bl.text is not None and 'domUloader' in bl.text:
bl.text = 'pygrub'
xml = ElementTree.tostring(tree)
++++++ xencommons.service ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100
@@ -1,13 +1,31 @@
[Unit]
-Description=Xencommons - Script to start and stop xenstored and xenconsoled
-ConditionPathExists=/proc/xen
+Description=xencommons
+ConditionPathExists=/proc/xen/capabilities
+
+# Pull in all upstream service files
+Requires=proc-xen.mount
+After=proc-xen.mount
+Requires=xenstored.service
+After=xenstored.service
+Requires=xenconsoled.service
+After=xenconsoled.service
+Requires=xen-init-dom0.service
+After=xen-init-dom0.service
+Requires=xen-qemu-dom0-disk-backend.service
+After=xen-qemu-dom0-disk-backend.service
+
+# Make sure network (for bridge) and remote mounts (for xendomains) are available ...
+After=network-online.target
+After=remote-fs.target
+
+# ... for libvirt and xendomains
+Before=xendomains.service libvirtd.service
[Service]
Type=oneshot
RemainAfterExit=true
ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities
-ExecStart=-/etc/init.d/xencommons start
-ExecStop=/etc/init.d/xencommons stop
+ExecStart=/usr/bin/xenstore-ls -f
[Install]
WantedBy=multi-user.target
++++++ xenconsole-no-multiple-connections.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.4.0-testing/tools/console/client/main.c
+Index: xen-4.5.0-testing/tools/console/client/main.c
===================================================================
---- xen-4.4.0-testing.orig/tools/console/client/main.c
-+++ xen-4.4.0-testing/tools/console/client/main.c
-@@ -96,6 +96,7 @@ static int get_pty_fd(struct xs_handle *
+--- xen-4.5.0-testing.orig/tools/console/client/main.c
++++ xen-4.5.0-testing/tools/console/client/main.c
+@@ -95,6 +95,7 @@ static int get_pty_fd(struct xs_handle *
* Assumes there is already a watch set in the store for this path. */
{
struct timeval tv;
@@ -10,7 +10,7 @@
fd_set watch_fdset;
int xs_fd = xs_fileno(xs), pty_fd = -1;
int start, now;
-@@ -119,6 +120,14 @@ static int get_pty_fd(struct xs_handle *
+@@ -118,6 +119,14 @@ static int get_pty_fd(struct xs_handle *
pty_fd = open(pty_path, O_RDWR | O_NOCTTY);
if (pty_fd == -1)
warn("Could not open tty `%s'", pty_path);
++++++ xenpaging.qemu.flush-cache.patch ++++++
--- /var/tmp/diff_new_pack.VlW95K/_old 2015-02-04 09:31:47.000000000 +0100
+++ /var/tmp/diff_new_pack.VlW95K/_new 2015-02-04 09:31:47.000000000 +0100
@@ -15,11 +15,11 @@
tools/qemu-xen-traditional-dir-remote/xenstore.c | 3 +++
1 file changed, 3 insertions(+)
-Index: xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+Index: xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
===================================================================
---- xen-4.2.3-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
-+++ xen-4.2.3-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
-@@ -1020,6 +1020,9 @@ static void xenstore_process_dm_command_
+--- xen-4.5.0-testing.orig/tools/qemu-xen-traditional-dir-remote/xenstore.c
++++ xen-4.5.0-testing/tools/qemu-xen-traditional-dir-remote/xenstore.c
+@@ -1006,6 +1006,9 @@ static void xenstore_process_dm_command_
do_pci_add(par);
free(par);
#endif
++++++ xl-coredump-file-location.patch ++++++
xl: change default dump directory
Upstream xl uses /var/xen/dump/ as the default directory for
domain core dumps. This patch changes the path to the more
FHS-friendly location of /var/lib/xen/dump/, which was also
the path used in SLE11.
See bsc#900292
Index: xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c
===================================================================
--- xen-4.5.0-testing.orig/tools/libxl/xl_cmdimpl.c
+++ xen-4.5.0-testing/tools/libxl/xl_cmdimpl.c
@@ -2092,7 +2092,7 @@ static int handle_domain_death(uint32_t
char *corefile;
int rc;
- if (asprintf(&corefile, "/var/xen/dump/%s", d_config->c_info.name) < 0) {
+ if (asprintf(&corefile, "/var/lib/xen/dump/%s", d_config->c_info.name) < 0) {
LOG("failed to construct core dump path");
} else {
LOG("dumping core to %s", corefile);
--
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 for openSUSE:Factory checked in at 2015-02-04 09:30:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvirt (Old)
and /work/SRC/openSUSE:Factory/.libvirt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvirt"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes 2015-01-07 09:38:56.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libvirt.new/libvirt.changes 2015-02-04 09:30:59.000000000 +0100
@@ -1,0 +2,29 @@
+Tue Jan 27 15:45:56 MST 2015 - jfehlig(a)suse.com
+
+- Update to libvirt 1.2.12
+ - CVE-2015-0236: qemu: Check ACLs when dumping security info
+ from snapshots
+ - CVE-2015-0236: qemu: Check ACLs when dumping security info
+ from save image
+ - Many incremental improvements and bug fixes, see
+ http://libvirt.org/news.html
+ - Drop upstream patches: 30c6aecc-apparmor-lib64.patch,
+ apparmor-xen-fixup.patch, apparmor-allow-helpers.patch,
+ apparmor-tck-raw-packets.patch
+ - Disable a hugepage test that is failing on ppc, ppc64, and
+ ppc64le architectures - disable-hugepage-test.patch
+
+-------------------------------------------------------------------
+Tue Jan 20 13:29:02 UTC 2015 - cbosdonnat(a)suse.com
+
+- Fixed patches to pass make syntax-check
+
+-------------------------------------------------------------------
+Tue Jan 20 01:46:52 UTC 2015 - mlatimer(a)suse.com
+
+- Apparmor profile regression breaks Xen domains. bsc#913799
+ apparmor-xen-fixup.patch
+ apparmor-allow-helpers.patch
+ apparmor-tck-raw-packets.patch
+
+-------------------------------------------------------------------
Old:
----
30c6aecc-apparmor-lib64.patch
libvirt-1.2.11.tar.gz
libvirt-1.2.11.tar.gz.asc
New:
----
disable-hugepage-test.patch
libvirt-1.2.12.tar.gz
libvirt-1.2.12.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvirt.spec ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -235,7 +235,7 @@
Name: libvirt
Url: http://libvirt.org/
-Version: 1.2.11
+Version: 1.2.12
Release: 0
Summary: Library providing a simple virtualization API
License: LGPL-2.1+
@@ -434,7 +434,6 @@
Source4: libvirtd-relocation-server.fw
Source99: baselibs.conf
# Upstream patches
-Patch0: 30c6aecc-apparmor-lib64.patch
# Patches pending upstream review
# Need to go upstream
Patch150: xen-name-for-devid.patch
@@ -453,6 +452,9 @@
Patch207: systemd-service-xen.patch
# Disable failing virCgroupGetPercpuStats unit test
Patch208: disable-virCgroupGetPercpuStats-test.patch
+%ifarch ppc ppc64 ppc64le
+Patch209: disable-hugepage-test.patch
+%endif
%if %{with_apparmor}
Patch250: apparmor-no-mount.patch
Patch251: qemu-apparmor-screenshot.patch
@@ -965,7 +967,6 @@
%prep
%setup -q
-%patch0 -p1
%patch150 -p1
%patch151 -p1
%patch152 -p1
@@ -980,6 +981,9 @@
%patch206 -p1
%patch207 -p1
%patch208 -p1
+%ifarch ppc ppc64 ppc64le
+%patch209 -p1
+%endif
%if %{with_apparmor}
%patch250 -p1
%patch251 -p1
++++++ apparmor-no-mount.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -1,7 +1,7 @@
-Index: libvirt-1.2.10/examples/apparmor/libvirt-lxc
+Index: libvirt-1.2.12/examples/apparmor/libvirt-lxc
===================================================================
---- libvirt-1.2.10.orig/examples/apparmor/libvirt-lxc
-+++ libvirt-1.2.10/examples/apparmor/libvirt-lxc
+--- libvirt-1.2.12.orig/examples/apparmor/libvirt-lxc
++++ libvirt-1.2.12/examples/apparmor/libvirt-lxc
@@ -2,39 +2,15 @@
#include <abstractions/base>
++++++ blockcopy-check-dst-identical-device.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -11,11 +11,11 @@
src/qemu/qemu_driver.c | 7 +++++++
1 file changed, 7 insertions(+)
-Index: libvirt-1.2.10/src/qemu/qemu_driver.c
+Index: libvirt-1.2.12/src/qemu/qemu_driver.c
===================================================================
---- libvirt-1.2.10.orig/src/qemu/qemu_driver.c
-+++ libvirt-1.2.10/src/qemu/qemu_driver.c
-@@ -15936,6 +15936,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
+--- libvirt-1.2.12.orig/src/qemu/qemu_driver.c
++++ libvirt-1.2.12/src/qemu/qemu_driver.c
+@@ -15954,6 +15954,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt
virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
_("non-file destination not supported yet"));
}
++++++ disable-hugepage-test.patch ++++++
tests: disable hugepages-pages6 test on ppc architectures
hugepages-pages6 test in qemuxml2argvtest fails on all ppc, ppc64,
and ppc64le with the following error:
libvirt: QEMU Driver error : internal error: hugepage backing not
supported by '/usr/bin/qemu'.
Disable the test by applying this patch for arch in 'ppc ppc64 ppc64le'.
Index: libvirt-1.2.12/tests/qemuxml2argvtest.c
===================================================================
--- libvirt-1.2.12.orig/tests/qemuxml2argvtest.c
+++ libvirt-1.2.12/tests/qemuxml2argvtest.c
@@ -716,7 +716,6 @@ mymain(void)
DO_TEST_FAILURE("hugepages-pages4", QEMU_CAPS_MEM_PATH,
QEMU_CAPS_OBJECT_MEMORY_RAM, QEMU_CAPS_OBJECT_MEMORY_FILE);
DO_TEST("hugepages-pages5", QEMU_CAPS_MEM_PATH);
- DO_TEST("hugepages-pages6", NONE);
DO_TEST("nosharepages", QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_MEM_MERGE);
DO_TEST("disk-cdrom", NONE);
DO_TEST("disk-cdrom-network-http", QEMU_CAPS_KVM, QEMU_CAPS_DEVICE,
++++++ disable-virCgroupGetPercpuStats-test.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -1,7 +1,7 @@
-Index: libvirt-1.2.10/tests/vircgrouptest.c
+Index: libvirt-1.2.12/tests/vircgrouptest.c
===================================================================
---- libvirt-1.2.10.orig/tests/vircgrouptest.c
-+++ libvirt-1.2.10/tests/vircgrouptest.c
+--- libvirt-1.2.12.orig/tests/vircgrouptest.c
++++ libvirt-1.2.12/tests/vircgrouptest.c
@@ -33,7 +33,6 @@
# include "virlog.h"
# include "virfile.h"
@@ -10,7 +10,7 @@
# define VIR_FROM_THIS VIR_FROM_NONE
-@@ -533,68 +532,6 @@ static int testCgroupAvailable(const voi
+@@ -533,91 +532,6 @@ static int testCgroupAvailable(const voi
return 0;
}
@@ -19,13 +19,35 @@
- virCgroupPtr cgroup = NULL;
- size_t i;
- int rv, ret = -1;
-- virTypedParameter params[2];
+- virTypedParameterPtr params = NULL;
+-# define EXPECTED_NCPUS 160
-
-- // TODO: mock nodeGetCPUCount() as well & check 2nd cpu, too
-- unsigned long long expected[] = {
-- 1413142688153030ULL
+- unsigned long long expected[EXPECTED_NCPUS] = {
+- 0, 0, 0, 0, 0, 0, 0, 0,
+- 7059492996, 0, 0, 0, 0, 0, 0, 0,
+- 4180532496, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0,
+- 0, 0, 0, 0, 0, 0, 0, 0,
+- 1957541268, 0, 0, 0, 0, 0, 0, 0,
+- 2065932204, 0, 0, 0, 0, 0, 0, 0,
+- 18228689414, 0, 0, 0, 0, 0, 0, 0,
+- 4245525148, 0, 0, 0, 0, 0, 0, 0,
+- 2911161568, 0, 0, 0, 0, 0, 0, 0,
+- 1407758136, 0, 0, 0, 0, 0, 0, 0,
+- 1836807700, 0, 0, 0, 0, 0, 0, 0,
+- 1065296618, 0, 0, 0, 0, 0, 0, 0,
+- 2046213266, 0, 0, 0, 0, 0, 0, 0,
+- 747889778, 0, 0, 0, 0, 0, 0, 0,
+- 709566900, 0, 0, 0, 0, 0, 0, 0,
+- 444777342, 0, 0, 0, 0, 0, 0, 0,
+- 5683512916, 0, 0, 0, 0, 0, 0, 0,
+- 635751356, 0, 0, 0, 0, 0, 0, 0,
- };
-
+- if (VIR_ALLOC_N(params, EXPECTED_NCPUS) < 0)
+- goto cleanup;
+-
- if ((rv = virCgroupNewPartition("/virtualmachines", true,
- (1 << VIR_CGROUP_CONTROLLER_CPU) |
- (1 << VIR_CGROUP_CONTROLLER_CPUACCT),
@@ -34,37 +56,37 @@
- goto cleanup;
- }
-
-- if (nodeGetCPUCount() < 1) {
+- if (nodeGetCPUCount() != EXPECTED_NCPUS) {
- fprintf(stderr, "Unexpected: nodeGetCPUCount() yields: %d\n", nodeGetCPUCount());
- goto cleanup;
- }
-
- if ((rv = virCgroupGetPercpuStats(cgroup,
- params,
-- 2, 0, 1, 0)) < 0) {
+- 1, 0, EXPECTED_NCPUS, 0)) < 0) {
- fprintf(stderr, "Failed call to virCgroupGetPercpuStats for /virtualmachines cgroup: %d\n", -rv);
- goto cleanup;
- }
-
-- for (i = 0; i < ARRAY_CARDINALITY(expected); i++) {
+- for (i = 0; i < EXPECTED_NCPUS; i++) {
- if (!STREQ(params[i].field, VIR_DOMAIN_CPU_STATS_CPUTIME)) {
- fprintf(stderr,
-- "Wrong parameter name value from virCgroupGetPercpuStats (is: %s)\n",
-- params[i].field);
+- "Wrong parameter name value from virCgroupGetPercpuStats at %zu (is: %s)\n",
+- i, params[i].field);
- goto cleanup;
- }
-
- if (params[i].type != VIR_TYPED_PARAM_ULLONG) {
- fprintf(stderr,
-- "Wrong parameter value type from virCgroupGetPercpuStats (is: %d)\n",
-- params[i].type);
+- "Wrong parameter value type from virCgroupGetPercpuStats at %zu (is: %d)\n",
+- i, params[i].type);
- goto cleanup;
- }
-
- if (params[i].value.ul != expected[i]) {
- fprintf(stderr,
-- "Wrong value from virCgroupGetMemoryUsage (expected %llu)\n",
-- params[i].value.ul);
+- "Wrong value from virCgroupGetMemoryUsage at %zu (expected %llu)\n",
+- i, params[i].value.ul);
- goto cleanup;
- }
- }
@@ -73,13 +95,14 @@
-
- cleanup:
- virCgroupFree(&cgroup);
+- VIR_FREE(params);
- return ret;
-}
-
static int testCgroupGetMemoryUsage(const void *args ATTRIBUTE_UNUSED)
{
virCgroupPtr cgroup = NULL;
-@@ -800,9 +737,6 @@ mymain(void)
+@@ -823,9 +737,6 @@ mymain(void)
if (virtTestRun("virCgroupGetMemoryUsage works", testCgroupGetMemoryUsage, NULL) < 0)
ret = -1;
++++++ fix-pci-attach-xen-driver.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -8,11 +8,11 @@
This patch changes the xend driver to always call 'device_configure' for
PCI devices to be consistent with the usage in the xen tools.
-Index: libvirt-1.2.10/src/xen/xend_internal.c
+Index: libvirt-1.2.12/src/xen/xend_internal.c
===================================================================
---- libvirt-1.2.10.orig/src/xen/xend_internal.c
-+++ libvirt-1.2.10/src/xen/xend_internal.c
-@@ -2221,6 +2221,7 @@ xenDaemonAttachDeviceFlags(virConnectPtr
+--- libvirt-1.2.12.orig/src/xen/xend_internal.c
++++ libvirt-1.2.12/src/xen/xend_internal.c
+@@ -2216,6 +2216,7 @@ xenDaemonAttachDeviceFlags(virConnectPtr
virBuffer buf = VIR_BUFFER_INITIALIZER;
char class[8], ref[80];
char *target = NULL;
@@ -20,7 +20,7 @@
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1);
-@@ -2319,8 +2320,18 @@ xenDaemonAttachDeviceFlags(virConnectPtr
+@@ -2314,8 +2315,18 @@ xenDaemonAttachDeviceFlags(virConnectPtr
}
sexpr = virBufferContentAndReset(&buf);
++++++ libvirt-1.2.11.tar.gz -> libvirt-1.2.12.tar.gz ++++++
/work/SRC/openSUSE:Factory/libvirt/libvirt-1.2.11.tar.gz /work/SRC/openSUSE:Factory/.libvirt.new/libvirt-1.2.12.tar.gz differ: char 13, line 1
++++++ libvirt-guests-init-script.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -1,9 +1,9 @@
Adjust libvirt-guests init files to conform to SUSE standards
-Index: libvirt-1.2.10/tools/libvirt-guests.init.in
+Index: libvirt-1.2.12/tools/libvirt-guests.init.in
===================================================================
---- libvirt-1.2.10.orig/tools/libvirt-guests.init.in
-+++ libvirt-1.2.10/tools/libvirt-guests.init.in
+--- libvirt-1.2.12.orig/tools/libvirt-guests.init.in
++++ libvirt-1.2.12/tools/libvirt-guests.init.in
@@ -3,15 +3,15 @@
# the following is the LSB init header
#
@@ -28,10 +28,10 @@
### END INIT INFO
# the following is chkconfig init header
-Index: libvirt-1.2.10/tools/libvirt-guests.sh.in
+Index: libvirt-1.2.12/tools/libvirt-guests.sh.in
===================================================================
---- libvirt-1.2.10.orig/tools/libvirt-guests.sh.in
-+++ libvirt-1.2.10/tools/libvirt-guests.sh.in
+--- libvirt-1.2.12.orig/tools/libvirt-guests.sh.in
++++ libvirt-1.2.12/tools/libvirt-guests.sh.in
@@ -16,14 +16,13 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
@@ -84,16 +84,16 @@
+ i=1
+ rets=10
+ run_virsh $uri list > /dev/null 2>&1
-+ while [ $? -ne 0 -a $i -lt $rets ]; do
-+ sleep 1
-+ echo -n .
-+ i=$(($i + 1))
-+ run_virsh $uri list > /dev/null 2>&1
++ while test $? -ne 0 && test $i -lt $rets; do
++ sleep 1
++ echo -n .
++ i=$(($i + 1))
++ run_virsh $uri list > /dev/null 2>&1
+ done
+ if [ $i -eq $rets ]; then
-+ eval_gettext "libvirt-guests unable to connect to URI: $uri"
-+ echo
-+ return 1
++ eval_gettext "libvirt-guests unable to connect to URI: $uri"
++ echo
++ return 1
+ fi
+ return 0
+}
@@ -101,7 +101,7 @@
# test_connect URI
# check if URI is reachable
test_connect()
-@@ -116,7 +136,7 @@ list_guests() {
+@@ -116,7 +137,7 @@ list_guests() {
list=$(run_virsh_c "$uri" list --uuid $persistent)
if [ $? -ne 0 ]; then
@@ -110,7 +110,7 @@
return 1
fi
-@@ -142,7 +162,7 @@ guest_is_on() {
+@@ -142,7 +163,7 @@ guest_is_on() {
guest_running=false
id=$(run_virsh "$uri" domid "$uuid")
if [ $? -ne 0 ]; then
@@ -119,21 +119,21 @@
return 1
fi
-@@ -190,6 +210,13 @@ start() {
+@@ -190,6 +211,13 @@ start() {
test_connect "$uri" || continue
-+ await_daemon_up $uri
-+ if [ $? -ne 0 ]; then
-+ eval_gettext "Ignoring guests on $uri URI, can't connect"
-+ echo
-+ continue
-+ fi
++ await_daemon_up $uri
++ if [ $? -ne 0 ]; then
++ eval_gettext "Ignoring guests on $uri URI, can't connect"
++ echo
++ continue
++ fi
+
eval_gettext "Resuming guests on \$uri URI..."; echo
for guest in $list; do
name=$(guest_name "$uri" "$guest")
-@@ -403,7 +429,7 @@ shutdown_guests_parallel()
+@@ -403,7 +431,7 @@ shutdown_guests_parallel()
timeout=$(($timeout - 1))
if [ $timeout -le 0 ]; then
eval_gettext "Timeout expired while shutting down domains"; echo
@@ -142,7 +142,7 @@
return
fi
else
-@@ -431,7 +457,7 @@ stop() {
+@@ -431,7 +459,7 @@ stop() {
if [ $SHUTDOWN_TIMEOUT -lt 0 ]; then
gettext "SHUTDOWN_TIMEOUT must be equal or greater than 0"
echo
@@ -151,7 +151,7 @@
return
fi
fi
-@@ -479,14 +505,14 @@ stop() {
+@@ -479,14 +507,14 @@ stop() {
if [ $? -ne 0 ]; then
eval_gettext "Failed to list persistent guests on \$uri"
echo
@@ -168,7 +168,7 @@
set +f
return
fi
-@@ -545,14 +571,13 @@ gueststatus() {
+@@ -545,14 +573,13 @@ gueststatus() {
rh_status() {
if [ -f "$LISTFILE" ]; then
gettext "stopped, with saved guests"; echo
@@ -185,16 +185,16 @@
fi
fi
}
-@@ -597,4 +622,4 @@ case "$1" in
+@@ -597,4 +624,4 @@ case "$1" in
usage
;;
esac
-exit $RETVAL
+rc_exit
-Index: libvirt-1.2.10/tools/libvirt-guests.sysconf
+Index: libvirt-1.2.12/tools/libvirt-guests.sysconf
===================================================================
---- libvirt-1.2.10.orig/tools/libvirt-guests.sysconf
-+++ libvirt-1.2.10/tools/libvirt-guests.sysconf
+--- libvirt-1.2.12.orig/tools/libvirt-guests.sysconf
++++ libvirt-1.2.12/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests
+
++++++ libvirt-power8-models.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -1,7 +1,7 @@
-Index: libvirt-1.2.11/src/cpu/cpu_map.xml
+Index: libvirt-1.2.12/src/cpu/cpu_map.xml
===================================================================
---- libvirt-1.2.11.orig/src/cpu/cpu_map.xml
-+++ libvirt-1.2.11/src/cpu/cpu_map.xml
+--- libvirt-1.2.12.orig/src/cpu/cpu_map.xml
++++ libvirt-1.2.12/src/cpu/cpu_map.xml
@@ -657,5 +657,15 @@
<pvr value='0x004d0000'/>
</model>
++++++ libvirt-suse-netcontrol.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -1,7 +1,7 @@
-Index: libvirt-1.2.11/configure.ac
+Index: libvirt-1.2.12/configure.ac
===================================================================
---- libvirt-1.2.11.orig/configure.ac
-+++ libvirt-1.2.11/configure.ac
+--- libvirt-1.2.12.orig/configure.ac
++++ libvirt-1.2.12/configure.ac
@@ -237,6 +237,7 @@ LIBVIRT_CHECK_FUSE
LIBVIRT_CHECK_GLUSTER
LIBVIRT_CHECK_HAL
@@ -10,7 +10,7 @@
LIBVIRT_CHECK_NUMACTL
LIBVIRT_CHECK_OPENWSMAN
LIBVIRT_CHECK_PCIACCESS
-@@ -2456,11 +2457,12 @@ if test "$with_libvirtd" = "no" ; then
+@@ -2459,11 +2460,12 @@ if test "$with_libvirtd" = "no" ; then
with_interface=no
fi
@@ -26,7 +26,7 @@
esac
if test "$with_interface" = "yes" ; then
-@@ -2895,6 +2897,7 @@ LIBVIRT_RESULT_FUSE
+@@ -2898,6 +2900,7 @@ LIBVIRT_RESULT_FUSE
LIBVIRT_RESULT_GLUSTER
LIBVIRT_RESULT_HAL
LIBVIRT_RESULT_NETCF
@@ -34,22 +34,22 @@
LIBVIRT_RESULT_NUMACTL
LIBVIRT_RESULT_OPENWSMAN
LIBVIRT_RESULT_PCIACCESS
-Index: libvirt-1.2.11/src/Makefile.am
+Index: libvirt-1.2.12/src/Makefile.am
===================================================================
---- libvirt-1.2.11.orig/src/Makefile.am
-+++ libvirt-1.2.11/src/Makefile.am
-@@ -859,6 +859,10 @@ if WITH_NETCF
+--- libvirt-1.2.12.orig/src/Makefile.am
++++ libvirt-1.2.12/src/Makefile.am
+@@ -860,6 +860,10 @@ if WITH_NETCF
INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_netcf.c
endif WITH_NETCF
+if WITH_NETCONTROL
+INTERFACE_DRIVER_SOURCES += \
+ interface/interface_backend_netcf.c
-+endif
++endif WITH_NETCONTROL
if WITH_UDEV
INTERFACE_DRIVER_SOURCES += \
interface/interface_backend_udev.c
-@@ -1502,10 +1506,15 @@ if WITH_NETCF
+@@ -1508,10 +1512,15 @@ if WITH_NETCF
libvirt_driver_interface_la_CFLAGS += $(NETCF_CFLAGS)
libvirt_driver_interface_la_LIBADD += $(NETCF_LIBS)
else ! WITH_NETCF
@@ -65,11 +65,11 @@
endif ! WITH_NETCF
if WITH_DRIVER_MODULES
libvirt_driver_interface_la_LIBADD += ../gnulib/lib/libgnu.la
-Index: libvirt-1.2.11/tools/virsh.c
+Index: libvirt-1.2.12/tools/virsh.c
===================================================================
---- libvirt-1.2.11.orig/tools/virsh.c
-+++ libvirt-1.2.11/tools/virsh.c
-@@ -3341,6 +3341,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
+--- libvirt-1.2.12.orig/tools/virsh.c
++++ libvirt-1.2.12/tools/virsh.c
+@@ -3348,6 +3348,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)
vshPrint(ctl, " netcf");
@@ -78,10 +78,10 @@
# elif defined(WITH_UDEV)
vshPrint(ctl, " udev");
# endif
-Index: libvirt-1.2.11/src/interface/interface_backend_netcf.c
+Index: libvirt-1.2.12/src/interface/interface_backend_netcf.c
===================================================================
---- libvirt-1.2.11.orig/src/interface/interface_backend_netcf.c
-+++ libvirt-1.2.11/src/interface/interface_backend_netcf.c
+--- libvirt-1.2.12.orig/src/interface/interface_backend_netcf.c
++++ libvirt-1.2.12/src/interface/interface_backend_netcf.c
@@ -23,7 +23,12 @@
#include <config.h>
@@ -102,7 +102,7 @@
+#ifdef WITH_NETCONTROL
+static void
-+interface_nc_log_driver(const char *category,
++interface_nc_log_driver(const char *category ATTRIBUTE_UNUSED,
+ int priority,
+ const char *func,
+ const char *file,
@@ -112,7 +112,7 @@
+{
+ int vp;
+
-+ switch(priority) {
++ switch (priority) {
+ case NC_LOG_FATAL:
+ case NC_LOG_ERROR:
+ vp = VIR_LOG_ERROR;
@@ -165,10 +165,10 @@
return 0;
}
-Index: libvirt-1.2.11/src/interface/interface_driver.c
+Index: libvirt-1.2.12/src/interface/interface_driver.c
===================================================================
---- libvirt-1.2.11.orig/src/interface/interface_driver.c
-+++ libvirt-1.2.11/src/interface/interface_driver.c
+--- libvirt-1.2.12.orig/src/interface/interface_driver.c
++++ libvirt-1.2.12/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0)
return 0;
@@ -186,10 +186,10 @@
if (udevIfaceRegister() == 0)
return 0;
#endif /* WITH_UDEV */
-Index: libvirt-1.2.11/m4/virt-netcontrol.m4
+Index: libvirt-1.2.12/m4/virt-netcontrol.m4
===================================================================
--- /dev/null
-+++ libvirt-1.2.11/m4/virt-netcontrol.m4
++++ libvirt-1.2.12/m4/virt-netcontrol.m4
@@ -0,0 +1,35 @@
+dnl The libnetcontrol library
+dnl
++++++ libvirtd-defaults.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -1,7 +1,7 @@
-Index: libvirt-1.2.10/daemon/libvirtd.conf
+Index: libvirt-1.2.12/daemon/libvirtd.conf
===================================================================
---- libvirt-1.2.10.orig/daemon/libvirtd.conf
-+++ libvirt-1.2.10/daemon/libvirtd.conf
+--- libvirt-1.2.12.orig/daemon/libvirtd.conf
++++ libvirt-1.2.12/daemon/libvirtd.conf
@@ -18,8 +18,8 @@
# It is necessary to setup a CA and issue server certificates before
# using this capability.
@@ -13,11 +13,11 @@
# Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the libvirtd process for this to
-Index: libvirt-1.2.10/daemon/libvirtd-config.c
+Index: libvirt-1.2.12/daemon/libvirtd-config.c
===================================================================
---- libvirt-1.2.10.orig/daemon/libvirtd-config.c
-+++ libvirt-1.2.10/daemon/libvirtd-config.c
-@@ -229,7 +229,7 @@ daemonConfigNew(bool privileged ATTRIBUT
+--- libvirt-1.2.12.orig/daemon/libvirtd-config.c
++++ libvirt-1.2.12/daemon/libvirtd-config.c
+@@ -242,7 +242,7 @@ daemonConfigNew(bool privileged ATTRIBUT
if (VIR_ALLOC(data) < 0)
return NULL;
@@ -26,10 +26,10 @@
data->listen_tcp = 0;
if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 ||
-Index: libvirt-1.2.10/daemon/test_libvirtd.aug.in
+Index: libvirt-1.2.12/daemon/test_libvirtd.aug.in
===================================================================
---- libvirt-1.2.10.orig/daemon/test_libvirtd.aug.in
-+++ libvirt-1.2.10/daemon/test_libvirtd.aug.in
+--- libvirt-1.2.12.orig/daemon/test_libvirtd.aug.in
++++ libvirt-1.2.12/daemon/test_libvirtd.aug.in
@@ -2,7 +2,7 @@ module Test_libvirtd =
::CONFIG::
++++++ libvirtd-init-script.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards
-Index: libvirt-1.2.10/daemon/libvirtd.sysconf
+Index: libvirt-1.2.12/daemon/libvirtd.sysconf
===================================================================
---- libvirt-1.2.10.orig/daemon/libvirtd.sysconf
-+++ libvirt-1.2.10/daemon/libvirtd.sysconf
+--- libvirt-1.2.12.orig/daemon/libvirtd.sysconf
++++ libvirt-1.2.12/daemon/libvirtd.sysconf
@@ -1,16 +1,25 @@
+## Path: System/Virtualization/libvirt
+
++++++ ppc64le-canonical-name.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -2,10 +2,10 @@
See bnc#894956
-Index: libvirt-1.2.10/src/util/virarch.c
+Index: libvirt-1.2.12/src/util/virarch.c
===================================================================
---- libvirt-1.2.10.orig/src/util/virarch.c
-+++ libvirt-1.2.10/src/util/virarch.c
+--- libvirt-1.2.12.orig/src/util/virarch.c
++++ libvirt-1.2.12/src/util/virarch.c
@@ -169,6 +169,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_I686;
} else if (STREQ(ut.machine, "amd64")) {
++++++ qemu-apparmor-screenshot.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -1,7 +1,7 @@
-Index: libvirt-1.2.11/examples/apparmor/libvirt-qemu
+Index: libvirt-1.2.12/examples/apparmor/libvirt-qemu
===================================================================
---- libvirt-1.2.11.orig/examples/apparmor/libvirt-qemu
-+++ libvirt-1.2.11/examples/apparmor/libvirt-qemu
+--- libvirt-1.2.12.orig/examples/apparmor/libvirt-qemu
++++ libvirt-1.2.12/examples/apparmor/libvirt-qemu
@@ -124,6 +124,9 @@
/sys/bus/ r,
/sys/class/ r,
++++++ support-managed-pci-xen-driver.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -8,10 +8,10 @@
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 15 deletions(-)
-Index: libvirt-1.2.10/src/xenconfig/xen_common.c
+Index: libvirt-1.2.12/src/xenconfig/xen_common.c
===================================================================
---- libvirt-1.2.10.orig/src/xenconfig/xen_common.c
-+++ libvirt-1.2.10/src/xenconfig/xen_common.c
+--- libvirt-1.2.12.orig/src/xenconfig/xen_common.c
++++ libvirt-1.2.12/src/xenconfig/xen_common.c
@@ -401,6 +401,8 @@ xenParsePCI(virConfPtr conf, virDomainDe
{
virConfValuePtr list = virConfGetValue(conf, "pci");
@@ -66,10 +66,10 @@
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
hostdev->source.subsys.u.pci.addr.domain = domainID;
hostdev->source.subsys.u.pci.addr.bus = busID;
-Index: libvirt-1.2.10/src/xenconfig/xen_sxpr.c
+Index: libvirt-1.2.12/src/xenconfig/xen_sxpr.c
===================================================================
---- libvirt-1.2.10.orig/src/xenconfig/xen_sxpr.c
-+++ libvirt-1.2.10/src/xenconfig/xen_sxpr.c
+--- libvirt-1.2.12.orig/src/xenconfig/xen_sxpr.c
++++ libvirt-1.2.12/src/xenconfig/xen_sxpr.c
@@ -999,6 +999,7 @@ xenParseSxprPCI(virDomainDefPtr def,
int busID;
int slotID;
@@ -93,7 +93,7 @@
dev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
dev->source.subsys.u.pci.addr.domain = domainID;
dev->source.subsys.u.pci.addr.bus = busID;
-@@ -1993,11 +1996,15 @@ static void
+@@ -2005,11 +2008,15 @@ static void
xenFormatSxprPCI(virDomainHostdevDefPtr def,
virBufferPtr buf)
{
@@ -110,7 +110,7 @@
}
-@@ -2016,12 +2023,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP
+@@ -2028,12 +2035,6 @@ xenFormatSxprOnePCI(virDomainHostdevDefP
virBufferPtr buf,
int detach)
{
@@ -123,7 +123,7 @@
virBufferAddLit(buf, "(pci ");
xenFormatSxprPCI(def, buf);
if (detach)
-@@ -2076,12 +2077,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def,
+@@ -2088,12 +2089,6 @@ xenFormatSxprAllPCI(virDomainDefPtr def,
for (i = 0; i < def->nhostdevs; i++) {
if (def->hostdevs[i]->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
def->hostdevs[i]->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) {
++++++ suse-qemu-conf.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -1,7 +1,7 @@
-Index: libvirt-1.2.10/src/qemu/qemu.conf
+Index: libvirt-1.2.12/src/qemu/qemu.conf
===================================================================
---- libvirt-1.2.10.orig/src/qemu/qemu.conf
-+++ libvirt-1.2.10/src/qemu/qemu.conf
+--- libvirt-1.2.12.orig/src/qemu/qemu.conf
++++ libvirt-1.2.12/src/qemu/qemu.conf
@@ -204,7 +204,7 @@
# If set to non-zero, then the default security labeling
@@ -39,10 +39,10 @@
#
#lock_manager = "lockd"
-Index: libvirt-1.2.10/src/qemu/qemu_conf.c
+Index: libvirt-1.2.12/src/qemu/qemu_conf.c
===================================================================
---- libvirt-1.2.10.orig/src/qemu/qemu_conf.c
-+++ libvirt-1.2.10/src/qemu/qemu_conf.c
+--- libvirt-1.2.12.orig/src/qemu/qemu_conf.c
++++ libvirt-1.2.12/src/qemu/qemu_conf.c
@@ -249,7 +249,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
cfg->clearEmulatorCapabilities = true;
++++++ systemd-service-xen.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -1,7 +1,7 @@
-Index: libvirt-1.2.10/daemon/libvirtd.service.in
+Index: libvirt-1.2.12/daemon/libvirtd.service.in
===================================================================
---- libvirt-1.2.10.orig/daemon/libvirtd.service.in
-+++ libvirt-1.2.10/daemon/libvirtd.service.in
+--- libvirt-1.2.12.orig/daemon/libvirtd.service.in
++++ libvirt-1.2.12/daemon/libvirtd.service.in
@@ -5,6 +5,8 @@ After=network.target
After=dbus.service
After=iscsid.service
++++++ virtlockd-init-script.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -1,9 +1,9 @@
Adjust virtlockd init files to conform to SUSE standards
-Index: libvirt-1.2.10/src/locking/virtlockd.sysconf
+Index: libvirt-1.2.12/src/locking/virtlockd.sysconf
===================================================================
---- libvirt-1.2.10.orig/src/locking/virtlockd.sysconf
-+++ libvirt-1.2.10/src/locking/virtlockd.sysconf
+--- libvirt-1.2.12.orig/src/locking/virtlockd.sysconf
++++ libvirt-1.2.12/src/locking/virtlockd.sysconf
@@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlockd
+
@@ -12,10 +12,10 @@
#
# Pass extra arguments to virtlockd
#VIRTLOCKD_ARGS=
-Index: libvirt-1.2.10/src/locking/virtlockd.init.in
+Index: libvirt-1.2.12/src/locking/virtlockd.init.in
===================================================================
---- libvirt-1.2.10.orig/src/locking/virtlockd.init.in
-+++ libvirt-1.2.10/src/locking/virtlockd.init.in
+--- libvirt-1.2.12.orig/src/locking/virtlockd.init.in
++++ libvirt-1.2.12/src/locking/virtlockd.init.in
@@ -4,12 +4,14 @@
# http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-ge…
#
++++++ xen-name-for-devid.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -14,10 +14,10 @@
is inactive. We obviously can't search xenstore when the domain is
inactive.
-Index: libvirt-1.2.10/src/xen/xend_internal.c
+Index: libvirt-1.2.12/src/xen/xend_internal.c
===================================================================
---- libvirt-1.2.10.orig/src/xen/xend_internal.c
-+++ libvirt-1.2.10/src/xen/xend_internal.c
+--- libvirt-1.2.12.orig/src/xen/xend_internal.c
++++ libvirt-1.2.12/src/xen/xend_internal.c
@@ -72,7 +72,7 @@ VIR_LOG_INIT("xen.xend_internal");
#define XEND_RCV_BUF_MAX_LEN (256 * 1024)
@@ -27,7 +27,7 @@
virDomainDeviceDefPtr dev, char *class,
char *ref, int ref_len);
-@@ -3325,37 +3325,35 @@ xenDaemonDomainBlockPeek(virConnectPtr c
+@@ -3319,37 +3319,35 @@ xenDaemonDomainBlockPeek(virConnectPtr c
* Returns 0 in case of success, -1 in case of failure.
*/
static int
@@ -42,7 +42,7 @@
- xenUnifiedPrivatePtr priv = conn->privateData;
- char *xref;
- char *tmp;
-+ unsigned int i;
++ size_t i;
const char *driver = virDomainDiskGetDriver(dev->data.disk);
if (dev->type == VIR_DOMAIN_DEVICE_DISK) {
@@ -80,7 +80,7 @@
} else if (dev->type == VIR_DOMAIN_DEVICE_NET) {
char mac[VIR_MAC_STRING_BUFLEN];
virDomainNetDefPtr netdef = dev->data.net;
-@@ -3363,16 +3361,22 @@ virDomainXMLDevID(virConnectPtr conn,
+@@ -3357,16 +3355,22 @@ virDomainXMLDevID(virConnectPtr conn,
strcpy(class, "vif");
@@ -113,7 +113,7 @@
} else if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV &&
dev->data.hostdev->mode == VIR_DOMAIN_HOSTDEV_MODE_SUBSYS &&
dev->data.hostdev->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI) {
-@@ -3388,17 +3392,44 @@ virDomainXMLDevID(virConnectPtr conn,
+@@ -3382,17 +3386,43 @@ virDomainXMLDevID(virConnectPtr conn,
strcpy(class, "pci");
@@ -124,7 +124,7 @@
- if (xref == NULL)
- return -1;
+ /* For PCI devices, the device BFD can be used directly. */
-+ for (i = 0 ; i < def->nhostdevs ; i++) {
++ for (i = 0; i < def->nhostdevs; i++) {
+ char *dst_bdf;
+ virDomainHostdevDefPtr hostdev = def->hostdevs[i];
+
@@ -153,8 +153,7 @@
+ VIR_FREE(dst_bdf);
+ VIR_FREE(bdf);
+ return -1;
-+ }
-+ else {
++ } else {
+ VIR_FREE(dst_bdf);
+ VIR_FREE(bdf);
+ return 0;
++++++ xen-pv-cdrom.patch ++++++
--- /var/tmp/diff_new_pack.eyXXIf/_old 2015-02-04 09:31:03.000000000 +0100
+++ /var/tmp/diff_new_pack.eyXXIf/_new 2015-02-04 09:31:03.000000000 +0100
@@ -1,7 +1,7 @@
-Index: libvirt-1.2.10/src/xenconfig/xen_sxpr.c
+Index: libvirt-1.2.12/src/xenconfig/xen_sxpr.c
===================================================================
---- libvirt-1.2.10.orig/src/xenconfig/xen_sxpr.c
-+++ libvirt-1.2.10/src/xenconfig/xen_sxpr.c
+--- libvirt-1.2.12.orig/src/xenconfig/xen_sxpr.c
++++ libvirt-1.2.12/src/xenconfig/xen_sxpr.c
@@ -334,7 +334,7 @@ xenParseSxprChar(const char *value,
static int
xenParseSxprDisks(virDomainDefPtr def,
--
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 haproxy for openSUSE:Factory checked in at 2015-02-03 15:35:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/haproxy (Old)
and /work/SRC/openSUSE:Factory/.haproxy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "haproxy"
Changes:
--------
--- /work/SRC/openSUSE:Factory/haproxy/haproxy.changes 2015-01-08 23:02:37.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.haproxy.new/haproxy.changes 2015-02-03 15:35:28.000000000 +0100
@@ -1,0 +2,38 @@
+Sun Feb 1 08:27:43 UTC 2015 - mrueckert(a)suse.de
+
+- update to 1.5.11
+ - BUG/MEDIUM: backend: correctly detect the domain when
+ use_domain_only is used
+ - MINOR: ssl: load certificates in alphabetical order
+ - BUG/MINOR: checks: prevent http keep-alive with http-check
+ expect
+ - BUG/MEDIUM: Do not set agent health to zero if server is
+ disabled in config
+ - MEDIUM/BUG: Only explicitly report "DOWN (agent)" if the agent
+ health is zero
+ - BUG/MINOR: stats:Fix incorrect printf type.
+ - DOC: add missing entry for log-format and clarify the text
+ - BUG/MEDIUM: http: fix header removal when previous header ends
+ with pure LF
+ - BUG/MEDIUM: channel: fix possible integer overflow on reserved
+ size computation
+ - BUG/MINOR: channel: compare to_forward with buf->i, not
+ buf->size
+ - MINOR: channel: add channel_in_transit()
+ - MEDIUM: channel: make buffer_reserved() use
+ channel_in_transit()
+ - MEDIUM: channel: make bi_avail() use channel_in_transit()
+ - BUG/MEDIUM: channel: don't schedule data in transit for leaving
+ until connected
+ - BUG/MAJOR: log: don't try to emit a log if no logger is set
+ - BUG/MINOR: args: add missing entry for ARGT_MAP in
+ arg_type_names
+ - BUG/MEDIUM: http: make http-request set-header compute the
+ string before removal
+ - BUG/MINOR: http: fix incorrect header value offset in
+ replace-hdr/replace-value
+ - BUG/MINOR: http: abort request processing on filter failure
+- drop patch included in update:
+ 0001-BUG-MEDIUM-backend-correctly-detect-the-domain-when-.patch
+
+-------------------------------------------------------------------
Old:
----
0001-BUG-MEDIUM-backend-correctly-detect-the-domain-when-.patch
haproxy-1.5.10.tar.gz
New:
----
haproxy-1.5.11.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ haproxy.spec ++++++
--- /var/tmp/diff_new_pack.sOSYRR/_old 2015-02-03 15:35:29.000000000 +0100
+++ /var/tmp/diff_new_pack.sOSYRR/_new 2015-02-03 15:35:29.000000000 +0100
@@ -33,7 +33,7 @@
%bcond_without apparmor
Name: haproxy
-Version: 1.5.10
+Version: 1.5.11
Release: 0
#
#
@@ -61,8 +61,6 @@
Patch2: haproxy-makefile_lib.patch
Patch3: sec-options.patch
Patch4: haproxy-1.5.8-fix-bashisms.patch
-# PATCH-UPSTREAM
-Patch5: 0001-BUG-MEDIUM-backend-correctly-detect-the-domain-when-.patch
#
Source99: haproxy-rpmlintrc
#
@@ -97,7 +95,6 @@
%patch2
%patch3
%patch4 -p1
-%patch5 -p1
%build
%{__make} \
++++++ haproxy-1.5.10.tar.gz -> haproxy-1.5.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/CHANGELOG new/haproxy-1.5.11/CHANGELOG
--- old/haproxy-1.5.10/CHANGELOG 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/CHANGELOG 2015-02-01 07:54:32.000000000 +0100
@@ -1,6 +1,27 @@
ChangeLog :
===========
+2015/02/01 : 1.5.11
+ - BUG/MEDIUM: backend: correctly detect the domain when use_domain_only is used
+ - MINOR: ssl: load certificates in alphabetical order
+ - BUG/MINOR: checks: prevent http keep-alive with http-check expect
+ - BUG/MEDIUM: Do not set agent health to zero if server is disabled in config
+ - MEDIUM/BUG: Only explicitly report "DOWN (agent)" if the agent health is zero
+ - BUG/MINOR: stats:Fix incorrect printf type.
+ - DOC: add missing entry for log-format and clarify the text
+ - BUG/MEDIUM: http: fix header removal when previous header ends with pure LF
+ - BUG/MEDIUM: channel: fix possible integer overflow on reserved size computation
+ - BUG/MINOR: channel: compare to_forward with buf->i, not buf->size
+ - MINOR: channel: add channel_in_transit()
+ - MEDIUM: channel: make buffer_reserved() use channel_in_transit()
+ - MEDIUM: channel: make bi_avail() use channel_in_transit()
+ - BUG/MEDIUM: channel: don't schedule data in transit for leaving until connected
+ - BUG/MAJOR: log: don't try to emit a log if no logger is set
+ - BUG/MINOR: args: add missing entry for ARGT_MAP in arg_type_names
+ - BUG/MEDIUM: http: make http-request set-header compute the string before removal
+ - BUG/MINOR: http: fix incorrect header value offset in replace-hdr/replace-value
+ - BUG/MINOR: http: abort request processing on filter failure
+
2014/12/31 : 1.5.10
- DOC: fix a few typos
- BUG/MINOR: http: fix typo: "401 Unauthorized" => "407 Unauthorized"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/README new/haproxy-1.5.11/README
--- old/haproxy-1.5.10/README 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/README 2015-02-01 07:54:32.000000000 +0100
@@ -1,9 +1,9 @@
----------------------
HAProxy how-to
----------------------
- version 1.5.10
+ version 1.5.11
willy tarreau
- 2014/12/31
+ 2015/02/01
1) How to build it
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/VERDATE new/haproxy-1.5.11/VERDATE
--- old/haproxy-1.5.10/VERDATE 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/VERDATE 2015-02-01 07:54:32.000000000 +0100
@@ -1,2 +1,2 @@
$Format:%ci$
-2014/12/31
+2015/01/31
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/VERSION new/haproxy-1.5.11/VERSION
--- old/haproxy-1.5.10/VERSION 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/VERSION 2015-02-01 07:54:32.000000000 +0100
@@ -1 +1 @@
-1.5.10
+1.5.11
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/doc/configuration.txt new/haproxy-1.5.11/doc/configuration.txt
--- old/haproxy-1.5.10/doc/configuration.txt 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/doc/configuration.txt 2015-02-01 07:54:32.000000000 +0100
@@ -2,9 +2,9 @@
HAProxy
Configuration Manual
----------------------
- version 1.5.10
+ version 1.5.11
willy tarreau
- 2014/12/31
+ 2015/02/01
This document covers the configuration language as implemented in the version
@@ -1323,6 +1323,7 @@
id - X X X
ignore-persist - X X X
log (*) X X X X
+log-format X X X -
max-keep-alive-queue X - X X
maxconn X X X -
mode X X X X
@@ -2855,6 +2856,10 @@
waste some CPU cycles, especially when regular expressions are used, and that
it is always better to focus the checks on smaller resources.
+ Also "http-check expect" doesn't support HTTP keep-alive. Keep in mind that it
+ will automatically append a "Connection: close" header, meaning that this
+ header should not be present in the request provided by "option httpchk".
+
Last, if "http-check expect" is combined with "http-check disable-on-404",
then this last one has precedence when the server responds with 404.
@@ -2983,7 +2988,8 @@
- "set-header" does the same as "add-header" except that the header name
is first removed if it existed. This is useful when passing security
information to the server, where the header must not be manipulated by
- external users.
+ external users. Note that the new value is computed before the removal so
+ it is possible to concatenate a value to an existing header.
- "del-header" removes all HTTP header fields whose name is specified in
<name>.
@@ -3475,9 +3481,15 @@
log-format <string>
- Allows you to custom a log line.
+ Specifies the log format string to use for traffic logs
+ May be used in sections: defaults | frontend | listen | backend
+ yes | yes | yes | no
- See also : Custom Log Format (8.2.4)
+ This directive specifies the log format string that will be used for all logs
+ resulting from traffic passing through the frontend using this line. If the
+ directive is used in a defaults section, all subsequent frontends will use
+ the same log format. Please see section 8.2.4 which covers the log format
+ string in depth.
max-keep-alive-queue <value>
@@ -8315,20 +8327,21 @@
are loaded.
If a directory name is used instead of a PEM file, then all files found in
- that directory will be loaded unless their name ends with '.issuer' or
- '.ocsp' (reserved extensions). This directive may be specified multiple times
- in order to load certificates from multiple files or directories. The
- certificates will be presented to clients who provide a valid TLS Server Name
- Indication field matching one of their CN or alt subjects. Wildcards are
- supported, where a wildcard character '*' is used instead of the first
- hostname component (eg: *.example.org matches www.example.org but not
+ that directory will be loaded in alphabetic order unless their name ends with
+ '.issuer' or '.ocsp' (reserved extensions). This directive may be specified
+ multiple times in order to load certificates from multiple files or
+ directories. The certificates will be presented to clients who provide a valid
+ TLS Server Name Indication field matching one of their CN or alt subjects.
+ Wildcards are supported, where a wildcard character '*' is used instead of the
+ first hostname component (eg: *.example.org matches www.example.org but not
www.sub.example.org).
If no SNI is provided by the client or if the SSL library does not support
TLS extensions, or if the client provides an SNI hostname which does not
match any certificate, then the first loaded certificate will be presented.
This means that when loading certificates from a directory, it is highly
- recommended to load the default one first as a file.
+ recommended to load the default one first as a file or to ensure that it will
+ always be the first one in the directory.
Note that the same cert may be loaded multiple times without side effects.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/examples/haproxy.spec new/haproxy-1.5.11/examples/haproxy.spec
--- old/haproxy-1.5.10/examples/haproxy.spec 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/examples/haproxy.spec 2015-02-01 07:54:32.000000000 +0100
@@ -1,6 +1,6 @@
Summary: HA-Proxy is a TCP/HTTP reverse proxy for high availability environments
Name: haproxy
-Version: 1.5.10
+Version: 1.5.11
Release: 1
License: GPL
Group: System Environment/Daemons
@@ -76,6 +76,9 @@
%attr(0755,root,root) %config %{_sysconfdir}/rc.d/init.d/%{name}
%changelog
+* Sun Feb 1 2015 Willy Tarreau <w(a)1wt.eu>
+- updated to 1.5.11
+
* Wed Dec 31 2014 Willy Tarreau <w(a)1wt.eu>
- updated to 1.5.10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/include/proto/channel.h new/haproxy-1.5.11/include/proto/channel.h
--- old/haproxy-1.5.10/include/proto/channel.h 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/include/proto/channel.h 2015-02-01 07:54:32.000000000 +0100
@@ -118,6 +118,41 @@
return rem >= 0;
}
+/* Tells whether data are likely to leave the buffer. This is used to know when
+ * we can safely ignore the reserve since we know we cannot retry a connection.
+ * It returns zero if data are blocked, non-zero otherwise.
+ */
+static inline int channel_may_send(const struct channel *chn)
+{
+ return chn->cons->state == SI_ST_EST;
+}
+
+/* Returns the amount of bytes from the channel that are already scheduled for
+ * leaving (buf->o) or that are still part of the input and expected to be sent
+ * soon as covered by to_forward. This is useful to know by how much we can
+ * shrink the rewrite reserve during forwards. Buffer data are not considered
+ * in transit until the channel is connected, so that the reserve remains
+ * protected.
+ */
+static inline int channel_in_transit(const struct channel *chn)
+{
+ int ret;
+
+ if (!channel_may_send(chn))
+ return 0;
+
+ /* below, this is min(i, to_forward) optimized for the fast case */
+ if (chn->to_forward >= chn->buf->i ||
+ (CHN_INFINITE_FORWARD < MAX_RANGE(typeof(chn->buf->i)) &&
+ chn->to_forward == CHN_INFINITE_FORWARD))
+ ret = chn->buf->i;
+ else
+ ret = chn->to_forward;
+
+ ret += chn->buf->o;
+ return ret;
+}
+
/* Returns non-zero if the buffer input is considered full. This is used to
* decide when to stop reading into a buffer when we want to ensure that we
* leave the reserve untouched after all pending outgoing data are forwarded.
@@ -136,10 +171,13 @@
if (!rem)
return 1; /* buffer already full */
- if (chn->to_forward >= chn->buf->size ||
- (CHN_INFINITE_FORWARD < MAX_RANGE(typeof(chn->buf->size)) && // just there to ensure gcc
- chn->to_forward == CHN_INFINITE_FORWARD)) // avoids the useless second
- return 0; // test whenever possible
+ /* now we know there's some room left, verify if we're touching
+ * the reserve with some permanent input data.
+ */
+ if (chn->to_forward >= chn->buf->i ||
+ (CHN_INFINITE_FORWARD < MAX_RANGE(typeof(chn->buf->i)) && // just there to ensure gcc
+ chn->to_forward == CHN_INFINITE_FORWARD)) // avoids the useless second
+ return 0; // test whenever possible
rem -= global.tune.maxrewrite;
rem += chn->buf->o;
@@ -258,17 +296,17 @@
* buffer, which ensures that once all pending data are forwarded, the
* buffer still has global.tune.maxrewrite bytes free. The result is
* between 0 and global.tune.maxrewrite, which is itself smaller than
- * any chn->size.
+ * any chn->size. Special care is taken to avoid any possible integer
+ * overflow in the operations.
*/
static inline int buffer_reserved(const struct channel *chn)
{
- int ret = global.tune.maxrewrite - chn->to_forward - chn->buf->o;
+ int reserved;
- if (chn->to_forward == CHN_INFINITE_FORWARD)
- return 0;
- if (ret <= 0)
- return 0;
- return ret;
+ reserved = global.tune.maxrewrite - channel_in_transit(chn);
+ if (reserved < 0)
+ reserved = 0;
+ return reserved;
}
/* Return the max number of bytes the buffer can contain so that once all the
@@ -287,28 +325,12 @@
*/
static inline int bi_avail(const struct channel *chn)
{
- int rem = chn->buf->size;
- int rem2;
+ int ret;
- rem -= chn->buf->o;
- rem -= chn->buf->i;
- if (!rem)
- return rem; /* buffer already full */
-
- if (chn->to_forward >= chn->buf->size ||
- (CHN_INFINITE_FORWARD < MAX_RANGE(typeof(chn->buf->size)) && // just there to ensure gcc
- chn->to_forward == CHN_INFINITE_FORWARD)) // avoids the useless second
- return rem; // test whenever possible
-
- rem2 = rem - global.tune.maxrewrite;
- rem2 += chn->buf->o;
- rem2 += chn->to_forward;
-
- if (rem > rem2)
- rem = rem2;
- if (rem > 0)
- return rem;
- return 0;
+ ret = buffer_max_len(chn) - chn->buf->i - chn->buf->o;
+ if (ret < 0)
+ ret = 0;
+ return ret;
}
/* Cut the "tail" of the channel's buffer, which means strip it to the length
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/src/arg.c new/haproxy-1.5.11/src/arg.c
--- old/haproxy-1.5.10/src/arg.c 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/src/arg.c 2015-02-01 07:54:32.000000000 +0100
@@ -33,6 +33,7 @@
[ARGT_TAB] = "table",
[ARGT_SRV] = "server",
[ARGT_USR] = "user list",
+ [ARGT_MAP] = "map",
/* Unassigned types must never happen. Better crash during parsing if they do. */
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/src/backend.c new/haproxy-1.5.11/src/backend.c
--- old/haproxy-1.5.10/src/backend.c 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/src/backend.c 2015-02-01 07:54:32.000000000 +0100
@@ -408,29 +408,33 @@
hash = gen_hash(px, p, len);
} else {
int dohash = 0;
- p += len - 1;
- start = end = p;
+ p += len;
/* special computation, use only main domain name, not tld/host
* going back from the end of string, start hashing at first
* dot stop at next.
* This is designed to work with the 'Host' header, and requires
* a special option to activate this.
*/
+ end = p;
while (len) {
- if (*p == '.') {
- if (!dohash) {
- dohash = 1;
- start = end = p - 1;
- }
- else
+ if (dohash) {
+ /* Rewind the pointer until the previous char
+ * is a dot, this will allow to set the start
+ * position of the domain. */
+ if (*(p - 1) == '.')
break;
- } else {
- if (dohash)
- start--;
}
- len--;
+ else if (*p == '.') {
+ /* The pointer is rewinded to the dot before the
+ * tld, we memorize the end of the domain and
+ * can enter the domain processing. */
+ end = p;
+ dohash = 1;
+ }
p--;
+ len--;
}
+ start = p;
hash = gen_hash(px, start, (end - start));
}
if ((px->lbprm.algo & BE_LB_HASH_MOD) == BE_LB_HMOD_AVAL)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/src/cfgparse.c new/haproxy-1.5.11/src/cfgparse.c
--- old/haproxy-1.5.10/src/cfgparse.c 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/src/cfgparse.c 2015-02-01 07:54:32.000000000 +0100
@@ -6851,7 +6851,6 @@
newsrv->admin |= SRV_ADMF_IMAINT;
newsrv->state = SRV_ST_STOPPED;
newsrv->check.health = 0;
- newsrv->agent.health = 0;
}
newsrv->track = srv;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/src/checks.c new/haproxy-1.5.11/src/checks.c
--- old/haproxy-1.5.10/src/checks.c 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/src/checks.c 2015-02-01 07:54:32.000000000 +0100
@@ -1407,6 +1407,9 @@
else if ((check->type) == PR_O2_HTTP_CHK) {
if (s->proxy->options2 & PR_O2_CHK_SNDST)
bo_putblk(check->bo, trash.str, httpchk_build_status_header(s, trash.str, trash.size));
+ /* prevent HTTP keep-alive when "http-check expect" is used */
+ if (s->proxy->options2 & PR_O2_EXP_TYPE)
+ bo_putstr(check->bo, "Connection: close\r\n");
bo_putstr(check->bo, "\r\n");
*check->bo->p = '\0'; /* to make gdb output easier to read */
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/src/dumpstats.c new/haproxy-1.5.11/src/dumpstats.c
--- old/haproxy-1.5.10/src/dumpstats.c 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/src/dumpstats.c 2015-02-01 07:54:32.000000000 +0100
@@ -2492,7 +2492,7 @@
"Hard_maxconn: %d\n"
"CurrConns: %d\n"
"CumConns: %d\n"
- "CumReq: %d\n"
+ "CumReq: %u\n"
#ifdef USE_OPENSSL
"MaxSslConns: %d\n"
"CurrSslConns: %d\n"
@@ -3106,7 +3106,7 @@
chunk_appendf(&trash, "%s ", human_time(now.tv_sec - sv->last_change, 1));
chunk_appendf(&trash, "MAINT");
}
- else if ((ref->agent.state & CHK_ST_ENABLED) && (ref->state == SRV_ST_STOPPED)) {
+ else if ((ref->agent.state & CHK_ST_ENABLED) && !(sv->agent.health) && (ref->state == SRV_ST_STOPPED)) {
chunk_appendf(&trash, "%s ", human_time(now.tv_sec - ref->last_change, 1));
/* DOWN (agent) */
chunk_appendf(&trash, srv_hlt_st[1], "GCC: your -Werror=format-security is bogus, annoying, and hides real bugs, I don't thank you, really!");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/src/haproxy.c new/haproxy-1.5.11/src/haproxy.c
--- old/haproxy-1.5.10/src/haproxy.c 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/src/haproxy.c 2015-02-01 07:54:32.000000000 +0100
@@ -216,7 +216,7 @@
void display_version()
{
printf("HA-Proxy version " HAPROXY_VERSION " " HAPROXY_DATE"\n");
- printf("Copyright 2000-2014 Willy Tarreau <w(a)1wt.eu>\n\n");
+ printf("Copyright 2000-2015 Willy Tarreau <w(a)1wt.eu>\n\n");
}
void display_build_opts()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/src/log.c new/haproxy-1.5.11/src/log.c
--- old/haproxy-1.5.10/src/log.c 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/src/log.c 2015-02-01 07:54:32.000000000 +0100
@@ -765,7 +765,7 @@
char *dataptr;
int data_len;
- if (level < 0 || format == NULL)
+ if (level < 0 || format == NULL || logline == NULL)
return;
dataptr = update_log_hdr(); /* update log header and skip it */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/src/proto_http.c new/haproxy-1.5.11/src/proto_http.c
--- old/haproxy-1.5.10/src/proto_http.c 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/src/proto_http.c 2015-02-01 07:54:32.000000000 +0100
@@ -731,7 +731,7 @@
if (idx->tail == ctx->idx)
idx->tail = ctx->prev;
ctx->idx = ctx->prev; /* walk back to the end of previous header */
- ctx->line -= idx->v[ctx->idx].len + idx->v[cur_idx].cr + 1;
+ ctx->line -= idx->v[ctx->idx].len + idx->v[ctx->idx].cr + 1;
ctx->val = idx->v[ctx->idx].len; /* point to end of previous header */
ctx->tws = ctx->vlen = 0;
return ctx->idx;
@@ -3250,7 +3250,7 @@
while (http_find_full_header2(name, name_len, buf, idx, ctx)) {
struct hdr_idx_elem *hdr = idx->v + ctx->idx;
int delta;
- char* val = (char*)ctx->line + name_len + 2;
+ char* val = (char*)ctx->line + ctx->val;
char* val_end = (char*)ctx->line + hdr->len;
char* reg_dst_buf;
uint reg_dst_buf_size;
@@ -3389,17 +3389,15 @@
break;
case HTTP_REQ_ACT_DEL_HDR:
- case HTTP_REQ_ACT_SET_HDR:
ctx.idx = 0;
/* remove all occurrences of the header */
while (http_find_header2(rule->arg.hdr_add.name, rule->arg.hdr_add.name_len,
txn->req.chn->buf->p, &txn->hdr_idx, &ctx)) {
http_remove_header2(&txn->req, &txn->hdr_idx, &ctx);
}
- if (rule->action == HTTP_REQ_ACT_DEL_HDR)
- break;
- /* now fall through to header addition */
+ break;
+ case HTTP_REQ_ACT_SET_HDR:
case HTTP_REQ_ACT_ADD_HDR:
chunk_printf(&trash, "%s: ", rule->arg.hdr_add.name);
memcpy(trash.str, rule->arg.hdr_add.name, rule->arg.hdr_add.name_len);
@@ -3407,6 +3405,16 @@
trash.str[trash.len++] = ':';
trash.str[trash.len++] = ' ';
trash.len += build_logline(s, trash.str + trash.len, trash.size - trash.len, &rule->arg.hdr_add.fmt);
+
+ if (rule->action == HTTP_REQ_ACT_SET_HDR) {
+ /* remove all occurrences of the header */
+ ctx.idx = 0;
+ while (http_find_header2(rule->arg.hdr_add.name, rule->arg.hdr_add.name_len,
+ txn->req.chn->buf->p, &txn->hdr_idx, &ctx)) {
+ http_remove_header2(&txn->req, &txn->hdr_idx, &ctx);
+ }
+ }
+
http_header_add_tail2(&txn->req, &txn->hdr_idx, trash.str, trash.len);
break;
@@ -3578,17 +3586,15 @@
break;
case HTTP_RES_ACT_DEL_HDR:
- case HTTP_RES_ACT_SET_HDR:
ctx.idx = 0;
/* remove all occurrences of the header */
while (http_find_header2(rule->arg.hdr_add.name, rule->arg.hdr_add.name_len,
txn->rsp.chn->buf->p, &txn->hdr_idx, &ctx)) {
http_remove_header2(&txn->rsp, &txn->hdr_idx, &ctx);
}
- if (rule->action == HTTP_RES_ACT_DEL_HDR)
- break;
- /* now fall through to header addition */
+ break;
+ case HTTP_RES_ACT_SET_HDR:
case HTTP_RES_ACT_ADD_HDR:
chunk_printf(&trash, "%s: ", rule->arg.hdr_add.name);
memcpy(trash.str, rule->arg.hdr_add.name, rule->arg.hdr_add.name_len);
@@ -3596,6 +3602,15 @@
trash.str[trash.len++] = ':';
trash.str[trash.len++] = ' ';
trash.len += build_logline(s, trash.str + trash.len, trash.size - trash.len, &rule->arg.hdr_add.fmt);
+
+ if (rule->action == HTTP_RES_ACT_SET_HDR) {
+ /* remove all occurrences of the header */
+ ctx.idx = 0;
+ while (http_find_header2(rule->arg.hdr_add.name, rule->arg.hdr_add.name_len,
+ txn->rsp.chn->buf->p, &txn->hdr_idx, &ctx)) {
+ http_remove_header2(&txn->rsp, &txn->hdr_idx, &ctx);
+ }
+ }
http_header_add_tail2(&txn->rsp, &txn->hdr_idx, trash.str, trash.len);
break;
@@ -7045,7 +7060,8 @@
/* The filter did not match the request, it can be
* iterated through all headers.
*/
- apply_filter_to_req_headers(s, req, exp);
+ if (unlikely(apply_filter_to_req_headers(s, req, exp) < 0))
+ return -1;
}
}
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/src/server.c new/haproxy-1.5.11/src/server.c
--- old/haproxy-1.5.10/src/server.c 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/src/server.c 2015-02-01 07:54:32.000000000 +0100
@@ -1223,7 +1223,6 @@
newsrv->state = SRV_ST_STOPPED;
newsrv->check.state |= CHK_ST_PAUSED;
newsrv->check.health = 0;
- newsrv->agent.health = 0;
cur_arg += 1;
}
else if (!defsrv && !strcmp(args[cur_arg], "observe")) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.10/src/ssl_sock.c new/haproxy-1.5.11/src/ssl_sock.c
--- old/haproxy-1.5.10/src/ssl_sock.c 2014-12-31 22:22:28.000000000 +0100
+++ new/haproxy-1.5.11/src/ssl_sock.c 2015-02-01 07:54:32.000000000 +0100
@@ -1308,7 +1308,8 @@
int ssl_sock_load_cert(char *path, struct bind_conf *bind_conf, struct proxy *curproxy, char **err)
{
- struct dirent *de;
+ struct dirent **de_list;
+ int i, n;
DIR *dir;
struct stat buf;
char *end;
@@ -1322,21 +1323,34 @@
for (end = path + strlen(path) - 1; end >= path && *end == '/'; end--)
*end = 0;
- while ((de = readdir(dir))) {
- end = strrchr(de->d_name, '.');
- if (end && (!strcmp(end, ".issuer") || !strcmp(end, ".ocsp")))
- continue;
-
- snprintf(fp, sizeof(fp), "%s/%s", path, de->d_name);
- if (stat(fp, &buf) != 0) {
- memprintf(err, "%sunable to stat SSL certificate from file '%s' : %s.\n",
- err && *err ? *err : "", fp, strerror(errno));
- cfgerr++;
- continue;
+ n = scandir(path, &de_list, 0, alphasort);
+ if (n < 0) {
+ memprintf(err, "%sunable to scan directory '%s' : %s.\n",
+ err && *err ? *err : "", path, strerror(errno));
+ cfgerr++;
+ }
+ else {
+ for (i = 0; i < n; i++) {
+ struct dirent *de = de_list[i];
+
+ end = strrchr(de->d_name, '.');
+ if (end && (!strcmp(end, ".issuer") || !strcmp(end, ".ocsp")))
+ goto ignore_entry;
+
+ snprintf(fp, sizeof(fp), "%s/%s", path, de->d_name);
+ if (stat(fp, &buf) != 0) {
+ memprintf(err, "%sunable to stat SSL certificate from file '%s' : %s.\n",
+ err && *err ? *err : "", fp, strerror(errno));
+ cfgerr++;
+ goto ignore_entry;
+ }
+ if (!S_ISREG(buf.st_mode))
+ goto ignore_entry;
+ cfgerr += ssl_sock_load_cert_file(fp, bind_conf, curproxy, NULL, 0, err);
+ ignore_entry:
+ free(de);
}
- if (!S_ISREG(buf.st_mode))
- continue;
- cfgerr += ssl_sock_load_cert_file(fp, bind_conf, curproxy, NULL, 0, err);
+ free(de_list);
}
closedir(dir);
return cfgerr;
--
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-bjoern for openSUSE:Factory checked in at 2015-02-03 15:35:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-bjoern (Old)
and /work/SRC/openSUSE:Factory/.python-bjoern.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-bjoern"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-bjoern/python-bjoern.changes 2012-11-28 14:32:34.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-bjoern.new/python-bjoern.changes 2015-02-03 15:35:23.000000000 +0100
@@ -1,0 +2,9 @@
+Mon Feb 2 16:27:46 UTC 2015 - boris(a)steki.net
+
+- update to version 1.4.2
+ * CVE-2015-0219, see https://www.djangoproject.com/weblog/2015/jan/13/security/
+ * Default to keep-alive for HTTP/1.1 connections
+ * Unix socket support
+ * Fixed 64bit compile errors
+
+-------------------------------------------------------------------
Old:
----
bjoern-1.2.tar.gz
New:
----
bjoern-1.4.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-bjoern.spec ++++++
--- /var/tmp/diff_new_pack.hIIACZ/_old 2015-02-03 15:35:24.000000000 +0100
+++ /var/tmp/diff_new_pack.hIIACZ/_new 2015-02-03 15:35:24.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-bjoern
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -13,15 +13,16 @@
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
Name: python-bjoern
-Version: 1.2
+Version: 1.4.2
Release: 0
-License: BSD-2-Clause
Summary: A screamingly fast Python WSGI server written in C
-Url: https://github.com/jonashaag/bjoern
+License: BSD-2-Clause
Group: Development/Languages/Python
+Url: https://github.com/jonashaag/bjoern
Source: http://pypi.python.org/packages/source/b/bjoern/bjoern-%{version}.tar.gz
BuildRequires: libev-devel
BuildRequires: python-devel
++++++ bjoern-1.2.tar.gz -> bjoern-1.4.2.tar.gz ++++++
++++ 2116 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 OpenColorIO for openSUSE:Factory checked in at 2015-02-03 15:35:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/OpenColorIO (Old)
and /work/SRC/openSUSE:Factory/.OpenColorIO.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "OpenColorIO"
Changes:
--------
--- /work/SRC/openSUSE:Factory/OpenColorIO/OpenColorIO.changes 2013-07-07 22:20:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.OpenColorIO.new/OpenColorIO.changes 2015-02-03 15:35:18.000000000 +0100
@@ -1,0 +2,16 @@
+Sat Jan 31 20:03:26 UTC 2015 - asterios.dramis(a)gmail.com
+
+- Update to version 1.0.9:
+ * CDL cccid supports both named id and index lookups
+ * ociobakelut / ocioconvert updates
+ * FreeBSD compile dixes
+ * FileTransform disk cache allows concurrent disk lookups
+ * CSP windows fix
+ * Python 3 support
+ * Fix envvar abs/relative path testing
+ * Can explicitly declare config envvars
+ * gcc44 compile warning fixes
+- Updated crippled tarball instructions (RegexMatcher.ns2 no longer exists).
+- Added new build requirement python-MarkupSafe.
+
+-------------------------------------------------------------------
Old:
----
OpenColorIO-1.0.8-crippled.tar.gz
New:
----
OpenColorIO-1.0.9-crippled.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ OpenColorIO.spec ++++++
--- /var/tmp/diff_new_pack.aYYusu/_old 2015-02-03 15:35:19.000000000 +0100
+++ /var/tmp/diff_new_pack.aYYusu/_new 2015-02-03 15:35:19.000000000 +0100
@@ -1,8 +1,8 @@
#
# spec file for package OpenColorIO
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# Copyright (c) 2013 Asterios Dramis <asterios.dramis(a)gmail.com>.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 Asterios Dramis <asterios.dramis(a)gmail.com>.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,35 +20,33 @@
%define so_ver 1
Name: OpenColorIO
-Version: 1.0.8
+Version: 1.0.9
Release: 0
Summary: Complete Color Management Solution Geared Towards Motion Picture Production
License: BSD-3-Clause and GPL-2.0+
Group: Productivity/Graphics/Other
Url: http://opencolorio.org/
-#DL-URL: http://github.com/imageworks/OpenColorIO/archive/v%{version}/OpenColorIO-%{…
######
######
# The package contains the below non OSS licensed files (see bnc#821203)
#
-# ext/Pygments-1.3.1/tests/examplefiles/RegexMatcher.ns2
-# ext/Pygments-1.3.1/tests/examplefiles/Sorting.mod
-# ext/Pygments-1.3.1/tests/examplefiles/test.mod
+# ext/Pygments-1.6/tests/examplefiles/Sorting.mod
+# ext/Pygments-1.6/tests/examplefiles/test.mod
#
# so a crippled tarball is used with these files removed. Steps to reproduce:
#
# tar zxf OpenColorIO-%{version}.tar.gz
# pushd OpenColorIO-%{version}/ext/
-# tar zxf Pygments-1.3.1.tar.gz
-# rm -f Pygments-1.3.1.tar.gz
-# rm -f Pygments-1.3.1/tests/examplefiles/{RegexMatcher.ns2,Sorting.mod,test.mod}
-# tar zcf Pygments-1.3.1.tar.gz Pygments-1.3.1/
-# rm -rf Pygments-1.3.1/
+# tar zxf Pygments-1.6.tar.gz
+# rm -f Pygments-1.6.tar.gz
+# rm -f Pygments-1.6/tests/examplefiles/{Sorting.mod,test.mod}
+# tar zcf Pygments-1.6.tar.gz Pygments-1.6/
+# rm -rf Pygments-1.6/
# popd
# tar zcf OpenColorIO-%{version}-crippled.tar.gz OpenColorIO-%{version}/
# rm -f OpenColorIO-%{version}.tar.gz
#
-# NOTE: In newer OpenColorIO versions, Pygments (version 1.3.1) maybe updated.
+# NOTE: In newer OpenColorIO versions, Pygments (version 1.6) maybe updated.
# In this case check if the above files' license is changed, so no crippled tarball is needed.
#####
#####
@@ -57,6 +55,7 @@
BuildRequires: gcc-c++
BuildRequires: liblcms2-devel
BuildRequires: pkg-config
+BuildRequires: python-MarkupSafe
BuildRequires: python-devel
BuildRequires: tinyxml-devel
# Use internal yaml-cpp until OpenColorIO is ported to yaml-cpp >= 0.5.0 currently in Factory
++++++ OpenColorIO-1.0.8-crippled.tar.gz -> OpenColorIO-1.0.9-crippled.tar.gz ++++++
/work/SRC/openSUSE:Factory/OpenColorIO/OpenColorIO-1.0.8-crippled.tar.gz /work/SRC/openSUSE:Factory/.OpenColorIO.new/OpenColorIO-1.0.9-crippled.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