openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2015
- 1 participants
- 1128 discussions
Hello community,
here is the log from the commit of package WindowMaker for openSUSE:13.1:Update checked in at 2015-09-30 13:04:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/WindowMaker (Old)
and /work/SRC/openSUSE:13.1:Update/.WindowMaker.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "WindowMaker"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.lG3gSx/_old 2015-09-30 13:04:22.000000000 +0200
+++ /var/tmp/diff_new_pack.lG3gSx/_new 2015-09-30 13:04:22.000000000 +0200
@@ -1 +1 @@
-<link package='WindowMaker.2738' cicount='copy' />
+<link package='WindowMaker.4036' cicount='copy' />
1
0
Hello community,
here is the log from the commit of package mate-tweak for openSUSE:Factory checked in at 2015-09-30 06:37:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mate-tweak (Old)
and /work/SRC/openSUSE:Factory/.mate-tweak.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mate-tweak"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mate-tweak/mate-tweak.changes 2015-08-28 08:27:54.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mate-tweak.new/mate-tweak.changes 2015-09-30 06:37:59.000000000 +0200
@@ -1,0 +2,15 @@
+Tue Sep 29 17:42:05 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 3.5.2a:
+ * Remove all deprecated GTK+ properties (deb#797033).
+ * Fix switching to Metacity so the currently selected theme is
+ retained. (lp#1500882).
+ * Fix CTRL+C not closing MATE Tweak (lp#1500884).
+ * Fix Plank not being retained when saving a custom theme
+ (lp#1500885).
+ * Make irrelevant UI element insensitive rather than hiding them
+ (lp#1500886).
+ * Fix leaving multiple volume applets enabled when switching
+ panel layouts (lp#1500919).
+
+-------------------------------------------------------------------
Old:
----
mate-tweak-3.5.2.tar.gz
New:
----
mate-tweak-3.5.2a.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mate-tweak.spec ++++++
--- /var/tmp/diff_new_pack.5rJyC1/_old 2015-09-30 06:38:00.000000000 +0200
+++ /var/tmp/diff_new_pack.5rJyC1/_new 2015-09-30 06:38:00.000000000 +0200
@@ -17,9 +17,9 @@
%define _name mate_tweak
-%define _rev 78307aaa6fc1
+%define _rev 8df794d91ecf
Name: mate-tweak
-Version: 3.5.2
+Version: 3.5.2a
Release: 0
Summary: MATE desktop tweak tool
License: GPL-2.0+
@@ -36,7 +36,6 @@
Requires: Mesa-demo-x
Requires: dconf
Requires: python3-configobj
-Requires: wmctrl
# For privilege granting.
Requires: xdg-utils
Recommends: %{name}-lang
@@ -71,7 +70,7 @@
# Give gi-find-deps.sh a bait.
ln -s %{_bindir}/%{name} %{buildroot}%{_libexecdir}/%{name}/%{name}.py
-%fdupes %{buildroot}%{python3_sitelib}
+%fdupes %{buildroot}%{python3_sitelib}/
%find_lang %{name}
%post
++++++ mate-tweak-3.5.2.tar.gz -> mate-tweak-3.5.2a.tar.gz ++++++
++++ 2239 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package chromium for openSUSE:Factory checked in at 2015-09-30 06:37:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chromium (Old)
and /work/SRC/openSUSE:Factory/.chromium.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium"
Changes:
--------
--- /work/SRC/openSUSE:Factory/chromium/chromium.changes 2015-09-16 10:37:37.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.chromium.new/chromium.changes 2015-09-30 06:37:50.000000000 +0200
@@ -1,0 +2,17 @@
+Tue Sep 22 10:51:48 UTC 2015 - tittiatcoke(a)gmail.com
+
+- Update to Chromium 45.0.2454.99
+ - No changelog available
+
+- Add upstream patch correct-blacklist.diff
+ * This should restore the correct behavior of the option
+ --ignore-gpu-blacklist.
+ https://code.google.com/p/chromium/issues/detail?id=509336
+
+-------------------------------------------------------------------
+Wed Sep 16 20:06:33 UTC 2015 - tittiatcoke(a)gmail.com
+
+- Update to Chromium 45.0.2454.93
+ - No changelog available
+
+-------------------------------------------------------------------
Old:
----
chromium-45.0.2454.85.tar.xz
New:
----
chromium-45.0.2454.99.tar.xz
correct-blacklist.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ chromium.spec ++++++
--- /var/tmp/diff_new_pack.jvxP8x/_old 2015-09-30 06:37:59.000000000 +0200
+++ /var/tmp/diff_new_pack.jvxP8x/_new 2015-09-30 06:37:59.000000000 +0200
@@ -20,7 +20,7 @@
%define chromium_system_libs 0
Name: chromium
-Version: 45.0.2454.85
+Version: 45.0.2454.99
Release: 0
Summary: Google's opens source browser project
License: BSD-3-Clause and LGPL-2.1+
@@ -65,6 +65,8 @@
Patch9: no-clang-on-packman.diff
# PATCH-FIX-OPENSUSE gcc50-fixes.diff - Fix the GCC version detection
Patch10: gcc50-fixes.diff
+# PATCH-FIX-UPSTREAM correct-blacklist.diff
+Patch11: correct-blacklist.diff
# archlinux arm enhancement patches
Patch100: arm-webrtc-fix.patch
@@ -283,6 +285,7 @@
%if 0%{?suse_version} > 1320
%patch10 -p0
%endif
+%patch11 -p1
#Upstream fixes
++++++ chromium-45.0.2454.85.tar.xz -> chromium-45.0.2454.99.tar.xz ++++++
/work/SRC/openSUSE:Factory/chromium/chromium-45.0.2454.85.tar.xz /work/SRC/openSUSE:Factory/.chromium.new/chromium-45.0.2454.99.tar.xz differ: char 27, line 1
++++++ correct-blacklist.diff ++++++
diff --git a/chromecast/browser/cast_browser_main_parts.cc b/chromecast/browser/cast_browser_main_parts.cc
index c39b9d9..80e17d8 100644
--- a/chromecast/browser/cast_browser_main_parts.cc
+++ b/chromecast/browser/cast_browser_main_parts.cc
@@ -190,6 +190,11 @@
// Needed to fix a bug where the raster thread doesn't get scheduled for a
// substantial time (~5 seconds). See https://crbug.com/441895.
{ switches::kUseNormalPriorityForTileTaskWorkerThreads, "" },
+ // Needed so that our call to GpuDataManager::SetGLStrings doesn't race
+ // against GPU process creation (which is otherwise triggered from
+ // BrowserThreadsStarted). The GPU process will be created as soon as a
+ // renderer needs it, which always happens after main loop starts.
+ { switches::kDisableGpuEarlyInit, "" },
{ NULL, NULL }, // Termination
};
@@ -279,7 +284,10 @@
gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE,
cast_browser_process_->cast_screen());
#endif
+ return 0;
+}
+void CastBrowserMainParts::PreMainMessageLoopRun() {
#if !defined(OS_ANDROID)
// Set GL strings so GPU config code can make correct feature blacklisting/
// whitelisting decisions.
@@ -290,10 +298,6 @@
sys_info->GetGlVersion());
#endif // !defined(OS_ANDROID)
- return 0;
-}
-
-void CastBrowserMainParts::PreMainMessageLoopRun() {
scoped_refptr<PrefRegistrySimple> pref_registry(new PrefRegistrySimple());
metrics::RegisterPrefs(pref_registry.get());
cast_browser_process_->SetPrefService(
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
index 8d55e11..d1c8952 100644
--- a/content/browser/browser_main_loop.cc
+++ b/content/browser/browser_main_loop.cc
@@ -659,14 +659,6 @@
}
int BrowserMainLoop::PreCreateThreads() {
- // Need to initialize in-process GpuDataManager before creating threads.
- // It's unsafe to append the gpu command line switches to the global
- // CommandLine::ForCurrentProcess object after threads are created.
- // Also need to initialize before BrowserMainParts::PreCreateThreads, so
- // BrowserMainParts has a hook to set GpuDataManager strings before
- // starting Gpu process.
- GpuDataManagerImpl::GetInstance()->Initialize();
-
if (parts_) {
TRACE_EVENT0("startup",
"BrowserMainLoop::CreateThreads:PreCreateThreads");
@@ -709,6 +701,12 @@
}
#endif
+ // 1) Need to initialize in-process GpuDataManager before creating threads.
+ // It's unsafe to append the gpu command line switches to the global
+ // CommandLine::ForCurrentProcess object after threads are created.
+ // 2) Must be after parts_->PreCreateThreads to pick up chrome://flags.
+ GpuDataManagerImpl::GetInstance()->Initialize();
+
#if !defined(OS_IOS) && (!defined(GOOGLE_CHROME_BUILD) || defined(OS_ANDROID))
// Single-process is an unsupported and not fully tested mode, so
// don't enable it for official Chrome builds (except on Android).
1
0
Hello community,
here is the log from the commit of package python-wheel for openSUSE:Factory checked in at 2015-09-30 06:37:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-wheel (Old)
and /work/SRC/openSUSE:Factory/.python-wheel.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-wheel"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-wheel/python-wheel.changes 2015-04-07 09:29:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-wheel.new/python-wheel.changes 2015-09-30 06:37:38.000000000 +0200
@@ -1,0 +2,12 @@
+Tue Sep 29 08:01:25 UTC 2015 - tbechtold(a)suse.com
+
+- update to 0.26.0:
+ * Fix multiple entrypoint comparison failure on Python 3 (Issue #148)
+ * Add Python 3.5 to tox configuration
+ * Deterministic (sorted) metadata
+ * Fix tagging for Python 3.5 compatibility
+ * Support py2-none-'arch' and py3-none-'arch' tags
+ * Treat data-only wheels as pure
+ * Write to temporary file and rename when using wheel install --force
+
+-------------------------------------------------------------------
Old:
----
wheel-0.24.0.tar.gz
New:
----
wheel-0.26.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-wheel.spec ++++++
--- /var/tmp/diff_new_pack.qRyULk/_old 2015-09-30 06:37:39.000000000 +0200
+++ /var/tmp/diff_new_pack.qRyULk/_new 2015-09-30 06:37:39.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-wheel
-Version: 0.24.0
+Version: 0.26.0
Release: 0
Summary: A built-package format for Python
License: MIT
++++++ wheel-0.24.0.tar.gz -> wheel-0.26.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/CHANGES.txt new/wheel-0.26.0/CHANGES.txt
--- old/wheel-0.24.0/CHANGES.txt 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/CHANGES.txt 2015-09-18 20:02:17.000000000 +0200
@@ -1,3 +1,16 @@
+0.26.0
+======
+- Fix multiple entrypoint comparison failure on Python 3 (Issue #148)
+
+0.25.0
+======
+- Add Python 3.5 to tox configuration
+- Deterministic (sorted) metadata
+- Fix tagging for Python 3.5 compatibility
+- Support py2-none-'arch' and py3-none-'arch' tags
+- Treat data-only wheels as pure
+- Write to temporary file and rename when using wheel install --force
+
0.24.0
======
- The python tag used for pure-python packages is now .pyN (major version
@@ -14,7 +27,7 @@
0.23.0
======
-- Compatibiltiy tag flags added to the bdist_wheel command
+- Compatibility tag flags added to the bdist_wheel command
- sdist should include files necessary for tests
- 'wheel convert' can now also convert unpacked eggs to wheel
- Rename pydist.json to metadata.json to avoid stepping on the PEP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/PKG-INFO new/wheel-0.26.0/PKG-INFO
--- old/wheel-0.24.0/PKG-INFO 2014-07-06 18:56:22.000000000 +0200
+++ new/wheel-0.26.0/PKG-INFO 2015-09-18 20:03:13.000000000 +0200
@@ -1,8 +1,8 @@
Metadata-Version: 1.1
Name: wheel
-Version: 0.24.0
+Version: 0.26.0
Summary: A built-package format for Python.
-Home-page: http://bitbucket.org/pypa/wheel/
+Home-page: https://bitbucket.org/pypa/wheel/
Author: Daniel Holth
Author-email: dholth(a)fastmail.fm
License: MIT
@@ -49,6 +49,19 @@
+ 0.26.0
+ ======
+ - Fix multiple entrypoint comparison failure on Python 3 (Issue #148)
+
+ 0.25.0
+ ======
+ - Add Python 3.5 to tox configuration
+ - Deterministic (sorted) metadata
+ - Fix tagging for Python 3.5 compatibility
+ - Support py2-none-'arch' and py3-none-'arch' tags
+ - Treat data-only wheels as pure
+ - Write to temporary file and rename when using wheel install --force
+
0.24.0
======
- The python tag used for pure-python packages is now .pyN (major version
@@ -65,7 +78,7 @@
0.23.0
======
- - Compatibiltiy tag flags added to the bdist_wheel command
+ - Compatibility tag flags added to the bdist_wheel command
- sdist should include files necessary for tests
- 'wheel convert' can now also convert unpacked eggs to wheel
- Rename pydist.json to metadata.json to avoid stepping on the PEP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/entry_points.txt new/wheel-0.26.0/entry_points.txt
--- old/wheel-0.24.0/entry_points.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/wheel-0.26.0/entry_points.txt 2015-09-15 19:28:15.000000000 +0200
@@ -0,0 +1,5 @@
+[console_scripts]
+wheel = wheel.tool:main
+
+[distutils.commands]
+bdist_wheel = wheel.bdist_wheel:bdist_wheel
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/setup.py new/wheel-0.26.0/setup.py
--- old/wheel-0.24.0/setup.py 2014-07-06 18:48:58.000000000 +0200
+++ new/wheel-0.26.0/setup.py 2015-09-15 19:28:15.000000000 +0200
@@ -28,7 +28,7 @@
],
author='Daniel Holth',
author_email='dholth(a)fastmail.fm',
- url='http://bitbucket.org/pypa/wheel/',
+ url='https://bitbucket.org/pypa/wheel/',
keywords=['wheel', 'packaging'],
license='MIT',
packages=[
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel/__init__.py new/wheel-0.26.0/wheel/__init__.py
--- old/wheel-0.24.0/wheel/__init__.py 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/__init__.py 2015-09-18 20:03:01.000000000 +0200
@@ -1,2 +1,2 @@
# __variables__ with double-quoted values will be available in setup.py:
-__version__ = "0.24.0"
+__version__ = "0.26.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel/bdist_wheel.py new/wheel-0.26.0/wheel/bdist_wheel.py
--- old/wheel-0.24.0/wheel/bdist_wheel.py 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/bdist_wheel.py 2015-09-15 20:10:36.000000000 +0200
@@ -90,7 +90,7 @@
self.dist_dir = None
self.distinfo_dir = None
self.egginfo_dir = None
- self.root_is_purelib = None
+ self.root_is_pure = None
self.skip_build = None
self.relative = False
self.owner = None
@@ -110,7 +110,8 @@
self.set_undefined_options('bdist',
*zip(need_options, need_options))
- self.root_is_purelib = self.distribution.is_pure()
+ self.root_is_pure = not (self.distribution.has_ext_modules()
+ or self.distribution.has_c_libraries())
# Support legacy [wheel] section for setting universal
wheel = self.distribution.get_option_dict('wheel')
@@ -129,7 +130,7 @@
def get_tag(self):
supported_tags = pep425tags.get_supported()
- if self.distribution.is_pure():
+ if self.root_is_pure:
if self.universal:
impl = 'py2.py3'
else:
@@ -148,7 +149,7 @@
# sys.pypy_version_info.minor)
abi_tag = sysconfig.get_config_vars().get('SOABI', 'none')
if abi_tag.startswith('cpython-'):
- abi_tag = 'cp' + abi_tag.rsplit('-', 1)[-1]
+ abi_tag = 'cp' + abi_tag.split('-')[1]
tag = (impl_name + impl_ver, abi_tag, plat_name)
# XXX switch to this alternate implementation for non-pure:
@@ -203,7 +204,7 @@
self.install_libbase = self.install_lib = basedir_observed
setattr(install,
- 'install_purelib' if self.root_is_purelib else 'install_platlib',
+ 'install_purelib' if self.root_is_pure else 'install_platlib',
basedir_observed)
logger.info("installing to %s", self.bdist_dir)
@@ -255,7 +256,7 @@
msg = Message()
msg['Wheel-Version'] = '1.0' # of the spec
msg['Generator'] = generator
- msg['Root-Is-Purelib'] = str(self.root_is_purelib).lower()
+ msg['Root-Is-Purelib'] = str(self.root_is_pure).lower()
# Doesn't work for bdist_wininst
impl_tag, abi_tag, plat_tag = self.get_tag()
@@ -421,7 +422,8 @@
def walk():
for dir, dirs, files in os.walk(bdist_dir):
- for f in files:
+ dirs.sort()
+ for f in sorted(files):
yield os.path.join(dir, f)
def skip(path):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel/metadata.py new/wheel-0.26.0/wheel/metadata.py
--- old/wheel-0.24.0/wheel/metadata.py 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/metadata.py 2015-09-18 19:56:57.000000000 +0200
@@ -2,8 +2,13 @@
Tools for converting old- to new-style metadata.
"""
-from collections import defaultdict, namedtuple
+from collections import namedtuple
from .pkginfo import read_pkg_info
+from .util import OrderedDefaultDict
+try:
+ from collections import OrderedDict
+except ImportError:
+ OrderedDict = dict
import re
import os.path
@@ -51,8 +56,8 @@
"""
Place the runtime requirements from pkg_info into metadata.
"""
- may_requires = defaultdict(list)
- for value in pkg_info.get_all(key):
+ may_requires = OrderedDefaultDict(list)
+ for value in sorted(pkg_info.get_all(key)):
extra_match = EXTRA_RE.search(value)
if extra_match:
groupdict = extra_match.groupdict()
@@ -70,7 +75,7 @@
if may_requires:
metadata['run_requires'] = []
for key, value in may_requires.items():
- may_requirement = {'requires':value}
+ may_requirement = OrderedDict((('requires', value),))
if key.extra:
may_requirement['extra'] = key.extra
if key.condition:
@@ -93,7 +98,7 @@
distribution: optional distutils Distribution()
"""
- metadata = defaultdict(lambda: defaultdict(lambda: defaultdict(dict)))
+ metadata = OrderedDefaultDict(lambda: OrderedDefaultDict(lambda: OrderedDefaultDict(OrderedDict)))
metadata["generator"] = "bdist_wheel (" + wheel.__version__ + ")"
try:
unicode
@@ -121,7 +126,7 @@
if description:
pkg_info['description'] = description
- for key in unique(k.lower() for k in pkg_info.keys()):
+ for key in sorted(unique(k.lower() for k in pkg_info.keys())):
low_key = key.replace('-', '_')
if low_key in SKIP_FIELDS:
@@ -130,7 +135,7 @@
if low_key in UNKNOWN_FIELDS and pkg_info.get(key) == 'UNKNOWN':
continue
- if low_key in PLURAL_FIELDS:
+ if low_key in sorted(PLURAL_FIELDS):
metadata[PLURAL_FIELDS[low_key]] = pkg_info.get_all(key)
elif low_key == "requires_dist":
@@ -161,7 +166,7 @@
try:
requirements = getattr(distribution, attr)
if isinstance(requirements, list):
- new_requirements = list(convert_requirements(requirements))
+ new_requirements = sorted(convert_requirements(requirements))
metadata[requires] = [{'requires':new_requirements}]
except AttributeError:
pass
@@ -169,8 +174,8 @@
# handle contacts
contacts = []
for contact_type, role in CONTACT_FIELDS:
- contact = {}
- for key in contact_type:
+ contact = OrderedDict()
+ for key in sorted(contact_type):
if contact_type[key] in metadata:
contact[key] = metadata.pop(contact_type[key])
if contact:
@@ -183,11 +188,11 @@
try:
with open(os.path.join(os.path.dirname(path), "entry_points.txt"), "r") as ep_file:
ep_map = pkg_resources.EntryPoint.parse_map(ep_file.read())
- exports = {}
- for group, items in ep_map.items():
- exports[group] = {}
- for item in items.values():
- name, export = str(item).split(' = ', 1)
+ exports = OrderedDict()
+ for group, items in sorted(ep_map.items()):
+ exports[group] = OrderedDict()
+ for item in sorted(map(str, items.values())):
+ name, export = item.split(' = ', 1)
exports[group][name] = export
if exports:
metadata['extensions']['python.exports'] = exports
@@ -233,7 +238,8 @@
requires_path = os.path.join(egg_info_path, 'requires.txt')
if os.path.exists(requires_path):
requires = open(requires_path).read()
- for extra, reqs in pkg_resources.split_sections(requires):
+ for extra, reqs in sorted(pkg_resources.split_sections(requires),
+ key=lambda x: x[0] or ''):
condition = ''
if extra and ':' in extra: # setuptools extra:condition syntax
extra, condition = extra.split(':', 1)
@@ -244,7 +250,7 @@
condition += 'extra == %s' % repr(extra)
if condition:
condition = '; ' + condition
- for new_req in convert_requirements(reqs):
+ for new_req in sorted(convert_requirements(reqs)):
pkg_info['Requires-Dist'] = new_req + condition
description = pkg_info['Description']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel/pep425tags.py new/wheel-0.26.0/wheel/pep425tags.py
--- old/wheel-0.24.0/wheel/pep425tags.py 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/pep425tags.py 2015-09-15 20:10:36.000000000 +0200
@@ -60,7 +60,7 @@
soabi = sysconfig.get_config_var('SOABI')
if soabi and soabi.startswith('cpython-'):
- abis[0:0] = ['cp' + soabi.split('-', 1)[-1]]
+ abis[0:0] = ['cp' + soabi.split('-')[1]]
abi3s = set()
import imp
@@ -85,7 +85,10 @@
# Tagged specifically as being cross-version compatible
# (with just the major version specified)
supported.append(('%s%s' % (impl, versions[0][0]), 'none', 'any'))
-
+
+ # Major Python version + platform; e.g. binaries not using the Python API
+ supported.append(('py%s' % (versions[0][0]), 'none', arch))
+
# No abi / arch, generic Python
for i, version in enumerate(versions):
supported.append(('py%s' % (version,), 'none', 'any'))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel/test/complex-dist/setup.py new/wheel-0.26.0/wheel/test/complex-dist/setup.py
--- old/wheel-0.24.0/wheel/test/complex-dist/setup.py 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/test/complex-dist/setup.py 2015-09-18 19:56:57.000000000 +0200
@@ -20,6 +20,11 @@
install_requires=["quux", "splort"],
extras_require={'simple':['simple.dist']},
tests_require=["foo", "bar>=10.0.0"],
- entry_points={'console_scripts':['complex-dist=complexdist:main']}
+ entry_points={
+ 'console_scripts': [
+ 'complex-dist=complexdist:main',
+ 'complex-dist2=complexdist:main',
+ ],
+ },
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel/util.py new/wheel-0.26.0/wheel/util.py
--- old/wheel-0.24.0/wheel/util.py 2014-07-06 18:40:16.000000000 +0200
+++ new/wheel-0.26.0/wheel/util.py 2015-09-15 19:28:15.000000000 +0200
@@ -5,6 +5,10 @@
import base64
import json
import hashlib
+try:
+ from collections import OrderedDict
+except ImportError:
+ OrderedDict = dict
__all__ = ['urlsafe_b64encode', 'urlsafe_b64decode', 'utf8',
'to_json', 'from_json', 'matches_requirement']
@@ -91,6 +95,23 @@
digest = self.hash.digest()
return self.hashtype + '=' + native(urlsafe_b64encode(digest))
+class OrderedDefaultDict(OrderedDict):
+ def __init__(self, *args, **kwargs):
+ if not args:
+ self.default_factory = None
+ else:
+ if not (args[0] is None or callable(args[0])):
+ raise TypeError('first argument must be callable or None')
+ self.default_factory = args[0]
+ args = args[1:]
+ super(OrderedDefaultDict, self).__init__(*args, **kwargs)
+
+ def __missing__ (self, key):
+ if self.default_factory is None:
+ raise KeyError(key)
+ self[key] = default = self.default_factory()
+ return default
+
if sys.platform == 'win32':
import ctypes.wintypes
# CSIDL_APPDATA for reference - not used here for compatibility with
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel.egg-info/PKG-INFO new/wheel-0.26.0/wheel.egg-info/PKG-INFO
--- old/wheel-0.24.0/wheel.egg-info/PKG-INFO 2014-07-06 18:56:21.000000000 +0200
+++ new/wheel-0.26.0/wheel.egg-info/PKG-INFO 2015-09-18 20:03:12.000000000 +0200
@@ -1,8 +1,8 @@
Metadata-Version: 1.1
Name: wheel
-Version: 0.24.0
+Version: 0.26.0
Summary: A built-package format for Python.
-Home-page: http://bitbucket.org/pypa/wheel/
+Home-page: https://bitbucket.org/pypa/wheel/
Author: Daniel Holth
Author-email: dholth(a)fastmail.fm
License: MIT
@@ -49,6 +49,19 @@
+ 0.26.0
+ ======
+ - Fix multiple entrypoint comparison failure on Python 3 (Issue #148)
+
+ 0.25.0
+ ======
+ - Add Python 3.5 to tox configuration
+ - Deterministic (sorted) metadata
+ - Fix tagging for Python 3.5 compatibility
+ - Support py2-none-'arch' and py3-none-'arch' tags
+ - Treat data-only wheels as pure
+ - Write to temporary file and rename when using wheel install --force
+
0.24.0
======
- The python tag used for pure-python packages is now .pyN (major version
@@ -65,7 +78,7 @@
0.23.0
======
- - Compatibiltiy tag flags added to the bdist_wheel command
+ - Compatibility tag flags added to the bdist_wheel command
- sdist should include files necessary for tests
- 'wheel convert' can now also convert unpacked eggs to wheel
- Rename pydist.json to metadata.json to avoid stepping on the PEP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel.egg-info/SOURCES.txt new/wheel-0.26.0/wheel.egg-info/SOURCES.txt
--- old/wheel-0.24.0/wheel.egg-info/SOURCES.txt 2014-07-06 18:56:22.000000000 +0200
+++ new/wheel-0.26.0/wheel.egg-info/SOURCES.txt 2015-09-18 20:03:13.000000000 +0200
@@ -2,6 +2,7 @@
LICENSE.txt
MANIFEST.in
README.txt
+entry_points.txt
setup.cfg
setup.py
vendorize.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wheel-0.24.0/wheel.egg-info/requires.txt new/wheel-0.26.0/wheel.egg-info/requires.txt
--- old/wheel-0.24.0/wheel.egg-info/requires.txt 2014-07-06 18:56:21.000000000 +0200
+++ new/wheel-0.26.0/wheel.egg-info/requires.txt 2015-09-18 20:03:12.000000000 +0200
@@ -1,16 +1,14 @@
-
-[tool]
-
-
-[signatures]
-keyring
+[:python_version=="2.6"]
+argparse
[faster-signatures]
ed25519ll
-[:python_version=="2.6"]
-argparse
+[signatures]
+keyring
[signatures:sys_platform!="win32"]
-pyxdg
\ No newline at end of file
+pyxdg
+
+[tool]
1
0
Hello community,
here is the log from the commit of package daps for openSUSE:Factory checked in at 2015-09-30 05:53:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/daps (Old)
and /work/SRC/openSUSE:Factory/.daps.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "daps"
Changes:
--------
--- /work/SRC/openSUSE:Factory/daps/daps.changes 2015-08-13 18:11:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.daps.new/daps.changes 2015-09-30 05:53:30.000000000 +0200
@@ -1,0 +2,19 @@
+Tue Sep 22 13:50:13 UTC 2015 - fsundermeyer(a)opensuse.org
+
+Stable release DAPS 2.1.3:
+
+* Bugfixes:
+ - Fix for issue #284 (spellcheck / getimages use wrong filelist
+ when called with --debug
+ - "--param" and "--stringparam" were missing for the subcommands
+ package-pdf and package-html
+ - all warning messages now go to STDERR, making it possible to
+ always catch the output of a DAPS command with FOO="$(daps...)
+
+* Misc:
+ - added a wrapper for jing allwing to customize java flags,
+ jars, and options
+ - standardized customising options for all java programs (fop,
+ jing, xep)
+
+-------------------------------------------------------------------
Old:
----
daps-2.1.2.tar.bz2
New:
----
daps-2.1.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ daps.spec ++++++
--- /var/tmp/diff_new_pack.Nr3sgl/_old 2015-09-30 05:53:31.000000000 +0200
+++ /var/tmp/diff_new_pack.Nr3sgl/_new 2015-09-30 05:53:31.000000000 +0200
@@ -17,7 +17,7 @@
Name: daps
-Version: 2.1.2
+Version: 2.1.3
Release: 0
###############################################################
++++++ daps-2.1.2.tar.bz2 -> daps-2.1.3.tar.bz2 ++++++
++++ 2016 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/ChangeLog new/daps/ChangeLog
--- old/daps/ChangeLog 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/ChangeLog 2015-09-22 15:19:13.000000000 +0200
@@ -1,4 +1,23 @@
-------------------------------------------------------------------
+Tue Sep 22 11:28:03 UTC 2015 - fsundermeyer(a)opensuse.org
+
+Stable release DAPS 2.1.3:
+
+* Bugfixes:
+ - Fix for issue #284 (spellcheck / getimages use wrong filelist
+ when called with --debug
+ - "--param" and "--stringparam" were missing for the subcommands
+ package-pdf and package-html
+ - all warning messages now go to STDERR, making it possible to
+ always catch the output of a DAPS command with FOO="$(daps...)
+
+* Misc:
+ - added a wrapper for jing allwing to customize java flags,
+ jars, and options
+ - standardized customising options for all java programs (fop,
+ jing, xep)
+
+-------------------------------------------------------------------
Tue Aug 4 09:28:03 UTC 2015 - fsundermeyer(a)opensuse.org
Stable release DAPS 2.1.2:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/INSTALL.adoc new/daps/INSTALL.adoc
--- old/daps/INSTALL.adoc 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/INSTALL.adoc 2015-09-22 15:19:13.000000000 +0200
@@ -114,7 +114,7 @@
=== Installation
-1. Download the https://github.com/openSUSE/daps/archive/2.1.1.tar.gz[DAPS 2.1.1]
+1. Download the https://github.com/openSUSE/daps/archive/2.1.3.tar.gz[DAPS 2.1.3]
archive and unpack it _or_, alternatively clone the master branch from GitHub: +
`git clone https://github.com/openSUSE/daps.git -b master --single-branch`
2. Change into the daps directory
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/README.adoc new/daps/README.adoc
--- old/daps/README.adoc 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/README.adoc 2015-09-22 15:19:13.000000000 +0200
@@ -23,8 +23,8 @@
also been successfully tested on Debian, Fedora, and Ubuntu. See
link:INSTALL.adoc[INSTALL.adoc] for installation instructions.
-The latest version, https://github.com/openSUSE/daps/archive/2.1.1.tar.gz[DAPS
-2.1.1], was released on 2015-07-10.
+The latest version, https://github.com/openSUSE/daps/archive/2.1.3.tar.gz[DAPS
+2.1.3], was released on 2015-09-22.
Contributing
------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/bin/ccecho new/daps/bin/ccecho
--- old/daps/bin/ccecho 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/bin/ccecho 2015-09-22 15:19:13.000000000 +0200
@@ -10,11 +10,11 @@
cat <<EOF_helptext
Conditional Color echo
-Usage: ccecho LEVEL "MESSAGE"
+Usage: ccecho "LEVEL" "MESSAGE"
-Prints a colored message string to STDOUT using bash color codes. The
-color depends on one of the LEVEL keyword. When the SHELL environment
-variable COLOR is set to either "0" or "no" no color output is
+Prints a colored message string to STDOUT or STDERR using bash color codes. The
+color and the output channel depend on the LEVEL keyword. When the SHELL
+environment variable COLOR is set to either "0" or "no" no color output is
generated.
The main purpose of this script is to provide an easy method to generate
@@ -24,11 +24,11 @@
LEVEL keywords
- normal -> no color
- error -> bold red
- info -> purple
- result -> green
- warn -> red
+ normal -> no color, STDOUT
+ error -> bold red, STDERR
+ info -> purple, STDOUT
+ result -> green, STDOUT
+ warn -> red, STDERR
MESSAGE
The message to be printed. Needs to be quoted using double quotes.
@@ -96,4 +96,8 @@
MESSAGE=${MESSAGE//\\n/${END_COLOR}\\n${START_COLOR}}
fi
-echo -e "${START_COLOR}${MESSAGE}${END_COLOR}"
+if [[ error = "$LEVEL" || warn = "$LEVEL" ]]; then
+ echo -e "${START_COLOR}${MESSAGE}${END_COLOR}" >&2
+else
+ echo -e "${START_COLOR}${MESSAGE}${END_COLOR}"
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/bin/daps.in new/daps/bin/daps.in
--- old/daps/bin/daps.in 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/bin/daps.in 2015-09-22 15:19:13.000000000 +0200
@@ -73,8 +73,10 @@
EXPORT_DIR
FALLBACK_STYLEROOT
FOP_CONFIG_FILE
- FOP_OPTIONS
- FOP_STACKSIZE
+ FOP_CMD_OPTIONS
+ FOP_JAVA_FLAGS
+ FOP_JAVA_JARS
+ FOP_JAVA_OPTIONS
FOP_WRAPPER
FORCE_REBUILD
FORMATTER
@@ -84,13 +86,16 @@
HTML_CSS
HTMLROOT
HTMLSINGLE
- JSP
IMAGES_COLOR
IMAGES_GRAYSCALE
IMG_VIEWER
INCLUDE_MANIFEST
INK_OPTIONS
- JING_FLAGS
+ JING_JAVA_FLAGS
+ JING_JAVA_JARS
+ JING_JAVA_OPTIONS
+ JING_WRAPPER
+ JSP
LIB_DIR
LIBEXEC_DIR
LOG_DIR
@@ -141,7 +146,10 @@
VALID_ROOTELEMENTS
VERBOSITY
XEP_CONFIG_FILE
- XEP_OPTIONS
+ XEP_CMD_OPTIONS
+ XEP_JAVA_FLAGS
+ XEP_JAVA_JARS
+ XEP_JAVA_OPTIONS
XEP_WRAPPER
XML_MAIN_CATALOG
XML_USER_CATALOGS
@@ -199,6 +207,7 @@
FOP_CONFIG_FILE
FOP_WRAPPER
HTML_CSS
+ JING_WRAPPER
STATIC_DIR
STYLEDEVEL
STYLEROOT
@@ -278,9 +287,6 @@
SUBCOMMANDS+=("dapsenv=debugging")
HELP_SUBCOMMAND+=("dapsenv=DEBUGGING: Shows a list of internal variables and their values.")
-SUBCOMMANDS+=("debug=debugging")
-HELP_SUBCOMMAND+=("debug=DEBUGGING: for developing purposes only.")
-
SUBCOMMANDS+=("dist-webhelp=build_generic")
HELP_SUBCOMMAND+=("dist-webhelp=Creates a distributable tar archive of a webhelp document\n(including images and css).")
@@ -1083,6 +1089,8 @@
DEBUG=1
VERBOSITY_CMDL=2
VERBOSITY=$VERBOSITY_CMDL
+ # enable JAVA debug messages (fop, xep, jing)
+ export VERBOSE=1
shift
;;
--fb_styleroot)
@@ -1170,7 +1178,7 @@
#
if [[ -n "$FALLBACK_STYLEROOT" && -z "$STYLEROOT" ]]; then
if [[ 0 != $VERBOSITY ]]; then
- echo "Warning: --styleroot is not specified, ignoring --fb_styleroot"
+ echo "Warning: --styleroot is not specified, ignoring --fb_styleroot" >&2
fi
fi
@@ -1458,7 +1466,7 @@
[[ -n "$DOCCONF_CMDL" ]] && source "$DOCCONF_CMDL"
-# FOP/XEP CONFIG and WRAPPER
+# FOP/XEP CONFIG and WRAPPER / JING WRAPPER
# when using an SVN checkout, @sysconfdir@ and @pkgdatadir have not been
# replaced
#
@@ -1469,6 +1477,8 @@
FOP_CONFIG_FILE=${FOP_CONFIG_FILE/#@sysconfdir\@\/daps/${DAPSROOT}/etc}
FOP_WRAPPER=${FOP_WRAPPER/#@pkgdatadir\@/${DAPSROOT}}
+JING_WRAPPER=${JING_WRAPPER/#@pkgdatadir\@/${DAPSROOT}}
+
XEP_CONFIG_FILE=${XEP_CONFIG_FILE/#@sysconfdir\@\/daps/${DAPSROOT}/etc}
XEP_WRAPPER=${XEP_WRAPPER/#@pkgdatadir\@/${DAPSROOT}}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/configure.ac new/daps/configure.ac
--- old/daps/configure.ac 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/configure.ac 2015-09-22 15:19:13.000000000 +0200
@@ -11,7 +11,7 @@
m4_define(daps_version_major, 2)
m4_define(daps_version_minor, 1)
-m4_define(daps_version_micro, [2])
+m4_define(daps_version_micro, [3])
# API version
m4_define([daps_api_version],[daps_version_major])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/doc/xml/art_daps_quick.xml new/daps/doc/xml/art_daps_quick.xml
--- old/daps/doc/xml/art_daps_quick.xml 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/doc/xml/art_daps_quick.xml 2015-09-22 15:19:13.000000000 +0200
@@ -252,9 +252,9 @@
<para>If you want to modify the file name and the title for the document,
use the options <option>--name</option> and <option>--title</option>:
</para>
- <screen>&prompt.user;<command>daps-init
- --docdir <replaceable>PATH_TO_DOC_DIR</replaceable> --name "my_document" --title "Example
- Documentation"</command></screen>
+ <screen>&prompt.user;<command>daps-init --docdir <replaceable>PATH_TO_DOC_DIR</replaceable> \
+ --name "my_document" \
+ --title "Example Documentation"</command></screen>
</step>
<step>
<para>If you want to create an example book file in addition to the article,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/etc/config.in new/daps/etc/config.in
--- old/daps/etc/config.in 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/etc/config.in 2015-09-22 15:19:13.000000000 +0200
@@ -281,37 +281,40 @@
# FOP_CONFIG_FILE="@sysconfdir@/daps/fop/fop-daps.xml"
FOP_CONFIG_FILE=""
-
## Key: FOP_OPTIONS
## -----------------------
## Description: Command line options for the FOP pdf formatter
## Type: String
-## Default: "-q" (turn on quiet mode)
+## Default: ""
#
# Specify command line options for the FOP formatter.
# Also see FORMATTER, FOP-*
#
-FOP_OPTIONS="-q"
+FOP_CMD_OPTIONS=""
+## Key: FOP_JAVA_FLAGS
+## ----------------------------
+## Description: Additional java properties for running fop
+## Type: String (-D<prop>)
+## Default: ""
+#
+FOP_JAVA_FLAGS=""
-## Key: FOP_STACKSIZE
-## --------------------------
-## Description: Java stack size for the FOP pdf formatter
+## Key: FOP_JAVA_JARS
+## ---------------------------
+## Description: Additional Jars for running fop
## Type: String
-## Default: "-Xss2048K"
-#
-# Needs to be specified as -Xss<size>
-# <size> can either be specified in kilobytes (K) or megabytes (m)
-# Example:
-# -Xss2048K
-# -Xss2m
-#
-# Increase this value (e.g. to 3 or 4 MB) if you experience strange
-# problems when building PDFs with FOP (especially on 64bit machines)
+## Default: ""
#
-# Also see FORMATTER, FOP-*
+FOP_JAVA_JARS=""
+
+## Key: FOP_JAVA_OPTIONS
+## ------------------------------
+## Description: Additional java options for running fop
+## Type: String (-X<option>), see java -X for help
+## Default: ""
#
-FOP_STACKSIZE="-Xss2048K"
+FOP_JAVA_OPTIONS=""
## Key: FOP_WRAPPER
## -----------------------
@@ -319,10 +322,13 @@
## Type: PATH to script
## Default: "@pkgdatadir@/libexec/daps-fop""
#
-# Optional wrapper script for calling FOP. The default "fop" will run
+# Optional wrapper script for calling fop. If set to "fop", it will run
# the first fop executable found in your path (usually this will be
# /usr/bin/fop)
-# Also see FORMATTER, FOP-*
+#
+# The default will probably not work on Debian/Ubuntu, since they
+# use a different way to set Java options. Setting up a custom wrapper
+# script for Ubuntu/Debian might be needed (not tested)
#
FOP_WRAPPER="@pkgdatadir@/libexec/daps-fop"
@@ -348,6 +354,49 @@
#
GZIP_MAN="yes"
+
+## Key: JING_JAVA_FLAGS
+## ----------------------------
+## Description: Additional java properties for running jing
+## Type: String (-D<prop>)
+## Default: ""
+#
+JING_JAVA_FLAGS=""
+
+## Key: JING_JAVA_JARS
+## ---------------------------
+## Description: Additional Jars for running jing
+## Type: String
+## Default: ""
+#
+JING_JAVA_JARS=""
+
+## Key: JING_JAVA_OPTIONS
+## ------------------------------
+## Description: Additional java options for running jing
+## Type: String (-X<option>), see java -X for help
+## Default: ""
+#
+JING_JAVA_OPTIONS=""
+
+## Key: JING_WRAPPER
+## -------------------------
+## Description: Wrapper script for Jing
+## Type: PATH to script
+## Default: "@pkgdatadir@/libexec/daps-jing"
+#
+# Optional wrapper script for calling jing. If set to "jing", it will run
+# the first jing executable found in your path (usually this will be
+# /usr/bin/jing)
+#
+# The default will probably not work on Debian/Ubuntu, since they
+# use a different way to set Java options. Setting up a custom wrapper
+# script for Ubuntu/Debian might be needed (not tested)
+#
+# Also see JING_*
+#
+JING_WRAPPER="@pkgdatadir@/libexec/daps-jing"
+
## Key: HTML5
## ------------------------
## Description: Use XHTML5 instead of XHTML1 for HTML output
@@ -693,12 +742,36 @@
## -----------------------
## Description: Command line options for the XEP pdf formatter
## Type: String
-## Default: "-q" (turn on quiet mode)
+## Default: ""
#
# Specify command line options for the XEP formatter.
# Also see FORMATTER, XEP-*
#
-XEP_OPTIONS="-q"
+XEP_CMD_OPTIONS=""
+
+## Key: XEP_JAVA_FLAGS
+## ----------------------------
+## Description: Additional java properties for running xep
+## Type: String (-D<prop>)
+## Default: ""
+#
+XEP_JAVA_FLAGS=""
+
+## Key: XEP_JAVA_JARS
+## ---------------------------
+## Description: Additional Jars for running xep
+## Type: String
+## Default: ""
+#
+XEP_JAVA_JARS=""
+
+## Key: XEP_JAVA_OPTIONS
+## ------------------------------
+## Description: Additional java options for running xep
+## Type: String (-X<option>), see java -X for help
+## Default: ""
+#
+XEP_JAVA_OPTIONS=""
## Key: XEP_WRAPPER
## -----------------------
@@ -706,10 +779,13 @@
## Type: PATH to script
## Default: "@pkgdatadir@/libexec/daps-xep"
#
-# Optional wrapper script for calling XEP. The default "xep" will run
-# the first xep binary found in your path (usually this will be
+# Optional wrapper script for calling xep. If set to "xep", it will run
+# the first xep executable found in your path (usually this will be
# /usr/bin/xep)
-# Also see FORMATTER, XEP-*
+#
+# The default will probably not work on Debian/Ubuntu, since they
+# use a different way to set Java options. Setting up a custom wrapper
+# script for Ubuntu/Debian might be needed (not tested)
#
XEP_WRAPPER="@pkgdatadir@/libexec/daps-xep"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/lib/daps_functions new/daps/lib/daps_functions
--- old/daps/lib/daps_functions 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/lib/daps_functions 2015-09-22 15:19:13.000000000 +0200
@@ -218,10 +218,10 @@
P_PAGEFILES=1
shift
;;
- --param)
- P_PARAMS="$P_PARAMS --param $2"
- shift 2
- ;;
+ --param)
+ P_PARAMS="$P_PARAMS --param $2"
+ shift 2
+ ;;
--pretty)
P_PRETTY=1
shift
@@ -255,10 +255,10 @@
sanitize_path "$2" "P_STATIC_DIR"
shift 2
;;
- --stringparam)
- P_STRINGPARAMS="$P_STRINGPARAMS --stringparam $2"
- shift 2
- ;;
+ --stringparam)
+ P_STRINGPARAMS="$P_STRINGPARAMS --stringparam $2"
+ shift 2
+ ;;
--subdirs)
P_SUBDIRS=1
shift
@@ -276,7 +276,7 @@
shift 2
;;
--xsltparam)
- ccecho -- "info" "--xsltparam is deprecated, please use --param/--stringparam."
+ ccecho -- "warn" "--xsltparam is deprecated, please use --param/--stringparam instead."
P_XSLTPARAM="$2"
shift 2
;;
@@ -422,15 +422,25 @@
###########################################################################
function call_make {
local CORE_NO DBSTYLE_FILE DBSTYLE_VERS LOGFILE MAKE_BIN
- local MAKE_OPTIONS MAKE_CMD STRING SUB_CMD
+ local MAKE_OPTIONS MAKE_CMD STRING SILENT SUB_CMD
# first argument passed to the function is the subcommand
- # in some cases, additional arguments are passed to this
+
+ # Second and optional argument is "silent" - if set all debug and
+ # verbosity settings are ignored. This allows to run call_make to set
+ # variables (e.g. FILELIST=$(call_make "list-srcfiles")
+
+ # In some cases, additional arguments are passed to this
# function - they remain in $@ and will be passed "as is" to make
#
SUB_CMD=$1
shift
+ if [[ "silent" = "$1" ]]; then
+ SILENT="1"
+ shift
+ fi
+
# Check the remaining $@ - if it contains variable definitions (FOO=BAR
# or FOO="BAR") it's OK, if it contains barewords, exit with an error
#
@@ -449,18 +459,20 @@
MAKE_OPTIONS="-f $DAPSROOT/make/selector.mk"
MAKE_BIN="/usr/bin/make"
- if [[ 1 = "$DEBUG" || 3 = "$VERBOSITY" ]]; then
- # use remake if installed when in debug or highest verbosity mode
- IS_REMAKE=$(which remake 2>/dev/null)
- [[ -n "$IS_REMAKE" ]] && MAKE_BIN="/usr/bin/remake"
- MAKE_OPTIONS="$MAKE_OPTIONS --debug=b"
+ if [[ 1 != "$SILENT" ]]; then
+ if [[ 1 = "$DEBUG" || 3 = "$VERBOSITY" ]]; then
+ # use remake if installed when in debug or highest verbosity mode
+ IS_REMAKE=$(which remake 2>/dev/null)
+ [[ -n "$IS_REMAKE" ]] && MAKE_BIN="/usr/bin/remake"
+ MAKE_OPTIONS="$MAKE_OPTIONS --debug=b"
+ fi
fi
if [[ 0 = "$VERBOSITY" || 1 = "$VERBOSITY" || 2 = "$VERBOSITY" ]]; then
# calculate Number of CPUs (cores) for -j option, set to "1" if empty
CORE_NO=$(egrep -s -m1 "cpu cores\s*:" /proc/cpuinfo 2>/dev/null | sed 's/cpu cores\s*:\s*//')
[[ -z "$CORE_NO" ]] && CORE_NO=1
MAKE_OPTIONS="$MAKE_OPTIONS -j${CORE_NO}"
- [[ 1 != $DEBUG ]] && MAKE_OPTIONS="$MAKE_OPTIONS -s"
+ [[ 1 != "$DEBUG" || 1 = "$SILENT" ]] && MAKE_OPTIONS="$MAKE_OPTIONS -s"
else
# highest verbosity level - use -j1 for a better readability
MAKE_OPTIONS="$MAKE_OPTIONS -j1"
@@ -473,7 +485,7 @@
# Variable settings summary printed on debug and high verbosity mode
- if [[ 2 -le $VERBOSITY ]]; then
+ if [[ 2 -le $VERBOSITY && 1 != "$SILENT" ]]; then
# get stylesheet version (ticket #151)
# saxon6 (at least on openSUSE) does not properly resolve http Urls
# (because it does not ask the catalog but rather directly accesses
@@ -540,24 +552,24 @@
fi
if [[ 0 != "$VERBOSITY" ]]; then
- if [[ 1 = "$WRITE_LOG" ]]; then
+ if [[ 1 = "$WRITE_LOG" ]]; then
$MAKE_CMD 2>&1 | tee -a "$LOGFILE"
# see http://www.unix.com/shell-programming-scripting/92163-command-does-not-retu…
[[ 0 = "${PIPESTATUS[0]}" ]] || exit 1
- else
- $MAKE_CMD 2>&1
- fi
+ else
+ $MAKE_CMD 2>&1
+ fi
else
if [[ 1 = "$WRITE_LOG" ]]; then
$MAKE_CMD >> "$LOGFILE" 2>&1
if [[ 0 = "$?" ]]; then
- # make command successful, only show last line (aka result)
- tail -n 1 "$LOGFILE"
+ # make command successful, only show last line (aka result)
+ tail -n 1 "$LOGFILE"
else
# an error occured in make
# show complete logfile except the first line containing the
# date
- tail -n +2 "$LOGFILE"
+ tail -n +2 "$LOGFILE"
exit 1
fi
else
@@ -617,17 +629,17 @@
#------ Computing the values returned from the parser -----
if [[ 1 = "$P_HELP" ]]; then
help_scmd_head "$SUB_CMD" "$HELP_SUBCMD"
- help_cropmarks
+ help_cropmarks
help_draft
help_formatter
- help_grayscale_pdf
+ help_grayscale_pdf
help_help
help_meta
help_name
- help_param
+ help_param
help_remarks
help_rootid
- help_stringparam
+ help_stringparam
help_xsltparam "creates the .fo file from the profiled sources"
echo
exit 0
@@ -683,16 +695,16 @@
help_draft
help_help
help_html5
- help_jsp
+ help_jsp
help_meta
help_name
help_nostatic
- help_param
+ help_param
help_remarks
help_rootid
- help_single
+ help_single
help_statdir
- help_stringparam
+ help_stringparam
help_xsltparam "creates $SUB_CMD from the profiled sources"
echo
exit 0
@@ -751,10 +763,10 @@
help_name
help_nosearch
help_nostatic
- help_param
+ help_param
help_remarks
help_rootid
- help_stringparam
+ help_stringparam
help_xsltparam "creates Webhelp HTML from the profiled sources"
echo
exit 0
@@ -814,13 +826,13 @@
help_scmd_head "$SUB_CMD" "$HELP_SUBCMD"
help_check
help_css
- help_epub3
+ help_epub3
help_help
help_name
- help_param
+ help_param
help_rootid
help_statdir
- help_stringparam
+ help_stringparam
echo
exit 0
fi
@@ -871,9 +883,9 @@
help_scmd_head "$SUB_CMD" "$HELP_SUBCMD"
help_help
help_nogzip
- help_param
+ help_param
help_rootid
- help_stringparam
+ help_stringparam
help_subdirs
echo
exit 0
@@ -910,9 +922,9 @@
help_scmd_head "$SUB_CMD" "$HELP_SUBCMD"
help_help
help_name
- help_param
+ help_param
help_rootid
- help_stringparam
+ help_stringparam
echo
exit 0
fi
@@ -1001,7 +1013,7 @@
help_name
help_noset
help_rootid
- help_optipng
+ help_optipng
echo
exit 0
fi
@@ -1062,9 +1074,9 @@
help_scmd_head "$SUB_CMD" "$HELP_SUBCMD"
help_def-file
help_help
- help_locdrop
+ help_locdrop
help_name
- help_optipng
+ help_optipng
help_set-date
echo
exit 0
@@ -1105,7 +1117,7 @@
shift
SHORT_OPTS="h"
- LONG_OPTS="cropmarks,desktopfiles,documentfiles,formatter:,grayscale,help,name:,pagefiles,rootid:,set-date:,xsltparam:"
+ LONG_OPTS="cropmarks,desktopfiles,documentfiles,formatter:,grayscale,help,name:,pagefiles,param:,rootid:,set-date:,stringparam:,xsltparam:"
parse_args "$SHORT_OPTS" "$LONG_OPTS" "$SUB_CMD" "$@"
eval set -- "$P_REMAIN_ARGS"
@@ -1120,9 +1132,11 @@
help_grayscale_pdf
help_help
help_name
+ help_param
help_pagefiles
help_rootid
help_set-date
+ help_stringparam
help_xsltparam "creates the .fo file from the profiled sources"
echo
exit 0
@@ -1135,6 +1149,8 @@
[[ 1 = "$P_GRAYSCALE" ]] && export GRAYSCALE=1
[[ -n "$P_NAME" ]] && export PDFNAME="$P_NAME" BOOK="$P_NAME"
[[ -n "$P_ROOTID" ]] && export ROOTID="$P_ROOTID"
+ [[ -n "$P_PARAMS" ]] && export PARAMS="$P_PARAMS"
+ [[ -n "$P_STRINGPARAMS" ]] && export STRINGPARAMS="$P_STRINGPARAMS"
[[ -n "$P_XSLTPARAM" ]] && export XSLTPARAM="$XSLTPARAM $P_XSLTPARAM"
if [[ -n "$P_FORMATTER" ]]; then
@@ -1168,7 +1184,7 @@
shift
SHORT_OPTS="h"
- LONG_OPTS="css:,desktopfiles,documentfiles,help,html5,jsp,name:,pagefiles,rootid:,set-date:,single,statdir:,xsltparam:"
+ LONG_OPTS="css:,desktopfiles,documentfiles,help,html5,jsp,name:,pagefiles,param:,rootid:,set-date:,single,statdir:,stringparam:,xsltparam:"
parse_args "$SHORT_OPTS" "$LONG_OPTS" "$SUB_CMD" "$@"
eval set -- "$P_REMAIN_ARGS"
@@ -1181,15 +1197,17 @@
help_documentfiles
help_help
help_html5
- help_jsp
+ help_jsp
help_name
help_pagefiles
+ help_param
help_rootid
help_set-date
- help_single
+ help_single
help_statdir
+ help_stringparam
help_xsltparam "creates the .html files from the profiled sources"
- echo
+ echo
exit 0
fi
@@ -1202,6 +1220,8 @@
[[ -n "$P_NAME" ]] && export PDFNAME="$P_NAME" BOOK="$P_NAME"
[[ -n "$P_ROOTID" ]] && export ROOTID="$P_ROOTID"
[[ -n "$P_STATIC_DIR" ]] && export STATIC_DIR="$P_STATIC_DIR"
+ [[ -n "$P_PARAMS" ]] && export PARAMS="$P_PARAMS"
+ [[ -n "$P_STRINGPARAMS" ]] && export STRINGPARAMS="$P_STRINGPARAMS"
[[ -n "$P_XSLTPARAM" ]] && export XSLTPARAM="$XSLTPARAM $P_XSLTPARAM"
# We always want to start with a clean HTML result directory for
@@ -1318,7 +1338,7 @@
if [[ -f ${P_NOTRANS_DIR}/$DC ]]; then
cp "${P_NOTRANS_DIR}/$DC" .
else
- ccecho "warn" "File does not exist: ${P_NOTRANS_DIR}/$DC" >&2
+ ccecho "warn" "File does not exist: ${P_NOTRANS_DIR}/$DC"
fi
done
@@ -1337,7 +1357,7 @@
(cd "$DIR" && ln -sf "$(realpath --relative-to="." "${P_NOTRANS_DIR}/$DATA")")
fi
else
- ccecho "warn" "File does not exist: ${P_NOTRANS_DIR}/$DATA" >&2
+ ccecho "warn" "File does not exist: ${P_NOTRANS_DIR}/$DATA"
fi
done
@@ -1349,7 +1369,7 @@
if [[ -f ${P_NOTRANS_DIR}/xml/$ENT ]]; then
(cd xml && ln -sf "$(realpath --relative-to="." "${P_NOTRANS_DIR}/xml/$ENT")")
else
- ccecho "warn" "Cannot find entity file: ${P_NOTRANS_DIR}/xml/$ENT" >&2
+ ccecho "warn" "Cannot find entity file: ${P_NOTRANS_DIR}/xml/$ENT"
fi
done
@@ -1389,7 +1409,7 @@
help_remarks
help_rootid
echo
- exit 0
+ exit 0
fi
[[ 1 = "$P_DRAFT" ]] && DRAFT="yes"
@@ -1427,7 +1447,7 @@
help_scmd_head "$SUB_CMD" "$HELP_SUBCMD"
help_remarks
echo
- exit 0
+ exit 0
fi
[[ 1 = "$P_REMARKS" ]] && REMARKS=1
@@ -1510,17 +1530,17 @@
#------ Computing the values returned from the parser -----
if [[ 1 = "$P_HELP" ]]; then
help_scmd_head "$SUB_CMD" "$HELP_SUBCMD"
- [[ "pdf-name" = "$SUB_CMD" ]] && help_cropmarks
+ [[ "pdf-name" = "$SUB_CMD" ]] && help_cropmarks
help_draft
- [[ "pdf-name" = "$SUB_CMD" ]] && help_formatter
- [[ "pdf-name" = "$SUB_CMD" ]] && help_grayscale_pdf
+ [[ "pdf-name" = "$SUB_CMD" ]] && help_formatter
+ [[ "pdf-name" = "$SUB_CMD" ]] && help_grayscale_pdf
help_help
- [[ "jsp-dir-name" = "$SUB_CMD" ]] && help_jsp
- help_meta
+ [[ "jsp-dir-name" = "$SUB_CMD" ]] && help_jsp
+ help_meta
help_name
help_remarks
help_rootid
- [[ "html-dir-name" = "$SUB_CMD" ]] && help_single
+ [[ "html-dir-name" = "$SUB_CMD" ]] && help_single
echo
exit 0
fi
@@ -1704,7 +1724,7 @@
# get the image list
# we can use projectgraphics, since it returns images for a given rootid
- IMGLIST=( $(call_make list-srcfiles LIST_NODC=1 LIST_NOENT=1 LIST_NOXML=1) )
+ IMGLIST=( $(call_make list-srcfiles silent LIST_NODC=1 LIST_NOENT=1 LIST_NOXML=1) )
if [[ 0 != $? ]]; then
exit_on_error "Failed to get list of images"
fi
@@ -1789,7 +1809,7 @@
[[ -n "$P_ROOTID" ]] && export ROOTID="$P_ROOTID"
if [[ -z "${FILELIST[0]}" ]]; then ## --file was not specified
- FILELIST=( $(call_make list-srcfiles LIST_NODC=1 LIST_NOENT=1 LIST_NOIMG=1 ) )
+ FILELIST=( $(call_make list-srcfiles silent LIST_NODC=1 LIST_NOENT=1 LIST_NOIMG=1 ) )
if [[ 0 != $? ]]; then
exit_on_error "Failed to get filelist for ROOTID \"$ROOTID\""
fi
@@ -1800,7 +1820,7 @@
if [[ -n "$P_LANG" ]]; then
ASPELL_LANG="$P_LANG"
else
- if [[ -z "ASPELL_LANG" ]]; then
+ if [[ -z "$ASPELL_LANG" ]]; then
ASPELL_LANG=$($XSLTPROC --stylesheet "${DAPSROOT}/daps-xslt/common/get-language.xsl" --file "$MAIN" "$XSLTPROCESSOR" 2>/dev/null)
if [[ -n "$ASPELL_LANG" ]]; then
ccecho "info" "Using language $ASPELL_LANG."
@@ -1958,8 +1978,8 @@
help_gen
help_grayscale_images
help_help
- help_online
- help_rootid
+ help_online
+ help_rootid
echo
exit 0
fi
@@ -2460,7 +2480,7 @@
cat <<EOF
--xsltparam=STRING ** Deprecated **
Use --param and/or --stringparam instead.
-
+
Add one or more xslt processor parameters in
the form of
\"--stringparam KEY=VALUE --param KEY=VALUE\".
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/libexec/daps-fop new/daps/libexec/daps-fop
--- old/daps/libexec/daps-fop 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/libexec/daps-fop 2015-09-22 15:19:13.000000000 +0200
@@ -2,25 +2,66 @@
#
# Copyright (C) 2012-2015 SUSE Linux GmbH
#
-# Author:
+# Authors:
+# Frank Sundermeyer <fsundermeyer at opensuse dor org>
# Thomas Schraitle <toms at opensuse dor org>
#
+#
# Customized fop executable for DAPS
+
+# Command line switches for FOP
+#------------------------------
+#
+# enable quite mode unless --debug is used
+[[ 1 -ne $DEBUG ]] && FOP_DEFAULT_CMD_OPTIONS="-q"
+
+# Set the nocs option for FOP >=1.1
+#
# Get the first 2 digits from the version number
# 1.0 -> 10, 1.0.1 -> 10
+#
+# Other fop command-line options can be set with FOP_OPTIONS in the
+# daps config
FOP_VERSION=$(fop -version 2>/dev/null | cut -d " " -f 3 | tr -d ".")
FOP_VERSION=${FOP_VERSION:0:2}
-# set the nocs parameter for FOP >= 1.1
-# (other command line options are defined in the DAPS config file
-# as FOP_OPTIONS)
-[[ $FOP_VERSION -ge 11 ]] && OPTS="-nocs"
+[[ $FOP_VERSION -ge 11 ]] && FOP_DEFAULT_CMD_OPTIONS="$FOP_DEFAULT_CMD_OPTIONS -nocs"
+#FOP_CONFIG_FILE=${FOP_CONFIG_FILE:-"/etc/daps/fop/fop-daps.xml"}
-#FOP_MEMORY=${FOP_MEMORY:-"-Xmx500m"}
+if [[ -n $FOP_CONFIG_FILE ]]; then
+ FOP_CMD_SWITCHES="$FOP_DEFAULT_CMD_OPTIONS -c $FOP_CONFIG_FILE $FOP_CMD_OPTIONS"
+else
+ FOP_CMD_SWITCHES="$FOP_DEFAULT_CMD_OPTIONS $FOP_CMD_OPTIONS"
+fi
+
+# set initial/maximum java heap size
+#
+#FOP_MEMORY=${FOP_MEMORY:-"-Xms400 -Xmx500m"}
+# set java thread stack size
+#
FOP_STACKSIZE=${FOP_STACKSIZE:-"-Xss2048K"}
-#FOP_CONFIG_FILE=${FOP_CONFIG_FILE:-"/etc/daps/fop/fop-daps.xml"}
-ADDITIONAL_FLAGS="$FOP_MEMORY $FOP_STACKSIZE" \
-ADDITIONAL_JARS="batik-all excalibur/avalon-framework-impl" \
-ADDITIONAL_OPTIONS="-Djavax.xml.transform.URIResolver=org.apache.xml.resolver.tools.CatalogResolver -Djava.util.logging.config.file=${DAPSROOT}/etc/fop/fop_logging.properties" fop $OPTS "$@"
-#fop $OPTS -c $FOP_CONFIG_FILE "$@"
+# Default JAVA/FOP setup for FOP needed by DAPS
+# ----------------------------------------------
+# do not change
+# To add additional flags/jars/options use
+#
+# FOP_FLAGS
+# FOP_JARS
+# FOP_OPTIONS
+#
+# in the config. These values will be used in addition to the default values
+# specified below
+#
+
+FOP_DEFAULT_JAVA_FLAGS="-Djavax.xml.transform.URIResolver=org.apache.xml.resolver.tools.CatalogResolver -Djava.util.logging.config.file=${DAPSROOT}/etc/fop/fop_logging.properties"
+FOP_DEFAULT_JAVA_JARS="batik-all excalibur/avalon-framework-impl"
+FOP_DEFAULT_JAVA_OPTIONS="$FOP_MEMORY $FOP_STACKSIZE"
+
+
+# Call /usr/bin/fop
+#
+ADDITIONAL_FLAGS="$FOP_DEFAULT_JAVA_FLAGS $FOP_JAVA_FLAGS" \
+ ADDITIONAL_JARS="$FOP_DEFAULT_JAVA_JARS $FOP_JAVA_JARS" \
+ ADDITIONAL_OPTIONS="$FOP_DEFAULT_JAVA_OPTIONS $FOP_JAVA_OPTIONS" \
+ fop $FOP_CMD_SWITCHES "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/libexec/daps-jing new/daps/libexec/daps-jing
--- old/daps/libexec/daps-jing 1970-01-01 01:00:00.000000000 +0100
+++ new/daps/libexec/daps-jing 2015-09-22 15:19:13.000000000 +0200
@@ -0,0 +1,41 @@
+#!/bin/bash
+#
+# Copyright (C) 2012-2015 SUSE Linux GmbH
+#
+# Author:
+# Frank Sundermeyer <fsundermeyer at opensuse dor org>
+# Thomas Schraitle <toms at opensuse dor org>
+#
+# Customized JING executable for DAPS
+
+
+# set initial/maximum java heap size
+#
+#JING_MEMORY=${JING_MEMORY:-"-Xms400 -Xmx500m"}
+
+# set java thread stack size
+# A minimum stack size of 3072 is needed for builds on s390 and ARM
+#
+JING_STACKSIZE=${JING_STACKSIZE:-"-Xss3072K"}
+
+#
+# Default JAVA setup for JING needed by DAPS - do not change
+# To add additional flags/jars/options use
+#
+# JING_JAVA_FLAGS
+# JING_JAVA_JARS
+# JING_JAVA_OPTIONS
+#
+# in the config. These values will be used in addition to the default values
+# specified below
+
+JING_DEFAULT_JAVA_FLAGS="-Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration"
+JING_DEFAULT_JAVA_JARS="batik-all excalibur/avalon-framework-impl"
+JING_DEFAULT_JAVA_OPTIONS="$JING_MEMORY $JING_STACKSIZE"
+
+# Call /usr/bin/jing
+#
+ADDITIONAL_FLAGS="$JING_DEFAULT_JAVA_FLAGS $JING_JAVA_FLAGS" \
+ ADDITIONAL_JARS="$JING_DEFAULT_JAVA_JARS $JING_JAVA_JARS" \
+ ADDITIONAL_OPTIONS="$JING_DEFAULT_JAVA_OPTIONS $JING_JAVA_OPTIONS" \
+ jing "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/libexec/daps-xep new/daps/libexec/daps-xep
--- old/daps/libexec/daps-xep 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/libexec/daps-xep 2015-09-22 15:19:13.000000000 +0200
@@ -2,15 +2,15 @@
#
# Copyright (C) 2012-2015 SUSE Linux GmbH
#
-# Author:
+# Authors:
+# Frank Sundermeyer <fsundermeyer at opensuse dor org>
# Thomas Schraitle <toms at opensuse dot org>
#
# Customized xep executable for daps
-# Use environment variable VERBOSE to get more debugging output
#
#
-# Configuring variables
+# User config file
#
USER_XEP_CONFIG="$HOME/.config/daps/xep-config.xml"
@@ -19,4 +19,30 @@
ccecho "info" "Using XEP config file from $USER_XEP_CONFIG"
export XEP_CONFIG_FILE=${XEP_CONFIG_FILE:-"$USER_XEP_CONFIG"}
fi
-xep "$@"
+
+# Command line switches for FOP
+#------------------------------
+#
+# enable quite mode unless --debug is used
+[[ 1 -ne $DEBUG ]] && XEP_DEFAULT_CMD_OPTIONS="-q"
+
+XEP_CMD_SWITCHES="$XEP_DEFAULT_CMD_OPTIONS $XEP_CMD_OPTIONS"
+
+# set initial/maximum java heap size
+#
+#XEP_MEMORY=${XEP_MEMORY:-"-Xms400 -Xmx500m"}
+# set java thread stack size
+#
+#XEP_STACKSIZE=${XEP_STACKSIZE:-"-Xss2048K"}
+
+XEP_DEFAULT_JAVA_FLAGS=""
+XEP_DEFAULT_JAVA_JARS=""
+XEP_DEFAULT_JAVA_OPTIONS="$XEP_MEMORY $XEP_STACKSIZE"
+
+
+# Call /usr/bin/xep
+#
+ADDITIONAL_FLAGS="$XEP_DEFAULT_JAVA_FLAGS $XEP_JAVA_FLAGS" \
+ ADDITIONAL_JARS="$XEP_DEFAULT_JAVA_JARS $XEP_JAVA_JARS" \
+ ADDITIONAL_OPTIONS="$XEP_DEFAULT_JAVA_OPTIONS $XEP_JAVA_OPTIONS" \
+ xep "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/make/validate.mk new/daps/make/validate.mk
--- old/daps/make/validate.mk 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/make/validate.mk 2015-09-22 15:19:13.000000000 +0200
@@ -23,8 +23,7 @@
ifeq "$(DOCBOOK_VERSION)" "4"
xmllint --noent --postvalid --noout --xinclude $(PROFILED_MAIN)
else
- ADDITIONAL_FLAGS="$(JING_FLAGS)" jing $(JING_RNC) $(DOCBOOK5_RNG) \
- $(PROFILED_MAIN)
+ $(JING_WRAPPER) $(JING_RNC) $(DOCBOOK5_RNG) $(PROFILED_MAIN)
endif
touch $(PROFILEDIR)/.validate
# @echo "checking for unexpected characters: ... "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/man/xml/ccecho.xml new/daps/man/xml/ccecho.xml
--- old/daps/man/xml/ccecho.xml 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/man/xml/ccecho.xml 2015-09-22 15:19:13.000000000 +0200
@@ -30,7 +30,7 @@
<refnamediv>
<refname>&ccecho-command;</refname>
<refpurpose>
- ccecho (conditional color echo) let's you use colored output for STDOUT
+ ccecho (conditional color echo) lets you use colored output for STDOUT
while using regular output for log files, pipes and scripts
</refpurpose>
</refnamediv>
@@ -46,9 +46,10 @@
<refsect1 id="ccecho.description">
<title>Description</title>
<para>
- Prints a colored message string to STDOUT using bash color codes. The color
- depends on one of the LEVEL keyword. When the SHELL environment variable
- COLOR is set to either "0" or "no" no color output is generated.
+ Prints a colored message string to STDOUT or STDERR using bash color
+ codes. The color and the output channel depend on the LEVEL keyword. When
+ the SHELL environment variable COLOR is set to either "0" or "no" no color
+ output is generated.
</para>
<para>
The main purpose of this script is to provide an easy method to generate
@@ -66,11 +67,11 @@
Determines which color is used. Must be used as the first parameter. Is
ignored, when the ebvironment variable COLOR is set to "0" or "no".
</para>
- <screen>error -> bold red
-info -> purple
-normal -> no color
-result -> green
-warn -> red</screen>
+ <screen>error -> bold red, STDERR
+info -> purple, STDOUT
+normal -> no color, STDOUT
+result -> green, STDOUT
+warn -> red, STDERR</screen>
</refsect2>
<refsect2 id="ccecho.parameters.message">
<title>MESSAGE</title>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/daps/missing new/daps/missing
--- old/daps/missing 2015-08-04 11:33:56.000000000 +0200
+++ new/daps/missing 2015-09-22 15:19:13.000000000 +0200
@@ -1,9 +1,9 @@
#! /bin/sh
# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2013-10-28.13; # UTC
+scriptversion=2012-06-26.16; # UTC
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
@@ -160,7 +160,7 @@
;;
autom4te*)
echo "You might have modified some maintainer files that require"
- echo "the 'autom4te' program to be rebuilt."
+ echo "the 'automa4te' program to be rebuilt."
program_details 'autom4te'
;;
bison*|yacc*)
1
0
Hello community,
here is the log from the commit of package qconf for openSUSE:Factory checked in at 2015-09-30 05:53:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qconf (Old)
and /work/SRC/openSUSE:Factory/.qconf.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qconf"
Changes:
--------
--- /work/SRC/openSUSE:Factory/qconf/qconf.changes 2015-04-10 09:51:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.qconf.new/qconf.changes 2015-09-30 05:53:28.000000000 +0200
@@ -1,0 +2,8 @@
+Tue Sep 29 12:55:39 UTC 2015 - jslaby(a)suse.com
+
+- update to 20150608
+ * fix paths by escaping
+ * support multiple qt versions
+ * add extraconf flag
+
+-------------------------------------------------------------------
Old:
----
qconf-20150319.c8e969fef8ce.tar.xz
New:
----
qconf-20150608.4a9c329ba879.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qconf.spec ++++++
--- /var/tmp/diff_new_pack.pMT2K4/_old 2015-09-30 05:53:29.000000000 +0200
+++ /var/tmp/diff_new_pack.pMT2K4/_new 2015-09-30 05:53:29.000000000 +0200
@@ -22,7 +22,7 @@
Name: qconf
Url: http://delta.affinix.com/qconf/
-Version: 20150319.c8e969fef8ce
+Version: 20150608.4a9c329ba879
Release: 0
Summary: Configuration tool for qmake
License: GPL-2.0
++++++ qconf-20150319.c8e969fef8ce.tar.xz -> qconf-20150608.4a9c329ba879.tar.xz ++++++
++++ 1611 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qconf-20150319.c8e969fef8ce/conf/conf4.cpp new/qconf-20150608.4a9c329ba879/conf/conf4.cpp
--- old/qconf-20150319.c8e969fef8ce/conf/conf4.cpp 2015-03-19 10:05:24.000000000 +0100
+++ new/qconf-20150608.4a9c329ba879/conf/conf4.cpp 2015-09-29 14:54:51.000000000 +0200
@@ -76,7 +76,7 @@
QString qc_findself(const QString &argv0)
{
#ifdef Q_OS_WIN
- if(argv0.contains('\\\\'))
+ if(argv0.contains('\\'))
#else
if(argv0.contains('/'))
#endif
@@ -175,12 +175,77 @@
return true;
}
+// simple command line arguemnts splitter able to understand quoted args.
+// the splitter removes quotes and unescapes symbols as well.
+QStringList qc_splitflags(const QString &flags)
+{
+ QStringList ret;
+ bool searchStart = true;
+ bool inQuotes = false;
+ bool escaped = false;
+ QChar quote, backslash = QLatin1Char('\\');
+ QString buf;
+ buf.reserve(PATH_MAX);
+ for (int i=0; i < flags.length(); i++) {
+ if (searchStart && flags[i].isSpace()) {
+ continue;
+ }
+ if (searchStart) {
+ searchStart = false;
+ buf.clear();
+ }
+ if (escaped) {
+ buf += flags[i];
+ escaped = false;
+ continue;
+ }
+ //buf += flags[i];
+ if (inQuotes) {
+ if (quote == QLatin1Char('\'')) {
+ if (flags[i] == quote) {
+ inQuotes = false;
+ continue;
+ }
+ } else { // we are in double quoetes
+ if (flags[i] == backslash && i < flags.length() - 1 &&
+ (flags[i+1] == QLatin1Char('"') || flags[i+1] == backslash))
+ {
+ // if next symbol is one of in parentheses ("\)
+ escaped = true;
+ continue;
+ }
+ }
+ } else {
+ if (flags[i].isSpace()) {
+ ret.append(buf);
+ searchStart = true;
+ buf.clear();
+ continue;
+#ifndef Q_OS_WIN /* on windows backslash is just a path separator */
+ } else if (flags[i] == backslash) {
+ escaped = true;
+ continue; // just add next symbol
+#endif
+ } else if (flags[i] == QLatin1Char('\'') || flags[i] == QLatin1Char('"')) {
+ inQuotes = true;
+ quote = flags[i];
+ continue;
+ }
+ }
+ buf += flags[i];
+ }
+ if (buf.size()) {
+ ret.append(buf);
+ }
+ return ret;
+}
+
void qc_splitcflags(const QString &cflags, QStringList *incs, QStringList *otherflags)
{
incs->clear();
otherflags->clear();
- QStringList cflagsList = cflags.split(" ");
+ QStringList cflagsList = qc_splitflags(cflags);
for(int n = 0; n < cflagsList.count(); ++n)
{
QString str = cflagsList[n];
@@ -209,6 +274,90 @@
return out;
}
+
+QString qc_trim_char(const QString &s, const QChar &ch)
+{
+ if (s.startsWith(ch) && s.endsWith(ch)) {
+ return s.mid(1, s.size() - 2);
+ }
+ return s;
+}
+
+// removes surrounding quotes, removes trailing slashes, converts to native separators.
+// accepts unescaped but possible quoted path
+QString qc_normalize_path(const QString &str)
+{
+ QString path = str.trimmed();
+ path = qc_trim_char(path, QLatin1Char('"'));
+ path = qc_trim_char(path, QLatin1Char('\''));
+#ifdef Q_OS_WIN
+ QLatin1Char nativeSep('\\');
+ path.replace(QLatin1Char('/'), QLatin1Char('\\'));
+#else
+ QLatin1Char nativeSep('/');
+#endif
+ // trim trailing slashes
+ while (path.length() && path[path.length() - 1] == nativeSep) {
+ path.resize(path.length() - 1);
+ }
+ return path;
+}
+
+// escape filesystem path to be added to qmake pro/pri file.
+QString qc_escape_string_var(const QString &str)
+{
+ QString path = str;
+ path.replace(QLatin1Char('\\'), QLatin1String("\\\\"))
+ .replace(QLatin1Char('"'), QLatin1String("\\\""));
+ if (path.indexOf(QLatin1Char(' ')) != -1) { // has spaces
+ return QLatin1Char('"') + path + QLatin1Char('"');
+ }
+ return path;
+}
+
+// escapes each path in incs and join into single string suiable for INCLUDEPATH var
+QString qc_prepare_includepath(const QStringList &incs)
+{
+ if (incs.empty()) {
+ return QString();
+ }
+ QStringList ret;
+ foreach (const QString &path, incs) {
+ ret.append(qc_escape_string_var(path));
+ }
+ return ret.join(QLatin1String(" "));
+}
+
+// escapes each path in libs and to make it suiable for LIBS var
+// notice, entries of libs are every single arg for linker.
+QString qc_prepare_libs(const QStringList &libs)
+{
+ if (libs.isEmpty()) {
+ return QString();
+ }
+ QSet<QString> pathSet;
+ QStringList paths;
+ QStringList ordered;
+ foreach (const QString &arg, libs) {
+ if (arg.startsWith(QLatin1String("-L"))) {
+ QString path = qc_escape_string_var(arg.mid(2));
+ if (!pathSet.contains(path)) {
+ pathSet.insert(path);
+ paths.append(path);
+ }
+ } else if (arg.startsWith(QLatin1String("-l"))) {
+ ordered.append(arg);
+ } else {
+ ordered.append(qc_escape_string_var(arg));
+ }
+ }
+ QString ret;
+ if (paths.size()) {
+ ret += (QLatin1String(" -L") + paths.join(QLatin1String(" -L")) + QLatin1Char(' '));
+ }
+ return ret + ordered.join(QLatin1String(" "));
+}
+
//----------------------------------------------------------------------------
// ConfObj
//----------------------------------------------------------------------------
@@ -375,14 +524,34 @@
return vars.value(s);
}
+QString Conf::normalizePath(const QString &s) const
+{
+ return qc_normalize_path(s);
+}
+
+QString Conf::escapeQmakeVar(const QString &s) const
+{
+ return qc_escape_string_var(s);
+}
+
+QString Conf::escapedIncludes() const
+{
+ return qc_prepare_includepath(INCLUDEPATH);
+}
+
+QString Conf::escapedLibs() const
+{
+ return qc_prepare_libs(LIBS);
+}
+
QString Conf::expandIncludes(const QString &inc)
{
- return QString("-I") + inc;
+ return QLatin1String("-I") + inc;
}
QString Conf::expandLibs(const QString &lib)
{
- return QString("-L") + lib;
+ return QLatin1String("-L") + lib;
}
int Conf::doCommand(const QString &s, QByteArray *out)
@@ -396,7 +565,7 @@
int Conf::doCommand(const QString &prog, const QStringList &args, QByteArray *out)
{
QString fullcmd = prog;
- QString argstr = args.join(" ");
+ QString argstr = args.join(QLatin1String(" "));
if(!argstr.isEmpty())
fullcmd += QString(" ") + argstr;
debug(QString("[%1]").arg(fullcmd));
@@ -412,10 +581,14 @@
#else
QDir tmp(".qconftemp");
#endif
+ QStringList normalizedLibs;
+ foreach (const QString &l, qc_splitflags(libs)) {
+ normalizedLibs.append(qc_normalize_path(l));
+ }
if(!tmp.mkdir("atest"))
{
- debug("unable to create atest dir");
+ debug(QString("unable to create atest dir: %1").arg(tmp.absoluteFilePath("atest")));
return false;
}
QDir dir(tmp.filePath("atest"));
@@ -447,11 +620,12 @@
"CONFIG -= qt app_bundle\n"
"DESTDIR = $$PWD\n"
"SOURCES += atest.cpp\n");
- QString inc = incs.join(" ");
+ QString inc = qc_prepare_includepath(incs);
if(!inc.isEmpty())
pro += "INCLUDEPATH += " + inc + '\n';
- if(!libs.isEmpty())
- pro += "LIBS += " + libs + '\n';
+ QString escaped_libs = qc_prepare_libs(normalizedLibs);
+ if(!escaped_libs.isEmpty())
+ pro += "LIBS += " + escaped_libs + '\n';
pro += proextra;
fname = dir.filePath("atest.pro");
@@ -512,10 +686,7 @@
bool Conf::checkHeader(const QString &path, const QString &h)
{
- QFileInfo fi(path + '/' + h);
- if(fi.exists())
- return true;
- return false;
+ return QDir(path).exists(h);
}
bool Conf::findHeader(const QString &h, const QStringList &ext, QString *inc)
@@ -652,7 +823,7 @@
*version = version_out;
*incs = incs_out;
*libs = libs_out;
- *otherflags = otherflags_out.join(" ");
+ *otherflags = otherflags_out.join(QLatin1String(" "));
return true;
}
@@ -716,7 +887,7 @@
*version = version_out;
*incs = incs_out;
*libs = libs_out;
- *otherflags = otherflags_out.join(" ");
+ *otherflags = otherflags_out.join(QLatin1String(" "));
return true;
}
@@ -731,19 +902,20 @@
void Conf::addLib(const QString &str)
{
- if(LIBS.isEmpty())
- LIBS = str;
- else
- LIBS += QString(" ") + str;
+ QStringList libs = qc_splitflags(str);
+ foreach (const QString &lib, libs) {
+ if (lib.startsWith("-l")) {
+ LIBS.append(lib);
+ } else {
+ LIBS.append(qc_normalize_path(lib)); // we don't care about -L prefix since normalier does not touch it.
+ }
+ }
debug(QString("LIBS += %1").arg(str));
}
void Conf::addIncludePath(const QString &str)
{
- if(INCLUDEPATH.isEmpty())
- INCLUDEPATH = str;
- else
- INCLUDEPATH += QString(" ") + str;
+ INCLUDEPATH.append(qc_normalize_path(str));
debug(QString("INCLUDEPATH += %1").arg(str));
}
@@ -762,8 +934,9 @@
# include"modules.cpp"
#endif
-int main()
+int main(int argc, char ** argv)
{
+ QCoreApplication app(argc, argv);
Conf *conf = new Conf;
ConfObj *o = 0;
Q_UNUSED(o);
@@ -849,13 +1022,17 @@
if(!conf->DEFINES.isEmpty())
str += "DEFINES += " + conf->DEFINES + '\n';
if(!conf->INCLUDEPATH.isEmpty())
- str += "INCLUDEPATH += " + conf->INCLUDEPATH + '\n';
+ str += "INCLUDEPATH += " + qc_prepare_includepath(conf->INCLUDEPATH) + '\n';
if(!conf->LIBS.isEmpty())
- str += "LIBS += " + conf->LIBS + '\n';
+ str += "LIBS += " + qc_prepare_libs(conf->LIBS) + '\n';
if(!conf->extra.isEmpty())
str += conf->extra;
str += '\n';
+ var = qc_getenv("QC_EXTRACONF");
+ if (!var.isEmpty())
+ str += ("\n# Extra conf from command line\n" + var + "\n");
+
QByteArray cs = str.toLatin1();
f.write(cs);
f.close();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qconf-20150319.c8e969fef8ce/conf/conf4.h new/qconf-20150608.4a9c329ba879/conf/conf4.h
--- old/qconf-20150319.c8e969fef8ce/conf/conf4.h 2015-03-19 10:05:24.000000000 +0100
+++ new/qconf-20150608.4a9c329ba879/conf/conf4.h 2015-09-29 14:54:51.000000000 +0200
@@ -62,8 +62,8 @@
QString maketool;
QString DEFINES;
- QString INCLUDEPATH;
- QString LIBS;
+ QStringList INCLUDEPATH;
+ QStringList LIBS;
QString extra;
QList<ConfObj*> list;
@@ -74,6 +74,12 @@
QString getenv(const QString &var);
QString qvar(const QString &s);
+ QString normalizePath(const QString &s) const;
+ QString escapeQmakeVar(const QString &s) const;
+ inline QString escapePath(const QString &s) /* prepare fs path for qmake file */
+ { return escapeQmakeVar(normalizePath(s)); }
+ QString escapedIncludes() const;
+ QString escapedLibs() const;
bool exec();
Files old/qconf-20150319.c8e969fef8ce/configure.exe and new/qconf-20150608.4a9c329ba879/configure.exe differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qconf-20150319.c8e969fef8ce/src/configexe/configexe.c new/qconf-20150608.4a9c329ba879/src/configexe/configexe.c
--- old/qconf-20150319.c8e969fef8ce/src/configexe/configexe.c 2015-03-19 10:05:24.000000000 +0100
+++ new/qconf-20150608.4a9c329ba879/src/configexe/configexe.c 2015-09-29 14:54:51.000000000 +0200
@@ -12,7 +12,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
-#include <unistd.h>
+//#include <unistd.h>
#include "embed.h"
#if defined(WIN32) || defined(_WIN32)
@@ -340,9 +340,9 @@
{
char *str;
- str = strdup(qtdir);
+ str = separators_to_native(qtdir);
#ifdef QC_OS_WIN
- str = append_free(str, "/bin/qmake.exe");
+ str = append_free(str, "\\bin\\qmake.exe");
#else
str = append_free(str, "/bin/qmake");
#endif
@@ -361,6 +361,8 @@
{
char *qtdir;
char *path;
+ FILE *qmp;
+ char try_syspath = 1;
qtdir = ex_qtdir;
if(qtdir)
@@ -368,6 +370,7 @@
path = check_qmake_path(qtdir);
if(path)
return path;
+ try_syspath = 0;
}
if(qc_verbose)
printf("Warning: qmake not found via --qtdir\n");
@@ -378,10 +381,50 @@
path = check_qmake_path(qtdir);
if(path)
return path;
+ try_syspath = 0;
}
if(qc_verbose)
printf("Warning: qmake not found via %%QTDIR%%\n");
+ /* if not set explicitly try something implicit */
+ if (try_syspath) {
+ char *dname = 0;
+ int len;
+ qmp = popen("qmake -query QT_INSTALL_BINS", "r");
+ if (qmp) {
+ char buf[PATH_MAX];
+ int cnt;
+ while ((cnt = fread(buf, 1, PATH_MAX - 1, qmp))) {
+ buf[cnt] = 0;
+ if (!dname) {
+ dname = strdup(buf);
+ } else {
+ dname = append_free(dname, buf);
+ }
+ }
+ pclose(qmp);
+ }
+ if (dname) {
+ len = strlen(dname);
+ while (len && dname[len - 1] < ' ')
+ dname[--len] = '\0';
+ if (len && file_exists(dname)) {
+#ifdef QC_OS_WIN
+ dname = append_free(dname, "/qmake.exe"); /* it coud be *.cmd but we don't care */
+#else
+ dname = append_free(dname, "/qmake");
+#endif
+ char *ndname = separators_to_native(dname);
+ free(dname);
+ return ndname;
+ }
+ free(dname);
+ }
+ }
+
+ if(qc_verbose)
+ printf("Warning: qmake not found in PATH\n");
+
return NULL;
}
@@ -660,7 +703,7 @@
try_print_var(q->args[n].envvar, q->args[n].val);
}
- printf("Verifying Qt 4 build environment ... ");
+ printf("Verifying Qt 4+ build environment ... ");
fflush(stdout);
if(qc_verbose)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qconf-20150319.c8e969fef8ce/src/configexe/configexe.pro new/qconf-20150608.4a9c329ba879/src/configexe/configexe.pro
--- old/qconf-20150319.c8e969fef8ce/src/configexe/configexe.pro 2015-03-19 10:05:24.000000000 +0100
+++ new/qconf-20150608.4a9c329ba879/src/configexe/configexe.pro 2015-09-29 14:54:51.000000000 +0200
@@ -4,6 +4,8 @@
CONFIG += release
+*win32-g++*:QMAKE_LFLAGS += -static-libgcc
+
HEADERS += \
embed.h
Files old/qconf-20150319.c8e969fef8ce/src/configexe/configexe_stub.exe and new/qconf-20150608.4a9c329ba879/src/configexe/configexe_stub.exe differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/qconf-20150319.c8e969fef8ce/src/qconf.cpp new/qconf-20150608.4a9c329ba879/src/qconf.cpp
--- old/qconf-20150319.c8e969fef8ce/src/qconf.cpp 2015-03-19 10:05:24.000000000 +0100
+++ new/qconf-20150608.4a9c329ba879/src/qconf.cpp 2015-09-29 14:54:51.000000000 +0200
@@ -44,7 +44,7 @@
{
QString out;
for(int n = 0; n < (int)str.length(); ++n) {
- if(str[n] == '$' || str[n] == '`')
+ if(str[n] == '$' || str[n] == '`' || str[n] == '\\')
out += '\\';
out += str[n];
}
@@ -150,34 +150,6 @@
return out;
}
-// eat double-backslashes on windows, as we don't need the extra escaping to
-// satisfy the unix shell script
-static QByteArray filter_backslashes(const QByteArray &in)
-{
- QByteArray out;
-
- bool inbs = false;
- for(int n = 0; n < in.size(); ++n)
- {
- if(in[n] == '\\')
- {
- if(inbs)
- {
- inbs = false;
- continue;
- }
-
- inbs = true;
- }
- else
- inbs = false;
-
- out += in[n];
- }
-
- return out;
-}
-
static QByteArray get_configexe_stub()
{
QFile f;
@@ -362,6 +334,8 @@
if(libmode)
mainopts += ConfOpt("static", QString(), "QC_STATIC", "Create a static library instead of shared.");
+ mainopts += ConfOpt("extraconf", "conf", "QC_EXTRACONF", "Extra configuration for nonstandard cases");
+
QString str;
str += genHeader();
str += genUsage();
@@ -406,7 +380,7 @@
if(qt4) {
if(byoq) {
- str += "printf \"Preparing internal Qt 4 build environment ... \"\n\n";
+ str += "printf \"Preparing internal Qt 4+ build environment ... \"\n\n";
str += "cd byoq\n";
str += "./byoq build\n";
@@ -442,6 +416,7 @@
str += QString("export %1\n").arg(i.var);
}
str += "export QC_VERBOSE\n"; // export verbose flag also
+ str += "export QC_QTSELECT\n";
str += genDoQConf();
@@ -465,6 +440,8 @@
if(libmode)
mainopts += ConfOpt("static", QString(), "QC_STATIC", "Create a static library instead of shared.");
+ mainopts += ConfOpt("extraconf", "conf", "QC_EXTRACONF", "Extra configuration for nonstandard cases");
+
// combine main and extra opts together
all = mainopts + appopts + depopts;
@@ -498,11 +475,11 @@
write32((quint8 *)buf.data(), 5);
out += buf;
- out += embed_file("modules.cpp", filter_backslashes(filemodulescpp));
- out += embed_file("modules_new.cpp", filter_backslashes(filemodulesnewcpp));
- out += embed_file("conf4.h", filter_backslashes(fileconfh));
- out += embed_file("conf4.cpp", filter_backslashes(fileconfcpp));
- out += embed_file("conf4.pro", filter_backslashes(fileconfpro));
+ out += embed_file("modules.cpp", filemodulescpp);
+ out += embed_file("modules_new.cpp", filemodulesnewcpp);
+ out += embed_file("conf4.h", fileconfh);
+ out += embed_file("conf4.cpp", fileconfcpp);
+ out += embed_file("conf4.pro", fileconfpro);
out += lenval(name.toLatin1());
out += lenval(profile.toLatin1());
@@ -586,6 +563,7 @@
QList<ConfUsageOpt> list = optsToUsage(mainopts);
list += ConfUsageOpt("verbose", "", "Show extra configure output.");
+ list += ConfUsageOpt("qtselect", "N", "Select major Qt verion (4 or 5).");
list += ConfUsageOpt("help", "", "This help text.");
str += genUsageSection("Main options:", list);
@@ -611,6 +589,7 @@
QList<ConfUsageOpt> list = optsToUsage(mainopts);
list += ConfUsageOpt("verbose", "", "Show extra configure output.");
+ list += ConfUsageOpt("qtselect", "N", "Select major Qt verion (4 or 5).");
list += ConfUsageOpt("help", "", "This help text.");
str += genUsageSection("Main options:", list);
@@ -754,8 +733,13 @@
" QC_VERBOSE=\"Y\"\n"
" shift\n"
" ;;\n"
+ " --qtselect*)\n"
+ " [ \"$1\" = \"--qtselect\" ] && { shift; optarg=\"$1\"; }\n"
+ " QC_QTSELECT=\"${optarg}\"\n"
+ " shift\n"
+ " ;;\n"
" --help) show_usage; exit ;;\n"
- " *) show_usage; exit ;;\n"
+ " *) show_usage; exit 1;;\n"
" esac\n"
"done\n\n";
@@ -874,14 +858,19 @@
QString genQt4Checks()
{
QString str =
+ "QTSEARCHTTEXT=\"$QC_QTSELECT\"\n"
+ "[ -z \"$QC_QTSELECT\" ] && QTSEARCHTTEXT=\"4 or 5\"\n"
+ "\n"
"# run qmake -v and check version\n"
"qmake_check_v4() {\n"
" if [ -x \"$1\" ]; then\n"
- " local v=`$1 -query QT_VERSION 2>&1`\n"
- " vmaj=\"${v%%.*}\"\n"
- " case \"${v}\" in ?.?.?) [ \"$vmaj\" = 4 -o \"$vmaj\" = 5 ] && return 0 ;; esac\n"
+ " local v=`$1 -query QT_VERSION 2>&1`\n"
+ " vmaj=\"${v%%.*}\"\n"
+ " case \"${v}\" in ?.?.?) [ -z \"$QC_QTSELECT\" ] && [ \"$vmaj\" = 4 -o \"$vmaj\" = 5 ] && return 0;\n"
+ " [ -n \"$QC_QTSELECT\" ] && [ \"$vmaj\" = \"$QC_QTSELECT\" ] && return 0; ;;\n"
+ " esac\n"
" if [ \"$QC_VERBOSE\" = \"Y\" ]; then\n"
- " echo \"Warning: $1 not for Qt 4 or 5\"\n"
+ " echo \"Warning: $1 not for Qt ${QTSEARCHTTEXT}\"\n"
" fi\n"
" fi\n"
" return 1\n"
@@ -894,10 +883,18 @@
"fi\n"
"\n"
"qm=\"\"\n"
- "names=\"qmake-qt5 qmake5 qmake-qt4 qmake4 qmake\"\n"
+ "qt4_names=\"qmake-qt4 qmake4\"\n"
+ "qt5_names=\"qmake-qt5 qmake5\"\n"
+ "names=\"qmake\"\n"
+ "if [ -z \"$QC_QTSELECT\" ]; then\n"
+ " names=\"${qt5_names} ${qt4_names} $names\"\n"
+ "else\n"
+ " [ \"$QC_QTSELECT\" = \"4\" ] && names=\"${qt4_names} $names\"\n"
+ " [ \"$QC_QTSELECT\" -ge \"5\" ] && names=\"${qt5_names} $names\"\n"
+ "fi\n"
"\n"
- "# qt4 check: --qtdir\n"
"if [ -z \"$qm\" ] && [ ! -z \"$EX_QTDIR\" ]; then\n"
+ "# qt4 check: --qtdir\n"
" for n in $names; do\n"
" qstr=$EX_QTDIR/bin/$n\n"
" if qmake_check_v4 \"$qstr\"; then\n"
@@ -905,13 +902,12 @@
" break;\n"
" fi\n"
" done\n"
- "fi\n"
- "if [ -z \"$qm\" ] && [ \"$QC_VERBOSE\" = \"Y\" ]; then\n"
- " echo \"Warning: qmake not found via --qtdir\"\n"
- "fi\n"
+ " if [ -z \"$qm\" ] && [ \"$QC_VERBOSE\" = \"Y\" ]; then\n"
+ " echo \"Warning: qmake not found via --qtdir\"\n"
+ " fi\n"
"\n"
+ "elif [ -z \"$qm\" ] && [ ! -z \"$QTDIR\" ]; then\n"
"# qt4 check: QTDIR\n"
- "if [ -z \"$qm\" ] && [ ! -z \"$QTDIR\" ]; then\n"
" for n in $names; do\n"
" qstr=$QTDIR/bin/$n\n"
" if qmake_check_v4 \"$qstr\"; then\n"
@@ -919,9 +915,28 @@
" break;\n"
" fi\n"
" done\n"
+ " if [ -z \"$qm\" ] && [ \"$QC_VERBOSE\" = \"Y\" ]; then\n"
+ " echo \"Warning: qmake not found via \\$QTDIR\"\n"
+ " fi\n"
+ "\n"
+ "else\n"
+ "\n"
+ "# Try all other implicit checks\n"
+ "\n"
+ "# qtchooser\n"
+ "if [ -z \"$qm\" ]; then\n"
+ " qtchooser=$($WHICH qtchooser 2>/dev/null)\n"
+ " if [ ! -z \"$qtchooser\" ]; then\n"
+ " cmd=\"$qtchooser -run-tool=qmake -qt=${QC_QTSELECT}\"\n"
+ " qtbins=\"$($cmd -query QT_INSTALL_BINS 2>/dev/null)\"\n"
+ " if [ -n \"$qtbins\" ] && qmake_check_v4 \"$qtbins/qmake\"; then\n"
+ " qm=\"$qtbins/qmake\"\n"
+ " break;\n"
+ " fi\n"
+ " fi\n"
"fi\n"
"if [ -z \"$qm\" ] && [ \"$QC_VERBOSE\" = \"Y\" ]; then\n"
- " echo \"Warning: qmake not found via \\$QTDIR\"\n"
+ " echo \"Warning: qmake not found via qtchooser\"\n"
"fi\n"
"\n"
"# qt4 check: pkg-config\n"
@@ -955,6 +970,9 @@
" echo \"Warning: qmake not found via \\$PATH\"\n"
"fi\n"
"\n"
+ "# end of implicit checks\n"
+ "fi\n"
+ "\n"
"if [ -z \"$qm\" ]; then\n"
" if [ \"$QC_VERBOSE\" = \"Y\" ]; then\n"
" echo \" -> fail\"\n"
@@ -964,7 +982,7 @@
str += echoBlock(1,
"\n"
- "Reason: Unable to find the 'qmake' tool for Qt 4.\n"
+ "Reason: Unable to find the 'qmake' tool for Qt ${QTSEARCHTTEXT}.\n"
"\n");
str +=
" show_qt_info\n";
@@ -1011,16 +1029,16 @@
QString genDoQConf()
{
QString outdir = ".qconftemp";
- QString cleanup = QString("rm -rf %1").arg(outdir);
+ QString cleanup = QString("rm -rf \"%1\"").arg(outdir);
QString str;
str += QString("%1\n").arg(cleanup);
str += QString(
"(\n"
- " mkdir %1\n"
- " gen_files %2\n"
- " cd %3\n"
+ " mkdir \"%1\"\n"
+ " gen_files \"%2\"\n"
+ " cd \"%3\"\n"
).arg(outdir).arg(outdir).arg(outdir);
if(qt4) {
@@ -1097,7 +1115,7 @@
str += QString("export QC_COMMAND\n");
str += QString("QC_PROFILE=%1\n").arg(profile);
str += QString("export QC_PROFILE\n");
- str += QString("QC_QMAKE=$qm\n");
+ str += QString("QC_QMAKE=\"$qm\"\n");
str += QString("export QC_QMAKE\n");
str += QString("QC_QMAKESPEC=$qm_spec\n");
str += QString("export QC_QMAKESPEC\n");
@@ -1105,7 +1123,7 @@
str += QString("export QC_MAKETOOL\n");
}
- str += QString("%1/conf\n").arg(outdir);
+ str += QString("\"%1/conf\"\n").arg(outdir);
str += "ret=\"$?\"\n";
str += "if [ \"$ret\" = \"1\" ]; then\n";
@@ -1181,7 +1199,7 @@
QString genEmbeddedFile(const QString &name, const QByteArray &a)
{
QString str;
- str += QString("cat >%1 <<EOT\n").arg(name);
+ str += QString("cat >\"%1\" <<EOT\n").arg(name);
str += escapeFile(QString::fromLatin1(a));
str += "\nEOT\n";
return str;
@@ -1660,19 +1678,7 @@
dep.section = info.section;
dep.args = info.args;
- // prepend #line
- int oldsize = buf.size();
- QString str = QString("#line 1 \"%1\"\n").arg(modfname);
- QByteArray cs = str.toLocal8Bit();
- int len = cs.length();
- buf.resize(oldsize + len);
- memmove(buf.data() + len, buf.data(), oldsize);
- memcpy(buf.data(), cs.data(), len);
-
- // append to the module buffer
- oldsize = allmods.size();
- allmods.resize(oldsize + buf.size());
- memcpy(allmods.data() + oldsize, buf.data(), buf.size());
+ allmods += (QString("#line 1 \"%1\"\n").arg(modfname).toLocal8Bit() + buf);
modscreate += QString(" o = new qc_%1(conf);\n o->required = %2;\n o->disabled = %3;\n"
).arg(escapeArg(dep.name)).arg(dep.required ? "true": "false").arg(dep.disabled ? "true": "false");
1
0
Hello community,
here is the log from the commit of package docker for openSUSE:Factory checked in at 2015-09-30 05:53:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/docker (Old)
and /work/SRC/openSUSE:Factory/.docker.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "docker"
Changes:
--------
--- /work/SRC/openSUSE:Factory/docker/docker.changes 2015-09-17 09:20:36.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.docker.new/docker.changes 2015-09-30 05:53:27.000000000 +0200
@@ -9,0 +10,2 @@
+ fix bsc#946653 update do docker 1.8.2
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package twinkle for openSUSE:Factory checked in at 2015-09-30 05:53:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/twinkle (Old)
and /work/SRC/openSUSE:Factory/.twinkle.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "twinkle"
Changes:
--------
--- /work/SRC/openSUSE:Factory/twinkle/twinkle.changes 2015-07-25 07:44:35.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.twinkle.new/twinkle.changes 2015-09-30 05:53:25.000000000 +0200
@@ -1,0 +2,9 @@
+Tue Sep 29 07:43:31 UTC 2015 - mkubecek(a)suse.cz
+
+- fix Leap 42.1 build
+ Leap 42.1 sets suse_version to 1315 but it already has ilbc-devel
+ split out of the main package unlike 13.2. Add some more specfile
+ hacks to fix the build. This version builds correctly on 13.1,
+ 13.2, Factory and Leap.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ twinkle.spec ++++++
--- /var/tmp/diff_new_pack.iDMxtK/_old 2015-09-30 05:53:26.000000000 +0200
+++ /var/tmp/diff_new_pack.iDMxtK/_new 2015-09-30 05:53:26.000000000 +0200
@@ -37,10 +37,12 @@
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(speex)
BuildRequires: pkgconfig(speexdsp)
-%if %{?suse_version} > 1320
+%if 0%{?suse_version} <= 1320
+BuildRequires: boost-devel
+%endif
+%if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?is_opensuse})
BuildRequires: ilbc-devel
%else
-BuildRequires: boost-devel
BuildRequires: ilbc
%endif
Summary: A SIP Soft Phone
1
0
Hello community,
here is the log from the commit of package mksusecd for openSUSE:Factory checked in at 2015-09-30 05:53:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mksusecd (Old)
and /work/SRC/openSUSE:Factory/.mksusecd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mksusecd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mksusecd/mksusecd.changes 2015-08-13 18:10:52.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mksusecd.new/mksusecd.changes 2015-09-30 05:53:23.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 29 09:15:22 UTC 2015 - snwint(a)suse.com
+
+- Add link to linux-devtools documentation
+- 1.33
+
+-------------------------------------------------------------------
Old:
----
mksusecd-1.32.tar.xz
New:
----
mksusecd-1.33.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mksusecd.spec ++++++
--- /var/tmp/diff_new_pack.xNxiFx/_old 2015-09-30 05:53:24.000000000 +0200
+++ /var/tmp/diff_new_pack.xNxiFx/_new 2015-09-30 05:53:24.000000000 +0200
@@ -18,7 +18,7 @@
Name: mksusecd
-Version: 1.32
+Version: 1.33
Release: 0
Summary: Create SUSE Linux installation ISOs
License: GPL-3.0+
++++++ mksusecd-1.32.tar.xz -> mksusecd-1.33.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.32/README.md new/mksusecd-1.33/README.md
--- old/mksusecd-1.32/README.md 2015-08-12 14:12:35.000000000 +0200
+++ new/mksusecd-1.33/README.md 2015-09-29 11:13:33.000000000 +0200
@@ -1,9 +1,10 @@
+# mksusecd
+
This is a tool to create SUSE Linux installation ISOs, either from scratch or
by modifying existing ISOs. A simple use case is to regenerate a ISO to
include fixes, see below.
-
-### Installation
+## Installation
Often you will need [mkdud][1] along with mksusecd. Both mksusecd and mkdud are
included in openSUSE Tumbleweed. So on openSUSE Tumbleweed installation is as
@@ -15,7 +16,7 @@
[1]: https://github.com/openSUSE/mkdud
-### Simple use case
+## Simple use case
We have a patch for yast2-core that is needed during installation and the
final system, e.g. for an AutoYaST installation. The patch is included in
@@ -36,3 +37,12 @@
Now you can use bug-free.iso as a replacement for openSUSE-13.2-DVD-x86_64.iso.
+## openSUSE Development
+
+The package is automatically submitted from the `master` branch to
+[system:install:head](https://build.opensuse.org/package/show/system:install:head/mksusecd)
+OBS project. From that place it is forwarded to
+[openSUSE Factory](https://build.opensuse.org/project/show/openSUSE:Factory).
+
+You can find more information about this workflow in the [linuxrc-devtools
+documentation](https://github.com/openSUSE/linuxrc-devtools#opensuse-development).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.32/VERSION new/mksusecd-1.33/VERSION
--- old/mksusecd-1.32/VERSION 2015-08-12 14:12:35.000000000 +0200
+++ new/mksusecd-1.33/VERSION 2015-09-29 11:13:33.000000000 +0200
@@ -1 +1 @@
-1.32
+1.33
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mksusecd-1.32/changelog new/mksusecd-1.33/changelog
--- old/mksusecd-1.32/changelog 2015-08-12 14:12:35.000000000 +0200
+++ new/mksusecd-1.33/changelog 2015-09-29 11:13:33.000000000 +0200
@@ -1,3 +1,6 @@
+2015-09-28: 1.33
+ - Add link to linux-devtools documentation
+
2015-08-12: 1.32
- move isozipl to /usr/bin
- make it work also with mkisofs from cdrtools
1
0
Hello community,
here is the log from the commit of package rubygem-net-ssh for openSUSE:Factory checked in at 2015-09-30 05:53:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-net-ssh (Old)
and /work/SRC/openSUSE:Factory/.rubygem-net-ssh.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-net-ssh"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-net-ssh/rubygem-net-ssh.changes 2015-02-16 21:14:20.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-net-ssh.new/rubygem-net-ssh.changes 2015-09-30 05:53:22.000000000 +0200
@@ -1,0 +2,57 @@
+Sat Sep 26 04:29:09 UTC 2015 - coolo(a)suse.com
+
+- updated to version 3.0.1
+ see installed CHANGES.txt
+
+ === 3.0.1
+ === 3.0.1.rc1
+
+ * Breaking change from 2.* series: exec! without block now returns empty string instread of nil if command has no output [https://github.com/net-ssh/net-ssh/pull/273]
+ * Support remote_user as %r in proxy commands [Dominic Scheirlinck]
+ * Raise Net::SSH::ConnectionTimeout from connection timeout [Carl Hoerberg]
+
+ === 3.0.0.rc1
+
+ * SemVer: Major version change because of dropping of ruby 1.9
+
+ === 2.10.1.rc2
+
+ * Win: Use fiddle on ruby 2.1 too [Charlie Savage]
+
+ === 2.10.1.rc1
+
+ * Added ruby 2.0 requirement to gemspec [Alex Schultz]
+
+-------------------------------------------------------------------
+Mon Aug 3 04:30:29 UTC 2015 - coolo(a)suse.com
+
+- updated to version 2.10.0
+ see installed CHANGES.txt
+
+ === 2.10.0
+
+ === 2.10.0-beta2
+
+ * Fix :passphrase option with :non_interactive [Jeremy Stanley]
+ * Use Socket.tcp with connect_timeout instead of Timeout::timeout [Carl Hörberg]
+ * Support for hostname hashes [Jef Mathiot]
+ * Ruby 1.9.3 is no longer supported but should moslty work expect for stuff like connect_timeout
+
+ === 2.10.0-beta1
+
+ * Fix could not parse PKey error. [Andrey Voronkov]
+ * Workaround for threading issue in MRI + singleton method declaration [Matt Brictson]
+ * Configuration change: we no longer append all supported algorithms, this is so you can exclude insecure algorithms. If you want to use the old behaviour specify append_all_supported_algorithms => true [voidus, mfazekas]
+ * New configuration option: :non_interactive => true in case you prefer an authmethod to fail rather than prompt. [mfazekas]
+ * Configuration change: password will now ask for password up to the :number_of_password_prompts times. If you want the
+ 2.9.1 behaviour of never asking password please set number_of_password_prompts to 0.
+
+ === 2.9.4-beta1
+
+ * Use sysread and syswrite on Windows instead of read_nonblock and write [marc-etienne]
+ * Windows/peagant: use fiddle on ruby 2.2+/windows [Charlie Savage]
+ * Check if ssh key is a file [kiela]
+
+ === 2.9.3
+
+-------------------------------------------------------------------
Old:
----
net-ssh-2.9.2.gem
New:
----
net-ssh-3.0.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-net-ssh.spec ++++++
--- /var/tmp/diff_new_pack.jResQJ/_old 2015-09-30 05:53:22.000000000 +0200
+++ /var/tmp/diff_new_pack.jResQJ/_new 2015-09-30 05:53:22.000000000 +0200
@@ -24,13 +24,13 @@
#
Name: rubygem-net-ssh
-Version: 2.9.2
+Version: 3.0.1
Release: 0
%define mod_name net-ssh
%define mod_full_name %{mod_name}-%{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: %{ruby >= 2.0}
BuildRequires: %{rubygem gem2rpm}
-BuildRequires: %{ruby}
BuildRequires: ruby-macros >= 5
Url: https://github.com/net-ssh/net-ssh
Source: http://rubygems.org/gems/%{mod_full_name}.gem
++++++ net-ssh-2.9.2.gem -> net-ssh-3.0.1.gem ++++++
++++ 1893 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package virt-viewer for openSUSE:Factory checked in at 2015-09-30 05:53:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virt-viewer (Old)
and /work/SRC/openSUSE:Factory/.virt-viewer.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virt-viewer"
Changes:
--------
--- /work/SRC/openSUSE:Factory/virt-viewer/virt-viewer.changes 2015-01-14 11:45:47.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.virt-viewer.new/virt-viewer.changes 2015-09-30 05:53:19.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Sep 21 15:06:17 MDT 2015 - carnold(a)suse.com
+
+- bsc#946816 - virt-viewer: version 2.0 can't connect to Xen VMs
+ reverse-3d5627d7-for-xen.patch
+
+-------------------------------------------------------------------
New:
----
reverse-3d5627d7-for-xen.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ virt-viewer.spec ++++++
--- /var/tmp/diff_new_pack.GjrvAn/_old 2015-09-30 05:53:20.000000000 +0200
+++ /var/tmp/diff_new_pack.GjrvAn/_new 2015-09-30 05:53:20.000000000 +0200
@@ -15,7 +15,6 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-
%if %suse_version >= 1315
%define gtk_arg --with-gtk=3.0
%else
@@ -34,6 +33,7 @@
Patch51: windows-keycombo.patch
Patch52: netware-keycombo.patch
Patch53: virtview-desktop.patch
+Patch54: reverse-3d5627d7-for-xen.patch
ExclusiveArch: %ix86 x86_64 s390x
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -78,6 +78,7 @@
%patch51 -p1
%patch52 -p1
%patch53 -p1
+%patch54 -p1
%build
echo "suse_version = %suse_version"
++++++ reverse-3d5627d7-for-xen.patch ++++++
Revert this commit
From: Marc-André Lureau marcandre.lureau(a)gmail.com Wed Nov 12 11:14:19 2014 +0100
Subject: virt-viewer: allow connection to unix socket only server
Date: Tue Nov 25 15:07:32 2014 +0100:
Git: 3d5627d79a32bea5337659652e09be0d009940a4
Even when the server doesn't provide a display connection address,
virt-viewer is able to connect to guest with libvirt attach.
Index: virt-viewer-2.0/src/virt-viewer.c
===================================================================
--- virt-viewer-2.0.orig/src/virt-viewer.c
+++ virt-viewer-2.0/src/virt-viewer.c
@@ -428,18 +428,17 @@ virt_viewer_extract_connect_info(VirtVie
ghost = virt_viewer_extract_xpath_string(xmldesc, xpath);
} else {
xpath = g_strdup_printf("string(/domain/devices/graphics[@type='%s']/@socket)", type);
- unixsock = virt_viewer_extract_xpath_string(xmldesc, xpath);
+ if ((unixsock = virt_viewer_extract_xpath_string(xmldesc, xpath)) == NULL) {
+ virt_viewer_app_simple_message_dialog(app, _("Cannot determine the graphic address for the guest %s"),
+ priv->domkey);
+ goto cleanup;
+ }
}
- if (ghost && gport) {
+ if (ghost && gport)
g_debug("Guest graphics address is %s:%s", ghost, gport);
- } else if (unixsock) {
+ else if (unixsock)
g_debug("Guest graphics address is %s", unixsock);
- } else {
- g_debug("Using direct libvirt connection");
- retval = TRUE;
- goto cleanup;
- }
uri = virConnectGetURI(priv->conn);
if (virt_viewer_util_extract_host(uri, NULL, &host, &transport, &user, &port) < 0) {
1
0
Hello community,
here is the log from the commit of package GeoIP for openSUSE:Factory checked in at 2015-09-30 05:53:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/GeoIP (Old)
and /work/SRC/openSUSE:Factory/.GeoIP.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "GeoIP"
Changes:
--------
--- /work/SRC/openSUSE:Factory/GeoIP/GeoIP.changes 2015-03-30 19:32:29.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.GeoIP.new/GeoIP.changes 2015-09-30 05:53:18.000000000 +0200
@@ -1,0 +2,13 @@
+Mon Sep 28 15:05:10 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 1.6.6
+ * Replaced usage of deprecated fileno, read, and lseek on Visual
+ Studio 2005+ with their ISO C++ conformant replacements.
+ * A warning about using a double as a float was fixed.
+ * Fixed segfault when doing a lookup on an empty database.
+ * Fixed a memcheck error from valgrind in the _check_mtime
+ function.
+ * Fixed _check_mtime to check the return value of gettimeofday
+ rather than just assuming it worked.
+
+-------------------------------------------------------------------
Old:
----
GeoIP-1.6.5.tar.gz
New:
----
GeoIP-1.6.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ GeoIP.spec ++++++
--- /var/tmp/diff_new_pack.THJkAr/_old 2015-09-30 05:53:19.000000000 +0200
+++ /var/tmp/diff_new_pack.THJkAr/_new 2015-09-30 05:53:19.000000000 +0200
@@ -17,7 +17,7 @@
Name: GeoIP
-Version: 1.6.5
+Version: 1.6.6
Release: 0
Summary: Library to find the country that any IP address originates from
License: LGPL-2.1+
++++++ GeoIP-1.6.5.tar.gz -> GeoIP-1.6.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/COPYING new/GeoIP-1.6.6/COPYING
--- old/GeoIP-1.6.5/COPYING 2012-10-08 23:32:25.000000000 +0200
+++ new/GeoIP-1.6.6/COPYING 2015-03-10 17:01:38.000000000 +0100
@@ -1,8 +1,3 @@
-[ Note that while the core GeoIP library is licensed under the
-LGPL, the libGeoIPUpdate library depends on md5.c and types.h
-which are licensed under the GPL. ]
-
-
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
@@ -151,7 +146,7 @@
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
-
+
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/ChangeLog new/GeoIP-1.6.6/ChangeLog
--- old/GeoIP-1.6.5/ChangeLog 2015-02-25 23:29:48.000000000 +0100
+++ new/GeoIP-1.6.6/ChangeLog 2015-07-28 21:48:54.000000000 +0200
@@ -1,3 +1,17 @@
+1.6.6 2015-07-28
+
+* Replaced usage of deprecated fileno, read, and lseek on Visual Studio 2005+
+ with their ISO C++ conformant replacements. (Fix by ClaudiuHKS. GitHub #55.)
+* A warning about using a double as a float was fixed. (Fix by ClaudiuHKS.
+ GitHub #56.)
+* Fixed segfault when doing a lookup on an empty database. (Fix by NesoK.
+ GitHub #62.)
+* Fixed a memcheck error from valgrind in the `_check_mtime`
+ function. (Reported by yurivct. GitHub #60.)
+* Fixed `_check_mtime` to check the return value of `gettimeofday` rather than
+ just assuming it worked.
+
+
1.6.5 2015-02-25
* A segmentation fault in `geoiplookup` was fixed when the utility was passed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/GeoIP.spec new/GeoIP-1.6.6/GeoIP.spec
--- old/GeoIP-1.6.5/GeoIP.spec 2015-02-25 23:31:31.000000000 +0100
+++ new/GeoIP-1.6.6/GeoIP.spec 2015-07-28 21:51:00.000000000 +0200
@@ -1,5 +1,5 @@
Name: GeoIP
-Version: 1.6.5
+Version: 1.6.6
Summary: GeoIP is a C library finds the location of an IP address.
Release: 1
Group: System Environment/Libraries
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/LICENSE new/GeoIP-1.6.6/LICENSE
--- old/GeoIP-1.6.5/LICENSE 1970-01-01 01:00:00.000000000 +0100
+++ new/GeoIP-1.6.6/LICENSE 2015-03-10 16:24:33.000000000 +0100
@@ -0,0 +1,28 @@
+There are two licenses, one for the C library software, and one for
+the GeoLite Country database.
+
+SOFTWARE LICENSE
+
+Copyright (C) 2015 MaxMind, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+For a copy of the LGPL License, see the COPYING file.
+
+DATA LICENSE (GeoLite Country and City Databases)
+
+The GeoLite databases are distributed under the Creative Commons
+Attribution-ShareAlike 3.0 Unported License. The attribution
+requirement may be met by including the following in all advertising
+and documentation mentioning features of or use of this database:
+
+ This product includes GeoLite data created by MaxMind, available from
+ <a href="http://www.maxmind.com">http://www.maxmind.com</a>.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/Makefile.am new/GeoIP-1.6.6/Makefile.am
--- old/GeoIP-1.6.5/Makefile.am 2015-01-27 19:42:09.000000000 +0100
+++ new/GeoIP-1.6.6/Makefile.am 2015-03-10 17:13:03.000000000 +0100
@@ -12,4 +12,4 @@
pkgconfigdir = $(libdir)/pkgconfig/
nodist_pkgconfig_DATA = geoip.pc
-EXTRA_DIST = NEWS.md README.md README.OSX bootstrap GeoIP.spec GeoIP.spec.in Makefile.vc get_ver.awk geoip.ico geoip.pc.in data/GeoIP.dat
+EXTRA_DIST = LICENSE NEWS.md README.md README.OSX bootstrap GeoIP.spec GeoIP.spec.in Makefile.vc get_ver.awk geoip.ico geoip.pc.in data/GeoIP.dat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/Makefile.in new/GeoIP-1.6.6/Makefile.in
--- old/GeoIP-1.6.5/Makefile.in 2015-02-25 23:31:06.000000000 +0100
+++ new/GeoIP-1.6.6/Makefile.in 2015-07-28 21:50:45.000000000 +0200
@@ -350,7 +350,7 @@
pkgconfigdir = $(libdir)/pkgconfig/
nodist_pkgconfig_DATA = geoip.pc
-EXTRA_DIST = NEWS.md README.md README.OSX bootstrap GeoIP.spec GeoIP.spec.in Makefile.vc get_ver.awk geoip.ico geoip.pc.in data/GeoIP.dat
+EXTRA_DIST = LICENSE NEWS.md README.md README.OSX bootstrap GeoIP.spec GeoIP.spec.in Makefile.vc get_ver.awk geoip.ico geoip.pc.in data/GeoIP.dat
all: all-recursive
.SUFFIXES:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/apps/geoiplookup.c new/GeoIP-1.6.6/apps/geoiplookup.c
--- old/GeoIP-1.6.5/apps/geoiplookup.c 2015-02-25 23:28:41.000000000 +0100
+++ new/GeoIP-1.6.6/apps/geoiplookup.c 2015-07-28 21:47:39.000000000 +0200
@@ -290,7 +290,7 @@
}
}else if (GEOIP_COUNTRY_EDITION == i) {
country_id = GeoIP_id_by_ipnum(gi, ipnum);
- if (country_id < 0 || country_id >= (int) GeoIP_num_countries()) {
+ if (country_id < 0 || country_id >= (int)GeoIP_num_countries()) {
printf("%s: Invalid database\n", GeoIPDBDescription[i]);
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/apps/geoiplookup6.c new/GeoIP-1.6.6/apps/geoiplookup6.c
--- old/GeoIP-1.6.5/apps/geoiplookup6.c 2015-02-25 23:28:41.000000000 +0100
+++ new/GeoIP-1.6.6/apps/geoiplookup6.c 2015-07-28 21:47:39.000000000 +0200
@@ -177,7 +177,7 @@
}
}else if (GEOIP_COUNTRY_EDITION_V6 == i) {
country_id = GeoIP_id_by_ipnum_v6(gi, ipnum);
- if (country_id < 0 || country_id >= (int) GeoIP_num_countries()) {
+ if (country_id < 0 || country_id >= (int)GeoIP_num_countries()) {
printf("%s: Invalid database\n", GeoIPDBDescription[i]);
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/configure new/GeoIP-1.6.6/configure
--- old/GeoIP-1.6.5/configure 2015-02-25 23:31:06.000000000 +0100
+++ new/GeoIP-1.6.6/configure 2015-07-28 21:50:45.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GeoIP 1.6.5.
+# Generated by GNU Autoconf 2.69 for GeoIP 1.6.6.
#
# Report bugs to <support(a)maxmind.com>.
#
@@ -590,8 +590,8 @@
# Identity of this package.
PACKAGE_NAME='GeoIP'
PACKAGE_TARNAME='GeoIP'
-PACKAGE_VERSION='1.6.5'
-PACKAGE_STRING='GeoIP 1.6.5'
+PACKAGE_VERSION='1.6.6'
+PACKAGE_STRING='GeoIP 1.6.6'
PACKAGE_BUGREPORT='support(a)maxmind.com'
PACKAGE_URL=''
@@ -1314,7 +1314,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GeoIP 1.6.5 to adapt to many kinds of systems.
+\`configure' configures GeoIP 1.6.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1384,7 +1384,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GeoIP 1.6.5:";;
+ short | recursive ) echo "Configuration of GeoIP 1.6.6:";;
esac
cat <<\_ACEOF
@@ -1490,7 +1490,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GeoIP configure 1.6.5
+GeoIP configure 1.6.6
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1967,7 +1967,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GeoIP $as_me 1.6.5, which was
+It was created by GeoIP $as_me 1.6.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2835,7 +2835,7 @@
# Define the identity of the package.
PACKAGE='GeoIP'
- VERSION='1.6.5'
+ VERSION='1.6.6'
cat >>confdefs.h <<_ACEOF
@@ -13726,7 +13726,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GeoIP $as_me 1.6.5, which was
+This file was extended by GeoIP $as_me 1.6.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -13783,7 +13783,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GeoIP config.status 1.6.5
+GeoIP config.status 1.6.6
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/configure.ac new/GeoIP-1.6.6/configure.ac
--- old/GeoIP-1.6.5/configure.ac 2015-02-25 23:30:14.000000000 +0100
+++ new/GeoIP-1.6.6/configure.ac 2015-07-28 21:50:30.000000000 +0200
@@ -1,7 +1,7 @@
dnl AM_CONFIG_HEADER(config.h)
AC_PREREQ([2.65])
-AC_INIT([GeoIP], [1.6.5],[support(a)maxmind.com],[GeoIP]
+AC_INIT([GeoIP], [1.6.6],[support(a)maxmind.com],[GeoIP]
AC_CONFIG_AUX_DIR([.])
AC_CONFIG_SRCDIR([libGeoIP/GeoIP.c])
AC_CONFIG_MACRO_DIR([m4])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/libGeoIP/GeoIP.c new/GeoIP-1.6.6/libGeoIP/GeoIP.c
--- old/GeoIP-1.6.5/libGeoIP/GeoIP.c 2015-02-25 23:28:41.000000000 +0100
+++ new/GeoIP-1.6.6/libGeoIP/GeoIP.c 2015-07-28 21:47:40.000000000 +0200
@@ -25,6 +25,17 @@
#if defined(_WIN32)
#include <io.h>
+
+#ifdef _MSC_VER
+# if _MSC_VER < 1900 // VS 2015 supports snprintf
+# define snprintf _snprintf
+# endif
+# if _MSC_VER >= 1400 // VS 2005+ deprecates fileno, lseek and read
+# define fileno _fileno
+# define read _read
+# define lseek _lseek
+# endif
+#endif
#else
#include <unistd.h>
#include <netdb.h>
@@ -1060,7 +1071,7 @@
}
static
-int _check_mtime(GeoIP *gi)
+void _check_mtime(GeoIP *gi)
{
struct stat buf;
ssize_t idx_size;
@@ -1077,9 +1088,15 @@
#if !defined(_WIN32)
/* stat only has second granularity, so don't
* call it more than once a second */
- gettimeofday(&t, NULL);
+ if (0 != gettimeofday(&t, NULL)) {
+ DEBUG_MSGF(gi->flags,
+ "Error calling gettimeofday: %s\n",
+ strerror(errno));
+ return;
+ }
+
if (t.tv_sec == gi->last_mtime_check) {
- return 0;
+ return;
}
gi->last_mtime_check = t.tv_sec;
@@ -1090,7 +1107,7 @@
GetSystemTimeAsFileTime(&ft);
t = FILETIME_TO_USEC(ft) / 1000 / 1000;
if (t == gi->last_mtime_check) {
- return 0;
+ return;
}
gi->last_mtime_check = t;
@@ -1120,7 +1137,7 @@
DEBUG_MSGF(gi->flags,
"Out of memory when reloading %s\n",
gi->file_path);
- return -1;
+ return;
}
}
}
@@ -1131,7 +1148,7 @@
DEBUG_MSGF(gi->flags,
"Error Opening file %s when reloading\n",
gi->file_path);
- return -1;
+ return;
}
gi->mtime = buf.st_mtime;
gi->size = buf.st_size;
@@ -1141,7 +1158,7 @@
DEBUG_MSGF(gi->flags,
"GEOIP_MMAP_CACHE is not supported on WIN32\n");
gi->cache = 0;
- return -1;
+ return;
#else
gi->cache =
mmap(NULL, buf.st_size, PROT_READ, MAP_PRIVATE, fileno(
@@ -1153,7 +1170,7 @@
gi->file_path);
gi->cache = NULL;
- return -1;
+ return;
}
#endif
} else if (gi->flags & GEOIP_MEMORY_CACHE) {
@@ -1162,7 +1179,7 @@
DEBUG_MSGF(gi->flags,
"Error reading file %s when reloading\n",
gi->file_path);
- return -1;
+ return;
}
}
@@ -1174,14 +1191,14 @@
if (gi->databaseSegments == NULL) {
DEBUG_MSGF(gi->flags, "Error reading file %s -- corrupt\n",
gi->file_path);
- return -1;
+ return;
}
idx_size = get_index_size(gi, &buf);
if (idx_size < 0) {
DEBUG_MSGF(gi->flags, "Error file %s -- corrupt\n",
gi->file_path);
- return -1;
+ return;
}
if (gi->flags & GEOIP_INDEX_CACHE) {
@@ -1194,14 +1211,14 @@
gi->flags,
"Error reading file %s where reloading\n",
gi->file_path);
- return -1;
+ return;
}
}
}
}
}
}
- return 0;
+ return;
}
#define ADDR_STR_LEN (8 * 4 + 7 + 1)
@@ -1575,6 +1592,9 @@
} else {
gi->index_cache = NULL;
}
+
+ gi->last_mtime_check = 0;
+
return gi;
}
@@ -2678,4 +2698,3 @@
return result;
}
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/libGeoIP/GeoIP.h new/GeoIP-1.6.6/libGeoIP/GeoIP.h
--- old/GeoIP-1.6.5/libGeoIP/GeoIP.h 2015-02-25 23:28:41.000000000 +0100
+++ new/GeoIP-1.6.6/libGeoIP/GeoIP.h 2015-03-04 17:51:09.000000000 +0100
@@ -33,7 +33,6 @@
#else /* !defined(_WIN32) */
#include <winsock2.h>
#include <ws2tcpip.h>
-#define snprintf _snprintf
#define FILETIME_TO_USEC(ft) \
(((unsigned __int64)ft.dwHighDateTime << 32 | \
ft.dwLowDateTime) / 10)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/libGeoIP/GeoIPCity.c new/GeoIP-1.6.6/libGeoIP/GeoIPCity.c
--- old/GeoIP-1.6.5/libGeoIP/GeoIPCity.c 2015-01-27 19:42:09.000000000 +0100
+++ new/GeoIP-1.6.6/libGeoIP/GeoIPCity.c 2015-07-13 16:30:10.000000000 +0200
@@ -29,6 +29,12 @@
#else
#include <windows.h>
#include <winsock.h>
+
+#if defined(_MSC_VER) && _MSC_VER >= 1400 // VS 2005+ deprecates fileno, lseek and read
+# define fileno _fileno
+# define read _read
+# define lseek _lseek
+#endif
#endif
#include <sys/types.h> /* For uint32_t */
#ifdef HAVE_STDINT_H
@@ -90,6 +96,10 @@
return NULL;
}
}else {
+ if (gi->size <= record_pointer) {
+ /* such record does not exists in the cache */
+ return NULL;
+ }
record_buf = gi->cache + (long)record_pointer;
}
@@ -140,14 +150,14 @@
for (j = 0; j < 3; ++j) {
latitude += (record_buf[j] << (j * 8));
}
- record->latitude = latitude / 10000 - 180;
+ record->latitude = (float)(latitude / 10000 - 180);
record_buf += 3;
/* get longitude */
for (j = 0; j < 3; ++j) {
longitude += (record_buf[j] << (j * 8));
}
- record->longitude = longitude / 10000 - 180;
+ record->longitude = (float)(longitude / 10000 - 180);
/*
* get area code and metro code for post April 2002 databases and for US
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GeoIP-1.6.5/ltmain.sh new/GeoIP-1.6.6/ltmain.sh
--- old/GeoIP-1.6.5/ltmain.sh 2015-02-25 23:31:03.000000000 +0100
+++ new/GeoIP-1.6.6/ltmain.sh 2015-07-28 21:50:42.000000000 +0200
@@ -70,7 +70,7 @@
# compiler: $LTCC
# compiler flags: $LTCFLAGS
# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.10ubuntu1
+# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11
# automake: $automake_version
# autoconf: $autoconf_version
#
@@ -80,7 +80,7 @@
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.10ubuntu1"
+VERSION="2.4.2 Debian-2.4.2-1.11"
TIMESTAMP=""
package_revision=1.3337
1
0
Hello community,
here is the log from the commit of package octave-forge-io for openSUSE:Factory checked in at 2015-09-30 05:53:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave-forge-io (Old)
and /work/SRC/openSUSE:Factory/.octave-forge-io.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "octave-forge-io"
Changes:
--------
--- /work/SRC/openSUSE:Factory/octave-forge-io/octave-forge-io.changes 2015-08-23 15:42:47.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.octave-forge-io.new/octave-forge-io.changes 2015-09-30 05:53:15.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Sep 28 14:09:10 UTC 2015 - dmitry_r(a)opensuse.org
+
+- Update to version 2.2.10
+ * Support for Named Ranges
+ * Bug fixes
+
+-------------------------------------------------------------------
Old:
----
io-2.2.9.tar.gz
New:
----
io-2.2.10.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ octave-forge-io.spec ++++++
--- /var/tmp/diff_new_pack.lv9gb5/_old 2015-09-30 05:53:16.000000000 +0200
+++ /var/tmp/diff_new_pack.lv9gb5/_new 2015-09-30 05:53:16.000000000 +0200
@@ -18,7 +18,7 @@
%define octpkg io
Name: octave-forge-%{octpkg}
-Version: 2.2.9
+Version: 2.2.10
Release: 0
Summary: Input/Output in external formats from Octave
License: GPL-3.0+ and BSD-2-Clause
++++++ io-2.2.9.tar.gz -> io-2.2.10.tar.gz ++++++
++++ 4706 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package ghc-mod for openSUSE:Factory checked in at 2015-09-30 05:53:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-mod (Old)
and /work/SRC/openSUSE:Factory/.ghc-mod.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-mod"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-mod/ghc-mod.changes 2015-09-08 17:48:52.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-mod.new/ghc-mod.changes 2015-09-30 05:53:14.000000000 +0200
@@ -1,0 +2,20 @@
+Mon Sep 28 13:57:23 UTC 2015 - mimi.vx(a)gmail.com
+
+- update to 5.4.0.0
+* Add support for the Stack build tool
+* `module not interpreted` errors when using the `type`
+ command
+* support for file redirection
+* Add support for file redirection to Emacs frontend so
+ all commands should work even with unsaved files now!
+* Support inserting holes in type signatures
+* Fix URL anchors being dropped in OS X
+* Fix GHC session always being dropped in interactive mode (caused
+ super slowness)
+* Expose all internal modules because API will get a major
+ redesign soon anyways
+* ghc-mod(i) executable must now be run in project directory for
+ commands other than `root`
+* Add --line-prefix option for multiplexing stdout/err onto one stream
+
+-------------------------------------------------------------------
Old:
----
ghc-mod-5.3.0.0.tar.gz
New:
----
ghc-mod-5.4.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-mod.spec ++++++
--- /var/tmp/diff_new_pack.kwT59c/_old 2015-09-30 05:53:15.000000000 +0200
+++ /var/tmp/diff_new_pack.kwT59c/_new 2015-09-30 05:53:15.000000000 +0200
@@ -21,7 +21,7 @@
%bcond_with tests
Name: ghc-mod
-Version: 5.3.0.0
+Version: 5.4.0.0
Release: 0
Summary: Happy Haskell Programming
License: AGPL-3.0+ and BSD-3-Clause
@@ -56,6 +56,7 @@
BuildRequires: ghc-monad-journal-devel
BuildRequires: ghc-mtl-devel
BuildRequires: ghc-old-time-devel
+BuildRequires: ghc-pipes-devel
BuildRequires: ghc-pretty-devel
BuildRequires: ghc-process-devel
BuildRequires: ghc-split-devel
++++++ ghc-mod-5.3.0.0.tar.gz -> ghc-mod-5.4.0.0.tar.gz ++++++
++++ 6046 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package apache2-mod_wsgi for openSUSE:Factory checked in at 2015-09-30 05:53:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache2-mod_wsgi (Old)
and /work/SRC/openSUSE:Factory/.apache2-mod_wsgi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache2-mod_wsgi"
Changes:
--------
--- /work/SRC/openSUSE:Factory/apache2-mod_wsgi/apache2-mod_wsgi-python3.changes 2015-08-28 08:26:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.apache2-mod_wsgi.new/apache2-mod_wsgi-python3.changes 2015-09-30 05:53:11.000000000 +0200
@@ -2 +2,17 @@
-Sat Aug 15 17:56:30 CEST 2015 - mc(a)suse.de
+Mon Sep 28 13:33:55 CEST 2015 - mc(a)suse.de
+
+- update to 4.4.13
+ * Upstream release notes:
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.13.html
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.12.html
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.11.html
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.10.html
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.9.html
+
+-------------------------------------------------------------------
+Tue Sep 1 10:06:04 UTC 2015 - pgajdos(a)suse.com
+
+- test module with %apache_test_module_load
+
+-------------------------------------------------------------------
+Sat Aug 15 17:55:03 CEST 2015 - mc(a)suse.de
@@ -4,0 +21,3 @@
+ * Upstream release notes:
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.7.html
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.8.html
@@ -6 +25 @@
-- conflict with mod_wsgi
+- conflict with mod_wsgi-python3
--- /work/SRC/openSUSE:Factory/apache2-mod_wsgi/apache2-mod_wsgi.changes 2015-08-28 08:26:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.apache2-mod_wsgi.new/apache2-mod_wsgi.changes 2015-09-30 05:53:11.000000000 +0200
@@ -1,0 +2,16 @@
+Mon Sep 28 13:33:55 CEST 2015 - mc(a)suse.de
+
+- update to 4.4.13
+ * Upstream release notes:
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.13.html
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.12.html
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.11.html
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.10.html
+ + http://modwsgi.readthedocs.org/en/latest/release-notes/version-4.4.9.html
+
+-------------------------------------------------------------------
+Tue Sep 1 10:06:04 UTC 2015 - pgajdos(a)suse.com
+
+- test module with %apache_test_module_load
+
+-------------------------------------------------------------------
Old:
----
mod_wsgi-4.4.8.tar.gz
New:
----
mod_wsgi-4.4.13.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache2-mod_wsgi-python3.spec ++++++
--- /var/tmp/diff_new_pack.YNTzny/_old 2015-09-30 05:53:12.000000000 +0200
+++ /var/tmp/diff_new_pack.YNTzny/_new 2015-09-30 05:53:12.000000000 +0200
@@ -18,7 +18,7 @@
%define modname mod_wsgi
Name: apache2-mod_wsgi-python3
-Version: 4.4.8
+Version: 4.4.13
Release: 0
Summary: A WSGI interface for Python3 web applications in Apache
License: Apache-2.0
@@ -75,6 +75,11 @@
%install
make install DESTDIR=%{buildroot} LIBEXECDIR=%{apache_libexecdir}
+%check
+set +x
+%apache_test_module_load -m wsgi
+set -x
+
%post
%if 0%{?suse_version}
if ! %{_sbindir}/a2enmod -q wsgi; then
++++++ apache2-mod_wsgi.spec ++++++
--- /var/tmp/diff_new_pack.YNTzny/_old 2015-09-30 05:53:12.000000000 +0200
+++ /var/tmp/diff_new_pack.YNTzny/_new 2015-09-30 05:53:12.000000000 +0200
@@ -18,7 +18,7 @@
%define modname mod_wsgi
Name: apache2-mod_wsgi
-Version: 4.4.8
+Version: 4.4.13
Release: 0
Summary: Python WSGI adapter module for Apache
License: Apache-2.0
@@ -87,6 +87,11 @@
fi
%endif
+%check
+set +x
+%apache_test_module_load -m wsgi
+set -x
+
%files
%defattr(-,root,root)
%doc LICENSE README.rst docs/release-notes
++++++ mod_wsgi-4.4.8.tar.gz -> mod_wsgi-4.4.13.tar.gz ++++++
++++ 3695 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package ghc-cabal-helper for openSUSE:Factory checked in at 2015-09-30 05:53:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-cabal-helper (Old)
and /work/SRC/openSUSE:Factory/.ghc-cabal-helper.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-cabal-helper"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-cabal-helper/ghc-cabal-helper.changes 2015-09-08 17:47:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-cabal-helper.new/ghc-cabal-helper.changes 2015-09-30 05:53:13.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 28 13:52:02 UTC 2015 - mimi.vx(a)gmail.com
+
+- update to 0.6.0.0
+
+-------------------------------------------------------------------
Old:
----
cabal-helper-0.5.2.0.tar.gz
New:
----
cabal-helper-0.6.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-cabal-helper.spec ++++++
--- /var/tmp/diff_new_pack.27h2vp/_old 2015-09-30 05:53:13.000000000 +0200
+++ /var/tmp/diff_new_pack.27h2vp/_new 2015-09-30 05:53:13.000000000 +0200
@@ -19,7 +19,7 @@
%global pkg_name cabal-helper
%bcond_with tests
Name: ghc-cabal-helper
-Version: 0.5.2.0
+Version: 0.6.0.0
Release: 0
Summary: Simple interface to some of Cabal's configuration state used by ghc-mod
License: AGPL-3.0+
++++++ cabal-helper-0.5.2.0.tar.gz -> cabal-helper-0.6.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cabal-helper-0.5.2.0/CabalHelper/Common.hs new/cabal-helper-0.6.0.0/CabalHelper/Common.hs
--- old/cabal-helper-0.5.2.0/CabalHelper/Common.hs 2015-08-20 04:02:22.000000000 +0200
+++ new/cabal-helper-0.6.0.0/CabalHelper/Common.hs 2015-09-07 08:02:26.000000000 +0200
@@ -30,6 +30,8 @@
import System.Environment
import System.IO
import System.Exit
+import System.Directory
+import System.FilePath
import Text.ParserCombinators.ReadP
import Prelude
@@ -48,20 +50,6 @@
prog <- getProgName
hPutStrLn stderr $ prog ++ ": " ++ str
-align :: String -> String -> String -> String
-align n an str = let
- h:rest = lines str
- [hm] = match n h
- rest' = [ move (hm - rm) r | r <- rest, rm <- match an r]
- in
- unlines (h:rest')
- where
- match p str' = maybeToList $
- fst <$> find ((p `isPrefixOf`) . snd) ([0..] `zip` tails str')
- move i str' | i > 0 = replicate i ' ' ++ str'
- move i str' = drop i str'
-
-
-- | @getCabalConfigHeader "dist/setup-config"@ returns the cabal version and
-- compiler version
getCabalConfigHeader :: FilePath -> IO (Maybe (Version, (ByteString, Version)))
@@ -95,3 +83,6 @@
runReadP p i = case filter ((=="") . snd) $ readP_to_S p i of
(a,""):[] -> a
_ -> error $ "Error parsing: " ++ show i
+
+appDataDir :: IO FilePath
+appDataDir = (</> "cabal-helper") <$> getAppUserDataDirectory "ghc-mod"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cabal-helper-0.5.2.0/CabalHelper/Compile.hs new/cabal-helper-0.6.0.0/CabalHelper/Compile.hs
--- old/cabal-helper-0.5.2.0/CabalHelper/Compile.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/cabal-helper-0.6.0.0/CabalHelper/Compile.hs 2015-09-07 08:02:26.000000000 +0200
@@ -0,0 +1,375 @@
+-- cabal-helper: Simple interface to Cabal's configuration state
+-- Copyright (C) 2015 Daniel Gröber <dxld ÄT darkboxed DOT org>
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU Affero General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU Affero General Public License for more details.
+--
+-- You should have received a copy of the GNU Affero General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+{-# LANGUAGE RecordWildCards, FlexibleContexts #-}
+module CabalHelper.Compile where
+
+import Control.Applicative
+import Control.Arrow
+import Control.Exception as E
+import Control.Monad
+import Control.Monad.Trans.Maybe
+import Control.Monad.IO.Class
+import Data.Traversable
+import Data.Char
+import Data.List
+import Data.Maybe
+import Data.String
+import Data.Version
+import Text.Printf
+import System.Directory
+import System.FilePath
+import System.Process
+import System.Exit
+import System.IO
+import Prelude
+
+import Distribution.System (buildPlatform)
+import Distribution.Text (display)
+
+import Paths_cabal_helper (version)
+import CabalHelper.Data
+import CabalHelper.Common
+import CabalHelper.Sandbox (getSandboxPkgDb)
+import CabalHelper.Types
+import CabalHelper.Log
+
+data Compile = Compile {
+ compCabalHelperSourceDir :: FilePath,
+ compCabalSourceDir :: Maybe FilePath,
+ compPackageDb :: Maybe FilePath,
+ compCabalVersion :: Version,
+ compPackageDeps :: [String]
+ }
+
+compileHelper :: Options -> Version -> FilePath -> FilePath -> IO (Either ExitCode FilePath)
+compileHelper opts cabalVer projdir distdir = withHelperSources $ \chdir -> do
+ case cabalPkgDb opts of
+ Nothing ->
+ run [
+ -- TODO: here ghc's caching fails and it always recompiles, probably
+ -- because we write the sources to a tempdir and they always look
+ -- newer than the Cabal sources, not sure if we can fix this
+ compileCabalSource chdir
+ , Right <$> MaybeT (cachedExe cabalVer)
+ , compileSandbox chdir
+ , compileGlobal chdir
+ , cachedCabalPkg chdir
+ , MaybeT (Just <$> compilePrivatePkgDb chdir)
+ ]
+ mdb ->
+ run [ Right <$> MaybeT (cachedExe cabalVer)
+ , liftIO $ compileWithPkg chdir mdb cabalVer
+ ]
+
+ where
+ run actions = fromJust <$> runMaybeT (msum actions)
+
+ logMsg = "compiling helper with Cabal from "
+
+
+-- for relaxed deps: find (sameMajorVersionAs cabalVer) . reverse . sort
+
+ -- | Check if this version is globally available
+ compileGlobal :: FilePath -> MaybeT IO (Either ExitCode FilePath)
+ compileGlobal chdir = do
+ -- TODO: add option to let user specify custom package-db, relevant when
+ -- using a Cabal compiled from git!
+
+ ver <- MaybeT $ find (== cabalVer) <$> listCabalVersions opts
+ vLog opts $ logMsg ++ "user/global package-db"
+ liftIO $ compileWithPkg chdir Nothing ver
+
+ -- | Check if this version is available in the project sandbox
+ compileSandbox :: FilePath -> MaybeT IO (Either ExitCode FilePath)
+ compileSandbox chdir = do
+ sandbox <- MaybeT $ getSandboxPkgDb projdir (display buildPlatform) =<< ghcVersion opts
+ ver <- MaybeT $ find (== cabalVer) <$> listCabalVersions' opts (Just sandbox)
+ vLog opts $ logMsg ++ "sandbox package-db"
+ liftIO $ compileWithPkg chdir (Just sandbox) ver
+
+
+ -- | Check if we already compiled this version of cabal into a private
+ -- package-db
+ cachedCabalPkg :: FilePath -> MaybeT IO (Either ExitCode FilePath)
+ cachedCabalPkg chdir = do
+ db_exists <- liftIO $ cabalPkgDbExists opts cabalVer
+ case db_exists of
+ False -> mzero
+ True -> do
+ db <- liftIO $ getPrivateCabalPkgDb opts cabalVer
+ vLog opts $ logMsg ++ "private package-db in " ++ db
+ liftIO $ compileWithPkg chdir (Just db) cabalVer
+
+ -- | See if we're in a cabal source tree
+ compileCabalSource :: FilePath -> MaybeT IO (Either ExitCode FilePath)
+ compileCabalSource chdir = do
+ let cabalFile = projdir </> "Cabal.cabal"
+ isCabalMagicVer = cabalVer == Version [1,9999] []
+ cabalSrc <- liftIO $ doesFileExist cabalFile
+
+ when isCabalMagicVer $
+ vLog opts $ "cabal magic version (1.9999) found"
+
+ when cabalSrc $
+ vLog opts $ "directory above distdir looks like cabal source tree (Cabal.cabal exists)"
+
+ case isCabalMagicVer || cabalSrc of
+ False -> mzero
+ True -> liftIO $ do
+ ver <- cabalFileVersion <$> readFile cabalFile
+ vLog opts $ "compiling helper with local Cabal source tree"
+ compileWithCabalTree chdir ver projdir
+
+ -- | Compile the requested cabal version into an isolated package-db
+ compilePrivatePkgDb :: FilePath -> IO (Either ExitCode FilePath)
+ compilePrivatePkgDb chdir = do
+ db <- installCabal opts cabalVer `E.catch`
+ \(SomeException _) -> errorInstallCabal cabalVer distdir
+ compileWithPkg chdir (Just db) cabalVer
+
+ compileWithCabalTree chdir ver srcDir =
+ compile distdir opts $ Compile chdir (Just srcDir) Nothing ver []
+
+ compileWithPkg chdir mdb ver =
+ compile distdir opts $ Compile chdir Nothing mdb ver [cabalPkgId ver]
+
+ cabalPkgId v = "Cabal-" ++ showVersion v
+
+compile :: FilePath -> Options -> Compile -> IO (Either ExitCode FilePath)
+compile distdir opts@Options {..} Compile {..} = do
+ cCabalSourceDir <- canonicalizePath `traverse` compCabalSourceDir
+ appdir <- appDataDir
+
+ let outdir' = maybe appdir (const $ distdir </> "cabal-helper") cCabalSourceDir
+ createDirectoryIfMissing True outdir'
+ outdir <- canonicalizePath outdir'
+
+ let exedir' = maybe outdir (const distdir) cCabalSourceDir
+ createDirectoryIfMissing True exedir'
+ exedir <- canonicalizePath exedir'
+ exe <- exePath' compCabalVersion <$> canonicalizePath exedir
+
+ vLog opts $ "outdir: " ++ outdir
+ vLog opts $ "exedir: " ++ exedir
+
+ let Version (mj:mi:_) _ = compCabalVersion
+ let ghc_opts =
+ concat [
+ [ "-outputdir", outdir
+ , "-o", exe
+ , "-optP-DCABAL_HELPER=1"
+ , "-optP-DCABAL_MAJOR=" ++ show mj
+ , "-optP-DCABAL_MINOR=" ++ show mi
+ ],
+ maybeToList $ ("-package-conf="++) <$> compPackageDb,
+ map ("-i"++) $ nub $ ".":maybeToList cCabalSourceDir,
+
+ if isNothing cCabalSourceDir
+ then [ "-hide-all-packages"
+ , "-package", "base"
+ , "-package", "containers"
+ , "-package", "directory"
+ , "-package", "filepath"
+ , "-package", "process"
+ , "-package", "bytestring"
+ , "-package", "ghc-prim"
+ ]
+ else [],
+
+ concatMap (\p -> ["-package", p]) compPackageDeps,
+ [ "--make", "CabalHelper/Main.hs" ]
+ ]
+
+ vLog opts $ intercalate " " $ map (("\""++) . (++"\"")) $ ghcProgram:ghc_opts
+
+ -- TODO: touch exe after, ghc doesn't do that if the input files didn't
+ -- actually change
+ rv <- callProcessStderr' (Just compCabalHelperSourceDir) ghcProgram ghc_opts
+ return $ case rv of
+ ExitSuccess -> Right exe
+ e@(ExitFailure _) -> Left e
+
+exePath :: Version -> IO FilePath
+exePath compCabalVersion = do
+ exePath' compCabalVersion <$> appDataDir
+
+exePath' :: Version-> FilePath -> FilePath
+exePath' compCabalVersion outdir =
+ outdir </> "cabal-helper-" ++ showVersion version -- our ver
+ ++ "-Cabal-" ++ showVersion compCabalVersion
+
+callProcessStderr' :: Maybe FilePath -> FilePath -> [String] -> IO ExitCode
+callProcessStderr' mwd exe args = do
+ (_, _, _, h) <- createProcess (proc exe args) { std_out = UseHandle stderr
+ , cwd = mwd }
+ waitForProcess h
+
+callProcessStderr :: Maybe FilePath -> FilePath -> [String] -> IO ()
+callProcessStderr mwd exe args = do
+ rv <- callProcessStderr' mwd exe args
+ case rv of
+ ExitSuccess -> return ()
+ ExitFailure v -> processFailedException "callProcessStderr" exe args v
+
+processFailedException :: String -> String -> [String] -> Int -> IO a
+processFailedException fn exe args rv =
+ panic $ concat [fn, ": ", exe, " "
+ , intercalate " " (map show args)
+ , " (exit " ++ show rv ++ ")"]
+
+installCabal :: Options -> Version -> IO FilePath
+installCabal opts ver = do
+ appdir <- appDataDir
+ let sver = showVersion ver
+ hPutStr stderr $ printf "\
+\cabal-helper-wrapper: Installing a private copy of Cabal because we couldn't\n\
+\find the right version in your global/user package-db, this might take a\n\
+\while but will only happen once per Cabal version you're using.\n\
+\\n\
+\If anything goes horribly wrong just delete this directory and try again:\n\
+\ %s\n\
+\\n\
+\If you want to avoid this automatic installation altogether install\n\
+\version %s of Cabal manually (into your user or global package-db):\n\
+\ $ cabal install Cabal --constraint \"Cabal == %s\"\n\
+\\n\
+\Installing Cabal %s ...\n" appdir sver sver sver
+
+ db <- createPkgDb opts ver
+ cabalInstallVer <- cabalInstallVersion opts
+ cabal_opts <- return $ concat
+ [
+ [ "--package-db=clear"
+ , "--package-db=global"
+ , "--package-db=" ++ db
+ , "--prefix=" ++ db </> "prefix"
+ , "--with-ghc=" ++ ghcProgram opts
+ ]
+ , if cabalInstallVer >= Version [1,20,0,0] []
+ then ["--no-require-sandbox"]
+ else []
+ , if ghcPkgProgram opts /= ghcPkgProgram defaultOptions
+ then [ "--with-ghc-pkg=" ++ ghcPkgProgram opts ]
+ else []
+ , [ "install", "Cabal", "--constraint"
+ , "Cabal == " ++ showVersion ver ]
+ ]
+
+ vLog opts $ intercalate " " $ map (("\""++) . (++"\"")) $ cabalProgram opts:cabal_opts
+
+ callProcessStderr (Just "/") (cabalProgram opts) cabal_opts
+ hPutStrLn stderr "done"
+ return db
+
+errorInstallCabal :: Version -> FilePath -> a
+errorInstallCabal cabalVer _distdir = panic $ printf "\
+\Installing Cabal version %s failed.\n\
+\\n\
+\You have the following choices to fix this:\n\
+\\n\
+\- The easiest way to try and fix this is just reconfigure the project and try\n\
+\ again:\n\
+\ $ cabal clean && cabal configure\n\
+\\n\
+\- If that fails you can try to install the version of Cabal mentioned above\n\
+\ into your global/user package-db somehow, you'll probably have to fix\n\
+\ something otherwise it wouldn't have failed above:\n\
+\ $ cabal install Cabal --constraint 'Cabal == %s'\n\
+\\n\
+\- If you're using `Build-Type: Simple`:\n\
+\ - You can see if you can reinstall your cabal-install executable while\n\
+\ having it linked to a version of Cabal that's available in you\n\
+\ package-dbs or can be built automatically:\n\
+\ $ ghc-pkg list | grep Cabal # find an available Cabal version\n\
+\ Cabal-W.X.Y.Z\n\
+\ $ cabal install cabal-install --constraint 'Cabal == W.X.*'\n\
+\ Afterwards you'll have to reconfigure your project:\n\
+\ $ cabal clean && cabal configure\n\
+\\n\
+\- If you're using `Build-Type: Custom`:\n\
+\ - Have cabal-install rebuild your Setup.hs executable with a version of the\n\
+\ Cabal library that you have available in your global/user package-db:\n\
+\ $ cabal clean && cabal configure\n\
+\ You might also have to install some version of the Cabal to do this:\n\
+\ $ cabal install Cabal\n\
+\\n" sver sver
+ where
+ sver = showVersion cabalVer
+
+cachedExe :: Version -> IO (Maybe FilePath)
+cachedExe compCabalVersion = do
+ exe <- exePath compCabalVersion
+ exists <- doesFileExist exe
+ return $ if exists then Just exe else Nothing
+
+listCabalVersions :: Options -> IO [Version]
+listCabalVersions opts = listCabalVersions' opts Nothing
+
+-- TODO: Include sandbox? Probably only relevant for build-type:custom projects.
+listCabalVersions' :: Options -> Maybe FilePath -> IO [Version]
+listCabalVersions' Options {..} mdb = do
+ let mdbopt = ("--package-conf="++) <$> mdb
+ opts = ["list", "--simple-output", "Cabal"] ++ maybeToList mdbopt
+
+ catMaybes . map (fmap snd . parsePkgId . fromString) . words
+ <$> readProcess ghcPkgProgram opts ""
+
+cabalPkgDbExists :: Options -> Version -> IO Bool
+cabalPkgDbExists opts ver = do
+ db <- getPrivateCabalPkgDb opts ver
+ dexists <- doesDirectoryExist db
+ case dexists of
+ False -> return False
+ True -> do
+ vers <- listCabalVersions' opts (Just db)
+ return $ ver `elem` vers
+
+
+ghcVersion :: Options -> IO Version
+ghcVersion Options {..} = do
+ parseVer . trim <$> readProcess ghcProgram ["--numeric-version"] ""
+
+ghcPkgVersion :: Options -> IO Version
+ghcPkgVersion Options {..} = do
+ parseVer . trim . dropWhile (not . isDigit) <$> readProcess ghcPkgProgram ["--version"] ""
+
+cabalInstallVersion :: Options -> IO Version
+cabalInstallVersion Options {..} = do
+ parseVer . trim <$> readProcess cabalProgram ["--numeric-version"] ""
+
+trim :: String -> String
+trim = dropWhileEnd isSpace
+
+createPkgDb :: Options -> Version -> IO FilePath
+createPkgDb opts@Options {..} ver = do
+ db <- getPrivateCabalPkgDb opts ver
+ exists <- doesDirectoryExist db
+ when (not exists) $ callProcessStderr Nothing ghcPkgProgram ["init", db]
+ return db
+
+getPrivateCabalPkgDb :: Options -> Version -> IO FilePath
+getPrivateCabalPkgDb opts ver = do
+ appdir <- appDataDir
+ ghcVer <- ghcVersion opts
+ return $ appdir </> "Cabal-" ++ showVersion ver ++ "-db-" ++ showVersion ghcVer
+
+-- | Find @version: XXX@ delcaration in a cabal file
+cabalFileVersion :: String -> Version
+cabalFileVersion cabalFile =
+ fromJust $ parseVer . extract <$> find ("version:" `isPrefixOf`) ls
+ where
+ ls = map (map toLower) $ lines cabalFile
+ extract = dropWhile (/=':') >>> drop 1 >>> dropWhile isSpace >>> takeWhile (not . isSpace)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cabal-helper-0.5.2.0/CabalHelper/Data.hs new/cabal-helper-0.6.0.0/CabalHelper/Data.hs
--- old/cabal-helper-0.5.2.0/CabalHelper/Data.hs 2015-08-20 04:02:22.000000000 +0200
+++ new/cabal-helper-0.6.0.0/CabalHelper/Data.hs 2015-09-07 08:02:26.000000000 +0200
@@ -41,5 +41,6 @@
[ ("Main.hs", $(LitE . StringL <$> runIO (UTF8.toString <$> BS.readFile "CabalHelper/Main.hs")))
, ("Common.hs", $(LitE . StringL <$> runIO (UTF8.toString <$> BS.readFile "CabalHelper/Common.hs")))
, ("Sandbox.hs", $(LitE . StringL <$> runIO (UTF8.toString <$> BS.readFile "CabalHelper/Sandbox.hs")))
+ , ("Licenses.hs", $(LitE . StringL <$> runIO (UTF8.toString <$> BS.readFile "CabalHelper/Licenses.hs")))
, ("Types.hs", $(LitE . StringL <$> runIO (UTF8.toString <$> BS.readFile "CabalHelper/Types.hs")))
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cabal-helper-0.5.2.0/CabalHelper/Licenses.hs new/cabal-helper-0.6.0.0/CabalHelper/Licenses.hs
--- old/cabal-helper-0.5.2.0/CabalHelper/Licenses.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/cabal-helper-0.6.0.0/CabalHelper/Licenses.hs 2015-09-07 08:02:26.000000000 +0200
@@ -0,0 +1,102 @@
+{-# LANGUAGE CPP #-}
+module CabalHelper.Licenses where
+
+-- Copyright (c) 2014, Jasper Van der Jeugt <m(a)jaspervdj.be>
+
+--------------------------------------------------------------------------------
+import Control.Arrow ((***), (&&&))
+import Control.Monad (forM_, unless)
+import Data.List (foldl', sort)
+import Data.Maybe (catMaybes)
+import Data.Version (Version)
+import Data.Set (Set)
+import qualified Data.Set as Set
+import Distribution.InstalledPackageInfo (InstalledPackageInfo)
+import qualified Distribution.InstalledPackageInfo as InstalledPackageInfo
+import qualified Distribution.License as Cabal
+import qualified Distribution.Package as Cabal
+import qualified Distribution.Simple.Configure as Cabal
+import qualified Distribution.Simple.LocalBuildInfo as Cabal
+import qualified Distribution.Simple.PackageIndex as Cabal
+import qualified Distribution.Text as Cabal
+import System.Directory (getDirectoryContents)
+import System.Exit (exitFailure)
+import System.FilePath (takeExtension)
+import System.IO (hPutStrLn, stderr)
+
+--------------------------------------------------------------------------------
+
+#if CABAL_MAJOR == 1 && CABAL_MINOR > 22
+type PackageIndex a = Cabal.PackageIndex (InstalledPackageInfo.InstalledPackageInfo)
+#elif CABAL_MAJOR == 1 && CABAL_MINOR >= 22
+type PackageIndex a = Cabal.PackageIndex (InstalledPackageInfo.InstalledPackageInfo_ a)
+#else
+type PackageIndex a = Cabal.PackageIndex
+#endif
+
+findTransitiveDependencies
+ :: PackageIndex a
+ -> Set Cabal.InstalledPackageId
+ -> Set Cabal.InstalledPackageId
+findTransitiveDependencies pkgIdx set0 = go Set.empty (Set.toList set0)
+ where
+ go set [] = set
+ go set (q : queue)
+ | q `Set.member` set = go set queue
+ | otherwise =
+ case Cabal.lookupInstalledPackageId pkgIdx q of
+ Nothing ->
+ -- Not found can mean that the package still needs to be
+ -- installed (e.g. a component of the target cabal package).
+ -- We can ignore those.
+ go set queue
+ Just ipi ->
+ go (Set.insert q set)
+ (InstalledPackageInfo.depends ipi ++ queue)
+
+
+--------------------------------------------------------------------------------
+getDependencyInstalledPackageIds
+ :: Cabal.LocalBuildInfo -> Set Cabal.InstalledPackageId
+getDependencyInstalledPackageIds lbi =
+ findTransitiveDependencies (Cabal.installedPkgs lbi) $
+ Set.fromList $ map fst $ Cabal.externalPackageDeps lbi
+
+--------------------------------------------------------------------------------
+getDependencyInstalledPackageInfos
+ :: Cabal.LocalBuildInfo -> [InstalledPackageInfo]
+getDependencyInstalledPackageInfos lbi = catMaybes $
+ map (Cabal.lookupInstalledPackageId pkgIdx) $
+ Set.toList (getDependencyInstalledPackageIds lbi)
+ where
+ pkgIdx = Cabal.installedPkgs lbi
+
+
+--------------------------------------------------------------------------------
+groupByLicense
+ :: [InstalledPackageInfo]
+ -> [(Cabal.License, [InstalledPackageInfo])]
+groupByLicense = foldl'
+ (\assoc ipi -> insert (InstalledPackageInfo.license ipi) ipi assoc) []
+ where
+ -- 'Cabal.License' doesn't have an 'Ord' instance so we need to use an
+ -- association list instead of 'Map'. The number of licenses probably won't
+ -- exceed 100 so I think we're alright.
+ insert :: Eq k => k -> v -> [(k, [v])] -> [(k, [v])]
+ insert k v [] = [(k, [v])]
+ insert k v ((k', vs) : kvs)
+ | k == k' = (k, v : vs) : kvs
+ | otherwise = (k', vs) : insert k v kvs
+
+
+--------------------------------------------------------------------------------
+displayDependencyLicenseList
+ :: [(Cabal.License, [InstalledPackageInfo])]
+ -> [(String, [(String, Version)])]
+displayDependencyLicenseList =
+ map (Cabal.display *** map (getName &&& getVersion))
+ where
+ getName =
+ Cabal.display . Cabal.pkgName . InstalledPackageInfo.sourcePackageId
+ getVersion =
+ Cabal.pkgVersion . InstalledPackageInfo.sourcePackageId
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cabal-helper-0.5.2.0/CabalHelper/Log.hs new/cabal-helper-0.6.0.0/CabalHelper/Log.hs
--- old/cabal-helper-0.5.2.0/CabalHelper/Log.hs 1970-01-01 01:00:00.000000000 +0100
+++ new/cabal-helper-0.6.0.0/CabalHelper/Log.hs 2015-09-07 08:02:26.000000000 +0200
@@ -0,0 +1,14 @@
+module CabalHelper.Log where
+
+import Control.Monad
+import Control.Monad.IO.Class
+import Data.String
+import System.IO
+import Prelude
+
+import CabalHelper.Types
+
+vLog :: MonadIO m => Options -> String -> m ()
+vLog Options { verbose = True } msg =
+ liftIO $ hPutStrLn stderr msg
+vLog _ _ = return ()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cabal-helper-0.5.2.0/CabalHelper/Main.hs new/cabal-helper-0.6.0.0/CabalHelper/Main.hs
--- old/cabal-helper-0.5.2.0/CabalHelper/Main.hs 2015-08-20 04:02:22.000000000 +0200
+++ new/cabal-helper-0.6.0.0/CabalHelper/Main.hs 2015-09-07 08:02:26.000000000 +0200
@@ -79,28 +79,31 @@
import System.IO.Unsafe (unsafeInterleaveIO, unsafePerformIO)
import Text.Printf
+import CabalHelper.Licenses
import CabalHelper.Sandbox
import CabalHelper.Common
-import CabalHelper.Types
+import CabalHelper.Types hiding (Options(..))
usage = do
prog <- getProgName
- hPutStr stderr $ align "(" "|" ("Usage: " ++ prog ++ " " ++ usageMsg)
+ hPutStr stderr $ "Usage: " ++ prog ++ " " ++ usageMsg
where
usageMsg = ""
- ++"DIST_DIR ( version\n"
- ++" | print-lbi [--human]\n"
- ++" | write-autogen-files\n"
- ++" | compiler-version\n"
- ++" | ghc-options [--with-inplace]\n"
- ++" | ghc-src-options [--with-inplace]\n"
- ++" | ghc-pkg-options [--with-inplace]\n"
- ++" | ghc-merged-pkg-options [--with-inplace]\n"
- ++" | ghc-lang-options [--with-inplace]\n"
- ++" | package-db-stack\n"
- ++" | entrypoints\n"
- ++" | source-dirs\n"
- ++" ) ...\n"
+ ++"PROJ_DIR DIST_DIR [--with-* ...] (\n"
+ ++" version\n"
+ ++" | print-lbi [--human]\n"
+ ++" | write-autogen-files\n"
+ ++" | compiler-version\n"
+ ++" | ghc-options [--with-inplace]\n"
+ ++" | ghc-src-options [--with-inplace]\n"
+ ++" | ghc-pkg-options [--with-inplace]\n"
+ ++" | ghc-merged-pkg-options [--with-inplace]\n"
+ ++" | ghc-lang-options [--with-inplace]\n"
+ ++" | package-db-stack\n"
+ ++" | entrypoints\n"
+ ++" | source-dirs\n"
+ ++" | licenses\n"
+ ++" ) ...\n"
commands :: [String]
commands = [ "print-bli"
@@ -112,7 +115,8 @@
, "ghc-lang-options"
, "package-db-stack"
, "entrypoints"
- , "source-dirs"]
+ , "source-dirs"
+ , "licenses"]
main :: IO ()
main = do
@@ -201,10 +205,9 @@
ghcOptPackages = ghcOptPackages opts
})
- let res' = res { ghcOptPackageDBs = withPackageDB lbi
- , ghcOptHideAllPackages = Flag True
- , ghcOptPackages = nub $ ghcOptPackages res
- }
+ let res' = nubPackageFlags $ res { ghcOptPackageDBs = withPackageDB lbi
+ , ghcOptHideAllPackages = Flag True
+ }
Just . ChResponseList <$> renderGhcOptions' lbi v res'
@@ -239,6 +242,10 @@
res <- componentsMap lbi v distdir $$ \_ _ bi -> return $ hsSourceDirs bi
return $ Just $ ChResponseCompList (res ++ [(ChSetupHsName, [])])
+ "licenses":[] -> do
+ return $ Just $ ChResponseLicenses $
+ displayDependencyLicenseList $ groupByLicense $ getDependencyInstalledPackageInfos lbi
+
"print-lbi":flags ->
case flags of
["--human"] -> print lbi >> return Nothing
@@ -375,7 +382,12 @@
isInplaceDep :: (InstalledPackageId, PackageId) -> Bool
isInplaceDep (ipid, pid) = inplacePackageId pid == ipid
+#if CABAL_MAJOR == 1 && CABAL_MINOR >= 22
+-- >= 1.22 uses NubListR
+nubPackageFlags opts = opts
+#else
nubPackageFlags opts = opts { ghcOptPackages = nub $ ghcOptPackages opts }
+#endif
renderGhcOptions' lbi v opts = do
#if CABAL_MAJOR == 1 && CABAL_MINOR < 20
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cabal-helper-0.5.2.0/CabalHelper/Types.hs new/cabal-helper-0.6.0.0/CabalHelper/Types.hs
--- old/cabal-helper-0.5.2.0/CabalHelper/Types.hs 2015-08-20 04:02:22.000000000 +0200
+++ new/cabal-helper-0.6.0.0/CabalHelper/Types.hs 2015-09-07 08:02:26.000000000 +0200
@@ -37,6 +37,7 @@
| ChResponsePkgDbs [ChPkgDb]
| ChResponseLbi String
| ChResponseVersion String Version
+ | ChResponseLicenses [(String, [(String, Version)])]
deriving (Eq, Ord, Read, Show, Generic)
data ChEntrypoint = ChSetupEntrypoint -- ^ Almost like 'ChExeEntrypoint' but
@@ -55,3 +56,15 @@
| ChPkgUser
| ChPkgSpecific FilePath
deriving (Eq, Ord, Read, Show, Generic)
+
+data Options = Options {
+ verbose :: Bool
+ , ghcProgram :: FilePath
+ , ghcPkgProgram :: FilePath
+ , cabalProgram :: FilePath
+ , cabalVersion :: Maybe Version
+ , cabalPkgDb :: Maybe FilePath
+}
+
+defaultOptions :: Options
+defaultOptions = Options False "ghc" "ghc-pkg" "cabal" Nothing Nothing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cabal-helper-0.5.2.0/CabalHelper/Wrapper.hs new/cabal-helper-0.6.0.0/CabalHelper/Wrapper.hs
--- old/cabal-helper-0.5.2.0/CabalHelper/Wrapper.hs 2015-08-20 04:02:22.000000000 +0200
+++ new/cabal-helper-0.6.0.0/CabalHelper/Wrapper.hs 2015-09-07 08:02:26.000000000 +0200
@@ -13,17 +13,11 @@
--
-- You should have received a copy of the GNU Affero General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
{-# LANGUAGE RecordWildCards, FlexibleContexts #-}
module Main where
import Control.Applicative
-import Control.Arrow
-import Control.Exception as E
import Control.Monad
-import Control.Monad.Trans.Maybe
-import Control.Monad.IO.Class
-import Data.Traversable
import Data.Char
import Data.List
import Data.Maybe
@@ -43,15 +37,15 @@
import Distribution.Text (display)
import Paths_cabal_helper (version)
-import CabalHelper.Data
import CabalHelper.Common
import CabalHelper.GuessGhc
-import CabalHelper.Sandbox (getSandboxPkgDb)
+import CabalHelper.Compile
+import CabalHelper.Types
usage :: IO ()
usage = do
prog <- getProgName
- hPutStr stderr $ align "(" "|" ("Usage: " ++ prog ++ " " ++ usageMsg)
+ hPutStr stderr $ "Usage: " ++ prog ++ " " ++ usageMsg
where
usageMsg = "\
\( print-appdatadir\n\
@@ -60,18 +54,10 @@
\ [--with-ghc=GHC_PATH]\n\
\ [--with-ghc-pkg=GHC_PKG_PATH]\n\
\ [--with-cabal=CABAL_PATH]\n\
+\ [--with-cabal-version=VERSION]\n\
+\ [--with-cabal-pkg-db=PKG_DB]\n\
\ PROJ_DIR DIST_DIR ( print-exe | [CABAL_HELPER_ARGS...] ) )\n"
-data Options = Options {
- verbose :: Bool
- , ghcProgram :: FilePath
- , ghcPkgProgram :: FilePath
- , cabalProgram :: FilePath
-}
-
-defaultOptions :: Options
-defaultOptions = Options False "ghc" "ghc-pkg" "cabal"
-
globalArgSpec :: [OptDescr (Options -> Options)]
globalArgSpec =
[ option "" ["verbose"] "Be more verbose" $
@@ -85,6 +71,13 @@
, option "" ["with-cabal"] "cabal-install executable to use" $
reqArg "PROG" $ \p o -> o { cabalProgram = p }
+
+ , option "" ["with-cabal-version"] "Cabal library version to use" $
+ reqArg "VERSION" $ \p o -> o { cabalVersion = Just $ parseVer p }
+
+ , option "" ["with-cabal-pkg-db"] "package database to look for Cabal library in" $
+ reqArg "PKG_DB" $ \p o -> o { cabalPkgDb = Just p }
+
]
where
option :: [Char] -> [String] -> String -> ArgDescr a -> OptDescr a
@@ -132,342 +125,18 @@
\- Check first line of: %s\n\
\- Maybe try: $ cabal configure" cfgf
Just (hdrCabalVersion, _) -> do
- eexe <- compileHelper opts hdrCabalVersion projdir distdir
- case eexe of
- Left e -> exitWith e
- Right exe ->
- case args' of
- "print-exe":_ -> putStrLn exe
- _ -> do
- (_,_,_,h) <- createProcess $ proc exe args
- exitWith =<< waitForProcess h
+ case cabalVersion opts of
+ Just ver | hdrCabalVersion /= ver -> panic $ printf "\
+\Cabal version %s was requested setup configuration was\n\
+\written by version %s" (showVersion ver) (showVersion hdrCabalVersion)
+ _ -> do
+ eexe <- compileHelper opts hdrCabalVersion projdir distdir
+ case eexe of
+ Left e -> exitWith e
+ Right exe ->
+ case args' of
+ "print-exe":_ -> putStrLn exe
+ _ -> do
+ (_,_,_,h) <- createProcess $ proc exe args
+ exitWith =<< waitForProcess h
_ -> error "invalid command line"
-
-appDataDir :: IO FilePath
-appDataDir = (</> "cabal-helper") <$> getAppUserDataDirectory "ghc-mod"
-
-compileHelper :: Options -> Version -> FilePath -> FilePath -> IO (Either ExitCode FilePath)
-compileHelper opts cabalVer projdir distdir = withHelperSources $ \chdir -> do
- run [ compileCabalSource chdir -- TODO: here ghc's caching fails and it always
- -- recompiles, probably because we write the
- -- sources to a tempdir and they always look
- -- newer than the Cabal sources, not sure if we
- -- can fix this
- , Right <$> MaybeT (cachedExe cabalVer)
- , compileSandbox chdir
- , compileGlobal chdir
- , cachedCabalPkg chdir
- , MaybeT (Just <$> compilePrivatePkgDb chdir)
- ]
-
- where
- run actions = fromJust <$> runMaybeT (msum actions)
-
- logMsg = "compiling helper with Cabal from "
-
-
--- for relaxed deps: find (sameMajorVersionAs cabalVer) . reverse . sort
-
- -- | Check if this version is globally available
- compileGlobal :: FilePath -> MaybeT IO (Either ExitCode FilePath)
- compileGlobal chdir = do
- -- TODO: add option to let user specify custom package-db, relevant when
- -- using a Cabal compiled from git!
-
- ver <- MaybeT $ find (== cabalVer) <$> listCabalVersions opts
- vLog opts $ logMsg ++ "user/global package-db"
- liftIO $ compileWithPkg chdir Nothing ver
-
- -- | Check if this version is available in the project sandbox
- compileSandbox :: FilePath -> MaybeT IO (Either ExitCode FilePath)
- compileSandbox chdir = do
- sandbox <- MaybeT $ getSandboxPkgDb projdir (display buildPlatform) =<< ghcVersion opts
- ver <- MaybeT $ find (== cabalVer) <$> listCabalVersions' opts (Just sandbox)
- vLog opts $ logMsg ++ "sandbox package-db"
- liftIO $ compileWithPkg chdir (Just sandbox) ver
-
-
- -- | Check if we already compiled this version of cabal into a private
- -- package-db
- cachedCabalPkg :: FilePath -> MaybeT IO (Either ExitCode FilePath)
- cachedCabalPkg chdir = do
- db_exists <- liftIO $ cabalPkgDbExists opts cabalVer
- case db_exists of
- False -> mzero
- True -> do
- db <- liftIO $ cabalPkgDb opts cabalVer
- vLog opts $ logMsg ++ "private package-db in " ++ db
- liftIO $ compileWithPkg chdir (Just db) cabalVer
-
- -- | See if we're in a cabal source tree
- compileCabalSource :: FilePath -> MaybeT IO (Either ExitCode FilePath)
- compileCabalSource chdir = do
- let cabalFile = projdir </> "Cabal.cabal"
- isCabalMagicVer = cabalVer == Version [1,9999] []
- cabalSrc <- liftIO $ doesFileExist cabalFile
-
- when isCabalMagicVer $
- vLog opts $ "cabal magic version (1.9999) found"
-
- when cabalSrc $
- vLog opts $ "directory above distdir looks like cabal source tree (Cabal.cabal exists)"
-
- case isCabalMagicVer || cabalSrc of
- False -> mzero
- True -> liftIO $ do
- ver <- cabalFileVersion <$> readFile cabalFile
- vLog opts $ "compiling helper with local Cabal source tree"
- compileWithCabalTree chdir ver projdir
-
- -- | Compile the requested cabal version into an isolated package-db
- compilePrivatePkgDb :: FilePath -> IO (Either ExitCode FilePath)
- compilePrivatePkgDb chdir = do
- db <- installCabal opts cabalVer `E.catch`
- \(SomeException _) -> errorInstallCabal cabalVer distdir
- compileWithPkg chdir (Just db) cabalVer
-
- compileWithCabalTree chdir ver srcDir =
- compile distdir opts $ Compile chdir (Just srcDir) Nothing ver []
-
- compileWithPkg chdir mdb ver =
- compile distdir opts $ Compile chdir Nothing mdb ver [cabalPkgId ver]
-
- cabalPkgId v = "Cabal-" ++ showVersion v
-
-errorInstallCabal :: Version -> FilePath -> a
-errorInstallCabal cabalVer _distdir = panic $ printf "\
-\Installing Cabal version %s failed.\n\
-\\n\
-\You have the following choices to fix this:\n\
-\\n\
-\- The easiest way to try and fix this is just reconfigure the project and try\n\
-\ again:\n\
-\ $ cabal clean && cabal configure\n\
-\\n\
-\- If that fails you can try to install the version of Cabal mentioned above\n\
-\ into your global/user package-db somehow, you'll probably have to fix\n\
-\ something otherwise it wouldn't have failed above:\n\
-\ $ cabal install Cabal --constraint 'Cabal == %s'\n\
-\\n\
-\- If you're using `Build-Type: Simple`:\n\
-\ - You can see if you can reinstall your cabal-install executable while\n\
-\ having it linked to a version of Cabal that's available in you\n\
-\ package-dbs or can be built automatically:\n\
-\ $ ghc-pkg list | grep Cabal # find an available Cabal version\n\
-\ Cabal-W.X.Y.Z\n\
-\ $ cabal install cabal-install --constraint 'Cabal == W.X.*'\n\
-\ Afterwards you'll have to reconfigure your project:\n\
-\ $ cabal clean && cabal configure\n\
-\\n\
-\- If you're using `Build-Type: Custom`:\n\
-\ - Have cabal-install rebuild your Setup.hs executable with a version of the\n\
-\ Cabal library that you have available in your global/user package-db:\n\
-\ $ cabal clean && cabal configure\n\
-\ You might also have to install some version of the Cabal to do this:\n\
-\ $ cabal install Cabal\n\
-\\n" sver sver
- where
- sver = showVersion cabalVer
-
-
-data Compile = Compile {
- cabalHelperSourceDir :: FilePath,
- cabalSourceDir :: Maybe FilePath,
- packageDb :: Maybe FilePath,
- cabalVersion :: Version,
- packageDeps :: [String]
- }
-
-compile :: FilePath -> Options -> Compile -> IO (Either ExitCode FilePath)
-compile distdir opts@Options {..} Compile {..} = do
- cCabalSourceDir <- canonicalizePath `traverse` cabalSourceDir
- appdir <- appDataDir
-
- let outdir' = maybe appdir (const $ distdir </> "cabal-helper") cCabalSourceDir
- createDirectoryIfMissing True outdir'
- outdir <- canonicalizePath outdir'
-
- let exedir' = maybe outdir (const distdir) cCabalSourceDir
- createDirectoryIfMissing True exedir'
- exedir <- canonicalizePath exedir'
- exe <- exePath' cabalVersion <$> canonicalizePath exedir
-
- vLog opts $ "outdir: " ++ outdir
- vLog opts $ "exedir: " ++ exedir
-
- let Version (mj:mi:_) _ = cabalVersion
- let ghc_opts =
- concat [
- [ "-outputdir", outdir
- , "-o", exe
- , "-optP-DCABAL_HELPER=1"
- , "-optP-DCABAL_MAJOR=" ++ show mj
- , "-optP-DCABAL_MINOR=" ++ show mi
- ],
- maybeToList $ ("-package-conf="++) <$> packageDb,
- map ("-i"++) $ nub $ ".":maybeToList cCabalSourceDir,
-
- if isNothing cCabalSourceDir
- then [ "-hide-all-packages"
- , "-package", "base"
- , "-package", "directory"
- , "-package", "filepath"
- , "-package", "process"
- , "-package", "bytestring"
- , "-package", "ghc-prim"
- ]
- else [],
-
- concatMap (\p -> ["-package", p]) packageDeps,
- [ "--make", "CabalHelper/Main.hs" ]
- ]
-
- vLog opts $ intercalate " " $ map (("\""++) . (++"\"")) $ ghcProgram:ghc_opts
-
- -- TODO: touch exe after, ghc doesn't do that if the input files didn't
- -- actually change
- rv <- callProcessStderr' (Just cabalHelperSourceDir) ghcProgram ghc_opts
- return $ case rv of
- ExitSuccess -> Right exe
- e@(ExitFailure _) -> Left e
-
-exePath :: Version -> IO FilePath
-exePath cabalVersion = do
- exePath' cabalVersion <$> appDataDir
-
-exePath' :: Version-> FilePath -> FilePath
-exePath' cabalVersion outdir =
- outdir </> "cabal-helper-" ++ showVersion version -- our ver
- ++ "-Cabal-" ++ showVersion cabalVersion
-
-cachedExe :: Version -> IO (Maybe FilePath)
-cachedExe cabalVersion = do
- exe <- exePath cabalVersion
- exists <- doesFileExist exe
- return $ if exists then Just exe else Nothing
-
-callProcessStderr' :: Maybe FilePath -> FilePath -> [String] -> IO ExitCode
-callProcessStderr' mwd exe args = do
- (_, _, _, h) <- createProcess (proc exe args) { std_out = UseHandle stderr
- , cwd = mwd }
- waitForProcess h
-
-callProcessStderr :: Maybe FilePath -> FilePath -> [String] -> IO ()
-callProcessStderr mwd exe args = do
- rv <- callProcessStderr' mwd exe args
- case rv of
- ExitSuccess -> return ()
- ExitFailure v -> processFailedException "callProcessStderr" exe args v
-
-processFailedException :: String -> String -> [String] -> Int -> IO a
-processFailedException fn exe args rv =
- panic $ concat [fn, ": ", exe, " "
- , intercalate " " (map show args)
- , " (exit " ++ show rv ++ ")"]
-
-installCabal :: Options -> Version -> IO FilePath
-installCabal opts ver = do
- appdir <- appDataDir
- let sver = showVersion ver
- hPutStr stderr $ printf "\
-\cabal-helper-wrapper: Installing a private copy of Cabal because we couldn't\n\
-\find the right version in your global/user package-db, this might take a\n\
-\while but will only happen once per Cabal version you're using.\n\
-\\n\
-\If anything goes horribly wrong just delete this directory and try again:\n\
-\ %s\n\
-\\n\
-\If you want to avoid this automatic installation altogether install\n\
-\version %s of Cabal manually (into your user or global package-db):\n\
-\ $ cabal install Cabal --constraint \"Cabal == %s\"\n\
-\\n\
-\Installing Cabal %s ...\n" appdir sver sver sver
-
- db <- createPkgDb opts ver
- cabalInstallVer <- cabalInstallVersion opts
- cabal_opts <- return $ concat
- [
- [ "--package-db=clear"
- , "--package-db=global"
- , "--package-db=" ++ db
- , "--prefix=" ++ db </> "prefix"
- , "--with-ghc=" ++ ghcProgram opts
- ]
- , if cabalInstallVer >= Version [1,20,0,0] []
- then ["--no-require-sandbox"]
- else []
- , if ghcPkgProgram opts /= ghcPkgProgram defaultOptions
- then [ "--with-ghc-pkg=" ++ ghcPkgProgram opts ]
- else []
- , [ "install", "Cabal", "--constraint"
- , "Cabal == " ++ showVersion ver ]
- ]
-
- vLog opts $ intercalate " " $ map (("\""++) . (++"\"")) $ cabalProgram opts:cabal_opts
-
- callProcessStderr (Just "/") (cabalProgram opts) cabal_opts
- hPutStrLn stderr "done"
- return db
-
-ghcVersion :: Options -> IO Version
-ghcVersion Options {..} = do
- parseVer . trim <$> readProcess ghcProgram ["--numeric-version"] ""
-
-ghcPkgVersion :: Options -> IO Version
-ghcPkgVersion Options {..} = do
- parseVer . trim . dropWhile (not . isDigit) <$> readProcess ghcPkgProgram ["--version"] ""
-
-cabalInstallVersion :: Options -> IO Version
-cabalInstallVersion Options {..} = do
- parseVer . trim <$> readProcess cabalProgram ["--numeric-version"] ""
-
-trim :: String -> String
-trim = dropWhileEnd isSpace
-
-createPkgDb :: Options -> Version -> IO FilePath
-createPkgDb opts@Options {..} ver = do
- db <- cabalPkgDb opts ver
- exists <- doesDirectoryExist db
- when (not exists) $ callProcessStderr Nothing ghcPkgProgram ["init", db]
- return db
-
-cabalPkgDb :: Options -> Version -> IO FilePath
-cabalPkgDb opts ver = do
- appdir <- appDataDir
- ghcVer <- ghcVersion opts
- return $ appdir </> "Cabal-" ++ showVersion ver ++ "-db-" ++ showVersion ghcVer
-
-cabalPkgDbExists :: Options -> Version -> IO Bool
-cabalPkgDbExists opts ver = do
- db <- cabalPkgDb opts ver
- dexists <- doesDirectoryExist db
- case dexists of
- False -> return False
- True -> do
- vers <- listCabalVersions' opts (Just db)
- return $ ver `elem` vers
-
-listCabalVersions :: Options -> IO [Version]
-listCabalVersions opts = listCabalVersions' opts Nothing
-
--- TODO: Include sandbox? Probably only relevant for build-type:custom projects.
-listCabalVersions' :: Options -> Maybe FilePath -> IO [Version]
-listCabalVersions' Options {..} mdb = do
- let mdbopt = ("--package-conf="++) <$> mdb
- opts = ["list", "--simple-output", "Cabal"] ++ maybeToList mdbopt
-
- catMaybes . map (fmap snd . parsePkgId . fromString) . words
- <$> readProcess ghcPkgProgram opts ""
-
--- | Find @version: XXX@ delcaration in a cabal file
-cabalFileVersion :: String -> Version
-cabalFileVersion cabalFile =
- fromJust $ parseVer . extract <$> find ("version:" `isPrefixOf`) ls
- where
- ls = map (map toLower) $ lines cabalFile
- extract = dropWhile (/=':') >>> drop 1 >>> dropWhile isSpace >>> takeWhile (not . isSpace)
-
-vLog :: MonadIO m => Options -> String -> m ()
-vLog Options { verbose = True } msg =
- liftIO $ hPutStrLn stderr msg
-vLog _ _ = return ()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cabal-helper-0.5.2.0/Distribution/Helper.hs new/cabal-helper-0.6.0.0/Distribution/Helper.hs
--- old/cabal-helper-0.5.2.0/Distribution/Helper.hs 2015-08-20 04:02:22.000000000 +0200
+++ new/cabal-helper-0.6.0.0/Distribution/Helper.hs 2015-09-07 08:02:26.000000000 +0200
@@ -14,17 +14,24 @@
-- You should have received a copy of the GNU Affero General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
-{-# LANGUAGE CPP, FlexibleContexts, ConstraintKinds #-}
+{-# LANGUAGE CPP, RecordWildCards, FlexibleContexts, ConstraintKinds #-}
{-# LANGUAGE GeneralizedNewtypeDeriving, DeriveDataTypeable, DeriveGeneric #-}
module Distribution.Helper (
Programs(..)
+ , defaultPrograms
+ , QueryEnv
+ , qeReadProcess
+ , qePrograms
+ , qeProjectDir
+ , qeDistDir
+ , qeCabalPkgDb
+ , qeCabalVer
+ , defaultQueryEnv
-- * Running Queries
, Query
, runQuery
- , runQuery'
- , runQuery''
-- * Queries against Cabal\'s on disk state
@@ -36,6 +43,7 @@
, ghcPkgOptions
, ghcMergedPkgOptions
, ghcLangOptions
+ , pkgLicenses
-- * Result types
, ChModuleName(..)
@@ -67,7 +75,6 @@
import Control.Exception as E
import Data.Char
import Data.List
-import Data.Default
import Data.Version
import Data.Typeable
import Distribution.Simple.BuildPaths (exeExtension)
@@ -81,7 +88,7 @@
import Prelude
import Paths_cabal_helper (getLibexecDir)
-import CabalHelper.Types
+import CabalHelper.Types hiding (Options(..))
import CabalHelper.Sandbox
-- | Paths or names of various programs we need.
@@ -91,8 +98,45 @@
ghcPkgProgram :: FilePath
} deriving (Eq, Ord, Show, Read, Generic, Typeable)
-instance Default Programs where
- def = Programs "cabal" "ghc" "ghc-pkg"
+defaultPrograms :: Programs
+defaultPrograms = Programs "cabal" "ghc" "ghc-pkg"
+
+data QueryEnv = QueryEnv {
+ -- | How to start the cabal-helper process. Useful if you need to
+ -- capture stderr output from the helper.
+ qeReadProcess :: FilePath -> [String] -> String -> IO String,
+
+ qePrograms :: Programs,
+
+ -- | Path to project directory, i.e. the one containing the
+ -- @project.cabal@ file
+ qeProjectDir :: FilePath,
+
+ -- | Path to the @dist/@ directory
+ qeDistDir :: FilePath,
+
+ -- | Where to look for the Cabal library when linking the helper
+ qeCabalPkgDb :: Maybe FilePath,
+
+ -- | If @dist/setup-config@ wasn\'t written by this version of Cabal throw
+ -- an error
+ qeCabalVer :: Maybe Version
+ }
+
+defaultQueryEnv :: FilePath
+ -- ^ Path to project directory, i.e. the one containing the
+ -- @project.cabal@ file
+ -> FilePath
+ -- ^ Path to the @dist/@ directory
+ -> QueryEnv
+defaultQueryEnv projdir distdir = QueryEnv {
+ qeReadProcess = readProcess
+ , qePrograms = defaultPrograms
+ , qeProjectDir = projdir
+ , qeDistDir = distdir
+ , qeCabalPkgDb = Nothing
+ , qeCabalVer = Nothing
+ }
data SomeLocalBuildInfo = SomeLocalBuildInfo {
slbiPackageDbStack :: [ChPkgDb],
@@ -102,7 +146,8 @@
slbiGhcSrcOptions :: [(ChComponentName, [String])],
slbiGhcPkgOptions :: [(ChComponentName, [String])],
slbiGhcMergedPkgOptions :: [String],
- slbiGhcLangOptions :: [(ChComponentName, [String])]
+ slbiGhcLangOptions :: [(ChComponentName, [String])],
+ slbiPkgLicenses :: [(String, [(String, Version)])]
} deriving (Eq, Ord, Read, Show)
-- | Caches helper executable result so it doesn't have to be run more than once
@@ -112,54 +157,20 @@
(ReaderT QueryEnv m) a }
deriving (Functor, Applicative, Monad, MonadIO)
-data QueryEnv = QueryEnv {
- _qeReadProcess :: FilePath -> [String] -> String -> IO String,
- _qeProgs :: Programs,
- _qeProjectDir :: FilePath,
- _qeDistDir :: FilePath
- }
-
type MonadQuery m = ( MonadIO m
, MonadState (Maybe SomeLocalBuildInfo) m
, MonadReader QueryEnv m)
-run :: Monad m
- => QueryEnv -> Maybe SomeLocalBuildInfo -> Query m a -> m a
+run :: Monad m => QueryEnv -> Maybe SomeLocalBuildInfo -> Query m a -> m a
run e s action = flip runReaderT e (flip evalStateT s (unQuery action))
-- | @runQuery query distdir@. Run a 'Query'. @distdir@ is where Cabal's
-- @setup-config@ file is located.
runQuery :: Monad m
- => FilePath -- ^ Path to project directory, i.e. the one containing the
- -- @project.cabal@ file
- -> FilePath -- ^ Path to @dist/@
- -> Query m a
- -> m a
-runQuery pd dd action = run (QueryEnv readProcess def pd dd) Nothing action
-
-runQuery' :: Monad m
- => Programs
- -> FilePath -- ^ Path to project directory, i.e. the one containing the
- -- @project.cabal@ file
- -> FilePath -- ^ Path to @dist/@
- -> Query m a
- -> m a
-runQuery' progs pd dd action =
- run (QueryEnv readProcess progs pd dd) Nothing action
-
-runQuery'' :: Monad m
- => (FilePath -> [String] -> String -> IO String)
- -- ^ How to start the cabal-helper process. Useful if you need to
- -- capture stderr output from the helper.
- -> Programs
- -> FilePath -- ^ Path to project directory, i.e. the one containing the
- -- @project.cabal@ file
- -> FilePath -- ^ Path to @dist/@
+ => QueryEnv
-> Query m a
-> m a
-runQuery'' readProc progs pd dd action =
- run (QueryEnv readProc progs pd dd) Nothing action
-
+runQuery qe action = run qe Nothing action
getSlbi :: MonadQuery m => m SomeLocalBuildInfo
getSlbi = do
@@ -198,6 +209,9 @@
-- | Only language related options, i.e. @-XSomeExtension@
ghcLangOptions :: MonadIO m => Query m [(ChComponentName, [String])]
+-- | Get the licenses of the packages the current project is linking against.
+pkgLicenses :: MonadIO m => Query m [(String, [(String, Version)])]
+
packageDbStack = Query $ slbiPackageDbStack `liftM` getSlbi
entrypoints = Query $ slbiEntrypoints `liftM` getSlbi
sourceDirs = Query $ slbiSourceDirs `liftM` getSlbi
@@ -206,6 +220,7 @@
ghcPkgOptions = Query $ slbiGhcPkgOptions `liftM` getSlbi
ghcMergedPkgOptions = Query $ slbiGhcMergedPkgOptions `liftM` getSlbi
ghcLangOptions = Query $ slbiGhcLangOptions `liftM` getSlbi
+pkgLicenses = Query $ slbiPkgLicenses `liftM` getSlbi
-- | Run @cabal configure@
reconfigure :: MonadIO m
@@ -218,7 +233,7 @@
[ "--with-ghc=" ++ ghcProgram progs ]
-- Only pass ghc-pkg if it was actually set otherwise we
-- might break cabal's guessing logic
- ++ if ghcPkgProgram progs /= ghcPkgProgram def
+ ++ if ghcPkgProgram progs /= "ghc-pkg"
then [ "--with-ghc-pkg=" ++ ghcPkgProgram progs ]
else []
++ cabalOpts
@@ -226,13 +241,17 @@
return ()
getSomeConfigState :: MonadQuery m => m SomeLocalBuildInfo
-getSomeConfigState = ask >>= \(QueryEnv readProc progs projdir distdir) -> do
- let progArgs = [ "--with-ghc=" ++ ghcProgram progs
+getSomeConfigState = ask >>= \QueryEnv {..} -> do
+ let progs = qePrograms
+ projdir = qeProjectDir
+ distdir = qeDistDir
+
+ progArgs = [ "--with-ghc=" ++ ghcProgram progs
, "--with-ghc-pkg=" ++ ghcPkgProgram progs
, "--with-cabal=" ++ cabalProgram progs
]
- let args = [ "package-db-stack"
+ args = [ "package-db-stack"
, "entrypoints"
, "source-dirs"
, "ghc-options"
@@ -240,14 +259,15 @@
, "ghc-pkg-options"
, "ghc-merged-pkg-options"
, "ghc-lang-options"
- ] ++ progArgs
+ , "licenses"
+ ]
res <- liftIO $ do
exe <- findLibexecExe "cabal-helper-wrapper"
- out <- readProc exe (projdir:distdir:args) ""
+ out <- qeReadProcess exe (progArgs ++ projdir:distdir:args) ""
evaluate (read out) `E.catch` \(SomeException _) ->
error $ concat ["getSomeConfigState", ": ", exe, " "
- , intercalate " " (map show $ distdir:args)
+ , intercalate " " (map show $ progArgs ++ projdir:distdir:args)
, " (read failed)"]
let [ Just (ChResponsePkgDbs pkgDbs),
@@ -257,10 +277,12 @@
Just (ChResponseCompList ghcSrcOpts),
Just (ChResponseCompList ghcPkgOpts),
Just (ChResponseList ghcMergedPkgOpts),
- Just (ChResponseCompList ghcLangOpts) ] = res
+ Just (ChResponseCompList ghcLangOpts),
+ Just (ChResponseLicenses pkgLics)
+ ] = res
return $ SomeLocalBuildInfo
- pkgDbs eps srcDirs ghcOpts ghcSrcOpts ghcPkgOpts ghcMergedPkgOpts ghcLangOpts
+ pkgDbs eps srcDirs ghcOpts ghcSrcOpts ghcPkgOpts ghcMergedPkgOpts ghcLangOpts pkgLics
-- | Make sure the appropriate helper executable for the given project is
-- installed and ready to run queries.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cabal-helper-0.5.2.0/cabal-helper.cabal new/cabal-helper-0.6.0.0/cabal-helper.cabal
--- old/cabal-helper-0.5.2.0/cabal-helper.cabal 2015-08-20 04:02:22.000000000 +0200
+++ new/cabal-helper-0.6.0.0/cabal-helper.cabal 2015-09-07 08:02:26.000000000 +0200
@@ -1,5 +1,5 @@
name: cabal-helper
-version: 0.5.2.0
+version: 0.6.0.0
synopsis: Simple interface to some of Cabal's configuration state used by ghc-mod
description:
@cabal-helper@ provides a library which wraps the internal use of
@@ -35,6 +35,7 @@
build-type: Custom
cabal-version: >=1.10
extra-source-files: CabalHelper/Main.hs
+ CabalHelper/Licenses.hs
source-repository head
type: git
@@ -49,7 +50,6 @@
GHC-Options: -Wall
Build-Depends: base >= 4.5 && < 5
, Cabal >= 1.14 && < 1.23
- , data-default
, directory
, filepath
, transformers
@@ -66,6 +66,8 @@
CabalHelper.Common
CabalHelper.GuessGhc
CabalHelper.Data
+ CabalHelper.Compile
+ CabalHelper.Log
GHC-Options: -Wall
X-Install-Target: $libexecdir
Build-Depends: base >= 4.5 && < 5
@@ -78,16 +80,26 @@
, template-haskell
, temporary
, utf8-string
-
+ , ghc-prim
Test-Suite spec
Default-Language: Haskell2010
Type: exitcode-stdio-1.0
Main-Is: Spec.hs
- Hs-Source-Dirs: tests
+ Hs-Source-Dirs: tests, .
GHC-Options: -Wall
Build-Depends: base >= 4.5 && < 5
, cabal-helper
, extra
, unix
+ , Cabal >= 1.14 && < 1.23
+ , directory
+ , filepath
+ , transformers
+ , mtl
, process
+ , ghc-prim
+ , bytestring
+ , utf8-string
+ , template-haskell
+ , temporary
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cabal-helper-0.5.2.0/tests/Spec.hs new/cabal-helper-0.6.0.0/tests/Spec.hs
--- old/cabal-helper-0.5.2.0/tests/Spec.hs 2015-08-20 04:02:22.000000000 +0200
+++ new/cabal-helper-0.6.0.0/tests/Spec.hs 2015-09-07 08:02:26.000000000 +0200
@@ -2,10 +2,83 @@
import System.Environment.Extra (lookupEnv)
import System.Posix.Env (setEnv)
import System.Process
+import System.Exit
import Data.Maybe
+import Data.Version
import Data.Functor
+import Control.Exception as E
+import Control.Arrow
+
+import CabalHelper.Common
+import CabalHelper.Compile
+import CabalHelper.Types
main :: IO ()
main = do
flip (setEnv "HOME") True =<< fromMaybe "/tmp" <$> lookupEnv "TMPDIR"
writeAutogenFiles readProcess "." "./dist"
+
+ _ <- system "cabal update"
+
+ let vers :: [(Version, [Version])]
+ vers = map (parseVer *** map parseVer) [
+ ("7.4", [ "1.14.0"
+ ]),
+
+ ("7.6", [ "1.16.0"
+ , "1.16.0.1"
+ , "1.16.0.2"
+ , "1.16.0.3"
+ ]),
+
+ ("7.8", [
+-- "1.18.0"
+-- , "1.18.1"
+ "1.18.1.1"
+-- , "1.18.1.2"
+ , "1.18.1.3"
+ , "1.18.1.4"
+ , "1.18.1.5"
+ , "1.18.1.6"
+
+ , "1.20.0.0"
+ , "1.20.0.1"
+ , "1.20.0.2"
+ , "1.20.0.3"
+ , "1.22.0.0"
+ , "1.22.1.0"
+ , "1.22.1.1"
+ ]),
+
+ ("7.10", [
+ "1.22.2.0"
+ , "1.22.3.0"
+ , "1.22.4.0"
+ ])
+ ]
+
+ ghcVer <- ghcVersion defaultOptions
+
+ let cabalVers = concat $ map snd $ dropWhile ((<ghcVer) . fst) vers
+
+ rvs <- mapM compilePrivatePkgDb cabalVers
+
+ if any isLeft' rvs
+ then exitFailure
+ else exitSuccess
+ where
+ isLeft' (Left _) = True
+ isLeft' (Right _) = False
+
+compilePrivatePkgDb :: Version -> IO (Either ExitCode FilePath)
+compilePrivatePkgDb cabalVer = do
+ db <- installCabal defaultOptions cabalVer `E.catch`
+ \(SomeException _) -> errorInstallCabal cabalVer "dist"
+ compileWithPkg "." (Just db) cabalVer
+
+compileWithPkg :: FilePath -> Maybe FilePath -> Version -> IO (Either ExitCode FilePath)
+compileWithPkg chdir mdb ver =
+ compile "dist" defaultOptions $ Compile chdir Nothing mdb ver [cabalPkgId ver]
+
+cabalPkgId :: Version -> String
+cabalPkgId v = "Cabal-" ++ showVersion v
1
0
Hello community,
here is the log from the commit of package python-keyczar for openSUSE:Factory checked in at 2015-09-30 05:53:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-keyczar (Old)
and /work/SRC/openSUSE:Factory/.python-keyczar.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-keyczar"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-keyczar/python-keyczar.changes 2013-04-18 15:00:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-keyczar.new/python-keyczar.changes 2015-09-30 05:53:10.000000000 +0200
@@ -1,0 +2,13 @@
+Mon Sep 28 08:33:26 UTC 2015 - michael(a)stroeder.com
+
+- added build dependency on python-setuptools
+- symbolic link /usr/bin/keyczart not needed anymore
+- update to version 0.715
+ * Change version numbering to match PEP-0440
+ * Unpadding happens after MAC validation to prevent padding oracle attacks
+ * Added Encoding options to all crypto operations to select whether or not
+ not encoding should be used.
+ * Python version setup improved for PyPi.
+ * AttachedSign with empty nonce now correctly functions.
+
+-------------------------------------------------------------------
Old:
----
python-keyczar-0.71c.tar.bz2
New:
----
python-keyczar-0.715.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-keyczar.spec ++++++
--- /var/tmp/diff_new_pack.IB1tFf/_old 2015-09-30 05:53:11.000000000 +0200
+++ /var/tmp/diff_new_pack.IB1tFf/_new 2015-09-30 05:53:11.000000000 +0200
@@ -18,17 +18,18 @@
%define pkgname keyczar
Name: python-keyczar
-Version: 0.71c
+Version: 0.715
Release: 1
License: Apache-2.0
Summary: Toolkit for safe and simple cryptography
Url: http://www.keyczar.org
Group: Development/Languages/Python
-Source0: %{name}-%{version}.tar.bz2
+Source0: %{name}-%{version}.tar.gz
Source1: keyczart.1
BuildRequires: python-asn1 >= 0.0.8a
BuildRequires: python-devel
BuildRequires: python-pycrypto
+BuildRequires: python-setuptools
Requires: python-asn1 >= 0.0.8a
Requires: python-pycrypto
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -75,7 +76,6 @@
mv %{buildroot}%{python_sitelib}/keyczar/keyczart.py.new %{buildroot}%{python_sitelib}/keyczar/keyczart.py
chmod +x %{buildroot}%{python_sitelib}/keyczar/keyczart.py
mkdir -p %{buildroot}%{_bindir}
-ln -s ../../%{python_sitelib}/keyczar/keyczart.py %{buildroot}%{_bindir}/keyczart
# include man page
install -Dm644 %{SOURCE1} %{buildroot}%{_mandir}/man1/keyczart.1
1
0
30 Sep '15
Hello community,
here is the log from the commit of package perl-Mojolicious-Plugin-AssetPack for openSUSE:Factory checked in at 2015-09-30 05:53:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-AssetPack (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious-Plugin-AssetPack"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-AssetPack/perl-Mojolicious-Plugin-AssetPack.changes 2015-09-03 18:07:37.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new/perl-Mojolicious-Plugin-AssetPack.changes 2015-09-30 05:53:09.000000000 +0200
@@ -1,0 +2,47 @@
+Mon Sep 28 08:55:09 UTC 2015 - coolo(a)suse.com
+
+- updated to 0.68
+ see /usr/share/doc/packages/perl-Mojolicious-Plugin-AssetPack/Changes
+
+ 0.68 2015-09-28T08:28:29+0200
+ - Will skip tests unless possible to write to out_dir
+
+ 0.67 2015-09-27T15:24:23+0200
+ - Fix asset can be read-only
+
+ 0.66 2015-09-27T14:56:56+0200
+ - Skip some tests on windows
+ - Remove EXPERIMENTAL remark for wildcards in filenames #52
+ - Remove EXPERIMENTAL remark from headers()
+ - Remove EXPERIMENTAL remark from source_paths()
+
+-------------------------------------------------------------------
+Sat Sep 26 08:55:45 UTC 2015 - coolo(a)suse.com
+
+- updated to 0.65
+ see /usr/share/doc/packages/perl-Mojolicious-Plugin-AssetPack/Changes
+
+ 0.65 2015-09-25T16:55:49+0200
+ - Add EXPERIMENTAL fixed mapping between moniker to packed files #64
+ - Add EXPERIMENTAL test_app() to ensure all assets are created
+ - Change headers() into a method
+ - Change out_dir() into a read-only method, as documented
+ - Remove EXPERIMENTAL support for reloader.js
+ - Remove deprecated preprocessor() method
+ - Remove support for in-memory assets #64
+ - Fix memory leak
+
+-------------------------------------------------------------------
+Sun Sep 20 16:06:07 UTC 2015 - coolo(a)suse.com
+
+- updated to 0.64
+ see /usr/share/doc/packages/perl-Mojolicious-Plugin-AssetPack/Changes
+
+ 0.64 2015-09-20T11:44:26+0200
+ - Add "SHIPPING" section to Cookbook
+ - Fix adding custom response headers when assets are already built #55
+ - Fix always add newline to JavaScript assets to prevent issues with comments
+ - Improved logging for in-memory assets
+ - Improved error reporting when unable to build assets
+
+-------------------------------------------------------------------
Old:
----
Mojolicious-Plugin-AssetPack-0.63.tar.gz
New:
----
Mojolicious-Plugin-AssetPack-0.68.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojolicious-Plugin-AssetPack.spec ++++++
--- /var/tmp/diff_new_pack.CnwgqO/_old 2015-09-30 05:53:10.000000000 +0200
+++ /var/tmp/diff_new_pack.CnwgqO/_new 2015-09-30 05:53:10.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Mojolicious-Plugin-AssetPack
-Version: 0.63
+Version: 0.68
Release: 0
%define cpan_name Mojolicious-Plugin-AssetPack
Summary: Compress and convert css, less, sass, javascript and coffeescript files
++++++ Mojolicious-Plugin-AssetPack-0.63.tar.gz -> Mojolicious-Plugin-AssetPack-0.68.tar.gz ++++++
++++ 2403 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package wammu for openSUSE:Factory checked in at 2015-09-30 05:53:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wammu (Old)
and /work/SRC/openSUSE:Factory/.wammu.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wammu"
Changes:
--------
--- /work/SRC/openSUSE:Factory/wammu/wammu.changes 2015-01-14 11:45:39.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.wammu.new/wammu.changes 2015-09-30 05:53:07.000000000 +0200
@@ -1,0 +2,7 @@
+Sun Sep 27 11:52:23 UTC 2015 - ecsos(a)opensuse.org
+
+- Update to 0.39
+ * Fixed connecting to phone with no SMSC set.
+ * Various code cleanups.
+
+-------------------------------------------------------------------
Old:
----
wammu-0.38.tar.bz2
New:
----
wammu-0.39.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wammu.spec ++++++
--- /var/tmp/diff_new_pack.53AdXG/_old 2015-09-30 05:53:08.000000000 +0200
+++ /var/tmp/diff_new_pack.53AdXG/_new 2015-09-30 05:53:08.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package wammu
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: wammu
-Version: 0.38
+Version: 0.39
Release: 0
Summary: Mobile Phone Manager
License: GPL-2.0
++++++ wammu-0.38.tar.bz2 -> wammu-0.39.tar.bz2 ++++++
++++ 11976 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package leptonica for openSUSE:Factory checked in at 2015-09-30 05:52:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/leptonica (Old)
and /work/SRC/openSUSE:Factory/.leptonica.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "leptonica"
Changes:
--------
--- /work/SRC/openSUSE:Factory/leptonica/leptonica.changes 2014-10-02 14:14:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.leptonica.new/leptonica.changes 2015-09-30 05:53:06.000000000 +0200
@@ -1,0 +2,34 @@
+Sun Sep 27 20:56:59 UTC 2015 - asterios.dramis(a)gmail.com
+
+- Update to 1.72:
+ * Better handling of 1 bpp colormap read/write with png so that
+ they are losseless. The colormap is always removed on read and
+ the conversion is to the simplest non-cmapped pix that can
+ fully represent the input -- both with and without alpha.
+ * Fixed overflow bug in pixCorrelationBinary().
+ * Fixed orientation flags and handling of 16 bit RGB in tiff.
+ * Also new wrappers to TIFFClientOpen(), so we no longer go
+ through the file descriptor for memory operations.
+ * Improvements in the dewarp functions.
+ * New box sequence smoothings.
+ * New antialiased painting through mask; previously it was only
+ implemented for connected components in a mask.
+ * Better error handling and debug output with jpeg2000
+ read/write.
+ * Implemented base64 encoding. This allows binary data to be
+ represented as a C string that can be compiled. Used this in
+ bmf utility.
+ * Implemented automatic code generation for deserialization from
+ compiled strings (stringcode.*)
+ * Regression tests write to leptonica subdir of in windows; in
+ unix it is optional. This avoids spamming the directory.
+ * Added new colorspace conversions (XYZ, LAB).
+ * New source files: encoding.c, bmfdata.h, stringcode.c,
+ stringcode.h, bootnumgen.c.
+ * Removed source files: convolvelow.c, graymorphlow.c
+ * New programs: genfonts_reg, colorize_reg, texturefill_reg,
+ autogentest1, autogentest2.
+ * alltests_reg now has 66 tests.
+- Added new build requirement openjpeg2-devel for openSUSE > 13.1.
+
+-------------------------------------------------------------------
Old:
----
leptonica-1.71.tar.gz
New:
----
leptonica-1.72.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ leptonica.spec ++++++
--- /var/tmp/diff_new_pack.4O2Lbd/_old 2015-09-30 05:53:07.000000000 +0200
+++ /var/tmp/diff_new_pack.4O2Lbd/_new 2015-09-30 05:53:07.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package leptonica
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,9 +19,9 @@
%define major 4
Name: leptonica
-Version: 1.71
+Version: 1.72
Release: 0
-Summary: Leptonica Library
+Summary: Library for image processing and image analysis applications
License: BSD-2-Clause
Group: System/Libraries
Url: http://leptonica.org/
@@ -30,6 +30,9 @@
BuildRequires: giflib-devel
BuildRequires: libjpeg-devel
BuildRequires: libtool
+%if 0%{?suse_version} > 1310
+BuildRequires: openjpeg2-devel
+%endif
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libtiff-4)
BuildRequires: pkgconfig(libwebp) >= 0.2.0
@@ -39,7 +42,7 @@
Library for efficient image processing and image analysis operations.
%package -n liblept%{major}
-Summary: Leptonica Library
+Summary: Library for image processing and image analysis applications
Group: System/Libraries
%description -n liblept%{major}
++++++ leptonica-1.71.tar.gz -> leptonica-1.72.tar.gz ++++++
/work/SRC/openSUSE:Factory/leptonica/leptonica-1.71.tar.gz /work/SRC/openSUSE:Factory/.leptonica.new/leptonica-1.72.tar.gz differ: char 5, line 1
1
0
Hello community,
here is the log from the commit of package jemalloc for openSUSE:Factory checked in at 2015-09-30 05:52:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jemalloc (Old)
and /work/SRC/openSUSE:Factory/.jemalloc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jemalloc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/jemalloc/jemalloc.changes 2014-04-02 17:23:13.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.jemalloc.new/jemalloc.changes 2015-09-30 05:53:03.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Sep 25 08:31:08 UTC 2015 - idonmez(a)suse.com
+
+- Update to version 4.0.3
+ * See included ChangeLog for complete changes.
+
+-------------------------------------------------------------------
Old:
----
jemalloc-3.6.0.tar.bz2
New:
----
jemalloc-4.0.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jemalloc.spec ++++++
--- /var/tmp/diff_new_pack.PURdJ0/_old 2015-09-30 05:53:04.000000000 +0200
+++ /var/tmp/diff_new_pack.PURdJ0/_new 2015-09-30 05:53:04.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package jemalloc
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
Name: jemalloc
-Version: 3.6.0
+Version: 4.0.3
Release: 0
-%define lname libjemalloc1
+%define lname libjemalloc2
Summary: General-purpose scalable concurrent malloc implementation
License: BSD-2-Clause
Group: Development/Libraries/C and C++
@@ -29,6 +29,7 @@
Source: http://www.canonware.com/download/jemalloc/jemalloc-%{version}.tar.bz2
BuildRequires: docbook-xsl-stylesheets
BuildRequires: libxslt
+BuildRequires: pkgconfig
Requires: %lname = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -83,8 +84,6 @@
mv "$b/%{_datadir}/doc/jemalloc" "$b/%_docdir/%{name}";
fi;
-mv %{buildroot}/%{_bindir}/pprof %{buildroot}/%{_bindir}/pprof-jemalloc
-
%check
export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
make check
@@ -92,18 +91,21 @@
%files
%defattr(-,root,root)
%{_bindir}/jemalloc.sh
-%{_bindir}/pprof-jemalloc
+%{_bindir}/jemalloc-config
+%{_bindir}/jeprof
%{_mandir}/man*/*
%_docdir/%{name}
-%files -n %lname
+%files -n %{lname}
%defattr(-,root,root)
-%{_libdir}/libjemalloc.so.1*
+%doc ChangeLog COPYING README
+%{_libdir}/libjemalloc.so.2*
%files devel
%defattr(-,root,root,-)
%{_includedir}/jemalloc
%{_libdir}/libjemalloc.so
+%{_libdir}/pkgconfig/jemalloc.pc
%files devel-static
%defattr(-,root,root,-)
++++++ jemalloc-3.6.0.tar.bz2 -> jemalloc-4.0.3.tar.bz2 ++++++
++++ 52377 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package vertex-gtk-theme for openSUSE:Factory checked in at 2015-09-30 05:52:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vertex-gtk-theme (Old)
and /work/SRC/openSUSE:Factory/.vertex-gtk-theme.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vertex-gtk-theme"
Changes:
--------
--- /work/SRC/openSUSE:Factory/vertex-gtk-theme/vertex-gtk-theme.changes 2015-07-23 15:22:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.vertex-gtk-theme.new/vertex-gtk-theme.changes 2015-09-30 05:53:02.000000000 +0200
@@ -1,0 +2,7 @@
+Sun Sep 27 15:37:48 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 20150923:
+ * Add GNOME 3.18 support.
+- Force Adwaita icon theme.
+
+-------------------------------------------------------------------
Old:
----
vertex-gtk-theme-20150718.tar.gz
New:
----
vertex-gtk-theme-20150923.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vertex-gtk-theme.spec ++++++
--- /var/tmp/diff_new_pack.uxxGfl/_old 2015-09-30 05:53:02.000000000 +0200
+++ /var/tmp/diff_new_pack.uxxGfl/_new 2015-09-30 05:53:02.000000000 +0200
@@ -19,7 +19,7 @@
%define _theme Vertex
%define _name vertex
Name: vertex-gtk-theme
-Version: 20150718
+Version: 20150923
Release: 0
Summary: Vertex GTK+ theme
License: GPL-3.0+
@@ -40,7 +40,7 @@
%package -n metatheme-%{_name}-common
Summary: Vertex Common Theme Files
Group: System/GUI/Other
-Recommends: gnome-icon-theme
+Recommends: adwaita-icon-theme
Suggests: gtk2-metatheme-%{_name} = %{version}
Suggests: gtk3-metatheme-%{_name} = %{version}
@@ -82,6 +82,7 @@
%prep
%setup -q -n %{_theme}-theme-%{version}
+sed -i 's/^\(IconTheme=\).*$/\1Adwaita/' common/index.theme*
%build
autoreconf -fi
++++++ vertex-gtk-theme-20150718.tar.gz -> vertex-gtk-theme-20150923.tar.gz ++++++
++++ 75492 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package hawk for openSUSE:Factory checked in at 2015-09-30 05:52:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hawk (Old)
and /work/SRC/openSUSE:Factory/.hawk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hawk"
Changes:
--------
--- /work/SRC/openSUSE:Factory/hawk/hawk.changes 2015-09-17 09:21:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.hawk.new/hawk.changes 2015-09-30 05:52:59.000000000 +0200
@@ -1,0 +2,8 @@
+Mon Sep 28 09:31:17 UTC 2015 - kgronlund(a)suse.com
+
+- Update to version 1.0.0+git.1443432013.2f906a6:
+ + Set required environment variables before calling into hawk_monitor
+ + Reimplement /monitor as a Live controller (bsc#947748)
+ + Service: Increase number of workers to 3
+
+-------------------------------------------------------------------
Old:
----
hawk-1.0.0+git.1442306233.6cf343c.tar.bz2
New:
----
hawk-1.0.0+git.1443432013.2f906a6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hawk.spec ++++++
--- /var/tmp/diff_new_pack.XpE9dn/_old 2015-09-30 05:53:01.000000000 +0200
+++ /var/tmp/diff_new_pack.XpE9dn/_new 2015-09-30 05:53:01.000000000 +0200
@@ -39,7 +39,7 @@
Summary: HA Web Konsole
License: GPL-2.0 and Apache-2.0
Group: %{pkg_group}
-Version: 1.0.0+git.1442306233.6cf343c
+Version: 1.0.0+git.1443432013.2f906a6
Release: 0
Url: http://www.clusterlabs.org/wiki/Hawk
Source: %{name}-%{version}.tar.bz2
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.XpE9dn/_old 2015-09-30 05:53:01.000000000 +0200
+++ /var/tmp/diff_new_pack.XpE9dn/_new 2015-09-30 05:53:01.000000000 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/ClusterLabs/hawk.git</param>
- <param name="changesrevision">6cf343c72cd4f740c8ebd7217f46fd6c3f45b914</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">2f906a643f54fb1c5b9cd67aa5b71ec242c26b7f</param></service></servicedata>
\ No newline at end of file
++++++ hawk-1.0.0+git.1442306233.6cf343c.tar.bz2 -> hawk-1.0.0+git.1443432013.2f906a6.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hawk-1.0.0+git.1442306233.6cf343c/hawk/app/controllers/main_controller.rb new/hawk-1.0.0+git.1443432013.2f906a6/hawk/app/controllers/main_controller.rb
--- old/hawk-1.0.0+git.1442306233.6cf343c/hawk/app/controllers/main_controller.rb 2015-09-15 10:40:07.000000000 +0200
+++ new/hawk-1.0.0+git.1443432013.2f906a6/hawk/app/controllers/main_controller.rb 2015-09-28 11:31:09.000000000 +0200
@@ -78,23 +78,6 @@
@title = _('Cluster Status')
end
- def monitor
- require "open3"
-
- result = Open3.popen3("/usr/sbin/hawk_monitor") do |i, o|
- o.read
- end
-
- headers, body = result.split("\n\n", 2)
-
- headers.split("\n").each do |header|
- name, value = header.split(":")
- response.headers[name] = value.strip
- end
-
- render json: body
- end
-
# TODO(should): Node ops, resource ops, arguably belong in separate
# node and resource controllers/models. Note this would change the
# class hierarchy for primitve, group, etc., e.g.:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hawk-1.0.0+git.1442306233.6cf343c/hawk/app/controllers/monitor_controller.rb new/hawk-1.0.0+git.1443432013.2f906a6/hawk/app/controllers/monitor_controller.rb
--- old/hawk-1.0.0+git.1442306233.6cf343c/hawk/app/controllers/monitor_controller.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/hawk-1.0.0+git.1443432013.2f906a6/hawk/app/controllers/monitor_controller.rb 2015-09-28 11:31:09.000000000 +0200
@@ -0,0 +1,54 @@
+#======================================================================
+# HA Web Konsole (Hawk)
+# --------------------------------------------------------------------
+# A web-based GUI for managing and monitoring the
+# Pacemaker High-Availability cluster resource manager
+#
+# Copyright (c) 2009-2013 SUSE LLC, All Rights Reserved.
+#
+# Author: Tim Serong <tserong(a)suse.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of version 2 of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it would be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Further, this software is distributed without any warranty that it is
+# free of the rightful claim of any third person regarding infringement
+# or the like. Any license provided herein, whether implied or
+# otherwise, applies only to this software file. Patent licenses, if
+# any, provided herein do not apply to combinations of this program with
+# other software, or any other product whatsoever.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+#
+#======================================================================
+
+require 'util'
+require 'open3'
+
+class MonitorController < ApplicationController
+ include ActionController::Live
+
+ def monitor
+ ENV['QUERY_STRING'] = request.query_string.to_s
+ ENV['HTTP_ORIGIN'] = request.env['HTTP_ORIGIN']
+
+ response.headers['Content-Type'] = 'text/event-stream'
+ response.headers['Access-Control-Allow-Origin'] = request.env['HTTP_ORIGIN']
+ response.headers['Access-Control-Allow-Credentials'] = "true" # may not be necessary
+ Open3.popen3("/usr/sbin/hawk_monitor") do |i, o|
+ result = o.read
+ _, body = result.split("\n\n", 2)
+ response.stream.write(body.to_s + "\n")
+ end
+ ensure
+ response.stream.close
+ end
+
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hawk-1.0.0+git.1442306233.6cf343c/hawk/config/routes.rb new/hawk-1.0.0+git.1443432013.2f906a6/hawk/config/routes.rb
--- old/hawk-1.0.0+git.1442306233.6cf343c/hawk/config/routes.rb 2015-09-15 10:40:07.000000000 +0200
+++ new/hawk-1.0.0+git.1443432013.2f906a6/hawk/config/routes.rb 2015-09-28 11:31:09.000000000 +0200
@@ -86,5 +86,5 @@
match '/login' => 'sessions#new', as: :login, via: [:get, :post]
match '/logout' => 'sessions#destroy', as: :logout, via: [:get, :post]
match 'dashboard' => 'dashboard#index', as: :dashboard, via: [:get, :post]
- get 'monitor' => 'main#monitor', :as => :monitor
+ get 'monitor' => 'monitor#monitor', :as => :monitor
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hawk-1.0.0+git.1442306233.6cf343c/scripts/hawk.service.bundle_gems.in new/hawk-1.0.0+git.1443432013.2f906a6/scripts/hawk.service.bundle_gems.in
--- old/hawk-1.0.0+git.1442306233.6cf343c/scripts/hawk.service.bundle_gems.in 2015-09-15 10:40:07.000000000 +0200
+++ new/hawk-1.0.0+git.1443432013.2f906a6/scripts/hawk.service.bundle_gems.in 2015-09-28 11:31:09.000000000 +0200
@@ -15,7 +15,7 @@
Environment="GEM_PATH=@GEM_PATH@"
Environment="HAWK_ENV=production"
Environment="HAWK_THREADS=1"
-Environment="HAWK_WORKERS=2"
+Environment="HAWK_WORKERS=3"
Environment="HAWK_LISTEN=0.0.0.0"
Environment="HAWK_PORT=7630"
Environment="HAWK_KEY=/etc/hawk/hawk.pem"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hawk-1.0.0+git.1442306233.6cf343c/scripts/hawk.service.in new/hawk-1.0.0+git.1443432013.2f906a6/scripts/hawk.service.in
--- old/hawk-1.0.0+git.1442306233.6cf343c/scripts/hawk.service.in 2015-09-15 10:40:07.000000000 +0200
+++ new/hawk-1.0.0+git.1443432013.2f906a6/scripts/hawk.service.in 2015-09-28 11:31:09.000000000 +0200
@@ -14,7 +14,7 @@
Environment="HAWK_ENV=production"
Environment="HAWK_THREADS=1"
-Environment="HAWK_WORKERS=2"
+Environment="HAWK_WORKERS=3"
Environment="HAWK_LISTEN=0.0.0.0"
Environment="HAWK_PORT=7630"
Environment="HAWK_KEY=/etc/hawk/hawk.pem"
1
0
Hello community,
here is the log from the commit of package xfce4-panel-plugin-places for openSUSE:Factory checked in at 2015-09-30 05:52:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfce4-panel-plugin-places (Old)
and /work/SRC/openSUSE:Factory/.xfce4-panel-plugin-places.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xfce4-panel-plugin-places"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xfce4-panel-plugin-places/xfce4-panel-plugin-places.changes 2015-03-09 10:08:09.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xfce4-panel-plugin-places.new/xfce4-panel-plugin-places.changes 2015-09-30 05:52:58.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Sep 28 09:08:01 UTC 2015 - cyberorg(a)opensuse.org
+
+- add -fgnu89-inline fix undefined symbol: places_bookmark_destroy
+ see https://bugzilla.redhat.com/show_bug.cgi?id=1225713
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xfce4-panel-plugin-places.spec ++++++
--- /var/tmp/diff_new_pack.qVJDoD/_old 2015-09-30 05:52:59.000000000 +0200
+++ /var/tmp/diff_new_pack.qVJDoD/_new 2015-09-30 05:52:59.000000000 +0200
@@ -54,6 +54,8 @@
%setup -q -n %{plugin_name}-%{version}
%build
+#remove this export once the fix is upstream code
+export CFLAGS="$CFLAGS -fgnu89-inline"
%configure --disable-static
make %{?_smp_mflags} V=1
1
0
Hello community,
here is the log from the commit of package java-1_9_0-openjdk for openSUSE:Factory checked in at 2015-09-30 05:52:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/java-1_9_0-openjdk (Old)
and /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "java-1_9_0-openjdk"
Changes:
--------
--- /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/java-1_9_0-openjdk.changes 2015-09-24 06:15:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/java-1_9_0-openjdk.changes 2015-09-30 05:52:56.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 28 06:18:39 UTC 2015 - fstrba(a)suse.com
+
+- Upgrade to upstream tag jdk9-b83
+
+-------------------------------------------------------------------
Old:
----
1c453a12be30.tar.bz2
42b56d1f4185.tar.bz2
52d9ad2536ba.tar.bz2
53fe3c103b6f.tar.bz2
8bab0a9d8a63.tar.bz2
b10b64263b56.tar.bz2
c20d8ebddaa6.tar.bz2
d68904d5a00e.tar.bz2
New:
----
21b86b980a5f.tar.bz2
3ed0df2c553a.tar.bz2
497bc2654e11.tar.bz2
6b3b94a2ebca.tar.bz2
ca8a17195884.tar.bz2
ce5c14d97d95.tar.bz2
d11f25ce3c54.tar.bz2
d7ee8157f4fe.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ java-1_9_0-openjdk.spec ++++++
--- /var/tmp/diff_new_pack.SS40jE/_old 2015-09-30 05:52:58.000000000 +0200
+++ /var/tmp/diff_new_pack.SS40jE/_new 2015-09-30 05:52:58.000000000 +0200
@@ -33,17 +33,17 @@
%global minorver 9
%global microver 0
%global updatever 0
-%global buildver b82
+%global buildver b83
%global root_project jdk9
%global root_repository jdk9
-%global root_revision 42b56d1f4185
-%global corba_revision c20d8ebddaa6
-%global hotspot_revision 1c453a12be30
-%global jaxp_revision 53fe3c103b6f
-%global jaxws_revision 52d9ad2536ba
-%global jdk_revision b10b64263b56
-%global langtools_revision d68904d5a00e
-%global nashorn_revision 8bab0a9d8a63
+%global root_revision ce5c14d97d95
+%global corba_revision ca8a17195884
+%global hotspot_revision 3ed0df2c553a
+%global jaxp_revision 497bc2654e11
+%global jaxws_revision d7ee8157f4fe
+%global jdk_revision d11f25ce3c54
+%global langtools_revision 6b3b94a2ebca
+%global nashorn_revision 21b86b980a5f
%global icedtea_sound_version 1.0.1
# priority must be 6 digits in total
%global priority 1905
++++++ 1c453a12be30.tar.bz2 -> 21b86b980a5f.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/21b86b980a5f.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> 3ed0df2c553a.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/3ed0df2c553a.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> 497bc2654e11.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/497bc2654e11.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> 6b3b94a2ebca.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/6b3b94a2ebca.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> ca8a17195884.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/ca8a17195884.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> ce5c14d97d95.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/ce5c14d97d95.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> d11f25ce3c54.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/d11f25ce3c54.tar.bz2 differ: char 11, line 1
++++++ 1c453a12be30.tar.bz2 -> d7ee8157f4fe.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1c453a12be30.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/d7ee8157f4fe.tar.bz2 differ: char 11, line 1
1
0