openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
August 2015
- 1 participants
- 1349 discussions
Hello community,
here is the log from the commit of package gmusicbrowser for openSUSE:Factory checked in at 2015-08-31 22:59:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gmusicbrowser (Old)
and /work/SRC/openSUSE:Factory/.gmusicbrowser.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gmusicbrowser"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gmusicbrowser/gmusicbrowser.changes 2015-03-23 12:19:01.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gmusicbrowser.new/gmusicbrowser.changes 2015-08-31 22:59:03.000000000 +0200
@@ -1,0 +2,54 @@
+Fri Aug 21 10:01:49 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 1.1.15:
+ * Replace gmb icon with the svg icon made by zeltak.
+ * Add mpv output.
+ * Add "high priority" keyboard shortcuts.
+ * Add embedded pictures tab to song property dialog.
+ * When adding a song, check if it is already in the library with
+ an old filename.
+ * PictureBrowser: improve navigation of the folder pane.
+ * PictureBrowser: add folder icons to folder pane.
+ * PictureBrowser: keep scaled size constant when changing picture.
+ * PictureBrowser: add "paste link" to context menu.
+ * Activate "accent-insensitive" search on file, folder and comment
+ fields.
+ * Optimize function that remove "accents" (diacritic).
+ * Add star pictures option for rating fields.
+ * Add option for label-like and rating fields to have a submenu in
+ song context menu.
+ * Add option to show/hide extension to title_or_file field
+ (defaults to hide).
+ * Update Google image parser.
+ * Various equalizer improvements.
+ * Use internal equalizer presets rather than gstreamer's (with
+ option to sync with gstreamer's).
+ * MPlayer: use slave mode to improve the transition between
+ songs.
+ * Picture finder plugin: add DuckDuckGo search engine.
+ * Add Shuffle command.
+ * Use title_or_file instead of title for choose-songs menus.
+ * Make middle-click on stop and quit button set the after queue
+ action.
+ * Make middle-click on Artist and Album Lock enqueue the artist
+ or album.
+ * Make filename sorting in PictureBrowser number-aware.
+ * Add "Row number" column for SongList.
+ * Add "Append to playlist" to song context menu when in list
+ mode.
+ * Show artist in addition to title in recent songs menu.
+ * Fix setting master filter not working properly.
+ * MPlayer: fix "Failed to open ~/.mplayer/input.conf" error.
+ * Fix setting replaygain value with decimals not working with
+ perl <5.20 when using locales that don't use dot as decimal
+ separator.
+ * Fix songs with no label/genre not matching negative label/genre
+ filters.
+ * Fix "0" appearing in "artists" tab for unknown artists.
+ * LastFM plugin: give up sending now-playing when the song is no
+ longer playing.
+ * Update translations: Finnish, French, German, Korean,
+ Malay (Malaysia).
+- Suggest MPV.
+
+-------------------------------------------------------------------
Old:
----
gmusicbrowser-1.1.14.tar.gz
New:
----
gmusicbrowser-1.1.15.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gmusicbrowser.spec ++++++
--- /var/tmp/diff_new_pack.sC851q/_old 2015-08-31 22:59:04.000000000 +0200
+++ /var/tmp/diff_new_pack.sC851q/_new 2015-08-31 22:59:04.000000000 +0200
@@ -17,7 +17,7 @@
Name: gmusicbrowser
-Version: 1.1.14
+Version: 1.1.15
Release: 0
Summary: Gtk2 jukebox for large music collections
License: GPL-3.0+
@@ -32,13 +32,14 @@
Requires: typelib-1_0-GstApp-1_0
Requires: perl(Glib::Object::Introspection)
Requires: perl(Gtk2)
-Recommends: %{name}-lang = %{version}
+Recommends: %{name}-lang
Recommends: perl(Gtk2::AppIndicator)
Recommends: perl(Gtk2::Notify)
Recommends: perl(Gtk2::WebKit)
Recommends: perl(HTML::Parser)
Recommends: perl(Locale::gettext)
Recommends: perl(Net::DBus)
+Suggests: mpv
BuildArch: noarch
%perl_requires
@@ -53,7 +54,7 @@
* songs from the same album.
* album(s) from the same artist(s).
* songs with same title (other versions, covers, ...).
- - Supports OGG Vorbis, MP3, FLAC files and other formats.
+ - Supports Ogg Vorbis, MP3, FLAC files and other formats.
- Simple mass-tagging and mass-renaming.
- Notification icon, with a customizable tip window, which can be
used to control the player.
@@ -61,7 +62,7 @@
- Support multiple genres for a song and multiple artists for each
song by separating them.
- Customizable labels can be set for each song (like bootleg,
- live, -'s favorites, ...).
+ live, -'s favourites, ...).
- Filters with unlimited nesting of conditions.
- Customizable weighted random mode (based on rating, last time
played, label, ...).
@@ -75,18 +76,19 @@
%prep
%setup -q
+# Trim Unity actions.
+lines=$(( $(grep -m1 -no '^Actions=' %{name}.desktop | sed 's/^\([[:digit:]]*\):.*$/\1/') - 1 ))
+head -n $lines %{name}.desktop > %{name}.desktop.new
+mv -f %{name}.desktop{.new,}
%build
# Nothing to build.
%install
%make_install \
- miconsdir=%{buildroot}%{_datadir}/icons/hicolor/20x20/apps/ \
- iconsdir=%{buildroot}%{_datadir}/icons/hicolor/32x32/apps/ \
- liconsdir=%{buildroot}%{_datadir}/icons/hicolor/48x48/apps/
+ docdir=%{buildroot}%{_docdir}/%{name}
-install -Dm 0644 %{name}.appdata.xml %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml
-rm -rf %{buildroot}%{_libexecdir}/menu/ %{buildroot}%{_datadir}/doc/%{name}-%{version}/
+rm -f %{buildroot}%{_docdir}/%{name}/INSTALL
%suse_update_desktop_file -r -G %{name} %{name} AudioVideo Music
%fdupes %{buildroot}%{_datadir}
%find_lang %{name}
@@ -101,13 +103,13 @@
%files
%defattr(-,root,root)
-%doc AUTHORS COPYING layout_doc.html NEWS README
+%doc %{_docdir}/%{name}/
%{_bindir}/%{name}
%{_datadir}/%{name}/
%{_datadir}/applications/%{name}.desktop
%dir %{_datadir}/icons/hicolor/20x20/
%dir %{_datadir}/icons/hicolor/20x20/apps/
-%{_datadir}/icons/hicolor/*/apps/%{name}.png
+%{_datadir}/icons/hicolor/*/apps/%{name}.*
%{_mandir}/man?/%{name}.?%{?ext_man}
%dir %{_datadir}/appdata/
%{_datadir}/appdata/%{name}.appdata.xml
++++++ gmusicbrowser-1.1.14.tar.gz -> gmusicbrowser-1.1.15.tar.gz ++++++
++++ 154442 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python3-setuptools_scm for openSUSE:Factory checked in at 2015-08-31 22:59:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-setuptools_scm (Old)
and /work/SRC/openSUSE:Factory/.python3-setuptools_scm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-setuptools_scm"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-setuptools_scm/python3-setuptools_scm.changes 2015-08-21 07:40:36.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-setuptools_scm.new/python3-setuptools_scm.changes 2015-08-31 22:59:01.000000000 +0200
@@ -1,0 +2,8 @@
+Sat Aug 15 02:47:19 UTC 2015 - arun(a)gmx.de
+
+- update to version 1.7.0:
+ * correct the url to github thanks David Szotten
+ * enhance scm not found errors with a note on git tarballs thanks Markus
+ * add support for write_to_template
+
+-------------------------------------------------------------------
Old:
----
setuptools_scm-1.6.0.tar.gz
New:
----
setuptools_scm-1.7.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-setuptools_scm.spec ++++++
--- /var/tmp/diff_new_pack.DIvLul/_old 2015-08-31 22:59:01.000000000 +0200
+++ /var/tmp/diff_new_pack.DIvLul/_new 2015-08-31 22:59:01.000000000 +0200
@@ -17,7 +17,7 @@
Name: python3-setuptools_scm
-Version: 1.6.0
+Version: 1.7.0
Release: 0
Summary: the blessed package to manage your versions by scm tags
License: MIT
++++++ setuptools_scm-1.6.0.tar.gz -> setuptools_scm-1.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools_scm-1.6.0/CHANGELOG.rst new/setuptools_scm-1.7.0/CHANGELOG.rst
--- old/setuptools_scm-1.6.0/CHANGELOG.rst 2015-07-22 23:38:48.000000000 +0200
+++ new/setuptools_scm-1.7.0/CHANGELOG.rst 2015-08-12 23:35:37.000000000 +0200
@@ -1,3 +1,12 @@
+v1.7.0
+======
+
+* correct the url to github
+ thanks David Szotten
+* enhance scm not found errors with a note on git tarballs
+ thanks Markus
+* add support for :code:`write_to_template`
+
v1.6.0
======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools_scm-1.6.0/PKG-INFO new/setuptools_scm-1.7.0/PKG-INFO
--- old/setuptools_scm-1.6.0/PKG-INFO 2015-07-22 23:38:48.000000000 +0200
+++ new/setuptools_scm-1.7.0/PKG-INFO 2015-08-12 23:37:01.000000000 +0200
@@ -1,8 +1,8 @@
Metadata-Version: 1.1
Name: setuptools_scm
-Version: 1.6.0
+Version: 1.7.0
Summary: the blessed package to manage your versions by scm tags
-Home-page: http://bitbucket.org/pypa/setuptools_scm/
+Home-page: https://github.com/pypa/setuptools_scm/
Author: Ronny Pfannschmidt
Author-email: opensource(a)ronnypfannschmidt.de
License: MIT
@@ -128,8 +128,12 @@
.. warning::
- only :code:`*.py` and :code:`*.txt` are supported as extensions
-
+ only :code:`*.py` and :code:`*.txt` have builtin templates,
+ for other extensions it is necessary
+ to provide a :code:`write_to_template`
+ :write_to_template:
+ a newstyle format string thats given the current version as
+ the :code:`version` keyword argument for formatting
To use setuptools_scm in other Python code you can use the
``get_version`` function:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools_scm-1.6.0/README.rst new/setuptools_scm-1.7.0/README.rst
--- old/setuptools_scm-1.6.0/README.rst 2015-07-22 23:38:48.000000000 +0200
+++ new/setuptools_scm-1.7.0/README.rst 2015-08-12 23:33:07.000000000 +0200
@@ -120,8 +120,12 @@
.. warning::
- only :code:`*.py` and :code:`*.txt` are supported as extensions
-
+ only :code:`*.py` and :code:`*.txt` have builtin templates,
+ for other extensions it is necessary
+ to provide a :code:`write_to_template`
+:write_to_template:
+ a newstyle format string thats given the current version as
+ the :code:`version` keyword argument for formatting
To use setuptools_scm in other Python code you can use the
``get_version`` function:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools_scm-1.6.0/setup.cfg new/setuptools_scm-1.7.0/setup.cfg
--- old/setuptools_scm-1.6.0/setup.cfg 2015-07-22 23:38:48.000000000 +0200
+++ new/setuptools_scm-1.7.0/setup.cfg 2015-08-12 23:37:01.000000000 +0200
@@ -5,7 +5,7 @@
formats = sdist,bdist_wheel
[egg_info]
+tag_svn_revision = 0
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools_scm-1.6.0/setup.py new/setuptools_scm-1.7.0/setup.py
--- old/setuptools_scm-1.6.0/setup.py 2015-07-22 23:38:48.000000000 +0200
+++ new/setuptools_scm-1.7.0/setup.py 2015-08-12 23:37:01.000000000 +0200
@@ -60,10 +60,10 @@
arguments = dict(
name='setuptools_scm',
- url='http://bitbucket.org/pypa/setuptools_scm/',
+ url='https://github.com/pypa/setuptools_scm/',
zip_safe=True,
# pass here since entrypints are not yet registred
- version="1.6.0",
+ version="1.7.0",
author='Ronny Pfannschmidt',
author_email='opensource(a)ronnypfannschmidt.de',
description=('the blessed package to manage your versions by scm tags'),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools_scm-1.6.0/setuptools_scm/__init__.py new/setuptools_scm-1.7.0/setuptools_scm/__init__.py
--- old/setuptools_scm-1.6.0/setuptools_scm/__init__.py 2015-07-22 23:38:48.000000000 +0200
+++ new/setuptools_scm-1.7.0/setuptools_scm/__init__.py 2015-08-12 23:31:07.000000000 +0200
@@ -9,12 +9,15 @@
from .version import format_version
from .discover import find_matching_entrypoint
-PYTHON_TEMPLATE = """\
+TEMPLATES = {
+ '.py': """\
# coding: utf-8
# file generated by setuptools_scm
# don't change, don't track in version control
version = {version!r}
-"""
+""",
+ '.txt': '{version}',
+}
PY3 = sys.version_info > (3,)
string_types = (str,) if PY3 else (str, unicode) # noqa
@@ -24,17 +27,22 @@
ep = find_matching_entrypoint(root, 'setuptools_scm.parse_scm')
if ep:
return ep.load()(root)
- raise LookupError('no scm found for %r' % root)
+ raise LookupError(
+ "setuptools-scm was unable to detect version for %r.\n\n"
+ "Make sure you're not using GitHub's tarballs (or similar ones), as "
+ "those don't contain the necessary metadata. Use PyPI's tarballs "
+ "instead." % root)
-def dump_version(root, version, write_to):
+def dump_version(root, version, write_to, template=None):
if not write_to:
return
target = os.path.normpath(os.path.join(root, write_to))
- if target.endswith('.txt'):
- dump = version
- elif target.endswith('.py'):
- dump = PYTHON_TEMPLATE.format(version=version)
+ ext = os.path.splitext(target)[1]
+ template = template or TEMPLATES.get(ext)
+
+ if template is not None:
+ dump = template.format(version=version)
else:
raise ValueError((
"bad file format: '%s' (of %s) \n"
@@ -49,7 +57,8 @@
def get_version(root='.',
version_scheme='guess-next-dev',
local_scheme='node-and-date',
- write_to=None):
+ write_to=None,
+ write_to_template=None):
root = os.path.abspath(root)
trace('root', repr(root))
@@ -62,5 +71,9 @@
version,
version_scheme=version_scheme,
local_scheme=local_scheme)
- dump_version(root=root, version=version, write_to=write_to)
+ dump_version(
+ root=root,
+ version=version,
+ write_to=write_to,
+ template=write_to_template)
return version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools_scm-1.6.0/setuptools_scm.egg-info/PKG-INFO new/setuptools_scm-1.7.0/setuptools_scm.egg-info/PKG-INFO
--- old/setuptools_scm-1.6.0/setuptools_scm.egg-info/PKG-INFO 2015-07-22 23:38:48.000000000 +0200
+++ new/setuptools_scm-1.7.0/setuptools_scm.egg-info/PKG-INFO 2015-08-12 23:37:01.000000000 +0200
@@ -1,8 +1,8 @@
Metadata-Version: 1.1
Name: setuptools-scm
-Version: 1.6.0
+Version: 1.7.0
Summary: the blessed package to manage your versions by scm tags
-Home-page: http://bitbucket.org/pypa/setuptools_scm/
+Home-page: https://github.com/pypa/setuptools_scm/
Author: Ronny Pfannschmidt
Author-email: opensource(a)ronnypfannschmidt.de
License: MIT
@@ -128,8 +128,12 @@
.. warning::
- only :code:`*.py` and :code:`*.txt` are supported as extensions
-
+ only :code:`*.py` and :code:`*.txt` have builtin templates,
+ for other extensions it is necessary
+ to provide a :code:`write_to_template`
+ :write_to_template:
+ a newstyle format string thats given the current version as
+ the :code:`version` keyword argument for formatting
To use setuptools_scm in other Python code you can use the
``get_version`` function:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/setuptools_scm-1.6.0/tox.ini new/setuptools_scm-1.7.0/tox.ini
--- old/setuptools_scm-1.6.0/tox.ini 2015-07-22 23:38:48.000000000 +0200
+++ new/setuptools_scm-1.7.0/tox.ini 2015-08-08 07:47:52.000000000 +0200
@@ -23,11 +23,11 @@
flake8 setuptools_scm/ testing/ setup.py
[testenv:check_readme]
+skip_install=True
deps=
-
- pygments
- docutils
+ readme
commands=
+ python setup.py check -r -s
rst2html.py README.rst {envlogdir}/README.html --strict []
[testenv:upload]
1
0
Hello community,
here is the log from the commit of package octave-forge-mapping for openSUSE:Factory checked in at 2015-08-31 22:58:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave-forge-mapping (Old)
and /work/SRC/openSUSE:Factory/.octave-forge-mapping.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "octave-forge-mapping"
Changes:
--------
New Changes file:
--- /dev/null 2015-08-24 19:43:32.284261900 +0200
+++ /work/SRC/openSUSE:Factory/.octave-forge-mapping.new/octave-forge-mapping.changes 2015-08-31 22:58:55.000000000 +0200
@@ -0,0 +1,5 @@
+-------------------------------------------------------------------
+Thu Aug 13 10:52:37 UTC 2015 - dmitry_r(a)opensuse.org
+
+- Initial package, version 1.2.0
+
New:
----
mapping-1.2.0.tar.gz
octave-forge-mapping.changes
octave-forge-mapping.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ octave-forge-mapping.spec ++++++
#
# spec file for package octave-forge-mapping
#
# 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define octpkg mapping
Name: octave-forge-%{octpkg}
Version: 1.2.0
Release: 0
Summary: Octave mapping functions
License: GPL-3.0+
Group: Productivity/Scientific/Math
Url: http://octave.sourceforge.net
Source0: http://downloads.sourceforge.net/octave/%{octpkg}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: octave-devel
Requires: octave-cli >= 3.8.0
Requires: octave-forge-io >= 2.2.7
Requires: octave-forge-geometry >= 1.4.0
Requires: octave-forge-octclip >= 1.0.3
%description
Simple Mapping and GIS .shp file functions.
This is part of Octave-Forge project.
%prep
%setup -q -c %{name}-%{version}
%octave_pkg_src
%build
%octave_pkg_build
%install
%octave_pkg_install
%check
%octave_pkg_test
%post
%octave --eval "pkg rebuild"
%postun
%octave --eval "pkg rebuild"
%files
%defattr(-,root,root)
%{octpackages_dir}/%{octpkg}-%{version}
%changelog
1
0
Hello community,
here is the log from the commit of package octave-forge-parallel for openSUSE:Factory checked in at 2015-08-31 22:58:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave-forge-parallel (Old)
and /work/SRC/openSUSE:Factory/.octave-forge-parallel.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "octave-forge-parallel"
Changes:
--------
--- /work/SRC/openSUSE:Factory/octave-forge-parallel/octave-forge-parallel.changes 2015-06-16 15:13:27.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.octave-forge-parallel.new/octave-forge-parallel.changes 2015-08-31 22:58:53.000000000 +0200
@@ -1,0 +2,40 @@
+Thu Aug 13 10:42:43 UTC 2015 - dmitry_r(a)opensuse.org
+
+- Update to version 3.0.2
+ * Bugfix release
+
+-------------------------------------------------------------------
+Tue Jul 14 19:30:05 UTC 2015 - dmitry_r(a)opensuse.org
+
+- Update to version 3.0.0
+ * 'parcellfun' and 'pararrayfun' accept an option "CumFunc" for
+ cumulative results.
+ * Fix handling of option "UniformOutput" with option "Vectorized" in
+ 'pararrayfun'.
+ * Function 'connect()' has been renamed to 'pconnect()' since the
+ previous name is used by the control package.
+ * New functions 'netcellfun' and 'netarrayfun' for remote parallel
+ execution.
+ * New convenience function 'rfeval' for single remote function
+ execution.
+ * New function 'install_vars' to distribute named variables over the
+ parallel cluster.
+ * The value returned by pconnect and the variable 'sockets' held by
+ pserver, holding the network connections, are now opaque. Indexing
+ the connections in this value should work as with the matrix used
+ before.
+ * Connections can be based on TLS-SRP, which is now the default. New
+ function parallel_generate_srp_data generates authorization data.
+ * Parallel cluster commands hanging in system calls (e.g. trying to
+ read data that was not sent) can be interrupted with Ctrl-C
+ (invalidating the network connections in most cases, so that
+ information within server memory will be lost).
+ * New functions 'network_get_info' and 'network_set'.
+ * Within a particular parallel network, servers are supposed to be
+ unique now. But a server can be a part of several parallel
+ networks, and successful connection attempts of such overlapping
+ networks should now be possible even if initiated from different
+ client machines or client processes at the same time.
+ * Removed deprecated bw_... group of functions.
+
+-------------------------------------------------------------------
Old:
----
parallel-2.2.1.tar.gz
New:
----
parallel-3.0.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ octave-forge-parallel.spec ++++++
--- /var/tmp/diff_new_pack.oQTMa3/_old 2015-08-31 22:58:54.000000000 +0200
+++ /var/tmp/diff_new_pack.oQTMa3/_new 2015-08-31 22:58:54.000000000 +0200
@@ -18,7 +18,7 @@
%define octpkg parallel
Name: octave-forge-%{octpkg}
-Version: 2.2.1
+Version: 3.0.2
Release: 0
Summary: Parallel Computing for Octave
License: GPL-3.0+
@@ -26,10 +26,12 @@
Url: http://octave.sourceforge.net
Source0: http://downloads.sourceforge.net/octave/%{octpkg}-%{version}.tar.gz
BuildRequires: gcc-c++
+BuildRequires: gnutls-devel
BuildRequires: hdf5-devel
BuildRequires: octave-devel
+BuildRequires: pkgconfig
BuildRequires: zlib-devel
-Requires: octave-cli >= 3.4.0
+Requires: octave-cli >= 3.8.0
%description
Parallel execution package.
++++++ parallel-2.2.1.tar.gz -> parallel-3.0.2.tar.gz ++++++
++++ 11981 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package octave-forge-interval for openSUSE:Factory checked in at 2015-08-31 22:58:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave-forge-interval (Old)
and /work/SRC/openSUSE:Factory/.octave-forge-interval.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "octave-forge-interval"
Changes:
--------
--- /work/SRC/openSUSE:Factory/octave-forge-interval/octave-forge-interval.changes 2015-07-02 22:47:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.octave-forge-interval.new/octave-forge-interval.changes 2015-08-31 22:58:52.000000000 +0200
@@ -1,0 +2,11 @@
+Thu Aug 13 10:39:39 UTC 2015 - dmitry_r(a)opensuse.org
+
+- Update to version 1.1.0
+ * meshgrid, mince: New utility functions to help plotting of
+ interval functions
+ * linspace: New interval arithmetic function
+ * intersect, max, min, union: Allow evaluation as aggregate
+ functions within an interval matrix along a common dimension
+ * Improvements in the documentation
+
+-------------------------------------------------------------------
Old:
----
interval-1.0.0.tar.gz
New:
----
interval-1.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ octave-forge-interval.spec ++++++
--- /var/tmp/diff_new_pack.k6u1g7/_old 2015-08-31 22:58:52.000000000 +0200
+++ /var/tmp/diff_new_pack.k6u1g7/_new 2015-08-31 22:58:52.000000000 +0200
@@ -18,7 +18,7 @@
%define octpkg interval
Name: octave-forge-%{octpkg}
-Version: 1.0.0
+Version: 1.1.0
Release: 0
Summary: Real-valued interval arithmetic for Octave
License: GPL-3.0+
@@ -32,10 +32,18 @@
Requires: octave-cli >= 3.8.2
%description
-The package provides data types for verified computing.
-The implementation of intervals in inf-sup format is based on interval
-boundaries represented by binary64 numbers and is standard conforming to
-IEEE 1788.
+The interval package for real-valued interval arithmetic allows to
+evaluate functions over subsets of their domain. All results are verified,
+because interval computations automatically keep track of any errors.
+
+These concepts can be used to handle uncertainties, estimate arithmetic errors
+and produce reliable results. Also it can be applied to computer-assisted
+proofs, constraint programming, and verified computing.
+
+The implementation is based on interval boundaries represented by binary64
+numbers and is conforming to IEEE Std 1788-2015, IEEE standard for interval
+arithmetic.
+
This is part of Octave-Forge project.
%prep
++++++ interval-1.0.0.tar.gz -> interval-1.1.0.tar.gz ++++++
++++ 4018 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package octave-forge-image for openSUSE:Factory checked in at 2015-08-31 22:58:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave-forge-image (Old)
and /work/SRC/openSUSE:Factory/.octave-forge-image.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "octave-forge-image"
Changes:
--------
--- /work/SRC/openSUSE:Factory/octave-forge-image/octave-forge-image.changes 2015-06-23 11:58:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.octave-forge-image.new/octave-forge-image.changes 2015-08-31 22:58:50.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Aug 13 10:31:19 UTC 2015 - dmitry_r(a)opensuse.org
+
+- Update to version 2.4.1
+ * Bugfix release
+- Drop ovsolete workaround_gcc_65843.patch
+
+-------------------------------------------------------------------
Old:
----
image-2.4.0.tar.gz
workaround_gcc_65843.patch
New:
----
image-2.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ octave-forge-image.spec ++++++
--- /var/tmp/diff_new_pack.FtUm3d/_old 2015-08-31 22:58:51.000000000 +0200
+++ /var/tmp/diff_new_pack.FtUm3d/_new 2015-08-31 22:58:51.000000000 +0200
@@ -18,19 +18,13 @@
%define octpkg image
Name: octave-forge-%{octpkg}
-Version: 2.4.0
+Version: 2.4.1
Release: 0
Summary: Image Processing for Octave
License: GPL-3.0+ and BSD-2-Clause and MIT
Group: Productivity/Scientific/Math
Url: http://octave.sourceforge.net
Source0: http://downloads.sourceforge.net/octave/%{octpkg}-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM workaround_gcc_65843.patch -- https://savannah.gnu.org/bugs/?45096
-Patch1: workaround_gcc_65843.patch
-%if 0%{?suse_version} > 1320
-BuildRequires: autoconf
-BuildRequires: automake
-%endif
BuildRequires: gcc-c++
BuildRequires: hdf5-devel
BuildRequires: octave-devel
@@ -44,12 +38,6 @@
%prep
%setup -q -c %{name}-%{version}
-%if 0%{?suse_version} > 1320
-%patch1 -p1 -d %{octpkg}-%{version}
-pushd %{octpkg}-%{version}/src
-autoreconf -fi
-popd
-%endif
%octave_pkg_src
%build
++++++ image-2.4.0.tar.gz -> image-2.4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/DESCRIPTION new/image-2.4.1/DESCRIPTION
--- old/image-2.4.0/DESCRIPTION 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/DESCRIPTION 2015-08-07 14:34:57.000000000 +0200
@@ -1,6 +1,6 @@
Name: image
-Version: 2.4.0
-Date: 2015-04-06
+Version: 2.4.1
+Date: 2015-08-07
Author: various authors
Maintainer: Carnë Draug <carandraug(a)octave.org>
Title: Image Processing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/NEWS new/image-2.4.1/NEWS
--- old/image-2.4.0/NEWS 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/NEWS 2015-08-07 14:34:57.000000000 +0200
@@ -1,3 +1,19 @@
+ Summary of important user-visible changes for image 2.4.1 (2015/08/07):
+-------------------------------------------------------------------------
+
+ ** Image 2.4.1 is a bug fixing release.
+
+ ** Fixed regression on bwhitmiss which was completely broken since
+ version 2.2.0.
+
+ ** Fixed regressions on rangefilt and stdfilt which made them always
+ throw an error.
+
+ ** Removed broken support for signed integers to entropyfilt(). Not
+ only it was returning incorrect values and ocasional endless loops,
+ it failed to build in some architectures.
+
+
Summary of important user-visible changes for image 2.4.0 (2015/04/06):
-------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/inst/(a)strel/getsequence.m new/image-2.4.1/inst/(a)strel/getsequence.m
--- old/image-2.4.0/inst/(a)strel/getsequence.m 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/inst/(a)strel/getsequence.m 2015-08-07 14:34:57.000000000 +0200
@@ -21,6 +21,15 @@
## Returns a strel object @var{se} that can be indexed with @code{()} to obtain
## the decomposed structuring elements that can be used to "rebuild" @var{se}.
##
+## Decomposing a structuring element may lead to faster operations by
+## replacing a single operation with a large @var{se} (large nhood), with
+## multiple operations with smaller @var{se}.
+##
+## Most functions will automatically perform SE decomposition provided a
+## strel object is used (instead of a logical array). This also requires
+## that specific shapes are specified instead of @qcode{"arbitrary"}, since
+## it may prevent SE decomposition.
+##
## @seealso{imdilate, imerode, strel}
## @end deftypefn
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/inst/(a)strel/strel.m new/image-2.4.1/inst/(a)strel/strel.m
--- old/image-2.4.0/inst/(a)strel/strel.m 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/inst/(a)strel/strel.m 2015-08-07 14:34:57.000000000 +0200
@@ -31,20 +31,9 @@
## See individual functions that use the strel object for an interpretation of
## non-flat SEs.
##
-## Note that if an arbitrary shape is used, it will not be possible to perform
-## structuring element decomposition which may have a performance hit in some
-## cases. See for example the difference for a square shape:
-## @example
-## @group
-## im = randp (5, 2000) > 15;
-## se = strel ("square", 20);
-## t = cputime (); imdilate (im, se); cputime () - t
-## @result{} 0.77605
-## se = strel (ones (20));
-## t = cputime (); imdilate (im, se); cputime () - t
-## @result{} 2.9082
-## @end group
-## @end example
+## Note that if an arbitrary shape is used, it may not be possible to guess
+## it which may prevent shape-based optimizations (structuring element
+## decomposition, see @@strel/getsequence for details).
##
## @end deftypefn
## @deftypefn {Function File} {} strel ("ball", @var{radius}, @var{height})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/inst/bwhitmiss.m new/image-2.4.1/inst/bwhitmiss.m
--- old/image-2.4.0/inst/bwhitmiss.m 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/inst/bwhitmiss.m 2015-08-07 14:34:57.000000000 +0200
@@ -21,7 +21,7 @@
## If two structuring elements @var{se1} and @var{se1} are given, the hit-miss
## operation is defined as
## @example
-## bw2 = erode(bw1, se1) & erode(!bw1, se2);
+## bw2 = imerode (bw1, se1) & imerode (! bw1, se2);
## @end example
## If instead an 'interval' array is given, two structuring elements are computed
## as
@@ -60,8 +60,14 @@
error("bwhitmiss: structuring elements can only contain zeros and ones.");
endif
endif
-
+
## Perform filtering
- bw = erode(im, se1) & erode(!im, se2);
+ bw = imerode (im, se1) & imerode (! im, se2);
endfunction
+
+%!test
+%! bw1 = repmat ([0 1 0 1 1], [3 1]);
+%! bw2 = repmat ([0 1 0 0 0], [3 1]);
+%! assert (bwhitmiss (bw1, [1; 0; 1], [1 0 1]), logical (bw2))
+%! assert (bwhitmiss (bw1, [0 1 0; -1 0 -1; 0 1 0]), logical (bw2))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/inst/cp2tform.m new/image-2.4.1/inst/cp2tform.m
--- old/image-2.4.0/inst/cp2tform.m 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/inst/cp2tform.m 2015-08-07 14:34:57.000000000 +0200
@@ -21,7 +21,7 @@
## for the form of the structure) that can be further used to
## transform coordinates from one space (here denoted "RW" for "real
## world") to another (here denoted "AP" for "apparent"). The transform
-## is infered from two n-by-2 arrays, @var{rw_pt} and @var{ap_pt}, which
+## is inferred from two n-by-2 arrays, @var{rw_pt} and @var{ap_pt}, which
## contain the coordinates of n control points in the two 2D spaces.
## Transform coefficients are stored
## in @var{T}.tdata. Interpretation of transform coefficients depends on the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/inst/entropyfilt.m new/image-2.4.1/inst/entropyfilt.m
--- old/image-2.4.0/inst/entropyfilt.m 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/inst/entropyfilt.m 2015-08-07 14:34:57.000000000 +0200
@@ -49,7 +49,7 @@
if (nargin == 0)
error ("entropyfilt: not enough input arguments");
endif
-
+
if (! isnumeric (I))
error ("entropyfilt: I must be numeric");
endif
@@ -65,7 +65,7 @@
else
nbins = 256;
endif
-
+
## Convert to 8 or 16 bit integers if needed
switch (class (I))
case {"double", "single", "int16", "int32", "int64", "uint16", "uint32", "uint64"}
@@ -82,7 +82,7 @@
otherwise
error ("entropyfilt: cannot handle images of class '%s'", class (I));
endswitch
- size (I)
+
## Pad image
pad = floor (size (domain)/2);
I = padarray (I, pad, padding, varargin {:});
@@ -92,7 +92,6 @@
idx {k} = (even (k)+1):size (I, k);
endfor
I = I (idx {:});
- size (I)
## Perform filtering
retval = __spatial_filtering__ (I, domain, "entropy", I, nbins);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/inst/fftconv2.m new/image-2.4.1/inst/fftconv2.m
--- old/image-2.4.0/inst/fftconv2.m 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/inst/fftconv2.m 2015-08-07 14:34:57.000000000 +0200
@@ -105,10 +105,10 @@
%!test
%! a = repmat (1:10, 5);
%! b = repmat (10:-1:3, 7);
-%! assert (fftconv2 (a, b), conv2 (a, b), 1e4*eps)
-%! assert (fftconv2 (b, a), conv2 (b, a), 1e4*eps)
-%! assert (fftconv2 (a, b, "full"), conv2 (a, b, "full"), 1e4*eps)
-%! assert (fftconv2 (b, a, "full"), conv2 (b, a, "full"), 1e4*eps)
+%! assert (fftconv2 (a, b), conv2 (a, b), 1.3e4*eps)
+%! assert (fftconv2 (b, a), conv2 (b, a), 1.3e4*eps)
+%! assert (fftconv2 (a, b, "full"), conv2 (a, b, "full"), 1.3e4*eps)
+%! assert (fftconv2 (b, a, "full"), conv2 (b, a, "full"), 1.3e4*eps)
%! assert (fftconv2 (a, b, "same"), conv2 (a, b, "same"), 1e4*eps)
%! assert (fftconv2 (b, a, "same"), conv2 (b, a, "same"), 1e4*eps)
%! assert (isempty (fftconv2 (a, b, "valid")));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/inst/maketform.m new/image-2.4.1/inst/maketform.m
--- old/image-2.4.0/inst/maketform.m 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/inst/maketform.m 2015-08-07 14:34:57.000000000 +0200
@@ -41,8 +41,8 @@
## [x y] = [xx./zz yy./zz];
## @end example
##
-## Alternatively the transform can be specified using a quadilateral
-## coordinates (typically the 4 corners of the
+## Alternatively the transform can be specified using the coordinates
+## of a quadilateral (typically the 4 corners of the
## image) in the input space (@var{inc}, 4-by-ndims_in matrix) and in
## the output space (@var{outc}, 4-by-ndims_out matrix). This is
## equivalent to building the transform using
@@ -56,8 +56,8 @@
## (N+1)-by-(N) transformation matrix. If present, the (N+1)th column must
## contain [zeros(N,1); 1] so that projection is suppressed.
##
-## Alternatively the transform can be specified a using a triangle
-## coordinates (typically the 3 corners of the
+## Alternatively the transform can be specified using the coordinates
+## of a triangle (typically the 3 corners of the
## image) in the input space (@var{inc}, 3-by-ndims_in matrix) and in
## the output space (@var{outc}, 3-by-ndims_out matrix). This is
## equivalent to building the transform using "T = cp2tform (@var{inc}, @var{outc},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/inst/rangefilt.m new/image-2.4.1/inst/rangefilt.m
--- old/image-2.4.0/inst/rangefilt.m 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/inst/rangefilt.m 2015-08-07 14:34:57.000000000 +0200
@@ -45,11 +45,11 @@
error ("rangefilt: not enough input arguments");
endif
- if (! isnumeric (I) || ! islogical (I))
+ if (! isnumeric (I) && ! islogical (I))
error ("rangefilt: I must be a numeric or logical array");
endif
- if (! isnumeric (domain) || ! islogical (domain))
+ if (! isnumeric (domain) && ! islogical (domain))
error ("rangefilt: DOMAIN must be a logical array");
endif
domain = logical (domain);
@@ -68,3 +68,8 @@
retval = __spatial_filtering__ (I, domain, "range", I, 0);
endfunction
+
+%!test
+%! im = rangefilt (ones (5));
+%! assert (im, zeros (5));
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/inst/stdfilt.m new/image-2.4.1/inst/stdfilt.m
--- old/image-2.4.0/inst/stdfilt.m 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/inst/stdfilt.m 2015-08-07 14:34:57.000000000 +0200
@@ -52,7 +52,7 @@
error ("stdfilt: first input must be a matrix");
endif
- if (! isnumeric (domain) || ! islogical (domain))
+ if (! isnumeric (domain) && ! islogical (domain))
error ("stdfilt: second input argument must be a logical matrix");
endif
domain = logical (domain);
@@ -71,3 +71,7 @@
retval = __spatial_filtering__ (I, domain, "std", I, 0);
endfunction
+
+%!test
+%! im = stdfilt (ones (5));
+%! assert (im, zeros (5));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/inst/tformfwd.m new/image-2.4.1/inst/tformfwd.m
--- old/image-2.4.0/inst/tformfwd.m 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/inst/tformfwd.m 2015-08-07 14:34:57.000000000 +0200
@@ -18,10 +18,10 @@
## @deftypefn {Function File} {[@var{UV}] =} tformfwd (@var{T}, @var{XY})
## @deftypefnx {Function File} {[@var{U}, @var{V}] =} tformfwd (@var{T}, @var{X}, @var{Y})
##
-## Given to dimensionnal coordinates from one space, returns two
-## dimensionnal coordinates in the other space, as defined in
+## Given two dimensional coordinates from one space, returns two
+## dimensional coordinates in the other space, as defined in
## the transform structure @var{T}. Input and output coordinates
-## may be gigen either as a n-by-2 arrays, or as two n-by-1 vectors.
+## may be given either as a n-by-2 arrays, or as two n-by-1 vectors.
## @seealso{maketform, cp2tform, tforminv}
## @end deftypefn
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/inst/tiff_tag_read.m new/image-2.4.1/inst/tiff_tag_read.m
--- old/image-2.4.0/inst/tiff_tag_read.m 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/inst/tiff_tag_read.m 2015-08-07 14:34:57.000000000 +0200
@@ -72,7 +72,7 @@
## @end group
## @end example
##
-## @seealso{imread, imfinfo, readexif}
+## @seealso{imread, imfinfo}
## @end deftypefn
## Based on the documentation at
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/src/__spatial_filtering__.cc new/image-2.4.1/src/__spatial_filtering__.cc
--- old/image-2.4.0/src/__spatial_filtering__.cc 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/src/__spatial_filtering__.cc 2015-08-07 14:34:57.000000000 +0200
@@ -596,8 +596,6 @@
GENERAL_ACTION(MT, FUN, ET, NDArray, double, entropy_filt)
if (args (0).is_bool_matrix ())
ACTION (boolNDArray, bool_array_value, bool)
- else if (args (0).is_int8_type ())
- ACTION (int8NDArray, int8_array_value, octave_int8)
else if (args (0).is_uint8_type ())
ACTION (uint8NDArray, uint8_array_value, octave_uint8)
else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/image-2.4.0/src/configure new/image-2.4.1/src/configure
--- old/image-2.4.0/src/configure 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/src/configure 2015-08-07 14:34:59.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Octave-Forge image package 2.4.0.
+# Generated by GNU Autoconf 2.69 for Octave-Forge image package 2.4.1.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -576,8 +576,8 @@
# Identity of this package.
PACKAGE_NAME='Octave-Forge image package'
PACKAGE_TARNAME='octave-forge-image-package'
-PACKAGE_VERSION='2.4.0'
-PACKAGE_STRING='Octave-Forge image package 2.4.0'
+PACKAGE_VERSION='2.4.1'
+PACKAGE_STRING='Octave-Forge image package 2.4.1'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1182,7 +1182,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 Octave-Forge image package 2.4.0 to adapt to many kinds of systems.
+\`configure' configures Octave-Forge image package 2.4.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1244,7 +1244,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Octave-Forge image package 2.4.0:";;
+ short | recursive ) echo "Configuration of Octave-Forge image package 2.4.1:";;
esac
cat <<\_ACEOF
@@ -1323,7 +1323,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Octave-Forge image package configure 2.4.0
+Octave-Forge image package configure 2.4.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1378,7 +1378,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Octave-Forge image package $as_me 2.4.0, which was
+It was created by Octave-Forge image package $as_me 2.4.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2437,6 +2437,50 @@
fi
+## Test for gcc bug #65843 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65843
+## which shows up as Octave bug #45096 https://savannah.gnu.org/bugs/?45096
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether templated lambda functions accept '&const int'" >&5
+$as_echo_n "checking whether templated lambda functions accept '&const int'... " >&6; }
+if ${_cv_template_lambda_accepts_ref_const_inst+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ template<class T>
+ void test (T b)
+ {
+ const int a = b;
+ [&] () { return a, a; }();
+ }
+
+int
+main ()
+{
+ test (1);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ _cv_template_lambda_accepts_ref_const_inst=yes
+else
+ _cv_template_lambda_accepts_ref_const_inst=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_cv_template_lambda_accepts_ref_const_inst" >&5
+$as_echo "$_cv_template_lambda_accepts_ref_const_inst" >&6; }
+if test $_cv_template_lambda_accepts_ref_const_inst = no; then
+ as_fn_error $? "
+ Your C++ compiler (are you using GCC 5.0 or 5.1?) has a bug that
+ prevents it from building the Octave Forge image package. But you
+ can fix it very easily. See https://savannah.gnu.org/bugs/?45096
+ for details on working around it.
+ " "$LINENO" 5
+fi
+
ac_config_files="$ac_config_files Makefile"
@@ -2982,7 +3026,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Octave-Forge image package $as_me 2.4.0, which was
+This file was extended by Octave-Forge image package $as_me 2.4.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3035,7 +3079,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Octave-Forge image package config.status 2.4.0
+Octave-Forge image package config.status 2.4.1
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/image-2.4.0/src/configure.ac new/image-2.4.1/src/configure.ac
--- old/image-2.4.0/src/configure.ac 2015-04-06 18:42:52.000000000 +0200
+++ new/image-2.4.1/src/configure.ac 2015-08-07 14:34:57.000000000 +0200
@@ -1,11 +1,36 @@
AC_PREREQ([2.67])
-AC_INIT([Octave-Forge image package], [2.4.0])
+AC_INIT([Octave-Forge image package], [2.4.1])
AC_PROG_CXX
AC_LANG(C++)
AX_CXX_COMPILE_STDCXX_11()
+## Test for gcc bug #65843 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65843
+## which shows up as Octave bug #45096 https://savannah.gnu.org/bugs/?45096
+AC_CACHE_CHECK([whether templated lambda functions accept '&const int'],
+ [_cv_template_lambda_accepts_ref_const_inst],
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([[
+ template<class T>
+ void test (T b)
+ {
+ const int a = b;
+ [&] () { return a, a; }();
+ }
+ ]], [[ test (1); ]])],
+ [_cv_template_lambda_accepts_ref_const_inst=yes],
+ [_cv_template_lambda_accepts_ref_const_inst=no])
+])
+if test $_cv_template_lambda_accepts_ref_const_inst = no; then
+ AC_MSG_ERROR([
+ Your C++ compiler (are you using GCC 5.0 or 5.1?) has a bug that
+ prevents it from building the Octave Forge image package. But you
+ can fix it very easily. See https://savannah.gnu.org/bugs/?45096
+ for details on working around it.
+ ])
+fi
+
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
1
0
31 Aug '15
Hello community,
here is the log from the commit of package octave-forge-generate_html for openSUSE:Factory checked in at 2015-08-31 22:58:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave-forge-generate_html (Old)
and /work/SRC/openSUSE:Factory/.octave-forge-generate_html.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "octave-forge-generate_html"
Changes:
--------
--- /work/SRC/openSUSE:Factory/octave-forge-generate_html/octave-forge-generate_html.changes 2015-06-16 15:11:43.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.octave-forge-generate_html.new/octave-forge-generate_html.changes 2015-08-31 22:58:47.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Aug 13 10:36:28 UTC 2015 - dmitry_r(a)opensuse.org
+
+- Update to version 0.1.9
+ * Bugfix release
+
+-------------------------------------------------------------------
Old:
----
generate_html-0.1.8.tar.gz
New:
----
generate_html-0.1.9.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ octave-forge-generate_html.spec ++++++
--- /var/tmp/diff_new_pack.EoeZX5/_old 2015-08-31 22:58:47.000000000 +0200
+++ /var/tmp/diff_new_pack.EoeZX5/_new 2015-08-31 22:58:47.000000000 +0200
@@ -18,7 +18,7 @@
%define octpkg generate_html
Name: octave-forge-%{octpkg}
-Version: 0.1.8
+Version: 0.1.9
Release: 0
Summary: Generate HTML web page from help texts
License: GPL-3.0+
@@ -27,8 +27,8 @@
Source0: http://downloads.sourceforge.net/octave/%{octpkg}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: octave-devel
-Requires: octave-cli >= 3.2.0
Requires: makeinfo
+Requires: octave-cli >= 3.2.0
%description
This package provides functions for generating HTML pages that contain
++++++ generate_html-0.1.8.tar.gz -> generate_html-0.1.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/generate_html-0.1.8/DESCRIPTION new/generate_html-0.1.9/DESCRIPTION
--- old/generate_html-0.1.8/DESCRIPTION 2015-05-02 09:31:13.000000000 +0200
+++ new/generate_html-0.1.9/DESCRIPTION 2015-07-24 08:35:12.000000000 +0200
@@ -1,7 +1,7 @@
Name: generate_html
-Version: 0.1.8
-Date: 2015-05-02
-Author: Søren Hauberg <soren(a)hauberg.org>
+Version: 0.1.9
+Date: 2015-07-24
+Author: Søren Hauberg <soren(a)hauberg.org> and others
Maintainer: Octave-Forge community <maintainers(a)octave.org>
Title: Generate HTML web page from help texts
Description: This package provides functions for generating HTML pages that
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/generate_html-0.1.8/NEWS new/generate_html-0.1.9/NEWS
--- old/generate_html-0.1.8/NEWS 2015-05-02 09:31:13.000000000 +0200
+++ new/generate_html-0.1.9/NEWS 2015-07-24 08:35:12.000000000 +0200
@@ -1,3 +1,36 @@
+Summary of important user-visible changes for generate_html 0.1.9:
+------------------------------------------------------------------
+
+ ** Bug fixes
+
+ o generate_package_html: Add missing "alt" attribute to <img> tags in
+ index.html.
+
+ o html_help_text: Fix crash for demos in @class methods (bug #44972).
+
+ o generate_package_html: Fix crash when options.include_package_news is
+ false.
+
+ o texi2html: Fix a bug that caused tex2html to output an empty page with
+ TexInfo 4.x when there is only one @deftypefn and no following
+ @deftypefnx (bug #45530).
+
+ o generate_package_html: Fix a bug that prevented generate_package_html from
+ being run twice when package_doc contains images (bug #45111).
+
+ o html_help_text: Use a simple deterministic counter to enumerate images
+ instead of a random number (thus avoiding the risk of having one image
+ overwritten by another one).
+
+ ** Other changes
+
+ o generate_package_html: Better-looking "News" and "Package documentation"
+ links (patch #8698).
+
+ o generate_package_html: Improve dependencies display: also display system
+ requirements (bug #45499).
+
+
Summary of important user-visible changes for generate_html 0.1.8:
------------------------------------------------------------------
@@ -17,6 +50,7 @@
o texi2html.m: Use <dt class="deftypefn"> </dt> blocks both with TexInfo 4.x
and with TexInfo 5.x.
+
Summary of important user-visible changes for generate_html 0.1.7:
------------------------------------------------------------------
@@ -59,6 +93,7 @@
o Remove unused "docbrowser" style
+
Summary of important user-visible changes for generate_html 0.1.6:
------------------------------------------------------------------
@@ -75,11 +110,13 @@
the code page of Octave Forge website. It previously pointed to the
SVN repository in Sourceforge which has been retired.
+
Summary of important user-visible changes for generate_html 0.1.5:
------------------------------------------------------------------
** Updated link for the Octave Forge SVN repository.
+
Summary of important user-visible changes for generate_html 0.1.4:
------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/generate_html-0.1.8/inst/generate_package_html.m new/generate_html-0.1.9/inst/generate_package_html.m
--- old/generate_html-0.1.8/inst/generate_package_html.m 2015-05-02 09:31:13.000000000 +0200
+++ new/generate_html-0.1.9/inst/generate_package_html.m 2015-07-24 08:35:12.000000000 +0200
@@ -1,5 +1,6 @@
## Copyright (C) 2008 Soren Hauberg <soren(a)hauberg.org>
## Copyright (C) 2014, 2015 Julien Bect <jbect(a)users.sourceforge.net>
+## Copyright (C) 2015 Oliver Heimlich <oheim(a)posteo.de>
##
## This program is free software; you can redistribute it and/or modify it
## under the terms of the GNU General Public License as published by
@@ -294,7 +295,9 @@
#####################
## Write NEWS file ##
#####################
- if options.include_package_news
+ if (! options.include_package_news)
+ write_package_news = false;
+ else
## Get detailed information about the package
all_list = pkg ("list");
list = [];
@@ -416,14 +419,14 @@
if (! isempty (options.download_link))
fprintf (fid, "<div class=\"download_package\">\n");
fprintf (fid, " <table><tr><td>\n");
- fprintf (fid, " <img src=\"../download.png\"/>\n");
+ fprintf (fid, " <img src=\"../download.png\" alt=\"Package download icon\"/>\n");
fprintf (fid, " </td><td>\n");
link = strrep (options.download_link, "%name", desc.name);
link = strrep (link, "%version", desc.version);
fprintf (fid, " <a href=\"%s\"\n", link);
fprintf (fid, " class=\"download_link\">\n");
fprintf (fid, " Download Package\n");
- fprintf (fid, " </a><br>\n");
+ fprintf (fid, " </a><br />\n");
fprintf (fid, " <a href=\"http://sourceforge.net/projects/octave/files/\"");
fprintf (fid, " class=\"older_versions_download\">(older versions)</a>\n");
fprintf (fid, " </td></tr></table>\n");
@@ -433,34 +436,34 @@
fprintf (fid, "<tr><td>\n");
fprintf (fid, "<div class=\"package_function_reference\">\n");
fprintf (fid, " <table><tr><td>\n");
- fprintf (fid, " <img src=\"../doc.png\"/>\n");
+ fprintf (fid, " <img src=\"../doc.png\" alt=\"Function reference icon\"/>\n");
fprintf (fid, " </td><td>\n");
- fprintf (fid, " <a href=\"%s\" class=\"function_reference_link\">\n", overview_filename);
+ fprintf (fid, " <a href=\"%s\" class=\"function_reference_link\">\n", ...
+ overview_filename);
fprintf (fid, " Function Reference\n");
fprintf (fid, " </a>\n");
- fprintf (fid, " </td></tr></table>\n");
- fprintf (fid, "</div>\n");
- if (write_package_news)
- fprintf (fid, "<div class=\"news_file\">\n");
- fprintf (fid, " <table><tr><td>\n");
- fprintf (fid, " </td><td>\n");
- fprintf (fid, " <a href=\"NEWS.html\" class=\"news_file\">\n");
- fprintf (fid, " NEWS\n");
- fprintf (fid, " </a>\n");
- fprintf (fid, " </td></tr></table>\n");
- fprintf (fid, "</div>\n");
- endif
+ fprintf (fid, " </td></tr>\n");
if (write_package_documentation)
- fprintf (fid, "<div class=\"package_doc\">\n");
- fprintf (fid, " <table><tr><td>\n");
+ fprintf (fid, " <tr><td>\n");
+ fprintf (fid, " <img src=\"../manual.png\" alt=\"Package doc icon\"/>\n");
fprintf (fid, " </td><td>\n");
- fprintf (fid, " <a href=\"%s\" class=\"package_doc\">\n",
+ fprintf (fid, " <a href=\"%s\" class=\"package_doc\">\n", ...
fullfile (doc_subdir, "index.html"));
fprintf (fid, " Package Documentation\n");
fprintf (fid, " </a>\n");
- fprintf (fid, " </td></tr></table>\n");
- fprintf (fid, "</div>\n");
+ fprintf (fid, " </td></tr>\n");
+ endif
+ if (write_package_news)
+ fprintf (fid, " <tr><td>\n");
+ fprintf (fid, " <img src=\"../news.png\" alt=\"Package news icon\"/>\n");
+ fprintf (fid, " </td><td>\n");
+ fprintf (fid, " <a href=\"NEWS.html\">\n");
+ fprintf (fid, " NEWS\n");
+ fprintf (fid, " </a>\n");
+ fprintf (fid, " </td></tr>\n");
endif
+ fprintf (fid, " </table>\n");
+ fprintf (fid, "</div>\n");
fprintf (fid, "</td></tr>\n");
fprintf (fid, "</table>\n\n");
@@ -494,8 +497,12 @@
fprintf (fid, "</td></tr>\n");
endif
+ if (isfield (list, "systemrequirements"))
+ fprintf (fid, " <tr><td>Runtime system dependencies:</td><td>%s</td></tr>\n", list.systemrequirements);
+ endif
+
if (isfield (list, "buildrequires"))
- fprintf (fid, " <tr><td>Build Dependencies:</td><td>%s</td></tr>\n", list.buildrequires);
+ fprintf (fid, " <tr><td>Build dependencies:</td><td>%s</td></tr>\n", list.buildrequires);
endif
## if the package does not specify, then it is not autoloaded. Also, sometimes
@@ -580,7 +587,7 @@
endif
## Read image references from generated files and copy images
- filelist = glob (fullfile (doc_out_dir, "*"));
+ filelist = glob (fullfile (doc_out_dir, "*.html"));
for id = 1 : numel (filelist)
copy_images (filelist{id}, doc_root_dir, doc_out_dir);
endfor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/generate_html-0.1.8/inst/html_help_text.m new/generate_html-0.1.9/inst/html_help_text.m
--- old/generate_html-0.1.8/inst/html_help_text.m 2015-05-02 09:31:13.000000000 +0200
+++ new/generate_html-0.1.9/inst/html_help_text.m 2015-07-24 08:35:12.000000000 +0200
@@ -71,7 +71,8 @@
case "not found"
error ("`%s' not found\n", name);
otherwise
- error ("Internal error: unsupported help text format: '%s'\n", format);
+ error ("Internal error: unsupported help text format '%s' for '%s'",
+ format, name);
endswitch
## Read 'options' input argument
@@ -95,7 +96,8 @@
## Run demo
code_k = code (idx (k):idx (k+1)-1);
try
- [output, images] = get_output (code_k, imagedir, full_imagedir, name);
+ [output, images] = get_output (k, ...
+ code_k, imagedir, full_imagedir, name);
catch
lasterr ()
continue;
@@ -147,7 +149,10 @@
endfunction
-function [text, images] = get_output (code, imagedir, full_imagedir, fileprefix)
+
+function [text, images] = get_output (demo_num, ...
+ code, imagedir, full_imagedir, fileprefix)
+
## Clear everything
close all
diary_file = "__diary__.txt";
@@ -193,10 +198,14 @@
endif
endif
+ ## For @class methods: Clean up fileprefix
+ fileprefix = strrep (fileprefix, filesep (), '_');
+
images = {};
+ r = demo_num * 100;
while (!isempty (get (0, "currentfigure")))
+ r = r + 1;
fig = gcf ();
- r = round (1000*rand ());
name = sprintf ("%s_%d.png", fileprefix, r);
full_filename = fullfile (full_imagedir, name);
filename = fullfile (imagedir, name);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/generate_html-0.1.8/inst/texi2html.m new/generate_html-0.1.9/inst/texi2html.m
--- old/generate_html-0.1.8/inst/texi2html.m 2015-05-02 09:31:13.000000000 +0200
+++ new/generate_html-0.1.9/inst/texi2html.m 2015-07-24 08:35:12.000000000 +0200
@@ -122,9 +122,9 @@
## <blockquote> ... </blockquote>
## </div>
- p2 = sprintf (['\\s*<div\\s*(class="[a-z]*")?>\\s*' ...
- '((%s\\s*)+)<blockquote>(.*?)\\s*</blockquote>\\s*</div>\\s*'], p1);
- text = regexprep (text, p2, '<dl>\n$2<dd>$5\n</dd></dl>');
+ p2 = sprintf (['\\s*<div\\s*(?:class="[a-z]*")?>\\s*' ...
+ '((?:%s\\s*)+)<blockquote>(.*?)\\s*</blockquote>\\s*</div>\\s*'], p1);
+ text = regexprep (text, p2, '<dl>\n$1<dd>$3\n</dd></dl>');
text = regexprep (text, p1, '<dt class="deftypefn">$1</dt>');
else ## TexInfo 5.x
1
0
Hello community,
here is the log from the commit of package patterns-openSUSE for openSUSE:Factory checked in at 2015-08-31 22:58:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/patterns-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.patterns-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patterns-openSUSE"
Changes:
--------
--- /work/SRC/openSUSE:Factory/patterns-openSUSE/patterns-openSUSE.changes 2015-08-28 08:27:52.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.patterns-openSUSE.new/patterns-openSUSE.changes 2015-08-31 22:58:41.000000000 +0200
@@ -1,0 +2,12 @@
+Fri Aug 28 21:21:03 UTC 2015 - trcs(a)gmx.com
+
+- Do not recommend lxpanel-plugin-power-manager in %package lxde:
+ dropped upstream.
+ https://mail.xfce.org/pipermail/xfce-announce/2015-May/000423.html
+
+-------------------------------------------------------------------
+Fri Aug 28 06:51:23 UTC 2015 - mimi.vx(a)gmail.com
+
+- tweak haskell_platform pattern
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ patterns-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.adoJvN/_old 2015-08-31 22:58:42.000000000 +0200
+++ /var/tmp/diff_new_pack.adoJvN/_new 2015-08-31 22:58:42.000000000 +0200
@@ -17,7 +17,7 @@
Name: patterns-openSUSE
-Version: 20150603
+Version: 20150828
Release: 0
Summary: Patterns for Installation (full ftp tree)
License: MIT
@@ -2653,6 +2653,7 @@
Provides: pattern() = haskell_platform
Provides: pattern-icon() = pattern-generic
Provides: pattern-order() = 3400
+Provides: pattern-visible()
Requires: alex
Requires: cabal-install
Requires: ghc
@@ -2671,8 +2672,7 @@
Requires: ghc-attoparsec-devel
Requires: ghc-base-devel
Requires: ghc-case-insensitive-devel
-# Required by plattform, but now unsupported in LTS
-# Requires: ghc-cgi-devel
+Requires: ghc-cgi-devel
Requires: ghc-containers-devel
Requires: ghc-deepseq-devel
Requires: ghc-directory-devel
@@ -2716,6 +2716,7 @@
Requires: happy
Requires: hscolour
Recommends: ghc-mod
+Recommends: hlint
Suggests: pointfree
Suggests: pointful
@@ -3716,7 +3717,6 @@
Recommends: lxmenu-data
Recommends: lxmusic
Recommends: lxpanel
-Recommends: lxpanel-plugin-power-manager
Recommends: lxrandr
Recommends: lxsession
Recommends: lxtask
1
0
Hello community,
here is the log from the commit of package cmake for openSUSE:Factory checked in at 2015-08-31 22:58:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cmake (Old)
and /work/SRC/openSUSE:Factory/.cmake.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cmake"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cmake/cmake.changes 2015-08-19 13:41:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.cmake.new/cmake.changes 2015-08-31 22:58:21.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Aug 28 20:48:10 UTC 2015 - tittiatcoke(a)gmail.com
+
+- Resolve the error when cmake_minimum_required() is not set
+ * cmake-3.3.1-FindPkgConfig_remove_variable_dereference.patch
+
+-------------------------------------------------------------------
New:
----
cmake-3.3.1-FindPkgConfig_remove_variable_dereference.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cmake.spec ++++++
--- /var/tmp/diff_new_pack.WMlfbs/_old 2015-08-31 22:58:22.000000000 +0200
+++ /var/tmp/diff_new_pack.WMlfbs/_new 2015-08-31 22:58:22.000000000 +0200
@@ -36,6 +36,8 @@
Patch4: form.patch
# PATCH-FIX-UPSTREAM system-libs.patch -- allow choosing between bundled and system jsoncpp & form libs
Patch5: system-libs.patch
+# PATCH-FIX-UPSTREAM cmake-3.3.1-FindPkgConfig_remove_variable_dereference.patch - Resolve the issue when cmake:minimum_required is not set
+Patch6: cmake-3.3.1-FindPkgConfig_remove_variable_dereference.patch
BuildRequires: curl-devel
BuildRequires: fdupes
BuildRequires: gcc-c++
@@ -67,6 +69,7 @@
%patch2 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
%build
export CXXFLAGS="%{optflags}"
++++++ cmake-3.3.1-FindPkgConfig_remove_variable_dereference.patch ++++++
>From b9ec9392da21a3421e48c6961976060d872faffb Mon Sep 17 00:00:00 2001
From: Rolf Eike Beer <eike(a)sf-mail.de>
Date: Tue, 18 Aug 2015 12:14:43 +0200
Subject: [PATCH] FindPkgConfig: remove variable dereference
If CMAKE_MINIMUM_REQUIRED_VERSION is not set because no
cmake_minimum_required() call is present this line can lead to an error as that
string is empty so too few arguments are passed to if():
See also "/var/tmp/paludis/build/kde-krdc-15.08.0/work/build/CMakeFiles/CMakeOutput.log".
See also "/var/tmp/paludis/build/kde-krdc-15.08.0/work/build/CMakeFiles/CMakeError.log".
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:112 (elseif):
given arguments:
"VERSION_LESS" "3.1"
Unknown arguments specified
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPkgConfig.cmake:501 (_pkgconfig_parse_options)
/usr/share/cmake/Modules/FindOpenSSL.cmake:43 (pkg_check_modules)
---
Modules/FindPkgConfig.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake
index 526a62e..ae6903e 100644
--- a/Modules/FindPkgConfig.cmake
+++ b/Modules/FindPkgConfig.cmake
@@ -109,7 +109,7 @@ macro(_pkgconfig_parse_options _result _is_req _is_silent _no_cmake_path _no_cma
set(${_no_cmake_path} 1)
set(${_no_cmake_environment_path} 1)
endif()
- elseif(${CMAKE_MINIMUM_REQUIRED_VERSION} VERSION_LESS 3.1)
+ elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.1)
set(${_no_cmake_path} 1)
set(${_no_cmake_environment_path} 1)
endif()
--
1.7.10.4
1
0
Hello community,
here is the log from the commit of package libassuan for openSUSE:Factory checked in at 2015-08-31 22:58:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libassuan (Old)
and /work/SRC/openSUSE:Factory/.libassuan.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libassuan"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libassuan/libassuan.changes 2015-05-15 09:02:39.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libassuan.new/libassuan.changes 2015-08-31 22:58:11.000000000 +0200
@@ -1,0 +2,15 @@
+Fri Aug 28 13:25:28 UTC 2015 - astieger(a)suse.com
+
+- libassuan 2.3.0:
+ * Now wipes out the memory of the context structure before freeing.
+ The context may have stored sensitive data in its line buffers.
+ * Fixed a problem with the data length limit in assuan_inquire.
+ * Returns GPG_ERR_SOURCE_ASSUAN with errors from functions w/o a
+ context.
+ * Two new functions to tweak the behaviour of the socket wrappers.
+ * By default build without a build timestamp.
+ * Interface changes relative to the 2.2.1 release:
+ assuan_sock_set_flag NEW.
+ assuan_sock_get_flag NEW.
+
+-------------------------------------------------------------------
Old:
----
libassuan-2.2.1.tar.bz2
libassuan-2.2.1.tar.bz2.sig
New:
----
libassuan-2.3.0.tar.bz2
libassuan-2.3.0.tar.bz2.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libassuan.spec ++++++
--- /var/tmp/diff_new_pack.9jEo5t/_old 2015-08-31 22:58:12.000000000 +0200
+++ /var/tmp/diff_new_pack.9jEo5t/_new 2015-08-31 22:58:12.000000000 +0200
@@ -17,7 +17,7 @@
Name: libassuan
-Version: 2.2.1
+Version: 2.3.0
Release: 0
Summary: IPC library used by GnuPG version 2
License: GPL-3.0+ and LGPL-2.1+
++++++ libassuan-2.2.1.tar.bz2 -> libassuan-2.3.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/AUTHORS new/libassuan-2.3.0/AUTHORS
--- old/libassuan-2.2.1/AUTHORS 2014-08-17 13:03:32.000000000 +0200
+++ new/libassuan-2.3.0/AUTHORS 2015-08-28 14:38:59.000000000 +0200
@@ -55,7 +55,7 @@
Copyright (C) 1992-2013 Free Software Foundation, Inc.
Copyright (C) 1994 X Consortium
Copyright (C) 2000 Werner Koch (dd9jn)
- Copyright (C) 2001-2014 g10 Code GmbH
+ Copyright (C) 2001-2015 g10 Code GmbH
Copyright (C) 2004 Simon Josefsson
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/ChangeLog new/libassuan-2.3.0/ChangeLog
--- old/libassuan-2.2.1/ChangeLog 2015-05-12 13:49:46.000000000 +0200
+++ new/libassuan-2.3.0/ChangeLog 2015-08-28 14:50:33.000000000 +0200
@@ -1,3 +1,64 @@
+2015-08-28 Werner Koch <wk(a)gnupg.org>
+
+ Release 2.3.0.
+ * configure.ac: Set LT version to C6/A6/R0.
+
+ Support Cygwin local sockets.
+ * src/assuan-socket.c (cygwin_fdtable, cygwin_fdtable_cs): New.
+ (is_cygwin_fd, insert_cygwin_fd, delete_cygwin_fd): New.
+ (assuan_sock_init) [W32]: Init the CS.
+ (assuan_sock_deinit) [W32]: Deinit the CS.
+ (read_port_and_nonce): Add arg cygwin and detect Cygwin socket files.
+ (_assuan_sock_set_flag): Add "cygwin" flag.
+ (_assuan_sock_get_flag): Ditto.
+ (do_readn, do_writen): New.
+ (_assuan_sock_bind): Create a Cygwin socket file depending on a socket
+ flag.
+ (_assuan_sock_connect): Handle the cygwin socket protocol.
+ (_assuan_sock_check_nonce): Ditto.
+
+ Read up remaining lines in assuan_inquire after reaching MAXLEN.
+ * src/assuan-inquire.c (assuan_inquire): Clear return args on error.
+ Read up remaining lines after MAXLEN has been hit.
+
+2015-08-25 Werner Koch <wk(a)gnupg.org>
+
+ Add configure option --enable-build-timestamp.
+ * configure.ac (BUILD_TIMESTAMP): Set to "<none>" by default.
+
+2015-08-07 Werner Koch <wk(a)gnupg.org>
+
+ Wipe the context before releasing as an extra safeguard.
+ * src/assuan-defs.h (wipememory2, wipememory): New. Taken from GnuPG.
+ * src/assuan.c (assuan_release): Wipe the context.
+
+2015-06-30 Werner Koch <wk(a)gnupg.org>
+
+ Add assuan_sock_set_flag and assuan_sock_get_flag.
+ * src/assuan-socket.c (_assuan_sock_set_flag): New.
+ (assuan_sock_set_flag): New.
+ (_assuan_sock_get_flag, assuan_sock_get_flag): New.
+ * src/assuan.h.in (assuan_sock_set_flag): New.
+ (assuan_sock_get_flag): New.
+ * src/libassuan.def: Add them.
+ * src/libassuan.vers: Add them.
+
+2015-06-26 Werner Koch <wk(a)gnupg.org>
+
+ Return GPG_ERR_SOURCE_ASSUAN on errors with no CTX.
+ * src/assuan-defs.h (_assuan_error): Use error source Assuan if no CTX
+ is given.
+
+ Do not segv if NULL is passed for CTX in sendfd and receivefd.
+ * src/assuan-buffer.c (assuan_sendfd): Check that CTX is not NULL.
+ (assuan_receivefd): Ditto.
+
+2015-06-01 Neal H. Walfield <neal(a)gnu.org>
+
+ Fix documentation for assuan_inquire.
+ * doc/assuan.texi (assuan_inquire): Fix and improve description of
+ this function.
+
2015-05-12 Werner Koch <wk(a)gnupg.org>
Release 2.2.1.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/NEWS new/libassuan-2.3.0/NEWS
--- old/libassuan-2.2.1/NEWS 2015-05-12 13:44:23.000000000 +0200
+++ new/libassuan-2.3.0/NEWS 2015-08-28 14:45:58.000000000 +0200
@@ -1,3 +1,26 @@
+Noteworthy changes in version 2.3.0 (2015-08-28) [C6/A6/R0]
+------------------------------------------------
+
+ * Now wipes out the memory of the context structure before freeing.
+ The context may have stored sensitive data in its line buffers.
+
+ * Fixed a problem with the data length limit in assuan_inquire.
+
+ * Returns GPG_ERR_SOURCE_ASSUAN with errors from functions w/o a
+ context.
+
+ * Two new functions to tweak the behaviour of the socket wrappers.
+
+ * Experimental code to support Cygwin's local sockets.
+
+ * By default build without a build timestamp.
+
+ * Interface changes relative to the 2.2.1 release:
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ assuan_sock_set_flag NEW.
+ assuan_sock_get_flag NEW.
+
+
Noteworthy changes in version 2.2.1 (2015-05-12) [C5/A5/R1]
------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/README new/libassuan-2.3.0/README
--- old/libassuan-2.2.1/README 2014-08-17 12:50:06.000000000 +0200
+++ new/libassuan-2.3.0/README 2015-08-28 14:36:51.000000000 +0200
@@ -2,7 +2,7 @@
===========
Copyright (C) 2001-2013 Free Software Foundation, Inc.
- Copyright (C) 2001-2014 g10 Code GmbH
+ Copyright (C) 2001-2015 g10 Code GmbH
This is a general purpose IPC library which is for example used
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/VERSION new/libassuan-2.3.0/VERSION
--- old/libassuan-2.2.1/VERSION 2015-05-12 13:49:46.000000000 +0200
+++ new/libassuan-2.3.0/VERSION 2015-08-28 14:50:33.000000000 +0200
@@ -1 +1 @@
-2.2.1
+2.3.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/configure new/libassuan-2.3.0/configure
--- old/libassuan-2.2.1/configure 2015-05-12 13:47:51.000000000 +0200
+++ new/libassuan-2.3.0/configure 2015-08-28 14:50:09.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libassuan 2.2.1.
+# Generated by GNU Autoconf 2.69 for libassuan 2.3.0.
#
# Report bugs to <http://bugs.gnupg.org>.
#
@@ -590,8 +590,8 @@
# Identity of this package.
PACKAGE_NAME='libassuan'
PACKAGE_TARNAME='libassuan'
-PACKAGE_VERSION='2.2.1'
-PACKAGE_STRING='libassuan 2.2.1'
+PACKAGE_VERSION='2.3.0'
+PACKAGE_STRING='libassuan 2.3.0'
PACKAGE_BUGREPORT='http://bugs.gnupg.org'
PACKAGE_URL=''
@@ -794,6 +794,7 @@
with_gnu_ld
with_sysroot
enable_libtool_lock
+enable_build_timestamp
with_libgpg_error_prefix
with_gpg_error_prefix
'
@@ -1347,7 +1348,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 libassuan 2.2.1 to adapt to many kinds of systems.
+\`configure' configures libassuan 2.3.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1417,7 +1418,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libassuan 2.2.1:";;
+ short | recursive ) echo "Configuration of libassuan 2.3.0:";;
esac
cat <<\_ACEOF
@@ -1439,6 +1440,9 @@
--enable-fast-install[=PKGS]
optimize for fast installation [default=yes]
--disable-libtool-lock avoid locking (might break parallel builds)
+ --enable-build-timestamp
+ set an explicit build timestamp for reproducibility.
+ (default is the current time in ISO-8601 format)
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -1530,7 +1534,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libassuan configure 2.2.1
+libassuan configure 2.3.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2110,7 +2114,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libassuan $as_me 2.2.1, which was
+It was created by libassuan $as_me 2.3.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2465,9 +2469,9 @@
# (Interfaces added: AGE++)
# (Interfaces removed/changed: AGE=0)
#
-LIBASSUAN_LT_CURRENT=5
-LIBASSUAN_LT_AGE=5
-LIBASSUAN_LT_REVISION=1
+LIBASSUAN_LT_CURRENT=6
+LIBASSUAN_LT_AGE=6
+LIBASSUAN_LT_REVISION=0
# If the API is changed in an incompatible way: increment the next counter.
LIBASSUAN_CONFIG_API_VERSION=2
@@ -2995,7 +2999,7 @@
# Define the identity of the package.
PACKAGE='libassuan'
- VERSION='2.2.1'
+ VERSION='2.3.0'
cat >>confdefs.h <<_ACEOF
@@ -4767,7 +4771,7 @@
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF
-VERSION_NUMBER=0x020201
+VERSION_NUMBER=0x020300
@@ -13543,7 +13547,7 @@
#
# Provide information about the build.
#
-BUILD_REVISION="1f0896c"
+BUILD_REVISION="cdb1e64"
cat >>confdefs.h <<_ACEOF
@@ -13552,10 +13556,20 @@
BUILD_FILEVERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./;s/\./,/g'`
-BUILD_FILEVERSION="${BUILD_FILEVERSION}7944"
+BUILD_FILEVERSION="${BUILD_FILEVERSION}52657"
-BUILD_TIMESTAMP=`date -u +%Y-%m-%dT%H:%M+0000 2>/dev/null || date`
+# Check whether --enable-build-timestamp was given.
+if test "${enable_build_timestamp+set}" = set; then :
+ enableval=$enable_build_timestamp; if test "$enableval" = "yes"; then
+ BUILD_TIMESTAMP=`date -u +%Y-%m-%dT%H:%M+0000 2>/dev/null || date`
+ else
+ BUILD_TIMESTAMP="$enableval"
+ fi
+else
+ BUILD_TIMESTAMP="<none>"
+fi
+
cat >>confdefs.h <<_ACEOF
@@ -15257,7 +15271,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libassuan $as_me 2.2.1, which was
+This file was extended by libassuan $as_me 2.3.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15323,7 +15337,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libassuan config.status 2.2.1
+libassuan config.status 2.3.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -17318,6 +17332,6 @@
echo "
Libassuan v${VERSION} has been configured as follows:
- Revision: 1f0896c (7944)
+ Revision: cdb1e64 (52657)
Platform: $host
"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/configure.ac new/libassuan-2.3.0/configure.ac
--- old/libassuan-2.2.1/configure.ac 2015-05-12 13:44:36.000000000 +0200
+++ new/libassuan-2.3.0/configure.ac 2015-08-28 14:36:18.000000000 +0200
@@ -31,8 +31,8 @@
# for the LT versions.
m4_define([mym4_package],[libassuan])
m4_define([mym4_major], [2])
-m4_define([mym4_minor], [2])
-m4_define([mym4_micro], [1])
+m4_define([mym4_minor], [3])
+m4_define([mym4_micro], [0])
# To start a new development series, i.e a new major or minor number
# you need to mark an arbitrary commit before the first beta release
@@ -59,9 +59,9 @@
# (Interfaces added: AGE++)
# (Interfaces removed/changed: AGE=0)
#
-LIBASSUAN_LT_CURRENT=5
-LIBASSUAN_LT_AGE=5
-LIBASSUAN_LT_REVISION=1
+LIBASSUAN_LT_CURRENT=6
+LIBASSUAN_LT_AGE=6
+LIBASSUAN_LT_REVISION=0
# If the API is changed in an incompatible way: increment the next counter.
LIBASSUAN_CONFIG_API_VERSION=2
@@ -254,7 +254,16 @@
BUILD_FILEVERSION="${BUILD_FILEVERSION}mym4_revision_dec"
AC_SUBST(BUILD_FILEVERSION)
-BUILD_TIMESTAMP=`date -u +%Y-%m-%dT%H:%M+0000 2>/dev/null || date`
+AC_ARG_ENABLE([build-timestamp],
+ AC_HELP_STRING([--enable-build-timestamp],
+ [set an explicit build timestamp for reproducibility.
+ (default is the current time in ISO-8601 format)]),
+ [if test "$enableval" = "yes"; then
+ BUILD_TIMESTAMP=`date -u +%Y-%m-%dT%H:%M+0000 2>/dev/null || date`
+ else
+ BUILD_TIMESTAMP="$enableval"
+ fi],
+ [BUILD_TIMESTAMP="<none>"])
AC_SUBST(BUILD_TIMESTAMP)
AC_DEFINE_UNQUOTED(BUILD_TIMESTAMP, "$BUILD_TIMESTAMP",
[The time this package was configured for a build])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/doc/assuan.info new/libassuan-2.3.0/doc/assuan.info
--- old/libassuan-2.2.1/doc/assuan.info 2015-05-12 13:49:45.000000000 +0200
+++ new/libassuan-2.3.0/doc/assuan.info 2015-08-28 14:41:39.000000000 +0200
@@ -7,15 +7,15 @@
This file documents the use and the internals of Assuan.
- This is Edition 2.2.1, last updated 12 May 2015, of 'The 'Developing
-with Assuan' Manual', for Version 2.2.1.
+ This is Edition 2.3.0, last updated 28 August 2015, of 'The
+'Developing with Assuan' Manual', for Version 2.3.0.
Published by the Free Software Foundation
51 Franklin Street, Fifth Floor
Boston, MA 02110-1301 USA
- Copyright (C) 2002, 2003, 2006, 2007, 2011 Free Software Foundation,
-Inc.
+ Copyright (C) 2001-2013 Free Software Foundation, Inc.
+Copyright (C) 2001-2015 g10 Code GmbH
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU General Public License as published by the
@@ -1066,10 +1066,11 @@
descriptor must be sent before the command is issued that makes use
of the descriptor.
- Note that calling this function with a CTX of 'NULL' and FD of '-1'
- can be used as a runtime test to check whether descriptor passing
- is available on the platform. If it is, 0 is returned, otherwise
- an error with the error code 'GPG_ERR_NOT_IMPLEMENTED'.
+ Note that calling this function with a CTX of 'NULL' and FD of
+ 'ASSUAN_INVALID_FD' can be used as a runtime test to check whether
+ descriptor passing is available on the platform: '0' is returned if
+ descriptor passing is available, otherwise an error with the error
+ code 'GPG_ERR_NOT_IMPLEMENTED' is returned.
-- Function: gpg_error_t assuan_receivefd (assuan_context_t CTX,
assuan_fd_t *FD)
@@ -1579,18 +1580,18 @@
const char *KEYWORD, unsigned char **R_BUFFER,
size_t *R_LENGTH, size_t MAXLEN)
- A server may use this function to inquire data from a client. It
- sends an 'INQUIRE' command back to the server and returns the
- response conveniently in a newly allocated buffer. You need to
- pass at least the server's context CTX and the KEYWORD describing
- the requested data. All other parameters may be 'NULL' or '0',
- although this is rarely useful.
+ A server may use this function to request specific data from a
+ client. This function sends an 'INQUIRE' command back to the
+ client and returns the client's response in a newly allocated
+ buffer. You need to pass at least the server's context (CTX) and a
+ description of the required data (KEYWORD). All other parameters
+ may be 'NULL' or '0', but this is rarely useful.
On success the result is stored in a newly allocated buffer stored
at R_BUFFER. The length of the data is stored at R_LENGTH. If
- MAXLEN has not been given as '0', it describes an upper size
- limited of the expected data. If the client returns too much data
- the function fails and an error with the error code
+ MAXLEN has not been given as '0', it specifies an upper size limit
+ of the expected data. If the client returns too much data the
+ function fails and an error with the error code
'GPG_ERR_ASS_TOO_MUCH_DATA' will be returned.
-- Function: FILE* assuan_get_data_fp (assuan_context_t CTX)
@@ -1830,6 +1831,35 @@
cleanness of code it may be used on POSIX systems as well, where
this function is a nop.
+ To control certain properties of the wrapper two additional functions
+are provided:
+
+ -- Function: int assuan_sock_set_flag ( assuan_fd_t FD,
+ const char *NAME, int VALUE)
+
+ Set the flags NAME for socket FD to VALUE. See below for a list of
+ valid names. Returns 0 on success; on failure sets ERRNO and
+ returns -1.
+
+ -- Function: int assuan_sock_get_flag ( assuan_fd_t FD,
+ const char *NAME, int *R_VALUE)
+
+ Store the current value of the flag NAME for socket FD at R_VALUE.
+ See below for a list of valid names. Returns 0 on success; on
+ failure sets ERRNO and returns -1.
+
+ The supported flags are:
+
+'cygwin'
+ This flag has an effect only on Windows. If the value is 1, the
+ socket is set into Cygwin mode so that Cygwin clients can connect
+ to such a socket. This flag needs to be set before a bind and
+ should not be changed during the lifetime of the socket. There is
+ no need to set this flag for connecting to a Cygwin style socket
+ because no state is required at the client. On non-Windows
+ platforms setting this flag is ignored, reading the flag always
+ returns a value of 0.
+
File: assuan.info, Node: Library Copying, Next: Copying, Prev: Socket wrappers, Up: Top
@@ -3122,7 +3152,7 @@
* assuan_process_next: External I/O Loop Server.
(line 69)
* assuan_read_line: Reading and Writing. (line 12)
-* assuan_receivefd: Client code. (line 120)
+* assuan_receivefd: Client code. (line 121)
* assuan_register_bye_notify: Server code. (line 168)
* assuan_register_cancel_notify: Server code. (line 180)
* assuan_register_command: Server code. (line 141)
@@ -3157,9 +3187,11 @@
* assuan_sock_close: Socket wrappers. (line 20)
* assuan_sock_connect: Socket wrappers. (line 27)
* assuan_sock_deinit: Socket wrappers. (line 17)
+* assuan_sock_get_flag: Socket wrappers. (line 102)
* assuan_sock_get_nonce: Socket wrappers. (line 70)
* assuan_sock_init: Socket wrappers. (line 13)
* assuan_sock_new: Socket wrappers. (line 23)
+* assuan_sock_set_flag: Socket wrappers. (line 95)
* assuan_sock_set_sockaddr_un: Socket wrappers. (line 44)
* assuan_transact: Client code. (line 72)
* assuan_write_line: Reading and Writing. (line 23)
@@ -3179,38 +3211,38 @@
Tag Table:
-Node: Top884
-Node: Introduction1950
-Node: Assuan4205
-Node: Implementation5249
-Node: Server responses6428
-Node: Client requests8718
-Node: Error codes11756
-Node: Preparation12095
-Node: Header12670
-Node: Building sources13456
-Node: Automake15355
-Node: Multi Threading16503
-Node: Generalities17462
-Node: Data Types17866
-Node: Initializing the library18974
-Ref: function assuan_set_gpg_err_source21477
-Node: Default Log Handler23796
-Node: Contexts25562
-Ref: function assuan_new26142
-Node: Reading and Writing36332
-Node: Client code39807
-Ref: function assuan_sendfd44804
-Ref: function assuan_receivefd45337
-Node: Server code45712
-Node: External I/O Loop57837
-Node: External I/O Loop Client59662
-Node: External I/O Loop Server62747
-Node: Utilities67331
-Ref: Utilities-Footnote-175418
-Node: Socket wrappers75482
-Node: Library Copying79650
-Node: Copying107762
-Node: Index145276
+Node: Top906
+Node: Introduction1972
+Node: Assuan4227
+Node: Implementation5271
+Node: Server responses6450
+Node: Client requests8740
+Node: Error codes11778
+Node: Preparation12117
+Node: Header12692
+Node: Building sources13478
+Node: Automake15377
+Node: Multi Threading16525
+Node: Generalities17484
+Node: Data Types17888
+Node: Initializing the library18996
+Ref: function assuan_set_gpg_err_source21499
+Node: Default Log Handler23818
+Node: Contexts25584
+Ref: function assuan_new26164
+Node: Reading and Writing36354
+Node: Client code39829
+Ref: function assuan_sendfd44826
+Ref: function assuan_receivefd45417
+Node: Server code45792
+Node: External I/O Loop57917
+Node: External I/O Loop Client59742
+Node: External I/O Loop Server62827
+Node: Utilities67411
+Ref: Utilities-Footnote-175512
+Node: Socket wrappers75576
+Node: Library Copying80919
+Node: Copying109031
+Node: Index146545
End Tag Table
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/doc/assuan.texi new/libassuan-2.3.0/doc/assuan.texi
--- old/libassuan-2.2.1/doc/assuan.texi 2015-05-12 13:39:30.000000000 +0200
+++ new/libassuan-2.3.0/doc/assuan.texi 2015-08-28 14:41:37.000000000 +0200
@@ -3,7 +3,8 @@
@setfilename assuan.info
@macro copyrightnotice
-Copyright @copyright{} 2002, 2003, 2006, 2007, 2011 Free Software Foundation, Inc.
+Copyright @copyright{} 2001--2013 Free Software Foundation, Inc. @*
+Copyright @copyright{} 2001--2015 g10 Code GmbH
@end macro
@macro permissionnotice
Permission is granted to copy, distribute and/or modify this document
@@ -1205,8 +1206,10 @@
use of the descriptor.
Note that calling this function with a @var{ctx} of @code{NULL} and
-@var{fd} of @code{-1} can be used as a runtime test to check whether
-descriptor passing is available on the platform. If it is, 0 is returned, otherwise an error with the error code @code{GPG_ERR_NOT_IMPLEMENTED}.
+@var{fd} of @code{ASSUAN_INVALID_FD} can be used as a runtime test to
+check whether descriptor passing is available on the platform:
+@code{0} is returned if descriptor passing is available, otherwise an
+error with the error code @code{GPG_ERR_NOT_IMPLEMENTED} is returned.
@end deftypefun
@anchor{function assuan_receivefd}
@@ -1752,17 +1755,17 @@
@deftypefun gpg_error_t assuan_inquire (@w{assuan_context_t @var{ctx}}, @w{const char *@var{keyword}}, @w{unsigned char **@var{r_buffer}}, @w{size_t *@var{r_length}}, @w{size_t @var{maxlen}})
-A server may use this function to inquire data from a client. It sends
-an @code{INQUIRE} command back to the server and returns the response
-conveniently in a newly allocated buffer. You need to pass at least the
-server's context @var{ctx} and the @var{keyword} describing the
-requested data. All other parameters may be @code{NULL} or @code{0},
-although this is rarely useful.
+A server may use this function to request specific data from a client.
+This function sends an 'INQUIRE' command back to the client and
+returns the client's response in a newly allocated buffer. You need
+to pass at least the server's context (@var{ctx}) and a description of
+the required data (@var{keyword}). All other parameters may be
+@code{NULL} or @code{0}, but this is rarely useful.
On success the result is stored in a newly allocated buffer stored at
@var{r_buffer}. The length of the data is stored at @var{r_length}.
-If @var{maxlen} has not been given as @code{0}, it describes an upper
-size limited of the expected data. If the client returns too much
+If @var{maxlen} has not been given as @code{0}, it specifies an upper
+size limit of the expected data. If the client returns too much
data the function fails and an error with the error code
@code{GPG_ERR_ASS_TOO_MUCH_DATA} will be returned.
@end deftypefun
@@ -2044,6 +2047,42 @@
a nop.
@end deftypefun
+To control certain properties of the wrapper two additional functions
+are provided:
+
+@deftypefun int assuan_sock_set_flag ( @
+ @w{assuan_fd_t @var{fd}}, @
+ @w{const char *@var{name}}, @
+ @w{int @var{value}})
+
+Set the flags @var{name} for socket @var{fd} to @var{value}. See
+below for a list of valid names. Returns 0 on success; on failure
+sets ERRNO and returns -1.
+@end deftypefun
+
+@deftypefun int assuan_sock_get_flag ( @
+ @w{assuan_fd_t @var{fd}}, @
+ @w{const char *@var{name}}, @
+ @w{int *@var{r_value}})
+
+Store the current value of the flag @var{name} for socket @var{fd} at
+@var{r_value}. See below for a list of valid names. Returns 0 on
+success; on failure sets ERRNO and returns -1.
+@end deftypefun
+
+The supported flags are:
+
+@table @code
+@item cygwin
+This flag has an effect only on Windows. If the value is 1, the
+socket is set into Cygwin mode so that Cygwin clients can connect to
+such a socket. This flag needs to be set before a bind and should not
+be changed during the lifetime of the socket. There is no need to set
+this flag for connecting to a Cygwin style socket because no state is
+required at the client. On non-Windows platforms setting this flag is
+ignored, reading the flag always returns a value of 0.
+
+@end table
@c ---------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/doc/stamp-vti new/libassuan-2.3.0/doc/stamp-vti
--- old/libassuan-2.2.1/doc/stamp-vti 2015-05-12 13:49:43.000000000 +0200
+++ new/libassuan-2.3.0/doc/stamp-vti 2015-08-28 14:50:32.000000000 +0200
@@ -1,4 +1,4 @@
-@set UPDATED 12 May 2015
-@set UPDATED-MONTH May 2015
-@set EDITION 2.2.1
-@set VERSION 2.2.1
+@set UPDATED 28 August 2015
+@set UPDATED-MONTH August 2015
+@set EDITION 2.3.0
+@set VERSION 2.3.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/doc/version.texi new/libassuan-2.3.0/doc/version.texi
--- old/libassuan-2.2.1/doc/version.texi 2015-05-12 13:49:43.000000000 +0200
+++ new/libassuan-2.3.0/doc/version.texi 2015-08-28 10:22:53.000000000 +0200
@@ -1,4 +1,4 @@
-@set UPDATED 12 May 2015
-@set UPDATED-MONTH May 2015
-@set EDITION 2.2.1
-@set VERSION 2.2.1
+@set UPDATED 28 August 2015
+@set UPDATED-MONTH August 2015
+@set EDITION 2.3.0
+@set VERSION 2.3.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/src/Makefile.in new/libassuan-2.3.0/src/Makefile.in
--- old/libassuan-2.2.1/src/Makefile.in 2015-05-12 13:47:50.000000000 +0200
+++ new/libassuan-2.3.0/src/Makefile.in 2015-08-28 14:50:08.000000000 +0200
@@ -108,7 +108,7 @@
subdir = src
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(srcdir)/libassuan-config.in $(srcdir)/versioninfo.rc.in \
- memrchr.c funopen.c setenv.c vasprintf.c isascii.c stpcpy.c \
+ setenv.c isascii.c memrchr.c vasprintf.c stpcpy.c funopen.c \
putc_unlocked.c $(top_srcdir)/build-aux/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/autobuild.m4 \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/src/assuan-buffer.c new/libassuan-2.3.0/src/assuan-buffer.c
--- old/libassuan-2.2.1/src/assuan-buffer.c 2014-11-07 17:12:45.000000000 +0100
+++ new/libassuan-2.3.0/src/assuan-buffer.c 2015-06-26 11:55:19.000000000 +0200
@@ -524,6 +524,9 @@
return _assuan_error (ctx, GPG_ERR_NOT_IMPLEMENTED);
#endif
+ if (!ctx)
+ return _assuan_error (ctx, GPG_ERR_ASS_INV_VALUE);
+
if (! ctx->engine.sendfd)
return set_error (ctx, GPG_ERR_NOT_IMPLEMENTED,
"server does not support sending and receiving "
@@ -534,6 +537,9 @@
gpg_error_t
assuan_receivefd (assuan_context_t ctx, assuan_fd_t *fd)
{
+ if (!ctx)
+ return _assuan_error (ctx, GPG_ERR_ASS_INV_VALUE);
+
if (! ctx->engine.receivefd)
return set_error (ctx, GPG_ERR_NOT_IMPLEMENTED,
"server does not support sending and receiving "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/src/assuan-defs.h new/libassuan-2.3.0/src/assuan-defs.h
--- old/libassuan-2.2.1/src/assuan-defs.h 2014-11-28 15:59:45.000000000 +0100
+++ new/libassuan-2.3.0/src/assuan-defs.h 2015-08-28 12:28:15.000000000 +0200
@@ -228,7 +228,7 @@
static GPG_ERR_INLINE gpg_error_t
_assuan_error (assuan_context_t ctx, gpg_err_code_t errcode)
{
- return gpg_err_make (ctx?ctx->err_source:0, errcode);
+ return gpg_err_make (ctx?ctx->err_source: GPG_ERR_SOURCE_ASSUAN, errcode);
}
/* Release all resources associated with an engine operation. */
@@ -404,6 +404,16 @@
#define DIM(v) (sizeof(v)/sizeof((v)[0]))
+/* To avoid that a compiler optimizes memset calls away, these macros
+ can be used. */
+#define wipememory2(_ptr,_set,_len) do { \
+ volatile char *_vptr=(volatile char *)(_ptr); \
+ size_t _vlen=(_len); \
+ while(_vlen) { *_vptr=(_set); _vptr++; _vlen--; } \
+ } while(0)
+#define wipememory(_ptr,_len) wipememory2(_ptr,0,_len)
+
+
#if HAVE_W64_SYSTEM
# define SOCKET2HANDLE(s) ((void *)(s))
# define HANDLE2SOCKET(h) ((uintptr_t)(h))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/src/assuan-inquire.c new/libassuan-2.3.0/src/assuan-inquire.c
--- old/libassuan-2.2.1/src/assuan-inquire.c 2015-01-27 17:04:45.000000000 +0100
+++ new/libassuan-2.3.0/src/assuan-inquire.c 2015-08-28 12:28:15.000000000 +0200
@@ -136,7 +136,7 @@
* A server may use this to send an inquire. r_buffer, r_length and
* maxlen may all be NULL/0 to indicate that no real data is expected.
* The returned buffer is guaranteed to have an extra 0-byte after the
- * length. Thus it can be used as a string if embedded o bytes are
+ * length. Thus it can be used as a string if embedded 0 bytes are
* not an issue.
*
* Return value: 0 on success or an ASSUAN error code
@@ -152,6 +152,11 @@
int linelen;
int nodataexpected;
+ if (r_buffer)
+ *r_buffer = NULL;
+ if (r_length)
+ *r_length = 0;
+
if (!ctx || !keyword || (10 + strlen (keyword) >= sizeof (cmdbuf)))
return _assuan_error (ctx, GPG_ERR_ASS_INV_VALUE);
nodataexpected = !r_buffer && !r_length && !maxlen;
@@ -212,6 +217,9 @@
line += 2;
linelen -= 2;
+ if (mb.too_large)
+ continue; /* Need to read up the remaining data. */
+
p = line;
while (linelen)
{
@@ -229,18 +237,18 @@
}
line = p;
}
- if (mb.too_large)
- {
- rc = _assuan_error (ctx, GPG_ERR_ASS_TOO_MUCH_DATA);
- goto out;
- }
}
if (!nodataexpected)
{
- *r_buffer = get_membuf (ctx, &mb, r_length);
- if (!*r_buffer)
- rc = _assuan_error (ctx, gpg_err_code_from_syserror ());
+ if (mb.too_large)
+ rc = _assuan_error (ctx, GPG_ERR_ASS_TOO_MUCH_DATA);
+ else
+ {
+ *r_buffer = get_membuf (ctx, &mb, r_length);
+ if (!*r_buffer)
+ rc = _assuan_error (ctx, gpg_err_code_from_syserror ());
+ }
}
out:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/src/assuan-socket.c new/libassuan-2.3.0/src/assuan-socket.c
--- old/libassuan-2.2.1/src/assuan-socket.c 2015-01-27 16:38:16.000000000 +0100
+++ new/libassuan-2.3.0/src/assuan-socket.c 2015-08-28 12:28:41.000000000 +0200
@@ -1,5 +1,6 @@
-/* assuan-socket.c
+/* assuan-socket.c - Socket wrapper
Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 g10 Code GmbH
This file is part of Assuan.
@@ -78,8 +79,96 @@
+ strlen ((ptr)->sun_path))
#endif
+/* In the future, we can allow access to sock_ctx, if that context's
+ hook functions need to be overridden. There can only be one global
+ assuan_sock_* user (one library or one application) with this
+ convenience interface, if non-standard hook functions are
+ needed. */
+static assuan_context_t sock_ctx;
+
#ifdef HAVE_W32_SYSTEM
+/* A table of active Cygwin connections. This is only used for
+ listening socket which should be only a few. We do not enter
+ sockets after a connect into this table. */
+static assuan_fd_t cygwin_fdtable[16];
+/* A critical section to guard access to the table of Cygwin
+ connections. */
+static CRITICAL_SECTION cygwin_fdtable_cs;
+
+
+/* Return true if SOCKFD is listed as Cygwin socket. */
+static int
+is_cygwin_fd (assuan_fd_t sockfd)
+{
+ int ret = 0;
+ int i;
+
+ EnterCriticalSection (&cygwin_fdtable_cs);
+ for (i=0; i < DIM(cygwin_fdtable); i++)
+ {
+ if (cygwin_fdtable[i] == sockfd)
+ {
+ ret = 1;
+ break;
+ }
+ }
+ LeaveCriticalSection (&cygwin_fdtable_cs);
+ return ret;
+}
+
+
+/* Insert SOCKFD into the table of Cygwin sockets. Return 0 on
+ success or -1 on error. */
+static int
+insert_cygwin_fd (assuan_fd_t sockfd)
+{
+ int ret = 0;
+ int mark = -1;
+ int i;
+
+ EnterCriticalSection (&cygwin_fdtable_cs);
+
+ for (i=0; i < DIM(cygwin_fdtable); i++)
+ {
+ if (cygwin_fdtable[i] == sockfd)
+ goto leave; /* Already in table. */
+ else if (cygwin_fdtable[i] == ASSUAN_INVALID_FD)
+ mark = i;
+ }
+ if (mark == -1)
+ {
+ gpg_err_set_errno (EMFILE);
+ ret = -1;
+ }
+ else
+ cygwin_fdtable[mark] = sockfd;
+
+ leave:
+ LeaveCriticalSection (&cygwin_fdtable_cs);
+ return ret;
+}
+
+
+/* Delete SOCKFD from the table of Cygwin sockets. */
+static void
+delete_cygwin_fd (assuan_fd_t sockfd)
+{
+ int i;
+
+ EnterCriticalSection (&cygwin_fdtable_cs);
+ for (i=0; i < DIM(cygwin_fdtable); i++)
+ {
+ if (cygwin_fdtable[i] == sockfd)
+ {
+ cygwin_fdtable[i] = ASSUAN_INVALID_FD;
+ break;
+ }
+ }
+ LeaveCriticalSection (&cygwin_fdtable_cs);
+ return;
+}
+
#ifdef HAVE_W32CE_SYSTEM
static wchar_t *
@@ -202,16 +291,19 @@
}
-/* W32: The buffer for NONCE needs to be at least 16 bytes. Returns 0 on
- success and sets errno on failure. */
+/* W32: The buffer for NONCE needs to be at least 16 bytes. Returns 0
+ on success and sets errno on failure. If FNAME has a Cygwin socket
+ descriptor True is stored at CYGWIN. */
static int
-read_port_and_nonce (const char *fname, unsigned short *port, char *nonce)
+read_port_and_nonce (const char *fname, unsigned short *port, char *nonce,
+ int *cygwin)
{
FILE *fp;
char buffer[50], *p;
size_t nread;
int aval;
+ *cygwin = 0;
fp = fopen (fname, "rb");
if (!fp)
return -1;
@@ -223,22 +315,52 @@
return -1;
}
buffer[nread] = 0;
- aval = atoi (buffer);
- if (aval < 1 || aval > 65535)
+ if (!strncmp (buffer, "!<socket >", 10))
{
- gpg_err_set_errno (EINVAL);
- return -1;
+ /* This is the Cygwin compatible socket emulation. The format
+ * of the file is:
+ *
+ * "!<socket >%u %c %08x-%08x-%08x-%08x\x00"
+ *
+ * %d for port number, %c for kind of socket (s for STREAM), and
+ * we have 16-byte random bytes for nonce. We only support
+ * stream mode.
+ */
+ unsigned int u0;
+ int narr[4];
+
+ if (sscanf (buffer+10, "%u s %08x-%08x-%08x-%08x",
+ &u0, narr+0, narr+1, narr+2, narr+3) != 5
+ || u0 < 1 || u0 > 65535)
+ {
+ gpg_err_set_errno (EINVAL);
+ return -1;
+ }
+ *port = u0;
+ memcpy (nonce, narr, 16);
+ *cygwin = 1;
}
- *port = (unsigned int)aval;
- for (p=buffer; nread && *p != '\n'; p++, nread--)
- ;
- if (*p != '\n' || nread != 17)
+ else
{
- gpg_err_set_errno (EINVAL);
- return -1;
+ /* This is our own socket emulation. */
+ aval = atoi (buffer);
+ if (aval < 1 || aval > 65535)
+ {
+ gpg_err_set_errno (EINVAL);
+ return -1;
+ }
+ *port = (unsigned int)aval;
+ for (p=buffer; nread && *p != '\n'; p++, nread--)
+ ;
+ if (*p != '\n' || nread != 17)
+ {
+ gpg_err_set_errno (EINVAL);
+ return -1;
+ }
+ p++; nread--;
+ memcpy (nonce, p, 16);
}
- p++; nread--;
- memcpy (nonce, p, 16);
+
return 0;
}
#endif /*HAVE_W32_SYSTEM*/
@@ -375,6 +497,111 @@
int
+_assuan_sock_set_flag (assuan_context_t ctx, assuan_fd_t sockfd,
+ const char *name, int value)
+{
+ if (!strcmp (name, "cygwin"))
+ {
+#ifdef HAVE_W32_SYSTEM
+ if (!value)
+ delete_cygwin_fd (sockfd);
+ else if (insert_cygwin_fd (sockfd))
+ return -1;
+#else
+ /* Setting the Cygwin flag on non-Windows is ignored. */
+#endif
+ }
+ else
+ {
+ gpg_err_set_errno (EINVAL);
+ return -1;
+ }
+
+ return 0;
+}
+
+
+int
+_assuan_sock_get_flag (assuan_context_t ctx, assuan_fd_t sockfd,
+ const char *name, int *r_value)
+{
+ (void)ctx;
+
+ if (!strcmp (name, "cygwin"))
+ {
+#ifdef HAVE_W32_SYSTEM
+ *r_value = is_cygwin_fd (sockfd);
+#else
+ *r_value = 0;
+#endif
+ }
+ else
+ {
+ gpg_err_set_errno (EINVAL);
+ return -1;
+ }
+
+ return 0;
+}
+
+
+/* Read NBYTES from SOCKFD into BUFFER. Return 0 on success. Handle
+ EAGAIN and EINTR. */
+#ifdef HAVE_W32_SYSTEM
+static int
+do_readn (assuan_context_t ctx, assuan_fd_t sockfd,
+ void *buffer, size_t nbytes)
+{
+ char *p = buffer;
+ size_t n;
+
+ while (nbytes)
+ {
+ n = _assuan_read (ctx, sockfd, p, nbytes);
+ if (n < 0 && errno == EINTR)
+ ;
+ else if (n < 0 && errno == EAGAIN)
+ Sleep (100);
+ else if (n < 0)
+ return -1;
+ else if (!n)
+ {
+ gpg_err_set_errno (EIO);
+ return -1;
+ }
+ else
+ {
+ p += n;
+ nbytes -= n;
+ }
+ }
+ return 0;
+}
+
+
+/* Write NBYTES from BUFFER to SOCKFD. Return 0 on success; on error
+ return -1 and set ERRNO. */
+static int
+do_writen (assuan_context_t ctx, assuan_fd_t sockfd,
+ const void *buffer, size_t nbytes)
+{
+ int ret;
+
+ ret = _assuan_write (ctx, sockfd, buffer, nbytes);
+ if (ret >= 0 && ret != nbytes)
+ {
+ gpg_err_set_errno (EIO);
+ ret = -1;
+ }
+ else if (ret >= 0)
+ ret = 0;
+
+ return ret;
+}
+#endif /*HAVE_W32_SYSTEM*/
+
+
+int
_assuan_sock_connect (assuan_context_t ctx, assuan_fd_t sockfd,
struct sockaddr *addr, int addrlen)
{
@@ -385,10 +612,11 @@
struct sockaddr_un *unaddr;
unsigned short port;
char nonce[16];
+ int cygwin;
int ret;
unaddr = (struct sockaddr_un *)addr;
- if (read_port_and_nonce (unaddr->sun_path, &port, nonce))
+ if (read_port_and_nonce (unaddr->sun_path, &port, nonce, &cygwin))
return -1;
myaddr.sin_family = AF_INET;
@@ -405,20 +633,36 @@
if (!ret)
{
/* Send the nonce. */
- ret = _assuan_write (ctx, sockfd, nonce, 16);
- if (ret >= 0 && ret != 16)
+ ret = do_writen (ctx, sockfd, nonce, 16);
+ if (!ret && cygwin)
{
- gpg_err_set_errno (EIO);
- ret = -1;
+ char buffer[16];
+
+ /* The client sends the nonce back - not useful. We do
+ a dummy read. */
+ ret = do_readn (ctx, sockfd, buffer, 16);
+ if (!ret)
+ {
+ /* Send our credentials. */
+ int n = getpid ();
+ memcpy (buffer, &n, 4);
+ memset (buffer+4, 0, 4); /* uid = gid = 0 */
+ ret = do_writen (ctx, sockfd, buffer, 8);
+ if (!ret)
+ {
+ /* Receive credentials. We don't need them. */
+ ret = do_readn (ctx, sockfd, buffer, 8);
+ }
+ }
}
}
return ret;
}
else
{
- int res;
- res = _assuan_connect (ctx, HANDLE2SOCKET (sockfd), addr, addrlen);
- return res;
+ int ret;
+ ret = _assuan_connect (ctx, HANDLE2SOCKET (sockfd), addr, addrlen);
+ return ret;
}
#else
# if HAVE_STAT
@@ -470,11 +714,14 @@
HANDLE filehd;
int len = sizeof myaddr;
int rc;
- char nonce[16];
- char tmpbuf[33+16];
+ union {
+ char data[16];
+ int aint[4];
+ } nonce;
+ char tmpbuf[50+16];
DWORD nwritten;
- if (get_nonce (nonce, 16))
+ if (get_nonce (nonce.data, 16))
return -1;
unaddr = (struct sockaddr_un *)addr;
@@ -509,10 +756,22 @@
gpg_err_set_errno (save_e);
return rc;
}
- snprintf (tmpbuf, sizeof tmpbuf, "%d\n", ntohs (myaddr.sin_port));
- len = strlen (tmpbuf);
- memcpy (tmpbuf+len, nonce,16);
- len += 16;
+
+ if (is_cygwin_fd (sockfd))
+ {
+ snprintf (tmpbuf, sizeof tmpbuf,
+ "!<socket >%d s %08x-%08x-%08x-%08x",
+ ntohs (myaddr.sin_port),
+ nonce.aint[0], nonce.aint[1], nonce.aint[2], nonce.aint[3]);
+ len = strlen (tmpbuf) + 1;
+ }
+ else
+ {
+ snprintf (tmpbuf, sizeof tmpbuf-16, "%d\n", ntohs (myaddr.sin_port));
+ len = strlen (tmpbuf);
+ memcpy (tmpbuf+len, nonce.data,16);
+ len += 16;
+ }
if (!WriteFile (filehd, tmpbuf, len, &nwritten, NULL))
{
@@ -609,6 +868,7 @@
{
struct sockaddr_un *unaddr;
unsigned short port;
+ int dummy;
if (sizeof nonce->nonce != 16)
{
@@ -617,7 +877,7 @@
}
nonce->length = 16;
unaddr = (struct sockaddr_un *)addr;
- if (read_port_and_nonce (unaddr->sun_path, &port, nonce->nonce))
+ if (read_port_and_nonce (unaddr->sun_path, &port, nonce->nonce, &dummy))
return -1;
}
else
@@ -639,8 +899,7 @@
assuan_sock_nonce_t *nonce)
{
#ifdef HAVE_W32_SYSTEM
- char buffer[16], *p;
- size_t nleft;
+ char buffer[16];
int n;
if (sizeof nonce->nonce != 16)
@@ -658,33 +917,33 @@
return -1;
}
- p = buffer;
- nleft = 16;
- while (nleft)
- {
- n = _assuan_read (ctx, SOCKET2HANDLE(fd), p, nleft);
- if (n < 0 && errno == EINTR)
- ;
- else if (n < 0 && errno == EAGAIN)
- Sleep (100);
- else if (n < 0)
- return -1;
- else if (!n)
- {
- gpg_err_set_errno (EIO);
- return -1;
- }
- else
- {
- p += n;
- nleft -= n;
- }
- }
+ if (do_readn (ctx, fd, buffer, 16))
+ return -1;
if (memcmp (buffer, nonce->nonce, 16))
{
gpg_err_set_errno (EACCES);
return -1;
}
+ if (is_cygwin_fd (fd))
+ {
+ /* Send the nonce back to the client. */
+ if (do_writen (ctx, fd, buffer, 16))
+ return -1;
+ /* Read the credentials. Cygwin uses the
+ struct ucred { pid_t pid; uid_t uid; gid_t gid; };
+ with pid_t being an int (4 bytes) and uid_t and gid_t being
+ shorts (2 bytes). Thus we need to read 8 bytes. However we
+ we ignore the values because they are not kernel controlled. */
+ if (do_readn (ctx, fd, buffer, 8))
+ return -1;
+ /* Send our credentials: We use the uid and gid we received but
+ our own pid. */
+ n = getpid ();
+ memcpy (buffer, &n, 4);
+ if (do_writen (ctx, fd, buffer, 8))
+ return -1;
+ }
+
#else
(void)fd;
(void)nonce;
@@ -695,13 +954,6 @@
/* Public API. */
-/* In the future, we can allow access to sock_ctx, if that context's
- hook functions need to be overridden. There can only be one global
- assuan_sock_* user (one library or one application) with this
- convenience interface, if non-standard hook functions are
- needed. */
-static assuan_context_t sock_ctx;
-
gpg_error_t
assuan_sock_init ()
{
@@ -713,6 +965,10 @@
if (sock_ctx != NULL)
return 0;
+#ifdef HAVE_W32_SYSTEM
+ InitializeCriticalSection (&cygwin_fdtable_cs);
+#endif
+
err = assuan_new (&sock_ctx);
#ifdef HAVE_W32_SYSTEM
@@ -736,12 +992,20 @@
assuan_release (sock_ctx);
sock_ctx = NULL;
+
+#ifdef HAVE_W32_SYSTEM
+ DeleteCriticalSection (&cygwin_fdtable_cs);
+#endif
}
int
assuan_sock_close (assuan_fd_t fd)
{
+#ifdef HAVE_W32_SYSTEM
+ if (fd != ASSUAN_INVALID_FD)
+ delete_cygwin_fd (fd);
+#endif
return _assuan_close (sock_ctx, fd);
}
@@ -752,6 +1016,18 @@
}
int
+assuan_sock_set_flag (assuan_fd_t sockfd, const char *name, int value)
+{
+ return _assuan_sock_set_flag (sock_ctx, sockfd, name, value);
+}
+
+int
+assuan_sock_get_flag (assuan_fd_t sockfd, const char *name, int *r_value)
+{
+ return _assuan_sock_get_flag (sock_ctx, sockfd, name, r_value);
+}
+
+int
assuan_sock_connect (assuan_fd_t sockfd, struct sockaddr *addr, int addrlen)
{
return _assuan_sock_connect (sock_ctx, sockfd, addr, addrlen);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/src/assuan.c new/libassuan-2.3.0/src/assuan.c
--- old/libassuan-2.2.1/src/assuan.c 2013-03-15 20:26:09.000000000 +0100
+++ new/libassuan-2.3.0/src/assuan.c 2015-08-28 12:28:15.000000000 +0200
@@ -189,7 +189,11 @@
_assuan_reset (ctx);
/* None of the members that are our responsibility requires
- deallocation. */
+ deallocation. To avoid sensitive data in the line buffers we
+ wipe them out, though. Note that we can't wipe the entire
+ context because it also has a pointer to the actual free(). */
+ wipememory (&ctx->inbound, sizeof ctx->inbound);
+ wipememory (&ctx->outbound, sizeof ctx->outbound);
_assuan_free (ctx, ctx);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/src/assuan.h.in new/libassuan-2.3.0/src/assuan.h.in
--- old/libassuan-2.2.1/src/assuan.h.in 2014-11-28 15:59:24.000000000 +0100
+++ new/libassuan-2.3.0/src/assuan.h.in 2015-08-28 14:37:44.000000000 +0200
@@ -1,6 +1,6 @@
/* assuan.h - Definitions for the Assuan IPC library -*- c -*-
Copyright (C) 2001-2013 Free Software Foundation, Inc.
- Copyright (C) 2001-2014 g10 Code GmbH
+ Copyright (C) 2001-2015 g10 Code GmbH
This file is part of Assuan.
@@ -467,6 +467,8 @@
void assuan_sock_deinit (void);
int assuan_sock_close (assuan_fd_t fd);
assuan_fd_t assuan_sock_new (int domain, int type, int proto);
+int assuan_sock_set_flag (assuan_fd_t sockfd, const char *name, int value);
+int assuan_sock_get_flag (assuan_fd_t sockfd, const char *name, int *r_value);
int assuan_sock_connect (assuan_fd_t sockfd,
struct sockaddr *addr, int addrlen);
int assuan_sock_bind (assuan_fd_t sockfd, struct sockaddr *addr, int addrlen);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/src/context.c new/libassuan-2.3.0/src/context.c
--- old/libassuan-2.2.1/src/context.c 2014-08-14 19:32:45.000000000 +0200
+++ new/libassuan-2.3.0/src/context.c 2015-06-26 11:49:49.000000000 +0200
@@ -183,8 +183,8 @@
/* Store the error in the context so that the error sending function
- can take out a descriptive text. Inside the assuan code, use the
- macro set_error instead of this function. */
+ can take out a descriptive text. Inside the assuan code, use the
+ macro set_error instead of this function. */
gpg_error_t
assuan_set_error (assuan_context_t ctx, gpg_error_t err, const char *text)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/src/libassuan.def new/libassuan-2.3.0/src/libassuan.def
--- old/libassuan-2.2.1/src/libassuan.def 2014-11-28 15:33:59.000000000 +0100
+++ new/libassuan-2.3.0/src/libassuan.def 2015-06-30 15:56:23.000000000 +0200
@@ -112,6 +112,8 @@
__assuan_waitpid @91
assuan_check_version @92
assuan_sock_set_sockaddr_un @93
+ assuan_sock_set_flag @94
+ assuan_sock_get_flag @95
; END
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/src/libassuan.vers new/libassuan-2.3.0/src/libassuan.vers
--- old/libassuan-2.2.1/src/libassuan.vers 2014-11-28 15:33:30.000000000 +0100
+++ new/libassuan-2.3.0/src/libassuan.vers 2015-06-29 18:16:30.000000000 +0200
@@ -102,6 +102,8 @@
assuan_socket_connect_fd;
assuan_check_version;
assuan_sock_set_sockaddr_un;
+ assuan_sock_set_flag;
+ assuan_sock_get_flag;
__assuan_close;
__assuan_pipe;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libassuan-2.2.1/src/versioninfo.rc.in new/libassuan-2.3.0/src/versioninfo.rc.in
--- old/libassuan-2.2.1/src/versioninfo.rc.in 2014-08-17 13:47:52.000000000 +0200
+++ new/libassuan-2.3.0/src/versioninfo.rc.in 2015-08-28 14:37:06.000000000 +0200
@@ -39,7 +39,7 @@
VALUE "FileDescription", "Assuan - GnuPG IPC\0"
VALUE "FileVersion", "@LIBASSUAN_LT_CURRENT@.@LIBASSUAN_LT_AGE@.@LIBASSUAN_LT_REVISION@.@BUILD_REVISION@\0"
VALUE "InternalName", "libassuan\0"
- VALUE "LegalCopyright", "Copyright © 2001-2014 g10 Code GmbH\0"
+ VALUE "LegalCopyright", "Copyright © 2001-2015 g10 Code GmbH\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "libassuan.dll\0"
VALUE "PrivateBuild", "\0"
1
0