openSUSE Commits
Threads by month
- ----- 2025 -----
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2015
- 1 participants
- 1128 discussions
Hello community,
here is the log from the commit of package python-ldap for openSUSE:Factory checked in at 2015-09-27 08:40:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ldap (Old)
and /work/SRC/openSUSE:Factory/.python-ldap.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ldap"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ldap/python-ldap.changes 2015-07-08 07:00:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-ldap.new/python-ldap.changes 2015-09-27 08:39:53.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 25 16:37:00 UTC 2015 - michael(a)stroeder.com
+
+- Update to upstream release 2.4.21
+
+-------------------------------------------------------------------
Old:
----
python-ldap-2.4.20.tar.gz
New:
----
python-ldap-2.4.21.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ldap.spec ++++++
--- /var/tmp/diff_new_pack.OtN1Xo/_old 2015-09-27 08:39:54.000000000 +0200
+++ /var/tmp/diff_new_pack.OtN1Xo/_new 2015-09-27 08:39:54.000000000 +0200
@@ -17,7 +17,7 @@
Name: python-ldap
-Version: 2.4.20
+Version: 2.4.21
Release: 0
Summary: Python LDAP interface
License: Python-2.0
++++++ python-ldap-2.4.20.tar.gz -> python-ldap-2.4.21.tar.gz ++++++
++++ 3309 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-icalendar for openSUSE:Factory checked in at 2015-09-27 08:40:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-icalendar (Old)
and /work/SRC/openSUSE:Factory/.python-icalendar.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-icalendar"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-icalendar/python-icalendar.changes 2015-08-05 06:49:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-icalendar.new/python-icalendar.changes 2015-09-27 08:39:52.000000000 +0200
@@ -1,0 +2,11 @@
+Fri Sep 25 13:27:07 UTC 2015 - michael(a)stroeder.com
+
+- Update to 3.9.1:
+ - Fix vPeriod.__repr__. [spacekpe]
+ - Improve foldline() performance. This improves the foldline
+ performance, especially for large strings like base64-encoded
+ inline attachements. In some cases (1MB string) from 7 Minutes
+ to less than 20ms for ASCII data and 500ms for non-ASCII data.
+ Ref: #163. [emfree]
+
+-------------------------------------------------------------------
Old:
----
icalendar-3.9.0.tar.gz
New:
----
icalendar-3.9.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-icalendar.spec ++++++
--- /var/tmp/diff_new_pack.FsQIdY/_old 2015-09-27 08:39:52.000000000 +0200
+++ /var/tmp/diff_new_pack.FsQIdY/_new 2015-09-27 08:39:52.000000000 +0200
@@ -20,7 +20,7 @@
%define modname icalendar
Name: python-%{modname}
-Version: 3.9.0
+Version: 3.9.1
Release: 0
Summary: Python parser/generator of iCalendar files package
License: BSD-2-Clause
++++++ icalendar-3.9.0.tar.gz -> icalendar-3.9.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/CHANGES.rst new/icalendar-3.9.1/CHANGES.rst
--- old/icalendar-3.9.0/CHANGES.rst 2015-03-24 13:00:21.000000000 +0100
+++ new/icalendar-3.9.1/CHANGES.rst 2015-09-08 16:07:59.000000000 +0200
@@ -2,6 +2,19 @@
Changelog
=========
+3.9.1 (2015-09-08)
+------------------
+
+- Fix ``vPeriod.__repr__``.
+ [spacekpe]
+
+- Improve foldline() performance. This improves the foldline performance,
+ especially for large strings like base64-encoded inline attachements. In some
+ cases (1MB string) from 7 Minutes to less than 20ms for ASCII data and 500ms
+ for non-ASCII data. Ref: #163.
+ [emfree]
+
+
3.9.0 (2015-03-24)
------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/PKG-INFO new/icalendar-3.9.1/PKG-INFO
--- old/icalendar-3.9.0/PKG-INFO 2015-03-24 13:00:35.000000000 +0100
+++ new/icalendar-3.9.1/PKG-INFO 2015-09-08 16:08:12.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: icalendar
-Version: 3.9.0
+Version: 3.9.1
Summary: iCalendar parser/generator
Home-page: https://github.com/collective/icalendar
Author: Plone Foundation
@@ -109,6 +109,19 @@
Changelog
=========
+ 3.9.1 (2015-09-08)
+ ------------------
+
+ - Fix ``vPeriod.__repr__``.
+ [spacekpe]
+
+ - Improve foldline() performance. This improves the foldline performance,
+ especially for large strings like base64-encoded inline attachements. In some
+ cases (1MB string) from 7 Minutes to less than 20ms for ASCII data and 500ms
+ for non-ASCII data. Ref: #163.
+ [emfree]
+
+
3.9.0 (2015-03-24)
------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/setup.py new/icalendar-3.9.1/setup.py
--- old/icalendar-3.9.0/setup.py 2015-03-24 13:00:21.000000000 +0100
+++ new/icalendar-3.9.1/setup.py 2015-09-08 16:07:59.000000000 +0200
@@ -3,7 +3,7 @@
import sys
-version = '3.9.0'
+version = '3.9.1'
shortdesc = 'iCalendar parser/generator'
longdesc = codecs.open('README.rst', encoding='utf-8').read()
longdesc += codecs.open('CHANGES.rst', encoding='utf-8').read()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/src/icalendar/parser.py new/icalendar-3.9.1/src/icalendar/parser.py
--- old/icalendar-3.9.0/src/icalendar/parser.py 2015-03-24 13:00:21.000000000 +0100
+++ new/icalendar-3.9.1/src/icalendar/parser.py 2015-09-08 16:07:59.000000000 +0200
@@ -72,17 +72,26 @@
assert isinstance(line, compat.unicode_type)
assert u'\n' not in line
- ret_line = u''
+ # Use a fast and simple variant for the common case that line is all ASCII.
+ try:
+ line.encode('ascii')
+ except (UnicodeEncodeError, UnicodeDecodeError):
+ pass
+ else:
+ return fold_sep.join(line[i:i+limit-1] for i in
+ range(0, len(line), limit-1))
+
+ ret_chars = []
byte_count = 0
for char in line:
char_byte_len = len(char.encode(DEFAULT_ENCODING))
byte_count += char_byte_len
if byte_count >= limit:
- ret_line += fold_sep
+ ret_chars.append(fold_sep)
byte_count = char_byte_len
- ret_line += char
+ ret_chars.append(char)
- return ret_line
+ return u''.join(ret_chars)
#################################################################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/src/icalendar/prop.py new/icalendar-3.9.1/src/icalendar/prop.py
--- old/icalendar-3.9.0/src/icalendar/prop.py 2015-03-24 13:00:21.000000000 +0100
+++ new/icalendar-3.9.1/src/icalendar/prop.py 2015-09-08 16:07:59.000000000 +0200
@@ -535,7 +535,7 @@
p = (self.start, self.duration)
else:
p = (self.start, self.end)
- return 'vPeriod(%r)' % p
+ return 'vPeriod(%r)' % (p, )
class vWeekday(compat.unicode_type):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/src/icalendar/tests/test_timezoned.py new/icalendar-3.9.1/src/icalendar/tests/test_timezoned.py
--- old/icalendar-3.9.0/src/icalendar/tests/test_timezoned.py 2015-03-24 13:00:21.000000000 +0100
+++ new/icalendar-3.9.1/src/icalendar/tests/test_timezoned.py 2015-09-08 16:07:59.000000000 +0200
@@ -158,12 +158,17 @@
tz = cal.walk('VEVENT')[0]['DTSTART'][0].dt.tzinfo
self.assertEqual(str(tz), 'custom_America/New_York')
pytz_new_york = pytz.timezone('America/New_York')
- # pytz's information starts earlier, the VTIMEZONE transition times
- # go on longer into the future
- self.assertEqual(tz._utc_transition_times[:142],
- pytz_new_york._utc_transition_times[95:])
- self.assertEqual(tz._transition_info[0:142],
- pytz_new_york._transition_info[95:])
+ # for reasons (tm) the locally installed version of the time zone
+ # database isn't always complete, therefore we only compare some
+ # transition times
+ ny_transition_times = list()
+ ny_transition_info = list()
+ for num, date in enumerate(pytz_new_york._utc_transition_times):
+ if datetime.datetime(1967, 4, 30, 7, 0) <= date <= datetime.datetime(2037, 11, 1, 6, 0):
+ ny_transition_times.append(date)
+ ny_transition_info.append(pytz_new_york._transition_info[num])
+ self.assertEqual(tz._utc_transition_times[:142], ny_transition_times)
+ self.assertEqual(tz._transition_info[0:142], ny_transition_info)
self.assertIn(
(datetime.timedelta(-1, 72000), datetime.timedelta(0, 3600), 'EDT'),
tz._tzinfos.keys()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icalendar-3.9.0/src/icalendar.egg-info/PKG-INFO new/icalendar-3.9.1/src/icalendar.egg-info/PKG-INFO
--- old/icalendar-3.9.0/src/icalendar.egg-info/PKG-INFO 2015-03-24 13:00:29.000000000 +0100
+++ new/icalendar-3.9.1/src/icalendar.egg-info/PKG-INFO 2015-09-08 16:08:02.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: icalendar
-Version: 3.9.0
+Version: 3.9.1
Summary: iCalendar parser/generator
Home-page: https://github.com/collective/icalendar
Author: Plone Foundation
@@ -109,6 +109,19 @@
Changelog
=========
+ 3.9.1 (2015-09-08)
+ ------------------
+
+ - Fix ``vPeriod.__repr__``.
+ [spacekpe]
+
+ - Improve foldline() performance. This improves the foldline performance,
+ especially for large strings like base64-encoded inline attachements. In some
+ cases (1MB string) from 7 Minutes to less than 20ms for ASCII data and 500ms
+ for non-ASCII data. Ref: #163.
+ [emfree]
+
+
3.9.0 (2015-03-24)
------------------
1
0
Hello community,
here is the log from the commit of package ubuntu-mate-artwork for openSUSE:Factory checked in at 2015-09-27 08:40:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ubuntu-mate-artwork (Old)
and /work/SRC/openSUSE:Factory/.ubuntu-mate-artwork.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ubuntu-mate-artwork"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ubuntu-mate-artwork/ubuntu-mate-artwork.changes 2015-09-24 06:15:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ubuntu-mate-artwork.new/ubuntu-mate-artwork.changes 2015-09-27 08:39:48.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Sep 24 16:43:59 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 15.10.4:
+ * Add missing symlinks for icons required by Blueman 2.0.
+ * Style software-center's action bar again.
+
+-------------------------------------------------------------------
Old:
----
ubuntu-mate-artwork_15.10.3.tar.xz
New:
----
ubuntu-mate-artwork_15.10.4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ubuntu-mate-artwork.spec ++++++
--- /var/tmp/diff_new_pack.aUvb8H/_old 2015-09-27 08:39:52.000000000 +0200
+++ /var/tmp/diff_new_pack.aUvb8H/_new 2015-09-27 08:39:52.000000000 +0200
@@ -17,8 +17,9 @@
%define _name ubuntu-mate
+%define _version 15.10.3
Name: ubuntu-mate-artwork
-Version: 15.10.3
+Version: 15.10.4
Release: 0
Summary: Ubuntu MATE themes and artwork
License: GPL-3.0+ and CC-BY-SA-4.0 and CC-BY-SA-3.0
@@ -124,7 +125,7 @@
The default Ubuntu MATE wallpapers for the Ubuntu MATE releases.
%prep
-%setup -q -n %{name}
+%setup -q -n %{name}-%{_version}
%patch0 -p1
%patch1 -p1
# Remove unwanted: Debian package, GRUB theme, Plymouth theme, odd script, LightDM defaults.
++++++ ubuntu-mate-artwork_15.10.3.tar.xz -> ubuntu-mate-artwork_15.10.4.tar.xz ++++++
/work/SRC/openSUSE:Factory/ubuntu-mate-artwork/ubuntu-mate-artwork_15.10.3.tar.xz /work/SRC/openSUSE:Factory/.ubuntu-mate-artwork.new/ubuntu-mate-artwork_15.10.4.tar.xz differ: char 25, line 1
1
0
Hello community,
here is the log from the commit of package bindfs for openSUSE:Factory checked in at 2015-09-27 08:40:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bindfs (Old)
and /work/SRC/openSUSE:Factory/.bindfs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bindfs"
Changes:
--------
--- /work/SRC/openSUSE:Factory/bindfs/bindfs.changes 2014-08-06 11:42:35.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bindfs.new/bindfs.changes 2015-09-27 08:39:47.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 22 11:04:12 UTC 2015 - jengelh(a)inai.de
+
+- Update to new upstream release 1.12.7
+* OSX fixes only
+
+-------------------------------------------------------------------
Old:
----
bindfs-1.12.6.tar.gz
New:
----
bindfs-1.12.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bindfs.spec ++++++
--- /var/tmp/diff_new_pack.JZPu0G/_old 2015-09-27 08:39:48.000000000 +0200
+++ /var/tmp/diff_new_pack.JZPu0G/_new 2015-09-27 08:39:48.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package bindfs
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: bindfs
-Version: 1.12.6
+Version: 1.12.7
Release: 0
Summary: Mount Directories to other Locations and alter Permission Bits
License: GPL-2.0+
++++++ bindfs-1.12.6.tar.gz -> bindfs-1.12.7.tar.gz ++++++
++++ 8125 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/.gitignore new/bindfs-1.12.7/.gitignore
--- old/bindfs-1.12.6/.gitignore 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/.gitignore 2015-09-09 11:40:21.000000000 +0200
@@ -23,6 +23,7 @@
/libtool
/ltmain.sh
/stamp-h1
+/test-driver
# C stuff
@@ -36,7 +37,9 @@
tests/readdir_inode
tests/utimens_nofollow
tests/*.log
+tests/*.trs
tests/internals/test_internals
tests/internals/test_rate_limiter
tests/internals/*.log
+tests/internals/*.trs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/ChangeLog new/bindfs-1.12.7/ChangeLog
--- old/bindfs-1.12.6/ChangeLog 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/ChangeLog 2015-09-09 11:40:21.000000000 +0200
@@ -1,3 +1,8 @@
+2015-09-09 Martin Pärtel <martin dot partel at gmail dot com>
+
+ * OS X xattr fixes prompted, assisted and tested by @retrography (#21).
+ * Released 1.12.7
+
2014-06-30 Martin Pärtel <martin dot partel at gmail dot com>
* Implemented rate limiter, an idea by @illuusio (#12).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/README new/bindfs-1.12.7/README
--- old/bindfs-1.12.6/README 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/README 2015-09-09 11:40:21.000000000 +0200
@@ -34,6 +34,12 @@
See the bindfs --help or the man-page for instructions and examples.
+-- OS X note --
+
+The following extra options may be useful under osxfuse:
+-o local,allow_other,extended_security,noappledouble
+
+See https://github.com/osxfuse/osxfuse/wiki/Mount-options for details.
-- License --
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/compile new/bindfs-1.12.7/compile
--- old/bindfs-1.12.6/compile 1970-01-01 01:00:00.000000000 +0100
+++ new/bindfs-1.12.7/compile 2015-09-09 11:40:25.000000000 +0200
@@ -0,0 +1,347 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2012-10-14.11; # UTC
+
+# Copyright (C) 1999-2013 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey(a)cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake(a)gnu.org> or send patches to
+# <automake-patches(a)gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake(a)gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/configure.ac new/bindfs-1.12.7/configure.ac
--- old/bindfs-1.12.6/configure.ac 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/configure.ac 2015-09-09 11:40:21.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([bindfs],[1.12.6],[martin.partel(a)gmail.com])
+AC_INIT([bindfs],[1.12.7],[martin.partel(a)gmail.com])
AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_HEADERS([config.h])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/missing new/bindfs-1.12.7/missing
--- old/bindfs-1.12.6/missing 2014-06-30 23:53:19.000000000 +0200
+++ new/bindfs-1.12.7/missing 2015-09-09 11:40:25.000000000 +0200
@@ -1,11 +1,10 @@
#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
+# Common wrapper for a few potentially missing GNU programs.
-scriptversion=2012-01-06.13; # UTC
+scriptversion=2013-10-28.13; # UTC
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
+# Copyright (C) 1996-2013 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -26,68 +25,40 @@
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
fi
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
- configure_ac=configure.ac
-else
- configure_ac=configure.in
-fi
+case $1 in
-msg="missing on your system"
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
-case $1 in
---run)
- # Try to run requested program, and just exit if it succeeds.
- run=
- shift
- "$@" && exit 0
- # Exit code 63 means version mismatch. This often happens
- # when the user try to use an ancient version of a tool on
- # a file that requires a minimum version. In this case we
- # we should proceed has if the program had been absent, or
- # if --run hadn't been passed.
- if test $? = 63; then
- run=:
- msg="probably too old"
- fi
- ;;
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
- --run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
- aclocal touch file \`aclocal.m4'
- autoconf touch file \`configure'
- autoheader touch file \`config.h.in'
- autom4te touch the output file, or create a stub one
- automake touch all \`Makefile.in' files
- bison create \`y.tab.[ch]', if possible, from existing .[ch]
- flex create \`lex.yy.c', if possible, from existing .c
- help2man touch the output file
- lex create \`lex.yy.c', if possible, from existing .c
- makeinfo touch the output file
- yacc create \`y.tab.[ch]', if possible, from existing .[ch]
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
Send bug reports to <bug-automake(a)gnu.org>."
exit $?
@@ -99,228 +70,141 @@
;;
-*)
- echo 1>&2 "$0: Unknown \`$1' option"
- echo 1>&2 "Try \`$0 --help' for more information"
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
exit 1
;;
esac
-# normalize program name to check for.
-program=`echo "$1" | sed '
- s/^gnu-//; t
- s/^gnu//; t
- s/^g//; t'`
-
-# Now exit if we have it, but it failed. Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program). This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
- lex*|yacc*)
- # Not GNU programs, they don't have --version.
- ;;
+# Run the given program, remember its exit status.
+"$@"; st=$?
- *)
- if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
- # We have it, but it failed.
- exit 1
- elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
- # Could not run --version or --help. This is probably someone
- # running `$TOOL --version' or `$TOOL --help' to check whether
- # $TOOL exists and not knowing $TOOL uses missing.
- exit 1
- fi
- ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
- aclocal*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acinclude.m4' or \`${configure_ac}'. You might want
- to install the \`Automake' and \`Perl' packages. Grab them from
- any GNU archive site."
- touch aclocal.m4
- ;;
-
- autoconf*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`${configure_ac}'. You might want to install the
- \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
- archive site."
- touch configure
- ;;
-
- autoheader*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`acconfig.h' or \`${configure_ac}'. You might want
- to install the \`Autoconf' and \`GNU m4' packages. Grab them
- from any GNU archive site."
- files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
- test -z "$files" && files="config.h"
- touch_files=
- for f in $files; do
- case $f in
- *:*) touch_files="$touch_files "`echo "$f" |
- sed -e 's/^[^:]*://' -e 's/:.*//'`;;
- *) touch_files="$touch_files $f.in";;
- esac
- done
- touch $touch_files
- ;;
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
- automake*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
- You might want to install the \`Automake' and \`Perl' packages.
- Grab them from any GNU archive site."
- find . -type f -name Makefile.am -print |
- sed 's/\.am$/.in/' |
- while read f; do touch "$f"; done
- ;;
-
- autom4te*)
- echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
- You might have modified some files without having the
- proper tools for further handling them.
- You can get \`$1' as part of \`Autoconf' from any GNU
- archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo "#! /bin/sh"
- echo "# Created by GNU Automake missing as a replacement of"
- echo "# $ $@"
- echo "exit 0"
- chmod +x $file
- exit 1
- fi
- ;;
-
- bison*|yacc*)
- echo 1>&2 "\
-WARNING: \`$1' $msg. You should only need it if
- you modified a \`.y' file. You may need the \`Bison' package
- in order for those modifications to take effect. You can get
- \`Bison' from any GNU archive site."
- rm -f y.tab.c y.tab.h
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.y)
- SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.c
- fi
- SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" y.tab.h
- fi
- ;;
- esac
- fi
- if test ! -f y.tab.h; then
- echo >y.tab.h
- fi
- if test ! -f y.tab.c; then
- echo 'main() { return 0; }' >y.tab.c
- fi
- ;;
-
- lex*|flex*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.l' file. You may need the \`Flex' package
- in order for those modifications to take effect. You can get
- \`Flex' from any GNU archive site."
- rm -f lex.yy.c
- if test $# -ne 1; then
- eval LASTARG=\${$#}
- case $LASTARG in
- *.l)
- SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
- if test -f "$SRCFILE"; then
- cp "$SRCFILE" lex.yy.c
- fi
- ;;
- esac
- fi
- if test ! -f lex.yy.c; then
- echo 'main() { return 0; }' >lex.yy.c
- fi
- ;;
-
- help2man*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a dependency of a manual page. You may need the
- \`Help2man' package in order for those modifications to take
- effect. You can get \`Help2man' from any GNU archive site."
-
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -f "$file"; then
- touch $file
- else
- test -z "$file" || exec >$file
- echo ".ab help2man is required to generate this page"
- exit $?
- fi
- ;;
-
- makeinfo*)
- echo 1>&2 "\
-WARNING: \`$1' is $msg. You should only need it if
- you modified a \`.texi' or \`.texinfo' file, or any other file
- indirectly affecting the aspect of the manual. The spurious
- call might also be the consequence of using a buggy \`make' (AIX,
- DU, IRIX). You might want to install the \`Texinfo' package or
- the \`GNU make' package. Grab either from any GNU archive site."
- # The file to touch is that specified with -o ...
- file=`echo "$*" | sed -n "$sed_output"`
- test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
- if test -z "$file"; then
- # ... or it is the one specified with @setfilename ...
- infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
- file=`sed -n '
- /^@setfilename/{
- s/.* \([^ ]*\) *$/\1/
- p
- q
- }' $infile`
- # ... or it is derived from the source name (dir/f.texi becomes f.info)
- test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
- fi
- # If the file does not exist, the user really needs makeinfo;
- # let's fail without touching anything.
- test -f $file || exit 1
- touch $file
- ;;
-
- *)
- echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
- You might have modified some files without having the
- proper tools for further handling them. Check the \`README' file,
- it often tells you about the needed prerequisites for installing
- this package. You may also peek at any GNU archive site, in case
- some other package would contain this missing \`$1' program."
- exit 1
- ;;
-esac
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
-exit 0
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
+ ;;
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/src/bindfs.1 new/bindfs-1.12.7/src/bindfs.1
--- old/bindfs-1.12.6/src/bindfs.1 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/src/bindfs.1 2015-09-09 11:40:21.000000000 +0200
@@ -382,6 +382,9 @@
When using \fB\-\-mirror[-only] @somegroup\fP, bindfs won't see changes to the group's member list.
Sending bindfs a \fBSIGUSR1\fP signal will make it reread the user database.
+The following extra options may be useful under osxfuse:
+\fB-o local,allow_other,extended_security,noappledouble\fP
+See \fBhttps://github.com/osxfuse/osxfuse/wiki/Mount-options\fP for details.
.SH BUGS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/src/bindfs.c new/bindfs-1.12.7/src/bindfs.c
--- old/bindfs-1.12.6/src/bindfs.c 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/src/bindfs.c 2015-09-09 11:40:21.000000000 +0200
@@ -74,6 +74,16 @@
#include "userinfo.h"
#include "usermap.h"
+/* Apple Structs */
+#ifdef __APPLE__
+#include <sys/param.h>
+#define G_PREFIX "org"
+#define G_KAUTH_FILESEC_XATTR G_PREFIX ".apple.system.Security"
+#define A_PREFIX "com"
+#define A_KAUTH_FILESEC_XATTR A_PREFIX ".apple.system.Security"
+#define XATTR_APPLE_PREFIX "com.apple."
+#endif
+
/* SETTINGS */
static struct Settings {
const char *progname;
@@ -841,37 +851,75 @@
}
#ifdef HAVE_SETXATTR
-/* If HAVE_L*XATTR is not defined, we assume Mac/BSD -style *xattr() */
+/* The disgusting __APPLE__ sections below were copied without much
+ understanding from the osxfuse example file:
+ https://github.com/osxfuse/fuse/blob/master/example/fusexmp_fh.c */
+#ifdef __APPLE__
+static int bindfs_setxattr(const char *path, const char *name, const char *value,
+ size_t size, int flags, uint32_t position)
+#else
static int bindfs_setxattr(const char *path, const char *name, const char *value,
size_t size, int flags)
+#endif
{
+ int res;
+
DPRINTF("setxattr %s %s=%s", path, name, value);
if (settings.xattr_policy == XATTR_READ_ONLY)
return -EACCES;
- /* fuse checks permissions for us */
path = process_path(path);
-#ifdef HAVE_LSETXATTR
- if (lsetxattr(path, name, value, size, flags) == -1)
+
+#if defined(__APPLE__)
+ if (!strncmp(name, XATTR_APPLE_PREFIX, sizeof(XATTR_APPLE_PREFIX) - 1)) {
+ flags &= ~(XATTR_NOSECURITY);
+ }
+ flags |= XATTR_NOFOLLOW; // TODO: check if this is actually correct and necessary
+ if (!strcmp(name, A_KAUTH_FILESEC_XATTR)) {
+ char new_name[MAXPATHLEN];
+ memcpy(new_name, A_KAUTH_FILESEC_XATTR, sizeof(A_KAUTH_FILESEC_XATTR));
+ memcpy(new_name, G_PREFIX, sizeof(G_PREFIX) - 1);
+ res = setxattr(path, new_name, value, size, position, flags);
+ } else {
+ res = setxattr(path, name, value, size, position, flags);
+ }
+#elif defined(HAVE_LSETXATTR)
+ res = lsetxattr(path, name, value, size, flags);
#else
- if (setxattr(path, name, value, size, 0, flags | XATTR_NOFOLLOW) == -1)
+ res = setxattr(path, name, value, size, 0, flags | XATTR_NOFOLLOW);
#endif
+
+ if (res == -1)
return -errno;
return 0;
}
+#ifdef __APPLE__
+static int bindfs_getxattr(const char *path, const char *name, char *value,
+ size_t size, uint32_t position)
+#else
static int bindfs_getxattr(const char *path, const char *name, char *value,
size_t size)
+#endif
{
int res;
DPRINTF("getxattr %s %s", path, name);
path = process_path(path);
- /* fuse checks permissions for us */
-#ifdef HAVE_LGETXATTR
+
+#if defined(__APPLE__)
+ if (strcmp(name, A_KAUTH_FILESEC_XATTR) == 0) {
+ char new_name[MAXPATHLEN];
+ memcpy(new_name, A_KAUTH_FILESEC_XATTR, sizeof(A_KAUTH_FILESEC_XATTR));
+ memcpy(new_name, G_PREFIX, sizeof(G_PREFIX) - 1);
+ res = getxattr(path, new_name, value, size, position, XATTR_NOFOLLOW);
+ } else {
+ res = getxattr(path, name, value, size, position, XATTR_NOFOLLOW);
+ }
+#elif defined(HAVE_LGETXATTR)
res = lgetxattr(path, name, value, size);
#else
res = getxattr(path, name, value, size, 0, XATTR_NOFOLLOW);
@@ -881,18 +929,44 @@
return res;
}
-static int bindfs_listxattr(const char *path, char *list, size_t size)
+static int bindfs_listxattr(const char *path, char* list, size_t size)
{
- int res;
-
DPRINTF("listxattr %s", path);
path = process_path(path);
- /* fuse checks permissions for us */
-#ifdef HAVE_LLISTXATTR
- res = llistxattr(path, list, size);
+
+#if defined(__APPLE__)
+ ssize_t res = listxattr(path, list, size, XATTR_NOFOLLOW);
+ if (res > 0) {
+ if (list) {
+ size_t len = 0;
+ char* curr = list;
+ do {
+ size_t thislen = strlen(curr) + 1;
+ if (strcmp(curr, G_KAUTH_FILESEC_XATTR) == 0) {
+ memmove(curr, curr + thislen, res - len - thislen);
+ res -= thislen;
+ break;
+ }
+ curr += thislen;
+ len += thislen;
+ } while (len < res);
+ } else {
+ // TODO: https://github.com/osxfuse/fuse/blob/master/example/fusexmp_fh.c
+ // had this commented out bit here o_O
+ /*
+ ssize_t res2 = getxattr(path, G_KAUTH_FILESEC_XATTR, NULL, 0, 0,
+ XATTR_NOFOLLOW);
+ if (res2 >= 0) {
+ res -= sizeof(G_KAUTH_FILESEC_XATTR);
+ }
+ */
+ }
+ }
+#elif defined(HAVE_LLISTXATTR)
+ int res = llistxattr(path, list, size);
#else
- res = listxattr(path, list, size, XATTR_NOFOLLOW);
+ int res = listxattr(path, list, size, XATTR_NOFOLLOW);
#endif
if (res == -1)
return -errno;
@@ -901,18 +975,31 @@
static int bindfs_removexattr(const char *path, const char *name)
{
+ int res;
+
DPRINTF("removexattr %s %s", path, name);
if (settings.xattr_policy == XATTR_READ_ONLY)
return -EACCES;
path = process_path(path);
- /* fuse checks permissions for us */
-#ifdef HAVE_LREMOVEXATTR
- if (lremovexattr(path, name) == -1)
+
+#if defined(__APPLE__)
+ if (strcmp(name, A_KAUTH_FILESEC_XATTR) == 0) {
+ char new_name[MAXPATHLEN];
+ memcpy(new_name, A_KAUTH_FILESEC_XATTR, sizeof(A_KAUTH_FILESEC_XATTR));
+ memcpy(new_name, G_PREFIX, sizeof(G_PREFIX) - 1);
+ res = removexattr(path, new_name, XATTR_NOFOLLOW);
+ } else {
+ res = removexattr(path, name, XATTR_NOFOLLOW);
+ }
+#elif defined(HAVE_LREMOVEXATTR)
+ res = lremovexattr(path, name);
#else
- if (removexattr(path, name, XATTR_NOFOLLOW) == -1)
+ res = removexattr(path, name, XATTR_NOFOLLOW);
#endif
+
+ if (res == -1)
return -errno;
return 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/test-driver new/bindfs-1.12.7/test-driver
--- old/bindfs-1.12.6/test-driver 1970-01-01 01:00:00.000000000 +0100
+++ new/bindfs-1.12.7/test-driver 2015-09-09 11:40:26.000000000 +0200
@@ -0,0 +1,139 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2013-07-13.22; # UTC
+
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake(a)gnu.org> or send patches to
+# <automake-patches(a)gnu.org>.
+
+# Make unconditional expansion of undefined variables an error. This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+ echo "$0: $*" >&2
+ print_usage >&2
+ exit 2
+}
+
+print_usage ()
+{
+ cat <<END
+Usage:
+ test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
+ [--expect-failure={yes|no}] [--color-tests={yes|no}]
+ [--enable-hard-errors={yes|no}] [--]
+ TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+END
+}
+
+test_name= # Used for reporting.
+log_file= # Where to save the output of the test script.
+trs_file= # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+ case $1 in
+ --help) print_usage; exit $?;;
+ --version) echo "test-driver $scriptversion"; exit $?;;
+ --test-name) test_name=$2; shift;;
+ --log-file) log_file=$2; shift;;
+ --trs-file) trs_file=$2; shift;;
+ --color-tests) color_tests=$2; shift;;
+ --expect-failure) expect_failure=$2; shift;;
+ --enable-hard-errors) enable_hard_errors=$2; shift;;
+ --) shift; break;;
+ -*) usage_error "invalid option: '$1'";;
+ *) break;;
+ esac
+ shift
+done
+
+missing_opts=
+test x"$test_name" = x && missing_opts="$missing_opts --test-name"
+test x"$log_file" = x && missing_opts="$missing_opts --log-file"
+test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
+if test x"$missing_opts" != x; then
+ usage_error "the following mandatory options are missing:$missing_opts"
+fi
+
+if test $# -eq 0; then
+ usage_error "missing argument"
+fi
+
+if test $color_tests = yes; then
+ # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+ red='[0;31m' # Red.
+ grn='[0;32m' # Green.
+ lgn='[1;32m' # Light green.
+ blu='[1;34m' # Blue.
+ mgn='[0;35m' # Magenta.
+ std='[m' # No color.
+else
+ red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here.
+"$@" >$log_file 2>&1
+estatus=$?
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+ estatus=1
+fi
+
+case $estatus:$expect_failure in
+ 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+ 0:*) col=$grn res=PASS recheck=no gcopy=no;;
+ 77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
+ 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
+ *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
+ *:*) col=$red res=FAIL recheck=yes gcopy=yes;;
+esac
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/bindfs-1.12.6/tests/test_bindfs.rb new/bindfs-1.12.7/tests/test_bindfs.rb
--- old/bindfs-1.12.6/tests/test_bindfs.rb 2014-06-30 23:53:14.000000000 +0200
+++ new/bindfs-1.12.7/tests/test_bindfs.rb 2015-09-09 11:40:21.000000000 +0200
@@ -73,9 +73,9 @@
root_testenv("", :title => "--create-as-user should be default for root") do
chmod(0777, 'src')
- `su -c 'touch mnt/file' nobody`
- `su -c 'mkdir mnt/dir' nobody`
- `su -c 'ln -sf /tmp/foo mnt/lnk' nobody`
+ `sudo -u nobody -g nogroup touch mnt/file`
+ `sudo -u nobody -g nogroup mkdir mnt/dir`
+ `sudo -u nobody -g nogroup ln -sf /tmp/foo mnt/lnk`
assert { File.stat('mnt/file').uid == nobody_uid }
assert { File.stat('mnt/file').gid == nogroup_gid }
1
0
Hello community,
here is the log from the commit of package redis for openSUSE:Factory checked in at 2015-09-27 08:40:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/redis (Old)
and /work/SRC/openSUSE:Factory/.redis.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "redis"
Changes:
--------
--- /work/SRC/openSUSE:Factory/redis/redis.changes 2015-06-16 14:05:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.redis.new/redis.changes 2015-09-27 08:39:46.000000000 +0200
@@ -1,0 +2,77 @@
+Thu Sep 24 22:26:22 UTC 2015 - mrueckert(a)suse.de
+
+- update to 3.0.4
+ Upgrade urgency: HIGH for Redis and Sentinel. However note that in
+ order to fix certain replication bugs, the
+ replication internals were modified in a very heavy
+ way. So while this release is conceptually saner, it
+ may contain regressions. For this reason, before the
+ release, QA activities were performed by me (antirez)
+ and Redis Labs and no evident bug was found.
+
+ - [FIX] A number of bugs related to replication PSYNC and the (yet
+ experimental) diskless replication feature were fixed. The bugs
+ could lead to inconsistency between masters and slaves. (Salvatore
+ Sanfilippo, Oran Agra fixed the issue found by Yuval Inbar)
+ - [FIX] A replication bug in the context of PSYNC partial
+ resynchonization was found and fixed. This bug happens even when
+ diskless replication is off in the case different slaves connect at
+ different times while the master is creating an RDB file, and later
+ a partial resynchronization is attempted by a slave that connected
+ not as the first one. (Salvatore Sanfilippo, Oran Agra)
+ - [FIX] Chained replication and PSYNC interactions leading to
+ potential stale chained slaves data set, see issue #2694. (Salvatore
+ Sanfilippo fixed an issue reported by "GeorgeBJ" user at Github)
+ - [FIX] redis-cli --scan iteration fixed when returned cursor
+ overflows 32 bit signed integer. (Ofir Luzon, Yuval Inbar)
+ - [FIX] Sentinel: fixed a bug during the master switch process, where
+ for a failed conditional check, the new configuration is rewritten,
+ during a small window of time, in a corrupted way where the master
+ is also reported to be one of the slaves. This bug is rare to
+ trigger but apparently it happens in the wild, and the effect is to
+ see a replication loop where the master will try to replicate with
+ itself. A detailed explanation of the bug and its effects can be
+ found in the commit message here:
+ https://github.com/antirez/redis/commit/c20218eb5770b2cafb12bc7092313b8358f….
+ The bug was found by Jan-Erik Rediger using a static analyzer and
+ fixed by Salvatore Sanfilippo.
+ - [FIX] Sentinel lack of arity checks for certain commands. (Rogerio
+ Goncalves, Salvatore Sanfilippo)
+ - [NEW] Replication internals rewritten in order to be more resistant
+ to bugs. The replication handshake in the slave side was rewritten
+ as a non blocking state machine. (Salvatore Sanfilippo, Oran Agra)
+ - [NEW] New "replication capabilities" feature introduced in order to
+ signal from the master to the slave what are the features supported,
+ so that the master can choose the kind of replication to start
+ (diskless or not) when master and slave are of different versions.
+ (Oran Agra, Salvatore Sanfilippo)
+ - [NEW] Log clients details when SLAVEOF command is received.
+ (Salvatore Sanfilippo with inputs from Nick Craver and Marc
+ Gravell).
+
+-------------------------------------------------------------------
+Mon Sep 7 17:42:22 UTC 2015 - mrueckert(a)suse.de
+
+- update to 3.0.3
+ * [FIX] Fix blocking operations timeout precision when HZ is at
+ its default value (not increased) and there are thousands
+ of clients connected at the same time. This bug affected
+ Sidekiq users that experienced a very long delay for
+ BLPOP and similar commands to return for timeout. Check
+ commit b029ff1 for more info. (Salvatore Sanfilippo)
+ * [FIX] MIGRATE "creating socket: Invalid argument" error fix.
+ Check issues #2609 and #2612 for more info.
+ (Salvatore Sanfilippo)
+ * [FIX] Be able to connect to the master even when the slave is
+ bound to just the loopback interface and has no valid
+ public address in the network the master is reacahble.
+ (Salvatore Sanfilippo)
+ * [FIX] ZADD with options encoding promotion fixed. (linfangrong)
+ * [FIX] Reset aof_delayed_fsync on CONFIG RESETSTATS. (Tom Kiemes)
+ * [FIX] PFCOUNT key parsing in cluster fixed. (MOON_CLJ)
+ * [FIX] Fix Solaris compilation of Redis 3.0. (Jan-Erik Rediger)
+ * [NEW] Variadic EXISTS command. Now the command accepts multiple
+ arguments and returns the total count of existing keys.
+- added missing sentinel link
+
+-------------------------------------------------------------------
Old:
----
redis-3.0.2.tar.gz
New:
----
redis-3.0.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ redis.spec ++++++
--- /var/tmp/diff_new_pack.cDEff7/_old 2015-09-27 08:39:47.000000000 +0200
+++ /var/tmp/diff_new_pack.cDEff7/_new 2015-09-27 08:39:47.000000000 +0200
@@ -27,7 +27,7 @@
%define _conf_dir %{_sysconfdir}/%{name}
Name: redis
-Version: 3.0.2
+Version: 3.0.4
Release: 0
Summary: Persistent key-value database
License: BSD-3-Clause
@@ -86,11 +86,13 @@
install -m 0755 src/redis-check-dump %{buildroot}%{_bindir}/redis-check-dump
install -m 0755 src/redis-check-aof %{buildroot}%{_bindir}/redis-check-aof
install -D -m 0755 src/redis-server %{buildroot}%{_sbindir}/redis-server
+ln -sfv redis-server %{buildroot}%{_sbindir}/redis-sentinel
%if %{with systemd}
perl -p -i -e 's|daemonize yes|daemonize no|g' redis.conf
%endif
install -D -m 0640 redis.conf %{buildroot}%{_conf_dir}/default.conf.example
+install -D -m 0640 sentinel.conf %{buildroot}%{_conf_dir}/sentinel.conf.example
#
# init
++++++ redis-3.0.2.tar.gz -> redis-3.0.4.tar.gz ++++++
++++ 1760 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package haproxy for openSUSE:Factory checked in at 2015-09-27 08:40:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/haproxy (Old)
and /work/SRC/openSUSE:Factory/.haproxy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "haproxy"
Changes:
--------
--- /work/SRC/openSUSE:Factory/haproxy/haproxy.changes 2015-09-08 18:11:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.haproxy.new/haproxy.changes 2015-09-27 08:39:44.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Sep 23 19:26:54 UTC 2015 - dmueller(a)suse.com
+
+- fix haproxy status checks (bsc#947204)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ haproxy.init ++++++
--- /var/tmp/diff_new_pack.KSIfMC/_old 2015-09-27 08:39:45.000000000 +0200
+++ /var/tmp/diff_new_pack.KSIfMC/_new 2015-09-27 08:39:45.000000000 +0200
@@ -205,12 +205,13 @@
rc_status -v
;;
reload|force-reload)
- if checkproc -p $HAPROXY_PID $HAPROXY_BIN; then
- haproxy_check
- echo -n "Reload service haproxy "
- $HAPROXY_BIN -p $HAPROXY_PID -D -f $HAPROXY_CONF -sf $(cat $HAPROXY_PID)
- rc_status -v
- fi
+ ## Like force-reload, but if daemon does not support
+ ## signaling, do nothing (!)
+ haproxy_check
+ # If it supports signaling:
+ echo -n "Reload service haproxy "
+ $HAPROXY_BIN -p $HAPROXY_PID -D -f $HAPROXY_CONF -sf $(cat $HAPROXY_PID)
+ rc_status -v
;;
status)
echo -n "Checking for service haproxy "
@@ -226,7 +227,7 @@
# 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
# NOTE: checkproc returns LSB compliant status values.
- /sbin/checkproc $HAPROXY_BIN
+ /sbin/checkproc -p $HAPROXY_PID $HAPROXY_BIN
# NOTE: rc_status knows that we called this init script with
# "status" option and adapts its messages accordingly.
rc_status -v
1
0
Hello community,
here is the log from the commit of package rubygem-delayed_job for openSUSE:Factory checked in at 2015-09-27 08:40:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-delayed_job (Old)
and /work/SRC/openSUSE:Factory/.rubygem-delayed_job.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-delayed_job"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-delayed_job/rubygem-delayed_job.changes 2015-02-11 16:45:19.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-delayed_job.new/rubygem-delayed_job.changes 2015-09-27 08:39:42.000000000 +0200
@@ -1,0 +2,26 @@
+Fri Sep 25 04:28:48 UTC 2015 - coolo(a)suse.com
+
+- updated to version 4.1.1
+ see installed CHANGELOG.md
+
+ 4.1.1 - 2015-09-24
+ ==================
+ * Fix shared specs for back-ends that reload objects
+
+-------------------------------------------------------------------
+Wed Sep 23 04:29:11 UTC 2015 - coolo(a)suse.com
+
+- updated to version 4.1.0
+ see installed CHANGELOG.md
+
+ 4.1.0 - 2015-09-22
+ ==================
+ * Alter `Delayed::Command` to work with or without Rails
+ * Allow `Delayed::Worker.delay_jobs` configuration to be a proc
+ * Add ability to set destroy failed jobs on a per job basis
+ * Make `Delayed::Worker.new` idempotent
+ * Set quiet from the environment
+ * Rescue `Exception` instead of `StandardError` in worker
+ * Fix worker crash on serialization error
+
+-------------------------------------------------------------------
Old:
----
delayed_job-4.0.6.gem
New:
----
delayed_job-4.1.1.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-delayed_job.spec ++++++
--- /var/tmp/diff_new_pack.uv6hMd/_old 2015-09-27 08:39:42.000000000 +0200
+++ /var/tmp/diff_new_pack.uv6hMd/_new 2015-09-27 08:39:42.000000000 +0200
@@ -24,7 +24,7 @@
#
Name: rubygem-delayed_job
-Version: 4.0.6
+Version: 4.1.1
Release: 0
%define mod_name delayed_job
%define mod_full_name %{mod_name}-%{version}
++++++ delayed_job-4.0.6.gem -> delayed_job-4.1.1.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2014-12-22 14:22:31.000000000 +0100
+++ new/CHANGELOG.md 2015-09-24 23:40:11.000000000 +0200
@@ -1,3 +1,17 @@
+4.1.1 - 2015-09-24
+==================
+* Fix shared specs for back-ends that reload objects
+
+4.1.0 - 2015-09-22
+==================
+* Alter `Delayed::Command` to work with or without Rails
+* Allow `Delayed::Worker.delay_jobs` configuration to be a proc
+* Add ability to set destroy failed jobs on a per job basis
+* Make `Delayed::Worker.new` idempotent
+* Set quiet from the environment
+* Rescue `Exception` instead of `StandardError` in worker
+* Fix worker crash on serialization error
+
4.0.6 - 2014-12-22
==================
* Revert removing test files from the gem
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md
--- old/README.md 2014-12-22 14:22:31.000000000 +0100
+++ new/README.md 2015-09-24 23:40:11.000000000 +0200
@@ -1,3 +1,8 @@
+**If you're viewing this at https://github.com/collectiveidea/delayed_job,
+you're reading the documentation for the master branch.
+[View documentation for the latest release
+(4.0.6).](https://github.com/collectiveidea/delayed_job/tree/v4.0.6)**
+
Delayed::Job
============
[][gem]
@@ -58,14 +63,30 @@
rails generate delayed_job:active_record
rake db:migrate
+For Rails 4.2, see [below](#rails-42)
+
Development
===========
In development mode, if you are using Rails 3.1+, your application code will automatically reload every 100 jobs or when the queue finishes.
You no longer need to restart Delayed Job every time you update your code in development.
-Rails 4
-=======
-If you are using the protected_attributes gem, it must appear before delayed_job in your gemfile.
+Rails 4.2
+=========
+Set the queue_adapter in config/application.rb
+
+```ruby
+config.active_job.queue_adapter = :delayed_job
+```
+
+See the [rails guide](http://guides.rubyonrails.org/active_job_basics.html#setting-the-bac… for more details.
+
+Rails 4.x
+=========
+If you are using the protected_attributes gem, it must appear before delayed_job in your gemfile. If your jobs are failing with:
+
+ ActiveRecord::StatementInvalid: PG::NotNullViolation: ERROR: null value in column "handler" violates not-null constraint
+
+then this is the fix you're looking for.
Upgrading from 2.x to 3.0.0 on Active Record
============================================
@@ -103,9 +124,17 @@
device.deliver
```
-handle_asynchronously can take as options anything you can pass to delay. In
-addition, the values can be Proc objects allowing call time evaluation of the
-value. For some examples:
+## Parameters
+
+`#handle_asynchronously` and `#delay` take these parameters:
+
+- `:priority` (number): lower numbers run first; default is 0 but can be reconfigured (see below)
+- `:run_at` (Time): run the job after this time (probably in the future)
+- `:queue` (string): named queue to put this job in, an alternative to priorities (see below)
+
+These params can be Proc objects, allowing call-time evaluation of the value.
+
+For example:
```ruby
class LongTasks
@@ -282,6 +311,20 @@
end
```
+To set a per-job default for destroying failed jobs that overrides the Delayed::Worker.destroy_failed_jobs you can define a destroy_failed_jobs? method on the job
+
+```ruby
+NewsletterJob = Struct.new(:text, :emails) do
+ def perform
+ emails.each { |e| NewsletterMailer.deliver_text_to_email(text, e) }
+ end
+
+ def destroy_failed_jobs?
+ false
+ end
+end
+```
+
To set a default queue name for a custom job that overrides Delayed::Worker.default_queue_name, you can define a queue_name method on the job
```ruby
@@ -384,6 +427,14 @@
It is possible to disable delayed jobs for testing purposes. Set `Delayed::Worker.delay_jobs = false` to execute all jobs realtime.
+Or `Delayed::Worker.delay_jobs` can be a Proc that decides whether to execute jobs inline on a per-job basis:
+
+```ruby
+Delayed::Worker.delay_jobs = ->(job) {
+ job.queue != 'inline'
+}
+```
+
You may need to raise exceptions on SIGTERM signals, `Delayed::Worker.raise_signal_exceptions = :term` will cause the worker to raise a `SignalException` causing the running job to abort and be unlocked, which makes the job available to other workers. The default for this option is false.
Here is an example of changing job parameters in Rails:
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/delayed_job.gemspec new/delayed_job.gemspec
--- old/delayed_job.gemspec 2014-12-22 14:22:31.000000000 +0100
+++ new/delayed_job.gemspec 2015-09-24 23:40:11.000000000 +0200
@@ -4,12 +4,12 @@
spec.description = 'Delayed_job (or DJ) encapsulates the common pattern of asynchronously executing longer tasks in the background. It is a direct extraction from Shopify where the job table is responsible for a multitude of core tasks.'
spec.email = ['brian(a)collectiveidea.com']
spec.files = %w[CHANGELOG.md CONTRIBUTING.md LICENSE.md README.md Rakefile delayed_job.gemspec]
- spec.files += Dir.glob('{contrib,lib,recipes,spec}/**/*')
+ spec.files += Dir.glob('{contrib,lib,recipes,spec}/**/*')
spec.homepage = 'http://github.com/collectiveidea/delayed_job'
spec.licenses = ['MIT']
spec.name = 'delayed_job'
spec.require_paths = ['lib']
spec.summary = 'Database-backed asynchronous priority queue system -- Extracted from Shopify'
spec.test_files = Dir.glob('spec/**/*')
- spec.version = '4.0.6'
+ spec.version = '4.1.1'
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/delayed/backend/base.rb new/lib/delayed/backend/base.rb
--- old/lib/delayed/backend/base.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/lib/delayed/backend/base.rb 2015-09-24 23:40:11.000000000 +0200
@@ -10,7 +10,7 @@
def enqueue(*args) # rubocop:disable CyclomaticComplexity
options = args.extract_options!
options[:payload_object] ||= args.shift
- options[:priority] ||= Delayed::Worker.default_priority
+ options[:priority] ||= Delayed::Worker.default_priority
if options[:queue].nil?
if options[:payload_object].respond_to?(:queue_name)
@@ -32,7 +32,7 @@
new(options).tap do |job|
Delayed::Worker.lifecycle.run_callbacks(:enqueue, job) do
job.hook(:enqueue)
- Delayed::Worker.delay_jobs ? job.save : job.invoke_job
+ Delayed::Worker.delay_job?(job) ? job.save : job.invoke_job
end
end
end
@@ -63,6 +63,12 @@
end
end
+ attr_reader :error
+ def error=(error)
+ @error = error
+ self.last_error = "#{error.message}\n#{error.backtrace.join("\n")}" if self.respond_to?(:last_error=)
+ end
+
def failed?
!!failed_at
end
@@ -93,7 +99,7 @@
hook :before
payload_object.perform
hook :success
- rescue => e
+ rescue Exception => e # rubocop:disable RescueException
hook :error, e
raise e
ensure
@@ -139,6 +145,12 @@
end
end
+ def destroy_failed_jobs?
+ payload_object.respond_to?(:destroy_failed_jobs?) ? payload_object.destroy_failed_jobs? : Delayed::Worker.destroy_failed_jobs
+ rescue DeserializationError
+ Delayed::Worker.destroy_failed_jobs
+ end
+
def fail!
update_attributes(:failed_at => self.class.db_time_now)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/delayed/backend/shared_spec.rb new/lib/delayed/backend/shared_spec.rb
--- old/lib/delayed/backend/shared_spec.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/lib/delayed/backend/shared_spec.rb 2015-09-24 23:40:11.000000000 +0200
@@ -161,7 +161,7 @@
job = described_class.enqueue(CallbackJob.new)
expect(job.payload_object).to receive(:perform).and_raise(RuntimeError.new('fail'))
- expect { job.invoke_job }.to raise_error
+ expect { job.invoke_job }.to raise_error(RuntimeError)
expect(CallbackJob.messages).to eq(['enqueue', 'before', 'error: RuntimeError', 'after'])
end
@@ -450,6 +450,34 @@
end
end
+ describe 'destroy_failed_jobs' do
+ context 'with a SimpleJob' do
+ before(:each) do
+ @job = described_class.enqueue SimpleJob.new
+ end
+
+ it 'is not defined' do
+ expect((a)job.destroy_failed_jobs?).to be true
+ end
+
+ it 'uses the destroy failed jobs value on the payload when defined' do
+ expect((a)job.payload_object).to receive(:destroy_failed_jobs?).and_return(false)
+ expect((a)job.destroy_failed_jobs?).to be false
+ end
+ end
+
+ context 'with a job that raises DserializationError' do
+ before(:each) do
+ @job = described_class.new :handler => '--- !ruby/struct:GoingToRaiseArgError {}'
+ end
+
+ it 'falls back reasonably' do
+ expect(YAML).to receive(:load_dj).and_raise(ArgumentError)
+ expect((a)job.destroy_failed_jobs?).to be true
+ end
+ end
+ end
+
describe 'yaml serialization' do
context 'when serializing jobs' do
it 'raises error ArgumentError for new records' do
@@ -500,6 +528,7 @@
Delayed::Worker.max_run_time = 1.second
job = Delayed::Job.create :payload_object => LongRunningJob.new
worker.run(job)
+ expect(job.error).to_not be_nil
expect(job.reload.last_error).to match(/expired/)
expect(job.reload.last_error).to match(/Delayed::Worker\.max_run_time is only 1 second/)
expect(job.attempts).to eq(1)
@@ -513,6 +542,7 @@
it 'marks the job as failed' do
Delayed::Worker.destroy_failed_jobs = false
job = described_class.create! :handler => '--- !ruby/object:JobThatDoesNotExist {}'
+ expect_any_instance_of(described_class).to receive(:destroy_failed_jobs?).and_return(false)
worker.work_off
job.reload
expect(job).to be_failed
@@ -535,6 +565,7 @@
Delayed::Worker.max_attempts = 1
worker.run(@job)
@job.reload
+ expect((a)job.error).to_not be_nil
expect((a)job.last_error).to match(/did not work/)
expect((a)job.attempts).to eq(1)
expect((a)job).to be_failed
@@ -617,6 +648,10 @@
end
context 'and we want to destroy jobs' do
+ after do
+ Delayed::Worker.destroy_failed_jobs = true
+ end
+
it_behaves_like 'any failure more than Worker.max_attempts times'
it 'is destroyed if it failed more than Worker.max_attempts times' do
@@ -624,6 +659,13 @@
Delayed::Worker.max_attempts.times { worker.reschedule(@job) }
end
+ it 'is destroyed if the job has destroy failed jobs set' do
+ Delayed::Worker.destroy_failed_jobs = false
+ expect((a)job).to receive(:destroy_failed_jobs?).and_return(true)
+ expect((a)job).to receive(:destroy)
+ Delayed::Worker.max_attempts.times { worker.reschedule(@job) }
+ end
+
it 'is not destroyed if failed fewer than Worker.max_attempts times' do
expect((a)job).not_to receive(:destroy)
(Delayed::Worker.max_attempts - 1).times { worker.reschedule(@job) }
@@ -641,15 +683,35 @@
it_behaves_like 'any failure more than Worker.max_attempts times'
- it 'is failed if it failed more than Worker.max_attempts times' do
- expect((a)job.reload).not_to be_failed
- Delayed::Worker.max_attempts.times { worker.reschedule(@job) }
- expect((a)job.reload).to be_failed
+ context 'and destroy failed jobs is false' do
+ it 'is failed if it failed more than Worker.max_attempts times' do
+ expect((a)job.reload).not_to be_failed
+ Delayed::Worker.max_attempts.times { worker.reschedule(@job) }
+ expect((a)job.reload).to be_failed
+ end
+
+ it 'is not failed if it failed fewer than Worker.max_attempts times' do
+ (Delayed::Worker.max_attempts - 1).times { worker.reschedule(@job) }
+ expect((a)job.reload).not_to be_failed
+ end
end
- it 'is not failed if it failed fewer than Worker.max_attempts times' do
- (Delayed::Worker.max_attempts - 1).times { worker.reschedule(@job) }
- expect((a)job.reload).not_to be_failed
+ context 'and destroy failed jobs for job is false' do
+ before do
+ Delayed::Worker.destroy_failed_jobs = true
+ end
+
+ it 'is failed if it failed more than Worker.max_attempts times' do
+ expect((a)job).to receive(:destroy_failed_jobs?).and_return(false)
+ expect((a)job.reload).not_to be_failed
+ Delayed::Worker.max_attempts.times { worker.reschedule(@job) }
+ expect((a)job.reload).to be_failed
+ end
+
+ it 'is not failed if it failed fewer than Worker.max_attempts times' do
+ (Delayed::Worker.max_attempts - 1).times { worker.reschedule(@job) }
+ expect((a)job.reload).not_to be_failed
+ end
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/delayed/command.rb new/lib/delayed/command.rb
--- old/lib/delayed/command.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/lib/delayed/command.rb 2015-09-24 23:40:11.000000000 +0200
@@ -6,15 +6,19 @@
end
end
require 'optparse'
+require 'pathname'
module Delayed
class Command # rubocop:disable ClassLength
attr_accessor :worker_count, :worker_pools
+ DIR_PWD = Pathname.new Dir.pwd
+
def initialize(args) # rubocop:disable MethodLength
@options = {
:quiet => true,
- :pid_dir => "#{Rails.root}/tmp/pids"
+ :pid_dir => "#{root}/tmp/pids",
+ :log_dir => "#{root}/log"
}
@worker_count = 1
@@ -37,11 +41,14 @@
@options[:max_priority] = n
end
opt.on('-n', '--number_of_workers=workers', 'Number of unique workers to spawn') do |worker_count|
- @worker_count = worker_count.to_i rescue 1 # rubocop:disable RescueModifier
+ @worker_count = worker_count.to_i rescue 1
end
opt.on('--pid-dir=DIR', 'Specifies an alternate directory in which to store the process ids.') do |dir|
@options[:pid_dir] = dir
end
+ opt.on('--log-dir=DIR', 'Specifies an alternate directory in which to store the delayed_job log.') do |dir|
+ @options[:log_dir] = dir
+ end
opt.on('-i', '--identifier=n', 'A numeric identifier for the worker.') do |n|
@options[:identifier] = n
end
@@ -114,18 +121,19 @@
end
def run(worker_name = nil, options = {})
- Dir.chdir(Rails.root)
+ Dir.chdir(root)
Delayed::Worker.after_fork
- Delayed::Worker.logger ||= Logger.new(File.join(Rails.root, 'log', 'delayed_job.log'))
+ Delayed::Worker.logger ||= Logger.new(File.join(@options[:log_dir], 'delayed_job.log'))
worker = Delayed::Worker.new(options)
worker.name_prefix = "#{worker_name} "
worker.start
rescue => e
- Rails.logger.fatal e
STDERR.puts e.message
- exit 1
+ STDERR.puts e.backtrace
+ ::Rails.logger.fatal(e) if rails_logger_defined?
+ exit_with_error_status
end
private
@@ -142,5 +150,21 @@
worker_count = (worker_count || 1).to_i rescue 1
@worker_pools << [queues, worker_count]
end
+
+ def root
+ @root ||= rails_root_defined? ? ::Rails.root : DIR_PWD
+ end
+
+ def rails_root_defined?
+ defined?(::Rails.root)
+ end
+
+ def rails_logger_defined?
+ defined?(::Rails.logger)
+ end
+
+ def exit_with_error_status
+ exit 1
+ end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/delayed/message_sending.rb new/lib/delayed/message_sending.rb
--- old/lib/delayed/message_sending.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/lib/delayed/message_sending.rb 2015-09-24 23:40:11.000000000 +0200
@@ -31,8 +31,10 @@
module ClassMethods
def handle_asynchronously(method, opts = {})
- aliased_method, punctuation = method.to_s.sub(/([?!=])$/, ''), $1 # rubocop:disable PerlBackrefs
- with_method, without_method = "#{aliased_method}_with_delay#{punctuation}", "#{aliased_method}_without_delay#{punctuation}"
+ aliased_method = method.to_s.sub(/([?!=])$/, '')
+ punctuation = $1 # rubocop:disable PerlBackrefs
+ with_method = "#{aliased_method}_with_delay#{punctuation}"
+ without_method = "#{aliased_method}_without_delay#{punctuation}"
define_method(with_method) do |*args|
curr_opts = opts.clone
curr_opts.each_key do |key|
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/delayed/recipes.rb new/lib/delayed/recipes.rb
--- old/lib/delayed/recipes.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/lib/delayed/recipes.rb 2015-09-24 23:40:11.000000000 +0200
@@ -38,17 +38,17 @@
desc 'Stop the delayed_job process'
task :stop, :roles => lambda { roles } do
- run "cd #{current_path};#{rails_env} #{delayed_job_command} stop #{args}"
+ run "cd #{current_path} && #{rails_env} #{delayed_job_command} stop #{args}"
end
desc 'Start the delayed_job process'
task :start, :roles => lambda { roles } do
- run "cd #{current_path};#{rails_env} #{delayed_job_command} start #{args}"
+ run "cd #{current_path} && #{rails_env} #{delayed_job_command} start #{args}"
end
desc 'Restart the delayed_job process'
task :restart, :roles => lambda { roles } do
- run "cd #{current_path};#{rails_env} #{delayed_job_command} restart #{args}"
+ run "cd #{current_path} && #{rails_env} #{delayed_job_command} restart #{args}"
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/delayed/syck_ext.rb new/lib/delayed/syck_ext.rb
--- old/lib/delayed/syck_ext.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/lib/delayed/syck_ext.rb 2015-09-24 23:40:11.000000000 +0200
@@ -29,7 +29,7 @@
# Constantize the object so that ActiveSupport can attempt
# its auto loading magic. Will raise LoadError if not successful.
name.constantize
- "Struct::#{ name }"
+ "Struct::#{name}"
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/delayed/tasks.rb new/lib/delayed/tasks.rb
--- old/lib/delayed/tasks.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/lib/delayed/tasks.rb 2015-09-24 23:40:11.000000000 +0200
@@ -19,7 +19,7 @@
:min_priority => ENV['MIN_PRIORITY'],
:max_priority => ENV['MAX_PRIORITY'],
:queues => (ENV['QUEUES'] || ENV['QUEUE'] || '').split(','),
- :quiet => false
+ :quiet => ENV['QUIET']
}
@worker_options[:sleep_delay] = ENV['SLEEP_DELAY'].to_i if ENV['SLEEP_DELAY']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/delayed/worker.rb new/lib/delayed/worker.rb
--- old/lib/delayed/worker.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/lib/delayed/worker.rb 2015-09-24 23:40:11.000000000 +0200
@@ -39,6 +39,7 @@
self.delay_jobs = DEFAULT_DELAY_JOBS
self.queues = DEFAULT_QUEUES
self.read_ahead = DEFAULT_READ_AHEAD
+ @lifecycle = nil
end
reset
@@ -97,13 +98,29 @@
end
def self.lifecycle
- @lifecycle ||= Delayed::Lifecycle.new
+ # In case a worker has not been set up, job enqueueing needs a lifecycle.
+ setup_lifecycle unless @lifecycle
+
+ @lifecycle
+ end
+
+ def self.setup_lifecycle
+ @lifecycle = Delayed::Lifecycle.new
+ plugins.each { |klass| klass.new }
end
def self.reload_app?
defined?(ActionDispatch::Reloader) && Rails.application.config.cache_classes == false
end
+ def self.delay_job?(job)
+ if delay_jobs.is_a?(Proc)
+ delay_jobs.arity == 1 ? delay_jobs.call(job) : delay_jobs.call
+ else
+ delay_jobs
+ end
+ end
+
def initialize(options = {})
@quiet = options.key?(:quiet) ? options[:quiet] : true
@failed_reserve_count = 0
@@ -112,7 +129,9 @@
self.class.send("#{option}=", options[option]) if options.key?(option)
end
- plugins.each { |klass| klass.new }
+ # Reset lifecycle on the offhand chance that something lazily
+ # triggered its creation before all plugins had been registered.
+ self.class.setup_lifecycle
end
# Every worker has a unique name which by default is the pid of the process. There are some
@@ -121,7 +140,7 @@
# it crashed before.
def name
return @name unless @name.nil?
- "#{@name_prefix}host:#{Socket.gethostname} pid:#{Process.pid}" rescue "#{@name_prefix}pid:#{Process.pid}" # rubocop:disable RescueModifier
+ "#{@name_prefix}host:#{Socket.gethostname} pid:#{Process.pid}" rescue "#{@name_prefix}pid:#{Process.pid}"
end
# Sets the name of the worker.
@@ -181,7 +200,8 @@
# Do num jobs and return stats on success/failure.
# Exit early if interrupted.
def work_off(num = 100)
- success, failure = 0, 0
+ success = 0
+ failure = 0
num.times do
case reserve_and_run_one_job
@@ -190,7 +210,7 @@
when false
failure += 1
else
- break # leave if no work could be done
+ break # leave if no work could be done
end
break if stop? # leave if we're exiting
end
@@ -200,18 +220,18 @@
def run(job)
job_say job, 'RUNNING'
- runtime = Benchmark.realtime do
+ runtime = Benchmark.realtime do
Timeout.timeout(max_run_time(job).to_i, WorkerTimeout) { job.invoke_job }
job.destroy
end
job_say job, format('COMPLETED after %.4f', runtime)
- return true # did work
+ return true # did work
rescue DeserializationError => error
- job.last_error = "#{error.message}\n#{error.backtrace.join("\n")}"
+ job.error = error
failed(job)
- rescue => error
+ rescue Exception => error # rubocop:disable RescueException
self.class.lifecycle.run_callbacks(:error, self, job) { handle_failed_job(job, error) }
- return false # work failed
+ return false # work failed
end
# Reschedule the job in the future (when a job fails).
@@ -236,7 +256,7 @@
say "Error when running failure callback: #{error}", 'error'
say error.backtrace.join("\n"), 'error'
ensure
- self.class.destroy_failed_jobs ? job.destroy : job.fail!
+ job.destroy_failed_jobs? ? job.destroy : job.fail!
end
end
end
@@ -268,7 +288,7 @@
protected
def handle_failed_job(job, error)
- job.last_error = "#{error.message}\n#{error.backtrace.join("\n")}"
+ job.error = error
job_say job, "FAILED (#{job.attempts} prior attempts) with #{error.class.name}: #{error.message}", 'error'
reschedule(job)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2014-12-22 14:22:31.000000000 +0100
+++ new/metadata 2015-09-24 23:40:11.000000000 +0200
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: delayed_job
version: !ruby/object:Gem::Version
- version: 4.0.6
+ version: 4.1.1
platform: ruby
authors:
- Brandon Keepers
@@ -15,7 +15,7 @@
autorequire:
bindir: bin
cert_chain: []
-date: 2014-12-22 00:00:00.000000000 Z
+date: 2015-09-24 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: activesupport
@@ -84,6 +84,7 @@
- spec/autoloaded/instance_clazz.rb
- spec/autoloaded/instance_struct.rb
- spec/autoloaded/struct.rb
+- spec/daemons.rb
- spec/delayed/backend/test.rb
- spec/delayed/command_spec.rb
- spec/delayed/serialization/test.rb
@@ -117,7 +118,7 @@
version: '0'
requirements: []
rubyforge_project:
-rubygems_version: 2.4.4
+rubygems_version: 2.4.8
signing_key:
specification_version: 4
summary: Database-backed asynchronous priority queue system -- Extracted from Shopify
@@ -126,6 +127,7 @@
- spec/autoloaded/instance_clazz.rb
- spec/autoloaded/instance_struct.rb
- spec/autoloaded/struct.rb
+- spec/daemons.rb
- spec/delayed/backend/test.rb
- spec/delayed/command_spec.rb
- spec/delayed/serialization/test.rb
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/autoloaded/instance_struct.rb new/spec/autoloaded/instance_struct.rb
--- old/spec/autoloaded/instance_struct.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/spec/autoloaded/instance_struct.rb 2015-09-24 23:40:11.000000000 +0200
@@ -1,5 +1,6 @@
module Autoloaded
- class InstanceStruct < ::Struct.new(nil)
+ InstanceStruct = ::Struct.new(nil)
+ class InstanceStruct
def perform
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/autoloaded/struct.rb new/spec/autoloaded/struct.rb
--- old/spec/autoloaded/struct.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/spec/autoloaded/struct.rb 2015-09-24 23:40:11.000000000 +0200
@@ -1,6 +1,7 @@
# Make sure this file does not get required manually
module Autoloaded
- class Struct < ::Struct.new(nil)
+ Struct = ::Struct.new(nil)
+ class Struct
def perform
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/daemons.rb new/spec/daemons.rb
--- old/spec/daemons.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/spec/daemons.rb 2015-09-24 23:40:11.000000000 +0200
@@ -0,0 +1,2 @@
+# Fake "daemons" file on the spec load path to allow spec/delayed/command_spec.rb
+# to test the Delayed::Command class without actually adding daemons as a dependency.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/delayed/command_spec.rb new/spec/delayed/command_spec.rb
--- old/spec/delayed/command_spec.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/spec/delayed/command_spec.rb 2015-09-24 23:40:11.000000000 +0200
@@ -2,6 +2,129 @@
require 'delayed/command'
describe Delayed::Command do
+ let(:options) { [] }
+ let(:logger) { double('Logger') }
+
+ subject { Delayed::Command.new options }
+
+ before do
+ allow(Delayed::Worker).to receive(:after_fork)
+ allow(Dir).to receive(:chdir)
+ allow(Logger).to receive(:new).and_return(logger)
+ allow_any_instance_of(Delayed::Worker).to receive(:start)
+ allow(Delayed::Worker).to receive(:logger=)
+ allow(Delayed::Worker).to receive(:logger).and_return(nil, logger)
+ end
+
+ shared_examples_for 'uses --log-dir option' do
+ context 'when --log-dir is specified' do
+ let(:options) { ['--log-dir=/custom/log/dir'] }
+
+ it 'creates the delayed_job.log in the specified directory' do
+ expect(Logger).to receive(:new).with('/custom/log/dir/delayed_job.log')
+ subject.run
+ end
+ end
+ end
+
+ describe 'run' do
+ it 'sets the Delayed::Worker logger' do
+ expect(Delayed::Worker).to receive(:logger=).with(logger)
+ subject.run
+ end
+
+ context 'when Rails root is defined' do
+ let(:rails_root) { Pathname.new '/rails/root' }
+ let(:rails) { double('Rails', :root => rails_root) }
+
+ before do
+ stub_const('Rails', rails)
+ end
+
+ it 'runs the Delayed::Worker process in Rails.root' do
+ expect(Dir).to receive(:chdir).with(rails_root)
+ subject.run
+ end
+
+ context 'when --log-dir is not specified' do
+ it 'creates the delayed_job.log in Rails.root/log' do
+ expect(Logger).to receive(:new).with('/rails/root/log/delayed_job.log')
+ subject.run
+ end
+ end
+
+ include_examples 'uses --log-dir option'
+ end
+
+ context 'when Rails root is not defined' do
+ let(:rails_without_root) { double('Rails') }
+
+ before do
+ stub_const('Rails', rails_without_root)
+ end
+
+ it 'runs the Delayed::Worker process in $PWD' do
+ expect(Dir).to receive(:chdir).with(Delayed::Command::DIR_PWD)
+ subject.run
+ end
+
+ context 'when --log-dir is not specified' do
+ it 'creates the delayed_job.log in $PWD/log' do
+ expect(Logger).to receive(:new).with("#{Delayed::Command::DIR_PWD}/log/delayed_job.log")
+ subject.run
+ end
+ end
+
+ include_examples 'uses --log-dir option'
+ end
+
+ context 'when an error is raised' do
+ let(:test_error) { Class.new(StandardError) }
+
+ before do
+ allow(Delayed::Worker).to receive(:new).and_raise(test_error.new('An error'))
+ allow(subject).to receive(:exit_with_error_status)
+ allow(STDERR).to receive(:puts)
+ end
+
+ it 'prints the error message to STDERR' do
+ expect(STDERR).to receive(:puts).with('An error')
+ subject.run
+ end
+
+ it 'exits with an error status' do
+ expect(subject).to receive(:exit_with_error_status)
+ subject.run
+ end
+
+ context 'when Rails logger is not defined' do
+ let(:rails) { double('Rails') }
+
+ before do
+ stub_const('Rails', rails)
+ end
+
+ it 'does not attempt to use the Rails logger' do
+ subject.run
+ end
+ end
+
+ context 'when Rails logger is defined' do
+ let(:rails_logger) { double('Rails logger') }
+ let(:rails) { double('Rails', :logger => rails_logger) }
+
+ before do
+ stub_const('Rails', rails)
+ end
+
+ it 'logs the error to the Rails logger' do
+ expect(rails_logger).to receive(:fatal).with(test_error)
+ subject.run
+ end
+ end
+ end
+ end
+
describe 'parsing --pool argument' do
it 'should parse --pool correctly' do
command = Delayed::Command.new(['--pool=*:1', '--pool=test_queue:4', '--pool=mailers,misc:2'])
@@ -40,13 +163,13 @@
expect(Dir).to receive(:mkdir).with('./tmp/pids').once
[
- ['delayed_job.0', {:quiet => true, :pid_dir => './tmp/pids', :queues => []}],
- ['delayed_job.1', {:quiet => true, :pid_dir => './tmp/pids', :queues => ['test_queue']}],
- ['delayed_job.2', {:quiet => true, :pid_dir => './tmp/pids', :queues => ['test_queue']}],
- ['delayed_job.3', {:quiet => true, :pid_dir => './tmp/pids', :queues => ['test_queue']}],
- ['delayed_job.4', {:quiet => true, :pid_dir => './tmp/pids', :queues => ['test_queue']}],
- ['delayed_job.5', {:quiet => true, :pid_dir => './tmp/pids', :queues => %w[mailers misc]}],
- ['delayed_job.6', {:quiet => true, :pid_dir => './tmp/pids', :queues => %w[mailers misc]}]
+ ['delayed_job.0', {:quiet => true, :pid_dir => './tmp/pids', :log_dir => './log', :queues => []}],
+ ['delayed_job.1', {:quiet => true, :pid_dir => './tmp/pids', :log_dir => './log', :queues => ['test_queue']}],
+ ['delayed_job.2', {:quiet => true, :pid_dir => './tmp/pids', :log_dir => './log', :queues => ['test_queue']}],
+ ['delayed_job.3', {:quiet => true, :pid_dir => './tmp/pids', :log_dir => './log', :queues => ['test_queue']}],
+ ['delayed_job.4', {:quiet => true, :pid_dir => './tmp/pids', :log_dir => './log', :queues => ['test_queue']}],
+ ['delayed_job.5', {:quiet => true, :pid_dir => './tmp/pids', :log_dir => './log', :queues => %w[mailers misc]}],
+ ['delayed_job.6', {:quiet => true, :pid_dir => './tmp/pids', :log_dir => './log', :queues => %w[mailers misc]}]
].each do |args|
expect(command).to receive(:run_process).with(*args).once
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/message_sending_spec.rb new/spec/message_sending_spec.rb
--- old/spec/message_sending_spec.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/spec/message_sending_spec.rb 2015-09-24 23:40:11.000000000 +0200
@@ -62,6 +62,7 @@
class FairyTail
attr_accessor :happy_ending
def self.princesses; end
+
def tell
@happy_ending = true
end
@@ -118,5 +119,25 @@
end.not_to change(fairy_tail, :happy_ending)
end.to change { Delayed::Job.count }.by(1)
end
+
+ it 'does delay when delay_jobs is a proc returning true' do
+ Delayed::Worker.delay_jobs = ->(_job) { true }
+ fairy_tail = FairyTail.new
+ expect do
+ expect do
+ fairy_tail.delay.tell
+ end.not_to change(fairy_tail, :happy_ending)
+ end.to change { Delayed::Job.count }.by(1)
+ end
+
+ it 'does not delay the job when delay_jobs is a proc returning false' do
+ Delayed::Worker.delay_jobs = ->(_job) { false }
+ fairy_tail = FairyTail.new
+ expect do
+ expect do
+ fairy_tail.delay.tell
+ end.to change(fairy_tail, :happy_ending).from(nil).to(true)
+ end.not_to change { Delayed::Job.count }
+ end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/performable_method_spec.rb new/spec/performable_method_spec.rb
--- old/spec/performable_method_spec.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/spec/performable_method_spec.rb 2015-09-24 23:40:11.000000000 +0200
@@ -68,7 +68,7 @@
story = Story.create
expect(story).to receive(:error).with(an_instance_of(Delayed::Job), an_instance_of(RuntimeError))
expect(story).to receive(:tell).and_raise(RuntimeError)
- expect { story.delay.tell.invoke_job }.to raise_error
+ expect { story.delay.tell.invoke_job }.to raise_error(RuntimeError)
end
it 'delegates failure hook to object' do
@@ -98,7 +98,7 @@
story = Story.create
expect(story).to receive(:error).with(an_instance_of(Delayed::Job), an_instance_of(RuntimeError))
expect(story).to receive(:tell).and_raise(RuntimeError)
- expect { story.delay.tell }.to raise_error
+ expect { story.delay.tell }.to raise_error(RuntimeError)
end
it 'delegates failure hook to object' do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/sample_jobs.rb new/spec/sample_jobs.rb
--- old/spec/sample_jobs.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/spec/sample_jobs.rb 2015-09-24 23:40:11.000000000 +0200
@@ -1,4 +1,5 @@
-class NamedJob < Struct.new(:perform)
+NamedJob = Struct.new(:perform)
+class NamedJob
def display_name
'named_job'
end
@@ -22,11 +23,12 @@
cattr_accessor :runs
@runs = 0
def perform
- raise 'did not work'
+ raise Exception, 'did not work'
end
end
-class CustomRescheduleJob < Struct.new(:offset)
+CustomRescheduleJob = Struct.new(:offset)
+class CustomRescheduleJob
cattr_accessor :runs
@runs = 0
def perform
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec/worker_spec.rb new/spec/worker_spec.rb
--- old/spec/worker_spec.rb 2014-12-22 14:22:31.000000000 +0100
+++ new/spec/worker_spec.rb 2015-09-24 23:40:11.000000000 +0200
@@ -154,4 +154,22 @@
@worker.say(@text, Delayed::Worker.default_log_level)
end
end
+
+ describe 'plugin registration' do
+ it 'does not double-register plugins on worker instantiation' do
+ performances = 0
+ plugin = Class.new(Delayed::Plugin) do
+ callbacks do |lifecycle|
+ lifecycle.before(:enqueue) { performances += 1 }
+ end
+ end
+ Delayed::Worker.plugins << plugin
+
+ Delayed::Worker.new
+ Delayed::Worker.new
+ Delayed::Worker.lifecycle.run_callbacks(:enqueue, nil) {}
+
+ expect(performances).to eq(1)
+ end
+ end
end
1
0
Hello community,
here is the log from the commit of package yast2-drbd for openSUSE:Factory checked in at 2015-09-27 08:40:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-drbd (Old)
and /work/SRC/openSUSE:Factory/.yast2-drbd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-drbd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-drbd/yast2-drbd.changes 2015-09-17 09:20:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-drbd.new/yast2-drbd.changes 2015-09-27 08:39:43.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Sep 21 05:13:56 UTC 2015 - nwang(a)suse.com
+
+- BSC#946596. Support both hostname and hostname+domain
+- Version 3.1.17
+
+-------------------------------------------------------------------
Old:
----
yast2-drbd-3.1.16.tar.bz2
New:
----
yast2-drbd-3.1.17.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-drbd.spec ++++++
--- /var/tmp/diff_new_pack.ApJecr/_old 2015-09-27 08:39:43.000000000 +0200
+++ /var/tmp/diff_new_pack.ApJecr/_new 2015-09-27 08:39:43.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-drbd
-Version: 3.1.16
+Version: 3.1.17
Release: 0
%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
++++++ yast2-drbd-3.1.16.tar.bz2 -> yast2-drbd-3.1.17.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-drbd-3.1.16/package/yast2-drbd.changes new/yast2-drbd-3.1.17/package/yast2-drbd.changes
--- old/yast2-drbd-3.1.16/package/yast2-drbd.changes 2015-09-14 07:56:11.000000000 +0200
+++ new/yast2-drbd-3.1.17/package/yast2-drbd.changes 2015-09-25 05:56:09.000000000 +0200
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Mon Sep 21 05:13:56 UTC 2015 - nwang(a)suse.com
+
+- BSC#946596. Support both hostname and hostname+domain
+- Version 3.1.17
+
+-------------------------------------------------------------------
Mon Sep 14 05:48:36 UTC 2015 - nwang(a)suse.com
- BSC#945618. Remove the second dummy help button when
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-drbd-3.1.16/package/yast2-drbd.spec new/yast2-drbd-3.1.17/package/yast2-drbd.spec
--- old/yast2-drbd-3.1.16/package/yast2-drbd.spec 2015-09-14 07:56:11.000000000 +0200
+++ new/yast2-drbd-3.1.17/package/yast2-drbd.spec 2015-09-25 05:56:09.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-drbd
-Version: 3.1.16
+Version: 3.1.17
Release: 0
%define _fwdefdir /etc/sysconfig/SuSEfirewall2.d/services
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-drbd-3.1.16/src/modules/Drbd.rb new/yast2-drbd-3.1.17/src/modules/Drbd.rb
--- old/yast2-drbd-3.1.16/src/modules/Drbd.rb 2015-09-14 07:56:11.000000000 +0200
+++ new/yast2-drbd-3.1.17/src/modules/Drbd.rb 2015-09-25 06:46:09.000000000 +0200
@@ -142,7 +142,7 @@
out = Convert.to_map(
SCR.Execute(
path(".target.bash_output"),
- "echo -n `uname -n`"
+ "echo -n `uname -n|cut -d '.' -f 1`"
)
)
# strip is necessary
1
0
Hello community,
here is the log from the commit of package rubygem-pry for openSUSE:Factory checked in at 2015-09-27 08:40:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-pry (Old)
and /work/SRC/openSUSE:Factory/.rubygem-pry.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-pry"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-pry/rubygem-pry.changes 2014-10-14 07:12:22.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-pry.new/rubygem-pry.changes 2015-09-27 08:39:41.000000000 +0200
@@ -1,0 +2,11 @@
+Fri Sep 25 04:30:40 UTC 2015 - coolo(a)suse.com
+
+- updated to version 0.10.2
+ see installed CHANGELOG.md
+
+ ### 0.10.2
+
+ * cherry-pick c2ed9ec135bd791a32c70fbe05cc0508ea17c4040e from master (fix inf. loop with prepended methods source retrieval)
+ * Update some specs for recent ruby versions (2.2+)
+
+-------------------------------------------------------------------
Old:
----
pry-0.10.1.gem
New:
----
pry-0.10.2.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-pry.spec ++++++
--- /var/tmp/diff_new_pack.nG6CHS/_old 2015-09-27 08:39:42.000000000 +0200
+++ /var/tmp/diff_new_pack.nG6CHS/_new 2015-09-27 08:39:42.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-pry
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,8 +16,15 @@
#
+#
+# This file was generated with a gem2rpm.yml and not just plain gem2rpm.
+# All sections marked as MANUAL, license headers, summaries and descriptions
+# can be maintained in that file. Please consult this file before editing any
+# of those fields
+#
+
Name: rubygem-pry
-Version: 0.10.1
+Version: 0.10.2
Release: 0
%define mod_name pry
%define mod_full_name %{mod_name}-%{version}
++++++ pry-0.10.1.gem -> pry-0.10.2.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2014-08-17 01:34:59.000000000 +0200
+++ new/CHANGELOG.md 2015-09-25 02:35:04.000000000 +0200
@@ -1,3 +1,8 @@
+### 0.10.2
+
+* cherry-pick c2ed9ec135bd791a32c70fbe05cc0508ea17c4040e from master (fix inf. loop with prepended methods source retrieval)
+* Update some specs for recent ruby versions (2.2+)
+
### 0.10.1
* Fix bugs with jruby
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/pry/exceptions.rb new/lib/pry/exceptions.rb
--- old/lib/pry/exceptions.rb 2014-08-17 01:34:59.000000000 +0200
+++ new/lib/pry/exceptions.rb 2015-09-25 02:35:04.000000000 +0200
@@ -52,6 +52,7 @@
def self.===(exception)
["can't modify frozen class/module",
"can't modify frozen Class",
+ "can't modify frozen object"
].include?(exception.message)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/pry/method/weird_method_locator.rb new/lib/pry/method/weird_method_locator.rb
--- old/lib/pry/method/weird_method_locator.rb 2014-08-17 01:34:59.000000000 +0200
+++ new/lib/pry/method/weird_method_locator.rb 2015-09-25 02:35:04.000000000 +0200
@@ -104,8 +104,10 @@
# TODO: Fix up the exception handling so we don't need a bare rescue
if normal_method?(guess)
return guess
- else
+ elsif guess != guess.super
guess = guess.super
+ else
+ break
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/pry/version.rb new/lib/pry/version.rb
--- old/lib/pry/version.rb 2014-08-17 01:34:59.000000000 +0200
+++ new/lib/pry/version.rb 2015-09-25 02:35:04.000000000 +0200
@@ -1,3 +1,3 @@
class Pry
- VERSION = "0.10.1"
+ VERSION = "0.10.2"
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2014-08-17 01:34:59.000000000 +0200
+++ new/metadata 2015-09-25 02:35:04.000000000 +0200
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: pry
version: !ruby/object:Gem::Version
- version: 0.10.1
+ version: 0.10.2
platform: ruby
authors:
- John Mair (banisterfiend)
@@ -10,62 +10,62 @@
autorequire:
bindir: bin
cert_chain: []
-date: 2014-08-16 00:00:00.000000000 Z
+date: 2015-09-25 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: coderay
requirement: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ~>
- !ruby/object:Gem::Version
version: 1.1.0
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ~>
- !ruby/object:Gem::Version
version: 1.1.0
- !ruby/object:Gem::Dependency
name: slop
requirement: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ~>
- !ruby/object:Gem::Version
version: '3.4'
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ~>
- !ruby/object:Gem::Version
version: '3.4'
- !ruby/object:Gem::Dependency
name: method_source
requirement: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ~>
- !ruby/object:Gem::Version
version: 0.8.1
type: :runtime
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ~>
- !ruby/object:Gem::Version
version: 0.8.1
- !ruby/object:Gem::Dependency
name: bundler
requirement: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ~>
- !ruby/object:Gem::Version
version: '1.0'
type: :development
prerelease: false
version_requirements: !ruby/object:Gem::Requirement
requirements:
- - - "~>"
+ - - ~>
- !ruby/object:Gem::Version
version: '1.0'
description: An IRB alternative and runtime developer console
@@ -217,17 +217,17 @@
- lib
required_ruby_version: !ruby/object:Gem::Requirement
requirements:
- - - ">="
+ - - '>='
- !ruby/object:Gem::Version
version: '0'
required_rubygems_version: !ruby/object:Gem::Requirement
requirements:
- - - ">="
+ - - '>='
- !ruby/object:Gem::Version
version: '0'
requirements: []
rubyforge_project:
-rubygems_version: 2.2.2
+rubygems_version: 2.4.6
signing_key:
specification_version: 4
summary: An IRB alternative and runtime developer console
1
0
Hello community,
here is the log from the commit of package nftables for openSUSE:Factory checked in at 2015-09-27 08:40:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nftables (Old)
and /work/SRC/openSUSE:Factory/.nftables.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nftables"
Changes:
--------
--- /work/SRC/openSUSE:Factory/nftables/nftables.changes 2015-05-24 19:34:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.nftables.new/nftables.changes 2015-09-27 08:39:40.000000000 +0200
@@ -1,0 +2,9 @@
+Thu Sep 17 21:16:31 UTC 2015 - jengelh(a)inai.de
+
+- Update to new upstream release 0.5
+* Support combinations of two or more selectors to build a tuple
+* Timeout support for sets
+* Dormant flag for tables
+* Default chain policy specifiable on creation
+
+-------------------------------------------------------------------
Old:
----
nftables-0.4.tar.bz2
nftables-0.4.tar.bz2.sig
New:
----
nftables-0.5.tar.bz2
nftables-0.5.tar.bz2.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nftables.spec ++++++
--- /var/tmp/diff_new_pack.GxsZS0/_old 2015-09-27 08:39:40.000000000 +0200
+++ /var/tmp/diff_new_pack.GxsZS0/_new 2015-09-27 08:39:40.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package nftables
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,14 @@
Name: nftables
-Version: 0.4
+Version: 0.5
Release: 0
Summary: Userspace utility to access the nf_tables packet filter
License: GPL-2.0
Group: Productivity/Networking/Security
Url: http://netfilter.org/projects/nftables/
#Git-Clone: git://git.netfilter.org/nftables
+
Source: http://ftp.netfilter.org/pub/nftables/nftables-%version.tar.bz2
Source2: http://ftp.netfilter.org/pub/nftables/nftables-%version.tar.bz2.sig
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -36,7 +37,7 @@
BuildRequires: readline-devel
BuildRequires: xsltproc
BuildRequires: pkgconfig(libmnl) >= 1.0.3
-BuildRequires: pkgconfig(libnftnl) >= 1.0.2
+BuildRequires: pkgconfig(libnftnl) >= 1.0.5
Obsoletes: nftables-plus < %version-%release
Provides: nftables-plus = %version-%release
++++++ nftables-0.4.tar.bz2 -> nftables-0.5.tar.bz2 ++++++
++++ 28399 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package gthumb for openSUSE:Factory checked in at 2015-09-27 08:40:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gthumb (Old)
and /work/SRC/openSUSE:Factory/.gthumb.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gthumb"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gthumb/gthumb.changes 2015-08-14 15:36:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gthumb.new/gthumb.changes 2015-09-27 08:39:37.000000000 +0200
@@ -1,0 +2,8 @@
+Wed Sep 23 17:52:32 UTC 2015 - zaitor(a)opensuse.org
+
+- Update to version 3.4.1:
+ + Fixed build on Fedora 23 (bgo#747982).
+ + Allow cross-compiling (bgo#755390).
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
gthumb-3.4.0.tar.xz
New:
----
gthumb-3.4.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gthumb.spec ++++++
--- /var/tmp/diff_new_pack.ksVEtQ/_old 2015-09-27 08:39:38.000000000 +0200
+++ /var/tmp/diff_new_pack.ksVEtQ/_new 2015-09-27 08:39:38.000000000 +0200
@@ -17,7 +17,7 @@
Name: gthumb
-Version: 3.4.0
+Version: 3.4.1
Release: 0
# FIXME: Add libchamplain BuildRequires once the map feature is considered stable.
Summary: An Image Viewer and Browser for GNOME
++++++ gthumb-3.4.0.tar.xz -> gthumb-3.4.1.tar.xz ++++++
++++ 63979 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package cgit for openSUSE:Factory checked in at 2015-09-27 08:40:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cgit (Old)
and /work/SRC/openSUSE:Factory/.cgit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cgit"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cgit/cgit.changes 2015-06-15 17:48:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.cgit.new/cgit.changes 2015-09-27 08:39:33.000000000 +0200
@@ -1,0 +2,5 @@
+Thu Sep 24 14:47:29 UTC 2015 - jengelh(a)inai.de
+
+- Update bundled git tarball to 2.5.3
+
+-------------------------------------------------------------------
Old:
----
git-2.4.3.tar.sign
git-2.4.3.tar.xz
New:
----
git-2.5.3.tar.sign
git-2.5.3.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cgit.spec ++++++
--- /var/tmp/diff_new_pack.b2rTyF/_old 2015-09-27 08:39:34.000000000 +0200
+++ /var/tmp/diff_new_pack.b2rTyF/_new 2015-09-27 08:39:34.000000000 +0200
@@ -16,7 +16,7 @@
#
-%define git_version 2.4.3
+%define git_version 2.5.3
Name: cgit
Version: 0.11.2
++++++ git-2.4.3.tar.xz -> git-2.5.3.tar.xz ++++++
++++ 86570 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package soxr for openSUSE:Factory checked in at 2015-09-27 08:40:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/soxr (Old)
and /work/SRC/openSUSE:Factory/.soxr.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "soxr"
Changes:
--------
--- /work/SRC/openSUSE:Factory/soxr/soxr.changes 2015-07-02 22:46:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.soxr.new/soxr.changes 2015-09-27 08:39:32.000000000 +0200
@@ -1,0 +2,17 @@
+Thu Sep 24 17:53:12 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 1.1.2
+ * Fix conversion failure when I/O types differ but I/O rates
+ don't.
+ * Fix #defines for interpolation order selection.
+ * Fix ineffectual SOXR_MINIMUM_PHASE and SOXR_INTERMEDIATE_PHASE
+ in soxr_quality_spec recipe.
+ * Fix soxr_delay() returning a negative number after end-of-input
+ has been indicated.
+ * Fix crash when using soxr_process() after calling soxr_clear().
+ * Be more POSIX compliant w.r.t. errno in the examples; fixes
+ erroneous reporting of errors on FreeBSD.
+ * Quality improvement for variable-rate.
+ * Various fixes/improvements to build/tests/documentation.
+
+-------------------------------------------------------------------
Old:
----
soxr-0.1.1.tar.xz
New:
----
soxr-0.1.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ soxr.spec ++++++
--- /var/tmp/diff_new_pack.y8RZqj/_old 2015-09-27 08:39:33.000000000 +0200
+++ /var/tmp/diff_new_pack.y8RZqj/_new 2015-09-27 08:39:33.000000000 +0200
@@ -19,7 +19,7 @@
%define lname libsoxr0
%define lname_lsr libsoxr-lsr0
Name: soxr
-Version: 0.1.1
+Version: 0.1.2
Release: 0
Summary: The SoX Resampler library
License: LGPL-2.1+
@@ -55,8 +55,8 @@
%package devel
Summary: Development files of soxr
Group: Development/Libraries/C and C++
-Requires: %{lname} = %{version}
Requires: %{lname_lsr} = %{version}
+Requires: %{lname} = %{version}
%description devel
The soxr development package includes the header files,
++++++ soxr-0.1.1.tar.xz -> soxr-0.1.2.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/CMakeLists.txt new/soxr-0.1.2-Source/CMakeLists.txt
--- old/soxr-0.1.1-Source/CMakeLists.txt 2013-03-01 12:03:17.000000000 +0100
+++ new/soxr-0.1.2-Source/CMakeLists.txt 2015-08-27 21:37:22.000000000 +0200
@@ -12,7 +12,7 @@
set (PROJECT_VERSION_MAJOR 0)
set (PROJECT_VERSION_MINOR 1)
-set (PROJECT_VERSION_PATCH 1)
+set (PROJECT_VERSION_PATCH 2)
# For shared-object; if, since the last public release:
# * library code changed at all: ++revision
@@ -21,7 +21,7 @@
# * interfaces removed: age = 0
set (SO_VERSION_CURRENT 1)
-set (SO_VERSION_REVISION 0)
+set (SO_VERSION_REVISION 1)
set (SO_VERSION_AGE 1)
@@ -75,10 +75,11 @@
if (WITH_OPENMP)
find_package (OpenMP)
-endif ()
-if (OPENMP_FOUND)
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
- set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
+ if (OPENMP_FOUND)
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+ set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
+ set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OpenMP_SHARED_LINKER_FLAGS}")
+ endif ()
endif ()
if (WITH_SIMD)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/NEWS new/soxr-0.1.2-Source/NEWS
--- old/soxr-0.1.1-Source/NEWS 2013-03-03 08:57:22.000000000 +0100
+++ new/soxr-0.1.2-Source/NEWS 2015-09-05 20:16:07.000000000 +0200
@@ -1,3 +1,16 @@
+Version 0.1.2 (2015-09-05)
+ * Fix conversion failure when I/O types differ but I/O rates don't.
+ * Fix #defines for interpolation order selection.
+ * Fix ineffectual SOXR_MINIMUM_PHASE and SOXR_INTERMEDIATE_PHASE in
+ soxr_quality_spec recipe.
+ * Fix soxr_delay() returning a negative number after end-of-input has been
+ indicated.
+ * Fix crash when using soxr_process() after calling soxr_clear().
+ * Be more POSIX compliant w.r.t. errno in the examples; fixes erroneous
+ reporting of errors on FreeBSD.
+ * Quality improvement for variable-rate.
+ * Various fixes/improvements to build/tests/documentation.
+
Version 0.1.1 (2013-03-03)
* Minor fixes/improvements to build/tests.
* Fix crash (e.g. with k3b) when null error pointer passed to src_create (lsr
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/README new/soxr-0.1.2-Source/README
--- old/soxr-0.1.1-Source/README 2013-03-01 10:57:29.000000000 +0100
+++ new/soxr-0.1.2-Source/README 2015-08-27 09:53:52.000000000 +0200
@@ -8,8 +8,8 @@
It aims to give fast¹ and very high quality² results for any constant
(rational or irrational) resampling ratio. Phase-response, preserved
bandwidth, aliasing, and rejection level parameters are all configurable;
-alternatively, simple `preset' configurations may be selected. An
-experimental, variable-rate resampling mode of operation is also included.
+alternatively, simple `preset' configurations may be selected. A
+variable-rate resampling mode of operation is also included.
The resampler is currently available either as part of `libsox' (the audio
file-format and effect library), or stand-alone as `libsoxr' (this package).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/cmake/Modules/FindOpenMP.cmake new/soxr-0.1.2-Source/cmake/Modules/FindOpenMP.cmake
--- old/soxr-0.1.1-Source/cmake/Modules/FindOpenMP.cmake 2013-01-12 15:05:42.000000000 +0100
+++ new/soxr-0.1.2-Source/cmake/Modules/FindOpenMP.cmake 2015-08-27 09:53:52.000000000 +0200
@@ -9,7 +9,9 @@
#
# Supported compilers can be found at http://openmp.org/wp/openmp-compilers/
#
-# Modified for libsoxr not to rely on presence of C++ compiler.
+# Modifications for soxr:
+# * don't rely on presence of C++ compiler
+# * support MINGW
#
#=============================================================================
# Copyright 2009 Kitware, Inc.
@@ -103,6 +105,11 @@
# handle the standard arguments for find_package
find_package_handle_standard_args (OpenMP DEFAULT_MSG
- OpenMP_C_FLAGS OpenMP_C_FLAGS)
+ OpenMP_C_FLAGS)
-mark_as_advanced (OpenMP_C_FLAGS)
+if (MINGW)
+ set (OpenMP_SHARED_LINKER_FLAGS "${OpenMP_SHARED_LINKER_FLAGS} ${OpenMP_C_FLAGS}")
+ set (OpenMP_EXE_LINKER_FLAGS "${OpenMP_EXE_LINKER_FLAGS} ${OpenMP_C_FLAGS}")
+endif ()
+
+mark_as_advanced (OpenMP_C_FLAGS OpenMP_SHARED_LINKER_FLAGS OpenMP_EXE_LINKER_FLAGS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/cmake/Modules/FindSIMD.cmake new/soxr-0.1.2-Source/cmake/Modules/FindSIMD.cmake
--- old/soxr-0.1.1-Source/cmake/Modules/FindSIMD.cmake 2013-01-12 15:05:42.000000000 +0100
+++ new/soxr-0.1.2-Source/cmake/Modules/FindSIMD.cmake 2015-08-27 09:53:52.000000000 +0200
@@ -40,12 +40,18 @@
include (CheckCSourceCompiles)
include (FindPackageHandleStandardArgs)
+if (WIN32) # Safety for when mixed lib/app compilers (but performance hit)
+ set (GCC_WIN32_SIMD_OPTS "-mincoming-stack-boundary=2")
+endif ()
+
set (SIMD_C_FLAG_CANDIDATES
- # Microsoft Visual Studio x64
+ # x64
" "
# Microsoft Visual Studio x86
"/arch:SSE /fp:fast -D__SSE__"
- # Gnu
+ # Gcc x86
+ "-msse -mfpmath=sse ${GCC_WIN32_SIMD_OPTS}"
+ # Gcc x86 (old versions)
"-msse -mfpmath=sse"
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/examples/2-stream.C new/soxr-0.1.2-Source/examples/2-stream.C
--- old/soxr-0.1.1-Source/examples/2-stream.C 2013-01-21 16:15:48.000000000 +0100
+++ new/soxr-0.1.2-Source/examples/2-stream.C 2015-08-27 09:53:52.000000000 +0200
@@ -72,7 +72,7 @@
soxr_delete(soxr);
free(obuf), free(ibuf);
/* Diagnostics: */
- fprintf(stderr, "%-26s %s; I/O: %s\n", arg[0],
- soxr_strerror(error), errno? strerror(errno) : "no error");
- return error || errno;
+ fprintf(stderr, "%-26s %s; I/O: %s\n", arg[0], soxr_strerror(error),
+ ferror(stdin) || ferror(stdout)? strerror(errno) : "no error");
+ return !!error;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/examples/3-options-input-fn.c new/soxr-0.1.2-Source/examples/3-options-input-fn.c
--- old/soxr-0.1.1-Source/examples/3-options-input-fn.c 2013-02-27 22:18:14.000000000 +0100
+++ new/soxr-0.1.2-Source/examples/3-options-input-fn.c 2015-08-29 08:48:54.000000000 +0200
@@ -47,16 +47,17 @@
double const orate = n? --n, atof(*arg++) : 44100.;
unsigned const chans = n? --n, (unsigned)atoi(*arg++) : 1;
soxr_datatype_t const itype = n? --n, (soxr_datatype_t)atoi(*arg++) : 0;
- soxr_datatype_t const otype = n? --n, (soxr_datatype_t)atoi(*arg++) : 0;
+ unsigned const ospec = n? --n, (soxr_datatype_t)atoi(*arg++) : 0;
unsigned long const q_recipe= n? --n, strtoul(*arg++, 0, 16) : SOXR_HQ;
unsigned long const q_flags = n? --n, strtoul(*arg++, 0, 16) : 0;
double const passband_end = n? --n, atof(*arg++) : 0;
double const stopband_begin = n? --n, atof(*arg++) : 0;
double const phase_response = n? --n, atof(*arg++) : -1;
int const use_threads = n? --n, atoi(*arg++) : 1;
+ soxr_datatype_t const otype = ospec & 3;
soxr_quality_spec_t q_spec = soxr_quality_spec(q_recipe, q_flags);
- soxr_io_spec_t const io_spec = soxr_io_spec(itype, otype);
+ soxr_io_spec_t io_spec = soxr_io_spec(itype, otype);
soxr_runtime_spec_t const runtime_spec = soxr_runtime_spec(!use_threads);
/* Allocate resampling input and output buffers in proportion to the input
@@ -79,6 +80,7 @@
if (passband_end > 0) q_spec.passband_end = passband_end / 100;
if (stopband_begin > 0) q_spec.stopband_begin = stopband_begin / 100;
if (phase_response >=0) q_spec.phase_response = phase_response;
+ io_spec.flags = ospec & ~7u;
/* Create a stream resampler: */
soxr = soxr_create(
@@ -104,7 +106,8 @@
soxr_delete(soxr);
free(obuf), free(ibuf);
/* Diagnostics: */
- fprintf(stderr, "%-26s %s; %lu clips; I/O: %s\n", arg0, soxr_strerror(error),
- (long unsigned)clips, errno? strerror(errno) : "no error");
- return error || errno;
+ fprintf(stderr, "%-26s %s; %lu clips; I/O: %s\n",
+ arg0, soxr_strerror(error), (long unsigned)clips,
+ ferror(stdin) || ferror(stdout)? strerror(errno) : "no error");
+ return !!error;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/examples/4-split-channels.c new/soxr-0.1.2-Source/examples/4-split-channels.c
--- old/soxr-0.1.1-Source/examples/4-split-channels.c 2013-01-12 15:00:02.000000000 +0100
+++ new/soxr-0.1.2-Source/examples/4-split-channels.c 2015-08-27 09:53:52.000000000 +0200
@@ -141,7 +141,8 @@
free(obuf), free(ibuf), free(obufs), free(ibufs);
free(obuf_ptrs), free(ibuf_ptrs);
/* Diagnostics: */
- fprintf(stderr, "%-26s %s; %lu clips; I/O: %s\n", arg0, soxr_strerror(error),
- (long unsigned)clips, errno? strerror(errno) : "no error");
- return error || errno;
+ fprintf(stderr, "%-26s %s; %lu clips; I/O: %s\n",
+ arg0, soxr_strerror(error), (long unsigned)clips,
+ ferror(stdin) || ferror(stdout)? strerror(errno) : "no error");
+ return !!error;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/examples/5-variable-rate.c new/soxr-0.1.2-Source/examples/5-variable-rate.c
--- old/soxr-0.1.1-Source/examples/5-variable-rate.c 2013-01-12 15:00:02.000000000 +0100
+++ new/soxr-0.1.2-Source/examples/5-variable-rate.c 2015-08-27 09:53:52.000000000 +0200
@@ -1,11 +1,10 @@
/* SoX Resampler Library Copyright (c) 2007-13 robs(a)users.sourceforge.net
* Licence for this file: LGPL v2.1 See LICENCE for details. */
-/* Example 5: Variable-rate resampling (N.B. experimental). A test signal
- * (held in a buffer) is resampled over a wide range of octaves. Resampled
- * data is sent to stdout as raw, float32 samples. Choices of 2 test-signals
- * and of 2 ways of varying the sample-rate are combined in a command-line
- * option:
+/* Example 5: Variable-rate resampling. A test signal (held in a buffer) is
+ * resampled over a wide range of octaves. Resampled data is sent to stdout as
+ * raw, float32 samples. Choices of 2 test-signals and of 2 ways of varying
+ * the sample-rate are combined in a command-line option:
*
* Usage: ./5-variable-rate [0|1|2|3]
*/
@@ -30,7 +29,7 @@
int opt = argc <= 1? 2 : (atoi(arg[1]) & 3), saw = opt & 1, fm = opt & 2;
float ibuf[10 << OCTAVES], obuf[AL(ibuf)];
int i, wl = 2 << OCTAVES;
- size_t ilen = AL(ibuf), need_input = 1;
+ size_t ilen = AL(ibuf), need_input = 1, written;
size_t odone, total_odone, total_olen = OLEN * FS;
size_t olen1 = fm? 10 : AL(obuf); /* Small block-len if fast-changing ratio */
soxr_error_t error;
@@ -70,7 +69,7 @@
do {
size_t len = need_input? ilen : 0;
error = soxr_process(soxr, ibuf, len, NULL, obuf, block_len, &odone);
- fwrite(obuf, sizeof(float), odone, stdout);
+ written = fwrite(obuf, sizeof(float), odone, stdout);
/* Update counters for the current block and for the total length: */
block_len -= odone;
@@ -80,7 +79,7 @@
* again, supplying more input samples: */
need_input = block_len != 0;
- } while (need_input && !error);
+ } while (need_input && !error && written == odone);
/* Now that the block for the current ioratio is complete, go back
* round the main `for' loop in order to process the next block. */
@@ -88,7 +87,7 @@
soxr_delete(soxr);
}
/* Diagnostics: */
- fprintf(stderr, "%-26s %s; I/O: %s\n", arg[0],
- soxr_strerror(error), errno? strerror(errno) : "no error");
- return error || errno;
+ fprintf(stderr, "%-26s %s; I/O: %s\n", arg[0], soxr_strerror(error),
+ ferror(stdin) || ferror(stdout)? strerror(errno) : "no error");
+ return !!error;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/go new/soxr-0.1.2-Source/go
--- old/soxr-0.1.1-Source/go 2013-03-01 16:31:58.000000000 +0100
+++ new/soxr-0.1.2-Source/go 2015-08-27 09:53:52.000000000 +0200
@@ -12,6 +12,6 @@
mkdir -p $build
cd $build
-cmake -DCMAKE_BUILD_TYPE=$build .. &&
+cmake -DCMAKE_BUILD_TYPE=$build -Wno-dev .. &&
make $j &&
(ctest $j || echo "FAILURE details in $build/Testing/Temporary/LastTest.log")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/go.bat new/soxr-0.1.2-Source/go.bat
--- old/soxr-0.1.1-Source/go.bat 2013-01-12 15:00:02.000000000 +0100
+++ new/soxr-0.1.2-Source/go.bat 2015-08-27 09:53:52.000000000 +0200
@@ -11,7 +11,7 @@
mkdir %build%
cd %build%
-cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=%build% ..
+cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=%build% -Wno-dev ..
if errorlevel 1 goto end
nmake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/inst-check-soxr new/soxr-0.1.2-Source/inst-check-soxr
--- old/soxr-0.1.1-Source/inst-check-soxr 2013-03-02 10:36:57.000000000 +0100
+++ new/soxr-0.1.2-Source/inst-check-soxr 2015-08-27 13:38:59.000000000 +0200
@@ -20,7 +20,7 @@
if [ x"$arg" = x ]; then
echo "Examples in `pwd`; using local headers:" # for when dev pkg not installed
libs=-l$1
- cflags=-I$dir/src
+ cflags=-I$dir/src
else
echo "Examples in `pwd`; using pkg-config:"
libs=$(pkg-config --libs $1)
@@ -29,7 +29,7 @@
for f in ?$2-*.[cC]; do
cc=cc; echo $f | grep -q C$ && cc=c++
out=$tmp/`echo $f | sed "s/.[cC]$//"`
- cmd="$cc $cflags -o $out $f $libs"
+ cmd="$cc $cflags -o $out $f $libs -lm"
echo $cmd; $cmd
done
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/src/CMakeLists.txt new/soxr-0.1.2-Source/src/CMakeLists.txt
--- old/soxr-0.1.1-Source/src/CMakeLists.txt 2013-03-03 08:58:39.000000000 +0100
+++ new/soxr-0.1.2-Source/src/CMakeLists.txt 2015-08-27 20:21:23.000000000 +0200
@@ -1,6 +1,21 @@
# SoX Resampler Library Copyright (c) 2007-13 robs(a)users.sourceforge.net
# Licence for this file: LGPL v2.1 See LICENCE for details.
+
+
+# Can generate vr-coefs.h but it complicates cross-compiling & non-cmake builds
+
+if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/vr-coefs.h)
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+ set_property(SOURCE vr32.c APPEND PROPERTY OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/vr-coefs.h)
+ add_executable (vr-coefs vr-coefs.c)
+ ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/vr-coefs.h
+ COMMAND vr-coefs > ${CMAKE_CURRENT_BINARY_DIR}/vr-coefs.h
+ DEPENDS vr-coefs)
+endif ()
+
+
+
add_definitions (${PROJECT_C_FLAGS} -DSOXR_LIB)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/src/rate.h new/soxr-0.1.2-Source/src/rate.h
--- old/soxr-0.1.1-Source/src/rate.h 2013-03-02 09:56:53.000000000 +0100
+++ new/soxr-0.1.2-Source/src/rate.h 2015-08-27 09:53:52.000000000 +0200
@@ -1,4 +1,4 @@
-/* SoX Resampler Library Copyright (c) 2007-13 robs(a)users.sourceforge.net
+/* SoX Resampler Library Copyright (c) 2007-14 robs(a)users.sourceforge.net
* Licence for this file: LGPL v2.1 See LICENCE for details. */
#include <math.h>
@@ -447,7 +447,7 @@
p->num_stages = shift + have_pre_stage + have_arb_stage + have_post_stage;
if (!p->num_stages && multiplier != 1) {
- arbL = 0;
+ bits = arbL = 0; /* Use cubic_stage in this case. */
++p->num_stages;
}
p->stages = calloc((size_t)p->num_stages + 1, sizeof(*p->stages));
@@ -483,7 +483,7 @@
log2_min_dft_size, log2_large_dft_size);
}
- if (!bits && have_arb_stage) { /* Quick and dirty arb stage: */
+ if (!bits && have_arb_stage) { /* `Quick' cubic arb stage: */
arb_stage.type = cubic_stage;
arb_stage.fn = cubic_stage_fn;
arb_stage.mult = multiplier, multiplier = 1;
@@ -621,17 +621,19 @@
uint64_t samples_out = (uint64_t)((double)p->samples_in / p->factor + .5);
#endif
size_t remaining = (size_t)(samples_out - p->samples_out);
- sample_t * buff = calloc(1024, sizeof(*buff));
- if (samples_out > p->samples_out) {
+ if ((size_t)fifo_occupancy(fifo) < remaining) {
+ uint64_t samples_in = p->samples_in;
+ sample_t * buff = calloc(1024, sizeof(*buff));
+
while ((size_t)fifo_occupancy(fifo) < remaining) {
rate_input(p, buff, 1024);
rate_process(p);
}
fifo_trim_to(fifo, (int)remaining);
- p->samples_in = 0;
+ p->samples_in = samples_in;
+ free(buff);
}
- free(buff);
}
static void rate_close(rate_t * p)
@@ -663,10 +665,10 @@
{
#if defined _MSC_VER && _MSC_VER == 1200
double samples_out = (double)(int64_t)p->samples_in / p->factor;
- return samples_out - (double)(int64_t)p->samples_out;
+ return max(0, samples_out - (double)(int64_t)p->samples_out);
#else
double samples_out = (double)p->samples_in / p->factor;
- return samples_out - (double)p->samples_out;
+ return max(0, samples_out - (double)p->samples_out);
#endif
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/src/rint-clip.h new/soxr-0.1.2-Source/src/rint-clip.h
--- old/soxr-0.1.1-Source/src/rint-clip.h 2013-01-12 15:00:02.000000000 +0100
+++ new/soxr-0.1.2-Source/src/rint-clip.h 2015-08-27 09:53:52.000000000 +0200
@@ -61,7 +61,7 @@
for (i = 0; i < (n & ~7u);) {
COPY_SEED1;
DITHER_VARS;
- _ _ _ _ _ _ _ _ 0;
+ _ _ _ _ _ _ _ _ (void)0;
if (fe_test_invalid()) {
fe_clear_invalid();
RINT_CLIP(dest, src, 1, i - 8, i, &clips PASS_SEED1);
@@ -74,11 +74,11 @@
double d;
for (i = 0; i < (n & ~7u);) {
DITHER_VARS;
- _ _ _ _ _ _ _ _ 0;
+ _ _ _ _ _ _ _ _ (void)0;
}
{
DITHER_VARS;
- for (; i < n; _ 0);
+ for (; i < n; _ (void)0);
}
#endif
SAVE_SEED;
@@ -104,7 +104,7 @@
for (i = 0; i < (n & ~7u);) {
COPY_SEED1;
DITHER_VARS;
- _ _ _ _ _ _ _ _ 0;
+ _ _ _ _ _ _ _ _ (void)0;
if (fe_test_invalid()) {
fe_clear_invalid();
RINT_CLIP(dest, src, stride, i - 8, i, &clips PASS_SEED1);
@@ -120,11 +120,11 @@
FLOATX const * const src = srcs[j];
for (i = 0; i < (n & ~7u);) {
DITHER_VARS;
- _ _ _ _ _ _ _ _ 0;
+ _ _ _ _ _ _ _ _ (void)0;
}
{
DITHER_VARS;
- for (; i < n; _ 0);
+ for (; i < n; _ (void)0);
}
}
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/src/soxr.c new/soxr-0.1.2-Source/src/soxr.c
--- old/soxr-0.1.1-Source/src/soxr.c 2013-02-27 22:19:41.000000000 +0100
+++ new/soxr-0.1.2-Source/src/soxr.c 2015-08-27 21:32:04.000000000 +0200
@@ -67,6 +67,8 @@
+#define RESET_ON_CLEAR (1u<<31)
+
/* TODO: these should not be here. */
#define TO_3dB(a) ((1.6e-6*a-7.5e-4)*a+.646)
#define LOW_Q_BW0 (1385 / 2048.) /* 0.67625 rounded to be a FP exact. */
@@ -81,11 +83,12 @@
p->e = "invalid quality type";
return spec;
}
+ flags |= quality < SOXR_LSR0Q? RESET_ON_CLEAR : 0;
if (quality == 13)
quality = 6;
else if (quality > 10)
quality = 0;
- p->phase_response = "\62\31\144"[(recipe & 0x30)>>8];
+ p->phase_response = "\62\31\144"[(recipe & 0x30) >> 4];
p->stopband_begin = 1;
p->precision = !quality? 0: quality < 3? 16 : quality < 8? 4 + quality * 4 : 55 - quality * 4;
rej = p->precision * linear_to_dB(2.);
@@ -406,7 +409,8 @@
memcpy(p->control_block, tmp.control_block, sizeof(p->control_block));
p->deinterleave = tmp.deinterleave;
p->interleave = tmp.interleave;
- return 0;
+ return (p->q_spec.flags & RESET_ON_CLEAR)?
+ soxr_set_io_ratio(p, tmp.io_ratio, 0) : 0;
}
return "invalid soxr_t pointer";
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/src/soxr.h new/soxr-0.1.2-Source/src/soxr.h
--- old/soxr-0.1.1-Source/src/soxr.h 2013-03-02 10:10:14.000000000 +0100
+++ new/soxr-0.1.2-Source/src/soxr.h 2015-08-29 22:21:49.000000000 +0200
@@ -63,9 +63,10 @@
/* --------------------------- Version management --------------------------- */
/* E.g. #if SOXR_THIS_VERSION >= SOXR_VERSION(0,1,1) ... */
+
#define SOXR_VERSION(x,y,z) (((x)<<16)|((y)<<8)|(z))
-#define SOXR_THIS_VERSION SOXR_VERSION(0,1,1)
-#define SOXR_THIS_VERSION_STR "0.1.1"
+#define SOXR_THIS_VERSION SOXR_VERSION(0,1,2)
+#define SOXR_THIS_VERSION_STR "0.1.2"
@@ -105,7 +106,11 @@
soxr_error_t *, /* To report any error during creation. */
soxr_io_spec_t const *, /* To specify non-default I/O formats. */
soxr_quality_spec_t const *, /* To specify non-default resampling quality.*/
- soxr_runtime_spec_t const *);/* To specify non-default runtime resources. */
+ soxr_runtime_spec_t const *);/* To specify non-default runtime resources.
+
+ Default io_spec is per soxr_io_spec(SOXR_FLOAT32_I, SOXR_FLOAT32_I)
+ Default quality_spec is per soxr_quality_spec(SOXR_HQ, 0)
+ Default runtime_spec is per soxr_runtime_spec(1) */
@@ -176,7 +181,9 @@
/* `Short-cut', single call to resample a (probably short) signal held entirely
- * in memory. See soxr_create and soxr_process above for parameter details. */
+ * in memory. See soxr_create and soxr_process above for parameter details.
+ * Note that unlike soxr_create however, the default quality spec. for
+ * soxr_oneshot is per soxr_quality_spec(SOXR_LQ, 0). */
SOXR soxr_error_t soxr_oneshot(
double input_rate,
@@ -190,8 +197,8 @@
-/* For variable-rate resampling (experimental). See example # 5 for how to
- * create a variable-rate resampler and how to use this function. */
+/* For variable-rate resampling. See example # 5 for how to create a
+ * variable-rate resampler and how to use this function. */
SOXR soxr_error_t soxr_set_io_ratio(soxr_t, double io_ratio, size_t slew_len);
@@ -245,7 +252,7 @@
#define SOXR_MAINTAIN_3DB_PT 4u /* Reserved for internal use. */
#define SOXR_HI_PREC_CLOCK 8u /* Increase `irrational' ratio accuracy. */
#define SOXR_DOUBLE_PRECISION 16u /* Use D.P. calcs even if precision <= 20. */
-#define SOXR_VR 32u /* Experimental, variable-rate resampling. */
+#define SOXR_VR 32u /* Variable-rate resampling. */
@@ -259,8 +266,8 @@
};
/* For `irrational' ratios only: */
#define SOXR_COEF_INTERP_AUTO 0u /* Auto select coef. interpolation. */
-#define SOXR_COEF_INTERP_LOW 1u /* Man. select: less CPU, more memory. */
-#define SOXR_COEF_INTERP_HIGH 2u /* Man. select: more CPU, less memory. */
+#define SOXR_COEF_INTERP_LOW 2u /* Man. select: less CPU, more memory. */
+#define SOXR_COEF_INTERP_HIGH 3u /* Man. select: more CPU, less memory. */
#define SOXR_STRICT_BUFFERING 4u /* Reserved for future use. */
#define SOXR_NOSMALLINTOPT 8u /* For test purposes only. */
@@ -313,7 +320,19 @@
-/* --------------------------- Internal use only ---------------------------- */
+/* --------------------------- Advanced use only ---------------------------- */
+
+/* For new designs, the following functions/usage will probably not be needed.
+ * They might be useful when adding soxr into an existing design where values
+ * for the resampling-rate and/or number-of-channels parameters to soxr_create
+ * are not available when that function will be called. In such cases, the
+ * relevant soxr_create parameter(s) can be given as 0, then one or both of the
+ * following (as appropriate) later invoked (but prior to calling soxr_process
+ * or soxr_output):
+ *
+ * soxr_set_error(soxr, soxr_set_io_ratio(soxr, io_ratio, 0));
+ * soxr_set_error(soxr, soxr_set_num_channels(soxr, num_channels));
+ */
SOXR soxr_error_t soxr_set_error(soxr_t, soxr_error_t);
SOXR soxr_error_t soxr_set_num_channels(soxr_t, unsigned);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/src/vr-coefs.c new/soxr-0.1.2-Source/src/vr-coefs.c
--- old/soxr-0.1.1-Source/src/vr-coefs.c 1970-01-01 01:00:00.000000000 +0100
+++ new/soxr-0.1.2-Source/src/vr-coefs.c 2015-08-29 22:33:07.000000000 +0200
@@ -0,0 +1,112 @@
+/* SoX Resampler Library Copyright (c) 2013 robs(a)users.sourceforge.net
+ * Licence for this file: LGPL v2.1 See LICENCE for details. */
+
+/* Generate the filter coefficients for variable-rate resampling. */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#define PI 3.14159265358979323846 /* Since M_PI can't be relied on */
+
+static void print(double * h, int m, double l, char const * name)
+{ /* Print out a filter: */
+ int i, N = l? (int)(l*m)-(l>1) : m, R=(N+1)/2;
+ int a = !l||l>1? 0:N-R, b = l>1? R:N;
+ printf("static float const %s[] = {\n", name);
+ if (l>1) printf(" 0.f,"); else if (!l) l=1;
+ for (i=a; h && i<b; ++i, printf("% .9gf,%c",l*h[i-1],"\n "[(i-a)&3 && i<b]));
+ puts("};\n");
+ free(h);
+}
+ /* Parks McClellan FIR LPF: */
+#define even_adj(f) ((N&1)? 1 : cos(PI*.5*(f)))
+#define W(f) (((f) < Fp+1e-9? weight : 1) * even_adj(f)) /* Weighting fn */
+#define D(f) (((f) < Fp+1e-9) / even_adj(f)) /* Desired response fn */
+#define F(i) ((i) <= end[0]? (i)*inc[0] : 1-(end[1]-(i))*inc[1])
+#define EE(x,z) (_1 != x 1 && x E[i] > 0 && x E[i] >= x E[i z 1])
+#define PEAK do {if (k<NP+1) peak[k]=i; ++k,_1=(E[i]>0)-(E[i]<0);} while (0)
+
+typedef struct {double x, beta, gamma;} coef_t;
+
+static double amp_response(coef_t * coef, int R, double f, int i)
+{
+ double n = 0, d = 0, x = cos(PI*f), t;
+ for (; i < R; d += t = coef[i].beta / t, n += coef[i].gamma * t, ++i)
+ if (fabs(t = x - coef[i].x) < 1e-9) return coef[i].gamma;
+ return n/d;
+}
+
+static void fir(int m, double l, double Fp0, double Fs0,
+ double weight0, int density, char const * name)
+{
+ double Fp=Fp0/l, Fs=Fs0/l, weight=1/weight0, inc[2], Ws=1-Fs;
+ int N = (int)(l*m)-(l>1), R=(N+1)/2, NP=R+1, grid_size=1+density*R+1, pass=0;
+ int n1 = Ws>=(2*R-1)*Fp? 1:(int)(R*Fp/(Fp+Ws)+.5), n2=NP-n1, _1, i, j, k;
+ int * peak = calloc(sizeof(*peak), (size_t)(NP+1)), * P=peak, end[2];
+ coef_t * coef = calloc(sizeof(*coef), (size_t)(NP));
+ float * E = calloc(sizeof(*E ), (size_t)(grid_size));
+ double d, n, e, f, mult, delta, sum, hi, lo, * A = (double*)E, *h=0;
+
+ if (!P || !coef || !E) goto END;
+ end[0] = n1 * density, end[1] = grid_size-1; /* Create prototype peaks: */
+ inc[0] = Fp/end[0], inc[1] = n2==1? 0 : Ws / ((n2-1)*density);
+ for (i=0; i<n1; P[n1-1-i] = end[0] - i*density,++i);
+ for (i=0; i<n2; P[n1+i] = 1+end[0] + i*density,++i);
+
+ do { /* Coefs for amp. resp.: */
+ for (i = 0; i<NP; coef[i].x = cos(PI*F(P[i])), ++i);
+ for (_1=-1, n=d=i=0; i < NP; ++i) {
+ for (mult = 1, j = 0; j < R; ++j) if (j != i) mult *= coef[i].x-coef[j].x;
+ if (mult) coef[i].beta = 1/mult; else goto END;
+ if (i != R) mult *= coef[i].x - coef[R].x;
+ f = F(P[i]), n += D(f)/mult, d += (_1=-_1)/(W(f)*mult);
+ }
+ for (delta = n/d, _1 = -1, i = 0; i < R; ++i)
+ f = F(P[i]), coef[i].gamma = D(f)-(_1=-_1)*delta/W(f);
+ for (i = 0; i <= end[1]; ++i) /* Amplitude response and error: */
+ f = F(i), E[i] = (float)(W(f)*(D(f) - amp_response(coef, R, f, 0)));
+
+ i = k = _1 = 0; /* Find new peaks: */
+ if (end[0]) if (EE(+,+) || EE(-,+)) PEAK; /* At F=0 */
+ for (++i, j = 0; j < 2; ++j) { /* In band j: */
+ for (; i < end[j]; ++i)
+ if ((EE(+,-) && E[i]>E[i+1]) || (EE(-,-) && E[i]<E[i+1])) PEAK;
+ if (!j) {PEAK; ++i; PEAK; ++i;} /* At Fp & Fs */
+ }
+ if (i==end[1]) if (EE(+,-) || EE(-,-)) PEAK; /* At F=1 */
+ if ((unsigned)(k = k-NP) > 1) goto END; /* Too many/few? */
+ P = peak + k * (fabs(E[peak[0]]) < fabs(E[peak[NP]])); /* rm 1st? */
+
+ for (lo = hi = fabs(E[P[0]]), i=1; i<NP; ++i) /* Converged?: */
+ e = fabs(E[P[i]]), lo = e<lo? e:lo, hi = e>hi? e:hi;
+ } while ((hi-lo)/hi > .001 && ++pass < 20);
+ /* Create impulse response from final amp. resp. coefs: */
+ if (!(h = malloc(sizeof(*h)*(size_t)N))) goto END;
+ for (i = 0; i < R; f = 2.*i/N, A[i++] = amp_response(coef,R,f,0)*even_adj(f));
+ for (i = 0; i < R; h[N-1-i] = h[i] = sum/N, ++i)
+ for (sum=*A, j=1; j<R; sum += 2*cos(2*PI*(i-(N-1)/2.)/N*j)*A[j], ++j);
+ END: free(coef), free(E), free(peak);
+ print(h, m, l, name);
+}
+ /* Half-band IIR LPF (Mitra DSP 3/e, 13_9): */
+static void iir(int N, double Fp, char const * name)
+{
+ double d=tan(PI*.5*Fp), r=d*d, t=sqrt(1-r*r), n=(1-sqrt(t))/(1+sqrt(t))*.5;
+ double x=(n*n)*(n*n), Q=(((150*x+15)*x+2)*x+1)*n, q=pow(Q,.25), *h;
+ int i=0, j, _1;
+ if (!(h = malloc(sizeof(*h)*(size_t)N))) goto END;
+ for (; i<N; t=n*q/d, t=t*t, t=sqrt((1-t*r)*(1-t/r))/(1+t), h[i++]=(1-t)/(1+t))
+ for (_1=1, d=-.5, n=j=0, x=(i+1)*PI/(N+.5); j<7; ++j, _1=-_1)
+ n += _1*pow(Q,j*(j+1))*sin(x*(j+.5)), d += _1*pow(Q,j*j)*cos(x*j);
+ END: print(h, N, 0, name);
+}
+
+int main(int argc, char **argv)
+{
+ fir(241, 1, .45, .5, 160, 32, "half_fir_coefs");
+ fir( 24, .5, .25, .5, 1, 31, "fast_half_fir_coefs");
+ fir( 20, 12, .9 , 1.5, 160, 58, "coefs0_d");
+ fir( 12, 6, .45, 1.5, 80, 29, "coefs0_u");
+ iir( 15, .492, "iir_coefs");
+ return 0*argc*!argv;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/src/vr-coefs.h new/soxr-0.1.2-Source/src/vr-coefs.h
--- old/soxr-0.1.1-Source/src/vr-coefs.h 1970-01-01 01:00:00.000000000 +0100
+++ new/soxr-0.1.2-Source/src/vr-coefs.h 2015-08-29 22:33:07.000000000 +0200
@@ -0,0 +1,91 @@
+static float const half_fir_coefs[] = {
+ 0.471112154f, 0.316907549f, 0.0286963396f, -0.101927032f,
+-0.0281272982f, 0.0568029535f, 0.027196876f, -0.0360795942f,
+-0.0259313561f, 0.023641162f, 0.0243660538f, -0.0151238564f,
+-0.0225440668f, 0.00886927471f, 0.0205146088f, -0.00411434209f,
+-0.0183312132f, 0.000458525335f, 0.0160497772f, 0.00233248286f,
+-0.0137265989f, -0.0044106884f, 0.011416442f, 0.005885487f,
+-0.00917074467f, -0.00684373006f, 0.00703601669f, 0.00736018933f,
+-0.00505250698f, -0.00750298261f, 0.00325317131f, 0.00733618346f,
+-0.00166298445f, -0.00692082025f, 0.000298598848f, 0.00631493711f,
+ 0.000831644129f, -0.0055731438f, -0.00172737872f, 0.00474591812f,
+ 0.0023955814f, -0.0038788491f, -0.00284969263f, 0.00301194082f,
+ 0.00310854264f, -0.00217906496f, -0.00319514679f, 0.00140761062f,
+ 0.00313542959f, -0.000718361916f, -0.00295694328f, 0.000125607323f,
+ 0.00268763625f, 0.000362527878f, -0.00235472525f, -0.000743552559f,
+ 0.00198371228f, 0.00101991741f, -0.0015975797f, -0.00119820218f,
+ 0.00121618271f, 0.0012882279f, -0.000855849209f, -0.00130214036f,
+ 0.000529184474f, 0.00125350876f, -0.000245067778f, -0.00115647977f,
+ 8.82118676e-06f, 0.00102502052f, 0.000177478031f, -0.000872275256f,
+-0.000314572995f, 0.000710055602f, 0.000405526007f, -0.000548470439f,
+-0.000455174442f, 0.000395698685f, 0.000469579667f, -0.000257895884f,
+-0.000455495078f, 0.000139222702f, 0.000419883982f, -4.19753541e-05f,
+-0.00036950051f, -3.32020844e-05f, 0.000310554015f, 8.7050045e-05f,
+-0.000248456595f, -0.000121389974f, 0.000187662656f, 0.000138813233f,
+-0.000131587954f, -0.000142374865f, 8.26090549e-05f, 0.000135318039f,
+-4.21208043e-05f, -0.000120830917f, 1.06505085e-05f, 0.00010185819f,
+ 1.20015129e-05f, -8.09558888e-05f, -2.65925299e-05f, 6.02101571e-05f,
+ 3.42775752e-05f, -4.11911155e-05f, -3.64462477e-05f, 2.49654252e-05f,
+ 3.46090513e-05f, -1.21078107e-05f, -3.03027209e-05f, 2.73562006e-06f,
+ 2.51329043e-05f, 3.66157998e-06f, -2.0990973e-05f, -9.38752332e-06f,
+ 2.07133365e-05f, 3.2060847e-05f, 1.98462364e-05f, 4.90328648e-06f,
+-5.28550107e-07f,
+};
+
+static float const fast_half_fir_coefs[] = {
+ 0.309418476f, -0.0819805418f, 0.0305513441f, -0.0101582224f,
+ 0.00251293175f, -0.000346895324f,
+};
+
+static float const coefs0_d[] = {
+ 0.f, 1.40520362e-05f, 2.32939994e-05f, 4.00699869e-05f, 6.18938797e-05f,
+ 8.79406317e-05f, 0.000116304226f, 0.000143862785f, 0.000166286173f,
+ 0.000178229431f, 0.00017374107f, 0.00014689118f, 9.25928444e-05f,
+ 7.55567388e-06f, -0.000108723934f, -0.000253061416f, -0.000417917952f,
+-0.000591117466f, -0.000756082504f, -0.000892686881f, -0.000978762367f,
+-0.000992225841f, -0.00091370246f, -0.000729430325f, -0.000434153678f,
+-3.36489703e-05f, 0.000453499646f, 0.000995243588f, 0.00154683724f,
+ 0.00205322353f, 0.00245307376f, 0.0026843294f, 0.0026908874f,
+ 0.00242986868f, 0.00187874742f, 0.00104150259f, -4.70759945e-05f,
+-0.00131972748f, -0.00267834298f, -0.00399923407f, -0.00514205849f,
+-0.00596200535f, -0.00632441105f, -0.00612058374f, -0.00528328869f,
+-0.00380015804f, -0.0017232609f, 0.000826765169f, 0.0036632503f,
+ 0.00654337507f, 0.00918536843f, 0.0112922007f, 0.0125801323f,
+ 0.0128097433f, 0.0118164904f, 0.00953750551f, 0.00603133188f,
+ 0.00148762708f, -0.00377544588f, -0.009327395f, -0.014655127f,
+-0.0192047839f, -0.0224328082f, -0.0238620596f, -0.0231377935f,
+-0.0200777417f, -0.0147104883f, -0.00729690011f, 0.0016694689f,
+ 0.0114853672f, 0.02128446f, 0.0301054204f, 0.03697694f,
+ 0.0410129138f, 0.0415093321f, 0.0380333749f, 0.0304950299f,
+ 0.0191923285f, 0.00482304203f, -0.0115416941f, -0.0285230397f,
+-0.0445368533f, -0.0579264573f, -0.0671158215f, -0.070770308f,
+-0.0679502076f, -0.0582416438f, -0.0418501969f, -0.0196448429f,
+ 0.00685658762f, 0.0355644891f, 0.0639556622f, 0.0892653703f,
+ 0.108720484f, 0.11979613f, 0.120474745f, 0.109484562f,
+ 0.0864946948f, 0.0522461633f, 0.00860233712f, -0.041491734f,
+-0.0941444939f, -0.144742955f, -0.188255118f, -0.219589829f,
+-0.233988169f, -0.227416437f, -0.196929062f, -0.140970726f,
+-0.0595905561f, 0.0454527813f, 0.170708227f, 0.311175511f,
+ 0.460568159f, 0.61168037f, 0.756833088f, 0.888367707f,
+ 0.999151395f, 1.08305644f, 1.13537741f, 1.15315438f,
+};
+
+static float const coefs0_u[] = {
+ 0.f, 2.4378013e-05f, 9.70782157e-05f, 0.000256572953f, 0.000527352928f,
+ 0.000890796838f, 0.00124949518f, 0.00140604793f, 0.00107945998f,
+-2.15586031e-05f, -0.00206589462f, -0.00493342625f, -0.00807135101f,
+-0.0104515787f, -0.0107039866f, -0.00746258988f, 0.000109078838f,
+ 0.0117345872f, 0.0255795186f, 0.0381690155f, 0.0448461522f,
+ 0.0408218138f, 0.0226797758f, -0.00999595371f, -0.0533441602f,
+-0.0987927774f, -0.133827418f, -0.144042973f, -0.116198269f,
+-0.0416493482f, 0.0806808506f, 0.242643854f, 0.427127981f,
+ 0.610413245f, 0.766259257f, 0.8708884f, 0.907742029f,
+};
+
+static float const iir_coefs[] = {
+ 0.0262852045f, 0.0998310478f, 0.206865061f, 0.330224134f,
+ 0.454420362f, 0.568578357f, 0.666944466f, 0.747869771f,
+ 0.812324404f, 0.8626001f, 0.901427744f, 0.931486057f,
+ 0.955191529f, 0.974661783f, 0.991776305f,
+};
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/src/vr32.c new/soxr-0.1.2-Source/src/vr32.c
--- old/soxr-0.1.1-Source/src/vr32.c 2013-01-22 13:53:05.000000000 +0100
+++ new/soxr-0.1.2-Source/src/vr32.c 2015-08-29 22:33:07.000000000 +0200
@@ -1,7 +1,7 @@
/* SoX Resampler Library Copyright (c) 2007-13 robs(a)users.sourceforge.net
* Licence for this file: LGPL v2.1 See LICENCE for details. */
-/* Experimental variable-rate resampling. */
+/* Variable-rate resampling. */
#include <assert.h>
#include <math.h>
@@ -17,11 +17,11 @@
#define FIFO_SIZE_T int
#define FIFO_MIN 0x8000
#include "fifo.h"
+#include "vr-coefs.h"
#define FADE_LEN_BITS 9
-#define PHASE_BITS_D (8 + PHASE_MORE)
-#define PHASE_BITS_U (7 + PHASE_MORE)
-#define PHASE_MORE 0 /* 2 improves small int, and large u, ratios. */
+#define PHASE_BITS_D 10
+#define PHASE_BITS_U 9
#define PHASES0_D 12
#define POLY_FIR_LEN_D 20
@@ -32,50 +32,6 @@
#define PHASES_D (1 << PHASE_BITS_D)
#define PHASES_U (1 << PHASE_BITS_U)
-static float const half_fir_coefs[] = {
- 4.7111692735253413e-1f, 3.1690797657656167e-1f, 2.8691667164678896e-2f,
- -1.0192825848403946e-1f, -2.8122856237424654e-2f, 5.6804928137780292e-2f,
- 2.7192768359197508e-2f, -3.6082309197154230e-2f, -2.5927789156038026e-2f,
- 2.3644444384060669e-2f, 2.4363075319345607e-2f, -1.5127630198606428e-2f,
- -2.2541790286342567e-2f, 8.8733836742880233e-3f, 2.0513077413933017e-2f,
- -4.1186431656279818e-3f, -1.8330444480421631e-2f, 4.6288071358217028e-4f,
- 1.6049769308921290e-2f, 2.3282106680446069e-3f, -1.3727327353082214e-2f,
- -4.4066375505196096e-3f, 1.1417847550661287e-2f, 5.8817724081355978e-3f,
- -9.1727580349157123e-3f, -6.8404638339394346e-3f, 7.0385357033205332e-3f,
- 7.3574525331962567e-3f, -5.0554197628506353e-3f, -7.5008330890673153e-3f,
- 3.2563575907277676e-3f, 7.3346538206330259e-3f, -1.6663208501478607e-3f,
- -6.9199171108861694e-3f, 3.0196567996023190e-4f, 6.3146436955438768e-3f,
- 8.2835711466756098e-4f, -5.5734271982033918e-3f, -1.7242765658561860e-3f,
- 4.7467223803576682e-3f, 2.3927523666941205e-3f, -3.8801054688632139e-3f,
- -2.8472115748114728e-3f, 3.0135659731132642e-3f, 3.1064651802365259e-3f,
- -2.1809660142807748e-3f, -3.1935061143485862e-3f, 1.4096923923208671e-3f,
- 3.1342382222281609e-3f, -7.2053095076414931e-4f, -2.9561940489039682e-3f,
- 1.2777585046118889e-4f, 2.6873033434313882e-3f, 3.6043554054680685e-4f,
- -2.3547716396561816e-3f, -7.4160208709749312e-4f, 1.9840894915230177e-3f,
- 1.0181606831615856e-3f, -1.5982325266851590e-3f, -1.1966774804490967e-3f,
- 1.2170528733224913e-3f, 1.2869618709883193e-3f, -8.5687504489877664e-4f,
- -1.3011452950496001e-3f, 5.3030588389885972e-4f, 1.2527854026453923e-3f,
- -2.4622758430821288e-4f, -1.1560181289625195e-3f, 9.9661643910782316e-6f,
- 1.0247989665318426e-3f, 1.7639297561664703e-4f, -8.7226452073196350e-4f,
- -3.1358436147401782e-4f, 7.1022054657665971e-4f, 4.0466151692224986e-4f,
- -5.4877022848030636e-4f, -4.5444807961399138e-4f, 3.9609542800868769e-4f,
- 4.6899779918507020e-4f, -2.5835154936239735e-4f, -4.5505391611721792e-4f,
- 1.3970512544147175e-4f, 4.1957352577882777e-4f, -4.2458993694471047e-5f,
- -3.6930861782460262e-4f, -3.2738549063278822e-5f, 3.1046609224355927e-4f,
- 8.6624679037202785e-5f, -2.4845427128026068e-4f, -1.2101300074995281e-4f,
- 1.8773208187021294e-4f, 1.3849844077872591e-4f, -1.3170611080827864e-4f,
- -1.4212373327156217e-4f, 8.2758595879431528e-5f, 1.3513059684140468e-4f,
- -4.2284127775471251e-5f, -1.2070298779675768e-4f, 1.0811692847491609e-5f,
- 1.0178008299781669e-4f, 1.1852545451857104e-5f, -8.0914539313342186e-5f,
- -2.6454558961220653e-5f, 6.0208388858339534e-5f, 3.4169979203255580e-5f,
- -4.1203296686185329e-5f, -3.6353143441156863e-5f, 2.4999186627094098e-5f,
- 3.4542829080466582e-5f, -1.2148053427488782e-5f, -3.0260855999161159e-5f,
- 2.7687092952335852e-6f, 2.5095689880235108e-5f, 3.6223160417538916e-6f,
- -2.0960977068565079e-5f, -9.3312292092513232e-6f, 2.0711288605113663e-5f,
- 3.1992093654438569e-5f, 1.9772538588596925e-5f, 4.8667740603532560e-6f,
- -5.3495033191567977e-7f,
-};
-
#define CONVOLVE \
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \
@@ -119,25 +75,14 @@
static float fast_half_fir(float const * input)
{
- static const float coefs[] = {
- .3094188462713818f, -.08198144615199748f, .03055232105456833f,
- -.01015890277986387f, .002513237297525149f, -.0003469672050347395f,
- };
int i = 0;
float sum = input[0] * .5f;
-#define _ sum += (input[-(2*i+1)] + input[2*i+1]) * coefs[i], ++i;
+#define _ sum += (input[-(2*i+1)] + input[2*i+1]) * fast_half_fir_coefs[i], ++i;
_ _ _ _ _ _
#undef _
return (float)sum;
}
-static const float iir_coefs[] = {
- .0262852045255816f, .0998310478296204f, .2068650611060755f,
- .3302241336172489f, .4544203620946318f, .5685783569471244f,
- .6669444657994612f, .7478697711807407f, .8123244036799226f,
- .8626000999654434f, .9014277444199280f, .9314860567781748f,
- .9551915287878752f, .9746617828910630f, .9917763050166036f,
- };
#define IIR_FILTER _ _ _ _ _ _ _
#define _ in1=(in1-p->y[i])*iir_coefs[i]+tmp1;tmp1=p->y[i],p->y[i]=in1;++i;\
in0=(in0-p->y[i])*iir_coefs[i]+tmp0;tmp0=p->y[i],p->y[i]=in0;++i;
@@ -175,77 +120,18 @@
#undef _
}
-#define raw_coef_t float
-static const raw_coef_t coefs0_d[POLY_FIR_LEN_D / 2 * PHASES0_D + 1] = {
- 0.f, 1.4057457935754080e-5f, 2.3302768424632188e-5f, 4.0084897378442095e-5f,
- 6.1916773126231636e-5f, 8.7973434034929016e-5f, 1.1634847507082481e-4f,
- 1.4391931654629385e-4f, 1.6635470822160746e-4f, 1.7830838562749493e-4f,
- 1.7382737311735053e-4f, 1.4698011689178234e-4f, 9.2677933545427018e-5f,
- 7.6288745483685147e-6f, -1.0867156553965507e-4f, -2.5303924530322309e-4f,
- -4.1793463959360433e-4f, -5.9118012513731508e-4f, -7.5619603440508576e-4f,
- -8.9285245696990080e-4f, -9.7897684238178358e-4f, -9.9248131798952959e-4f,
- -9.1398576537725926e-4f, -7.2972364732199553e-4f, -4.3443557115962946e-4f,
- -3.3895523979487613e-5f, 4.5331297364457429e-4f, 9.9513966802111057e-4f,
- 1.5468348913161652e-3f, 2.0533350794358640e-3f, 2.4533031436958950e-3f,
- 2.6846707315385087e-3f, 2.6913237051575155e-3f, 2.4303724507982708e-3f,
- 1.8792817173578587e-3f, 1.0420231121204950e-3f, -4.6617252898486750e-5f,
- -1.3193786988492551e-3f, -2.6781478874181100e-3f, -3.9992272197487003e-3f,
- -5.1422613336274056e-3f, -5.9624224517967755e-3f, -6.3250283969908542e-3f,
- -6.1213677360236101e-3f, -5.2841872043022185e-3f, -3.8011036067186429e-3f,
- -1.7241752288145494e-3f, 8.2596463599396213e-4f, 3.6626436307478369e-3f,
- 6.5430316636724021e-3f, 9.1853404499045010e-3f, 1.1292516396583619e-2f,
- 1.2580791345879052e-2f, 1.2810714562937180e-2f, 1.1817712330677889e-2f,
- 9.5388893881204976e-3f, 6.0327678128662696e-3f, 1.4889921444742027e-3f,
- -3.7742770128030593e-3f, -9.3265389310393538e-3f, -1.4654680466977541e-2f,
- -1.9204813565928323e-2f, -2.2433342812570076e-2f, -2.3863084249865732e-2f,
- -2.3139248817097825e-2f, -2.0079526147977360e-2f, -1.4712465100990968e-2f,
- -7.2989072959128900e-3f, 1.6676055337427264e-3f, 1.1483818597217116e-2f,
- 2.1283378291010333e-2f, 3.0104924254589629e-2f, 3.6977102234817580e-2f,
- 4.1013752396638667e-2f, 4.1510805491867378e-2f, 3.8035383354576423e-2f,
- 3.0497421566956902e-2f, 1.9194910514469185e-2f, 4.8255960959712636e-3f,
- -1.1539393212932630e-2f, -2.8521204184392364e-2f, -4.4535662544571142e-2f,
- -5.7926040870466614e-2f, -6.7116245375785713e-2f, -7.0771566186484461e-2f,
- -6.7952220045636696e-2f, -5.8244261062898019e-2f, -4.1853211028450271e-2f,
- -1.9648003905967236e-2f, 6.8535507014343263e-3f, 3.5561844452076982e-2f,
- 6.3953651316164553e-2f, 8.9264185854578418e-2f, 1.0872025112127688e-1f,
- 1.1979689474056175e-1f, 1.2047646491371326e-1f, 1.0948710929592399e-1f,
- 8.6497869185231543e-2f, 5.2249701648862154e-2f, 8.6059406690018377e-3f,
- -4.1488376792262582e-2f, -9.4141677945723271e-2f, -1.4474093381170536e-1f,
- -1.8825408052888104e-1f, -2.1958987927558168e-1f, -2.3398931875783419e-1f,
- -2.2741860176576378e-1f, -1.9693206642095332e-1f, -1.4097432039328661e-1f,
- -5.9594435654526039e-2f, 4.5448949025739843e-2f, 1.7070477403312445e-1f,
- 3.1117273816011837e-1f, 4.6056631075658744e-1f, 6.1167961235662682e-1f,
- 7.5683349228721264e-1f, 8.8836924234920911e-1f, 9.9915393319190682e-1f,
- 1.0830597619389459e+0f, 1.1353812335460003e+0f, 1.1531583819295732e+0f,
-};
-
-static const raw_coef_t coefs0_u[POLY_FIR_LEN_U / 2 * PHASES0_U + 1] = {
- 0.f, 2.4376543962047211e-5f, 9.7074354091545404e-5f, 2.5656573977863553e-4f,
- 5.2734092391248152e-4f, 8.9078135146855391e-4f, 1.2494786883827907e-3f,
- 1.4060353542261659e-3f, 1.0794576035695273e-3f, -2.1547711862939183e-5f,
- -2.0658693124381805e-3f, -4.9333908355966233e-3f, -8.0713165910440213e-3f,
- -1.0451560117817383e-2f, -1.0703998868319438e-2f, -7.4626412699536097e-3f,
- 1.0898921033926621e-4f, 1.1734475997741493e-2f, 2.5579413661660957e-2f,
- 3.8168952738129619e-2f, 4.4846162998312754e-2f, 4.0821915377309274e-2f,
- 2.2679961923658700e-2f, -9.9957152600624218e-3f, -5.3343924460223908e-2f,
- -9.8792607573741240e-2f, -1.3382736970823086e-1f, -1.4404307655147228e-1f,
- -1.1619851747063137e-1f, -4.1649695271274462e-2f, 8.0680482815468343e-2f,
- 2.4264355486537642e-1f, 4.2712782955601925e-1f, 6.1041328492424185e-1f,
- 7.6625948559498691e-1f, 8.7088876549652772e-1f, 9.0774244518772884e-1f,
-};
-
#define coef(coef_p, interp_order, fir_len, phase_num, coef_interp_num, \
fir_coef_num) coef_p[(fir_len) * ((interp_order) + 1) * (phase_num) + \
((interp_order) + 1) * (fir_coef_num) + (interp_order - coef_interp_num)]
#define COEF(h,l,i) ((i)<0||(i)>=(l)?0:(h)[(i)>(l)/2?(l)-(i):(i)])
static void prepare_coefs(float * coefs, int n, int phases0, int phases,
- raw_coef_t const * coefs0, double multiplier)
+ float const * coefs0, double multiplier)
{
double k[6];
int length0 = n * phases0, length = n * phases, K0 = iAL(k)/2 - 1, i, j, pos;
- raw_coef_t * coefs1 = malloc(((size_t)length / 2 + 1) * sizeof(*coefs1));
- raw_coef_t * p = coefs1, f0, f1 = 0;
+ float * coefs1 = malloc(((size_t)length / 2 + 1) * sizeof(*coefs1));
+ float * p = coefs1, f0, f1 = 0;
for (j = 0; j < iAL(k); k[j] = COEF(coefs0, length0, j - K0), ++j);
for (pos = i = 0; i < length0 / 2; ++i) {
@@ -254,18 +140,18 @@
double c=(1/12.)*(k[4]-k[0]-2*(k[3]-k[1])-60*a),e=.5*(k[3]-k[1])-a-c;
for (; pos / phases == i; pos += phases0) {
double x = (double)(pos % phases) / phases;
- *p++ = (raw_coef_t)(k[K0] + ((((a*x + b)*x + c)*x + d)*x + e)*x);
+ *p++ = (float)(k[K0] + ((((a*x + b)*x + c)*x + d)*x + e)*x);
}
for (j = 0; j < iAL(k) - 1; k[j] = k[j + 1], ++j);
k[j] = COEF(coefs0, length0, i + iAL(k) / 2 + 1);
}
if (!(length & 1))
- *p++ = (raw_coef_t)k[K0];
+ *p++ = (float)k[K0];
assert(p - coefs1 == length / 2 + 1);
for (i = 0; i < n; ++i) for (j = phases - 1; j >= 0; --j, f1 = f0) {
pos = (n - 1 - i) * phases + j;
- f0 = COEF(coefs1, length, pos) * (raw_coef_t)multiplier;
+ f0 = COEF(coefs1, length, pos) * (float)multiplier;
coef(coefs, 1, n, j, 0, i) = (float)f0;
coef(coefs, 1, n, j, 1, i) = (float)(f1 - f0);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/tests/1-delay-clear.c new/soxr-0.1.2-Source/tests/1-delay-clear.c
--- old/soxr-0.1.1-Source/tests/1-delay-clear.c 1970-01-01 01:00:00.000000000 +0100
+++ new/soxr-0.1.2-Source/tests/1-delay-clear.c 2015-08-27 09:53:52.000000000 +0200
@@ -0,0 +1,64 @@
+/* SoX Resampler Library Copyright (c) 2007-15 robs(a)users.sourceforge.net
+ * Licence for this file: LGPL v2.1 See LICENCE for details. */
+
+/* Test 1: exercises soxr_delay and soxr_clear */
+
+#ifdef NDEBUG /* N.B. assert used with active statements so enable always. */
+#undef NDEBUG /* Must undef above assert.h or other that might include it. */
+#endif
+
+#include <soxr.h>
+#include "../examples/examples-common.h"
+
+#define ranqd1(x) ((x) = 1664525 * (x) + 1013904223) /* int32_t x */
+#define franqd1(x) (float)(ranqd1(x) * (1. / (65536. * 32768.))) /* [-1,1) */
+
+#define irate 9600
+#define orate 4410
+
+int main(int argc, char const * arg[])
+{
+ soxr_error_t error;
+ int32_t ran = 0;
+ int j;
+
+ soxr_t soxr = soxr_create(irate, orate, 1, &error, NULL, NULL, NULL);
+ assert(!error);
+
+ for (j=0; j<2; ++j) {
+ float ibuf[irate], out[orate+2], obuf[orate+2], * ibuf1 = ibuf;
+ size_t ilen = AL(ibuf)-1, olen = AL(obuf), i, odone = 0, odone0, odone1=0;
+ soxr_quality_spec_t q_spec = soxr_quality_spec(SOXR_HQ, 0);
+
+ for (i=0; i<irate; ibuf[i++] = franqd1(ran));
+
+ error = soxr_oneshot(irate, orate, 1, ibuf, ilen, NULL,
+ out, AL(out), &odone0, NULL, &q_spec, NULL);
+ assert(!error);
+ assert(odone0==orate);
+
+ for (i=0; ilen || odone1; ++i) {
+ double out_samples = (double)orate / irate * (double)ilen;
+ double delayed_samples = soxr_delay(soxr);
+ unsigned max_out_samples = (unsigned)(out_samples + delayed_samples + .5);
+ assert(delayed_samples >= 0);
+ fprintf(stderr, "%5u %5u %5u\n",
+ (unsigned)ilen, max_out_samples, (unsigned)odone);
+ assert(max_out_samples+odone==odone0);
+ error = soxr_process(soxr, ibuf1, ilen, NULL, obuf+odone, olen, &odone1);
+ assert(!error);
+ odone += odone1;
+ ibuf1 = NULL, ilen = 0;
+ olen = min(100, AL(obuf)-odone);
+ }
+ assert(odone==odone0);
+
+ for (i=0; i<odone && out[i]==obuf[i]; ++i);
+ assert(i==odone);
+
+ soxr_clear(soxr);
+ }
+ soxr_delete(soxr);
+
+ return 0 * argc * !arg;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/tests/CMakeLists.txt new/soxr-0.1.2-Source/tests/CMakeLists.txt
--- old/soxr-0.1.1-Source/tests/CMakeLists.txt 2013-03-01 08:02:13.000000000 +0100
+++ new/soxr-0.1.2-Source/tests/CMakeLists.txt 2015-08-27 09:53:52.000000000 +0200
@@ -48,3 +48,5 @@
endforeach ()
add_custom_target (test-vectors ALL DEPENDS ${vectors})
+
+add_test (1-delay-clear ${BIN}1-delay-clear)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/tests/bandwidth-test new/soxr-0.1.2-Source/tests/bandwidth-test
--- old/soxr-0.1.1-Source/tests/bandwidth-test 1970-01-01 01:00:00.000000000 +0100
+++ new/soxr-0.1.2-Source/tests/bandwidth-test 2015-08-29 16:56:30.000000000 +0200
@@ -0,0 +1,40 @@
+#!/bin/bash
+set -e
+
+# SoX Resampler Library Copyright (c) 2007-15 robs(a)users.sourceforge.net
+# Licence for this file: LGPL v2.1 See LICENCE for details.
+
+# Tests varying bandwidth.
+
+
+
+tool=./3-options-input-fn
+
+spec="spectrogram -z120 -Z-20 -wd -ho"
+ext=f32; e=0
+rate1=48000
+rate2=44100
+
+for n in 1 2; do
+
+rate1n=`expr $rate1 / 2`
+
+#sox -r $rate1 -n 0.$ext synth 1s sq pad .03 .03 gain -1
+sox -r $rate1 -n 0.$ext synth 8 sin 0:$rate1n gain -1
+
+for pass in `seq 79 5 99`; do
+ f=bw1-$rate2-p`printf %02u $pass`
+ $tool $rate1 $rate2 1 $e $e 4 0 $pass < 0.$ext | sox -c1 -r$rate2 -t $ext - -n $spec $f.png -c "bw-test pass:$pass stop:100"
+done
+
+for pass in `seq 79 5 99`; do
+ f=bw2-$rate2-p`printf %02u $pass`
+ stop=`expr 200 - $pass`
+ $tool $rate1 $rate2 1 $e $e 4 0 $pass $stop < 0.$ext | sox -c1 -r$rate2 -t $ext - -n $spec $f.png -c "bw-test pass:$pass stop:$stop"
+done
+
+r=$rate1; rate1=$rate2; rate2=$r
+
+done
+
+rm 0.$ext
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/tests/eg-test new/soxr-0.1.2-Source/tests/eg-test
--- old/soxr-0.1.1-Source/tests/eg-test 2013-01-12 15:00:02.000000000 +0100
+++ new/soxr-0.1.2-Source/tests/eg-test 2015-09-01 11:08:36.000000000 +0200
@@ -1,12 +1,24 @@
#!/bin/bash
-# SoX Resampler Library Copyright (c) 2007-13 robs(a)users.sourceforge.net
+set -e
+
+# SoX Resampler Library Copyright (c) 2007-15 robs(a)users.sourceforge.net
# Licence for this file: LGPL v2.1 See LICENCE for details.
+# Exercises each example programme.
+
+
+
len=8
#vg="valgrind --leak-check=full --show-reachable=yes"
+
+
+# Exercise example 1:
$vg ./1-single-block
+
+
+# Check that examples 2-4 can convert 96k<->44k1 and that results are same for each:
ir=96000
or=44100
for i in 1 2; do
@@ -22,8 +34,14 @@
done
rm *.f32
-rm ?.png
+
+
+# Exercise VR making sure that varied internal stage reconfigurations occur:
+variations=(slow-sweep fast-changing)
+signals=(sine-wave saw-tooth-wave)
for n in 0 1 2 3; do
- $vg ./5-variable-rate $n | sox -tf32 -r44100 -c1 - -n spectrogram -hwk -o $n.png -X 50
+ signal=${signals[`expr $n % 2 || true`]}
+ variation=${variations[`expr $n / 2 || true`]}
+ $vg ./5-variable-rate $n | sox -tf32 -r44100 -c1 - -n spectrogram -z130 -hwd -o v$n.png -X 50 -c "variation:$variation signal:$signal"
vg=""
done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/tests/io-test new/soxr-0.1.2-Source/tests/io-test
--- old/soxr-0.1.1-Source/tests/io-test 2013-01-12 15:00:02.000000000 +0100
+++ new/soxr-0.1.2-Source/tests/io-test 2015-09-01 10:52:08.000000000 +0200
@@ -1,25 +1,31 @@
#!/bin/bash
-# SoX Resampler Library Copyright (c) 2007-13 robs(a)users.sourceforge.net
+set -e
+
+# SoX Resampler Library Copyright (c) 2007-15 robs(a)users.sourceforge.net
# Licence for this file: LGPL v2.1 See LICENCE for details.
-ir=96000
+# Tests IO
+
+
+
+ir=65537
or=44100
len=16
-f=0+48k
-g=48k+0
-ex=./3-options-input-fn
+f=1/32768
+g=32768:0
+tool=./3-options-input-fn
types=(f32 f64 s32 s16)
+zs=(180 180 180 180 180 120 120 120 120)
+
do_one() {
- $ex $ir $or $c $1 $2 $3 < $c.${types[$1]} |
- sox -t ${types[$2]} -r $or -c $c - -n spectrogram -X50 -hwk -z180 -o io$n$c.png
+ $tool $ir $or $c $1 $2 $3 < $c.${types[$1]} |
+ sox -t ${types[`expr $2 % 4`]} -r $or -c $c - -n spectrogram -X50 -hwk -z${zs[$n]} -o io$c$n.png -c "io-test i:${types[$1]} o:${types[`expr $2 % 4`]} ($2) q:$3"
n=`expr $n + 1`
}
-rm io??.png
-
-j=2; test z$1 != z && j=$1
+j=3; test z$1 != z && j=$1
for c in `seq 1 $j`; do
for n in `seq 0 3`; do
@@ -27,14 +33,27 @@
done
n=0
- for m in `seq 0 3`; do do_one $m $m 4; done
do_one 1 2 5
do_one 2 0 5
- do_one 3 2 4
- do_one 0 3 4
+ for m in `seq 0 3`; do do_one $m $m 5; done
+ do_one 3 2 3
+ do_one 0 3 3
+ do_one 0 11 3
f="$f sin $g"
- g=48k:0
+ g=0+32768
done
rm ?.[sf][0-9][0-9]
+
+
+
+# Check conversion between differing I/O types, but no rate-change:
+
+for i in 1 2 3; do
+ prev=""
+ sox -n -c $i 0.f32 synth $len gain -.1
+ $tool 1 1 $i 0 2 < 0.f32 | $tool 1 1 $i 2 0 > 1.f32
+ cmp [01].f32
+done
+rm *.f32
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/tests/large-ratio new/soxr-0.1.2-Source/tests/large-ratio
--- old/soxr-0.1.1-Source/tests/large-ratio 2013-02-27 12:31:14.000000000 +0100
+++ new/soxr-0.1.2-Source/tests/large-ratio 1970-01-01 01:00:00.000000000 +0100
@@ -1,22 +0,0 @@
-#!/bin/sh
-# SoX Resampler Library Copyright (c) 2007-13 robs(a)users.sourceforge.net
-# Licence for this file: LGPL v2.1 See LICENCE for details.
-
-# Warning: the intermediate signal (piped) is 3.2 Gbytes so may slug the
-# system somewhat.
-
-ex=../examples/3-options-input-fn
-q=6
-r=1e5
-
-rm lr.png
-
-../tests/vector-gen 1000 0 8 500 .9375 1.s32
-
-$ex 1 $r 1 2 1 $q < 1.s32 | $ex $r 1 1 1 2 $q > 2.s32
-
-sox -M -r 1k 1.s32 -r 1k 2.s32 -n spectrogram -hwk -z180 -o lr.png
-
-display lr.png &
-
-rm [12].s32
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/tests/large-ratio-test new/soxr-0.1.2-Source/tests/large-ratio-test
--- old/soxr-0.1.1-Source/tests/large-ratio-test 1970-01-01 01:00:00.000000000 +0100
+++ new/soxr-0.1.2-Source/tests/large-ratio-test 2015-09-01 10:52:08.000000000 +0200
@@ -0,0 +1,23 @@
+#!/bin/bash
+set -e
+
+# SoX Resampler Library Copyright (c) 2007-15 robs(a)users.sourceforge.net
+# Licence for this file: LGPL v2.1 See LICENCE for details.
+
+# Tests interpolating then decimating be the same, large ratio.
+
+tool=../examples/3-options-input-fn
+q=6
+ratio=2e4
+srate=8000
+nrate=`expr $srate / 2`
+
+rm -f lr.png
+
+../tests/vector-gen $srate 0 8 $nrate .9375 1.s32
+
+$tool 1 $ratio 1 2 1 $q < 1.s32 | $tool $ratio 1 1 1 2 $q > 2.s32
+
+sox -M -r $srate -c1 1.s32 -r $srate -c1 2.s32 -n spectrogram -hwd -Z-10 -z180 -o lr.png -c "large-ratio-test q:$q ratio:$ratio"
+
+rm [12].s32
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/tests/phase-test new/soxr-0.1.2-Source/tests/phase-test
--- old/soxr-0.1.1-Source/tests/phase-test 1970-01-01 01:00:00.000000000 +0100
+++ new/soxr-0.1.2-Source/tests/phase-test 2015-09-01 10:52:08.000000000 +0200
@@ -0,0 +1,38 @@
+#!/bin/bash
+set -e
+
+# SoX Resampler Library Copyright (c) 2007-15 robs(a)users.sourceforge.net
+# Licence for this file: LGPL v2.1 See LICENCE for details.
+
+# Tests varying phase-response.
+
+tool=./3-options-input-fn
+spec="spectrogram -z160 -Z-20 -X 2000 -wd -ho"
+ext=f32; e=0
+rate1=48000
+rate2=44100
+
+for n in 1 2; do
+ sox -r $rate1 -n 0.$ext synth 1s sq pad .03 .03 gain -1
+
+ # Test the following combinations:
+ names=(linear-phase intermediate-phase maximum-phase minimum-phase)
+ filters=(standard-filter steep-filter)
+
+ for q in `seq 0 7`; do
+ f=ph-$rate2-q$q
+ name=${names[`expr $q % 4 || true`]}
+ filter=${filters[`expr $q / 4 || true`]}
+ $tool $rate1 $rate2 1 $e $e $q'6' < 0.$ext | sox -c1 -r$rate2 -t $ext - -n $spec $f.png -c "ph-test $filter $name"
+ done
+
+ # Test specific phase-response percentages:
+ for q in `seq 0 20 100`; do
+ f=ph-$rate2-p`printf %03u $q`
+ $tool $rate1 $rate2 1 $e $e 46 0 0 0 $q < 0.$ext | sox -c1 -r$rate2 -t $ext - -n $spec $f.png -c "ph-test phase:${q}%"
+ done
+
+ r=$rate1; rate1=$rate2; rate2=$r
+done
+
+rm 0.$ext
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/tests/q-test new/soxr-0.1.2-Source/tests/q-test
--- old/soxr-0.1.1-Source/tests/q-test 1970-01-01 01:00:00.000000000 +0100
+++ new/soxr-0.1.2-Source/tests/q-test 2015-09-01 10:52:08.000000000 +0200
@@ -0,0 +1,72 @@
+#!/bin/bash
+set -e
+
+# SoX Resampler Library Copyright (c) 2007-15 robs(a)users.sourceforge.net
+# Licence for this file: LGPL v2.1 See LICENCE for details.
+
+# Tests conversion qualities 0..7 & variable-rate.
+
+
+
+tool=./3-options-input-fn
+ext=f64; e=1
+c=1
+q1=0; q2=7
+rates=48000
+zs=(50 87 87 87 111 135 159 180 95)
+
+zz() {
+ echo "spectrogram -z${zs[$1]} -Z-30 -wd -ho"
+}
+
+for rate0 in $rates; do
+
+rate1=$rate0
+rate2=44100
+
+for n in 1 2; do
+
+rate1n=`expr $rate1 / 2`
+
+
+
+# Convert sweep, for spectrogram:
+
+sox -r $rate1 -n -c $c 0.$ext synth 8 sin 0:$rate1n gain -1
+
+for q in `seq $q1 $q2`; do
+ f=qa-$rate1-$rate2-$q
+ $tool $rate1 $rate2 $c $e $e $q 0 < 0.$ext | sox -c$c -r$rate2 -t $ext - -n $(zz $q) $f.png -c $f
+done
+q=8
+f=qa-$rate1-$rate2-v
+$tool $rate1 $rate2 $c $e $e 4 20 < 0.$ext | sox -c$c -r$rate2 -t $ext - -n $(zz $q) $f.png -c $f
+
+
+
+# Convert impulse, for spectrogram:
+
+#: << :
+sox -r $rate1 -n 0.$ext synth 1s sq pad .03 .03 gain -1
+
+for q in `seq $q1 $q2`; do
+ f=qb-$rate1-$rate2-$q
+ $tool $rate1 $rate2 1 $e $e $q 0 < 0.$ext | sox -c1 -r$rate2 -t $ext - $f.wav
+done
+q=8
+f=qb-$rate1-$rate2-v
+$tool $rate1 $rate2 1 $e $e 4 20 < 0.$ext | sox -c1 -r$rate2 -t $ext - $f.wav
+
+# Combine impuse responses into multi-channel file (for inspection in Audacity):
+sox -M qb-$rate1-$rate2-?.wav q$rate1-$rate2.wav
+
+rm qb-$rate1-$rate2-?.wav
+:
+
+rate1=44100
+rate2=$rate0
+
+done
+done
+
+rm 0.$ext
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/tests/scripts new/soxr-0.1.2-Source/tests/scripts
--- old/soxr-0.1.1-Source/tests/scripts 1970-01-01 01:00:00.000000000 +0100
+++ new/soxr-0.1.2-Source/tests/scripts 2015-09-01 11:08:57.000000000 +0200
@@ -0,0 +1,13 @@
+#!/bin/bash
+set -e
+
+# SoX Resampler Library Copyright (c) 2007-15 robs(a)users.sourceforge.net
+# Licence for this file: LGPL v2.1 See LICENCE for details.
+
+../../tests/bandwidth-test
+../../tests/eg-test
+../../tests/io-test
+../../tests/large-ratio-test
+../../tests/phase-test
+../../tests/q-test
+../../tests/time-test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soxr-0.1.1-Source/tests/time-test new/soxr-0.1.2-Source/tests/time-test
--- old/soxr-0.1.1-Source/tests/time-test 1970-01-01 01:00:00.000000000 +0100
+++ new/soxr-0.1.2-Source/tests/time-test 2015-08-29 20:36:24.000000000 +0200
@@ -0,0 +1,35 @@
+#!/bin/bash
+set -e
+
+# SoX Resampler Library Copyright (c) 2007-15 robs(a)users.sourceforge.net
+# Licence for this file: LGPL v2.1 See LICENCE for details.
+
+# Tests rate conversion time for qualities 0..7 & variable-rate.
+
+tool=./3-options-input-fn
+ext=f32; e=0
+c=2
+q1=0; q2=7
+rates="48000 77773 96000"
+
+for rate0 in $rates; do
+ rate1=$rate0
+ rate2=44100
+ for n in 1 2; do
+ rate1n=`expr $rate1 / 2`
+ sox -r $rate1 -n -c $c 0.$ext synth 5: sin 0:$rate1n gain -1
+
+ for q in `seq $q1 $q2`; do
+ echo $rate1 '-->' $rate2 c=$c q=$q
+ time $tool $rate1 $rate2 $c $e $e $q < 0.$ext > /dev/null;
+ done
+
+ echo $rate1 '-->' $rate2 c=$c q=v
+ time $tool $rate1 $rate2 $c $e $e 4 20 < 0.$ext > /dev/null
+
+ rate1=44100
+ rate2=$rate0
+ done
+done
+
+rm 0.$ext
1
0
Hello community,
here is the log from the commit of package libqt5-qtct for openSUSE:Factory checked in at 2015-09-27 08:40:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtct (Old)
and /work/SRC/openSUSE:Factory/.libqt5-qtct.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtct"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtct/libqt5-qtct.changes 2015-09-24 06:16:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libqt5-qtct.new/libqt5-qtct.changes 2015-09-27 08:39:31.000000000 +0200
@@ -1,0 +2,8 @@
+Thu Sep 24 16:43:59 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 0.19:
+ * Add feature to save geometry of the style sheet editor.
+ * Fix qt5ct.desktop.
+ * Update Greek, Czech, Chinese Simplified translations.
+
+-------------------------------------------------------------------
Old:
----
qt5ct-0.18.tar.bz2
New:
----
qt5ct-0.19.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libqt5-qtct.spec ++++++
--- /var/tmp/diff_new_pack.woC16e/_old 2015-09-27 08:39:32.000000000 +0200
+++ /var/tmp/diff_new_pack.woC16e/_new 2015-09-27 08:39:32.000000000 +0200
@@ -18,7 +18,7 @@
%define _name qt5ct
Name: libqt5-qtct
-Version: 0.18
+Version: 0.19
Release: 0
Summary: Qt5 Configuration Tool
License: BSD-2-Clause
++++++ qt5ct-0.18.tar.bz2 -> qt5ct-0.19.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.18/ChangeLog new/qt5ct-0.19/ChangeLog
--- old/qt5ct-0.18/ChangeLog 2015-09-21 14:07:26.000000000 +0200
+++ new/qt5ct-0.19/ChangeLog 2015-09-24 13:06:59.000000000 +0200
@@ -107,3 +107,10 @@
* updated Polish translation (FadeMind)
* updated Chinese (Taiwan) translation (Jeff Huang)
* updated Russian translation
+
+Version 0.19
+* added feature to save geometry of the style sheet editor
+* fixed qt5ct.desktop
+* updated Greek translation (Dimitrios Glentadakis)
+* updated Czech translation (fri)
+* updated Chinese Simplified translation (Cary Tian)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.18/ChangeLog.svn new/qt5ct-0.19/ChangeLog.svn
--- old/qt5ct-0.18/ChangeLog.svn 2015-09-21 14:07:26.000000000 +0200
+++ new/qt5ct-0.19/ChangeLog.svn 2015-09-24 13:06:59.000000000 +0200
@@ -1,4 +1,38 @@
------------------------------------------------------------------------
+r244 | trialuser02 | 2015-09-24 14:04:08 +0300 (Чт., 24 сент. 2015) | 2 lines
+
+updated changelog
+
+------------------------------------------------------------------------
+r243 | trialuser02 | 2015-09-24 14:02:29 +0300 (Чт., 24 сент. 2015) | 2 lines
+
+added feature to save geometry of the style sheet editor
+
+------------------------------------------------------------------------
+r242 | trialuser02 | 2015-09-23 18:51:05 +0300 (Ср., 23 сент. 2015) | 1 line
+
+updated changelog
+------------------------------------------------------------------------
+r241 | trialuser02 | 2015-09-23 18:47:56 +0300 (Ср., 23 сент. 2015) | 1 line
+
+updated Chinese (China) translation (Cary Tian)
+------------------------------------------------------------------------
+r240 | trialuser02 | 2015-09-23 18:46:30 +0300 (Ср., 23 сент. 2015) | 1 line
+
+updated Czech translation (fri)
+------------------------------------------------------------------------
+r239 | trialuser02 | 2015-09-23 18:42:43 +0300 (Ср., 23 сент. 2015) | 1 line
+
+updated Greek translation (Dimitrios Glentadakis)
+------------------------------------------------------------------------
+r238 | trialuser02 | 2015-09-22 22:02:00 +0300 (Вт., 22 сент. 2015) | 1 line
+
+fixed qt5ct.desktop (#8)
+------------------------------------------------------------------------
+r237 | trialuser02 | 2015-09-21 15:09:18 +0300 (Пн., 21 сент. 2015) | 1 line
+
+version bump
+------------------------------------------------------------------------
r235 | trialuser02 | 2015-09-19 20:36:29 +0300 (Сб., 19 сент. 2015) | 1 line
updated changelog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.18/src/qt5ct/desktop-translations/qt5ct_cs.desktop.in new/qt5ct-0.19/src/qt5ct/desktop-translations/qt5ct_cs.desktop.in
--- old/qt5ct-0.18/src/qt5ct/desktop-translations/qt5ct_cs.desktop.in 2015-09-21 14:07:25.000000000 +0200
+++ new/qt5ct-0.19/src/qt5ct/desktop-translations/qt5ct_cs.desktop.in 2015-09-24 13:06:58.000000000 +0200
@@ -9,6 +9,13 @@
+
+
+
+
+
+
+
Exec=qt5ct
Icon=preferences-desktop-theme
Terminal=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.18/src/qt5ct/qsseditordialog.cpp new/qt5ct-0.19/src/qt5ct/qsseditordialog.cpp
--- old/qt5ct-0.18/src/qt5ct/qsseditordialog.cpp 2015-09-21 14:07:25.000000000 +0200
+++ new/qt5ct-0.19/src/qt5ct/qsseditordialog.cpp 2015-09-24 13:06:58.000000000 +0200
@@ -27,6 +27,8 @@
*/
#include <QFile>
+#include <QSettings>
+#include "qt5ct.h"
#include "qsseditordialog.h"
#include "ui_qsseditordialog.h"
@@ -41,6 +43,9 @@
file.open(QIODevice::ReadOnly);
m_ui->textEdit->setPlainText(QString::fromUtf8(file.readAll()));
setWindowTitle(tr("%1 - Style Sheet Editor").arg(file.fileName()));
+
+ QSettings settings(Qt5CT::configFile(), QSettings::IniFormat);
+ restoreGeometry(settings.value("QSSEditor/geometry").toByteArray());
}
QSSEditorDialog::~QSSEditorDialog()
@@ -55,6 +60,12 @@
file.write(m_ui->textEdit->toPlainText().toUtf8());
}
+void QSSEditorDialog::hideEvent(QHideEvent *)
+{
+ QSettings settings(Qt5CT::configFile(), QSettings::IniFormat);
+ settings.setValue("QSSEditor/geometry", saveGeometry());
+}
+
void QSSEditorDialog::on_buttonBox_clicked(QAbstractButton *button)
{
QDialogButtonBox::StandardButton id = m_ui->buttonBox->standardButton(button);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.18/src/qt5ct/qsseditordialog.h new/qt5ct-0.19/src/qt5ct/qsseditordialog.h
--- old/qt5ct-0.18/src/qt5ct/qsseditordialog.h 2015-09-21 14:07:25.000000000 +0200
+++ new/qt5ct-0.19/src/qt5ct/qsseditordialog.h 2015-09-24 13:06:58.000000000 +0200
@@ -51,6 +51,7 @@
private:
void save();
+ void hideEvent(QHideEvent *);
Ui::QSSEditorDialog *m_ui;
QString m_filePath;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.18/src/qt5ct/qt5ct.desktop new/qt5ct-0.19/src/qt5ct/qt5ct.desktop
--- old/qt5ct-0.18/src/qt5ct/qt5ct.desktop 2015-09-21 14:07:25.000000000 +0200
+++ new/qt5ct-0.19/src/qt5ct/qt5ct.desktop 2015-09-24 13:06:58.000000000 +0200
@@ -16,9 +16,6 @@
Comment[ru]=Программа для настройки Qt5
Name[ru]=Настройки Qt5
-Comment[de]=Qt5-Konfigurationswerkzeug
-Name[de]=Qt5-Einstellungen
-
Comment[cs]=Nástroj na nastavení Qt5
Name[cs]=Nastavení Qt5
@@ -35,7 +32,6 @@
Name[zh_TW]=Qt5 設定
-
Exec=qt5ct
Icon=preferences-desktop-theme
Terminal=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.18/src/qt5ct/qt5ct.h new/qt5ct-0.19/src/qt5ct/qt5ct.h
--- old/qt5ct-0.18/src/qt5ct/qt5ct.h 2015-09-21 14:07:25.000000000 +0200
+++ new/qt5ct-0.19/src/qt5ct/qt5ct.h 2015-09-24 13:06:58.000000000 +0200
@@ -30,7 +30,7 @@
#define QT5CT_H
#define QT5CT_VERSION_MAJOR 0
-#define QT5CT_VERSION_MINOR 18
+#define QT5CT_VERSION_MINOR 19
#define QT5CT_TOSTRING(s) #s
#define QT5CT_STRINGIFY(s) QT5CT_TOSTRING(s)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.18/src/qt5ct/translations/qt5ct_cs.ts new/qt5ct-0.19/src/qt5ct/translations/qt5ct_cs.ts
--- old/qt5ct-0.18/src/qt5ct/translations/qt5ct_cs.ts 2015-09-21 14:07:25.000000000 +0200
+++ new/qt5ct-0.19/src/qt5ct/translations/qt5ct_cs.ts 2015-09-24 13:06:58.000000000 +0200
@@ -46,94 +46,94 @@
<message>
<location filename="../appearancepage.ui" line="139"/>
<source>Color scheme:</source>
- <translation type="unfinished"></translation>
+ <translation>Barevné schéma:</translation>
</message>
<message>
<location filename="../appearancepage.ui" line="162"/>
<source>...</source>
- <translation type="unfinished">...</translation>
+ <translation>...</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="64"/>
<source>Create</source>
- <translation type="unfinished">Vytvořit</translation>
+ <translation>Vytvořit</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="65"/>
<source>Edit</source>
- <translation type="unfinished">Upravit</translation>
+ <translation>Upravit</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="66"/>
<source>Create a Copy</source>
- <translation type="unfinished"></translation>
+ <translation>Vytvořit kopii</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="67"/>
<source>Rename</source>
- <translation type="unfinished">Přejmenovat</translation>
+ <translation>Přejmenovat</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="69"/>
<source>Remove</source>
- <translation type="unfinished">Odstranit</translation>
+ <translation>Odstranit</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="116"/>
<location filename="../appearancepage.cpp" line="189"/>
<location filename="../appearancepage.cpp" line="224"/>
<source>Enter Color Scheme Name</source>
- <translation type="unfinished"></translation>
+ <translation>Zadejte název barevného schématu</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="116"/>
<location filename="../appearancepage.cpp" line="189"/>
<location filename="../appearancepage.cpp" line="224"/>
<source>File name:</source>
- <translation type="unfinished">Název souboru:</translation>
+ <translation>Název souboru:</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="125"/>
<location filename="../appearancepage.cpp" line="200"/>
<location filename="../appearancepage.cpp" line="234"/>
<source>Error</source>
- <translation type="unfinished">Chyba</translation>
+ <translation>Chyba</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="125"/>
<location filename="../appearancepage.cpp" line="200"/>
<location filename="../appearancepage.cpp" line="234"/>
<source>The color scheme "%1" already exists</source>
- <translation type="unfinished"></translation>
+ <translation>Již je barevné schéma "%1"</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="143"/>
<location filename="../appearancepage.cpp" line="165"/>
<location filename="../appearancepage.cpp" line="219"/>
<source>Warning</source>
- <translation type="unfinished"></translation>
+ <translation>Varování</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="143"/>
<location filename="../appearancepage.cpp" line="165"/>
<location filename="../appearancepage.cpp" line="219"/>
<source>The color scheme "%1" is read only</source>
- <translation type="unfinished"></translation>
+ <translation>Barevné schéma "%1" je pouze pro čtení</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="170"/>
<source>Confirm Remove</source>
- <translation type="unfinished">Potvrdit odstranění</translation>
+ <translation>Potvrdit odstranění</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="171"/>
<source>Are you sure you want to remove color scheme "%1"?</source>
- <translation type="unfinished"></translation>
+ <translation>Jste si jistý, že chcete odstranit barevné schéma "%1"?</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="191"/>
<source>%1 (copy)</source>
- <translation type="unfinished"></translation>
+ <translation>%1 (kopie)</translation>
</message>
</context>
<context>
@@ -620,7 +620,7 @@
<message>
<location filename="../qsspage.cpp" line="143"/>
<source>Are you sure you want to remove style sheet "%1"?</source>
- <translation type="unfinished"></translation>
+ <translation>Jste si jistý, že chcete odstranit stylový list "%1"?</translation>
</message>
<message>
<location filename="../qsspage.cpp" line="193"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.18/src/qt5ct/translations/qt5ct_el.ts new/qt5ct-0.19/src/qt5ct/translations/qt5ct_el.ts
--- old/qt5ct-0.18/src/qt5ct/translations/qt5ct_el.ts 2015-09-21 14:07:25.000000000 +0200
+++ new/qt5ct-0.19/src/qt5ct/translations/qt5ct_el.ts 2015-09-24 13:06:58.000000000 +0200
@@ -46,94 +46,94 @@
<message>
<location filename="../appearancepage.ui" line="139"/>
<source>Color scheme:</source>
- <translation type="unfinished"></translation>
+ <translation>Χρωματικό σχήμα:</translation>
</message>
<message>
<location filename="../appearancepage.ui" line="162"/>
<source>...</source>
- <translation type="unfinished">...</translation>
+ <translation>...</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="64"/>
<source>Create</source>
- <translation type="unfinished">Δημιουργία</translation>
+ <translation>Δημιουργία</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="65"/>
<source>Edit</source>
- <translation type="unfinished">Επεξεργασία</translation>
+ <translation>Επεξεργασία</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="66"/>
<source>Create a Copy</source>
- <translation type="unfinished"></translation>
+ <translation>Δημιουργία αντιγράφου</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="67"/>
<source>Rename</source>
- <translation type="unfinished">Μετονομασία</translation>
+ <translation>Μετονομασία</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="69"/>
<source>Remove</source>
- <translation type="unfinished">Αφαίρεση</translation>
+ <translation>Αφαίρεση</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="116"/>
<location filename="../appearancepage.cpp" line="189"/>
<location filename="../appearancepage.cpp" line="224"/>
<source>Enter Color Scheme Name</source>
- <translation type="unfinished"></translation>
+ <translation>Εισαγάγετε το όνομα του χρωματικού σχήματος</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="116"/>
<location filename="../appearancepage.cpp" line="189"/>
<location filename="../appearancepage.cpp" line="224"/>
<source>File name:</source>
- <translation type="unfinished">Όνομα αρχείου:</translation>
+ <translation>Όνομα αρχείου:</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="125"/>
<location filename="../appearancepage.cpp" line="200"/>
<location filename="../appearancepage.cpp" line="234"/>
<source>Error</source>
- <translation type="unfinished">Σφάλμα</translation>
+ <translation>Σφάλμα</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="125"/>
<location filename="../appearancepage.cpp" line="200"/>
<location filename="../appearancepage.cpp" line="234"/>
<source>The color scheme "%1" already exists</source>
- <translation type="unfinished"></translation>
+ <translation>Το χρωματικό σχήμα «%1» υπάρχει ήδη</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="143"/>
<location filename="../appearancepage.cpp" line="165"/>
<location filename="../appearancepage.cpp" line="219"/>
<source>Warning</source>
- <translation type="unfinished"></translation>
+ <translation>Προειδοποίηση</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="143"/>
<location filename="../appearancepage.cpp" line="165"/>
<location filename="../appearancepage.cpp" line="219"/>
<source>The color scheme "%1" is read only</source>
- <translation type="unfinished"></translation>
+ <translation>Το χρωματικό σχήμα «%1» είναι μόνο για ανάγνωση</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="170"/>
<source>Confirm Remove</source>
- <translation type="unfinished">Επικύρωση της αφαίρεσης</translation>
+ <translation>Επικύρωση της αφαίρεσης</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="171"/>
<source>Are you sure you want to remove color scheme "%1"?</source>
- <translation type="unfinished"></translation>
+ <translation>Είστε σίγουρος-η ότι θέλετε να αφαιρέσετε το χρωματικό σχήμα «%1»;</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="191"/>
<source>%1 (copy)</source>
- <translation type="unfinished"></translation>
+ <translation>%1 (αντίγραφο)</translation>
</message>
</context>
<context>
@@ -621,7 +621,7 @@
<message>
<location filename="../qsspage.cpp" line="143"/>
<source>Are you sure you want to remove style sheet "%1"?</source>
- <translation type="unfinished"></translation>
+ <translation>Είστε σίγουρος-η ότι θέλετε να αφαιρέσετε το φύλλο αισθητικής επικάλυψης «%1»;</translation>
</message>
<message>
<location filename="../qsspage.cpp" line="193"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.18/src/qt5ct/translations/qt5ct_zh_CN.ts new/qt5ct-0.19/src/qt5ct/translations/qt5ct_zh_CN.ts
--- old/qt5ct-0.18/src/qt5ct/translations/qt5ct_zh_CN.ts 2015-09-21 14:07:25.000000000 +0200
+++ new/qt5ct-0.19/src/qt5ct/translations/qt5ct_zh_CN.ts 2015-09-24 13:06:58.000000000 +0200
@@ -46,94 +46,94 @@
<message>
<location filename="../appearancepage.ui" line="139"/>
<source>Color scheme:</source>
- <translation type="unfinished"></translation>
+ <translation>颜色方案:</translation>
</message>
<message>
<location filename="../appearancepage.ui" line="162"/>
<source>...</source>
- <translation type="unfinished">...</translation>
+ <translation>...</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="64"/>
<source>Create</source>
- <translation type="unfinished">新建</translation>
+ <translation>创建</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="65"/>
<source>Edit</source>
- <translation type="unfinished">编辑</translation>
+ <translation>编辑</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="66"/>
<source>Create a Copy</source>
- <translation type="unfinished"></translation>
+ <translation>创建副本</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="67"/>
<source>Rename</source>
- <translation type="unfinished">重命名</translation>
+ <translation>重命名</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="69"/>
<source>Remove</source>
- <translation type="unfinished">删除</translation>
+ <translation>移除</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="116"/>
<location filename="../appearancepage.cpp" line="189"/>
<location filename="../appearancepage.cpp" line="224"/>
<source>Enter Color Scheme Name</source>
- <translation type="unfinished"></translation>
+ <translation>输入颜色方案名称</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="116"/>
<location filename="../appearancepage.cpp" line="189"/>
<location filename="../appearancepage.cpp" line="224"/>
<source>File name:</source>
- <translation type="unfinished">文件名:</translation>
+ <translation>文件名:</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="125"/>
<location filename="../appearancepage.cpp" line="200"/>
<location filename="../appearancepage.cpp" line="234"/>
<source>Error</source>
- <translation type="unfinished">错误</translation>
+ <translation>错误</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="125"/>
<location filename="../appearancepage.cpp" line="200"/>
<location filename="../appearancepage.cpp" line="234"/>
<source>The color scheme "%1" already exists</source>
- <translation type="unfinished"></translation>
+ <translation>颜色方案 "%1" 已经存在</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="143"/>
<location filename="../appearancepage.cpp" line="165"/>
<location filename="../appearancepage.cpp" line="219"/>
<source>Warning</source>
- <translation type="unfinished"></translation>
+ <translation>警告</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="143"/>
<location filename="../appearancepage.cpp" line="165"/>
<location filename="../appearancepage.cpp" line="219"/>
<source>The color scheme "%1" is read only</source>
- <translation type="unfinished"></translation>
+ <translation>颜色方案 "%1" 是只读状态</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="170"/>
<source>Confirm Remove</source>
- <translation type="unfinished">确定删除</translation>
+ <translation>确认移除</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="171"/>
<source>Are you sure you want to remove color scheme "%1"?</source>
- <translation type="unfinished"></translation>
+ <translation>您确定要移除颜色方案 "%1" 吗?</translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="191"/>
<source>%1 (copy)</source>
- <translation type="unfinished"></translation>
+ <translation>%1(拷贝)</translation>
</message>
</context>
<context>
@@ -620,7 +620,7 @@
<message>
<location filename="../qsspage.cpp" line="143"/>
<source>Are you sure you want to remove style sheet "%1"?</source>
- <translation type="unfinished"></translation>
+ <translation>您确定要移除样式表 "%1" 吗?</translation>
</message>
<message>
<location filename="../qsspage.cpp" line="193"/>
1
0
Hello community,
here is the log from the commit of package caja for openSUSE:Factory checked in at 2015-09-27 08:40:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/caja (Old)
and /work/SRC/openSUSE:Factory/.caja.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "caja"
Changes:
--------
--- /work/SRC/openSUSE:Factory/caja/caja.changes 2015-07-21 13:29:21.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.caja.new/caja.changes 2015-09-27 08:39:29.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Sep 24 16:43:59 UTC 2015 - sor.alexei(a)meowr.ru
+
+- Update to 1.10.4:
+ * Fix a crash when using undo following a file deletion.
+
+-------------------------------------------------------------------
Old:
----
caja-1.10.3.tar.xz
New:
----
caja-1.10.4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ caja.spec ++++++
--- /var/tmp/diff_new_pack.UgPWcy/_old 2015-09-27 08:39:29.000000000 +0200
+++ /var/tmp/diff_new_pack.UgPWcy/_new 2015-09-27 08:39:29.000000000 +0200
@@ -20,7 +20,7 @@
%define typelib typelib-1_0-Caja-2_0
%define _version 1.10
Name: caja
-Version: 1.10.3
+Version: 1.10.4
Release: 0
Summary: File manager for the MATE desktop
License: GPL-2.0 and LGPL-2.0
@@ -44,7 +44,7 @@
BuildRequires: pkgconfig(pangox)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(unique-1.0)
-Recommends: %{name}-lang = %{version}
+Recommends: %{name}-lang
Provides: mate-file-manager = %{version}
Obsoletes: mate-file-manager < %{version}
Obsoletes: mate-file-manager-lang < %{version}
++++++ caja-1.10.3.tar.xz -> caja-1.10.4.tar.xz ++++++
++++ 24715 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package audacity for openSUSE:Factory checked in at 2015-09-27 08:40:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/audacity (Old)
and /work/SRC/openSUSE:Factory/.audacity.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "audacity"
Changes:
--------
--- /work/SRC/openSUSE:Factory/audacity/audacity.changes 2015-07-21 13:29:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.audacity.new/audacity.changes 2015-09-27 08:39:27.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Sep 22 08:47:31 UTC 2015 - olaf(a)aepfle.de
+
+- Use pkgconfig for ffmpeg BuildRequires
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ audacity.spec ++++++
--- /var/tmp/diff_new_pack.NTVrI4/_old 2015-09-27 08:39:28.000000000 +0200
+++ /var/tmp/diff_new_pack.NTVrI4/_new 2015-09-27 08:39:28.000000000 +0200
@@ -71,7 +71,9 @@
Recommends: libavutil
Recommends: libmp3lame0
%if %{with ffmpeg}
-BuildRequires: libffmpeg-devel
+BuildRequires: pkgconfig(libavcodec) >= 51.53
+BuildRequires: pkgconfig(libavformat) >= 52.12
+BuildRequires: pkgconfig(libavutil)
%endif
%if %{with mad}
BuildRequires: pkgconfig(mad)
1
0
Hello community,
here is the log from the commit of package youtube-dl for openSUSE:Factory checked in at 2015-09-27 08:40:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/youtube-dl (Old)
and /work/SRC/openSUSE:Factory/.youtube-dl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "youtube-dl"
Changes:
--------
--- /work/SRC/openSUSE:Factory/youtube-dl/youtube-dl.changes 2015-09-17 09:21:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.youtube-dl.new/youtube-dl.changes 2015-09-27 08:39:26.000000000 +0200
@@ -1,0 +2,8 @@
+Thu Sep 24 10:34:02 UTC 2015 - jengelh(a)inai.de
+
+- Update to new upstream release 2015.09.22
+* nowness: video extraction and add support serie and playlist ext?.
+* ndr: add support for embeds
+* yahoo: process query result embedded in webpage
+
+-------------------------------------------------------------------
Old:
----
youtube-dl-2015.09.03.tar.gz
youtube-dl-2015.09.03.tar.gz.sig
New:
----
youtube-dl-2015.09.22.tar.gz
youtube-dl-2015.09.22.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ youtube-dl.spec ++++++
--- /var/tmp/diff_new_pack.nJRAwW/_old 2015-09-27 08:39:26.000000000 +0200
+++ /var/tmp/diff_new_pack.nJRAwW/_new 2015-09-27 08:39:26.000000000 +0200
@@ -17,7 +17,7 @@
Name: youtube-dl
-Version: 2015.09.03
+Version: 2015.09.22
Release: 0
Summary: A tool for downloading from Youtube
License: SUSE-Public-Domain and CC-BY-SA-3.0
++++++ youtube-dl-2015.09.03.tar.gz -> youtube-dl-2015.09.22.tar.gz ++++++
++++ 4058 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package goobox for openSUSE:Factory checked in at 2015-09-27 08:40:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/goobox (Old)
and /work/SRC/openSUSE:Factory/.goobox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "goobox"
Changes:
--------
--- /work/SRC/openSUSE:Factory/goobox/goobox.changes 2015-04-16 14:13:51.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.goobox.new/goobox.changes 2015-09-27 08:39:24.000000000 +0200
@@ -1,0 +2,8 @@
+Wed Sep 23 17:55:38 UTC 2015 - zaitor(a)opensuse.org
+
+- Update to version 3.4.1:
+ + Command line arguments not handled correctly.
+ + Fix possible crash.
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
goobox-3.4.0.tar.xz
New:
----
goobox-3.4.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ goobox.spec ++++++
--- /var/tmp/diff_new_pack.mLnGr9/_old 2015-09-27 08:39:25.000000000 +0200
+++ /var/tmp/diff_new_pack.mLnGr9/_new 2015-09-27 08:39:25.000000000 +0200
@@ -17,7 +17,7 @@
Name: goobox
-Version: 3.4.0
+Version: 3.4.1
Release: 0
# FIXME: Enable libcoverart support.
Summary: CD Player and Ripper for GNOME
++++++ goobox-3.4.0.tar.xz -> goobox-3.4.1.tar.xz ++++++
++++ 2417 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package mkvtoolnix for openSUSE:Factory checked in at 2015-09-27 08:39:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mkvtoolnix (Old)
and /work/SRC/openSUSE:Factory/.mkvtoolnix.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mkvtoolnix"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mkvtoolnix/mkvtoolnix.changes 2015-09-24 06:16:29.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mkvtoolnix.new/mkvtoolnix.changes 2015-09-27 08:39:20.000000000 +0200
@@ -1,0 +2,15 @@
+Tue Sep 22 13:56:09 UTC 2015 - rpm(a)fthiessen.de
+
+- Updated to version 8.4.0:
+* MMG has been removed.
+* Dropped wxWidgets dependencies (new gui uses QT).
+* A lot of bugfixes and enhancements of the gui and mkvmerge
+ (see https://bunkus.org/videotools/mkvtoolnix/doc/ChangeLog)
+* mkvmerge: bug fix: calculating of delay for audio garbage data
+ got fixed.
+* all: bug fix: parsing of strings containing negative values or
+ timecodes was broken on 32-but architectures.
+* mkvmerge: bug fix: number of channels and the sample rate
+ reported for DTS in MPEG streams was 0.
+
+-------------------------------------------------------------------
Old:
----
mkvtoolnix-8.3.0.tar.xz
New:
----
mkvtoolnix-8.4.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mkvtoolnix.spec ++++++
--- /var/tmp/diff_new_pack.KtXxzJ/_old 2015-09-27 08:39:21.000000000 +0200
+++ /var/tmp/diff_new_pack.KtXxzJ/_new 2015-09-27 08:39:21.000000000 +0200
@@ -17,7 +17,7 @@
Name: mkvtoolnix
-Version: 8.3.0
+Version: 8.4.0
Release: 0
Summary: Tools to Create, Alter, and Inspect Matroska Files
License: GPL-2.0+
@@ -31,10 +31,10 @@
BuildRequires: fdupes
BuildRequires: file-devel
BuildRequires: gcc-c++ >= 4.7
-BuildRequires: lzo-devel
+BuildRequires: gettext-tools
+BuildRequires: libqt5-qtbase-devel >= 5.2.0
BuildRequires: ruby >= 1.9
BuildRequires: xz
-BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(flac)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libebml) >= 1.3.1
@@ -47,11 +47,6 @@
# Needed because of scriplets macros
BuildRequires: desktop-file-utils
BuildRequires: shared-mime-info
-%if 0%{?suse_version} >= 1320
-BuildRequires: wxWidgets-devel >= 3
-%else
-BuildRequires: wxWidgets-devel >= 2.8
-%endif
%description
Tools to create and manipulate Matroska files (extensions .mkv and .mka), a new
@@ -62,13 +57,13 @@
%setup -q
%build
-%configure --without-build-timestamp --docdir=%{_docdir}/%{name} --with-boost-libdir=%{_libdir}
-./drake %{?_smp_mflags} V=1
+export CFLAGS="$RPM_OPT_FLAGS"
+export CXXFLAGS="$RPM_OPT_FLAGS"
+%configure --docdir=%{_docdir}/%{name}
+./drake %{?_smp_mflags}
%install
./drake install DESTDIR=%{buildroot}
-install -pm 0644 AUTHORS ChangeLog COPYING README.md %{buildroot}%{_docdir}/%{name}
-cp -a examples %{buildroot}%{_docdir}/%{name}
# I guess this is the correct thing to do until bnc#737549 is fixed
rm -rf %{buildroot}%{_mandir}/nl %{buildroot}%{_mandir}/uk %{buildroot}%{_mandir}/zh_CN
%find_lang %{name} --with-man --all-name
@@ -86,14 +81,15 @@
%files -f %{name}.lang
%defattr(-,root,root)
-%{_docdir}/%{name}
+%doc AUTHORS ChangeLog COPYING README.md
+%doc examples
%{_bindir}/mkvextract
%{_bindir}/mkvinfo
%{_bindir}/mkvmerge
-%{_bindir}/mmg
%{_bindir}/mkvpropedit
+%{_bindir}/mkvtoolnix-gui
%{_datadir}/applications/mkvinfo.desktop
-%{_datadir}/applications/mkvmergeGUI.desktop
+%{_datadir}/applications/mkvtoolnix-gui.desktop
%{_datadir}/icons/hicolor/*/apps/mkvextract.png
%{_datadir}/icons/hicolor/*/apps/mkvinfo.png
%{_datadir}/icons/hicolor/*/apps/mkvmerge.png
@@ -103,7 +99,7 @@
%{_mandir}/man1/mkvextract.1%{ext_man}
%{_mandir}/man1/mkvinfo.1%{ext_man}
%{_mandir}/man1/mkvmerge.1%{ext_man}
-%{_mandir}/man1/mmg.1%{ext_man}
%{_mandir}/man1/mkvpropedit.1%{ext_man}
+%{_mandir}/man1/mkvtoolnix-gui.1%{ext_man}
%changelog
++++++ mkvtoolnix-8.3.0.tar.xz -> mkvtoolnix-8.4.0.tar.xz ++++++
++++ 314947 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package xf86-video-ast for openSUSE:Factory checked in at 2015-09-27 08:39:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-video-ast (Old)
and /work/SRC/openSUSE:Factory/.xf86-video-ast.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-video-ast"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-video-ast/xf86-video-ast.changes 2014-09-03 21:19:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xf86-video-ast.new/xf86-video-ast.changes 2015-09-27 08:39:19.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Sep 14 20:30:27 UTC 2015 - zaitor(a)opensuse.org
+
+- Update to version 1.1.5:
+ + Support AST2500.
+ + Fixed Failed to Init when ASPEED Graphics is Secondary.
+ + Fixed Transient Noise While System Resume from Hibernate.
+ + Use same search mode criteria with ast drm driver.
+ + Use proper type.
+
+-------------------------------------------------------------------
Old:
----
xf86-video-ast-1.0.1.tar.bz2
New:
----
xf86-video-ast-1.1.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xf86-video-ast.spec ++++++
--- /var/tmp/diff_new_pack.YiFTNr/_old 2015-09-27 08:39:19.000000000 +0200
+++ /var/tmp/diff_new_pack.YiFTNr/_new 2015-09-27 08:39:19.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package xf86-video-ast
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: xf86-video-ast
-Version: 1.0.1
+Version: 1.1.5
Release: 0
Summary: ASpeed Technologies video driver for the Xorg X server
License: MIT
++++++ xf86-video-ast-1.0.1.tar.bz2 -> xf86-video-ast-1.1.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-ast-1.0.1/ChangeLog new/xf86-video-ast-1.1.5/ChangeLog
--- old/xf86-video-ast-1.0.1/ChangeLog 2014-08-11 05:46:39.000000000 +0200
+++ new/xf86-video-ast-1.1.5/ChangeLog 2015-08-19 03:36:24.000000000 +0200
@@ -1,3 +1,44 @@
+commit 39e80895acb4b818ecc15af51a68178562ebb41d
+Author: Y.C. Chen <yc_chen(a)aspeedtech.com>
+Date: Wed Aug 19 09:21:05 2015 +0800
+
+ Bump Version to 1.1.5
+
+commit 74281c4ce201ff04a6672c703d09ed28286f1801
+Author: Y.C. Chen <yc_chen(a)aspeedtech.com>
+Date: Fri Aug 14 15:30:00 2015 +0800
+
+ Support AST2500
+
+commit 9918d6f69ac51d9d27b074e3e490783acda68dca
+Author: Y.C. Chen <yc_chen(a)aspeedtech.com>
+Date: Fri Aug 14 10:11:23 2015 +0800
+
+ Fixed Failed to Init when ASPEED Graphics is Secondary
+
+commit e545ab905ea120014558d6f1733d87ffde5d5d71
+Author: Y.C. Chen <yc_chen(a)aspeedtech.com>
+Date: Thu Aug 13 15:54:15 2015 +0800
+
+ Fixed Transient Noise While System Resume from Hibernate
+
+commit 77e7ac37c6031551f7ad355dc94c4176df4956aa
+Author: Y.C. Chen <yc_chen(a)aspeedtech.com>
+Date: Thu Aug 13 15:21:57 2015 +0800
+
+ use same search mode criteria with ast drm driver
+
+commit 4f404aa29eea5707cfdfe3dc2c762bd46063dfec
+Author: Thomas Klausner <wiz(a)NetBSD.org>
+Date: Mon Aug 18 05:35:48 2014 +0800
+
+ Use proper type.
+
+ Two other places in this file already use uint32_t when passing
+ it to PCI_READ_LONG.
+
+ Signed-off-by: Thomas Klausner <wiz(a)NetBSD.org>
+
commit d531cac475980908ea52309846221a974b8e7efd
Author: Y.C. Chen <yc_chen(a)aspeedtech.com>
Date: Fri Aug 8 16:51:07 2014 +0800
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-ast-1.0.1/configure new/xf86-video-ast-1.1.5/configure
--- old/xf86-video-ast-1.0.1/configure 2014-08-08 11:01:06.000000000 +0200
+++ new/xf86-video-ast-1.1.5/configure 2015-08-19 03:26:42.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xf86-video-ast 1.0.1.
+# Generated by GNU Autoconf 2.69 for xf86-video-ast 1.1.5.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
#
@@ -591,8 +591,8 @@
# Identity of this package.
PACKAGE_NAME='xf86-video-ast'
PACKAGE_TARNAME='xf86-video-ast'
-PACKAGE_VERSION='1.0.1'
-PACKAGE_STRING='xf86-video-ast 1.0.1'
+PACKAGE_VERSION='1.1.5'
+PACKAGE_STRING='xf86-video-ast 1.1.5'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
PACKAGE_URL=''
@@ -1358,7 +1358,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 xf86-video-ast 1.0.1 to adapt to many kinds of systems.
+\`configure' configures xf86-video-ast 1.1.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1428,7 +1428,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xf86-video-ast 1.0.1:";;
+ short | recursive ) echo "Configuration of xf86-video-ast 1.1.5:";;
esac
cat <<\_ACEOF
@@ -1558,7 +1558,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xf86-video-ast configure 1.0.1
+xf86-video-ast configure 1.1.5
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1973,7 +1973,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xf86-video-ast $as_me 1.0.1, which was
+It was created by xf86-video-ast $as_me 1.1.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2841,7 +2841,7 @@
# Define the identity of the package.
PACKAGE='xf86-video-ast'
- VERSION='1.0.1'
+ VERSION='1.1.5'
cat >>confdefs.h <<_ACEOF
@@ -18824,7 +18824,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xf86-video-ast $as_me 1.0.1, which was
+This file was extended by xf86-video-ast $as_me 1.1.5, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -18890,7 +18890,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xf86-video-ast config.status 1.0.1
+xf86-video-ast config.status 1.1.5
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/xf86-video-ast-1.0.1/configure.ac new/xf86-video-ast-1.1.5/configure.ac
--- old/xf86-video-ast-1.0.1/configure.ac 2014-08-08 10:59:04.000000000 +0200
+++ new/xf86-video-ast-1.1.5/configure.ac 2015-08-19 03:24:48.000000000 +0200
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-video-ast],
- [1.0.1],
+ [1.1.5],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]
[xf86-video-ast])
AC_CONFIG_SRCDIR([Makefile.am])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-ast-1.0.1/src/ast.h new/xf86-video-ast-1.1.5/src/ast.h
--- old/xf86-video-ast-1.0.1/src/ast.h 2014-08-08 10:59:04.000000000 +0200
+++ new/xf86-video-ast-1.1.5/src/ast.h 2015-08-19 03:24:48.000000000 +0200
@@ -72,6 +72,7 @@
AST2150,
AST2300,
AST2400,
+ AST2500,
AST1180
} CHIP_ID;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-ast-1.0.1/src/ast_2dtool.c new/xf86-video-ast-1.1.5/src/ast_2dtool.c
--- old/xf86-video-ast-1.0.1/src/ast_2dtool.c 2014-08-08 10:59:04.000000000 +0200
+++ new/xf86-video-ast-1.1.5/src/ast_2dtool.c 2015-08-19 03:24:48.000000000 +0200
@@ -241,7 +241,7 @@
ULONG ulData;
PFN_bENABLE_CMDQ pfnEnableCMDQ = bEnableCMDQ;
- if ( (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) )
+ if ( (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500) )
pfnEnableCMDQ = bEnableCMDQ2300;
switch (pAST->jChipType)
@@ -252,6 +252,7 @@
case AST2150:
case AST2300:
case AST2400:
+ case AST2500:
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-ast-1.0.1/src/ast_accel.c new/xf86-video-ast-1.1.5/src/ast_accel.c
--- old/xf86-video-ast-1.0.1/src/ast_accel.c 2014-08-08 10:59:04.000000000 +0200
+++ new/xf86-video-ast-1.1.5/src/ast_accel.c 2015-08-19 03:24:48.000000000 +0200
@@ -191,7 +191,7 @@
/* Solid Lines */
if (pAST->ENGCaps & ENG_CAP_SolidLine)
{
- if ( (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST1180) )
+ if ( (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500) || (pAST->jChipType == AST1180) )
{
infoPtr->SubsequentSolidTwoPointLine = AIPSubsequentSolidTwoPointLine;
}
@@ -208,7 +208,7 @@
/* Dashed Lines */
if (pAST->ENGCaps & ENG_CAP_DashedLine)
{
- if ( (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST1180) )
+ if ( (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500) || (pAST->jChipType == AST1180) )
{
infoPtr->SubsequentDashedTwoPointLine = AIPSubsequentDashedTwoPointLine;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-ast-1.0.1/src/ast_driver.c new/xf86-video-ast-1.1.5/src/ast_driver.c
--- old/xf86-video-ast-1.0.1/src/ast_driver.c 2014-08-08 10:59:04.000000000 +0200
+++ new/xf86-video-ast-1.1.5/src/ast_driver.c 2015-08-19 03:24:48.000000000 +0200
@@ -623,17 +623,10 @@
/* Enable VGA MMIO Access */
vASTEnableVGAMMIO(pScrn);
- /* Init VGA Adapter */
- if (!xf86IsPrimaryPci(pAST->PciInfo))
- {
- ASTInitVGA(pScrn, 0);
- }
-
- vASTOpenKey(pScrn);
- bASTRegInit(pScrn);
-
/* Get Chip Type */
- if (PCI_DEV_REVISION(pAST->PciInfo) >= 0x30)
+ if (PCI_DEV_REVISION(pAST->PciInfo) >= 0x40)
+ pAST->jChipType = AST2500;
+ else if (PCI_DEV_REVISION(pAST->PciInfo) >= 0x30)
pAST->jChipType = AST2400;
else if (PCI_DEV_REVISION(pAST->PciInfo) >= 0x20)
pAST->jChipType = AST2300;
@@ -642,6 +635,15 @@
else
pAST->jChipType = AST2000;
+ /* Init VGA Adapter */
+ if (!xf86IsPrimaryPci(pAST->PciInfo))
+ {
+ ASTInitVGA(pScrn, 0);
+ }
+
+ vASTOpenKey(pScrn);
+ bASTRegInit(pScrn);
+
/* Get Options from Scratch */
ASTGetScratchOptions(pScrn);
@@ -685,7 +687,7 @@
clockRanges->doubleScanAllowed = FALSE;
/* Add for AST2100, ycchen@061807 */
- if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST1180))
+ if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500) || (pAST->jChipType == AST1180))
{
maxPitch = 1920;
maxHeight = 1200;
@@ -1001,7 +1003,7 @@
xf86DPMSInit(pScreen, ASTDisplayPowerManagementSet, 0);
#ifdef AstVideo
- if ( (pAST->jChipType == AST1180) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) )
+ if ( (pAST->jChipType == AST1180) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500) )
{
xf86DrvMsg(pScrn->scrnIndex, X_INFO,"AST Initial Video()\n");
ASTInitVideo(pScreen);
@@ -1195,7 +1197,7 @@
if ( (mode->CrtcHDisplay == 1600) && (mode->CrtcVDisplay == 900) )
return MODE_OK;
- if ( (pAST->jChipType == AST2100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST1180) )
+ if ( (pAST->jChipType == AST2100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500) || (pAST->jChipType == AST1180) )
{
if ( (mode->CrtcHDisplay == 1920) && (mode->CrtcVDisplay == 1080) )
return MODE_OK;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-ast-1.0.1/src/ast_mode.c new/xf86-video-ast-1.1.5/src/ast_mode.c
--- old/xf86-video-ast-1.0.1/src/ast_mode.c 2014-08-08 10:59:04.000000000 +0200
+++ new/xf86-video-ast-1.1.5/src/ast_mode.c 2015-08-19 03:24:48.000000000 +0200
@@ -197,53 +197,53 @@
};
static VBIOS_ENHTABLE_STRUCT Res1600x900Table[] = {
+ {1760, 1600, 48, 32, 926, 900, 3, 5, VCLK97_75, /* 60Hz CVT RB */
+ (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | AST2500PreCatchCRT), 60, 2, 0x3A },
{2112, 1600, 88,168, 934, 900, 3, 5, VCLK118_25, /* 60Hz CVT */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x3A },
- {1760, 1600, 48, 32, 926, 900, 3, 5, VCLK97_75, /* 60Hz CVT RB */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x3A },
- {1760, 1600, 48, 32, 926, 900, 3, 5, VCLK97_75, /* end */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x3A },
+ {2112, 1600, 88,168, 934, 900, 3, 5, VCLK118_25, /* end */
+ (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x3A },
};
static VBIOS_ENHTABLE_STRUCT Res1920x1080Table[] = {
{2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5, /* HDTV 60Hz */
- (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x38 },
+ (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | AST2500PreCatchCRT), 60, 1, 0x38 },
{2200, 1920, 88, 44, 1125, 1080, 4, 5, VCLK148_5, /* end */
- (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x38 },
+ (SyncPP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | AST2500PreCatchCRT), 0xFF, 1, 0x38 },
};
/* 16:10 */
static VBIOS_ENHTABLE_STRUCT Res1280x800Table[] = {
+ {1440, 1280, 48, 32, 823, 800, 3, 6, VCLK71, /* 60Hz CVT RB */
+ (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | AST2500PreCatchCRT), 60, 2, 35 },
{1680, 1280, 72,128, 831, 800, 3, 6, VCLK83_5, /* 60Hz CVT */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x35 },
- {1440, 1280, 48, 32, 823, 800, 3, 6, VCLK71, /* 60Hz CVT RB */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 35 },
- {1440, 1280, 48, 32, 823, 800, 3, 6, VCLK71, /* 60Hz CVT RB */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 35 },
+ {1680, 1280, 72,128, 831, 800, 3, 6, VCLK83_5, /* end */
+ (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x35 },
};
static VBIOS_ENHTABLE_STRUCT Res1440x900Table[] = {
+ {1600, 1440, 48, 32, 926, 900, 3, 6, VCLK88_75, /* 60Hz CVT RB */
+ (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | AST2500PreCatchCRT), 60, 2, 0x36 },
{1904, 1440, 80,152, 934, 900, 3, 6, VCLK106_5, /* 60Hz CVT */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x36 },
- {1600, 1440, 48, 32, 926, 900, 3, 6, VCLK88_75, /* 60Hz CVT RB */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x36 },
- {1600, 1440, 48, 32, 926, 900, 3, 6, VCLK88_75, /* 60Hz CVT RB */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x36 },
+ {1904, 1440, 80,152, 934, 900, 3, 6, VCLK106_5, /* end */
+ (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x36 },
};
static VBIOS_ENHTABLE_STRUCT Res1680x1050Table[] = {
+ {1840, 1680, 48, 32, 1080, 1050, 3, 6, VCLK119, /* 60Hz CVT RB */
+ (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | AST2500PreCatchCRT), 60, 2, 0x37 },
{2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25, /* 60Hz CVT */
(SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x37 },
- {1840, 1680, 48, 32, 1080, 1050, 3, 6, VCLK119, /* 60Hz CVT RB */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 2, 0x37 },
- {1840, 1680, 48, 32, 1080, 1050, 3, 6, VCLK119, /* 60Hz CVT RB */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 2, 0x37 },
+ {2240, 1680,104,176, 1089, 1050, 3, 6, VCLK146_25, /* end */
+ (SyncPN | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x37 },
};
static VBIOS_ENHTABLE_STRUCT Res1920x1200Table[] = {
- {2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz */
- (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 60, 1, 0x34 },
- {2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz */
+ {2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* 60Hz CVT RB */
+ (SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo | AST2500PreCatchCRT), 60, 1, 0x34 },
+ {2080, 1920, 48, 32, 1235, 1200, 3, 6, VCLK154, /* end */
(SyncNP | Charx8Dot | LineCompareOff | WideScreenMode | NewModeInfo), 0xFF, 1, 0x34 },
};
@@ -307,6 +307,66 @@
{0x3b, 0x2c, 0x81}, /* 1A: VCLK118_25 */
};
+static VBIOS_DCLK_INFO DCLKTable_AST2500 [] = {
+ {0x40, 0x38, 0x73}, /* 00: VCLK25_175 */
+ {0x3A, 0x38, 0x43}, /* 01: VCLK28_322 */
+ {0x3E, 0x70, 0x73}, /* 02: VCLK31_5 */
+ {0x35, 0x70, 0x43}, /* 03: VCLK36 */
+ {0x31, 0x28, 0x73}, /* 04: VCLK40 */
+ {0x41, 0x68, 0x73}, /* 05: VCLK49_5 */
+ {0x31, 0x68, 0x53}, /* 06: VCLK50 */
+ {0x4A, 0x68, 0x73}, /* 07: VCLK56_25 */
+ {0x40, 0x68, 0x53}, /* 08: VCLK65 */
+ {0x31, 0x60, 0x73}, /* 09: VCLK75 */
+ {0x3A, 0x28, 0x43}, /* 0A: VCLK78_75 */
+ {0x3E, 0x60, 0x73}, /* 0B: VCLK94_5 */
+ {0x35, 0x60, 0x63}, /* 0C: VCLK108 */
+ {0x3D, 0x40, 0x63}, /* 0D: VCLK135 */
+ {0x4E, 0x60, 0x63}, /* 0E: VCLK157_5 */
+ {0x35, 0x60, 0x53}, /* 0F: VCLK162 */
+ {0x4C, 0x60, 0x63}, /* 10: VCLK154 */
+ {0x4F, 0x48, 0x53}, /* 11: VCLK83.5 */
+ {0x46, 0x60, 0x73}, /* 12: VCLK106.5 */
+ {0x3C, 0x20, 0x63}, /* 13: VCLK146.25 */
+ {0x3D, 0x20, 0x63}, /* 14: VCLK148.5 */
+ {0x46, 0x68, 0x53}, /* 15: VCLK71 */
+ {0x49, 0x68, 0x43}, /* 16: VCLK88.75 */
+ {0x4e, 0x60, 0x73}, /* 17: VCLK119 */
+ {0x38, 0x60, 0x73}, /* 18: VCLK85_5 */
+ {0x38, 0x20, 0x73}, /* 19: VCLK97_75 */
+ {0x4e, 0x60, 0x73}, /* 1A: VCLK118_25 */
+};
+
+static VBIOS_DCLK_INFO DCLKTable_AST2500A1 [] = {
+ {0x2C, 0xE7, 0x03}, /* 00: VCLK25_175 */
+ {0x95, 0x62, 0x03}, /* 01: VCLK28_322 */
+ {0x67, 0x63, 0x01}, /* 02: VCLK31_5 */
+ {0x76, 0x63, 0x01}, /* 03: VCLK36 */
+ {0xEE, 0x67, 0x01}, /* 04: VCLK40 */
+ {0x82, 0x62, 0x01}, /* 05: VCLK49_5 */
+ {0xC6, 0x64, 0x01}, /* 06: VCLK50 */
+ {0x94, 0x62, 0x01}, /* 07: VCLK56_25 */
+ {0x80, 0x64, 0x00}, /* 08: VCLK65 */
+ {0x7B, 0x63, 0x00}, /* 09: VCLK75 */
+ {0x67, 0x62, 0x00}, /* 0A: VCLK78_75 */
+ {0x7C, 0x62, 0x00}, /* 0B: VCLK94_5 */
+ {0x8E, 0x62, 0x00}, /* 0C: VCLK108 */
+ {0x85, 0x24, 0x00}, /* 0D: VCLK135 */
+ {0x67, 0x22, 0x00}, /* 0E: VCLK157_5 */
+ {0x6A, 0x22, 0x00}, /* 0F: VCLK162 */
+ {0x4d, 0x4c, 0x80}, /* 10: VCLK154 */
+ {0x68, 0x6f, 0x80}, /* 11: VCLK83.5 */
+ {0x28, 0x49, 0x80}, /* 12: VCLK106.5 */
+ {0x37, 0x49, 0x80}, /* 13: VCLK146.25 */
+ {0x1f, 0x45, 0x80}, /* 14: VCLK148.5 */
+ {0x47, 0x6c, 0x80}, /* 15: VCLK71 */
+ {0x25, 0x65, 0x80}, /* 16: VCLK88.75 */
+ {0x58, 0x01, 0x42}, /* 17: VCLK119 */
+ {0x32, 0x67, 0x80}, /* 18: VCLK85_5 */
+ {0x6a, 0x6d, 0x80}, /* 19: VCLK97_75 */
+ {0x44, 0x20, 0x43}, /* 1A: VCLK118_25 */
+};
+
static VBIOS_DAC_INFO DAC_TEXT[] = {
{ 0x00, 0x00, 0x00 }, { 0x00, 0x00, 0x2a }, { 0x00, 0x2a, 0x00 }, { 0x00, 0x2a, 0x2a },
{ 0x2a, 0x00, 0x00 }, { 0x2a, 0x00, 0x2a }, { 0x2a, 0x2a, 0x00 }, { 0x2a, 0x2a, 0x2a },
@@ -465,6 +525,9 @@
vSetSyncReg(pScrn, mode, &vgamodeinfo);
bSetDACReg(pScrn, mode, &vgamodeinfo);
+ /* clear video buffer to avoid display noise */
+ memset(pAST->FBVirtualAddr, 0x00, pAST->VideoModeInfo.ScreenPitch*pAST->VideoModeInfo.ScreenHeight);
+
vAST1000DisplayOn(pScrn);
}
@@ -495,6 +558,8 @@
ASTRecPtr pAST;
ULONG ulModeID, ulColorIndex, ulRefreshRate, ulRefreshRateIndex = 0;
ULONG ulHBorder, ulVBorder;
+ Bool check_sync;
+ PVBIOS_ENHTABLE_STRUCT loop, best = NULL;
pAST = ASTPTR(pScrn);
@@ -560,27 +625,34 @@
}
/* Get Proper Mode Index */
- if (pVGAModeInfo->pEnhTableEntry->Flags & WideScreenMode)
- {
- /* parsing for wide screen reduced blank mode */
- if ((mode->Flags & V_NVSYNC) && (mode->Flags & V_PHSYNC)) /* CVT RB */
- pVGAModeInfo->pEnhTableEntry++;
- }
- else
- {
- ulRefreshRate = (mode->Clock * 1000) / (mode->HTotal * mode->VTotal);
-
- while (pVGAModeInfo->pEnhTableEntry->ulRefreshRate < ulRefreshRate)
- {
- pVGAModeInfo->pEnhTableEntry++;
- if ((pVGAModeInfo->pEnhTableEntry->ulRefreshRate > ulRefreshRate) ||
- (pVGAModeInfo->pEnhTableEntry->ulRefreshRate == 0xFF))
- {
- pVGAModeInfo->pEnhTableEntry--;
- break;
- }
- }
- }
+ ulRefreshRate = (mode->Clock * 1000) / (mode->HTotal * mode->VTotal) + 1;
+ loop = pVGAModeInfo->pEnhTableEntry;
+ check_sync = loop->Flags & WideScreenMode;
+ do {
+ while (loop->ulRefreshRate != 0xff) {
+ if ((check_sync) &&
+ (((mode->Flags & V_NVSYNC) &&
+ (loop->Flags & PVSync)) ||
+ ((mode->Flags & V_PVSYNC) &&
+ (loop->Flags & NVSync)) ||
+ ((mode->Flags & V_NHSYNC) &&
+ (loop->Flags & PHSync)) ||
+ ((mode->Flags & V_PHSYNC) &&
+ (loop->Flags & NHSync)))) {
+ loop++;
+ continue;
+ }
+ if (loop->ulRefreshRate <= ulRefreshRate
+ && (!best || loop->ulRefreshRate > best->ulRefreshRate))
+ best = loop;
+ loop++;
+ }
+ if (best || !check_sync)
+ break;
+ check_sync = 0;
+ } while (1);
+ if (best)
+ pVGAModeInfo->pEnhTableEntry = best;
/* Update mode CRTC info */
ulHBorder = (pVGAModeInfo->pEnhTableEntry->Flags & HBorder) ? 8:0;
@@ -696,12 +768,16 @@
vSetCRTCReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
{
ASTRecPtr pAST;
- USHORT usTemp;
+ USHORT usTemp, ulPreCache = 0;
UCHAR jReg05, jReg07, jReg09, jRegAC, jRegAD, jRegAE;
pAST = ASTPTR(pScrn);
jReg05 = jReg07 = jReg09 = jRegAC = jRegAD = jRegAE = 0;
+ /* init value */
+ if ((pAST->jChipType == AST2500) && (pVGAModeInfo->pEnhTableEntry->Flags & AST2500PreCatchCRT))
+ ulPreCache = 40;
+
/* unlock CRTC */
SetIndexRegMask(CRTC_PORT,0x11, 0x7F, 0x00);
@@ -719,10 +795,10 @@
if (usTemp & 0x20) jReg05 |= 0x80; /* HBE D[5] */
if (usTemp & 0x40) jRegAD |= 0x01; /* HBE D[6] */
SetIndexRegMask(CRTC_PORT,0x03, 0xE0, (UCHAR) (usTemp & 0x1F));
- usTemp = (mode->CrtcHSyncStart >> 3 ) - 1;
+ usTemp = ((mode->CrtcHSyncStart - ulPreCache) >> 3 ) - 1;
if (usTemp & 0x100) jRegAC |= 0x40; /* HRS D[5] */
SetIndexRegMask(CRTC_PORT,0x04, 0x00, (UCHAR) (usTemp));
- usTemp = ((mode->CrtcHSyncEnd >> 3 ) - 1) & 0x3F;
+ usTemp = (((mode->CrtcHSyncEnd - ulPreCache) >> 3 ) - 1) & 0x3F;
if (usTemp & 0x20) jRegAD |= 0x04; /* HRE D[5] */
SetIndexRegMask(CRTC_PORT,0x05, 0x60, (UCHAR) ((usTemp & 0x1F) | jReg05));
@@ -762,6 +838,15 @@
SetIndexRegMask(CRTC_PORT,0x09, 0xDF, (UCHAR) jReg09);
SetIndexRegMask(CRTC_PORT,0xAE, 0x00, (UCHAR) (jRegAE | 0x80)); /* disable line compare */
+ if ((pAST->jChipType == AST2500) && (pVGAModeInfo->pEnhTableEntry->Flags & AST2500PreCatchCRT))
+ {
+ SetIndexRegMask(CRTC_PORT,0xB6, 0x3F, 0x80);
+ }
+ else
+ {
+ SetIndexRegMask(CRTC_PORT,0xB6, 0x3F, 0x00);
+ }
+
/* lock CRTC */
SetIndexRegMask(CRTC_PORT,0x11, 0x7F, 0x80);
@@ -790,14 +875,25 @@
pAST = ASTPTR(pScrn);
pEnhModePtr = pVGAModeInfo->pEnhTableEntry;
- if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST1100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2150) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
+ if ((pAST->jChipType == AST2500) && (PCI_DEV_REVISION(pAST->PciInfo) > 0x40))
+ pDCLKPtr = &DCLKTable_AST2500A1[pEnhModePtr->DCLKIndex];
+ else if ((pAST->jChipType == AST2500) && (PCI_DEV_REVISION(pAST->PciInfo) == 0x40))
+ pDCLKPtr = &DCLKTable_AST2500[pEnhModePtr->DCLKIndex];
+ else if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST1100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2150) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
pDCLKPtr = &DCLKTable_AST2100[pEnhModePtr->DCLKIndex];
else
pDCLKPtr = &DCLKTable[pEnhModePtr->DCLKIndex];
SetIndexRegMask(CRTC_PORT,0xC0, 0x00, pDCLKPtr->Param1);
SetIndexRegMask(CRTC_PORT,0xC1, 0x00, pDCLKPtr->Param2);
- SetIndexRegMask(CRTC_PORT,0xBB, 0x0F, (pDCLKPtr->Param3 & 0x80) | ((pDCLKPtr->Param3 & 0x03) << 4) );
+ if ((pAST->jChipType == AST2500) && (PCI_DEV_REVISION(pAST->PciInfo) == 0x40))
+ {
+ SetIndexRegMask(CRTC_PORT,0xBB, 0x0F, (pDCLKPtr->Param3 & 0xF0));
+ }
+ else
+ {
+ SetIndexRegMask(CRTC_PORT,0xBB, 0x0F, (pDCLKPtr->Param3 & 0xC0) | ((pDCLKPtr->Param3 & 0x03) << 4) );
+ }
}
@@ -842,7 +938,7 @@
#endif
/* Set Threshold */
- if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
+ if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
{
SetIndexReg(CRTC_PORT,0xA7, 0x78);
SetIndexReg(CRTC_PORT,0xA6, 0x60);
@@ -870,9 +966,10 @@
pEnhModePtr = pVGAModeInfo->pEnhTableEntry;
jReg = GetReg(MISC_PORT_READ);
- jReg |= (UCHAR) (pEnhModePtr->Flags & SyncNN);
+ jReg &= ~0xC0;
+ if (pEnhModePtr->Flags & NVSync) jReg |= 0x80;
+ if (pEnhModePtr->Flags & NHSync) jReg |= 0x40;
SetReg(MISC_PORT_WRITE,jReg);
-
}
static Bool bSetDACReg(ScrnInfoPtr pScrn, DisplayModePtr mode, PVBIOS_MODE_INFO pVGAModeInfo)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-ast-1.0.1/src/ast_mode.h new/xf86-video-ast-1.1.5/src/ast_mode.h
--- old/xf86-video-ast-1.0.1/src/ast_mode.h 2014-08-08 10:59:04.000000000 +0200
+++ new/xf86-video-ast-1.1.5/src/ast_mode.h 2015-08-19 03:24:48.000000000 +0200
@@ -66,14 +66,19 @@
#define HalfDCLK 0x00000002
#define DoubleScanMode 0x00000004
#define LineCompareOff 0x00000008
-#define SyncPP 0x00000000
-#define SyncPN 0x00000040
-#define SyncNP 0x00000080
-#define SyncNN 0x000000C0
#define HBorder 0x00000020
#define VBorder 0x00000010
-#define WideScreenMode 0x00000100
-#define NewModeInfo 0x00000200
+#define WideScreenMode 0x00000100
+#define NewModeInfo 0x00000200
+#define NHSync 0x00000400
+#define PHSync 0x00000800
+#define NVSync 0x00001000
+#define PVSync 0x00002000
+#define SyncPP (PVSync | PHSync)
+#define SyncPN (PVSync | NHSync)
+#define SyncNP (NVSync | PHSync)
+#define SyncNN (NVSync | NHSync)
+#define AST2500PreCatchCRT 0x00004000
/* DAC Definition */
#define DAC_NUM_TEXT 64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-ast-1.0.1/src/ast_vgatool.c new/xf86-video-ast-1.1.5/src/ast_vgatool.c
--- old/xf86-video-ast-1.0.1/src/ast_vgatool.c 2014-08-08 10:59:04.000000000 +0200
+++ new/xf86-video-ast-1.1.5/src/ast_vgatool.c 2015-08-19 03:24:48.000000000 +0200
@@ -446,7 +446,7 @@
pAST->ulDRAMBusWidth = 32;
/* Get DRAM Type */
- if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
+ if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
{
switch (ulData & 0x03)
{
@@ -576,7 +576,7 @@
/* Modify DARM utilization to 60% for AST1100/2100 16bits DRAM, ycchen@032508 */
if ( ((pAST->jChipType == AST2100) || (pAST->jChipType == AST1100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2150)) && (ulDRAMBusWidth == 16) )
DRAMEfficiency = 600;
- else if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
+ else if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
DRAMEfficiency = 400;
ulDRAMBandwidth = ulMCLK * ulDRAMBusWidth * 2 / 8;
ActualDRAMBandwidth = ulDRAMBandwidth * DRAMEfficiency / 1000;
@@ -605,7 +605,7 @@
}
/* Add for AST2100, ycchen@061807 */
- if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST1180) )
+ if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500) || (pAST->jChipType == AST1180) )
{
if (ulDCLK > 200) ulDCLK = 200;
}
@@ -670,7 +670,7 @@
if (jReg & 0x80)
pAST->jTxChipType = Tx_Sil164;
/* Get 3rd Tx Info from BMC Scratch */
- if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
+ if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
{
GetIndexRegMask(CRTC_PORT, 0xD1, 0x0E, jReg);
switch (jReg)
@@ -1117,7 +1117,7 @@
}
/* Set Ext. Reg */
- if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
+ if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
{
if (PCI_DEV_REVISION(pAST->PciInfo) > 0x20)
pjExtRegInfo = ExtRegInfo_AST2300;
@@ -1145,12 +1145,28 @@
/* Enable RAMDAC for A1, ycchen@113005 */
jReg = 0x04;
- if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
+ if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2400))
jReg |= 0x20;
SetIndexRegMask(CRTC_PORT,0xB6, 0xFF, jReg);
}
+static void vSetDefVCLK(ScrnInfoPtr pScrn)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+
+ if ((pAST->jChipType == AST2500) && (PCI_DEV_REVISION(pAST->PciInfo) == 0x40))
+ {
+ SetIndexRegMask(CRTC_PORT, 0xbc, 0x00, 0x40);
+ SetIndexRegMask(CRTC_PORT, 0xbd, 0x00, 0x38);
+ SetIndexRegMask(CRTC_PORT, 0xbe, 0x00, 0x3a);
+ SetIndexRegMask(CRTC_PORT, 0xbf, 0x00, 0x38);
+ SetIndexRegMask(CRTC_PORT, 0xcf, 0x00, 0x70);
+ SetIndexRegMask(CRTC_PORT, 0xb5, 0x00, 0xa8);
+ SetIndexRegMask(CRTC_PORT, 0xbb, 0x00, 0x43);
+ }
+}
+
/*
* AST2100/2150 DLL CBR Setting
*/
@@ -2908,12 +2924,485 @@
} /* vInitAST2300DRAMReg */
+/*
+ * AST2500 DRAM settings modules
+ */
+#define REGTBL_NUM 17
+#define REGIDX_010 0
+#define REGIDX_014 1
+#define REGIDX_018 2
+#define REGIDX_020 3
+#define REGIDX_024 4
+#define REGIDX_02C 5
+#define REGIDX_030 6
+#define REGIDX_214 7
+#define REGIDX_2E0 8
+#define REGIDX_2E4 9
+#define REGIDX_2E8 10
+#define REGIDX_2EC 11
+#define REGIDX_2F0 12
+#define REGIDX_2F4 13
+#define REGIDX_2F8 14
+#define REGIDX_RFC 15
+#define REGIDX_PLL 16
+
+ULONG ddr3_1600_timing_table[REGTBL_NUM] = {
+0x64604D38, /* 0x010 */
+0x29690599, /* 0x014 */
+0x00000300, /* 0x018 */
+0x00000000, /* 0x020 */
+0x00000000, /* 0x024 */
+0x02181E70, /* 0x02C */
+0x00000040, /* 0x030 */
+0x00000024, /* 0x214 */
+0x02001300, /* 0x2E0 */
+0x0E0000A0, /* 0x2E4 */
+0x000E001B, /* 0x2E8 */
+0x35B8C105, /* 0x2EC */
+0x08090408, /* 0x2F0 */
+0x9B000800, /* 0x2F4 */
+0x0E400A00, /* 0x2F8 */
+0x9971452F, /* tRFC */
+0x000071C1}; /* PLL */
+
+ULONG ddr4_1600_timing_table[REGTBL_NUM] = {
+0x63604E37, /* 0x010 */
+0xE97AFA99, /* 0x014 */
+0x00019000, /* 0x018 */
+0x08000000, /* 0x020 */
+0x00000400, /* 0x024 */
+0x00000410, /* 0x02C */
+0x00000101, /* 0x030 */
+0x00000024, /* 0x214 */
+0x03002900, /* 0x2E0 */
+0x0E0000A0, /* 0x2E4 */
+0x000E001C, /* 0x2E8 */
+0x35B8C106, /* 0x2EC */
+0x08080607, /* 0x2F0 */
+0x9B000900, /* 0x2F4 */
+0x0E400A00, /* 0x2F8 */
+0x99714545, /* tRFC */
+0x000071C1}; /* PLL */
+
+static int MMCTestBurst_AST2500(ScrnInfoPtr pScrn, ULONG datagen)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ UCHAR *mmiobase = pAST->MMIOVirtualAddr;
+ ULONG data, timecnt;
+
+ MOutdwm(mmiobase, 0x1E6E0070, 0x00000000);
+ MOutdwm(mmiobase, 0x1E6E0070, 0x000000C1 | (datagen << 3));
+ timecnt = 0;
+ do{
+ data = MIndwm(mmiobase, 0x1E6E0070) & 0x3000;
+ if(data & 0x2000){
+ return(0);
+ }
+ if(++timecnt > TIMEOUT){
+ MOutdwm(mmiobase, 0x1E6E0070, 0x00000000);
+ return(0);
+ }
+ }while(!data);
+ MOutdwm(mmiobase, 0x1E6E0070, 0x00000000);
+ return(1);
+}
+
+static int MMCTestSingle_AST2500(ScrnInfoPtr pScrn, ULONG datagen)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ UCHAR *mmiobase = pAST->MMIOVirtualAddr;
+ ULONG data, timecnt;
+
+ MOutdwm(mmiobase, 0x1E6E0070, 0x00000000);
+ MOutdwm(mmiobase, 0x1E6E0070, 0x00000085 | (datagen << 3));
+ timecnt = 0;
+ do{
+ data = MIndwm(mmiobase, 0x1E6E0070) & 0x3000;
+ if(data & 0x2000){
+ return(0);
+ }
+ if(++timecnt > TIMEOUT){
+ MOutdwm(mmiobase, 0x1E6E0070, 0x00000000);
+ return(0);
+ }
+ }while(!data);
+ MOutdwm(mmiobase, 0x1E6E0070, 0x00000000);
+ return(1);
+}
+
+static ULONG CBRTest_AST2500(ScrnInfoPtr pScrn)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ UCHAR *mmiobase = pAST->MMIOVirtualAddr;
+
+ MOutdwm(mmiobase, 0x1E6E0074, 0x0000FFFF);
+ MOutdwm(mmiobase, 0x1E6E007C, 0xFF00FF00);
+ if(!MMCTestBurst_AST2500(pScrn, 0)) return(0);
+ if(!MMCTestSingle_AST2500(pScrn, 0)) return(0);
+ return(1);
+}
+
+static void DDR_Init_Common(ScrnInfoPtr pScrn)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ UCHAR *mmiobase = pAST->MMIOVirtualAddr;
+
+ MOutdwm(mmiobase, 0x1E6E0034,0x00020080);
+ MOutdwm(mmiobase, 0x1E6E0008,0x2003000F);
+ MOutdwm(mmiobase, 0x1E6E0038,0x00000FFF);
+ MOutdwm(mmiobase, 0x1E6E0040,0x88448844);
+ MOutdwm(mmiobase, 0x1E6E0044,0x24422288);
+ MOutdwm(mmiobase, 0x1E6E0048,0x22222222);
+ MOutdwm(mmiobase, 0x1E6E004C,0x22222222);
+ MOutdwm(mmiobase, 0x1E6E0050,0x80000000);
+ MOutdwm(mmiobase, 0x1E6E0208,0x00000000);
+ MOutdwm(mmiobase, 0x1E6E0218,0x00000000);
+ MOutdwm(mmiobase, 0x1E6E0220,0x00000000);
+ MOutdwm(mmiobase, 0x1E6E0228,0x00000000);
+ MOutdwm(mmiobase, 0x1E6E0230,0x00000000);
+ MOutdwm(mmiobase, 0x1E6E02A8,0x00000000);
+ MOutdwm(mmiobase, 0x1E6E02B0,0x00000000);
+ MOutdwm(mmiobase, 0x1E6E0240,0x86000000);
+ MOutdwm(mmiobase, 0x1E6E0244,0x00008600);
+ MOutdwm(mmiobase, 0x1E6E0248,0x80000000);
+ MOutdwm(mmiobase, 0x1E6E024C,0x80808080);
+}
+
+static void Do_DDRPHY_Init(ScrnInfoPtr pScrn)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ UCHAR *mmiobase = pAST->MMIOVirtualAddr;
+ ULONG data, pass, timecnt;
+
+ pass = 0;
+ MOutdwm(mmiobase, 0x1E6E0060,0x00000005);
+ while(!pass){
+ for(timecnt = 0;timecnt < TIMEOUT;timecnt++){
+ data = MIndwm(mmiobase, 0x1E6E0060) & 0x1;
+ if(!data){
+ break;
+ }
+ }
+ if(timecnt != TIMEOUT){
+ data = MIndwm(mmiobase, 0x1E6E0300) & 0x000A0000;
+ if(!data){
+ pass = 1;
+ }
+ }
+ if(!pass){
+ MOutdwm(mmiobase, 0x1E6E0060,0x00000000);
+ usleep(10); /* delay 10 us */
+ MOutdwm(mmiobase, 0x1E6E0060,0x00000005);
+ }
+ }
+
+ MOutdwm(mmiobase, 0x1E6E0060,0x00000006);
+}
+
+/******************************************************************************
+ Check DRAM Size
+ 1Gb : 0x80000000 ~ 0x87FFFFFF
+ 2Gb : 0x80000000 ~ 0x8FFFFFFF
+ 4Gb : 0x80000000 ~ 0x9FFFFFFF
+ 8Gb : 0x80000000 ~ 0xBFFFFFFF
+ *****************************************************************************/
+static void Check_DRAM_Size(ScrnInfoPtr pScrn, ULONG tRFC)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ UCHAR *mmiobase = pAST->MMIOVirtualAddr;
+ ULONG reg_04, reg_14;
+
+ reg_04 = MIndwm(mmiobase, 0x1E6E0004) & 0xfffffffc;
+ reg_14 = MIndwm(mmiobase, 0x1E6E0014) & 0xffffff00;
+
+ MOutdwm(mmiobase, 0xA0100000, 0x41424344);
+ MOutdwm(mmiobase, 0x90100000, 0x35363738);
+ MOutdwm(mmiobase, 0x88100000, 0x292A2B2C);
+ MOutdwm(mmiobase, 0x80100000, 0x1D1E1F10);
+
+ /* Check 8Gbit */
+ if(MIndwm(mmiobase, 0xA0100000) == 0x41424344){
+ reg_04 |= 0x03;
+ reg_14 |= (tRFC >> 24) & 0xFF;
+ /* Check 4Gbit */
+ }else if(MIndwm(mmiobase, 0x90100000) == 0x35363738){
+ reg_04 |= 0x02;
+ reg_14 |= (tRFC >> 16) & 0xFF;
+ /* Check 2Gbit */
+ }else if(MIndwm(mmiobase, 0x88100000) == 0x292A2B2C){
+ reg_04 |= 0x01;
+ reg_14 |= (tRFC >> 8) & 0xFF;
+ }else{
+ reg_14 |= tRFC & 0xFF;
+ }
+ MOutdwm(mmiobase, 0x1E6E0004, reg_04);
+ MOutdwm(mmiobase, 0x1E6E0014, reg_14);
+}
+
+static void Enable_Cache(ScrnInfoPtr pScrn)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ UCHAR *mmiobase = pAST->MMIOVirtualAddr;
+ ULONG reg_04, data;
+
+ reg_04 = MIndwm(mmiobase, 0x1E6E0004);
+ MOutdwm(mmiobase, 0x1E6E0004, reg_04 | 0x1000);
+
+ do{
+ data = MIndwm(mmiobase, 0x1E6E0004);
+ }while(!(data & 0x80000));
+ MOutdwm(mmiobase, 0x1E6E0004, reg_04 | 0x400);
+}
+
+static void Set_MPLL(ScrnInfoPtr pScrn)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ UCHAR *mmiobase = pAST->MMIOVirtualAddr;
+ ULONG addr, data, param;
+
+ /* Reset MMC */
+ MOutdwm(mmiobase, 0x1E6E0000,0xFC600309);
+ MOutdwm(mmiobase, 0x1E6E0034,0x00020080);
+ for(addr = 0x1e6e0004;addr < 0x1e6e0090;){
+ MOutdwm(mmiobase, addr, 0x0);
+ addr += 4;
+ }
+ MOutdwm(mmiobase, 0x1E6E0034,0x00020000);
+
+ MOutdwm(mmiobase, 0x1E6E2000, 0x1688A8A8);
+ data = MIndwm(mmiobase, 0x1E6E2070) & 0x00800000;
+ if(data){ /* CLKIN = 25MHz */
+ param = 0x930023E0;
+ }else{ /* CLKIN = 24MHz */
+ param = 0x93002400;
+ }
+ MOutdwm(mmiobase, 0x1E6E2020, param);
+ usleep(100);
+}
+
+static void DDR3_Init_AST2500(ScrnInfoPtr pScrn, ULONG *ddr_table)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ UCHAR *mmiobase = pAST->MMIOVirtualAddr;
+
+ MOutdwm(mmiobase, 0x1E6E0004,0x00000303);
+ MOutdwm(mmiobase, 0x1E6E0010,ddr_table[REGIDX_010]);
+ MOutdwm(mmiobase, 0x1E6E0014,ddr_table[REGIDX_014]);
+ MOutdwm(mmiobase, 0x1E6E0018,ddr_table[REGIDX_018]);
+ MOutdwm(mmiobase, 0x1E6E0020,ddr_table[REGIDX_020]); /* MODEREG4/6 */
+ MOutdwm(mmiobase, 0x1E6E0024,ddr_table[REGIDX_024]); /* MODEREG5 */
+ MOutdwm(mmiobase, 0x1E6E002C,ddr_table[REGIDX_02C] | 0x100); /* MODEREG0/2 */
+ MOutdwm(mmiobase, 0x1E6E0030,ddr_table[REGIDX_030]); /* MODEREG1/3 */
+
+ /* DDR PHY Setting */
+ MOutdwm(mmiobase, 0x1E6E0200,0x02492AAE);
+ MOutdwm(mmiobase, 0x1E6E0204,0x00001001);
+ MOutdwm(mmiobase, 0x1E6E020C,0x55E00B0B);
+ MOutdwm(mmiobase, 0x1E6E0210,0x20000000);
+ MOutdwm(mmiobase, 0x1E6E0214,ddr_table[REGIDX_214]);
+ MOutdwm(mmiobase, 0x1E6E02E0,ddr_table[REGIDX_2E0]);
+ MOutdwm(mmiobase, 0x1E6E02E4,ddr_table[REGIDX_2E4]);
+ MOutdwm(mmiobase, 0x1E6E02E8,ddr_table[REGIDX_2E8]);
+ MOutdwm(mmiobase, 0x1E6E02EC,ddr_table[REGIDX_2EC]);
+ MOutdwm(mmiobase, 0x1E6E02F0,ddr_table[REGIDX_2F0]);
+ MOutdwm(mmiobase, 0x1E6E02F4,ddr_table[REGIDX_2F4]);
+ MOutdwm(mmiobase, 0x1E6E02F8,ddr_table[REGIDX_2F8]);
+ MOutdwm(mmiobase, 0x1E6E0290,0x00100008);
+ MOutdwm(mmiobase, 0x1E6E02C0,0x00000006);
+
+ /* Controller Setting */
+ MOutdwm(mmiobase, 0x1E6E0034,0x00020091);
+
+ /* Wait DDR PHY init done */
+ Do_DDRPHY_Init(pScrn);
+
+ MOutdwm(mmiobase, 0x1E6E0120,ddr_table[REGIDX_PLL]);
+ MOutdwm(mmiobase, 0x1E6E000C,0x42AA5C81);
+ MOutdwm(mmiobase, 0x1E6E0034,0x0001AF93);
+
+ Check_DRAM_Size(pScrn, ddr_table[REGIDX_RFC]);
+ Enable_Cache(pScrn);
+ MOutdwm(mmiobase, 0x1E6E001C,0x00000008);
+ MOutdwm(mmiobase, 0x1E6E0038,0xFFFFFF00);
+}
+
+static void DDR4_Init_AST2500(ScrnInfoPtr pScrn, ULONG *ddr_table)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ UCHAR *mmiobase = pAST->MMIOVirtualAddr;
+ ULONG data, data2, pass;
+ ULONG ddr_vref, phy_vref;
+ ULONG min_ddr_vref, min_phy_vref;
+ ULONG max_ddr_vref, max_phy_vref;
+
+ MOutdwm(mmiobase, 0x1E6E0004,0x00000313);
+ MOutdwm(mmiobase, 0x1E6E0010,ddr_table[REGIDX_010]);
+ MOutdwm(mmiobase, 0x1E6E0014,ddr_table[REGIDX_014]);
+ MOutdwm(mmiobase, 0x1E6E0018,ddr_table[REGIDX_018]);
+ MOutdwm(mmiobase, 0x1E6E0020,ddr_table[REGIDX_020]); /* MODEREG4/6 */
+ MOutdwm(mmiobase, 0x1E6E0024,ddr_table[REGIDX_024]); /* MODEREG5 */
+ MOutdwm(mmiobase, 0x1E6E002C,ddr_table[REGIDX_02C] | 0x100); /* MODEREG0/2 */
+ MOutdwm(mmiobase, 0x1E6E0030,ddr_table[REGIDX_030]); /* MODEREG1/3 */
+
+ /* DDR PHY Setting */
+ MOutdwm(mmiobase, 0x1E6E0200,0x42492AAE);
+ MOutdwm(mmiobase, 0x1E6E0204,0x09002000);
+ MOutdwm(mmiobase, 0x1E6E020C,0x55E00B0B);
+ MOutdwm(mmiobase, 0x1E6E0210,0x20000000);
+ MOutdwm(mmiobase, 0x1E6E0214,ddr_table[REGIDX_214]);
+ MOutdwm(mmiobase, 0x1E6E02E0,ddr_table[REGIDX_2E0]);
+ MOutdwm(mmiobase, 0x1E6E02E4,ddr_table[REGIDX_2E4]);
+ MOutdwm(mmiobase, 0x1E6E02E8,ddr_table[REGIDX_2E8]);
+ MOutdwm(mmiobase, 0x1E6E02EC,ddr_table[REGIDX_2EC]);
+ MOutdwm(mmiobase, 0x1E6E02F0,ddr_table[REGIDX_2F0]);
+ MOutdwm(mmiobase, 0x1E6E02F4,ddr_table[REGIDX_2F4]);
+ MOutdwm(mmiobase, 0x1E6E02F8,ddr_table[REGIDX_2F8]);
+ MOutdwm(mmiobase, 0x1E6E0290,0x00100008);
+ MOutdwm(mmiobase, 0x1E6E02C4,0x3C183C3C);
+ MOutdwm(mmiobase, 0x1E6E02C8,0x00631E0E);
+
+ /* Controller Setting */
+ MOutdwm(mmiobase, 0x1E6E0034,0x0001A991);
+
+ /* Train PHY Vref first */
+ min_phy_vref = max_phy_vref = 0x0;
+ pass = 0;
+ MOutdwm(mmiobase, 0x1E6E02C0,0x00001C06);
+ for(phy_vref = 0x40;phy_vref < 0x80;phy_vref++){
+ MOutdwm(mmiobase, 0x1E6E000C,0x00000000);
+ MOutdwm(mmiobase, 0x1E6E0060,0x00000000);
+ MOutdwm(mmiobase, 0x1E6E02CC,phy_vref | (phy_vref << 8));
+ /* Fire DFI Init */
+ Do_DDRPHY_Init(pScrn);
+ MOutdwm(mmiobase, 0x1E6E000C,0x00005C01);
+ if(CBRTest_AST2500(pScrn)){
+ pass++;
+ data = MIndwm(mmiobase, 0x1E6E03D0);
+ data2 = data >> 8;
+ data = data & 0xff;
+ if(data > data2){
+ data = data2;
+ }
+
+ if(max_phy_vref < data){
+ max_phy_vref = data;
+ min_phy_vref = phy_vref;
+ }
+ }else if(pass > 0){
+ break;
+ }
+ }
+ MOutdwm(mmiobase, 0x1E6E02CC,min_phy_vref | (min_phy_vref << 8));
+
+ /* Train DDR Vref next */
+ min_ddr_vref = 0xFF;
+ max_ddr_vref = 0x0;
+ pass = 0;
+ for(ddr_vref = 0x00;ddr_vref < 0x40;ddr_vref++){
+ MOutdwm(mmiobase, 0x1E6E000C,0x00000000);
+ MOutdwm(mmiobase, 0x1E6E0060,0x00000000);
+ MOutdwm(mmiobase, 0x1E6E02C0,0x00000006 | (ddr_vref << 8));
+ /* Fire DFI Init */
+ Do_DDRPHY_Init(pScrn);
+ MOutdwm(mmiobase, 0x1E6E000C,0x00005C01);
+ if(CBRTest_AST2500(pScrn)){
+ pass++;
+ if(min_ddr_vref > ddr_vref){
+ min_ddr_vref = ddr_vref;
+ }
+ if(max_ddr_vref < ddr_vref){
+ max_ddr_vref = ddr_vref;
+ }
+ }else if(pass != 0){
+ break;
+ }
+ }
+ MOutdwm(mmiobase, 0x1E6E000C,0x00000000);
+ MOutdwm(mmiobase, 0x1E6E0060,0x00000000);
+ ddr_vref = (min_ddr_vref + max_ddr_vref + 1) >> 1;
+ MOutdwm(mmiobase, 0x1E6E02C0,0x00000006 | (ddr_vref << 8));
+
+ /* Wait DDR PHY init done */
+ Do_DDRPHY_Init(pScrn);
+
+ MOutdwm(mmiobase, 0x1E6E0120,ddr_table[REGIDX_PLL]);
+ MOutdwm(mmiobase, 0x1E6E000C,0x42AA5C81);
+ MOutdwm(mmiobase, 0x1E6E0034,0x0001AF93);
+
+ Check_DRAM_Size(pScrn, ddr_table[REGIDX_RFC]);
+ Enable_Cache(pScrn);
+ MOutdwm(mmiobase, 0x1E6E001C,0x00000008);
+ MOutdwm(mmiobase, 0x1E6E0038,0xFFFFFF00);
+}
+
+static int DRAM_Init_AST2500(ScrnInfoPtr pScrn)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ UCHAR *mmiobase = pAST->MMIOVirtualAddr;
+ ULONG data;
+
+ Set_MPLL(pScrn);
+ DDR_Init_Common(pScrn);
+ data = MIndwm(mmiobase, 0x1E6E2070);
+ if(data & 0x01000000){
+ DDR4_Init_AST2500(pScrn, ddr4_1600_timing_table);
+ }else{
+ DDR3_Init_AST2500(pScrn, ddr3_1600_timing_table);
+ }
+ MOutdwm(mmiobase, 0x1E6E2040, MIndwm(mmiobase, 0x1E6E2040) | 0x41);
+ /* Patch code */
+ data = MIndwm(mmiobase, 0x1E6E200C) & 0xF9FFFFFF;
+ MOutdwm(mmiobase, 0x1E6E200C, data | 0x10000000);
+ return(1);
+}
+
+static void vInitAST2500DRAMReg(ScrnInfoPtr pScrn)
+{
+ ASTRecPtr pAST = ASTPTR(pScrn);
+ ULONG ulTemp;
+ UCHAR jReg;
+
+ GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
+
+ if ((jReg & 0x80) == 0) /* VGA only */
+ {
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
+
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0x12000) = 0x1688A8A8;
+ do {
+ ;
+ } while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x12000) != 0x01);
+
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0x10000) = 0xFC600309;
+ do {
+ ;
+ } while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x10000) != 0x01);
+
+ /* Slow down CPU/AHB CLK in VGA only mode */
+ ulTemp = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12008);
+ ulTemp |= 0x73;
+ *(ULONG *) (pAST->MMIOVirtualAddr + 0x12008) = ulTemp;
+
+ DRAM_Init_AST2500(pScrn);
+
+ ulTemp = MIndwm(pAST->MMIOVirtualAddr, 0x1E6E2040);
+ MOutdwm(pAST->MMIOVirtualAddr, 0x1E6E2040, ulTemp | 0x40);
+ }
+
+ /* wait ready */
+ do {
+ GetIndexRegMask(CRTC_PORT, 0xD0, 0xFF, jReg);
+ } while ((jReg & 0x40) == 0);
+
+} /* vInitAST2500DRAMReg */
+
void static vGetDefaultSettings(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST = ASTPTR(pScrn);
ULONG ulData;
- if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
+ if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
{
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
*(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
@@ -3020,7 +3509,7 @@
UCHAR jReg;
/* Only support on AST2300/2400 */
- if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
+ if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
{
GetIndexRegMask(CRTC_PORT, 0xD1, 0xFF, jReg); /* D[1]: DVO Enable */
switch (jReg & 0x0E) /* D[11:9] */
@@ -3069,12 +3558,15 @@
vEnableVGA(pScrn);
vASTOpenKey(pScrn);
+ vSetDefVCLK(pScrn);
vSetDefExtReg(pScrn);
if (Flags == 0)
vGetDefaultSettings(pScrn);
- if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
+ if (pAST->jChipType == AST2500)
+ vInitAST2500DRAMReg(pScrn);
+ else if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
vInitAST2300DRAMReg(pScrn);
else
vInitDRAMReg(pScrn);
@@ -3444,7 +3936,7 @@
void vASTEnableVGAMMIO(ScrnInfoPtr pScrn)
{
ASTRecPtr pAST = ASTPTR(pScrn);
- ULONG ulData;
+ uint32_t ulData;
UCHAR jReg;
jReg = inb(pAST->RelocateIO + 0x43);
1
0
Hello community,
here is the log from the commit of package extreme-tuxracer for openSUSE:Factory checked in at 2015-09-27 08:39:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/extreme-tuxracer (Old)
and /work/SRC/openSUSE:Factory/.extreme-tuxracer.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "extreme-tuxracer"
Changes:
--------
--- /work/SRC/openSUSE:Factory/extreme-tuxracer/extreme-tuxracer.changes 2015-01-14 11:45:15.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.extreme-tuxracer.new/extreme-tuxracer.changes 2015-09-27 08:39:17.000000000 +0200
@@ -1,0 +2,11 @@
+Wed Sep 23 16:14:16 UTC 2015 - nemysis(a)openSUSE.org
+
+- Use %{oname} instead of etr
+- Change URL
+- Use BuildRequires pkgconfig() instead of devel packages
+- Add BuildRequires for dos2unix
+- Change Description
+- Use default autoreconf -fi and %make_install
+- Use for suse_update_desktop_file and fdupes %if 0%{?suse_version}
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ extreme-tuxracer.spec ++++++
--- /var/tmp/diff_new_pack.LUzk2S/_old 2015-09-27 08:39:18.000000000 +0200
+++ /var/tmp/diff_new_pack.LUzk2S/_new 2015-09-27 08:39:18.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package extreme-tuxracer
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,24 +16,26 @@
#
+%define oname etr
+
Name: extreme-tuxracer
Version: 0.6.0
Release: 0
Summary: Open source racing game featuring Tux the Linux Penguin
-%global pkgsummary %summary
License: GPL-2.0
Group: Amusements/Games/3D/Race
-Url: http://www.extremetuxracer.com
-Source: http://downloads.sourceforge.net/extremetuxracer/etr-%{version}.tar.xz
-BuildRequires: SDL-devel
-BuildRequires: SDL_mixer-devel
-BuildRequires: SDL_image-devel
-BuildRequires: fdupes
-BuildRequires: freetype2-devel
+%global pkgsummary %summary
+Url: http://sourceforge.net/projects/extremetuxracer/
+Source: http://downloads.sourceforge.net/extremetuxracer/%{oname}-%{version}.tar.xz
+BuildRequires: dos2unix
BuildRequires: gcc-c++
BuildRequires: libpng-devel
BuildRequires: libtool
-BuildRequires: pkgconfig
+BuildRequires: pkgconfig(SDL_image)
+BuildRequires: pkgconfig(SDL_mixer)
+BuildRequires: pkgconfig(freetype2)
+BuildRequires: pkgconfig(sdl)
+
%if 0%{?sles_version}
BuildRequires: Mesa-devel
BuildRequires: xorg-x11-libXmu-devel
@@ -46,34 +48,45 @@
BuildRequires: pkgconfig(xt)
%endif
%if 0%{?suse_version}
+BuildRequires: fdupes
BuildRequires: update-desktop-files
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
-Extreme Tux Racer is an open source racing game featuring Tux the Linux
-Penguin. ETRacer continues in the tracks of Tux Racer and its forks.
+Extreme Tux Racer is an open source racing game featuring Tux
+the Linux Penguin. Extreme Tux Racer continues in the tracks
+of Tux Racer and its forks.
%prep
-%setup -q -n etr-%{version}
+%setup -q -n %{oname}-%{version}
+
+# Convert to unix line end
+dos2unix gui.h gui.cpp ogl.cpp race_select.cpp version.rc data/char/samuel/start.lst
%build
-NOCONFIGURE=1 ./autogen.sh
+autoreconf -fi
+
%configure
make %{?_smp_mflags}
%install
-make DESTDIR=%{buildroot} install
-%suse_update_desktop_file etr
-%fdupes -s %{buildroot}%{_datadir}
-rm -rf %{buildroot}%{_datadir}/doc
+%make_install
+
+%if 0%{?suse_version}
+ %suse_update_desktop_file %{oname}
+ %fdupes -s %{buildroot}%{_prefix}
+%endif
+
+# Remove not needed files
+rm -fr %{buildroot}%{_datadir}/doc
%files
%defattr(-,root,root)
%doc AUTHORS COPYING doc/code doc/courses_events doc/guide doc/score_algorithm
-%{_bindir}/etr
-%{_datadir}/etr/
-%{_datadir}/pixmaps/etr.png
-%{_datadir}/applications/etr.desktop
+%{_bindir}/%{oname}
+%{_datadir}/%{oname}/
+%{_datadir}/pixmaps/%{oname}.png
+%{_datadir}/applications/%{oname}.desktop
%changelog
1
0
Hello community,
here is the log from the commit of package rubygem-gettext for openSUSE:Factory checked in at 2015-09-27 08:39:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-gettext (Old)
and /work/SRC/openSUSE:Factory/.rubygem-gettext.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-gettext"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-gettext/rubygem-gettext.changes 2015-02-16 21:12:51.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-gettext.new/rubygem-gettext.changes 2015-09-27 08:39:16.000000000 +0200
@@ -1,0 +2,28 @@
+Wed Sep 23 04:30:03 UTC 2015 - coolo(a)suse.com
+
+- updated to version 3.1.7
+ see installed news.md
+
+ ## 3.1.7: 2015-09-22 {#version-3-1-7}
+
+ ### Improvements
+
+ * Supported 3 character language names.
+ [GitHub#39][Patch by Vilius Paulauskas]
+ * Suppressed duplicated range in regular expression warning.
+ [GitHub#40][Patch by Vilius Paulauskas]
+ * Replaced invalid character instead of raising an error on encoding
+ conversion.
+ [GitHub#41][Patch by Vilius Paulauskas]
+
+ ### Fixes
+
+ * Fixed a bug that undefined method is used.
+ [GitHub#38][Patch by Hiroshi Hatake]
+
+ ### Thanks
+
+ * Hiroshi Hatake
+ * Vilius Paulauskas
+
+-------------------------------------------------------------------
Old:
----
gettext-3.1.6.gem
New:
----
gettext-3.1.7.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-gettext.spec ++++++
--- /var/tmp/diff_new_pack.zB6duw/_old 2015-09-27 08:39:16.000000000 +0200
+++ /var/tmp/diff_new_pack.zB6duw/_new 2015-09-27 08:39:16.000000000 +0200
@@ -24,7 +24,7 @@
#
Name: rubygem-gettext
-Version: 3.1.6
+Version: 3.1.7
Release: 0
%define mod_name gettext
%define mod_full_name %{mod_name}-%{version}
++++++ gettext-3.1.6.gem -> gettext-3.1.7.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Rakefile new/Rakefile
--- old/Rakefile 2015-01-20 15:54:06.000000000 +0100
+++ new/Rakefile 2015-09-22 07:16:54.000000000 +0200
@@ -128,7 +128,14 @@
task "samples:gettext" => "samples:cgi:gettext"
-["untranslated", "backslash", "non_ascii", "np_", "p_"].each do |domain|
+[
+ "untranslated",
+ "backslash",
+ "non_ascii",
+ "np_",
+ "p_",
+ "hello",
+].each do |domain|
GetText::Tools::Task.define do |task|
task.package_name = domain
task.package_version = spec.version.to_s
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doc/text/news.md new/doc/text/news.md
--- old/doc/text/news.md 2015-01-20 15:54:06.000000000 +0100
+++ new/doc/text/news.md 2015-09-22 07:16:54.000000000 +0200
@@ -1,5 +1,27 @@
# News
+## 3.1.7: 2015-09-22 {#version-3-1-7}
+
+### Improvements
+
+ * Supported 3 character language names.
+ [GitHub#39][Patch by Vilius Paulauskas]
+ * Suppressed duplicated range in regular expression warning.
+ [GitHub#40][Patch by Vilius Paulauskas]
+ * Replaced invalid character instead of raising an error on encoding
+ conversion.
+ [GitHub#41][Patch by Vilius Paulauskas]
+
+### Fixes
+
+ * Fixed a bug that undefined method is used.
+ [GitHub#38][Patch by Hiroshi Hatake]
+
+### Thanks
+
+ * Hiroshi Hatake
+ * Vilius Paulauskas
+
## 3.1.6: 2015-01-20 {#version-3-1-6}
### Fixes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/gettext/mo.rb new/lib/gettext/mo.rb
--- old/lib/gettext/mo.rb 2015-01-20 15:54:06.000000000 +0100
+++ new/lib/gettext/mo.rb 2015-09-22 07:16:54.000000000 +0200
@@ -318,17 +318,10 @@
return string
end
- begin
- string.encode(@output_charset, @charset)
- rescue EncodingError
- if $DEBUG
- warn "@charset = ", @charset
- warn "@output_charset = ", @output_charset
- warn "msgid = ", original_string
- warn "msgstr = ", string
- end
- string
- end
+ string.encode(@output_charset,
+ @charset,
+ :invalid => :replace,
+ :undef => :replace)
end
def generate_original_string(msgid, options)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/gettext/tools/msgcat.rb new/lib/gettext/tools/msgcat.rb
--- old/lib/gettext/tools/msgcat.rb 2015-01-20 15:54:06.000000000 +0100
+++ new/lib/gettext/tools/msgcat.rb 2015-09-22 07:16:54.000000000 +0200
@@ -124,7 +124,7 @@
new_msgstr = ""
msgstr.each_line do |line|
case line
- when /\A([\w\d\-_]+):/
+ when /\A([\w\-]+):/
name = $1
next if remove_header_fields.include?(name)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/gettext/tools/task.rb new/lib/gettext/tools/task.rb
--- old/lib/gettext/tools/task.rb 2015-01-20 15:54:06.000000000 +0100
+++ new/lib/gettext/tools/task.rb 2015-09-22 07:16:54.000000000 +0200
@@ -455,7 +455,8 @@
"rake #{_task.name} LOCALE=${LOCALE}'"
end
define_po_file_task(locale)
- Rake::Task[po_file(locale)].invoke
+ path = create_path(locale)
+ Rake::Task[path.po_file].invoke
end
update_tasks = []
@@ -514,7 +515,7 @@
Dir.open(po_base_directory) do |dir|
dir.each do |entry|
- next unless /\A[a-z]{2}(?:_[A-Z]{2})?\z/ =~ entry
+ next unless /\A[a-z]{2,3}(?:_[A-Z]{2})?\z/ =~ entry
next unless File.directory?(File.join(dir.path, entry))
locales << entry
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/gettext/version.rb new/lib/gettext/version.rb
--- old/lib/gettext/version.rb 2015-01-20 15:54:06.000000000 +0100
+++ new/lib/gettext/version.rb 2015-09-22 07:16:54.000000000 +0200
@@ -9,5 +9,5 @@
=end
module GetText
- VERSION = "3.1.6"
+ VERSION = "3.1.7"
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2015-01-20 15:54:06.000000000 +0100
+++ new/metadata 2015-09-22 07:16:54.000000000 +0200
@@ -1,7 +1,7 @@
--- !ruby/object:Gem::Specification
name: gettext
version: !ruby/object:Gem::Version
- version: 3.1.6
+ version: 3.1.7
platform: ruby
authors:
- Kouhei Sutou
@@ -9,7 +9,7 @@
autorequire:
bindir: bin
cert_chain: []
-date: 2015-01-20 00:00:00.000000000 Z
+date: 2015-09-22 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: locale
@@ -1528,6 +1528,7 @@
- test/fixtures/erb/ascii.rxml
- test/fixtures/erb/non_ascii.rhtml
- test/fixtures/gladeparser.glade
+- test/fixtures/hello.rb
- test/fixtures/multi_text_domain.rb
- test/fixtures/n_.rb
- test/fixtures/non_ascii.rb
@@ -1584,6 +1585,7 @@
- test/po/ja/backslash.edit.po
- test/po/ja/backslash.po
- test/po/ja/backslash.po.time_stamp
+- test/po/ja/hello.po
- test/po/ja/non_ascii.edit.po
- test/po/ja/non_ascii.po
- test/po/ja/non_ascii.po.time_stamp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/bg/gettext.edit.po new/po/bg/gettext.edit.po
--- old/po/bg/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/bg/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -566,6 +566,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/bg/gettext.po new/po/bg/gettext.po
--- old/po/bg/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/bg/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -466,6 +466,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/bs/gettext.edit.po new/po/bs/gettext.edit.po
--- old/po/bs/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/bs/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -571,6 +571,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/bs/gettext.po new/po/bs/gettext.po
--- old/po/bs/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/bs/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -472,6 +472,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/ca/gettext.edit.po new/po/ca/gettext.edit.po
--- old/po/ca/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/ca/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -566,6 +566,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/ca/gettext.po new/po/ca/gettext.po
--- old/po/ca/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/ca/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -468,6 +468,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/cs/gettext.edit.po new/po/cs/gettext.edit.po
--- old/po/cs/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/cs/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -573,6 +573,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/cs/gettext.po new/po/cs/gettext.po
--- old/po/cs/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/cs/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -474,6 +474,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/de/gettext.edit.po new/po/de/gettext.edit.po
--- old/po/de/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/de/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -580,6 +580,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/de/gettext.po new/po/de/gettext.po
--- old/po/de/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/de/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -481,6 +481,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/el/gettext.edit.po new/po/el/gettext.edit.po
--- old/po/el/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/el/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -576,6 +576,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/el/gettext.po new/po/el/gettext.po
--- old/po/el/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/el/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -477,6 +477,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/eo/gettext.edit.po new/po/eo/gettext.edit.po
--- old/po/eo/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/eo/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -579,6 +579,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/eo/gettext.po new/po/eo/gettext.po
--- old/po/eo/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/eo/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -478,6 +478,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/es/gettext.edit.po new/po/es/gettext.edit.po
--- old/po/es/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/es/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -577,6 +577,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/es/gettext.po new/po/es/gettext.po
--- old/po/es/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/es/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -479,6 +479,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/et/gettext.edit.po new/po/et/gettext.edit.po
--- old/po/et/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/et/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -577,6 +577,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/et/gettext.po new/po/et/gettext.po
--- old/po/et/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/et/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -477,6 +477,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/fr/gettext.edit.po new/po/fr/gettext.edit.po
--- old/po/fr/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/fr/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -578,6 +578,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/fr/gettext.po new/po/fr/gettext.po
--- old/po/fr/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/fr/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -481,6 +481,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/gettext.pot new/po/gettext.pot
--- old/po/gettext.pot 2015-01-20 15:54:06.000000000 +0100
+++ new/po/gettext.pot 2015-09-22 07:16:54.000000000 +0200
@@ -6,10 +6,10 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gettext 3.1.6\n"
+"Project-Id-Version: gettext 3.1.7\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-01-20 23:54+0900\n"
-"PO-Revision-Date: 2015-01-20 23:54+0900\n"
+"POT-Creation-Date: 2015-09-22 14:16+0900\n"
+"PO-Revision-Date: 2015-09-22 14:16+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
"Language: \n"
@@ -594,6 +594,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11
#: ../test/fixtures/multi_text_domain.rb:24
#: ../test/fixtures/multi_text_domain.rb:43
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/hr/gettext.edit.po new/po/hr/gettext.edit.po
--- old/po/hr/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/hr/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -577,6 +577,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/hr/gettext.po new/po/hr/gettext.po
--- old/po/hr/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/hr/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -477,6 +477,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/hu/gettext.edit.po new/po/hu/gettext.edit.po
--- old/po/hu/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/hu/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -577,6 +577,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/hu/gettext.po new/po/hu/gettext.po
--- old/po/hu/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/hu/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -477,6 +477,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/it/gettext.edit.po new/po/it/gettext.edit.po
--- old/po/it/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/it/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -575,6 +575,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/it/gettext.po new/po/it/gettext.po
--- old/po/it/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/it/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -477,6 +477,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/ja/gettext.edit.po new/po/ja/gettext.edit.po
--- old/po/ja/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/ja/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -563,6 +563,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/ja/gettext.po new/po/ja/gettext.po
--- old/po/ja/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/ja/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -468,6 +468,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/ko/gettext.edit.po new/po/ko/gettext.edit.po
--- old/po/ko/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/ko/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -576,6 +576,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/ko/gettext.po new/po/ko/gettext.po
--- old/po/ko/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/ko/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -475,6 +475,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/lv/gettext.edit.po new/po/lv/gettext.edit.po
--- old/po/lv/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/lv/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -577,6 +577,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/lv/gettext.po new/po/lv/gettext.po
--- old/po/lv/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/lv/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -477,6 +477,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/nb/gettext.edit.po new/po/nb/gettext.edit.po
--- old/po/nb/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/nb/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -577,6 +577,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/nb/gettext.po new/po/nb/gettext.po
--- old/po/nb/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/nb/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -477,6 +477,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/nl/gettext.edit.po new/po/nl/gettext.edit.po
--- old/po/nl/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/nl/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -576,6 +576,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/nl/gettext.po new/po/nl/gettext.po
--- old/po/nl/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/nl/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -477,6 +477,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/pt_BR/gettext.edit.po new/po/pt_BR/gettext.edit.po
--- old/po/pt_BR/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/pt_BR/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -578,6 +578,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/pt_BR/gettext.po new/po/pt_BR/gettext.po
--- old/po/pt_BR/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/pt_BR/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -479,6 +479,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/ru/gettext.edit.po new/po/ru/gettext.edit.po
--- old/po/ru/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/ru/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -578,6 +578,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/ru/gettext.po new/po/ru/gettext.po
--- old/po/ru/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/ru/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -479,6 +479,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/sr/gettext.edit.po new/po/sr/gettext.edit.po
--- old/po/sr/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/sr/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -578,6 +578,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/sr/gettext.po new/po/sr/gettext.po
--- old/po/sr/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/sr/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -478,6 +478,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/sv/gettext.edit.po new/po/sv/gettext.edit.po
--- old/po/sv/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/sv/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -566,6 +566,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/sv/gettext.po new/po/sv/gettext.po
--- old/po/sv/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/sv/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -463,6 +463,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/uk/gettext.edit.po new/po/uk/gettext.edit.po
--- old/po/uk/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/uk/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -581,6 +581,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/uk/gettext.po new/po/uk/gettext.po
--- old/po/uk/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/uk/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -482,6 +482,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/vi/gettext.edit.po new/po/vi/gettext.edit.po
--- old/po/vi/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/vi/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -577,6 +577,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/vi/gettext.po new/po/vi/gettext.po
--- old/po/vi/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/vi/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -477,6 +477,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/zh/gettext.edit.po new/po/zh/gettext.edit.po
--- old/po/zh/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/zh/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -580,6 +580,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/zh/gettext.po new/po/zh/gettext.po
--- old/po/zh/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/zh/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -479,6 +479,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/zh_TW/gettext.edit.po new/po/zh_TW/gettext.edit.po
--- old/po/zh_TW/gettext.edit.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/zh_TW/gettext.edit.po 2015-09-22 07:16:54.000000000 +0200
@@ -579,6 +579,10 @@
msgid "duplicated"
msgstr ""
+#: ../test/fixtures/hello.rb:26
+msgid "Hello"
+msgstr ""
+
#: ../test/fixtures/multi_text_domain.rb:11 ../test/fixtures/multi_text_domain.rb:24 ../test/fixtures/multi_text_domain.rb:43 ../test/fixtures/multi_text_domain.rb:50 ../test/fixtures/multi_text_domain.rb:62 ../test/fixtures/multi_text_domain.rb:75 ../test/fixtures/multi_text_domain.rb:91 ../test/fixtures/multi_text_domain.rb:104 ../test/fixtures/multi_text_domain.rb:108 ../test/fixtures/multi_text_domain.rb:128 ../test/fixtures/simple.rb:10 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297 ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306 ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325 ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339 ../test/test_gettext.rb:351 ../test/test_gettext.rb:358 ../test/test_text_domain_toplevel.rb:9 ../test/test_text_domain_toplevel.rb:15 ../test/test_text_domain_toplevel.rb:18 ../test/test_text_domain_toplevel.rb:23 ../test/test_thread.rb:23
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/po/zh_TW/gettext.po new/po/zh_TW/gettext.po
--- old/po/zh_TW/gettext.po 2015-01-20 15:54:06.000000000 +0100
+++ new/po/zh_TW/gettext.po 2015-09-22 07:16:54.000000000 +0200
@@ -478,6 +478,9 @@
msgid "duplicated"
msgstr ""
+msgid "Hello"
+msgstr ""
+
msgid "language"
msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/fixtures/hello.rb new/test/fixtures/hello.rb
--- old/test/fixtures/hello.rb 1970-01-01 01:00:00.000000000 +0100
+++ new/test/fixtures/hello.rb 2015-09-22 07:16:54.000000000 +0200
@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2015 Kouhei Sutou <kou(a)clear-code.com>
+#
+# License: Ruby's or LGPL
+#
+# This library is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+require "gettext"
+
+class Hello
+ include GetText
+
+ def hello
+ _("Hello")
+ end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/po/ja/hello.po new/test/po/ja/hello.po
--- old/test/po/ja/hello.po 1970-01-01 01:00:00.000000000 +0100
+++ new/test/po/ja/hello.po 2015-09-22 07:16:54.000000000 +0200
@@ -0,0 +1,21 @@
+# Japanese translations for hello package.
+# Copyright (C) 2015 THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the hello package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2015.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: hello 3.1.7\n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2015-09-22 14:06+0900\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Japanese\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"\n"
+
+msgid "Hello"
+msgstr "こんにちは"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_mo.rb new/test/test_mo.rb
--- old/test/test_mo.rb 2015-01-20 15:54:06.000000000 +0100
+++ new/test/test_mo.rb 2015-09-22 07:16:54.000000000 +0200
@@ -19,13 +19,19 @@
assert_equal("Hello in Japanese", mo["こんにちは"])
end
+ def test_invalid_charset
+ mo = load_mo("hello.mo", "ISO-8859-1")
+ assert_equal("?????", mo["Hello"])
+ end
+
def test_backslash
mo = load_mo("backslash.mo")
assert_equal("'\\'は'\\\\'とエスケープするべきです。",
mo["You should escape '\\' as '\\\\'."])
end
- def load_mo(file)
- GetText::MO.open("locale/ja/LC_MESSAGES/#{file}", "UTF-8")
+ def load_mo(file, output_charset=nil)
+ output_charset ||= "UTF-8"
+ GetText::MO.open("locale/ja/LC_MESSAGES/#{file}", output_charset)
end
end
1
0
Hello community,
here is the log from the commit of package rubygem-highline for openSUSE:Factory checked in at 2015-09-27 08:39:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-highline (Old)
and /work/SRC/openSUSE:Factory/.rubygem-highline.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-highline"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-highline/rubygem-highline.changes 2015-09-17 09:20:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-highline.new/rubygem-highline.changes 2015-09-27 08:39:15.000000000 +0200
@@ -1,0 +2,18 @@
+Wed Sep 23 04:31:07 UTC 2015 - coolo(a)suse.com
+
+- updated to version 1.7.7
+ see installed Changelog.md
+
+ ### 1.7.7 / 2015-09-22
+ * Make HighLine::Question coerce its question argument into a String. (@97-109-107 and Abinoam P. Marques Jr. (@abinoam), #159, PR #160)
+
+-------------------------------------------------------------------
+Fri Sep 18 04:32:00 UTC 2015 - coolo(a)suse.com
+
+- updated to version 1.7.6
+ see installed Changelog.md
+
+ ### 1.7.6 / 2015-09-17
+ * Fix a typo in a var name affecting solaris. (Danek Duvall (@dhduvall) and Abinoam P. Marques Jr. (@abinoam), #155, PR #156)
+
+-------------------------------------------------------------------
Old:
----
highline-1.7.5.gem
New:
----
highline-1.7.7.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-highline.spec ++++++
--- /var/tmp/diff_new_pack.a8G9qk/_old 2015-09-27 08:39:15.000000000 +0200
+++ /var/tmp/diff_new_pack.a8G9qk/_new 2015-09-27 08:39:15.000000000 +0200
@@ -24,7 +24,7 @@
#
Name: rubygem-highline
-Version: 1.7.5
+Version: 1.7.7
Release: 0
%define mod_name highline
%define mod_full_name %{mod_name}-%{version}
++++++ highline-1.7.5.gem -> highline-1.7.7.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Changelog.md new/Changelog.md
--- old/Changelog.md 2015-09-15 04:15:50.000000000 +0200
+++ new/Changelog.md 2015-09-23 01:19:45.000000000 +0200
@@ -2,6 +2,12 @@
Below is a complete listing of changes for each revision of HighLine.
+### 1.7.7 / 2015-09-22
+* Make HighLine::Question coerce its question argument into a String. (@97-109-107 and Abinoam P. Marques Jr. (@abinoam), #159, PR #160)
+
+### 1.7.6 / 2015-09-17
+* Fix a typo in a var name affecting solaris. (Danek Duvall (@dhduvall) and Abinoam P. Marques Jr. (@abinoam), #155, PR #156)
+
### 1.7.5 / 2015-09-14
* Support jruby9k for system extensions (Michael (@mmmries), PR #153)
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/highline/question.rb new/lib/highline/question.rb
--- old/lib/highline/question.rb 2015-09-15 04:15:50.000000000 +0200
+++ new/lib/highline/question.rb 2015-09-23 01:19:45.000000000 +0200
@@ -31,7 +31,7 @@
#
def initialize( question, answer_type )
# initialize instance data
- @question = question.dup
+ @question = String(question).dup
@answer_type = answer_type
@completion = @answer_type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/highline/system_extensions.rb new/lib/highline/system_extensions.rb
--- old/lib/highline/system_extensions.rb 2015-09-15 04:15:50.000000000 +0200
+++ new/lib/highline/system_extensions.rb 2015-09-23 01:19:45.000000000 +0200
@@ -235,7 +235,7 @@
if /solaris/ =~ RUBY_PLATFORM and
`stty` =~ /\brows = (\d+).*\bcolumns = (\d+)/
- [$2, $1].map { |c| x.to_i }
+ [$2, $1].map { |x| x.to_i }
elsif `stty size` =~ /^(\d+)\s(\d+)$/
[$2.to_i, $1.to_i]
else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/highline/version.rb new/lib/highline/version.rb
--- old/lib/highline/version.rb 2015-09-15 04:15:50.000000000 +0200
+++ new/lib/highline/version.rb 2015-09-23 01:19:45.000000000 +0200
@@ -1,4 +1,4 @@
class HighLine
# The version of the installed library.
- VERSION = "1.7.5".freeze
+ VERSION = "1.7.7".freeze
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2015-09-15 04:15:50.000000000 +0200
+++ new/metadata 2015-09-23 01:19:45.000000000 +0200
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: highline
version: !ruby/object:Gem::Version
- version: 1.7.5
+ version: 1.7.7
platform: ruby
authors:
- James Edward Gray II
autorequire:
bindir: bin
cert_chain: []
-date: 2015-09-15 00:00:00.000000000 Z
+date: 2015-09-22 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: code_statistics
@@ -114,7 +114,7 @@
version: '0'
requirements: []
rubyforge_project: highline
-rubygems_version: 2.4.5
+rubygems_version: 2.4.5.1
signing_key:
specification_version: 4
summary: HighLine is a high-level command-line IO library.
1
0
Hello community,
here is the log from the commit of package enlightenment for openSUSE:Factory checked in at 2015-09-27 08:39:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/enlightenment (Old)
and /work/SRC/openSUSE:Factory/.enlightenment.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "enlightenment"
Changes:
--------
--- /work/SRC/openSUSE:Factory/enlightenment/enlightenment.changes 2015-06-11 08:23:28.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.enlightenment.new/enlightenment.changes 2015-09-27 08:39:13.000000000 +0200
@@ -1,0 +2,158 @@
+Wed Sep 23 04:44:54 UTC 2015 - simon(a)simotek.net
+
+- Remove unneeded debug from spec
+
+-------------------------------------------------------------------
+Wed Sep 23 03:23:33 UTC 2015 - simon(a)simotek.net
+
+- Belated changelog entry for removing some pages from the wizard
+ this also means set_default_system_language.patch is no longer required
+
+-------------------------------------------------------------------
+Thu Sep 17 12:38:17 UTC 2015 - simon(a)simotek.net
+
+- Add network manager intergration including feature-network-manager-wizard.patch
+
+-------------------------------------------------------------------
+Tue Sep 15 06:01:47 UTC 2015 - simon(a)simotek.net
+
+- bump to 0.19.10
+ * Remove enlightenment-0.19.9-fix-font-loading.patch (included upstream)
+Tickets Resolved:
+
+ T1732
+ T1923
+ T2690
+ T2703
+ T2717
+
+e comp - set rects to null to silence compiler warning
+fix x11 compositor to use damage events
+explicitly show the client object of internal window during show
+force-disable refocus during desk flip on client activation
+unshade clients when activating
+ensure that normal clients are stacked below overrides when raising
+add extreme hacks to enforce nocomp stacking policies
+set 'starting' flag for desk show in e_zone_desk_count_set()
+ensure that non-fullscreen nocomp clients have their layers re-set
+Wizard: Update icon theme search list
+
+-------------------------------------------------------------------
+Sun Sep 6 08:15:42 UTC 2015 - simon(a)simotek.net
+
+- Add enlightenment-0.19.9-fix-font-loading.patch
+ * Already upstream in what will become 0.19.10 and
+ 0.20.0
+ * Currently we don't ship the icon sets e looks for
+
+-------------------------------------------------------------------
+Sun Aug 23 11:42:06 UTC 2015 - simon(a)simotek.net
+
+- bump to 0.19.9
+Full Release Notes:
+https://phab.enlightenment.org/phame/live/3/post/e19_9_release/
+
+Tickets resolved:
+
+ T2045
+ T2127
+ T2462
+ T2492
+ T2585
+ T2645
+ T2674
+ T2676
+
+-------------------------------------------------------------------
+Thu Aug 6 06:25:11 UTC 2015 - simon(a)simotek.net
+
+- bump to 0.19.8 -skipped .6 - .7
+
+Full release notes:
+https://phab.enlightenment.org/phame/live/3/post/e19_6_release/
+https://phab.enlightenment.org/phame/live/3/post/e19_7_release/
+https://phab.enlightenment.org/phame/live/3/post/e19_8_release/
+
+Tickets resolved:
+ 0.19.6
+T2259
+T2277
+T2411
+T2547
+T2566
+T2594
+ 0.19.8
+T2071
+T2210
+T2423
+T2604
+T2642
+
+Changes:
+0.19.6
+passive window grabs - fix side-effect leave/enter events on clients
+enlightenment: Make E build again with EFL from git
+wizard: Prevent crash
+wizard: Prevent crash
+reject client fullscreening based on config and desk visibility
+force xwindow stacking to obey nocomp policy and stack below current nocomp
+allow new fullscreening clients to replace current nocomp where applicable
+fix focusing client on mouse events which trigger actions (with exceptions)
+fix shelf visibility state signals
+fix eo errors for ilist icon select state
+allow layer-blocked clients in deskmirror to restack
+return an accurate value for override clients in e_comp_object_util_zone_get()
+only apply deskmirror client visibility logic for non-deleted clients
+stop rejecting possibly-valid x11 focus events
+check for possible parent window on x11 mouse button events
+fix focus FIXME regarding focus-setting on clients from other desks
+unset changes.visible when forcing visibility during no-effect desk flip
+add E_Client->mouse.in for determining mouse-in status
+trigger fake mouse-out on clients when unsetting focus
+trigger client mouse-in on x11 mouse movement for non-action clients
+enforce pstate's extremely-confusing no_turbo option in cpufreq
+use client window for x11 button ungrabbing
+redo all x11 client mouse grabbing for focus
+straggler ungrab of x11 parent window from previous commit
+ensure x11 focus grabs are applied on client init when needed
+only ungrab x11 windows when appropriate focus options are set
+reject x11 replay clicks when event window != client window
+do not apply x11 focus grabs to internal clients if efl version > 1.14
+make e_client_util_desk_visible() work for overrides without desks
+make pager popups only trigger on urgency hint if client is not currently visible
+set CRITICAL urgency for notification internal notifications
+block client signal binding activation when mouse action is active
+move E_Client->mouse.in to E_Client->mouse_in to avoid abi breakage
+account for race condition when creating initial comp object updates tiler
+fix compile against newer efl
+move grabinput focus fix timer to x11 compositor and fix it to Work Better
+always set x11 override client geometry on startup
+fix compile warning
+only unset e MANAGED atom on non-shutdown
+only trigger client mouse-in from x11 mouse move event if client+desk are visible
+ensure that focus is set and focus stack is managed on winlist hide
+never use new clients for stacking part 2: the secret of the stacking
+ensure clients possess comp_data before dereferencing it during x11 stacking
+always stop passing key events on once they reach the lokker callback
+simulate modal windows for badly behaved x11 clients
+
+0.19.7
+use runtime check for determining x11 compositor grab behavior
+improve x11 compatibility with efl versions earlier than 1.15
+
+0.19.8
+e - warning fix - fix SVID_SOURCE complaint warning
+e menu - an extra object ref causes menus to never be freed
+e - shelf menu - handle deletion properly if cb is not for shelf menu
+allow x11 mouse wheel events to check ev->event_window for possible client match
+reject x11 NotifyVirtual and NotifyInferior mouse in events
+disable ecore-evas events on client windows during actions
+fix build break from previous commit
+use gadget zone for evry gadget launcher
+add fallback loading of default theme on init
+remove spurious focus setting on desk flip without animation
+fix wizard module loading when E_MODULE_SRC_PATH is set
+defer focus-setting on focus revert during desk flip when visibility is pending
+show drag object immediately when beginning a drag
+
+-------------------------------------------------------------------
Old:
----
enlightenment-0.19.5.tar.xz
set_default_system_language.patch
New:
----
enlightenment-0.19.10.tar.xz
network_manager_wizard.c
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ enlightenment.spec ++++++
--- /var/tmp/diff_new_pack.kVJEjQ/_old 2015-09-27 08:39:15.000000000 +0200
+++ /var/tmp/diff_new_pack.kVJEjQ/_new 2015-09-27 08:39:15.000000000 +0200
@@ -16,7 +16,7 @@
#
-%define efl_version 1.11.3
+%define efl_version 1.15.0
%if 0%{?suse_version} >= 1230 || 0%{?fedora} >= 18
%define systemd_present 1
@@ -27,7 +27,7 @@
%define generate_manpages 0
Name: enlightenment
-Version: 0.19.5
+Version: 0.19.10
Release: 0
Summary: The window manager
License: BSD-2-Clause
@@ -37,13 +37,14 @@
Source2: e17
Source3: sysactions.conf-oS12.2
Source4: sysactions.conf-systemd
+# PATCH-FEATURE_OPENSUSE feature-network-manager-wizard.patch simon(a)simotek.net adds nm-applet to startup apps if its present,
+# this will be maybe upstreamed when upstream network manager applet supports app indicator - (1.1.0)
+Source5: network_manager_wizard.c
# PATCH-FIX-OPENSUSE - enlightenment-0.16.999.65256-dont_require_suidbit.patch sleep_walker(a)suse.cz -- upstream insist on having suidbit
Patch0: enlightenment-0.16.999.65256-dont_require_suidbit.patch
# PATCH-FEATURE-OPENSUSE dont_offer_updates.patch -- don't offer updates, that's up to package manager -- sleep_walker(a)suse.cz
Patch1: dont_offer_updates.patch
-# PATCH-FEATURE-OPENSUSE set_default_system_language.patch -- use system default language and don't ask user -- sleep_walker(a)suse.cz
-Patch2: set_default_system_language.patch
-Patch3: %{name}-0.19.1-fix-bashisms.patch
+Patch2: %{name}-0.19.1-fix-bashisms.patch
BuildRequires: alsa-devel
BuildRequires: autoconf
BuildRequires: automake
@@ -103,6 +104,10 @@
# Recommend sni-qt to make Qt4/kde4 apps work with systray
Recommends: sni-qt
+# Recommended to make NetworkManager Intergration work
+Recommends: gnome-keyring
+Recommends: NetworkManager-appindicator
+
Requires: enlightenment-branding = 0.1
Provides: e_module-notification = 0.2.1
@@ -178,7 +183,10 @@
%patch0
%patch1 -p1
%patch2 -p1
-%patch3 -p1
+
+# Copy In new Network Wizard
+rm src/modules/wizard/page_110.c
+cp -v %{SOURCE5} src/modules/wizard/page_110.c
%build
# fake time used for documentation
@@ -250,6 +258,18 @@
%endif
+# Remove unwanted wizard pages
+# /usr/lib64/enlightenment/modules/wizard/linux-gnu-x86_64-ver-autocannoli-0.20/page_010.so
+
+# Remove language / keyboard pages
+rm %{buildroot}%{_libdir}/enlightenment/modules/wizard/*/page_010.so
+rm %{buildroot}%{_libdir}/enlightenment/modules/wizard/*/page_011.so
+# Remove connman page
+rm %{buildroot}%{_libdir}/enlightenment/modules/wizard/*/page_110.so
+# Don't remove Updates 170 (We have a patch to ensure its disabled)
+# Remove tasks page, with our profile its not needed
+rm %{buildroot}%{_libdir}/enlightenment/modules/wizard/*/page_180.so
+
# remove files from not wanted place
rm %{buildroot}%{_datadir}/enlightenment/{COPYING,AUTHORS}
++++++ dont_offer_updates.patch ++++++
--- /var/tmp/diff_new_pack.kVJEjQ/_old 2015-09-27 08:39:15.000000000 +0200
+++ /var/tmp/diff_new_pack.kVJEjQ/_new 2015-09-27 08:39:15.000000000 +0200
@@ -1,22 +1,22 @@
Index: enlightenment-0.18.0-rc2/src/modules/wizard/page_170.c
===================================================================
---- enlightenment-0.18.0-rc2.orig/src/modules/wizard/page_170.c
-+++ enlightenment-0.18.0-rc2/src/modules/wizard/page_170.c
+--- a/src/modules/wizard/page_170.c
++++ b/src/modules/wizard/page_170.c
@@ -1,7 +1,7 @@
/* Ask about updates checking */
#include "e_wizard.h"
-
+
-static int do_up = 1;
+static int do_up = 0;
/*
- EAPI int
+ E_API int
wizard_page_init(E_Wizard_Page *pg __UNUSED__, Eina_Bool *need_xdg_desktops __UNUSED__, Eina_Bool *need_xdg_icons __UNUSED__)
-@@ -58,7 +58,7 @@ wizard_page_show(E_Wizard_Page *pg)
+@@ -58,7 +58,7 @@
evas_object_show(of);
-
+
e_wizard_page_show(o);
- return 1; /* 1 == show ui, and wait for user, 0 == just continue */
+ return 0; /* 1 == show ui, and wait for user, 0 == just continue */
}
-
- EAPI int
+
+ E_API int
++++++ enlightenment-0.19.5.tar.xz -> enlightenment-0.19.10.tar.xz ++++++
/work/SRC/openSUSE:Factory/enlightenment/enlightenment-0.19.5.tar.xz /work/SRC/openSUSE:Factory/.enlightenment.new/enlightenment-0.19.10.tar.xz differ: char 26, line 1
++++++ network_manager_wizard.c ++++++
/* Setup if we need nm-applet? */
#include "e_wizard.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define GNOME_KEYRING_PATH "/etc/xdg/autostart/gnome-keyring-secrets.desktop"
#define NM_APPLET_PATH "/etc/xdg/autostart/nm-applet.desktop"
/*
E_API int
wizard_page_init(E_Wizard_Page *pg EINA_UNUSED, Eina_Bool *need_xdg_desktops EINA_UNUSED, Eina_Bool *need_xdg_icons EINA_UNUSED)
{
return 1;
}
E_API int
wizard_page_shutdown(E_Wizard_Page *pg EINA_UNUSED)
{
return 1;
}
*/
E_API int
wizard_page_show(E_Wizard_Page *pg)
{
// copyed from e_start_main.c
char buf[16384], * home;
FILE *fp;
home = getenv("HOME");
if (home && (0 == access(GNOME_KEYRING_PATH, F_OK)) && (0 == access(NM_APPLET_PATH, F_OK)))
{
snprintf(buf, sizeof(buf), "%s/.e/e/applications/startup/.order", home);
printf("%s\n", buf);
fp=fopen(buf, "a+");
fprintf(fp, "%s\n%s\n", GNOME_KEYRING_PATH, NM_APPLET_PATH);
fclose(fp);
}
return 0; /* 1 == show ui, and wait for user, 0 == just continue */
}
/*
E_API int
wizard_page_hide(E_Wizard_Page *pg EINA_UNUSED)
{
return 1;
}
E_API int
wizard_page_apply(E_Wizard_Page *pg EINA_UNUSED)
{
return 1;
}
*/
1
0
Hello community,
here is the log from the commit of package efl for openSUSE:Factory checked in at 2015-09-27 08:39:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/efl (Old)
and /work/SRC/openSUSE:Factory/.efl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "efl"
Changes:
--------
--- /work/SRC/openSUSE:Factory/efl/efl.changes 2015-09-03 18:10:34.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.efl.new/efl.changes 2015-09-27 08:39:10.000000000 +0200
@@ -1,0 +2,14 @@
+Mon Sep 21 07:02:27 UTC 2015 - schwab(a)suse.de
+
+- Require pkgconfig(lua-5.1) instead of pkgconfig(lua) < 5.2
+
+-------------------------------------------------------------------
+Tue Sep 15 05:50:34 UTC 2015 - simon(a)simotek.net
+
+- Bump to 1.15.1 Bugfix
+ ecore_evas: fix first render skip in several windows
+ ecore-wl: do not nul terminate drops
+ Evas language: fix script run code (T2670)
+
+
+-------------------------------------------------------------------
Old:
----
efl-1.15.0.tar.xz
New:
----
efl-1.15.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ efl.spec ++++++
--- /var/tmp/diff_new_pack.CSUGaj/_old 2015-09-27 08:39:12.000000000 +0200
+++ /var/tmp/diff_new_pack.CSUGaj/_new 2015-09-27 08:39:12.000000000 +0200
@@ -78,7 +78,7 @@
%endif
Name: efl
-Version: 1.15.0
+Version: 1.15.1
Release: 0
# TODO: split package to separate packages and specify licenses correctly
Summary: Enlightenment Foundation Libraries - set of libraries used (not only) by Enlightenment (e17 e19)
@@ -131,8 +131,12 @@
%if %luajit_present
BuildRequires: pkgconfig(luajit)
%else
+%if 0%{suse_version} >= 1330
+BuildRequires: pkgconfig(lua-5.1)
+%else
BuildRequires: pkgconfig(lua) < 5.2
%endif
+%endif
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(pixman-1)
BuildRequires: pkgconfig(sdl)
@@ -238,8 +242,12 @@
%if %luajit_present
Requires: pkgconfig(luajit)
%else
+%if 0%{suse_version} >= 1330
+Requires: pkgconfig(lua-5.1)
+%else
Requires: pkgconfig(lua) < 5.2
%endif
+%endif
Requires: pkgconfig(openssl)
Requires: pkgconfig(pixman-1)
Requires: pkgconfig(sdl)
++++++ efl-1.15.0.tar.xz -> efl-1.15.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/efl/efl-1.15.0.tar.xz /work/SRC/openSUSE:Factory/.efl.new/efl-1.15.1.tar.xz differ: char 25, line 1
1
0