openSUSE Commits
Threads by month
- ----- 2025 -----
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
April 2012
- 1 participants
- 941 discussions
Hello community,
here is the log from the commit of package seamonkey for openSUSE:11.4:Update checked in at 2012-04-27 14:53:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:11.4:Update/seamonkey (Old)
and /work/SRC/openSUSE:11.4:Update/.seamonkey.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "seamonkey", Maintainer is "gnome-maintainers(a)suse.de"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.MCXlsz/_old 2012-04-27 14:53:13.000000000 +0200
+++ /var/tmp/diff_new_pack.MCXlsz/_new 2012-04-27 14:53:13.000000000 +0200
@@ -1 +1 @@
-<link package='seamonkey.368' cicount='copy' />
+<link package='seamonkey.478' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package seamonkey for openSUSE:12.1:Update checked in at 2012-04-27 14:52:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.1:Update/seamonkey (Old)
and /work/SRC/openSUSE:12.1:Update/.seamonkey.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "seamonkey", Maintainer is "gnome-maintainers(a)suse.de"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.lTKlMn/_old 2012-04-27 14:52:58.000000000 +0200
+++ /var/tmp/diff_new_pack.lTKlMn/_new 2012-04-27 14:52:58.000000000 +0200
@@ -1 +1 @@
-<link package='seamonkey.368' cicount='copy' />
+<link package='seamonkey.478' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package MozillaThunderbird for openSUSE:11.4:Update checked in at 2012-04-27 14:52:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:11.4:Update/MozillaThunderbird (Old)
and /work/SRC/openSUSE:11.4:Update/.MozillaThunderbird.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaThunderbird", Maintainer is "gnome-maintainers(a)suse.de"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.7pSFDR/_old 2012-04-27 14:52:49.000000000 +0200
+++ /var/tmp/diff_new_pack.7pSFDR/_new 2012-04-27 14:52:49.000000000 +0200
@@ -1 +1 @@
-<link package='MozillaThunderbird.368' cicount='copy' />
+<link package='MozillaThunderbird.478' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package MozillaThunderbird for openSUSE:12.1:Update checked in at 2012-04-27 14:52:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.1:Update/MozillaThunderbird (Old)
and /work/SRC/openSUSE:12.1:Update/.MozillaThunderbird.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaThunderbird", Maintainer is "gnome-maintainers(a)suse.de"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.OfLtxt/_old 2012-04-27 14:52:43.000000000 +0200
+++ /var/tmp/diff_new_pack.OfLtxt/_new 2012-04-27 14:52:43.000000000 +0200
@@ -1 +1 @@
-<link package='MozillaThunderbird.431' cicount='copy' />
+<link package='MozillaThunderbird.478' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package MozillaFirefox for openSUSE:11.4:Update checked in at 2012-04-27 14:52:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:11.4:Update/MozillaFirefox (Old)
and /work/SRC/openSUSE:11.4:Update/.MozillaFirefox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox", Maintainer is "bnc-team-mozilla(a)forge.provo.novell.com"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.dO2FVV/_old 2012-04-27 14:52:39.000000000 +0200
+++ /var/tmp/diff_new_pack.dO2FVV/_new 2012-04-27 14:52:39.000000000 +0200
@@ -1 +1 @@
-<link package='MozillaFirefox.368' cicount='copy' />
+<link package='MozillaFirefox.478' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package MozillaFirefox for openSUSE:12.1:Update checked in at 2012-04-27 14:52:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.1:Update/MozillaFirefox (Old)
and /work/SRC/openSUSE:12.1:Update/.MozillaFirefox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox", Maintainer is "bnc-team-mozilla(a)forge.provo.novell.com"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.mx3oHg/_old 2012-04-27 14:52:21.000000000 +0200
+++ /var/tmp/diff_new_pack.mx3oHg/_new 2012-04-27 14:52:21.000000000 +0200
@@ -1 +1 @@
-<link package='MozillaFirefox.368' cicount='copy' />
+<link package='MozillaFirefox.478' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package xulrunner for openSUSE:12.1:Update checked in at 2012-04-27 14:52:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.1:Update/xulrunner (Old)
and /work/SRC/openSUSE:12.1:Update/.xulrunner.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xulrunner", Maintainer is "gnome-maintainers(a)suse.de"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.LY8ni2/_old 2012-04-27 14:52:16.000000000 +0200
+++ /var/tmp/diff_new_pack.LY8ni2/_new 2012-04-27 14:52:16.000000000 +0200
@@ -1 +1 @@
-<link package='xulrunner.368' cicount='copy' />
+<link package='xulrunner.478' cicount='copy' />
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package xulrunner.478 for openSUSE:12.1:Update checked in at 2012-04-27 14:51:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.1:Update/xulrunner.478 (Old)
and /work/SRC/openSUSE:12.1:Update/.xulrunner.478.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xulrunner.478", Maintainer is ""
Changes:
--------
New Changes file:
--- /dev/null 2012-04-12 17:09:43.803558694 +0200
+++ /work/SRC/openSUSE:12.1:Update/.xulrunner.478.new/xulrunner.changes 2012-04-27 14:51:54.000000000 +0200
@@ -0,0 +1,187 @@
+-------------------------------------------------------------------
+Sat Apr 21 10:03:42 UTC 2012 - wr(a)rosenauer.org
+
+- update to 12.0 (bnc#758408)
+ * rebased patches
+ * MFSA 2012-20/CVE-2012-0467/CVE-2012-0468
+ Miscellaneous memory safety hazards
+ * MFSA 2012-22/CVE-2012-0469 (bmo#738985)
+ use-after-free in IDBKeyRange
+ * MFSA 2012-23/CVE-2012-0470 (bmo#734288)
+ Invalid frees causes heap corruption in gfxImageSurface
+ * MFSA 2012-24/CVE-2012-0471 (bmo#715319)
+ Potential XSS via multibyte content processing errors
+ * MFSA 2012-25/CVE-2012-0472 (bmo#744480)
+ Potential memory corruption during font rendering using cairo-dwrite
+ * MFSA 2012-26/CVE-2012-0473 (bmo#743475)
+ WebGL.drawElements may read illegal video memory due to
+ FindMaxUshortElement error
+ * MFSA 2012-27/CVE-2012-0474 (bmo#687745, bmo#737307)
+ Page load short-circuit can lead to XSS
+ * MFSA 2012-28/CVE-2012-0475 (bmo#694576)
+ Ambiguous IPv6 in Origin headers may bypass webserver access
+ restrictions
+ * MFSA 2012-29/CVE-2012-0477 (bmo#718573)
+ Potential XSS through ISO-2022-KR/ISO-2022-CN decoding issues
+ * MFSA 2012-30/CVE-2012-0478 (bmo#727547)
+ Crash with WebGL content using textImage2D
+ * MFSA 2012-31/CVE-2011-3062 (bmo#739925)
+ Off-by-one error in OpenType Sanitizer
+ * MFSA 2012-32/CVE-2011-1187 (bmo#624621)
+ HTTP Redirections and remote content can be read by javascript errors
+ * MFSA 2012-33/CVE-2012-0479 (bmo#714631)
+ Potential site identity spoofing when loading RSS and Atom feeds
+- added mozilla-libnotify.patch to allow fallback from libnotify
+ to xul based events if no notification-daemon is running
+- gcc 4.7 fixes
+ * mozilla-gcc47.patch
+ * disabled crashreporter temporarily for Factory
+
+-------------------------------------------------------------------
+Fri Mar 9 21:49:05 UTC 2012 - wr(a)rosenauer.org
+
+- update to version 11.0 (bnc#750044)
+ * MFSA 2012-13/CVE-2012-0455 (bmo#704354)
+ XSS with Drag and Drop and Javascript: URL
+ * MFSA 2012-14/CVE-2012-0456/CVE-2012-0457 (bmo#711653, #720103)
+ SVG issues found with Address Sanitizer
+ * MFSA 2012-15/CVE-2012-0451 (bmo#717511)
+ XSS with multiple Content Security Policy headers
+ * MFSA 2012-16/CVE-2012-0458
+ Escalation of privilege with Javascript: URL as home page
+ * MFSA 2012-17/CVE-2012-0459 (bmo#723446)
+ Crash when accessing keyframe cssText after dynamic modification
+ * MFSA 2012-18/CVE-2012-0460 (bmo#727303)
+ window.fullScreen writeable by untrusted content
+ * MFSA 2012-19/CVE-2012-0461/CVE-2012-0462/CVE-2012-0464/
+ CVE-2012-0463
+ Miscellaneous memory safety hazards
+- fix build on ARM
+- disable jemalloc on s390(x)
+
+-------------------------------------------------------------------
+Thu Feb 16 08:51:42 UTC 2012 - wr(a)rosenauer.org
+
+- update to version 10.0.2 (bnc#747328)
+ * CVE-2011-3026 (bmo#727401)
+ libpng: integer overflow leading to heap-buffer overflow
+
+-------------------------------------------------------------------
+Thu Feb 9 10:20:49 UTC 2012 - wr(a)rosenauer.org
+
+- update to version 10.0.1 (bnc#746616)
+ * MFSA 2012-10/CVE-2012-0452 (bmo#724284)
+ use after free in nsXBLDocumentInfo::ReadPrototypeBindings
+
+-------------------------------------------------------------------
+Tue Feb 7 10:40:58 UTC 2012 - dvaleev(a)suse.com
+
+- Use YARR interpreter instead of PCRE on platforms where YARR JIT
+ is not supported, since PCRE doesnt build (bmo#691898)
+- fix ppc64 build (bmo#703534)
+
+-------------------------------------------------------------------
+Mon Jan 30 09:43:21 UTC 2012 - wr(a)rosenauer.org
+
+- update to version 10.0 (bnc#744275)
+ * MFSA 2012-01/CVE-2012-0442/CVE-2012-0443
+ Miscellaneous memory safety hazards
+ * MFSA 2012-03/CVE-2012-0445 (bmo#701071)
+ <iframe> element exposed across domains via name attribute
+ * MFSA 2012-04/CVE-2011-3659 (bmo#708198)
+ Child nodes from nsDOMAttribute still accessible after removal
+ of nodes
+ * MFSA 2012-05/CVE-2012-0446 (bmo#705651)
+ Frame scripts calling into untrusted objects bypass security
+ checks
+ * MFSA 2012-06/CVE-2012-0447 (bmo#710079)
+ Uninitialized memory appended when encoding icon images may
+ cause information disclosure
+ * MFSA 2012-07/CVE-2012-0444 (bmo#719612)
+ Potential Memory Corruption When Decoding Ogg Vorbis files
+ * MFSA 2012-08/CVE-2012-0449 (bmo#701806, bmo#702466)
+ Crash with malformed embedded XSLT stylesheets
+- removed obsolete ppc64 patch
+- disable neon for ARM as it doesn't build correctly
+
+-------------------------------------------------------------------
+Fri Dec 23 17:02:01 UTC 2011 - wr(a)rosenauer.org
+
+- update to Firefox 9.0.1
+ * (strongparent) parentNode of element gets lost (bmo#335998)
+
+-------------------------------------------------------------------
+Sun Dec 18 09:28:02 UTC 2011 - wr(a)rosenauer.org
+
+- update to release 9.0 (bnc#737533)
+ * MFSA 2011-53/CVE-2011-3660
+ Miscellaneous memory safety hazards (rv:9.0)
+ * MFSA 2011-54/CVE-2011-3661 (bmo#691299)
+ Potentially exploitable crash in the YARR regular expression
+ library
+ * MFSA 2011-55/CVE-2011-3658 (bmo#708186)
+ nsSVGValue out-of-bounds access
+ * MFSA 2011-56/CVE-2011-3663 (bmo#704482)
+ Key detection without JavaScript via SVG animation
+ * MFSA 2011-58/VE-2011-3665 (bmo#701259)
+ Crash scaling <video> to extreme sizes
+
+-------------------------------------------------------------------
+Sat Nov 12 15:20:49 UTC 2011 - wr(a)rosenauer.org
+
+- fix ppc64 build
+
+-------------------------------------------------------------------
+Sun Nov 6 08:23:04 UTC 2011 - wr(a)rosenauer.org
+
+- update to release 8.0 (bnc#728520)
+ * MFSA 2011-47/CVE-2011-3648 (bmo#690225)
+ Potential XSS against sites using Shift-JIS
+ * MFSA 2011-48/CVE-2011-3651/CVE-2011-3652/CVE-2011-3654
+ Miscellaneous memory safety hazards
+ * MFSA 2011-49/CVE-2011-3650 (bmo#674776)
+ Memory corruption while profiling using Firebug
+ * MFSA 2011-52/CVE-2011-3655 (bmo#672182)
+ Code execution via NoWaiverWrapper
+- rebased patches
+
+-------------------------------------------------------------------
+Fri Sep 30 10:59:54 UTC 2011 - wr(a)rosenauer.org
+
+- update to minor release 7.0.1
+ * fixed staged addon updates
+
+-------------------------------------------------------------------
+Fri Sep 23 11:36:04 UTC 2011 - wr(a)rosenauer.org
+
+- update to version 7.0 (bnc#720264)
+ * MFSA 2011-36/CVE-2011-2995/CVE-2011-2996/CVE-2011-2997
+ Miscellaneous memory safety hazards
+ * MFSA 2011-39/CVE-2011-3000 (bmo#655389)
+ Defense against multiple Location headers due to CRLF Injection
+ * MFSA 2011-40/CVE-2011-2372/CVE-2011-3001
+ Code installation through holding down Enter
+ * MFSA 2011-41/CVE-2011-3002/CVE-2011-3003 (bmo#680840, bmo#682335)
+ Potentially exploitable WebGL crashes
+ * MFSA 2011-42/CVE-2011-3232 (bmo#653672)
+ Potentially exploitable crash in the YARR regular expression
+ library
+ * MFSA 2011-43/CVE-2011-3004 (bmo#653926)
+ loadSubScript unwraps XPCNativeWrapper scope parameter
+ * MFSA 2011-44/CVE-2011-3005 (bmo#675747)
+ Use after free reading OGG headers
+ * MFSA 2011-45
+ Inferring keystrokes from motion data
+- removed obsolete mozilla-cairo-lcd.patch
+- rebased patches
+
+-------------------------------------------------------------------
+Tue Sep 20 11:54:28 UTC 2011 - wr(a)rosenauer.org
+
+- install xpt.py into SDK (mozilla-639554.patch) (bnc#639554)
+
+-------------------------------------------------------------------
+Wed Sep 14 13:07:39 UTC 2011 - wr(a)rosenauer.org
+
+- initial xulrunner package
+
New:
----
add-plugins.sh.in
baselibs.conf
compare-locales.tar.bz2
create-tar.sh
find-external-requires.sh
idldir.patch
l10n-12.0.tar.bz2
mozilla-arm-cpu-detection.patch
mozilla-dump_syms-static.patch
mozilla-gcc47.patch
mozilla-language.patch
mozilla-libnotify.patch
mozilla-linux3.patch
mozilla-nongnome-proxies.patch
mozilla-ntlm-full-path.patch
mozilla-pkgconfig.patch
mozilla-prefer_plugin_pref.patch
mozilla-revert_621446.patch
mozilla-sle11.patch
mozilla-yarr-pcre.patch
source-stamp.txt
toolkit-download-folder.patch
xulrunner-12.0-source.tar.bz2
xulrunner-openSUSE-prefs.js
xulrunner-rpmlintrc
xulrunner.changes
xulrunner.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xulrunner.spec ++++++
#
# spec file for package xulrunner
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
# 2006-2012 Wolfgang Rosenauer
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: xulrunner
BuildRequires: Mesa-devel
BuildRequires: autoconf213
BuildRequires: dbus-1-glib-devel
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: hunspell-devel
BuildRequires: libcurl-devel
BuildRequires: libgnomeui-devel
BuildRequires: libidl-devel
BuildRequires: libnotify-devel
BuildRequires: nss-shared-helper-devel
BuildRequires: pkg-config
BuildRequires: python
BuildRequires: startup-notification-devel
BuildRequires: unzip
BuildRequires: xorg-x11-libXt-devel
BuildRequires: yasm
BuildRequires: zip
%if %suse_version > 1110
BuildRequires: libiw-devel
BuildRequires: libproxy-devel
%else
BuildRequires: wireless-tools
%endif
BuildRequires: mozilla-nspr-devel >= 4.9.0
BuildRequires: mozilla-nss-devel >= 3.13.3
Version: 12.0
Release: 0
%define releasedate 2012042100
%define version_internal 12.0
%define apiversion 12
%define uaweight 1200000
Summary: Mozilla Runtime Environment
License: MPL-1.1 or GPL-2.0+ or LGPL-2.1+
Group: Productivity/Other
Url: http://www.mozilla.org/
Provides: gecko
%ifarch %ix86
Provides: xulrunner-32bit = %{version}-%{release}
%endif
Source: xulrunner-%{version}-source.tar.bz2
Source1: l10n-%{version}.tar.bz2
Source2: find-external-requires.sh
Source3: %{name}-rpmlintrc
Source4: xulrunner-openSUSE-prefs.js
Source5: add-plugins.sh.in
Source6: create-tar.sh
Source7: baselibs.conf
Source8: source-stamp.txt
Source9: compare-locales.tar.bz2
Patch1: toolkit-download-folder.patch
Patch2: mozilla-pkgconfig.patch
Patch3: idldir.patch
Patch4: mozilla-nongnome-proxies.patch
Patch5: mozilla-prefer_plugin_pref.patch
Patch9: mozilla-language.patch
Patch11: mozilla-ntlm-full-path.patch
Patch12: mozilla-dump_syms-static.patch
Patch13: mozilla-sle11.patch
Patch14: mozilla-linux3.patch
Patch15: mozilla-arm-cpu-detection.patch
Patch16: mozilla-revert_621446.patch
Patch17: mozilla-yarr-pcre.patch
Patch18: mozilla-libnotify.patch
Patch19: mozilla-gcc47.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: mozilla-js = %{version}
Requires(post): update-alternatives coreutils
Requires(preun): update-alternatives coreutils
### build configuration ###
%define has_system_nspr 1
%define has_system_nss 1
%define has_system_cairo 0
%define localize 0
%ifarch ppc ppc64 s390 s390x ia64
%define crashreporter 0
%define plugincontainer 0
%else
%define crashreporter 1
%define plugincontainer 1
%endif
# temporary (gcc 4.7)
%if %suse_version > 1210
%define crashreporter 0
%endif
### configuration end ###
%define _use_internal_dependency_generator 0
%define __find_requires sh %{SOURCE2}
%global provfind sh -c "grep -Ev 'mozsqlite3|dbusservice|unixprint' | %__find_provides"
%global __find_provides %provfind
%if %has_system_nspr
Requires: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr)
%endif
%if %has_system_nss
Requires: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss)
%endif
%description
XULRunner is a single installable package that can be used to bootstrap
multiple XUL+XPCOM applications that are as rich as Firefox and
Thunderbird.
%package -n mozilla-js
Summary: Mozilla JS engine
Group: Productivity/Other
%description -n mozilla-js
JavaScript is the Netscape-developed object scripting language used in millions
of web pages and server applications worldwide. Netscape's JavaScript is a
superset of the ECMA-262 Edition 3 (ECMAScript) standard scripting language,
with only mild differences from the published standard.
%package devel
Summary: XULRunner/Gecko SDK
Group: Development/Libraries/Other
%if %has_system_nspr
Requires: mozilla-nspr-devel >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr-devel)
%endif
%if %has_system_nss
Requires: mozilla-nss-devel >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss-devel)
%endif
Requires: %{name} = %{version}
%description devel
Software Development Kit to embed XUL or Gecko into other applications.
%if %localize
%package translations-common
Summary: Common translations for XULRunner
Group: System/Localization
Requires: %{name} = %{version}
Provides: locale(%{name}:ar;ca;cs;da;de;en_GB;es_AR;es_CL;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
Obsoletes: %{name}-translations < %{version}-%{release}
%description translations-common
XULRunner is a single installable package that can be used to bootstrap
multiple XUL+XPCOM applications that are as rich as Firefox and
Thunderbird.
This package contains the most common languages but en-US which is
delivered in the main package.
%package translations-other
Summary: Extra translations for XULRunner
Group: System/Localization
Requires: %{name} = %{version}
Provides: locale(%{name}:af;ak;as;ast;be;bg;bn_BD;bn_IN;br;bs;csb;cy;el;en_ZA;eo;es_MX;et;eu;fa;fy_NL;ga_IE;gd;gl;gu_IN;he;hi_IN;hr;hy_AM;id;is;kk;km;kn;ku;lg;lij;lt;lv;mai;mk;ml;mn;mr;nn_NO;nso;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;sw;ta;ta_LK;te;th;tr;uk;vi;zu)
Obsoletes: %{name}-translations < %{version}-%{release}
%description translations-other
XULRunner is a single installable package that can be used to bootstrap
multiple XUL+XPCOM applications that are as rich as Firefox and
Thunderbird.
This package contains rarely used languages.
%endif
%if %crashreporter
%package buildsymbols
Summary: Breakpad buildsymbols for %{name}
Group: Development/Debug
%description buildsymbols
This subpackage contains the Breakpad created and compatible debugging
symbols meant for upload to Mozilla's crash collector database.
%endif
%prep
%setup -n mozilla -q -b 1 -b 9
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch9 -p1
%patch11 -p1
%patch12 -p1
%if %suse_version < 1120
%patch13 -p1
%endif
%patch14 -p1
%patch15 -p1
%patch16 -p1
#%patch17 -p1
%patch18 -p1
%patch19 -p1
%build
# no need to add build time to binaries
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
TIME="\"$(date -d "${modified}" "+%%R")\""
find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
#
MOZ_APP_DIR=%{_libdir}/xulrunner-%{version_internal}
export MOZ_BUILD_DATE=%{releasedate}
export CFLAGS="$RPM_OPT_FLAGS -Os -fno-strict-aliasing"
%ifarch ppc64
export CFLAGS="$CFLAGS -mminimal-toc"
%endif
export CXXFLAGS="$CFLAGS"
export LDFLAGS="-Wl,-rpath -Wl,${MOZ_APP_DIR}"
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
export MOZILLA_OFFICIAL=1
export BUILD_OFFICIAL=1
export MOZ_MILESTONE_RELEASE=1
#
cat << EOF > $MOZCONFIG
mk_add_options MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZ_MILESTONE_RELEASE=1
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
. \$topsrcdir/xulrunner/config/mozconfig
ac_add_options --prefix=%{_prefix}
ac_add_options --libdir=%{_libdir}
ac_add_options --sysconfdir=%{_sysconfdir}
ac_add_options --mandir=%{_mandir}
ac_add_options --includedir=%{_includedir}
ac_add_options --enable-optimize
ac_add_options --enable-extensions=default
#ac_add_options --with-system-jpeg # mozilla uses internal libjpeg-turbo now
#ac_add_options --with-system-png # no APNG support
ac_add_options --with-system-zlib
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
ac_add_options --disable-tests
ac_add_options --disable-mochitest
ac_add_options --disable-installer
ac_add_options --disable-updater
ac_add_options --disable-javaxpcom
ac_add_options --enable-system-hunspell
ac_add_options --enable-startup-notification
ac_add_options --enable-shared-js
#ac_add_options --enable-debug
EOF
%if %suse_version > 1130
cat << EOF >> $MOZCONFIG
ac_add_options --disable-gnomevfs
ac_add_options --enable-gio
EOF
%endif
%if %has_system_nspr
cat << EOF >> $MOZCONFIG
ac_add_options --with-system-nspr
EOF
%endif
%if %has_system_nss
cat << EOF >> $MOZCONFIG
ac_add_options --with-system-nss
EOF
%endif
%if %has_system_cairo
cat << EOF >> $MOZCONFIG
ac_add_options --enable-system-cairo
EOF
%endif
%if %suse_version > 1110
cat << EOF >> $MOZCONFIG
ac_add_options --enable-libproxy
EOF
%endif
%if ! %crashreporter
cat << EOF >> $MOZCONFIG
ac_add_options --disable-crashreporter
EOF
%endif
%if ! %plugincontainer
cat << EOF >> $MOZCONFIG
ac_add_options --disable-ipc
EOF
%endif
# S/390
%ifarch s390 s390x
cat << EOF >> $MOZCONFIG
ac_add_options --disable-jemalloc
EOF
%endif
# ARM
%ifarch %arm
cat << EOF >> $MOZCONFIG
%ifarch armv7l
ac_add_options --with-arch=armv7-a
ac_add_options --with-float-abi=hard
ac_add_options --with-fpu=vfpv3-d16
ac_add_options --with-thumb=yes
%endif
%ifarch armv5tel
ac_add_options --with-arch=armv5te
ac_add_options --with-float-abi=soft
ac_add_options --with-thumb=no
%endif
EOF
%endif
make -f client.mk build
%install
cd ../obj
# preferences (to package in omni.jar)
cp %{SOURCE4} dist/bin/defaults/pref/all-openSUSE.js
%makeinstall STRIP=/bin/true
# xpt.py is not executable
chmod a+x $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/bin/*.py
# remove some executable permissions
find $RPM_BUILD_ROOT%{_includedir}/xulrunner-%{version_internal} \
-type f -perm -111 -exec chmod a-x {} \;
find $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/ \
-name "*.js" -o -name "*.xpm" -o -name "*.png" | xargs chmod a-x
mkdir -p $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/extensions
# fixing SDK dynamic libs (symlink instead of copy)
rm $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/*.so
ln -sf ../../../xulrunner-%{version_internal}/libmozjs.so \
$RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/
ln -sf ../../../xulrunner-%{version_internal}/libxpcom.so \
$RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/
ln -sf ../../../xulrunner-%{version_internal}/libxul.so \
$RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/
# include basic buildenv for xulapps to use
mkdir -p $RPM_BUILD_ROOT%{_datadir}/xulrunner-%{version_internal}
pushd ..
# this list has been compiled by trial and error for prism
tar --exclude=*.cpp --exclude=*.mm \
-cvjf $RPM_BUILD_ROOT%{_datadir}/xulrunner-%{version_internal}/mozilla-src.tar.bz2 \
mozilla/configure.in mozilla/Makefile.in mozilla/client.py mozilla/allmakefiles.sh \
mozilla/config mozilla/client.mk mozilla/aclocal.m4 mozilla/build mozilla/js/src/* \
mozilla/testing mozilla/toolkit/mozapps/installer mozilla/probes mozilla/memory \
mozilla/toolkit/xre mozilla/nsprpub/config mozilla/tools mozilla/xpcom/build
popd
# install add-plugins.sh
sed "s:%%PROGDIR:%{_libdir}/xulrunner-%{version_internal}:g" \
%{SOURCE5} > $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh
chmod 755 $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh
# ghosts
touch $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/global.reginfo
# install additional locales
%if %localize
rm -f %{_tmppath}/translations.*
touch %{_tmppath}/translations.{common,other}
for locale in $(awk '{ print $1; }' ../mozilla/browser/locales/shipped-locales); do
case $locale in
ja-JP-mac|en-US)
;;
*)
pushd $RPM_BUILD_DIR/compare-locales
PYTHONPATH=lib \
scripts/compare-locales -m ../l10n-merged/$locale \
../mozilla/toolkit/locales/l10n.ini ../l10n $locale
popd
LOCALE_MERGEDIR=$RPM_BUILD_DIR/l10n-merged/$locale \
make -C toolkit/locales langpack-$locale
cp dist/xpi-stage/locale-$locale \
$RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/extensions/langpack-$locale(a)firefox.mozilla.org
# remove prefs and profile defaults from langpack
rm -rf $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/extensions/langpack-$locale(a)firefox.mozilla.org/defaults
# check against the fixed common list and sort into the right filelist
_matched=0
for _match in ar ca cs da de en-GB es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
[ "$_match" = "$locale" ] && _matched=1
done
[ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other
echo %{_libdir}/xulrunner-%{version_internal}/extensions/langpack-$locale(a)firefox.mozilla.org \ \
>> %{_tmppath}/translations.$_l10ntarget
esac
done
%endif
# API symlink
ln -sf xulrunner-%{version_internal} $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{apiversion}
# compat links
%if 0%{?ga_version:1}
touch $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{ga_version}
%endif
# excludes
%if %suse_version < 1120
rm -f $RPM_BUILD_ROOT%{_bindir}/xulrunner
%endif
rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/updater
rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/update.locale
rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/LICENSE
rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/README.txt
rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/dictionaries/en-US*
rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/nspr-config
rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/mozilla-plugin.pc
# fdupes
%fdupes $RPM_BUILD_ROOT%{_includedir}/xulrunner-%{version_internal}/
%fdupes $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/
# create breakpad debugsymbols
%if %crashreporter
SYMBOLS_NAME="xulrunner-%{version}-%{release}.%{_arch}-%{suse_version}-symbols"
make buildsymbols \
SYMBOL_INDEX_NAME="$SYMBOLS_NAME.txt" \
SYMBOL_FULL_ARCHIVE_BASENAME="$SYMBOLS_NAME-full" \
SYMBOL_ARCHIVE_BASENAME="$SYMBOLS_NAME"
if [ -e dist/*symbols.zip ]; then
mkdir -p $RPM_BUILD_ROOT%{_datadir}/mozilla/
cp dist/*symbols.zip $RPM_BUILD_ROOT%{_datadir}/mozilla/
fi
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%if %localize
rm -rf %{_tmppath}/translations.*
%endif
%post
/usr/sbin/update-alternatives --install %{_bindir}/xulrunner \
xulrunner %{_libdir}/xulrunner-%{apiversion}/xulrunner %{uaweight} || :
%{_libdir}/xulrunner-%{apiversion}/add-plugins.sh > /dev/null 2>&1
exit 0
%posttrans
# needed for updates which transition directory to symlink
%if 0%{?ga_version:1}
test -d %{_libdir}/xulrunner-%{ga_version} && rm -rf %{_libdir}/xulrunner-%{ga_version}
ln -sf xulrunner-%{version_internal} %{_libdir}/xulrunner-%{ga_version}
%endif
[ -e %{_libdir}/xulrunner-%{version_internal}/add-plugins.sh ] && \
%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh > /dev/null 2>&1
exit 0
%preun
if [ "$1" = "0" ]; then # deinstallation
# that's not quite nice since old versions should be removed on update as well
# but that's problematic for updates w/o raising the version number
/usr/sbin/update-alternatives --remove xulrunner %{_libdir}/xulrunner-%{apiversion}/xulrunner
fi
rm -f %{_libdir}/xulrunner-%{version_internal}/dictionaries/*
exit 0
%triggerin -- myspell-dictionary
%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh > /dev/null 2>&1
exit 0
%triggerpostun -- myspell-dictionary
%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh > /dev/null 2>&1
exit 0
%files
%defattr(-,root,root)
%dir %{_libdir}/xulrunner-%{version_internal}/
%dir %{_libdir}/xulrunner-%{version_internal}/chrome/
%dir %{_libdir}/xulrunner-%{version_internal}/dictionaries/
%dir %{_libdir}/xulrunner-%{version_internal}/extensions/
%{_libdir}/xulrunner-%{version_internal}/chrome/icons/
%{_libdir}/xulrunner-%{version_internal}/components/
%{_libdir}/xulrunner-%{version_internal}/plugins/
%{_libdir}/xulrunner-%{version_internal}/*.so
%exclude %{_libdir}/xulrunner-%{version_internal}/libmozjs.so
%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh
%{_libdir}/xulrunner-%{version_internal}/chrome.manifest
%{_libdir}/xulrunner-%{version_internal}/dependentlibs.list
%{_libdir}/xulrunner-%{version_internal}/mozilla-xremote-client
%if %plugincontainer
%{_libdir}/xulrunner-%{version_internal}/plugin-container
%endif
%{_libdir}/xulrunner-%{version_internal}/run-mozilla.sh
%{_libdir}/xulrunner-%{version_internal}/xulrunner
%{_libdir}/xulrunner-%{version_internal}/xulrunner-bin
%{_libdir}/xulrunner-%{version_internal}/xulrunner-stub
%{_libdir}/xulrunner-%{version_internal}/platform.ini
%{_libdir}/xulrunner-%{version_internal}/omni.ja
# crashreporter files
%if %crashreporter
%{_libdir}/xulrunner-%{version_internal}/crashreporter
%{_libdir}/xulrunner-%{version_internal}/crashreporter.ini
%{_libdir}/xulrunner-%{version_internal}/Throbber-small.gif
%endif
# ghosts
%ghost %{_libdir}/xulrunner-%{version_internal}/global.reginfo
%if %suse_version >= 1120
%ghost %{_bindir}/xulrunner
%endif
# API symlink (already in mozilla-js)
#%{_libdir}/xulrunner-%{apiversion}
# compat symlinks
%if 0%{?ga_version:1}
%ghost %{_libdir}/xulrunner-%{ga_version}
%endif
%files -n mozilla-js
%defattr(-,root,root)
%dir %{_libdir}/xulrunner-%{version_internal}/
%{_libdir}/xulrunner-%{apiversion}
%{_libdir}/xulrunner-%{version_internal}/libmozjs.so
%files devel
%defattr(-,root,root)
%{_libdir}/xulrunner-%{version_internal}/xpcshell
%{_libdir}/xulrunner-devel-%{version_internal}/
# FIXME symlink dynamic libs below sdk/lib
%attr(644,root,root) %{_libdir}/pkgconfig/*
%{_includedir}/xulrunner-%{version_internal}/
%{_datadir}/xulrunner-%{version_internal}/
%if %localize
%files translations-common -f %{_tmppath}/translations.common
%defattr(-,root,root)
%dir %{_libdir}/xulrunner-%{version_internal}/
%dir %{_libdir}/xulrunner-%{version_internal}/chrome/
%files translations-other -f %{_tmppath}/translations.other
%defattr(-,root,root)
%dir %{_libdir}/xulrunner-%{version_internal}/
%dir %{_libdir}/xulrunner-%{version_internal}/chrome/
%endif
%if %crashreporter
%files buildsymbols
%defattr(-,root,root)
%{_datadir}/mozilla/
%endif
%changelog
++++++ add-plugins.sh.in ++++++
#! /bin/sh
# Copyright (c) 2008 Wolfgang Rosenauer. All rights reserved.
#
# check if we are started as root
# only one of UID and USER must be set correctly
if test "$UID" != 0 -a "$USER" != root; then
echo "You must be root to start $0."
exit 1
fi
PREFIX="%PROGDIR"
# dictionaries
MYSPELL=/usr/share/myspell
MOZ_SPELL=$PREFIX/dictionaries
if [ -d $MOZ_SPELL ] ; then
if [ -d $MYSPELL ] ; then
for dict in $MYSPELL/??[-_]??.aff ; do
# check is it is really the file or it is a string which contain '??_??'
if ! [ -e $dict ] ; then
continue
fi
# the dict file name
dict_file=`echo ${dict##*/}`
# the dict file has a valid name
lang=`echo ${dict_file:0:2}`
country=`echo ${dict_file:3:2}`
# check for .dic file
if [ ! -r $MYSPELL/${lang}[-_]${country}.dic ] ; then
continue
fi
# create links
if [ ! -r $MOZ_SPELL/${lang}[-_]${country}.aff ] ; then
ln -sf $MYSPELL/${lang}[-_]${country}.aff \
$MOZ_SPELL/${lang}-${country}.aff
fi
if [ ! -r $MOZ_SPELL/${lang}[-_]${country}.dic ] ; then
ln -sf $MYSPELL/${lang}[-_]${country}.dic \
$MOZ_SPELL/${lang}-${country}.dic
fi
done
echo "-> added myspell dictionaries"
fi
# remove broken links
for dict in $MOZ_SPELL/*.{aff,dic} ; do
if ! [ -r $dict ] ; then
rm -f $dict
fi
done
fi
++++++ baselibs.conf ++++++
xulrunner
+/usr/lib(64)?/xulrunner-.*
+/etc/gre.d/.*
requires "mozilla-js-<targettype>"
mozilla-js
xulrunner-translations-common
+/usr/lib(64)?/xulrunner-.*
requires "xulrunner-<targettype> = <version>"
supplements "packageand(xulrunner-translations-common:xulrunner-<targettype>)"
xulrunner-translations-other
+/usr/lib(64)?/xulrunner-.*
requires "xulrunner-<targettype> = <version>"
supplements "packageand(xulrunner-translations-other:xulrunner-<targettype>)"
++++++ create-tar.sh ++++++
#!/bin/bash
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
RELEASE_TAG="FIREFOX_12_0_RELEASE"
VERSION="12.0"
# mozilla
hg clone http://hg.mozilla.org/$BRANCH mozilla
pushd mozilla
[ "$RELEASE_TAG" == "default" ] || hg update -r $RELEASE_TAG
# get repo and source stamp
echo -n "REV=" > ../source-stamp.txt
hg -R . parent --template="{node|short}\n" >> ../source-stamp.txt
echo -n "REPO=" >> ../source-stamp.txt
hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" >> ../source-stamp.txt
popd
tar cjf xulrunner-$VERSION-source.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS mozilla
# l10n
test ! -d l10n && mkdir l10n
for locale in $(awk '{ print $1; }' mozilla/browser/locales/shipped-locales); do
case $locale in
ja-JP-mac|en-US)
;;
*)
hg clone http://hg.mozilla.org/releases/l10n/mozilla-$CHANNEL/$locale l10n/$locale
[ "$RELEASE_TAG" == "default" ] || hg -R l10n/$locale up -C -r $RELEASE_TAG
;;
esac
done
tar cjf l10n-$VERSION.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg l10n
# compare-locales
hg clone http://hg.mozilla.org/build/compare-locales
tar cjf compare-locales.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg compare-locales
++++++ find-external-requires.sh ++++++
#!/bin/sh
# Finds requirements provided outside of the current file set
filelist=$( sed "s/[]['\"*?{}]/\\\\\&/g" )
provides=$( echo "$filelist" | /usr/lib/rpm/find-provides )
echo "$filelist" \
| /usr/lib/rpm/find-requires \
| grep -F -v "$provides" \
| sort -u
++++++ idldir.patch ++++++
From: Wolfgang Rosenauer <stark(a)suse.de>
Subject: fix IDL installation dir
This is only needed to get the correct path in xulrunner-config
Index: config/autoconf.mk.in
===================================================================
RCS file: /cvsroot/mozilla/config/autoconf.mk.in,v
retrieving revision 3.449
diff -u -r3.449 autoconf.mk.in
--- config/autoconf.mk.in 16 Feb 2008 22:23:08 -0000 3.449
+++ b/config/autoconf.mk.in 19 Feb 2008 14:07:13 -0000
@@ -62,7 +62,7 @@
libdir = @libdir@
datadir = @datadir@
mandir = @mandir@
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+idldir = $(includedir)
installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
++++++ mozilla-arm-cpu-detection.patch ++++++
# HG changeset patch
# Parent 80b3a069c028690886ade5fdeb0f5d8b435ea368
diff --git a/xpcom/glue/objs.mk b/xpcom/glue/objs.mk
--- a/xpcom/glue/objs.mk
+++ b/xpcom/glue/objs.mk
@@ -71,13 +71,13 @@ XPCOM_GLUENS_SRC_LCPPSRCS = \
SSE.cpp \
unused.cpp \
nsProxyRelease.cpp \
nsTextFormatter.cpp \
GenericFactory.cpp \
FileUtils.cpp \
$(NULL)
-ifeq (arm,$(TARGET_CPU))
+ifneq (,$(filter arm%,$(TARGET_CPU)))
XPCOM_GLUENS_SRC_LCPPSRCS += arm.cpp
endif
XPCOM_GLUENS_SRC_CPPSRCS = $(addprefix $(topsrcdir)/xpcom/glue/,$(XPCOM_GLUENS_SRC_LCPPSRCS))
++++++ mozilla-dump_syms-static.patch ++++++
# HG changeset patch
# Parent 364802dc5df3b480143a54d318ceef74f32453fb
NO-BUG: Ignore a hack which is not needed in distribution build environments.
diff --git a/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in b/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
--- a/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
+++ b/toolkit/crashreporter/google-breakpad/src/tools/linux/dump_syms/Makefile.in
@@ -58,11 +58,11 @@ HOST_LIBS += \
$(DEPTH)/toolkit/crashreporter/google-breakpad/src/common/dwarf/$(LIB_PREFIX)host_breakpad_dwarf_s.$(LIB_SUFFIX) \
$(NULL)
# force C++ linking
CPP_PROG_LINK = 1
#XXX: bug 554854 causes us to be unable to run binaries on the build slaves
# due to them having an older libstdc++
-HOST_LDFLAGS += -static
+#HOST_LDFLAGS += -static
include $(topsrcdir)/config/rules.mk
++++++ mozilla-gcc47.patch ++++++
# HG changeset patch
# Parent debab900e37fdd4f8981c06beef6f193a04bd2b7
Patch to make Mozilla build with gcc 4.7, including
- Bug 725655 - gcc 4.7 build failures (missing headers) (TM: Mozilla13)
- Bug 734490 - "no viable overloaded 'PRIxPTR'" when building with Clang or GCC 4.7 (TM: Mozilla14)
diff --git a/ipc/chromium/src/base/file_util_linux.cc b/ipc/chromium/src/base/file_util_linux.cc
--- a/ipc/chromium/src/base/file_util_linux.cc
+++ b/ipc/chromium/src/base/file_util_linux.cc
@@ -1,15 +1,18 @@
// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/file_util.h"
#include <fcntl.h>
+#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
+#endif
#include <string>
#include <vector>
#include "base/eintr_wrapper.h"
#include "base/file_path.h"
#include "base/string_util.h"
diff --git a/ipc/chromium/src/base/message_pump_libevent.cc b/ipc/chromium/src/base/message_pump_libevent.cc
--- a/ipc/chromium/src/base/message_pump_libevent.cc
+++ b/ipc/chromium/src/base/message_pump_libevent.cc
@@ -1,16 +1,19 @@
// Copyright (c) 2008 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/message_pump_libevent.h"
#include <errno.h>
#include <fcntl.h>
+#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
+#endif
#include "eintr_wrapper.h"
#include "base/logging.h"
#include "base/scoped_nsautorelease_pool.h"
#include "base/scoped_ptr.h"
#include "base/time.h"
#include "third_party/libevent/event.h"
diff --git a/ipc/chromium/src/base/time_posix.cc b/ipc/chromium/src/base/time_posix.cc
--- a/ipc/chromium/src/base/time_posix.cc
+++ b/ipc/chromium/src/base/time_posix.cc
@@ -8,16 +8,19 @@
#include <mach/mach_time.h>
#endif
#include <sys/time.h>
#ifdef ANDROID
#include <time64.h>
#else
#include <time.h>
#endif
+#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
+#endif
#include <limits>
#include "base/basictypes.h"
#include "base/logging.h"
namespace base {
diff --git a/layout/base/tests/TestPoisonArea.cpp b/layout/base/tests/TestPoisonArea.cpp
--- a/layout/base/tests/TestPoisonArea.cpp
+++ b/layout/base/tests/TestPoisonArea.cpp
@@ -392,53 +392,53 @@ ReservePoisonArea()
{
if (sizeof(uintptr_t) == 8) {
// Use the hardware-inaccessible region.
// We have to avoid 64-bit constants and shifts by 32 bits, since this
// code is compiled in 32-bit mode, although it is never executed there.
uintptr_t result = (((uintptr_t(0x7FFFFFFFu) << 31) << 1 |
uintptr_t(0xF0DEAFFFu)) &
~uintptr_t(PAGESIZE-1));
- printf("INFO | poison area assumed at 0x%.*"PRIxPTR"\n", SIZxPTR, result);
+ printf("INFO | poison area assumed at 0x%.*" PRIxPTR "\n", SIZxPTR, result);
return result;
} else {
// First see if we can allocate the preferred poison address from the OS.
uintptr_t candidate = (0xF0DEAFFF & ~(PAGESIZE-1));
void *result = ReserveRegion(candidate, false);
if (result == (void *)candidate) {
// success - inaccessible page allocated
- printf("INFO | poison area allocated at 0x%.*"PRIxPTR
+ printf("INFO | poison area allocated at 0x%.*" PRIxPTR
" (preferred addr)\n", SIZxPTR, (uintptr_t)result);
return candidate;
}
// That didn't work, so see if the preferred address is within a range
// of permanently inacessible memory.
if (ProbeRegion(candidate)) {
// success - selected page cannot be usable memory
if (result != MAP_FAILED)
ReleaseRegion(result);
- printf("INFO | poison area assumed at 0x%.*"PRIxPTR
+ printf("INFO | poison area assumed at 0x%.*" PRIxPTR
" (preferred addr)\n", SIZxPTR, candidate);
return candidate;
}
// The preferred address is already in use. Did the OS give us a
// consolation prize?
if (result != MAP_FAILED) {
- printf("INFO | poison area allocated at 0x%.*"PRIxPTR
+ printf("INFO | poison area allocated at 0x%.*" PRIxPTR
" (consolation prize)\n", SIZxPTR, (uintptr_t)result);
return (uintptr_t)result;
}
// It didn't, so try to allocate again, without any constraint on
// the address.
result = ReserveRegion(0, false);
if (result != MAP_FAILED) {
- printf("INFO | poison area allocated at 0x%.*"PRIxPTR
+ printf("INFO | poison area allocated at 0x%.*" PRIxPTR
" (fallback)\n", SIZxPTR, (uintptr_t)result);
return (uintptr_t)result;
}
printf("ERROR | no usable poison area found\n");
return 0;
}
}
@@ -450,17 +450,17 @@ static uintptr_t
ReservePositiveControl()
{
void *result = ReserveRegion(0, false);
if (result == MAP_FAILED) {
printf("ERROR | allocating positive control | %s\n", LastErrMsg());
return 0;
}
- printf("INFO | positive control allocated at 0x%.*"PRIxPTR"\n",
+ printf("INFO | positive control allocated at 0x%.*" PRIxPTR "\n",
SIZxPTR, (uintptr_t)result);
return (uintptr_t)result;
}
/* The "negative control" area confirms that our probe logic does detect a
* page that is readable, writable, or executable.
*/
static uintptr_t
@@ -481,17 +481,17 @@ ReserveNegativeControl()
// Now mark it executable as well as readable and writable.
// (mmap(PROT_EXEC) may fail when applied to anonymous memory.)
if (MakeRegionExecutable(result)) {
printf("ERROR | making negative control executable | %s\n", LastErrMsg());
return 0;
}
- printf("INFO | negative control allocated at 0x%.*"PRIxPTR"\n",
+ printf("INFO | negative control allocated at 0x%.*" PRIxPTR "\n",
SIZxPTR, (uintptr_t)result);
return (uintptr_t)result;
}
static void
JumpTo(uintptr_t opaddr)
{
#ifdef __ia64
++++++ mozilla-language.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <wr(a)rosenauer.org>
# Parent 0d6917b8f28f6e0398dbf329dda4932ba4f997c2
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleService.cpp
--- a/intl/locale/src/nsLocaleService.cpp
+++ b/intl/locale/src/nsLocaleService.cpp
@@ -160,16 +160,17 @@ nsLocaleService::nsLocaleService(void)
nsRefPtr<nsLocale> resultLocale(new nsLocale());
NS_ENSURE_TRUE(resultLocale, );
#ifdef MOZ_WIDGET_QT
const char* lang = QLocale::system().name().toAscii();
#else
// Get system configuration
const char* lang = getenv("LANG");
+ const char* language = getenv("LANGUAGE");
#endif
nsAutoString xpLocale, platformLocale;
nsAutoString category, category_platform;
int i;
for( i = 0; i < LocaleListLength; i++ ) {
nsresult result;
@@ -188,16 +189,21 @@ nsLocaleService::nsLocaleService(void)
} else {
CopyASCIItoUTF16(lang, platformLocale);
result = nsPosixLocale::GetXPLocale(lang, xpLocale);
}
}
if (NS_FAILED(result)) {
return;
}
+ // LANGUAGE is overriding LC_MESSAGES
+ if (i == LC_MESSAGES && language && *language) {
+ CopyASCIItoUTF16(language, platformLocale);
+ result = nsPosixLocale::GetXPLocale(language, xpLocale);
+ }
resultLocale->AddCategory(category, xpLocale);
resultLocale->AddCategory(category_platform, platformLocale);
}
mSystemLocale = do_QueryInterface(resultLocale);
mApplicationLocale = do_QueryInterface(resultLocale);
#endif // XP_UNIX
#ifdef XP_OS2
++++++ mozilla-libnotify.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <wr(a)rosenauer.org>
# Parent c684863b1eb3bcae92ef24bc2ac511985b1ad7e4
Bug 737646 - no biff notification if notification-daemon not running
diff --git a/toolkit/system/gnome/nsAlertsIconListener.cpp b/toolkit/system/gnome/nsAlertsIconListener.cpp
--- a/toolkit/system/gnome/nsAlertsIconListener.cpp
+++ b/toolkit/system/gnome/nsAlertsIconListener.cpp
@@ -47,16 +47,17 @@
#include <gdk/gdk.h>
// Compatibility macro for <libnotify-0.7
#ifndef NOTIFY_CHECK_VERSION
#define NOTIFY_CHECK_VERSION(x,y,z) 0
#endif
static bool gHasActions = false;
+static bool gHasCaps = false;
static void notify_action_cb(NotifyNotification *notification,
gchar *action, gpointer user_data)
{
nsAlertsIconListener* alert = static_cast<nsAlertsIconListener*> (user_data);
alert->SendCallback();
}
@@ -338,27 +339,34 @@ nsAlertsIconListener::InitAlertAsync(con
appShortName.AssignLiteral("Mozilla");
}
if (!notify_init(appShortName.get()))
return NS_ERROR_FAILURE;
GList *server_caps = notify_get_server_caps();
if (server_caps) {
+ gHasCaps = true;
for (GList* cap = server_caps; cap != NULL; cap = cap->next) {
if (!strcmp((char*) cap->data, "actions")) {
gHasActions = true;
break;
}
}
g_list_foreach(server_caps, (GFunc)g_free, NULL);
g_list_free(server_caps);
}
}
+ if (!gHasCaps) {
+ // if notify_get_server_caps() failed above we need to assume
+ // there is no notification-server to display anything
+ return NS_ERROR_FAILURE;
+ }
+
if (!gHasActions && aAlertTextClickable)
return NS_ERROR_FAILURE; // No good, fallback to XUL
nsCOMPtr<nsIObserverService> obsServ =
do_GetService("@mozilla.org/observer-service;1");
if (obsServ)
obsServ->AddObserver(this, "quit-application", true);
++++++ mozilla-linux3.patch ++++++
# HG changeset patch
# Parent bf7c3e1c6174630743f9f94808c4dd3a2edc0c6b
diff --git a/toolkit/crashreporter/tools/symbolstore.py b/toolkit/crashreporter/tools/symbolstore.py
--- a/toolkit/crashreporter/tools/symbolstore.py
+++ b/toolkit/crashreporter/tools/symbolstore.py
@@ -376,16 +376,17 @@ def GetVCSFilename(file, srcdirs):
return (file.replace("\\", "/"), root)
def GetPlatformSpecificDumper(**kwargs):
"""This function simply returns a instance of a subclass of Dumper
that is appropriate for the current platform."""
return {'win32': Dumper_Win32,
'cygwin': Dumper_Win32,
'linux2': Dumper_Linux,
+ 'linux3': Dumper_Linux,
'sunos5': Dumper_Solaris,
'darwin': Dumper_Mac}[sys.platform](**kwargs)
def SourceIndex(fileStream, outputPath, vcs_root):
"""Takes a list of files, writes info to a data block in a .stream file"""
# Creates a .pdb.stream file in the mozilla\objdir to be used for source indexing
# Create the srcsrv data block that indexes the pdb file
result = True
++++++ mozilla-nongnome-proxies.patch ++++++
From: Wolfgang Rosenauer
Subject: Do not use gconf for proxy settings if not running within Gnome
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
===================================================================
RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
retrieving revision 1.1
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
@@ -71,18 +71,24 @@ private:
nsresult SetProxyResultFromGSettings(const char* aKeyBase, const char* aType, nsACString& aResult);
};
NS_IMPL_ISUPPORTS1(nsUnixSystemProxySettings, nsISystemProxySettings)
nsresult
nsUnixSystemProxySettings::Init()
{
- mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
+ // If this is a GNOME session, load gconf and try to use its preferences.
+ // If gconf is not available (which would be stupid) we'll proceed as if
+ // this was not a GNOME session, using *_PROXY environment variables.
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
+ if (sessionType && !strcmp(sessionType, "gnome")) {
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
+ }
return NS_OK;
}
bool
nsUnixSystemProxySettings::IsProxyMode(const char* aMode)
{
nsCAutoString mode;
return NS_SUCCEEDED(mGConf->GetString(NS_LITERAL_CSTRING("/system/proxy/mode"), mode)) &&
++++++ mozilla-ntlm-full-path.patch ++++++
# HG changeset patch
# User Petr Cerny <pcerny(a)novell.com>
# Parent a843037ea4cee813a68dd529e7a503d1e40b81e4
Bug 634334 - call to the ntlm_auth helper fails
diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp
--- a/extensions/auth/nsAuthSambaNTLM.cpp
+++ b/extensions/auth/nsAuthSambaNTLM.cpp
@@ -200,17 +200,17 @@ static PRUint8* ExtractMessage(const nsA
nsresult
nsAuthSambaNTLM::SpawnNTLMAuthHelper()
{
const char* username = PR_GetEnv("USER");
if (!username)
return NS_ERROR_FAILURE;
char* args[] = {
- "ntlm_auth",
+ "/usr/bin/ntlm_auth",
"--helper-protocol", "ntlmssp-client-1",
"--use-cached-creds",
"--username", const_cast<char*>(username),
nsnull
};
bool isOK = SpawnIOChild(args, &mChildPID, &mFromChildFD, &mToChildFD);
if (!isOK)
++++++ mozilla-pkgconfig.patch ++++++
From: Wolfgang Rosenauer
Subject: pkgconfig tuning
diff --git a/xulrunner/installer/Makefile.in b/xulrunner/installer/Makefile.in
--- a/xulrunner/installer/Makefile.in
+++ b/xulrunner/installer/Makefile.in
@@ -69,16 +69,19 @@ ifndef MOZ_PLATFORM_MAEMO
GENERATE_CACHE = 1
endif
include $(topsrcdir)/toolkit/mozapps/installer/signing.mk
include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
# Add pkg-config files to the install:: target
+# the apilibdir always ends with 1.9 as every patch update will provide a link
+apilibdir = $(dir $(installdir))xulrunner-12
+
pkg_config_files = \
libxul.pc \
libxul-embedding.pc \
mozilla-js.pc \
mozilla-plugin.pc \
$(NULL)
ifdef MOZ_NATIVE_NSPR
@@ -106,16 +109,17 @@ pkg_config_files += mozilla-nss.pc
endif
%.pc: $(srcdir)/%.pc.in $(GLOBAL_DEPS)
cat $< | sed \
-e "s|%prefix%|$(prefix)|" \
-e "s|%includedir%|$(includedir)|" \
-e "s|%idldir%|$(idldir)|" \
-e "s|%sdkdir%|$(sdkdir)|" \
+ -e "s|%libdir%|$(apilibdir)|" \
-e "s|%MOZ_APP_NAME%|$(MOZ_APP_NAME)|" \
-e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \
-e "s|%WCHAR_CFLAGS%|$(WCHAR_CFLAGS)|" \
-e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \
-e "s|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|" \
-e "s|%NSPR_NAME%|$(NSPR_NAME)|" \
-e "s|%NSPR_VERSION%|$(NSPR_VERSION)|" \
-e "s|%MOZ_XUL_LINK%|$(MOZ_XUL_LINK)|" \
diff --git a/xulrunner/installer/libxul-embedding.pc.in b/xulrunner/installer/libxul-embedding.pc.in
--- a/xulrunner/installer/libxul-embedding.pc.in
+++ b/xulrunner/installer/libxul-embedding.pc.in
@@ -1,10 +1,11 @@
prefix=%prefix%
sdkdir=%sdkdir%
includedir=%includedir%
idldir=%idldir%
Name: libxul-embedding
Description: Static library for version-independent embedding of the Mozilla runtime
Version: %MOZILLA_VERSION%
-Libs: -L${sdkdir}/lib -lxpcomglue -ldl
+Requires: %NSPR_NAME% >= %NSPR_VERSION%
+Libs: -L${sdkdir}/sdk/lib -lxpcomglue -ldl
Cflags: -DXPCOM_GLUE -I${includedir} %WCHAR_CFLAGS%
diff --git a/xulrunner/installer/libxul.pc.in b/xulrunner/installer/libxul.pc.in
--- a/xulrunner/installer/libxul.pc.in
+++ b/xulrunner/installer/libxul.pc.in
@@ -1,10 +1,11 @@
prefix=%prefix%
sdkdir=%sdkdir%
+libdir=%libdir%
includedir=%includedir%
idldir=%idldir%
Name: libxul
Description: The Mozilla Runtime and Embedding Engine
Version: %MOZILLA_VERSION%
Requires: %NSPR_NAME% >= %NSPR_VERSION%
Libs: -L${sdkdir}/lib %MOZ_XUL_LINK%
diff --git a/xulrunner/installer/mozilla-js.pc.in b/xulrunner/installer/mozilla-js.pc.in
--- a/xulrunner/installer/mozilla-js.pc.in
+++ b/xulrunner/installer/mozilla-js.pc.in
@@ -1,10 +1,11 @@
prefix=%prefix%
sdkdir=%sdkdir%
+libdir=%libdir%
includedir=%includedir%
Name: JavaScript
Description: The Mozilla JavaScript Library
Version: %MOZILLA_VERSION%
Requires: %NSPR_NAME% >= %NSPR_VERSION%
-Libs: -L${sdkdir}/lib %MOZ_JS_LINK%
+Libs: -Wl,-rpath,${libdir} -L${sdkdir}/lib %MOZ_JS_LINK%
Cflags: -I${includedir} -DXP_UNIX -DJS_THREADSAFE
++++++ mozilla-prefer_plugin_pref.patch ++++++
From: Ubuntu
Subject: introduce a pref to prefer certain plugins for mime-types
diff --git a/dom/plugins/base/nsPluginHost.cpp b/dom/plugins/base/nsPluginHost.cpp
--- a/dom/plugins/base/nsPluginHost.cpp
+++ b/dom/plugins/base/nsPluginHost.cpp
@@ -1580,17 +1580,48 @@ nsPluginHost::FindPluginForType(const ch
bool aCheckEnabled)
{
if (!aMimeType) {
return nsnull;
}
LoadPlugins();
+ nsresult res;
+ nsCOMPtr<nsIPrefBranch> prefB (do_QueryInterface(mPrefService));
+
+ char *preferredPluginPath = NULL;
+ nsCAutoString mimetypePrefString ("modules.plugins.mimetype.");
+ mimetypePrefString.Append(aMimeType);
+ const char *mimetypePrefChar = mimetypePrefString.get();
+ res = prefB->GetCharPref(mimetypePrefChar, &preferredPluginPath);
+
+ if(!NS_SUCCEEDED(res)) preferredPluginPath = NULL;
+
nsPluginTag *plugin = mPlugins;
+ if(preferredPluginPath) {
+ while (nsnull != plugin) {
+ if (0 == PL_strcasecmp(plugin->mFileName.get(), preferredPluginPath) ||
+ 0 == PL_strcasecmp(plugin->mFullPath.get(), preferredPluginPath)) {
+ return plugin;
+ }
+ plugin = plugin->mNext;
+ }
+
+ // now lets search for substrings
+ plugin = mPlugins;
+ while (nsnull != plugin) {
+ if (nsnull != PL_strstr(plugin->mFileName.get(), preferredPluginPath) ||
+ nsnull != PL_strstr(plugin->mFullPath.get(), preferredPluginPath)) {
+ return plugin;
+ }
+ plugin = plugin->mNext;
+ }
+ }
+
while (plugin) {
if (!aCheckEnabled || plugin->IsEnabled()) {
PRInt32 mimeCount = plugin->mMimeTypes.Length();
for (PRInt32 i = 0; i < mimeCount; i++) {
if (0 == PL_strcasecmp(plugin->mMimeTypes[i].get(), aMimeType)) {
return plugin;
}
}
++++++ mozilla-revert_621446.patch ++++++
# HG changeset patch
# Parent 8da41a2cee774ce4d00b9ac1032a495b8bc560a0
Revert investigation patch for bmo#621446; as it is useless on desktop and breaks the build for certain compilers
diff --git a/netwerk/protocol/http/HttpChannelParent.cpp b/netwerk/protocol/http/HttpChannelParent.cpp
--- a/netwerk/protocol/http/HttpChannelParent.cpp
+++ b/netwerk/protocol/http/HttpChannelParent.cpp
@@ -52,29 +52,25 @@
#include "nsIBadCertListener2.h"
#include "nsICacheEntryDescriptor.h"
#include "nsSerializationHelper.h"
#include "nsISerializable.h"
#include "nsIAssociatedContentSecurity.h"
#include "nsIApplicationCacheService.h"
#include "nsIOfflineCacheUpdate.h"
#include "nsIRedirectChannelRegistrar.h"
-#include "prinit.h"
namespace mozilla {
namespace net {
HttpChannelParent::HttpChannelParent(PBrowserParent* iframeEmbedding)
: mIPCClosed(false)
, mStoredStatus(0)
, mStoredProgress(0)
, mStoredProgressMax(0)
- , mSentRedirect1Begin(false)
- , mSentRedirect1BeginFailed(false)
- , mReceivedRedirect2Verify(false)
{
// Ensure gHttpHandler is initialized: we need the atom table up and running.
nsIHttpProtocolHandler* handler;
CallGetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &handler);
NS_ASSERTION(handler, "no http handler");
mTabParent = do_QueryObject(static_cast<TabParent*>(iframeEmbedding));
}
@@ -326,21 +322,16 @@ HttpChannelParent::RecvUpdateAssociatedC
mAssociatedContentSecurity->SetCountSubRequestsHighSecurity(high);
mAssociatedContentSecurity->SetCountSubRequestsLowSecurity(low);
mAssociatedContentSecurity->SetCountSubRequestsBrokenSecurity(broken);
mAssociatedContentSecurity->SetCountSubRequestsNoSecurity(no);
}
return true;
}
-// Bug 621446 investigation, we don't want conditional PR_Aborts bellow to be
-// merged to a single address.
-#pragma warning(disable : 4068)
-#pragma GCC optimize ("O0")
-
bool
HttpChannelParent::RecvRedirect2Verify(const nsresult& result,
const RequestHeaderTuples& changedHeaders)
{
if (NS_SUCCEEDED(result)) {
nsCOMPtr<nsIHttpChannel> newHttpChannel =
do_QueryInterface(mRedirectChannel);
@@ -348,40 +339,21 @@ HttpChannelParent::RecvRedirect2Verify(c
for (PRUint32 i = 0; i < changedHeaders.Length(); i++) {
newHttpChannel->SetRequestHeader(changedHeaders[i].mHeader,
changedHeaders[i].mValue,
changedHeaders[i].mMerge);
}
}
}
- if (!mRedirectCallback) {
- // Bug 621446 investigation (optimization turned off above)
- if (mReceivedRedirect2Verify)
- NS_RUNTIMEABORT("Duplicate fire");
- if (mSentRedirect1BeginFailed)
- NS_RUNTIMEABORT("Send to child failed");
- if (mSentRedirect1Begin && NS_FAILED(result))
- NS_RUNTIMEABORT("Redirect failed");
- if (mSentRedirect1Begin && NS_SUCCEEDED(result))
- NS_RUNTIMEABORT("Redirect succeeded");
- if (!mRedirectChannel)
- NS_RUNTIMEABORT("Missing redirect channel");
- }
-
- mReceivedRedirect2Verify = true;
-
mRedirectCallback->OnRedirectVerifyCallback(result);
mRedirectCallback = nsnull;
return true;
}
-// Bug 621446 investigation
-#pragma GCC reset_options
-
bool
HttpChannelParent::RecvDocumentChannelCleanup()
{
// From now on only using mAssociatedContentSecurity. Free everything else.
mChannel = 0; // Reclaim some memory sooner.
mCacheDescriptor = 0; // Else we'll block other channels reading same URI
return true;
}
@@ -583,24 +555,18 @@ HttpChannelParent::StartRedirect(PRUint3
nsHttpChannel *httpChan = static_cast<nsHttpChannel *>(mChannel.get());
nsHttpResponseHead *responseHead = httpChan->GetResponseHead();
bool result = SendRedirect1Begin(newChannelId,
IPC::URI(newURI),
redirectFlags,
responseHead ? *responseHead
: nsHttpResponseHead());
- if (!result) {
- // Bug 621446 investigation
- mSentRedirect1BeginFailed = true;
+ if (!result)
return NS_BINDING_ABORTED;
- }
-
- // Bug 621446 investigation
- mSentRedirect1Begin = true;
// Result is handled in RecvRedirect2Verify above
mRedirectChannel = newChannel;
mRedirectCallback = callback;
return NS_OK;
}
diff --git a/netwerk/protocol/http/HttpChannelParent.h b/netwerk/protocol/http/HttpChannelParent.h
--- a/netwerk/protocol/http/HttpChannelParent.h
+++ b/netwerk/protocol/http/HttpChannelParent.h
@@ -128,18 +128,14 @@ private:
nsCOMPtr<nsIChannel> mRedirectChannel;
nsCOMPtr<nsIAsyncVerifyRedirectCallback> mRedirectCallback;
// state for combining OnStatus/OnProgress with OnDataAvailable
// into one IPDL call to child.
nsresult mStoredStatus;
PRUint64 mStoredProgress;
PRUint64 mStoredProgressMax;
-
- bool mSentRedirect1Begin : 1;
- bool mSentRedirect1BeginFailed : 1;
- bool mReceivedRedirect2Verify : 1;
};
} // namespace net
} // namespace mozilla
#endif // mozilla_net_HttpChannelParent_h
++++++ mozilla-sle11.patch ++++++
Subject: Patches needed to build on SLE11/11.1
References:
https://bugzilla.mozilla.org/show_bug.cgi?id=513422
diff --git a/xpcom/glue/SSE.cpp b/xpcom/glue/SSE.cpp
--- a/xpcom/glue/SSE.cpp
+++ b/xpcom/glue/SSE.cpp
@@ -44,26 +44,77 @@ namespace {
// SSE.h has parallel #ifs which declare MOZILLA_SSE_HAVE_CPUID_DETECTION.
// We can't declare these functions in the header file, however, because
// <intrin.h> conflicts with <windows.h> on MSVC 2005, and some files want to
// include both SSE.h and <windows.h>.
#ifdef HAVE_CPUID_H
// cpuid.h is available on gcc 4.3 and higher on i386 and x86_64
-#include <cpuid.h>
+//#include <cpuid.h>
enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 };
+#ifdef __i386__
+#define _my_cpuid(level, a, b, c, d) \
+ __asm__ ("xchg{l}\t{%%}ebx, %1\n\t" \
+ "cpuid\n\t" \
+ "xchg{l}\t{%%}ebx, %1\n\t" \
+ : "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
+ : "0" (level))
+#else
+#define _my_cpuid(level, a, b, c, d) \
+ __asm__ ("cpuid\n\t" \
+ : "=a" (a), "=b" (b), "=c" (c), "=d" (d) \
+ : "0" (level))
+#endif
+
+static __inline unsigned int
+my_cpuid_max (unsigned int __ext, unsigned int *__sig)
+{
+ unsigned int __eax, __ebx, __ecx, __edx;
+
+#ifdef __i386__
+ __asm__ ("pushf{l|d}\n\t"
+ "pushf{l|d}\n\t"
+ "pop{l}\t%0\n\t"
+ "mov{l}\t{%0, %1|%1, %0}\n\t"
+ "xor{l}\t{%2, %0|%0, %2}\n\t"
+ "push{l}\t%0\n\t"
+ "popf{l|d}\n\t"
+ "pushf{l|d}\n\t"
+ "pop{l}\t%0\n\t"
+ "popf{l|d}\n\t"
+ : "=&r" (__eax), "=&r" (__ebx)
+ : "i" (0x00200000));
+
+ if (!((__eax ^ __ebx) & 0x00200000))
+ return 0;
+#endif
+
+ /* Host supports cpuid. Return highest supported cpuid input value. */
+ _my_cpuid (__ext, __eax, __ebx, __ecx, __edx);
+
+ if (__sig)
+ *__sig = __ebx;
+
+ return __eax;
+}
+
static bool
has_cpuid_bit(unsigned int level, CPUIDRegister reg, unsigned int bit)
{
unsigned int regs[4];
- return __get_cpuid(level, ®s[0], ®s[1], ®s[2], ®s[3]) &&
- (regs[reg] & bit);
+
+ unsigned int __ext = level & 0x80000000;
+ if (my_cpuid_max(__ext, 0) < level)
+ return false;
+
+ _my_cpuid(level, regs[0], regs[1], regs[2], regs[3]);
+ return !!(unsigned(regs[reg]) & bit);
}
#elif defined(_MSC_VER) && _MSC_VER >= 1400 && (defined(_M_IX86) || defined(_M_AMD64))
// MSVC 2005 or newer on x86-32 or x86-64
#include <intrin.h>
enum CPUIDRegister { eax = 0, ebx = 1, ecx = 2, edx = 3 };
++++++ mozilla-yarr-pcre.patch ++++++
# HG changeset patch
# Parent 58dd942011a81f3149d9bc34e808806bda099056
# User Landry Breuil <landry(a)openbsd.org>
Use YARR interpreter instead of PCRE on platforms where YARR JIT is not
supported
diff --git a/js/src/Makefile.in b/js/src/Makefile.in
--- a/js/src/Makefile.in
+++ b/js/src/Makefile.in
@@ -335,25 +335,29 @@ CPPSRCS += checks.cc \
# END enclude sources for V8 dtoa
#############################################
# For architectures without YARR JIT, PCRE is faster than the YARR
# interpreter (bug 684559).
ifeq (,$(filter arm% sparc %86 x86_64 mips%,$(TARGET_CPU)))
-VPATH += $(srcdir)/yarr/pcre \
+VPATH += $(srcdir)/assembler \
+ $(srcdir)/assembler/wtf \
+ $(srcdir)/yarr \
$(NULL)
CPPSRCS += \
- pcre_compile.cpp \
- pcre_exec.cpp \
- pcre_tables.cpp \
- pcre_xclass.cpp \
- pcre_ucp_searchfuncs.cpp \
+ OSAllocatorOS2.cpp \
+ OSAllocatorPosix.cpp \
+ OSAllocatorWin.cpp \
+ PageBlock.cpp \
+ YarrInterpreter.cpp \
+ YarrPattern.cpp \
+ YarrSyntaxChecker.cpp \
$(NULL)
else
###############################################
# BEGIN include sources for the Nitro assembler
#
ENABLE_YARR_JIT = 1
@@ -878,20 +882,20 @@ endif
###############################################
# BEGIN kludges for the Nitro assembler
#
# Needed to "configure" it correctly. Unfortunately these
# flags wind up being applied to all code in js/src, not just
# the code in js/src/assembler.
-CXXFLAGS += -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1
+CXXFLAGS += -DUSE_SYSTEM_MALLOC=1
ifneq (,$(ENABLE_YARR_JIT)$(ENABLE_METHODJIT))
-CXXFLAGS += -DENABLE_JIT=1
+CXXFLAGS += -DENABLE_JIT=1 -DENABLE_ASSEMBLER=1
endif
INCLUDES += -I$(srcdir)/assembler -I$(srcdir)/yarr
ifdef ENABLE_METHODJIT
# Build a standalone test program that exercises the assembler
# sources a bit.
TESTMAIN_OBJS = \
diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp
--- a/js/src/jsapi.cpp
+++ b/js/src/jsapi.cpp
@@ -696,17 +696,19 @@ JS_IsBuiltinFunctionConstructor(JSFuncti
static JSBool js_NewRuntimeWasCalled = JS_FALSE;
JSRuntime::JSRuntime()
: atomsCompartment(NULL),
#ifdef JS_THREADSAFE
ownerThread_(NULL),
#endif
tempLifoAlloc(TEMP_LIFO_ALLOC_PRIMARY_CHUNK_SIZE),
+#if ENABLE_ASSEMBLER
execAlloc_(NULL),
+#endif
bumpAlloc_(NULL),
nativeStackBase(0),
nativeStackQuota(0),
interpreterFrames(NULL),
cxCallback(NULL),
compartmentCallback(NULL),
activityCallback(NULL),
activityCallbackArg(NULL),
@@ -851,17 +853,19 @@ JSRuntime::init(uint32_t maxbytes)
nativeStackBase = GetNativeStackBase();
return true;
}
JSRuntime::~JSRuntime()
{
JS_ASSERT(onOwnerThread());
+#if ENABLE_ASSEMBLER
delete_<JSC::ExecutableAllocator>(execAlloc_);
+#endif
delete_<WTF::BumpPointerAllocator>(bumpAlloc_);
#ifdef DEBUG
/* Don't hurt everyone in leaky ol' Mozilla with a fatal JS_ASSERT! */
if (!JS_CLIST_IS_EMPTY(&contextList)) {
JSContext *cx, *iter = NULL;
uintN cxcount = 0;
while ((cx = js_ContextIterator(this, JS_TRUE, &iter)) != NULL) {
diff --git a/js/src/jscntxt.cpp b/js/src/jscntxt.cpp
--- a/js/src/jscntxt.cpp
+++ b/js/src/jscntxt.cpp
@@ -100,19 +100,21 @@ JSRuntime::sizeOfExcludingThis(JSMallocS
if (normal)
*normal = mallocSizeOf(dtoaState);
if (temporary)
*temporary = tempLifoAlloc.sizeOfExcludingThis(mallocSizeOf);
if (regexpCode) {
size_t method = 0, regexp = 0, unused = 0;
+#if ENABLE_ASSEMBLER
if (execAlloc_)
execAlloc_->sizeOfCode(&method, ®exp, &unused);
JS_ASSERT(method == 0); /* this execAlloc is only used for regexp code */
+#endif
*regexpCode = regexp + unused;
}
if (stackCommitted)
*stackCommitted = stackSpace.sizeOfCommitted();
}
JS_FRIEND_API(void)
@@ -124,33 +126,37 @@ JSRuntime::triggerOperationCallback()
*/
JS_ATOMIC_SET(&interrupt, 1);
}
void
JSRuntime::setJitHardening(bool enabled)
{
jitHardening = enabled;
+#if ENABLE_ASSEMBLER
if (execAlloc_)
execAlloc_->setRandomize(enabled);
+#endif
}
+#if ENABLE_ASSEMBLER
JSC::ExecutableAllocator *
JSRuntime::createExecutableAllocator(JSContext *cx)
{
JS_ASSERT(!execAlloc_);
JS_ASSERT(cx->runtime == this);
JSC::AllocationBehavior randomize =
jitHardening ? JSC::AllocationCanRandomize : JSC::AllocationDeterministic;
execAlloc_ = new_<JSC::ExecutableAllocator>(randomize);
if (!execAlloc_)
js_ReportOutOfMemory(cx);
return execAlloc_;
}
+#endif
WTF::BumpPointerAllocator *
JSRuntime::createBumpPointerAllocator(JSContext *cx)
{
JS_ASSERT(!bumpAlloc_);
JS_ASSERT(cx->runtime == this);
bumpAlloc_ = new_<WTF::BumpPointerAllocator>();
diff --git a/js/src/jscntxt.h b/js/src/jscntxt.h
--- a/js/src/jscntxt.h
+++ b/js/src/jscntxt.h
@@ -219,26 +219,32 @@ struct JSRuntime : js::RuntimeFriendFiel
static const size_t TEMP_LIFO_ALLOC_PRIMARY_CHUNK_SIZE = 1 << 12;
js::LifoAlloc tempLifoAlloc;
private:
/*
* Both of these allocators are used for regular expression code which is shared at the
* thread-data level.
*/
+#if ENABLE_ASSEMBLER
JSC::ExecutableAllocator *execAlloc_;
+#endif
WTF::BumpPointerAllocator *bumpAlloc_;
+#if ENABLE_ASSEMBLER
JSC::ExecutableAllocator *createExecutableAllocator(JSContext *cx);
+#endif
WTF::BumpPointerAllocator *createBumpPointerAllocator(JSContext *cx);
public:
+#if ENABLE_ASSEMBLER
JSC::ExecutableAllocator *getExecutableAllocator(JSContext *cx) {
return execAlloc_ ? execAlloc_ : createExecutableAllocator(cx);
}
+#endif
WTF::BumpPointerAllocator *getBumpPointerAllocator(JSContext *cx) {
return bumpAlloc_ ? bumpAlloc_ : createBumpPointerAllocator(cx);
}
/* Base address of the native stack for the current thread. */
uintptr_t nativeStackBase;
/* The native stack size limit that runtime should not exceed. */
diff --git a/js/src/jsprvtd.h b/js/src/jsprvtd.h
--- a/js/src/jsprvtd.h
+++ b/js/src/jsprvtd.h
@@ -313,22 +313,23 @@ typedef Handle<BaseShape*> Handl
typedef Handle<types::TypeObject*> HandleTypeObject;
typedef Handle<JSString*> HandleString;
typedef Handle<JSAtom*> HandleAtom;
typedef Handle<jsid> HandleId;
typedef Handle<Value> HandleValue;
} /* namespace js */
+#if ENABLE_ASSEMBLER
namespace JSC {
class ExecutableAllocator;
} /* namespace JSC */
-
+#endif
namespace WTF {
class BumpPointerAllocator;
} /* namespace WTF */
} /* export "C++" */
diff --git a/js/src/vm/RegExpObject-inl.h b/js/src/vm/RegExpObject-inl.h
--- a/js/src/vm/RegExpObject-inl.h
+++ b/js/src/vm/RegExpObject-inl.h
@@ -132,26 +132,28 @@ RegExpObject::setMultiline(bool enabled)
}
inline void
RegExpObject::setSticky(bool enabled)
{
setSlot(STICKY_FLAG_SLOT, BooleanValue(enabled));
}
+#if ENABLE_YARR_JIT
/* This function should be deleted once bad Android platforms phase out. See bug 604774. */
inline bool
detail::RegExpCode::isJITRuntimeEnabled(JSContext *cx)
{
#if defined(ANDROID) && defined(JS_METHODJIT)
return cx->methodJitEnabled;
#else
return true;
#endif
}
+#endif
inline bool
RegExpToShared(JSContext *cx, JSObject &obj, RegExpGuard *g)
{
JS_ASSERT(ObjectClassIs(obj, ESClass_RegExp, cx));
if (obj.isRegExp())
return obj.asRegExp().getShared(cx, g);
return Proxy::regexp_toShared(cx, &obj, g);
diff --git a/js/src/vm/RegExpObject.cpp b/js/src/vm/RegExpObject.cpp
--- a/js/src/vm/RegExpObject.cpp
+++ b/js/src/vm/RegExpObject.cpp
@@ -162,17 +162,16 @@ MatchPairs::checkAgainst(size_t inputLen
continue;
JS_ASSERT(size_t(p.limit) <= inputLength);
}
#endif
}
/* detail::RegExpCode */
-#if ENABLE_YARR_JIT
void
RegExpCode::reportYarrError(JSContext *cx, TokenStream *ts, ErrorCode error)
{
switch (error) {
case JSC::Yarr::NoError:
JS_NOT_REACHED("Called reportYarrError with value for no error");
return;
#define COMPILE_EMSG(__code, __msg) \
@@ -194,73 +193,36 @@ RegExpCode::reportYarrError(JSContext *c
COMPILE_EMSG(QuantifierTooLarge, JSMSG_BAD_QUANTIFIER);
COMPILE_EMSG(EscapeUnterminated, JSMSG_TRAILING_SLASH);
#undef COMPILE_EMSG
default:
JS_NOT_REACHED("Unknown Yarr error code");
}
}
-#else /* !ENABLE_YARR_JIT */
-
-void
-RegExpCode::reportPCREError(JSContext *cx, int error)
-{
-#define REPORT(msg_) \
- JS_ReportErrorFlagsAndNumberUC(cx, JSREPORT_ERROR, js_GetErrorMessage, NULL, msg_); \
- return
- switch (error) {
- case -2: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- case 0: JS_NOT_REACHED("Precondition violation: an error must have occurred.");
- case 1: REPORT(JSMSG_TRAILING_SLASH);
- case 2: REPORT(JSMSG_TRAILING_SLASH);
- case 3: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- case 4: REPORT(JSMSG_BAD_QUANTIFIER);
- case 5: REPORT(JSMSG_BAD_QUANTIFIER);
- case 6: REPORT(JSMSG_BAD_CLASS_RANGE);
- case 7: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- case 8: REPORT(JSMSG_BAD_CLASS_RANGE);
- case 9: REPORT(JSMSG_BAD_QUANTIFIER);
- case 10: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN);
- case 11: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- case 12: REPORT(JSMSG_UNMATCHED_RIGHT_PAREN);
- case 13: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- case 14: REPORT(JSMSG_MISSING_PAREN);
- case 15: REPORT(JSMSG_BAD_BACKREF);
- case 16: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- case 17: REPORT(JSMSG_REGEXP_TOO_COMPLEX);
- default:
- JS_NOT_REACHED("Precondition violation: unknown PCRE error code.");
- }
-#undef REPORT
-}
-
-#endif /* ENABLE_YARR_JIT */
-
bool
RegExpCode::compile(JSContext *cx, JSLinearString &pattern, uintN *parenCount, RegExpFlag flags)
{
-#if ENABLE_YARR_JIT
/* Parse the pattern. */
ErrorCode yarrError;
YarrPattern yarrPattern(pattern, bool(flags & IgnoreCaseFlag), bool(flags & MultilineFlag),
&yarrError);
if (yarrError) {
reportYarrError(cx, NULL, yarrError);
return false;
}
*parenCount = yarrPattern.m_numSubpatterns;
/*
* The YARR JIT compiler attempts to compile the parsed pattern. If
* it cannot, it informs us via |codeBlock.isFallBack()|, in which
* case we have to bytecode compile it.
*/
-#ifdef JS_METHODJIT
+#if ENABLE_YARR_JIT && defined(JS_METHODJIT)
if (isJITRuntimeEnabled(cx) && !yarrPattern.m_containsBackreferences) {
JSC::ExecutableAllocator *execAlloc = cx->runtime->getExecutableAllocator(cx);
if (!execAlloc) {
js_ReportOutOfMemory(cx);
return false;
}
JSGlobalData globalData(execAlloc);
@@ -271,58 +233,41 @@ RegExpCode::compile(JSContext *cx, JSLin
#endif
WTF::BumpPointerAllocator *bumpAlloc = cx->runtime->getBumpPointerAllocator(cx);
if (!bumpAlloc) {
js_ReportOutOfMemory(cx);
return false;
}
+#if ENABLE_YARR_JIT
codeBlock.setFallBack(true);
+#endif
byteCode = byteCompile(yarrPattern, bumpAlloc).get();
return true;
-#else /* !defined(ENABLE_YARR_JIT) */
- int error = 0;
- compiled = jsRegExpCompile(pattern.chars(), pattern.length(),
- ignoreCase() ? JSRegExpIgnoreCase : JSRegExpDoNotIgnoreCase,
- multiline() ? JSRegExpMultiline : JSRegExpSingleLine,
- parenCount, &error);
- if (error) {
- reportPCREError(cx, error);
- return false;
- }
- return true;
-#endif
}
RegExpRunStatus
RegExpCode::execute(JSContext *cx, const jschar *chars, size_t length, size_t start,
int *output, size_t outputCount)
{
int result;
#if ENABLE_YARR_JIT
(void) cx; /* Unused. */
if (codeBlock.isFallBack())
result = JSC::Yarr::interpret(byteCode, chars, start, length, output);
else
result = JSC::Yarr::execute(codeBlock, chars, start, length, output);
#else
- result = jsRegExpExecute(cx, compiled, chars, length, start, output, outputCount);
+ result = JSC::Yarr::interpret(byteCode, chars, start, length, output);
#endif
if (result == -1)
return RegExpRunStatus_Success_NotFound;
-#if !ENABLE_YARR_JIT
- if (result < 0) {
- reportPCREError(cx, result);
- return RegExpRunStatus_Error;
- }
-#endif
-
JS_ASSERT(result >= 0);
return RegExpRunStatus_Success;
}
/* RegExpObject */
static void
regexp_trace(JSTracer *trc, JSObject *obj)
diff --git a/js/src/vm/RegExpObject.h b/js/src/vm/RegExpObject.h
--- a/js/src/vm/RegExpObject.h
+++ b/js/src/vm/RegExpObject.h
@@ -46,20 +46,18 @@
#include <stddef.h>
#include "jsobj.h"
#include "js/TemplateLib.h"
#include "yarr/Yarr.h"
#if ENABLE_YARR_JIT
#include "yarr/YarrJIT.h"
+#endif
#include "yarr/YarrSyntaxChecker.h"
-#else
-#include "yarr/pcre/pcre.h"
-#endif
/*
* JavaScript Regular Expressions
*
* There are several engine concepts associated with a single logical regexp:
*
* RegExpObject - The JS-visible object whose .[[Class]] equals "RegExp"
*
@@ -107,78 +105,61 @@ class RegExpObjectBuilder
JSObject *
CloneRegExpObject(JSContext *cx, JSObject *obj, JSObject *proto);
namespace detail {
class RegExpCode
{
-#if ENABLE_YARR_JIT
typedef JSC::Yarr::BytecodePattern BytecodePattern;
typedef JSC::Yarr::ErrorCode ErrorCode;
+ typedef JSC::Yarr::YarrPattern YarrPattern;
+#if ENABLE_YARR_JIT
typedef JSC::Yarr::JSGlobalData JSGlobalData;
typedef JSC::Yarr::YarrCodeBlock YarrCodeBlock;
- typedef JSC::Yarr::YarrPattern YarrPattern;
/* Note: Native code is valid only if |codeBlock.isFallBack() == false|. */
YarrCodeBlock codeBlock;
+#endif
BytecodePattern *byteCode;
-#else
- JSRegExp *compiled;
-#endif
public:
RegExpCode()
:
#if ENABLE_YARR_JIT
codeBlock(),
+#endif
byteCode(NULL)
-#else
- compiled(NULL)
-#endif
{ }
~RegExpCode() {
#if ENABLE_YARR_JIT
codeBlock.release();
+#endif
if (byteCode)
Foreground::delete_<BytecodePattern>(byteCode);
-#else
- if (compiled)
- jsRegExpFree(compiled);
-#endif
}
static bool checkSyntax(JSContext *cx, TokenStream *tokenStream, JSLinearString *source) {
-#if ENABLE_YARR_JIT
ErrorCode error = JSC::Yarr::checkSyntax(*source);
if (error == JSC::Yarr::NoError)
return true;
reportYarrError(cx, tokenStream, error);
return false;
-#else
-# error "Syntax checking not implemented for !ENABLE_YARR_JIT"
-#endif
}
#if ENABLE_YARR_JIT
static inline bool isJITRuntimeEnabled(JSContext *cx);
+#endif
static void reportYarrError(JSContext *cx, TokenStream *ts, JSC::Yarr::ErrorCode error);
-#else
- static void reportPCREError(JSContext *cx, int error);
-#endif
static size_t getOutputSize(size_t pairCount) {
-#if ENABLE_YARR_JIT
return pairCount * 2;
-#else
- return pairCount * 3; /* Should be x2, but PCRE has... needs. */
-#endif
}
bool compile(JSContext *cx, JSLinearString &pattern, uintN *parenCount, RegExpFlag flags);
RegExpRunStatus
execute(JSContext *cx, const jschar *chars, size_t length, size_t start,
int *output, size_t outputCount);
diff --git a/js/src/yarr/wtfbridge.h b/js/src/yarr/wtfbridge.h
--- a/js/src/yarr/wtfbridge.h
+++ b/js/src/yarr/wtfbridge.h
@@ -44,19 +44,17 @@
* WTF compatibility layer. This file provides various type and data
* definitions for use by Yarr.
*/
#include "jsstr.h"
#include "jsprvtd.h"
#include "vm/String.h"
#include "assembler/wtf/Platform.h"
-#if ENABLE_YARR_JIT
#include "assembler/jit/ExecutableAllocator.h"
-#endif
namespace JSC { namespace Yarr {
/*
* Basic type definitions.
*/
typedef jschar UChar;
++++++ source-stamp.txt ++++++
REV=a294a5b4f12d
REPO=http://hg.mozilla.org/releases/mozilla-release
++++++ toolkit-download-folder.patch ++++++
From: Wolfgang Rosenauer
Subject: Don't use localized Downloads unless XDG is set up
References:
https://bugzilla.novell.com/show_bug.cgi?id=501724
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
@@ -344,7 +344,7 @@ var gMainPane = {
// With 3.0, a new desktop folder - 'Downloads' was introduced for
// platforms and versions that don't support a default system downloads
// folder. See nsDownloadManager for details.
- downloadFolder.label = bundlePreferences.getString("downloadsFolderName");
+ downloadFolder.label = "Downloads";
iconUrlSpec = fph.getURLSpecFromFile(this._indexToFolder(1));
} else {
// 'Desktop'
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
--- a/toolkit/components/downloads/nsDownloadManager.cpp
+++ b/toolkit/components/downloads/nsDownloadManager.cpp
@@ -1269,8 +1269,10 @@ nsDownloadManager::GetDefaultDownloadsDi
// XDG user dir spec, with a fallback to Home/Downloads
nsXPIDLString folderName;
- mBundle->GetStringFromName(NS_LITERAL_STRING("downloadsFolder").get(),
- getter_Copies(folderName));
+ // We don't want localized "Downloads" unless XDG is used
+ //mBundle->GetStringFromName(NS_LITERAL_STRING("downloadsFolder").get(),
+ // getter_Copies(folderName));
+ folderName.AssignLiteral("Downloads");
#if defined (XP_MACOSX)
rv = dirService->Get(NS_OSX_DEFAULT_DOWNLOAD_DIR,
++++++ xulrunner-openSUSE-prefs.js ++++++
// openSUSE overrides for default settings
pref("layout.word_select.stop_at_punctuation", false);
pref("intl.locale.matchOS", true);
++++++ xulrunner-rpmlintrc ++++++
addFilter("no-jar-manifest")
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libreoffice for openSUSE:Factory checked in at 2012-04-26 17:35:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libreoffice (Old)
and /work/SRC/openSUSE:Factory/.libreoffice.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libreoffice", Maintainer is "pmladek(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libreoffice/libreoffice-help-en-US.changes 2012-04-04 19:20:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libreoffice.new/libreoffice-help-en-US.changes 2012-04-26 17:35:21.000000000 +0200
@@ -1,0 +2,22 @@
+Fri Apr 20 12:29:53 UTC 2012 - pmladek(a)suse.com
+
+- buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2
+
+-------------------------------------------------------------------
+Fri Apr 6 14:57:48 UTC 2012 - pmladek(a)suse.com
+
+- clean up configure switches:
+ * move switches from SUSE*.conf to spec files
+ * use --with-system-headers and --with-system-libs to prefer system
+ stuff over internal copies
+ * use --without-system-<library> only for stuff that is not packaged
+ or not patched in the SUSE distribution, for example libvisio,
+ redland, mythes
+ * bin not longer existing options
+- remove unused python-devel from BuildRequires
+- build zip-3.0 only for openSUSE < 11.4
+- add patches for the extra zip-3.0 from the last zip package
+- make sure that parallel build is used for dmake and GNU make
+ build parts
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/libreoffice/libreoffice-help-group1.changes 2012-04-04 19:20:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libreoffice.new/libreoffice-help-group1.changes 2012-04-26 17:35:21.000000000 +0200
@@ -1,0 +2,21 @@
+Fri Apr 20 12:29:53 UTC 2012 - pmladek(a)suse.com
+
+- buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2
+
+-------------------------------------------------------------------
+Fri Apr 6 14:57:48 UTC 2012 - pmladek(a)suse.com
+
+- clean up configure switches:
+ * move switches from SUSE*.conf to spec files
+ * use --with-system-headers and --with-system-libs to prefer system
+ stuff over internal copies
+ * use --without-system-<library> only for stuff that is not packaged
+ or not patched in the SUSE distribution, for example libvisio,
+ redland, mythes
+ * bin not longer existing options
+- build zip-3.0 only for openSUSE < 11.4
+- add patches for the extra zip-3.0 from the last zip package
+- make sure that parallel build is used for dmake and GNU make
+ build parts
+
+-------------------------------------------------------------------
libreoffice-help-group2.changes: same change
libreoffice-help-group3.changes: same change
libreoffice-help-group4.changes: same change
libreoffice-help-group5.changes: same change
--- /work/SRC/openSUSE:Factory/libreoffice/libreoffice.changes 2012-04-04 19:20:33.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libreoffice.new/libreoffice.changes 2012-04-26 17:35:22.000000000 +0200
@@ -1,0 +2,30 @@
+Fri Apr 20 12:29:53 UTC 2012 - pmladek(a)suse.com
+
+- buildfix-icu-4.9.diff: fix build with icu-4.9; needed for openSUSE-12.2
+
+-------------------------------------------------------------------
+Fri Apr 13 15:28:42 UTC 2012 - pmladek(a)suse.com
+
+- pyuno-path.diff: basis-link directory does not longer exist
+
+-------------------------------------------------------------------
+Fri Apr 6 14:57:48 UTC 2012 - pmladek(a)suse.com
+
+- disable ccache; does not make sense for clean build; saves 1GB on the disk
+- hard link binaries in the build tree; it might save several GBs on the disk
+ and is faster
+- clean up configure switches:
+ * move switches from SUSE*.conf to spec files
+ * use --with-system-headers and --with-system-libs to prefer system
+ stuff over internal copies
+ * use --without-system-<library> only for stuff that is not packaged
+ or not patched in the SUSE distribution, for example libvisio,
+ redland, mythes
+ * bin not longer existing options
+- use system libwpd, libwpg, libwps, librsvg, vigra on openSUSE >= 11.4
+- remove unused sablot-devel, xalan-j2, xerces-j2, xml-commons-apis
+ from BuildRequires and Requires
+- remove some %if sections for not longer supported openSUSE < 11.1
+- update license tag: added BSD-4-Clause, SUSE-Public-Domain, W3C
+
+-------------------------------------------------------------------
Old:
----
SUSE-10.1.conf
SUSE-11.1.conf
SUSE-11.2.conf
SUSE-11.3.conf
SUSE-11.4.conf
SUSE.conf
New:
----
buildfix-icu-4.9.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libreoffice-help-en-US.spec ++++++
--- /var/tmp/diff_new_pack.a0XAaq/_old 2012-04-26 17:35:39.000000000 +0200
+++ /var/tmp/diff_new_pack.a0XAaq/_new 2012-04-26 17:35:39.000000000 +0200
@@ -29,6 +29,13 @@
%define zip_version 3.0
%define lo_langs ""
%define lo_home libreoffice
+# build_module_in_parallel 0 = no
+# 1 = yes (the number is defined be the number of cpus)
+# 2,3,4... = yes (force the number of modules to be built in parallel)
+%define build_module_in_parallel 1
+# debug_build: 0 = no
+# 1 = yes (enable depency tracking, ccache)
+%define debug_build 0
# prepare_build: 0 = no
# 1 = yes (just build, install and create packages; without %%prep section and configure)
%define prepare_build 1
@@ -56,7 +63,6 @@
BuildRequires: perl-Archive-Zip
BuildRequires: perl-Compress-Zlib
BuildRequires: pkg-config
-BuildRequires: python-devel
BuildRequires: unzip
BuildRequires: xorg-x11-devel
BuildRequires: zip
@@ -111,13 +117,6 @@
Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2
# zip-3.0 or newer is required because of the --filesync feature
Source31: zip-%zip_version.tar.bz2
-# SUSE config files
-Source100: SUSE.conf
-Source101: SUSE-10.1.conf
-Source102: SUSE-11.1.conf
-Source103: SUSE-11.2.conf
-Source104: SUSE-11.3.conf
-Source105: SUSE-11.4.conf
# helper stuff to produce pieces of the spec file
Source200: libreoffice-help-en-US.spec.in
Source201: lo-help-gen-spec
@@ -126,6 +125,16 @@
Patch0: libreoffice-3.5-unpack-sources.diff
# cups is not needed for helpcontent build
Patch1: build-helpcontent-do-not-check-cups.diff
+# fix build with icu-4.9; it will be in upstream 3.5.3
+Patch2: buildfix-icu-4.9.diff
+#
+# Patches against zip-3.0
+Patch2000: zip-3.0-iso8859_2.patch
+Patch2001: zip-3.0-add_options_to_help.patch
+Patch2002: zip-3.0-nonexec-stack.patch
+Patch2003: zip-3.0-optflags.patch
+Patch2004: zip-3.0-tempfile.patch
+Patch2005: zip-notimestamp.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#!ExclusiveArch: %ix86 x86_64 ppc
BuildArch: noarch
@@ -142,10 +151,22 @@
%setup -q -a30 -a31 -n libreoffice-core-%version
%patch0
bin/unpack-sources `pwd` %{S:1} %{S:2}
-# SUSE config files
-cp %{S:100} %{S:101} %{S:102} %{S:103} %{S:104} %{S:105} distro-configs
# extra fixes
%patch1
+%patch2 -p1
+#
+# patch zip-3.0
+%if %suse_version < 1140
+tar -xjf %{S:31}
+cd zip30
+%patch2000
+%patch2001
+%patch2002
+%patch2003
+%patch2004
+%patch2005
+cd -
+%endif
%endif
%build
@@ -156,39 +177,36 @@
make %{?_smp_mflags}
cd -
#
-# second build zip-3.0
+# second build zip-3.0 on older distributions
+%if %suse_version < 1140
cd zip30
make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc
cd -
+%endif
#
# Parallel build settings ...
+PARALLEL_BUILD=
+BUILD_SCRIPT_FLAGS=
+ncpus=
# parallel build of modules; it makes sense on machines with more CPUs
-PARALLEL_BUILD="-P`grep ^processor /proc/cpuinfo | wc -l`"
-# parallel build for files per module
+if test "%build_module_in_parallel" = "1" ; then
+ ncpus=`grep ^processor /proc/cpuinfo | wc -l`
+ PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`"
+fi
+if test "%build_module_in_parallel" -gt "1" ; then
+ ncpus=%build_module_in_parallel
+ PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel"
+fi
+if test -n "$ncpus" ; then
+ PARALLEL_BUILD="--with-num-cpus=$ncpus"
+ BUILD_SCRIPT_FLAGS="-P$ncpus"
+fi
if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
- PARALLEL_BUILD="$PARALLEL_BUILD -- -P%jobs"
+ PARALLEL_BUILD="$PARALLEL_BUILD
+ --with-gcc-speedup=icecream
+ --with-max-jobs=%jobs"
+ BUILD_SCRIPT_FLAGS="$BUILD_SCRIPT_FLAGS -- -P%jobs"
fi
-#
-# Distro settings ...
-%if 0%{?meego_version}
- with_distro="SUSE-11.1"
-%endif
-%if 0%{?suse_version} && 0%{?suse_version} <= 01110
- suse_major_ver=$((%{?suse_version} / 100))
- suse_minor_ver=$((%{?suse_version} / 10 - $suse_major_ver * 10))
- with_distro="SUSE-$suse_major_ver.$suse_minor_ver"
-%endif
-%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120
- with_distro="SUSE-11.2"
-%endif
-%if 0%{?suse_version} > 01120
- with_distro="SUSE"
-%endif
-#
-# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11
-%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel)
-DISABLE_KDE4=
-test "%{libkde4_devel_ver}" = "4.1.3" && DISABLE_KDE4="--disable-kde4"
%endif
# make sure that JAVA_HOME is set correctly
%if 0%{?suse_version}
@@ -201,51 +219,64 @@
export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing"
# FIXME: genccode from the system icu is in /usr/sbin
# FIXME: we need make-3.82 for parallel build
-export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin"
+export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin"
+# use the extra built zip-3.0 on older distributions
+%if %suse_version < 1140
+export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin"
+%endif
%if %prepare_build != 0
-./autogen.sh \
- --with-external-tar="$RPM_SOURCE_DIR" \
- --with-arch-flags="$ARCH_FLAGS" \
+./autogen.sh $PARALLEL_BUILD \
--libdir=%{_libdir} \
--prefix=%{_prefix} \
--mandir=%{_mandir} \
--sysconfdir=/etc \
--docdir=%{_docdir}/%{name} \
- --with-distro="$with_distro" \
- --without-git \
- --without-download \
+ --with-vendor="Novell, Inc." \
--with-lang=%lo_langs \
- --with-poor-help-localizations=%lo_poor_help_localizations \
+ --disable-fetch-external \
+ --with-external-tar="$RPM_SOURCE_DIR" \
+ --with-alloc=system \
+ --disable-strip-solver \
--with-jdk-home=$JAVA_HOME \
- --disable-cups \
- --disable-fontconfig \
- --without-junit \
- --without-system-jpeg \
- --disable-python \
- --disable-mozilla \
- --disable-mono \
- --without-system-curl \
- --disable-ldap \
- --without-system-odbc \
- --without-system-mozilla \
- --without-system-neon \
- --without-system-hunspell \
- --without-system-lpsolve \
- --disable-gtk \
+ --with-java-target-version=1.5 \
+ --with-ant-home=/usr/share/ant \
+ --without-fonts \
+ --without-myspell-dicts \
--disable-kde \
--disable-kde4 \
+ --disable-gtk \
--disable-gconf \
--disable-gnome-vfs \
- --without-system-cairo \
+ --disable-evolution2 \
--disable-gstreamer \
--disable-opengl \
- --without-system-poppler \
- --disable-evolution2
+ --disable-python \
+ --disable-mono \
+ --disable-odk \
+ --without-junit \
+%if %debug_build == 0
+ --disable-ccache \
+%endif
+ --without-stlport \
+ --disable-mozilla \
+ --without-system-mozilla \
+ --disable-ldap \
+ --disable-cups \
+ --disable-fontconfig \
+ --with-system-dicts \
+ --with-system-libxml \
+ --with-system-openssl \
+ --with-system-icu \
+ --with-system-cppunit \
+ --with-system-expat \
+ --with-system-db \
+ --with-system-boost \
+ --without-system-jpeg
%endif
./bootstrap
. ./Env.Host.sh
cd helpcontent2
-build --all $PARALLEL_BUILD
+build --all $BUILD_SCRIPT_FLAGS
%install
. ./Env.Host.sh
++++++ libreoffice-help-group1.spec ++++++
--- /var/tmp/diff_new_pack.a0XAaq/_old 2012-04-26 17:35:39.000000000 +0200
+++ /var/tmp/diff_new_pack.a0XAaq/_new 2012-04-26 17:35:39.000000000 +0200
@@ -35,6 +35,9 @@
# 1 = yes (the number is defined be the number of cpus)
# 2,3,4... = yes (force the number of modules to be built in parallel)
%define build_module_in_parallel 1
+# debug_build: 0 = no
+# 1 = yes (enable depency tracking, ccache)
+%define debug_build 0
# prepare_build: 0 = no
# 1 = yes (just build, install and create packages; without %%prep section and configure)
%define prepare_build 1
@@ -96,13 +99,6 @@
Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2
# zip-3.0 or newer is required because of the --filesync feature
Source31: zip-%zip_version.tar.bz2
-# SUSE config files
-Source100: SUSE.conf
-Source101: SUSE-10.1.conf
-Source102: SUSE-11.1.conf
-Source103: SUSE-11.2.conf
-Source104: SUSE-11.3.conf
-Source105: SUSE-11.4.conf
# helper stuff to produce pieces of the spec file
Source200: libreoffice-help-groupX.spec.in
Source201: lo-help-gen-spec
@@ -111,6 +107,16 @@
Patch0: libreoffice-3.5-unpack-sources.diff
# cups is not needed for helpcontent build
Patch1: build-helpcontent-do-not-check-cups.diff
+# fix build with icu-4.9; it will be in upstream 3.5.3
+Patch2: buildfix-icu-4.9.diff
+#
+# Patches against zip-3.0
+Patch2000: zip-3.0-iso8859_2.patch
+Patch2001: zip-3.0-add_options_to_help.patch
+Patch2002: zip-3.0-nonexec-stack.patch
+Patch2003: zip-3.0-optflags.patch
+Patch2004: zip-3.0-tempfile.patch
+Patch2005: zip-notimestamp.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#!ExclusiveArch: %ix86 x86_64 ppc
BuildArch: noarch
@@ -246,10 +252,22 @@
%setup -q -a30 -a31 -n libreoffice-core-%version
%patch0
bin/unpack-sources `pwd` %{S:1} %{S:2}
-# SUSE config files
-cp %{S:100} %{S:101} %{S:102} %{S:103} %{S:104} %{S:105} distro-configs
# extra fixes
%patch1
+%patch2 -p1
+#
+# patch zip-3.0
+%if %suse_version < 1140
+tar -xjf %{S:31}
+cd zip30
+%patch2000
+%patch2001
+%patch2002
+%patch2003
+%patch2004
+%patch2005
+cd -
+%endif
%endif
%build
@@ -260,39 +278,31 @@
make %{?_smp_mflags}
cd -
#
-# second build zip-3.0
+# second build zip-3.0 on older distributions
+%if %suse_version < 1140
cd zip30
make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc
cd -
-#
-# Parallel build settings ...
+%endif
# parallel build of modules; it makes sense on machines with more CPUs
-PARALLEL_BUILD="-P`grep ^processor /proc/cpuinfo | wc -l`"
-# parallel build for files per module
+if test "%build_module_in_parallel" = "1" ; then
+ ncpus=`grep ^processor /proc/cpuinfo | wc -l`
+ PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`"
+fi
+if test "%build_module_in_parallel" -gt "1" ; then
+ ncpus=%build_module_in_parallel
+ PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel"
+fi
+if test -n "$ncpus" ; then
+ PARALLEL_BUILD="--with-num-cpus=$ncpus"
+ BUILD_SCRIPT_FLAGS="-P$ncpus"
+fi
if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
- PARALLEL_BUILD="$PARALLEL_BUILD -- -P%jobs"
+ PARALLEL_BUILD="$PARALLEL_BUILD
+ --with-gcc-speedup=icecream
+ --with-max-jobs=%jobs"
+ BUILD_SCRIPT_FLAGS="$BUILD_SCRIPT_FLAGS -- -P%jobs"
fi
-#
-# Distro settings ...
-%if 0%{?meego_version}
- with_distro="SUSE-11.1"
-%endif
-%if 0%{?suse_version} && 0%{?suse_version} <= 01110
- suse_major_ver=$((%{?suse_version} / 100))
- suse_minor_ver=$((%{?suse_version} / 10 - $suse_major_ver * 10))
- with_distro="SUSE-$suse_major_ver.$suse_minor_ver"
-%endif
-%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120
- with_distro="SUSE-11.2"
-%endif
-%if 0%{?suse_version} > 01120
- with_distro="SUSE"
-%endif
-#
-# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11
-%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel)
-DISABLE_KDE4=
-test "%{libkde4_devel_ver}" = "4.1.3" && DISABLE_KDE4="--disable-kde4"
%endif
# make sure that JAVA_HOME is set correctly
%if 0%{?suse_version}
@@ -305,50 +315,63 @@
export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing"
# FIXME: genccode from the system icu is in /usr/sbin
# FIXME: we need make-3.82 for parallel build
-export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin"
+export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin"
+# use the extra built zip-3.0 on older distributions
+%if %suse_version < 1140
+export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin"
+%endif
%if %prepare_build != 0
-./autogen.sh \
- --with-external-tar="$RPM_SOURCE_DIR" \
- --with-arch-flags="$ARCH_FLAGS" \
+./autogen.sh $PARALLEL_BUILD \
--libdir=%{_libdir} \
--prefix=%{_prefix} \
--mandir=%{_mandir} \
--sysconfdir=/etc \
--docdir=%{_docdir}/%{name} \
- --with-distro="$with_distro" \
- --without-git \
- --without-download \
+ --with-vendor="Novell, Inc." \
--with-lang=%lo_langs \
- --with-poor-help-localizations=%lo_poor_help_localizations \
+ --disable-fetch-external \
+ --with-external-tar="$RPM_SOURCE_DIR" \
+ --with-alloc=system \
+ --disable-strip-solver \
--with-jdk-home=$JAVA_HOME \
- --disable-cups \
- --disable-fontconfig \
- --without-junit \
- --without-system-jpeg \
- --disable-mozilla \
- --disable-mono \
- --without-system-curl \
- --disable-ldap \
- --without-system-odbc \
- --without-system-mozilla \
- --without-system-neon \
- --without-system-hunspell \
- --without-system-lpsolve \
- --disable-gtk \
+ --with-java-target-version=1.5 \
+ --with-ant-home=/usr/share/ant \
+ --without-fonts \
+ --without-myspell-dicts \
--disable-kde \
--disable-kde4 \
+ --disable-gtk \
--disable-gconf \
--disable-gnome-vfs \
- --without-system-cairo \
+ --disable-evolution2 \
--disable-gstreamer \
--disable-opengl \
- --without-system-poppler \
- --disable-evolution2
+ --disable-mono \
+ --disable-odk \
+ --without-junit \
+%if %debug_build == 0
+ --disable-ccache \
+%endif
+ --without-stlport \
+ --disable-mozilla \
+ --without-system-mozilla \
+ --disable-ldap \
+ --disable-cups \
+ --disable-fontconfig \
+ --with-system-dicts \
+ --with-system-libxml \
+ --with-system-openssl \
+ --with-system-icu \
+ --with-system-cppunit \
+ --with-system-expat \
+ --with-system-db \
+ --with-system-boost \
+ --without-system-jpeg
%endif
./bootstrap
. ./Env.Host.sh
cd helpcontent2
-build --all $PARALLEL_BUILD
+build --all $BUILD_SCRIPT_FLAGS
%install
. ./Env.Host.sh
libreoffice-help-group2.spec: same change
libreoffice-help-group3.spec: same change
libreoffice-help-group4.spec: same change
libreoffice-help-group5.spec: same change
++++++ libreoffice.spec ++++++
--- /var/tmp/diff_new_pack.a0XAaq/_old 2012-04-26 17:35:39.000000000 +0200
+++ /var/tmp/diff_new_pack.a0XAaq/_new 2012-04-26 17:35:39.000000000 +0200
@@ -23,7 +23,6 @@
BuildRequires: ant-nodeps
BuildRequires: bison
BuildRequires: boost-devel
-BuildRequires: ccache
BuildRequires: cups-devel
BuildRequires: curl-devel
BuildRequires: dbus-1-glib-devel
@@ -33,10 +32,13 @@
BuildRequires: gnome-vfs2-devel
BuildRequires: gperf
BuildRequires: gtk2-devel
+BuildRequires: hunspell-devel
BuildRequires: icu
BuildRequires: java-devel
BuildRequires: libexif
+BuildRequires: libicu-devel
BuildRequires: libxml2-devel
+BuildRequires: lpsolve-devel
BuildRequires: mono-devel
BuildRequires: neon-devel
BuildRequires: orbit2-devel
@@ -89,7 +91,7 @@
%endif
############################
# cppunit stuff
-%if 0%{?suse_version} >= 01100
+%if 0%{?suse_version}
BuildRequires: libcppunit-devel
%endif
%if 0%{?meego_version}
@@ -118,15 +120,8 @@
BuildRequires: expat-devel
%endif
############################
-# lpsolve stuff
-%if 0%{?suse_version} > 01100 || 0%{?meego_version}
-# lpsolve-devel has been available since openSUSE-11.1
-BuildRequires: lpsolve-devel
-%endif
-############################
# poppler is needed to build the PDF import extension
-# the needed version 0.8.0 has been avaiable only since openSUSE-11.0
-%if 0%{?suse_version} >= 01100
+%if 0%{?suse_version}
BuildRequires: libpoppler-devel
%endif
%if 0%{?meego_version}
@@ -138,17 +133,13 @@
BuildRequires: junit4
%endif
############################
-# openSUSE 10.3 features
-%if 0%{?suse_version} > 01020 || 0%{?meego_version}
-BuildRequires: libicu-devel
-%endif
-############################
-# openSUSE 11.0 features
-%if 0%{?suse_version} > 01030 || 0%{?meego_version}
-BuildRequires: hunspell-devel
+# openSUSE 11.4 features
+%if 0%{?suse_version} >= 01140 || 0%{?meego_version}
+BuildRequires: librsvg-devel
BuildRequires: libwpd-devel
BuildRequires: libwpg-devel
BuildRequires: libwps-devel
+BuildRequires: vigra-devel
%endif
############################
# CODE10 features
@@ -156,17 +147,9 @@
%if 0%{?suse_version} > 01000
BuildRequires: gstreamer010-plugins-base-devel
BuildRequires: python-lxml
-BuildRequires: sablot-devel
-BuildRequires: xalan-j2
-BuildRequires: xerces-j2
-BuildRequires: xml-commons-apis
%endif
%if 0%{?meego_version}
BuildRequires: gst-plugins-base-devel
-BuildRequires: sablot-devel
-BuildRequires: xalan-j2
-BuildRequires: xerces-j2
-BuildRequires: xml-commons-apis
%endif
# FIXME: part of the language-dependant stuff is still built here and
# put into the -devel package
@@ -184,6 +167,9 @@
# 1 = yes (the number is defined be the number of cpus)
# 2,3,4... = yes (force the number of modules to be built in parallel)
%define build_module_in_parallel 1
+# debug_build: 0 = no
+# 1 = yes (enable depency tracking, ccache)
+%define debug_build 0
# prepare_build: 0 = no
# 1 = yes (just build, install and create packages; without %%prep section and configure)
%define prepare_build 1
@@ -209,12 +195,6 @@
%define lo_build_sdk no
%endif
%endif
-# java target bytecode; should be compatible with the gcj
-%if 0%{?suse_version} > 01030 || 0%{?meego_version}
-%define java_target_version 1.5
-%else
-%define java_target_version 1.4
-%endif
# python paths
%if 0%{?suse_version} <= 01110
%define python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())")
@@ -279,9 +259,6 @@
Requires: jre >= 1.5
%endif
# ---
-Requires: xalan-j2
-Requires: xerces-j2
-Requires: xml-commons-apis
# post install scripts
%if 0%{?suse_version} > 01120
Requires(pre): findutils
@@ -480,7 +457,7 @@
%endif
#
Summary: A Free Office Suite (Framework)
-License: Apache-2.0 and Artistic-1.0 and BSD-3-Clause and GPL-2.0+ and LPPL-1.3c and LGPL-2.1+ and LGPL-3.0 and MPL-1.1 and MIT
+License: Apache-2.0 and Artistic-1.0 and BSD-3-Clause and BSD-4-Clause and GPL-2.0+ and LPPL-1.3c and LGPL-2.1+ and LGPL-3.0 and MPL-1.1 and MIT and SUSE-Public-Domain and W3C
Group: Productivity/Office/Suite
Url: http://www.documentfoundation.org/
Source0: libreoffice-core-%version.tar.bz2
@@ -495,13 +472,6 @@
Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2
# zip-3.0 or newer is required because of the --filesync feature
Source31: zip-%zip_version.tar.bz2
-# SUSE config files
-Source100: SUSE.conf
-Source101: SUSE-10.1.conf
-Source102: SUSE-11.1.conf
-Source103: SUSE-11.2.conf
-Source104: SUSE-11.3.conf
-Source105: SUSE-11.4.conf
# rpmlint complains about devel files in non-devel package
# but we would like to keep the sdk package name
# We would like to keep the -bootstrap package name
@@ -600,8 +570,10 @@
Source1043: d7a242ca43e33e1b63d3073f9d46a6a8-librsvg-2.32.1.tar.gz
#
# allow to unpack source tarballs
+# pushed upstream for 3.5.3
Patch0: libreoffice-3.5-unpack-sources.diff
# mark share/config/javasettingsunopkginstall.xml as %config; it is updated by unopkg in %post
+# pushed upstream for 3.6.0
Patch1: javasetting-mark-config.diff
# search application icons in /usr/share
# FIXME: search both lib and lib64 and push into git
@@ -610,34 +582,47 @@
# FIXME: make it configurable in integrate into git
Patch3: officecfg-help-in-usr-share.diff
# slower patching to debug and hopefully fix parallel build of ct2n extension; always happened only in the Build Service (bnc#595550)
+# FIXME: remove when scp2 module is gbuildized
Patch4: solenv-carefull-patching-hack.diff
# change user config dir name from ~/.libreoffice/3 to ~/.libreoffice/3-suse
# to avoid BerkleyDB incompatibility with the plain build
+# FIXME: make it configurable in integrate into git
Patch5: scp2-user-config-suse.diff
# fix library link order to work with link as needed
+# pushed upstream for 3.6.0 except for fpicker; it was moved to vcl and gbuildized
Patch6: library-link-order-to-build-with-as-needed.diff
# put internal rhino into XBootClasspath to fix build with OpenJDK
+# FIXME: make it clean to be able to push upstream
Patch7: scripting-prefer-internal-rhino.diff
# update file list generation for 3.5
+# pushed upstream for LO-.3.6; pending request for 3.5
Patch8: distro-install-file-lists-3.5.diff
# search <lo-home>/share/template/common for language independent templates
-# will not push it upstream because it will be replaced by upcomming kendy's work
+# FIXME: make it configurable to push upstream
Patch9: office-cfg-linux-common-template-dir.diff
# correctly bootstrap python stuff with system python, (deb#501028, i#90701)
+# is this solutions stull used in other distributions?
Patch10: system-python-ure-bootstrap.diff
# do not use the broken help; unopkg complained about it when registering extensions
# FIXME: the right fix is to compile the help and produce the .db_, .ht_, and other files
Patch11: nlpsolver-no-broken-help.diff
Patch12: mediawiki-no-broken-help.diff
# revert problematic build fix for poppler 0.17.0 on older distributions
+# FIXME: make it configurable to push upstream
Patch13: libreoffice-poppler-0.17.0-reject-fix.diff
# generate selected bytecode version also in gbuild
+# FIXME: push upstream and be ready to fix problem on other systems
Patch14: solenv-java-source-version.diff
# fix build dependency problem in svx
+# FIXME: completely reworked in LO-3.6; might be removed there
Patch15: svx-globlmn-hrc-build-dep.diff
+# fix build with icu-4.9; it will be in upstream 3.5.3
+Patch16: buildfix-icu-4.9.diff
# display LO application in the right desktop submenu (bnc#718694)
+# pushed upstream for LO-3.6
Patch21: desktop-submenu.diff
# add pyuno to python path
+# FIXME: related to system-python-ure-bootstrap.diff
Patch26: pyuno-path.diff
#
# default to MS Office 97/2000/XP file formats on MeeGo; asked by HP
@@ -1331,8 +1316,6 @@
bin/unpack-sources `pwd` %{S:1} %{S:2} %{S:3}
# 256x256 icons
tar -xjf %{S:20}
-# SUSE config files
-cp $RPM_SOURCE_DIR/SUSE*.conf distro-configs
# READMEs
cp $RPM_SOURCE_DIR/README* .
# extra fixes
@@ -1354,6 +1337,7 @@
%endif
%patch14
%patch15
+%patch16 -p1
%patch21
%patch26
#
@@ -1410,22 +1394,6 @@
PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel"
fi
#
-# Distro settings ...
-%if 0%{?meego_version}
- with_distro="SUSE-11.1"
-%endif
-%if 0%{?suse_version} && 0%{?suse_version} <= 01110
- suse_major_ver=$((%{?suse_version} / 100))
- suse_minor_ver=$((%{?suse_version} / 10 - $suse_major_ver * 10))
- with_distro="SUSE-$suse_major_ver.$suse_minor_ver"
-%endif
-%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120
- with_distro="SUSE-11.2"
-%endif
-%if 0%{?suse_version} > 01120
- with_distro="SUSE"
-%endif
-#
# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11
%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel)
DISABLE_KDE4=
@@ -1450,86 +1418,104 @@
%if %suse_version < 1140
export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin"
%endif
+#
%if %prepare_build != 0
./autogen.sh $PARALLEL_BUILD \
- --with-external-tar="$RPM_SOURCE_DIR" \
- --with-arch-flags="$ARCH_FLAGS" \
--libdir=%{_libdir} \
--prefix=%{_prefix} \
--mandir=%{_mandir} \
--sysconfdir=/etc \
--docdir=%{_docdir}/%{name} \
- --with-distro="$with_distro" \
- --without-git \
- --without-download \
- --disable-fetch-external \
+ --with-vendor="Novell, Inc." \
--with-lang=%lo_langs \
- --with-poor-help-localizations=%lo_poor_help_localizations \
- --with-mono-gac-root=%{_prefix}/lib \
+ --disable-fetch-external \
+ --with-external-tar="$RPM_SOURCE_DIR" \
+ --with-alloc=system \
+ --disable-strip-solver \
--with-compat-oowrappers \
+ --enable-split-app-modules \
+ --enable-split-opt-features \
+ --with-jdk-home=$JAVA_HOME \
+ --with-java-target-version=1.5 \
+ --with-ant-home=/usr/share/ant \
+ --with-mono-gac-root=%{_prefix}/lib \
+ --without-fonts \
+ --without-myspell-dicts \
+ --with-external-dict-dir=/usr/share/myspell \
+ --with-external-hyph-dir=/usr/share/ooo/hyphen \
+ --with-external-thes-dir=/usr/share/ooo/thesaurus \
+ --without-help \
%if %test_build_binfilters != 0
--enable-binfilter \
%endif
- --with-jdk-home=$JAVA_HOME \
- --with-java-target-version=%java_target_version \
- --disable-helpcontent \
%if %lo_build_sdk == yes
--enable-odk \
%endif
-%if 0%{?meego_version}
- --without-system-cairo \
- --with-system-icu \
- --disable-kde4 \
-%endif
-%if 0%{?meego_version}
- --disable-kde \
+%if 0%{?suse_version}
+ --enable-kde \
+ --enable-kde4 \
%endif
$DISABLE_KDE4 \
-%if 0%{?suse_version} > 01130
+ --enable-evolution2 \
+ --enable-lockdown \
+ --enable-dbus \
+%if 0%{?suse_version} <= 01130
+ --enable-mono \
+%else
--disable-mono \
%endif
-%if %suse_version <= 1110
+%if %suse_version <= 1130
--without-junit \
%endif
- --disable-access \
- --disable-post-install-scripts \
- --disable-strip \
- --disable-strip-solver \
- --enable-openxml \
- --disable-report-builder \
- --disable-pdfimport \
- --disable-presenter-console \
- --enable-build-noarch \
- --enable-ext-ct2n \
- --enable-ext-nlpsolver \
- --enable-ext-google-docs \
- --enable-ext-numbertext \
- --without-help \
+%if %debug_build == 0
+ --disable-ccache \
+%endif
+ --without-stlport \
--disable-mozilla \
--without-system-mozilla \
--disable-ldap \
--enable-xmlsec \
- --with-system-nss \
-%if 0%{?suse_version} > 01110
- --with-system-postgresql \
-%endif
+ --with-openldap \
+ --enable-ext-ct2n \
+ --enable-ext-nlpsolver \
+ --enable-ext-google-docs \
+ --enable-ext-numbertext \
+ --enable-ext-wiki-publisher \
%if 0%{?suse_version}
- --with-system-mysql \
--enable-ext-mysql-connector \
%endif
-%if 0%{?suse_version} > 01220
- --with-system-mysql-cppconn \
-%endif
-%if 0%{?suse_version} > 01030 || 0%{?meego_version}
- --enable-pdfimport \
-%endif
--enable-ext-scripting-beanshell \
--enable-ext-scripting-javascript \
- --enable-ext-scripting-python \
- --enable-minimizer --enable-presenter-console \
- --enable-wiki-publisher --enable-ogltrans --enable-report-builder \
- --enable-split-app-modules \
- --enable-split-opt-features
+ --with-system-dicts \
+ --with-system-headers \
+%if 0%{?suse_version} <= 01130
+ --without-system-vigra \
+%endif
+ --without-system-mdds \
+ --without-system-mozilla-headers \
+ --without-system-sane \
+ --with-system-libs \
+%if 0%{?suse_version} <= 01110
+ --without-system-postgresql \
+%endif
+%if 0%{?meego_version}
+ --without-system-cairo \
+%endif
+%if 0%{?suse_version} <= 01130
+ --without-system-libwpd \
+ --without-system-libwpg \
+ --without-system-libwps \
+ --enable-librsvg=internal \
+%endif
+ --without-system-mysql-cppconn \
+ --without-system-libvisio \
+ --without-system-libcmis \
+ --without-system-graphite \
+ --without-system-sampleicc \
+ --without-system-redland \
+ --without-system-altlinuxhyph \
+ --without-system-mythes \
+ --without-system-libexttextcat
%endif
# prebuilt stuff
(
@@ -1544,6 +1530,8 @@
)
# hack to correctly bootstrap python stuff with system python, (deb#501028, i#90701)
sed -i -e "s|@INSTALLDIR@|%lo_prefix/%lo_home|" pyuno/source/module/uno.py
+# hard link binaries in the build tree; it might save several GBs on the disk and is faster
+export gb_Deliver_HARDLINK=1
# FIXME: try to finish build even with the strange random build crash in officecfg
make || make || make
++++++ buildfix-icu-4.9.diff ++++++
>From ba3550bc82b8fb697b905c9913e399e1835b7cc0 Mon Sep 17 00:00:00 2001
From: Eike Rathke <erack(a)redhat.com>
Date: Tue, 3 Apr 2012 16:15:48 +0200
Subject: [PATCH] as of ICU 4.9 RBBI the Prepend property is empty
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Backport of 43084e8b30c101a44510b7a8267d5c2b316a17bb
* config_host.mk doesn't exist, instead changes to set_soenv.in
* i18npool/CustomTarget_breakiterator.mk doesn't exist, instead same changes
to i18npool/source/breakiterator/Makefile
* char.txt and char_in.txt unchanged
Signed-off-by: Tomáš Chvátal <tomas.chvatal(a)gmail.com>
---
configure.in | 6 ++++++
i18npool/source/breakiterator/Makefile | 8 +++++++-
set_soenv.in | 1 +
3 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/configure.in b/configure.in
index ea959e6..8e45756 100644
--- a/configure.in
+++ b/configure.in
@@ -6162,6 +6162,7 @@ ICU_MAJOR=
ICU_MINOR=
ICU_MICRO=
ICU_RECLASSIFIED_CLOSE_PARENTHESIS=
+ICU_RECLASSIFIED_PREPEND_SET_EMPTY=
AC_MSG_CHECKING([which icu to use])
if test "$with_system_icu" = "yes"; then
AC_MSG_RESULT([external])
@@ -6207,6 +6208,9 @@ if test "$with_system_icu" = "yes"; then
if test "$ICU_MAJOR" -ge "5" -o "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "4"; then
ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES"
fi
+ if test "$ICU_MAJOR" -ge "5" -o "$ICU_MAJOR" = "4" -a "$ICU_MINOR" -ge "9"; then
+ ICU_RECLASSIFIED_PREPEND_SET_EMPTY="YES"
+ fi
fi
MINGW_EXTERNAL_DLLS="$MINGW_EXTERNAL_DLLS icui18n$ICU_MAJOR$ICU_MINOR.dll icuuc$ICU_MAJOR$ICU_MINOR.dll icudata$ICU_MAJOR$ICU_MINOR.dll"
@@ -6214,6 +6218,7 @@ else
AC_MSG_RESULT([internal])
SYSTEM_ICU="NO"
ICU_RECLASSIFIED_CLOSE_PARENTHESIS="YES"
+ # ICU_RECLASSIFIED_PREPEND_SET_EMPTY not applied for our internal ICU 4.4.2
BUILD_TYPE="$BUILD_TYPE ICU"
fi
AC_SUBST(SYSTEM_ICU)
@@ -6224,6 +6229,7 @@ AC_SUBST(ICU_MAJOR)
AC_SUBST(ICU_MINOR)
AC_SUBST(ICU_MICRO)
AC_SUBST(ICU_RECLASSIFIED_CLOSE_PARENTHESIS)
+AC_SUBST(ICU_RECLASSIFIED_PREPEND_SET_EMPTY)
dnl ===================================================================
dnl Graphite
diff --git a/i18npool/source/breakiterator/Makefile b/i18npool/source/breakiterator/Makefile
index b34217a..6aed8b2 100644
--- a/i18npool/source/breakiterator/Makefile
+++ b/i18npool/source/breakiterator/Makefile
@@ -83,10 +83,16 @@ OpenOffice_dat.c : $(subst .brk,_brk.c,$(BRKFILES))
%.brk : %.txt.p
$(GENBRK) -r $< -o $@
-# fdo#31271 ")" reclassified in more recent ICU/Unicode Standards
+# fdo#31271 ")" reclassified in more recent Unicode Standards / ICU 4.4
+# Prepend set empty as of Unicode Version 6.1 / ICU 4.9, which bails out if used.
+# NOTE: strips every line with _word_ 'Prepend', including $Prepend
%.txt.p : $(realpath $(SRC_ROOT)/i18npool/source/breakiterator/data)/%.txt
ifeq ($(ICU_RECLASSIFIED_CLOSE_PARENTHESIS),YES)
+ifeq ($(ICU_RECLASSIFIED_PREPEND_SET_EMPTY),YES)
+ sed "s#\[:LineBreak = Close_Punctuation:\]#\[\[:LineBreak = Close_Punctuation:\] \[:LineBreak = Close_Parenthesis:\]\]#;/\<Prepend\>/d" $< > $@
+else
sed "s#\[:LineBreak = Close_Punctuation:\]#\[\[:LineBreak = Close_Punctuation:\] \[:LineBreak = Close_Parenthesis:\]\]#" $< > $@
+endif
else
cp $< $@
endif
diff --git a/set_soenv.in b/set_soenv.in
index 3dc9cfa..a8561cd 100755
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -1881,6 +1881,7 @@ ToFile( "ICU_MAJOR", "@ICU_MAJOR@", "e" );
ToFile( "ICU_MINOR", "@ICU_MINOR@", "e" );
ToFile( "ICU_MICRO", "@ICU_MICRO@", "e" );
ToFile( "ICU_RECLASSIFIED_CLOSE_PARENTHESIS", "@ICU_RECLASSIFIED_CLOSE_PARENTHESIS@", "e" );
+ToFile( "ICU_RECLASSIFIED_PREPEND_SET_EMPTY", "@ICU_RECLASSIFIED_PREPEND_SET_EMPTY@", "e" );
ToFile( "SYSTEM_GENBRK", "@SYSTEM_GENBRK@", "e" );
ToFile( "SYSTEM_GENCCODE", "@SYSTEM_GENCCODE@", "e" );
ToFile( "SYSTEM_GENCMN", "@SYSTEM_GENCMN@", "e" );
--
1.7.8.3
++++++ libreoffice-help-en-US.spec.in ++++++
--- /var/tmp/diff_new_pack.a0XAaq/_old 2012-04-26 17:35:40.000000000 +0200
+++ /var/tmp/diff_new_pack.a0XAaq/_new 2012-04-26 17:35:40.000000000 +0200
@@ -25,6 +25,13 @@
%define zip_version 3.0
%define lo_langs ""
%define lo_home libreoffice
+# build_module_in_parallel 0 = no
+# 1 = yes (the number is defined be the number of cpus)
+# 2,3,4... = yes (force the number of modules to be built in parallel)
+%define build_module_in_parallel 1
+# debug_build: 0 = no
+# 1 = yes (enable depency tracking, ccache)
+%define debug_build 0
# prepare_build: 0 = no
# 1 = yes (just build, install and create packages; without %%prep section and configure)
%define prepare_build 1
@@ -52,7 +59,6 @@
BuildRequires: perl-Archive-Zip
BuildRequires: perl-Compress-Zlib
BuildRequires: pkg-config
-BuildRequires: python-devel
BuildRequires: unzip
BuildRequires: xorg-x11-devel
BuildRequires: zip
@@ -107,13 +113,6 @@
Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2
# zip-3.0 or newer is required because of the --filesync feature
Source31: zip-%zip_version.tar.bz2
-# SUSE config files
-Source100: SUSE.conf
-Source101: SUSE-10.1.conf
-Source102: SUSE-11.1.conf
-Source103: SUSE-11.2.conf
-Source104: SUSE-11.3.conf
-Source105: SUSE-11.4.conf
# helper stuff to produce pieces of the spec file
Source200: libreoffice-help-en-US.spec.in
Source201: lo-help-gen-spec
@@ -122,6 +121,16 @@
Patch0: libreoffice-3.5-unpack-sources.diff
# cups is not needed for helpcontent build
Patch1: build-helpcontent-do-not-check-cups.diff
+# fix build with icu-4.9; it will be in upstream 3.5.3
+Patch2: buildfix-icu-4.9.diff
+#
+# Patches against zip-3.0
+Patch2000: zip-3.0-iso8859_2.patch
+Patch2001: zip-3.0-add_options_to_help.patch
+Patch2002: zip-3.0-nonexec-stack.patch
+Patch2003: zip-3.0-optflags.patch
+Patch2004: zip-3.0-tempfile.patch
+Patch2005: zip-notimestamp.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#!ExclusiveArch: %ix86 x86_64 ppc
BuildArch: noarch
@@ -138,10 +147,22 @@
%setup -q -a30 -a31 -n libreoffice-core-%version
%patch0
bin/unpack-sources `pwd` %{S:1} %{S:2}
-# SUSE config files
-cp %{S:100} %{S:101} %{S:102} %{S:103} %{S:104} %{S:105} distro-configs
# extra fixes
%patch1
+%patch2 -p1
+#
+# patch zip-3.0
+%if %suse_version < 1140
+tar -xjf %{S:31}
+cd zip30
+%patch2000
+%patch2001
+%patch2002
+%patch2003
+%patch2004
+%patch2005
+cd -
+%endif
%endif
%build
@@ -152,39 +173,36 @@
make %{?_smp_mflags}
cd -
#
-# second build zip-3.0
+# second build zip-3.0 on older distributions
+%if %suse_version < 1140
cd zip30
make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc
cd -
+%endif
#
# Parallel build settings ...
+PARALLEL_BUILD=
+BUILD_SCRIPT_FLAGS=
+ncpus=
# parallel build of modules; it makes sense on machines with more CPUs
-PARALLEL_BUILD="-P`grep ^processor /proc/cpuinfo | wc -l`"
-# parallel build for files per module
+if test "%build_module_in_parallel" = "1" ; then
+ ncpus=`grep ^processor /proc/cpuinfo | wc -l`
+ PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`"
+fi
+if test "%build_module_in_parallel" -gt "1" ; then
+ ncpus=%build_module_in_parallel
+ PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel"
+fi
+if test -n "$ncpus" ; then
+ PARALLEL_BUILD="--with-num-cpus=$ncpus"
+ BUILD_SCRIPT_FLAGS="-P$ncpus"
+fi
if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
- PARALLEL_BUILD="$PARALLEL_BUILD -- -P%jobs"
+ PARALLEL_BUILD="$PARALLEL_BUILD
+ --with-gcc-speedup=icecream
+ --with-max-jobs=%jobs"
+ BUILD_SCRIPT_FLAGS="$BUILD_SCRIPT_FLAGS -- -P%jobs"
fi
-#
-# Distro settings ...
-%if 0%{?meego_version}
- with_distro="SUSE-11.1"
-%endif
-%if 0%{?suse_version} && 0%{?suse_version} <= 01110
- suse_major_ver=$((%{?suse_version} / 100))
- suse_minor_ver=$((%{?suse_version} / 10 - $suse_major_ver * 10))
- with_distro="SUSE-$suse_major_ver.$suse_minor_ver"
-%endif
-%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120
- with_distro="SUSE-11.2"
-%endif
-%if 0%{?suse_version} > 01120
- with_distro="SUSE"
-%endif
-#
-# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11
-%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel)
-DISABLE_KDE4=
-test "%{libkde4_devel_ver}" = "4.1.3" && DISABLE_KDE4="--disable-kde4"
%endif
# make sure that JAVA_HOME is set correctly
%if 0%{?suse_version}
@@ -197,51 +215,64 @@
export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing"
# FIXME: genccode from the system icu is in /usr/sbin
# FIXME: we need make-3.82 for parallel build
-export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin"
+export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin"
+# use the extra built zip-3.0 on older distributions
+%if %suse_version < 1140
+export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin"
+%endif
%if %prepare_build != 0
-./autogen.sh \
+./autogen.sh $PARALLEL_BUILD \
+ --libdir=%{_libdir} \
+ --prefix=%{_prefix} \
+ --mandir=%{_mandir} \
+ --sysconfdir=/etc \
+ --docdir=%{_docdir}/%{name} \
+ --with-vendor="Novell, Inc." \
+ --with-lang=%lo_langs \
+ --disable-fetch-external \
--with-external-tar="$RPM_SOURCE_DIR" \
- --with-arch-flags="$ARCH_FLAGS" \
- --libdir=%{_libdir} \
- --prefix=%{_prefix} \
- --mandir=%{_mandir} \
- --sysconfdir=/etc \
- --docdir=%{_docdir}/%{name} \
- --with-distro="$with_distro" \
- --without-git \
- --without-download \
- --with-lang=%lo_langs \
- --with-poor-help-localizations=%lo_poor_help_localizations \
- --with-jdk-home=$JAVA_HOME \
- --disable-cups \
- --disable-fontconfig \
- --without-junit \
- --without-system-jpeg \
- --disable-python \
- --disable-mozilla \
- --disable-mono \
- --without-system-curl \
- --disable-ldap \
- --without-system-odbc \
- --without-system-mozilla \
- --without-system-neon \
- --without-system-hunspell \
- --without-system-lpsolve \
- --disable-gtk \
+ --with-alloc=system \
+ --disable-strip-solver \
+ --with-jdk-home=$JAVA_HOME \
+ --with-java-target-version=1.5 \
+ --with-ant-home=/usr/share/ant \
+ --without-fonts \
+ --without-myspell-dicts \
--disable-kde \
--disable-kde4 \
+ --disable-gtk \
--disable-gconf \
--disable-gnome-vfs \
- --without-system-cairo \
+ --disable-evolution2 \
--disable-gstreamer \
--disable-opengl \
- --without-system-poppler \
- --disable-evolution2
+ --disable-python \
+ --disable-mono \
+ --disable-odk \
+ --without-junit \
+%if %debug_build == 0
+ --disable-ccache \
+%endif
+ --without-stlport \
+ --disable-mozilla \
+ --without-system-mozilla \
+ --disable-ldap \
+ --disable-cups \
+ --disable-fontconfig \
+ --with-system-dicts \
+ --with-system-libxml \
+ --with-system-openssl \
+ --with-system-icu \
+ --with-system-cppunit \
+ --with-system-expat \
+ --with-system-db \
+ --with-system-boost \
+ --without-system-jpeg
%endif
./bootstrap
. ./Env.Host.sh
cd helpcontent2
-build --all $PARALLEL_BUILD
+build --all $BUILD_SCRIPT_FLAGS
%install
. ./Env.Host.sh
++++++ libreoffice-help-groupX.spec.in ++++++
--- /var/tmp/diff_new_pack.a0XAaq/_old 2012-04-26 17:35:40.000000000 +0200
+++ /var/tmp/diff_new_pack.a0XAaq/_new 2012-04-26 17:35:40.000000000 +0200
@@ -31,6 +31,9 @@
# 1 = yes (the number is defined be the number of cpus)
# 2,3,4... = yes (force the number of modules to be built in parallel)
%define build_module_in_parallel 1
+# debug_build: 0 = no
+# 1 = yes (enable depency tracking, ccache)
+%define debug_build 0
# prepare_build: 0 = no
# 1 = yes (just build, install and create packages; without %%prep section and configure)
%define prepare_build 1
@@ -92,13 +95,6 @@
Source30: make-%gnu_make_version-gbuild-%gnu_make_snapshot.tar.bz2
# zip-3.0 or newer is required because of the --filesync feature
Source31: zip-%zip_version.tar.bz2
-# SUSE config files
-Source100: SUSE.conf
-Source101: SUSE-10.1.conf
-Source102: SUSE-11.1.conf
-Source103: SUSE-11.2.conf
-Source104: SUSE-11.3.conf
-Source105: SUSE-11.4.conf
# helper stuff to produce pieces of the spec file
Source200: libreoffice-help-groupX.spec.in
Source201: lo-help-gen-spec
@@ -107,6 +103,16 @@
Patch0: libreoffice-3.5-unpack-sources.diff
# cups is not needed for helpcontent build
Patch1: build-helpcontent-do-not-check-cups.diff
+# fix build with icu-4.9; it will be in upstream 3.5.3
+Patch2: buildfix-icu-4.9.diff
+#
+# Patches against zip-3.0
+Patch2000: zip-3.0-iso8859_2.patch
+Patch2001: zip-3.0-add_options_to_help.patch
+Patch2002: zip-3.0-nonexec-stack.patch
+Patch2003: zip-3.0-optflags.patch
+Patch2004: zip-3.0-tempfile.patch
+Patch2005: zip-notimestamp.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#!ExclusiveArch: %ix86 x86_64 ppc
BuildArch: noarch
@@ -123,10 +129,22 @@
%setup -q -a30 -a31 -n libreoffice-core-%version
%patch0
bin/unpack-sources `pwd` %{S:1} %{S:2}
-# SUSE config files
-cp %{S:100} %{S:101} %{S:102} %{S:103} %{S:104} %{S:105} distro-configs
# extra fixes
%patch1
+%patch2 -p1
+#
+# patch zip-3.0
+%if %suse_version < 1140
+tar -xjf %{S:31}
+cd zip30
+%patch2000
+%patch2001
+%patch2002
+%patch2003
+%patch2004
+%patch2005
+cd -
+%endif
%endif
%build
@@ -137,39 +155,31 @@
make %{?_smp_mflags}
cd -
#
-# second build zip-3.0
+# second build zip-3.0 on older distributions
+%if %suse_version < 1140
cd zip30
make %{?jobs:-j%jobs} -f unix/Makefile prefix=/usr CC="gcc $RPM_OPT_FLAGS -DLARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" generic_gcc
cd -
-#
-# Parallel build settings ...
+%endif
# parallel build of modules; it makes sense on machines with more CPUs
-PARALLEL_BUILD="-P`grep ^processor /proc/cpuinfo | wc -l`"
-# parallel build for files per module
+if test "%build_module_in_parallel" = "1" ; then
+ ncpus=`grep ^processor /proc/cpuinfo | wc -l`
+ PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=`grep ^processor /proc/cpuinfo | wc -l`"
+fi
+if test "%build_module_in_parallel" -gt "1" ; then
+ ncpus=%build_module_in_parallel
+ PARALLEL_BUILD="$PARALLEL_BUILD --with-num-cpus=%build_module_in_parallel"
+fi
+if test -n "$ncpus" ; then
+ PARALLEL_BUILD="--with-num-cpus=$ncpus"
+ BUILD_SCRIPT_FLAGS="-P$ncpus"
+fi
if test -n "%{?jobs:%jobs}" -a -e "/opt/icecream/bin/gcc" -a -e "/opt/icecream/bin/g++" ; then
- PARALLEL_BUILD="$PARALLEL_BUILD -- -P%jobs"
+ PARALLEL_BUILD="$PARALLEL_BUILD
+ --with-gcc-speedup=icecream
+ --with-max-jobs=%jobs"
+ BUILD_SCRIPT_FLAGS="$BUILD_SCRIPT_FLAGS -- -P%jobs"
fi
-#
-# Distro settings ...
-%if 0%{?meego_version}
- with_distro="SUSE-11.1"
-%endif
-%if 0%{?suse_version} && 0%{?suse_version} <= 01110
- suse_major_ver=$((%{?suse_version} / 100))
- suse_minor_ver=$((%{?suse_version} / 10 - $suse_major_ver * 10))
- with_distro="SUSE-$suse_major_ver.$suse_minor_ver"
-%endif
-%if 0%{?suse_version} > 01110 && 0%{?suse_version} <= 01120
- with_distro="SUSE-11.2"
-%endif
-%if 0%{?suse_version} > 01120
- with_distro="SUSE"
-%endif
-#
-# disable KDE4 on openSUSE-11.1-Evergreen but not on SLED11
-%define libkde4_devel_ver %(rpm -q --queryformat '%{VERSION}' libkde4-devel)
-DISABLE_KDE4=
-test "%{libkde4_devel_ver}" = "4.1.3" && DISABLE_KDE4="--disable-kde4"
%endif
# make sure that JAVA_HOME is set correctly
%if 0%{?suse_version}
@@ -182,50 +192,63 @@
export ARCH_FLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/\-O[0-9s]//g' -e 's/\-fexceptions//g'` -fno-strict-aliasing"
# FIXME: genccode from the system icu is in /usr/sbin
# FIXME: we need make-3.82 for parallel build
-export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin"
+export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/make-%gnu_make_version-gbuild:$PATH:/usr/sbin"
+# use the extra built zip-3.0 on older distributions
+%if %suse_version < 1140
+export PATH="$RPM_BUILD_DIR/libreoffice-core-%version/zip30:$PATH:/usr/sbin"
+%endif
%if %prepare_build != 0
-./autogen.sh \
+./autogen.sh $PARALLEL_BUILD \
+ --libdir=%{_libdir} \
+ --prefix=%{_prefix} \
+ --mandir=%{_mandir} \
+ --sysconfdir=/etc \
+ --docdir=%{_docdir}/%{name} \
+ --with-vendor="Novell, Inc." \
+ --with-lang=%lo_langs \
+ --disable-fetch-external \
--with-external-tar="$RPM_SOURCE_DIR" \
- --with-arch-flags="$ARCH_FLAGS" \
- --libdir=%{_libdir} \
- --prefix=%{_prefix} \
- --mandir=%{_mandir} \
- --sysconfdir=/etc \
- --docdir=%{_docdir}/%{name} \
- --with-distro="$with_distro" \
- --without-git \
- --without-download \
- --with-lang=%lo_langs \
- --with-poor-help-localizations=%lo_poor_help_localizations \
- --with-jdk-home=$JAVA_HOME \
- --disable-cups \
- --disable-fontconfig \
- --without-junit \
- --without-system-jpeg \
- --disable-mozilla \
- --disable-mono \
- --without-system-curl \
- --disable-ldap \
- --without-system-odbc \
- --without-system-mozilla \
- --without-system-neon \
- --without-system-hunspell \
- --without-system-lpsolve \
- --disable-gtk \
+ --with-alloc=system \
+ --disable-strip-solver \
+ --with-jdk-home=$JAVA_HOME \
+ --with-java-target-version=1.5 \
+ --with-ant-home=/usr/share/ant \
+ --without-fonts \
+ --without-myspell-dicts \
--disable-kde \
--disable-kde4 \
+ --disable-gtk \
--disable-gconf \
--disable-gnome-vfs \
- --without-system-cairo \
+ --disable-evolution2 \
--disable-gstreamer \
--disable-opengl \
- --without-system-poppler \
- --disable-evolution2
+ --disable-mono \
+ --disable-odk \
+ --without-junit \
+%if %debug_build == 0
+ --disable-ccache \
+%endif
+ --without-stlport \
+ --disable-mozilla \
+ --without-system-mozilla \
+ --disable-ldap \
+ --disable-cups \
+ --disable-fontconfig \
+ --with-system-dicts \
+ --with-system-libxml \
+ --with-system-openssl \
+ --with-system-icu \
+ --with-system-cppunit \
+ --with-system-expat \
+ --with-system-db \
+ --with-system-boost \
+ --without-system-jpeg
%endif
./bootstrap
. ./Env.Host.sh
cd helpcontent2
-build --all $PARALLEL_BUILD
+build --all $BUILD_SCRIPT_FLAGS
%install
. ./Env.Host.sh
++++++ pyuno-path.diff ++++++
--- /var/tmp/diff_new_pack.a0XAaq/_old 2012-04-26 17:35:40.000000000 +0200
+++ /var/tmp/diff_new_pack.a0XAaq/_new 2012-04-26 17:35:40.000000000 +0200
@@ -7,9 +7,9 @@
+import platform
+
+if platform.machine() == 'x86_64':
-+ sys.path.append('/usr/lib64/libreoffice/basis-link/program')
++ sys.path.append('/usr/lib64/libreoffice/program')
+else:
-+ sys.path.append('/usr/lib/libreoffice/basis-link/program')
++ sys.path.append('/usr/lib/libreoffice/program')
if getattr(os.environ, 'URE_BOOTSTRAP', None) is None:
os.environ['URE_BOOTSTRAP'] = "vnd.sun.star.pathname:@INSTALLDIR@/program/fundamentalrc"
--
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 kiwi for openSUSE:Factory checked in at 2012-04-26 14:45:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kiwi (Old)
and /work/SRC/openSUSE:Factory/.kiwi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi", Maintainer is "ms(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kiwi/kiwi.changes 2012-04-23 09:15:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kiwi.new/kiwi.changes 2012-04-26 14:45:40.000000000 +0200
@@ -1,0 +2,72 @@
+Thu Apr 26 12:19:36 CEST 2012 - ms(a)suse.de
+
+- v5.03.01 relased
+
+-------------------------------------------------------------------
+Thu Apr 26 11:57:25 CEST 2012 - ms(a)suse.de
+
+- make sure libext2fs stays inside the initrd, it's required
+ for tune2fs on Factory/openSUSE 12.2
+
+-------------------------------------------------------------------
+Thu Apr 26 10:56:24 CEST 2012 - ms(a)suse.de
+
+- fixed evaluation of --edit-bootconfig. There is either the
+ choice for setting the value on the commandline or as attribute
+ inside the XML description. Before this fix the code did not
+ correctly get the value depending on how kiwi is called
+- make sure any iso is created via the KIWIISOLinux provided
+ functions. According to this editbootconfig now also works
+ for the creation of installs ISO's
+
+-------------------------------------------------------------------
+Wed Apr 25 17:00:47 CEST 2012 - ms(a)suse.de
+
+- make sure grub menu.lst is correctly utf-8 encoded
+
+-------------------------------------------------------------------
+Wed Apr 25 16:56:10 CEST 2012 - ms(a)suse.de
+
+- added __hasValidLVMName() runtime check. This checks if the
+ optional LVM group name already exist on the build host.
+
+-------------------------------------------------------------------
+Wed Apr 25 15:47:03 CEST 2012 - ms(a)suse.de
+
+- fixed typo in error message, $! is empty but we stored the
+ messages in $status
+
+-------------------------------------------------------------------
+Tue Apr 24 18:00:50 CEST 2012 - ms(a)suse.de
+
+- fixed flag state for iso in extras/suse-11.4/suse-min-gnome
+
+-------------------------------------------------------------------
+Tue Apr 24 12:50:31 CEST 2012 - ms(a)suse.de
+
+- redirect errors from rpm --rebuilddb into the result variable
+
+-------------------------------------------------------------------
+Mon Apr 23 16:02:18 CEST 2012 - ms(a)suse.de
+
+- v5.02.25 released
+
+-------------------------------------------------------------------
+Sun Apr 22 14:37:09 CEST 2012 - ms(a)suse.de
+
+- fixed loop in partition size check
+
+-------------------------------------------------------------------
+Sun Apr 22 14:31:56 CEST 2012 - ms(a)suse.de
+
+- added a check for the split read/write partition size
+ when creating the virtual disk.
+
+-------------------------------------------------------------------
+Sat Apr 21 11:10:31 CEST 2012 - rjschwei(a)suse.de
+
+- add unit tests for the getOEM* methods
+ Prior to undertacing the restructuring of the XML object we need to get
+ unit tests in place
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kiwi.spec ++++++
--- /var/tmp/diff_new_pack.YzKJPo/_old 2012-04-26 14:45:42.000000000 +0200
+++ /var/tmp/diff_new_pack.YzKJPo/_new 2012-04-26 14:45:42.000000000 +0200
@@ -22,7 +22,7 @@
Summary: OpenSuSE - KIWI Image System
License: GPL-2.0
Group: System/Management
-Version: 5.02.24
+Version: 5.03.01
Release: 0
# requirements to build packages
BuildRequires: gcc-c++
++++++ kiwi-docu.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/kiwi/kiwi-docu.tar.bz2 /work/SRC/openSUSE:Factory/.kiwi.new/kiwi-docu.tar.bz2 differ: char 11, line 1
++++++ kiwi.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/.revision new/kiwi/.revision
--- old/kiwi/.revision 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/.revision 2012-04-20 13:43:32.000000000 +0200
@@ -1 +1 @@
-9026edecdc726157659543b374e5dedf27015fad
+a6277e7aaee6cdd88b451e324b782ff950a205c5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIBoot.pm new/kiwi/modules/KIWIBoot.pm
--- old/kiwi/modules/KIWIBoot.pm 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/modules/KIWIBoot.pm 2012-04-26 12:22:11.000000000 +0200
@@ -1003,18 +1003,16 @@
$name = $wdir."/".$name;
}
my $iso = new KIWIIsoLinux (
- $kiwi,$tmpdir,$name,undef,"checkmedia",$this->{cmdL}
+ $kiwi,$tmpdir,$name,$base.' '.$opts,"checkmedia",
+ $this->{cmdL},$this->{xml}
);
if (! defined $iso) {
return;
}
- my $tool= $iso -> getTool();
if ($bootloader =~ /(sys|ext)linux/) {
$iso -> createISOLinuxConfig ("/boot");
}
- $status = qxx ("cd $tmpdir && $tool $base $opts -o $name . 2>&1");
- $result = $? >> 8;
- if ($result != 0) {
+ if (! $iso -> createISO()) {
$kiwi -> failed ();
$kiwi -> error ("Failed creating ISO image: $status");
$kiwi -> failed ();
@@ -2006,14 +2004,23 @@
# check system partition size
#------------------------------------------
my $sizeOK = 1;
+ my $splitPSize = 1;
+ my $splitISize = 0;
my $systemPSize = $this->getStorageSize ($root);
my $systemISize = $main::global -> isize ($system);
$systemISize /= 1024;
chomp $systemPSize;
#print "_______A $systemPSize : $systemISize\n";
- if ($systemPSize <= $systemISize) {
+ if ($haveSplit) {
+ $splitPSize = $this->getStorageSize ($deviceMap{3});
+ $splitISize = $main::global -> isize ($splitfile);
+ $splitISize /= 1024;
+ chomp $splitPSize;
+ #print "_______B $splitPSize : $splitISize\n";
+ }
+ if (($systemPSize <= $systemISize) || ($splitPSize <= $splitISize)) {
#==========================================
- # system partition still too small
+ # system partition(s) still too small
#------------------------------------------
sleep (1);
$this -> deleteVolumeGroup();
@@ -2405,7 +2412,7 @@
my $status = qxx ("$unzip | (cd $irddir && cpio -di 2>&1)");
$result = $? >> 8;
if ($result != 0) {
- $kiwi -> error ("Failed to extract initrd data: $!");
+ $kiwi -> error ("Failed to extract initrd data: $status");
$kiwi -> failed ();
qxx ("rm -rf $irddir");
return;
@@ -3318,6 +3325,7 @@
#==========================================
# General grub setup
#------------------------------------------
+ binmode(FD, ":encoding(UTF-8)");
print FD "color cyan/blue white/blue\n";
print FD "default $defaultBootNr\n";
my $bootTimeout = 10;
@@ -4061,6 +4069,7 @@
my $chainload= $this->{chainload};
my $lvm = $this->{lvm};
my $cmdL = $this->{cmdL};
+ my $xml = $this->{xml};
my $locator = new KIWILocator($kiwi);
my $result;
my $status;
@@ -4069,6 +4078,9 @@
#------------------------------------------
if ($cmdL) {
my $editBoot = $cmdL -> getEditBootConfig();
+ if (! $editBoot) {
+ $editBoot = $xml -> getEditBootConfig();
+ }
if (($editBoot) && (-e $editBoot)) {
system ("cd $tmpdir && bash --norc -c $editBoot");
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIConfig.txt new/kiwi/modules/KIWIConfig.txt
--- old/kiwi/modules/KIWIConfig.txt 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/modules/KIWIConfig.txt 2012-04-26 12:22:11.000000000 +0200
@@ -245,6 +245,7 @@
<file name="libutempter"/>
<file name="libutil"/>
<file name="libkmod"/>
+ <file name="libext2fs"/>
</strip>
</initrd>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIGlobals.pm new/kiwi/modules/KIWIGlobals.pm
--- old/kiwi/modules/KIWIGlobals.pm 2012-04-20 13:43:37.000000000 +0200
+++ new/kiwi/modules/KIWIGlobals.pm 2012-04-26 12:22:11.000000000 +0200
@@ -42,7 +42,7 @@
# Globals (generic)
#------------------------------------------
my %data;
- $data{Version} = "5.02.24";
+ $data{Version} = "5.03.01";
$data{Publisher} = "SUSE LINUX Products GmbH";
$data{Preparer} = "KIWI - http://kiwi.berlios.de";
$data{ConfigName} = "config.xml";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIImage.pm new/kiwi/modules/KIWIImage.pm
--- old/kiwi/modules/KIWIImage.pm 2012-04-20 13:43:37.000000000 +0200
+++ new/kiwi/modules/KIWIImage.pm 2012-04-26 12:22:11.000000000 +0200
@@ -2101,7 +2101,7 @@
}
$attr .= " -A \"$this->{mbrid}\"";
my $isolinux = new KIWIIsoLinux (
- $kiwi,$CD,$name,$attr,"checkmedia",$this->{cmdL}
+ $kiwi,$CD,$name,$attr,"checkmedia",$this->{cmdL},$this->{xml}
);
if (defined $isolinux) {
$isoerror = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIImageCreator.pm new/kiwi/modules/KIWIImageCreator.pm
--- old/kiwi/modules/KIWIImageCreator.pm 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/modules/KIWIImageCreator.pm 2012-04-26 12:22:11.000000000 +0200
@@ -459,13 +459,6 @@
$kiwi,$cmdL,$xml
);
#==========================================
- # Check for edit bootconfig in XML
- #------------------------------------------
- my $editBoot = $xml -> getEditBootConfig();
- if ($editBoot) {
- $cmdL -> setEditBootConfig ($editBoot);
- }
- #==========================================
# Check for default destination in XML
#------------------------------------------
if (! $target) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIIsoLinux.pm new/kiwi/modules/KIWIIsoLinux.pm
--- old/kiwi/modules/KIWIIsoLinux.pm 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/modules/KIWIIsoLinux.pm 2012-04-26 12:22:11.000000000 +0200
@@ -57,7 +57,8 @@
my $dest = shift; # destination for the iso file
my $params = shift; # global genisoimage/mkisofs parameters
my $mediacheck = shift; # run tagmedia with --check y/n
- my $cmdL = shift; # commandline params
+ my $cmdL = shift; # commandline params: optional
+ my $xml = shift; # system image XML: optional
#==========================================
# Constructor setup
#------------------------------------------
@@ -206,6 +207,7 @@
$this -> {check} = $mediacheck;
$this -> {gdata} = $main::global -> getGlobals();
$this -> {cmdL} = $cmdL;
+ $this -> {xml} = $xml;
return $this;
}
@@ -686,9 +688,13 @@
my $ldir = $this -> {tmpdir};
my $prog = $this -> {tool};
my $cmdL = $this -> {cmdL};
+ my $xml = $this -> {xml};
my $cmdln= "$prog $para -o $dest $ldir $src 2>&1";
if ($cmdL) {
my $editBoot = $cmdL -> getEditBootConfig();
+ if ((! $editBoot) && ($xml)) {
+ $editBoot = $xml -> getEditBootConfig();
+ }
if (($editBoot) && (-e $editBoot)) {
system ("cd $src && bash --norc -c $editBoot");
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIManager.pm new/kiwi/modules/KIWIManager.pm
--- old/kiwi/modules/KIWIManager.pm 2012-04-20 13:43:37.000000000 +0200
+++ new/kiwi/modules/KIWIManager.pm 2012-04-26 12:22:11.000000000 +0200
@@ -1000,7 +1000,7 @@
$kiwi -> done();
} else {
$kiwi -> info ('Rebuild RPM package db...');
- $data = qxx ("@kchroot /bin/rpm --rebuilddb");
+ $data = qxx ("@kchroot /bin/rpm --rebuilddb 2>&1");
$kiwi -> done();
}
}
@@ -2562,7 +2562,7 @@
if ($code != 0) {
$kiwi -> info ('Rebuild RPM package db...');
$data = qxx ("@kchroot /bin/rm -rf /var/lib/rpm/*");
- $data = qxx ("@kchroot /bin/rpm --rebuilddb");
+ $data = qxx ("@kchroot /bin/rpm --rebuilddb 2>&1");
$code = $? >> 8;
if ($code != 0) {
$kiwi -> failed ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/modules/KIWIRuntimeChecker.pm new/kiwi/modules/KIWIRuntimeChecker.pm
--- old/kiwi/modules/KIWIRuntimeChecker.pm 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/modules/KIWIRuntimeChecker.pm 2012-04-26 12:22:11.000000000 +0200
@@ -101,6 +101,9 @@
if (! $this -> __checkPackageManagerExists()) {
return;
}
+ if (! $this -> __hasValidLVMName()) {
+ return;
+ }
return 1;
}
@@ -137,6 +140,40 @@
# Private helper methods
#------------------------------------------
#==========================================
+# __hasValidLVMName
+#------------------------------------------
+sub __hasValidLVMName {
+ # ...
+ # check if the optional LVM group name doesn't
+ # exist on the build host
+ # ---
+ my $this = shift;
+ my $kiwi = $this->{kiwi};
+ my $xml = $this->{xml};
+ my $vgroupName = $xml -> getLVMGroupName();
+ if (! $vgroupName) {
+ return 1;
+ }
+ my @hostGroups = qxx ("vgs --noheadings -o vg_name 2>/dev/null");
+ chomp @hostGroups;
+ foreach my $hostGroup (@hostGroups) {
+ $hostGroup =~ s/^\s+//g;
+ $hostGroup =~ s/\s+$//g;
+ if ($hostGroup eq $vgroupName) {
+ my $msg = "There is already a volume group ";
+ $msg .= "named \"$vgroupName\" on this build host";
+ $kiwi -> error ($msg);
+ $kiwi -> failed ();
+ $msg = "Please choose another name in your image configuration";
+ $kiwi -> error ($msg);
+ $kiwi -> failed ();
+ return;
+ }
+ }
+ return 1;
+}
+
+#==========================================
# __hasValidArchives
#------------------------------------------
sub __hasValidArchives {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/tests/unit/data/kiwiXML/oemSettings/config.xml new/kiwi/tests/unit/data/kiwiXML/oemSettings/config.xml
--- old/kiwi/tests/unit/data/kiwiXML/oemSettings/config.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/kiwi/tests/unit/data/kiwiXML/oemSettings/config.xml 2012-04-23 16:05:07.000000000 +0200
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<image schemaversion="5.3" name="testCase-OEM-settings">
+ <description type="system">
+ <author>Robert Schweikert</author>
+ <contact>rjschwei(a)suse.com</contact>
+ <specification>Test configuration to verify OEM setting are stored and returned properly in the XML object</specification>
+ </description>
+ <preferences>
+ <type image="oem" filesystem="ext4" boot="oemboot/suse-12.1" installiso="true">
+ <oemconfig>
+ <oem-align-partition>true</oem-align-partition>
+ <oem-boot-title>Unit Test</oem-boot-title>
+ <oem-bootwait>false</oem-bootwait>
+ <oem-inplace-recovery>true</oem-inplace-recovery>
+ <oem-kiwi-initrd>true</oem-kiwi-initrd>
+ <oem-partition-install>false</oem-partition-install>
+ <oem-reboot>false</oem-reboot>
+ <oem-reboot-interactive>false</oem-reboot-interactive>
+ <oem-recovery>true</oem-recovery>
+ <oem-recoveryID>20</oem-recoveryID>
+ <oem-silent-boot>true</oem-silent-boot>
+ <oem-shutdown>false</oem-shutdown>
+ <oem-shutdown-interactive>true</oem-shutdown-interactive>
+ <oem-swap>true</oem-swap>
+ <oem-swapsize>2048</oem-swapsize>
+ <oem-systemsize>20G</oem-systemsize>
+ <oem-unattended>true</oem-unattended>
+ <oem-unattended-id>scsi-SATA_ST9500420AS_5VJ5JL6T-part1</oem-unattended-id>
+ </oemconfig>
+ </type>
+ <version>0.0.1</version>
+ <rpm-check-signatures>false</rpm-check-signatures>
+ <rpm-force>true</rpm-force>
+ <locale>en_US</locale>
+ <keytable>us.map.gz</keytable>
+ </preferences>
+ <users group="root">
+ <user pwd="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root"/>
+ </users>
+ <repository type="yast2">
+ <source path="opensuse://12.1/repo/oss/"/>
+ </repository>
+ <packages type="image">
+ <package name="kernel-default"/>
+ <opensusePattern name="base"/>
+ </packages>
+ <packages type="bootstrap">
+ <package name="filesystem"/>
+ <package name="glibc-locale"/>
+ </packages>
+</image>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kiwi/tests/unit/lib/Test/kiwiXML.pm new/kiwi/tests/unit/lib/Test/kiwiXML.pm
--- old/kiwi/tests/unit/lib/Test/kiwiXML.pm 2012-04-20 13:43:32.000000000 +0200
+++ new/kiwi/tests/unit/lib/Test/kiwiXML.pm 2012-04-23 16:05:07.000000000 +0200
@@ -4,7 +4,7 @@
# PROJECT : OpenSUSE Build-Service
# COPYRIGHT : (c) 2011 Novell Inc.
# :
-# AUTHOR : Robert Schweikert <rschweikert(a)novell.com>
+# AUTHOR : Robert Schweikert <rschweikert(a)suse.com>
# :
# BELONGS TO : Operating System images
# :
@@ -47,6 +47,440 @@
}
#==========================================
+# test_getOEMAlignPartition
+#------------------------------------------
+sub test_getOEMAlignPartition {
+ # ...
+ # Verify proper return of getOEMAlignPartition method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMAlignPartition();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('true', $value);
+}
+
+#==========================================
+# test_getOEMBootTitle
+#------------------------------------------
+sub test_getOEMBootTitle {
+ # ...
+ # Verify proper return of getOEMBootTitle method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMBootTitle();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('Unit Test', $value);
+}
+
+#==========================================
+# test_getOEMBootWait
+#------------------------------------------
+sub test_getOEMBootWait {
+ # ...
+ # Verify proper return of getOEMBootWait method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMBootWait();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('false', $value);
+}
+
+#==========================================
+# test_getOEMKiwiInitrd
+#------------------------------------------
+sub test_getOEMKiwiInitrd {
+ # ...
+ # Verify proper return of getOEMKiwiInitrd method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMKiwiInitrd();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('true', $value);
+}
+
+#==========================================
+# test_getOEMPartitionInstall
+#------------------------------------------
+sub test_getOEMPartitionInstall {
+ # ...
+ # Verify proper return of getOEMPartitionInstall method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMPartitionInstall();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('false', $value);
+}
+
+#==========================================
+# test_getOEMReboot
+#------------------------------------------
+sub test_getOEMReboot {
+ # ...
+ # Verify proper return of getOEMReboot method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMReboot();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('false', $value);
+}
+
+#==========================================
+# test_getOEMRebootInter
+#------------------------------------------
+sub test_getOEMRebootInter {
+ # ...
+ # Verify proper return of getOEMRebootInter method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMRebootInter();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('false', $value);
+}
+
+#==========================================
+# test_getOEMRecovery
+#------------------------------------------
+sub test_getOEMRecovery {
+ # ...
+ # Verify proper return of getOEMRecovery method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMRecovery();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('true', $value);
+}
+
+#==========================================
+# test_getOEMRecoveryID
+#------------------------------------------
+sub test_getOEMRecoveryID {
+ # ...
+ # Verify proper return of getOEMRecoveryID method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMRecoveryID();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('20', $value);
+}
+
+#==========================================
+# test_getOEMRecoveryInPlace
+#------------------------------------------
+sub test_getOEMRecoveryInPlace {
+ # ...
+ # Verify proper return of getOEMRecoveryInPlace method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMRecoveryInPlace();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('true', $value);
+}
+
+#==========================================
+# test_getOEMShutdown
+#------------------------------------------
+sub test_getOEMShutdown {
+ # ...
+ # Verify proper return of getOEMShutdown method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMShutdown();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('false', $value);
+}
+
+#==========================================
+# test_getOEMShutdownInter
+#------------------------------------------
+sub test_getOEMShutdownInter {
+ # ...
+ # Verify proper return of getOEMShutdownInter method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMShutdownInter();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('true', $value);
+}
+
+#==========================================
+# test_getOEMSilentBoot
+#------------------------------------------
+sub test_getOEMSilentBoot {
+ # ...
+ # Verify proper return of getOEMSilentBoot method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMSilentBoot();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('true', $value);
+}
+
+#==========================================
+# test_getOEMSwap
+#------------------------------------------
+sub test_getOEMSwap {
+ # ...
+ # Verify proper return of getOEMSwap method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMSwap();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('true', $value);
+}
+
+#==========================================
+# test_getOEMSwapSize
+#------------------------------------------
+sub test_getOEMSwapSize {
+ # ...
+ # Verify proper return of getOEMSwapSize method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMSwapSize();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('2048', $value);
+}
+
+#==========================================
+# test_getOEMSystemSize
+#------------------------------------------
+sub test_getOEMSystemSize {
+ # ...
+ # Verify proper return of getOEMSystemSize method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMSystemSize();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('20G', $value);
+}
+
+#==========================================
+# test_getOEMUnattended
+#------------------------------------------
+sub test_getOEMUnattended {
+ # ...
+ # Verify proper return of getOEMUnattended method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMUnattended();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('true', $value);
+}
+
+#==========================================
+# test_getOEMUnattendedID
+#------------------------------------------
+sub test_getOEMUnattendedID {
+ # ...
+ # Verify proper return of getOEMUnattendedID method
+ # ---
+ my $this = shift;
+ my $kiwi = $this -> {kiwi};
+ my $confDir = $this->{dataDir} . 'oemSettings';
+ my $xml = new KIWIXML(
+ $this -> {kiwi}, $confDir, undef, undef,$this->{cmdL}
+ );
+ my $value = $xml -> getOEMUnattendedID();
+ my $msg = $kiwi -> getMessage();
+ $this -> assert_str_equals('No messages set', $msg);
+ my $msgT = $kiwi -> getMessageType();
+ $this -> assert_str_equals('none', $msgT);
+ my $state = $kiwi -> getState();
+ $this -> assert_str_equals('No state set', $state);
+ # Test this condition last to get potential error messages
+ $this -> assert_str_equals('scsi-SATA_ST9500420AS_5VJ5JL6T-part1', $value);
+}
+
+
+
+#==========================================
# test_packageManagerInfoHasConfigValue
#------------------------------------------
sub test_packageManagerInfoHasConfigValue {
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0