openSUSE Commits
Threads by month
- ----- 2024 -----
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
April 2016
- 1 participants
- 1255 discussions
Hello community,
here is the log from the commit of package libfilezilla for openSUSE:Factory checked in at 2016-04-28 16:57:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libfilezilla (Old)
and /work/SRC/openSUSE:Factory/.libfilezilla.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libfilezilla"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libfilezilla/libfilezilla.changes 2016-03-26 15:22:47.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libfilezilla.new/libfilezilla.changes 2016-04-28 17:02:36.000000000 +0200
@@ -1,0 +2,11 @@
+Wed Apr 27 11:53:21 UTC 2016 - joerg.lorenzen(a)ki.tng.de
+
+- Update to version 0.5.0
+ - Handle timestamps where midnight is represented as 24:00:00.000
+ of the previous day.
+ - Fix inverted return value of fz::datetime::empty().
+ - Increase performance of event loop if not using timers.
+ - Better compatibility with runtimes that change the src pointer
+ passed to mbsrtowcs or wcsrtombs.
+
+-------------------------------------------------------------------
Old:
----
libfilezilla-0.4.0.1.tar.bz2
New:
----
libfilezilla-0.5.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libfilezilla.spec ++++++
--- /var/tmp/diff_new_pack.pBIVko/_old 2016-04-28 17:02:38.000000000 +0200
+++ /var/tmp/diff_new_pack.pBIVko/_new 2016-04-28 17:02:38.000000000 +0200
@@ -20,7 +20,7 @@
%define libname %{name}%{major}
%define develname %{name}-devel
Name: libfilezilla
-Version: 0.4.0.1
+Version: 0.5.0
Release: 0
Summary: C++ library for filezilla
License: GPL-2.0+
++++++ libfilezilla-0.4.0.1.tar.bz2 -> libfilezilla-0.5.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.4.0.1/NEWS new/libfilezilla-0.5.0/NEWS
--- old/libfilezilla-0.4.0.1/NEWS 2016-02-22 14:42:19.000000000 +0100
+++ new/libfilezilla-0.5.0/NEWS 2016-04-15 09:52:25.000000000 +0200
@@ -1,3 +1,10 @@
+0.5.0 (2016-04-15)
+
+- Handle timestamps where midnight is represented as 24:00:00.000 of the previous day
+- Fix inverted return value of fz::datetime::empty()
+- Increase performance of event loop if not using timers
+- Better compatibility with runtimes that change the src pointer passed to mbsrtowcs or wcsrtombs
+
0.4.0.1 (2016-02-22)
- Fix compile error in testcase
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.4.0.1/configure new/libfilezilla-0.5.0/configure
--- old/libfilezilla-0.4.0.1/configure 2016-02-22 14:42:38.000000000 +0100
+++ new/libfilezilla-0.5.0/configure 2016-04-15 09:52:38.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libfilezilla 0.4.0.1.
+# Generated by GNU Autoconf 2.69 for libfilezilla 0.5.0.
#
# Report bugs to <tim.kosse(a)filezilla-project.org>.
#
@@ -590,8 +590,8 @@
# Identity of this package.
PACKAGE_NAME='libfilezilla'
PACKAGE_TARNAME='libfilezilla'
-PACKAGE_VERSION='0.4.0.1'
-PACKAGE_STRING='libfilezilla 0.4.0.1'
+PACKAGE_VERSION='0.5.0'
+PACKAGE_STRING='libfilezilla 0.5.0'
PACKAGE_BUGREPORT='tim.kosse(a)filezilla-project.org'
PACKAGE_URL='https://lib.filezilla-project.org/'
@@ -1395,7 +1395,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 libfilezilla 0.4.0.1 to adapt to many kinds of systems.
+\`configure' configures libfilezilla 0.5.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1465,7 +1465,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libfilezilla 0.4.0.1:";;
+ short | recursive ) echo "Configuration of libfilezilla 0.5.0:";;
esac
cat <<\_ACEOF
@@ -1589,7 +1589,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libfilezilla configure 0.4.0.1
+libfilezilla configure 0.5.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2034,7 +2034,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libfilezilla $as_me 0.4.0.1, which was
+It was created by libfilezilla $as_me 0.5.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2900,7 +2900,7 @@
# Define the identity of the package.
PACKAGE='libfilezilla'
- VERSION='0.4.0.1'
+ VERSION='0.5.0'
cat >>confdefs.h <<_ACEOF
@@ -19461,7 +19461,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libfilezilla $as_me 0.4.0.1, which was
+This file was extended by libfilezilla $as_me 0.5.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19528,7 +19528,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libfilezilla config.status 0.4.0.1
+libfilezilla config.status 0.5.0
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/libfilezilla-0.4.0.1/configure.ac new/libfilezilla-0.5.0/configure.ac
--- old/libfilezilla-0.4.0.1/configure.ac 2016-02-22 14:42:26.000000000 +0100
+++ new/libfilezilla-0.5.0/configure.ac 2016-04-15 09:52:27.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([libfilezilla],[0.4.0.1],[tim.kosse@filezilla-project.org],[],[https://lib.filezilla-project.org/])
+AC_INIT([libfilezilla],[0.5.0],[tim.kosse@filezilla-project.org],[],[https://lib.filezilla-project.org/])
AC_CONFIG_HEADERS([lib/libfilezilla/private/config.hpp])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR(config)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.4.0.1/demos/list.cpp new/libfilezilla-0.5.0/demos/list.cpp
--- old/libfilezilla-0.4.0.1/demos/list.cpp 2016-01-31 11:35:01.000000000 +0100
+++ new/libfilezilla-0.5.0/demos/list.cpp 2016-04-15 09:52:15.000000000 +0200
@@ -19,8 +19,7 @@
return 1;
}
- std::cout << "Listing " << fz::to_string(path) << "\n\n";
- std::cout << "Name Link? Type Size Modified Mode\n";
+ std::cout << "Listing " << fz::to_string(path) << "\n";
std::cout << "----------------------------------\n";
fz::native_string name;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.4.0.1/lib/event_loop.cpp new/libfilezilla-0.5.0/lib/event_loop.cpp
--- old/libfilezilla-0.4.0.1/lib/event_loop.cpp 2016-01-31 11:35:01.000000000 +0100
+++ new/libfilezilla-0.5.0/lib/event_loop.cpp 2016-04-15 09:52:15.000000000 +0200
@@ -164,9 +164,10 @@
void event_loop::entry()
{
+ monotonic_clock now;
+
scoped_lock l(sync_);
while (!quit_) {
- monotonic_clock const now(monotonic_clock::now());
if (process_timers(l, now)) {
continue;
}
@@ -184,10 +185,16 @@
}
}
-bool event_loop::process_timers(scoped_lock & l, monotonic_clock const& now)
+bool event_loop::process_timers(scoped_lock & l, monotonic_clock & now)
{
- if (!deadline_ || now < deadline_) {
- // There's no deadline or deadline has not yet expired
+ if (!deadline_) {
+ // There's no deadline
+ return false;
+ }
+
+ now = monotonic_clock::now();
+ if (now < deadline_) {
+ // Deadline has not yet expired
return false;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.4.0.1/lib/iputils.cpp new/libfilezilla-0.5.0/lib/iputils.cpp
--- old/libfilezilla-0.4.0.1/lib/iputils.cpp 2016-01-31 11:35:01.000000000 +0100
+++ new/libfilezilla-0.5.0/lib/iputils.cpp 2016-04-15 09:52:15.000000000 +0200
@@ -1,5 +1,7 @@
#include "libfilezilla/iputils.hpp"
+#include <stddef.h>
+
namespace fz {
template<typename String, typename Char = typename String::value_type>
String do_get_ipv6_long_form(String short_address)
@@ -24,13 +26,13 @@
Char* out = buffer;
- const unsigned int len = short_address.size();
+ const size_t len = short_address.size();
if (len > 39)
return String();
// First part, before possible ::
- unsigned int i = 0;
- unsigned int grouplength = 0;
+ size_t i = 0;
+ size_t grouplength = 0;
Char const* s = short_address.c_str();
for (i = 0; i < len + 1; ++i) {
@@ -46,7 +48,7 @@
}
out += 4 - grouplength;
- for (unsigned int j = grouplength; j > 0; --j) {
+ for (size_t j = grouplength; j > 0; --j) {
*out++ = s[i - j];
}
// End of string...
@@ -89,7 +91,7 @@
Char* end_first = out;
out = &buffer[38];
- unsigned int stop = i;
+ size_t stop = i;
for (i = len - 1; i > stop; --i) {
if (out < end_first) {
// Too long
@@ -127,7 +129,7 @@
out -= 5 - grouplength;
out += 2;
- int diff = out - end_first;
+ ptrdiff_t diff = out - end_first;
if (diff < 0 || diff % 5) {
return String();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.4.0.1/lib/libfilezilla/event_loop.hpp new/libfilezilla-0.5.0/lib/libfilezilla/event_loop.hpp
--- old/libfilezilla-0.4.0.1/lib/libfilezilla/event_loop.hpp 2015-11-02 14:47:31.000000000 +0100
+++ new/libfilezilla-0.5.0/lib/libfilezilla/event_loop.hpp 2016-04-15 09:52:15.000000000 +0200
@@ -74,7 +74,7 @@
bool FZ_PRIVATE_SYMBOL process_event(scoped_lock & l);
// Process timers. Returns true if a timer has been triggered
- bool FZ_PRIVATE_SYMBOL process_timers(scoped_lock & l, monotonic_clock const& now);
+ bool FZ_PRIVATE_SYMBOL process_timers(scoped_lock & l, monotonic_clock& now);
virtual void FZ_PRIVATE_SYMBOL entry();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.4.0.1/lib/libfilezilla/version.hpp new/libfilezilla-0.5.0/lib/libfilezilla/version.hpp
--- old/libfilezilla-0.4.0.1/lib/libfilezilla/version.hpp 2016-02-22 14:42:40.000000000 +0100
+++ new/libfilezilla-0.5.0/lib/libfilezilla/version.hpp 2016-04-15 09:52:56.000000000 +0200
@@ -9,15 +9,15 @@
#include <tuple>
/// \brief Version string of the libfilezilla headers
-#define LIBFILEZILLA_VERSION "0.4.0.1"
+#define LIBFILEZILLA_VERSION "0.5.0"
#define LIBFILEZILLA_VERSION_MAJOR 0
-#define LIBFILEZILLA_VERSION_MINOR 4
+#define LIBFILEZILLA_VERSION_MINOR 5
#define LIBFILEZILLA_VERSION_MICRO 0
-#define LIBFILEZILLA_VERSION_NANO 1
+#define LIBFILEZILLA_VERSION_NANO 0
/// \brief Suffix string, e.g. "rc1"
-#define LIBFILEZILLA_VERSION_SUFFIX "0.4.0.1"
+#define LIBFILEZILLA_VERSION_SUFFIX "0.5.0"
namespace fz {
/// \brief Get version string of libfilezilla
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.4.0.1/lib/local_filesys.cpp new/libfilezilla-0.5.0/lib/local_filesys.cpp
--- old/libfilezilla-0.4.0.1/lib/local_filesys.cpp 2015-11-19 14:20:07.000000000 +0100
+++ new/libfilezilla-0.5.0/lib/local_filesys.cpp 2016-04-15 09:52:15.000000000 +0200
@@ -162,7 +162,7 @@
if (modification_time) {
*modification_time = datetime(attributes.ftLastWriteTime, datetime::milliseconds);
- if (!modification_time->empty()) {
+ if (modification_time->empty()) {
*modification_time = datetime(attributes.ftCreationTime, datetime::milliseconds);
}
}
@@ -399,7 +399,7 @@
if (modification_time) {
*modification_time = datetime(info.ftLastWriteTime, datetime::milliseconds);
- if (!modification_time->empty()) {
+ if (modification_time->empty()) {
*modification_time = datetime(info.ftCreationTime, datetime::milliseconds);
}
}
@@ -436,7 +436,7 @@
else {
if (modification_time) {
*modification_time = datetime(m_find_data.ftLastWriteTime, datetime::milliseconds);
- if (!modification_time->empty()) {
+ if (modification_time->empty()) {
*modification_time = datetime(m_find_data.ftLastWriteTime, datetime::milliseconds);
}
}
@@ -550,7 +550,7 @@
bool local_filesys::set_modification_time(native_string const& path, datetime const& t)
{
- if (!t.empty())
+ if (t.empty())
return false;
#ifdef FZ_WINDOWS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.4.0.1/lib/string.cpp new/libfilezilla-0.5.0/lib/string.cpp
--- old/libfilezilla-0.4.0.1/lib/string.cpp 2015-11-19 14:20:07.000000000 +0100
+++ new/libfilezilla-0.5.0/lib/string.cpp 2016-04-15 09:52:15.000000000 +0200
@@ -81,7 +81,8 @@
ret.resize(len);
wchar_t* out_p = &ret[0];
- std::mbsrtowcs(out_p, &in_p, len + 1, &ps);
+ in_p = in.c_str(); // Some implementations of mbsrtowcs change src even on null dst
+ len = std::mbsrtowcs(out_p, &in_p, len + 1, &ps);
}
return ret;
@@ -139,6 +140,7 @@
ret.resize(len);
char* out_p = &ret[0];
+ in_p = in.c_str(); // Some implementations of wcsrtombs change src even on null dst
std::wcsrtombs(out_p, &in_p, len + 1, &ps);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.4.0.1/lib/time.cpp new/libfilezilla-0.5.0/lib/time.cpp
--- old/libfilezilla-0.4.0.1/lib/time.cpp 2015-11-02 14:47:31.000000000 +0100
+++ new/libfilezilla-0.5.0/lib/time.cpp 2016-04-15 09:52:15.000000000 +0200
@@ -321,7 +321,7 @@
datetime& datetime::operator+=(duration const& op)
{
- if (empty()) {
+ if (!empty()) {
if (a_ < hours) {
t_ += op.get_days() * 24 * 3600 * 1000;
}
@@ -420,12 +420,11 @@
#ifdef FZ_WINDOWS
-bool datetime::set(SYSTEMTIME const& st, accuracy a, zone z)
+namespace {
+bool do_set(datetime & dt, SYSTEMTIME const& st, datetime::accuracy a, datetime::zone z)
{
- clear();
-
FILETIME ft{};
- if (a >= hours && z == local) {
+ if (a >= datetime::hours && z == datetime::local) {
SYSTEMTIME st2{};
if (!TzSpecificLocalTimeToSystemTime(0, &st, &st2)) {
return false;
@@ -437,7 +436,30 @@
else if (!SystemTimeToFileTime(&st, &ft)) {
return false;
}
- return set(ft, a);
+ return dt.set(ft, a);
+}
+}
+
+bool datetime::set(SYSTEMTIME const& st, accuracy a, zone z)
+{
+ clear();
+
+ bool success = do_set(*this, st, a, z);
+ if (!success) {
+ // Check for alternate midnight format
+ if (st.wHour == 24 && !st.wMinute && !st.wSecond && !st.wMilliseconds) {
+ SYSTEMTIME st2 = st;
+ st2.wHour = 23;
+ st2.wMinute = 59;
+ st2.wSecond = 59;
+ st2.wMilliseconds = 999;
+ success = do_set(*this, st2, a, z);
+ if (success) {
+ t_ += 1;
+ }
+ }
+ }
+ return success;
}
namespace {
@@ -503,7 +525,7 @@
bool datetime::imbue_time(int hour, int minute, int second, int millisecond)
{
- if (!empty() || a_ > days) {
+ if (empty() || a_ > days) {
return false;
}
@@ -521,7 +543,10 @@
}
if (hour < 0 || hour >= 24) {
- return false;
+ // Allow alternate midnight representation
+ if (hour != 24 || minute != 0 || second != 0 || millisecond != 0) {
+ return false;
+ }
}
if (minute < 0 || minute >= 60) {
return false;
@@ -539,7 +564,7 @@
bool datetime::empty() const
{
- return t_ != invalid;
+ return t_ == invalid;
}
void datetime::clear()
@@ -729,7 +754,7 @@
FILETIME datetime::get_filetime() const
{
FILETIME ret{};
- if (empty()) {
+ if (!empty()) {
int64_t t = t_;
t += EPOCH_OFFSET_IN_MSEC;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libfilezilla-0.4.0.1/tests/time.cpp new/libfilezilla-0.5.0/tests/time.cpp
--- old/libfilezilla-0.4.0.1/tests/time.cpp 2015-11-02 14:47:31.000000000 +0100
+++ new/libfilezilla-0.5.0/tests/time.cpp 2016-04-15 09:52:15.000000000 +0200
@@ -10,6 +10,7 @@
CPPUNIT_TEST_SUITE(TimeTest);
CPPUNIT_TEST(testNow);
CPPUNIT_TEST(testPreEpoch);
+ CPPUNIT_TEST(testAlternateMidnight);
CPPUNIT_TEST_SUITE_END();
public:
@@ -18,6 +19,8 @@
void testNow();
void testPreEpoch();
+
+ void testAlternateMidnight();
};
CPPUNIT_TEST_SUITE_REGISTRATION(TimeTest);
@@ -30,8 +33,8 @@
fz::datetime const t2 = fz::datetime::now();
- CPPUNIT_ASSERT(t1.empty());
- CPPUNIT_ASSERT(t2.empty());
+ CPPUNIT_ASSERT(!t1.empty());
+ CPPUNIT_ASSERT(!t2.empty());
CPPUNIT_ASSERT(t2 > t1);
auto const diff = t2 - t1;
@@ -48,7 +51,7 @@
fz::datetime const t1(fz::datetime::utc, 1957, 10, 4, 19, 28, 34);
- CPPUNIT_ASSERT(t1.empty());
+ CPPUNIT_ASSERT(!t1.empty());
CPPUNIT_ASSERT(t1 < now);
CPPUNIT_ASSERT(t1.get_time_t() < -1);
@@ -64,7 +67,7 @@
fz::datetime const t2(fz::datetime::utc, 1969, 12, 31, 23, 59, 59);
- CPPUNIT_ASSERT(t2.empty());
+ CPPUNIT_ASSERT(!t2.empty());
CPPUNIT_ASSERT(t2 > t1);
CPPUNIT_ASSERT(t2 < now);
@@ -76,3 +79,25 @@
CPPUNIT_ASSERT_EQUAL(59, tm2.tm_min);
CPPUNIT_ASSERT_EQUAL(59, tm2.tm_sec);
}
+
+void TimeTest::testAlternateMidnight()
+{
+ fz::datetime const t1(fz::datetime::utc, 2016, 4, 13, 0, 0, 0);
+ fz::datetime const t2(fz::datetime::utc, 2016, 4, 12, 24, 0, 0);
+ fz::datetime const t3("2016-04-13 00:00:00", fz::datetime::utc);
+ fz::datetime const t4("2016-04-12 24:00:00", fz::datetime::utc);
+
+ CPPUNIT_ASSERT(!t1.empty());
+ CPPUNIT_ASSERT(!t2.empty());
+ CPPUNIT_ASSERT(!t3.empty());
+ CPPUNIT_ASSERT(!t4.empty());
+
+ CPPUNIT_ASSERT(t1 == t2);
+ CPPUNIT_ASSERT(t1 == t3);
+ CPPUNIT_ASSERT(t1 == t4);
+
+ fz::datetime imbue("2016-04-12", fz::datetime::utc);
+ CPPUNIT_ASSERT(imbue.imbue_time(24, 0, 0));
+ CPPUNIT_ASSERT(t1 == imbue);
+
+}
1
0
Hello community,
here is the log from the commit of package xf86-video-openchrome for openSUSE:Factory checked in at 2016-04-28 16:57:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-video-openchrome (Old)
and /work/SRC/openSUSE:Factory/.xf86-video-openchrome.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-video-openchrome"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-video-openchrome/xf86-video-openchrome.changes 2015-06-08 08:31:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xf86-video-openchrome.new/xf86-video-openchrome.changes 2016-04-28 17:02:33.000000000 +0200
@@ -1,0 +2,9 @@
+Wed Apr 27 13:11:13 UTC 2016 - sndirsch(a)suse.com
+
+- updated to release 0.4.0
+- obsoletes patches
+ * U_Add-pciid-for-ECS-VX900-I-motherboard.patch
+ * u_xf86.h-cannot-be-included-without-first-including-xo.patch
+ * xf86-video-openchrome-abuild.patch
+
+-------------------------------------------------------------------
Old:
----
U_Add-pciid-for-ECS-VX900-I-motherboard.patch
u_xf86.h-cannot-be-included-without-first-including-xo.patch
xf86-video-openchrome-0.3.2.tar.bz2
xf86-video-openchrome-abuild.patch
New:
----
xf86-video-openchrome-0.4.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xf86-video-openchrome.spec ++++++
--- /var/tmp/diff_new_pack.shGf9s/_old 2016-04-28 17:02:36.000000000 +0200
+++ /var/tmp/diff_new_pack.shGf9s/_new 2016-04-28 17:02:36.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package xf86-video-openchrome
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 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,16 +17,13 @@
Name: xf86-video-openchrome
-Version: 0.3.2
+Version: 0.4.0
Release: 0
Summary: Openchrome driver (VIA GPUs) for the Xorg X server
License: MIT
Group: System/X11/Servers/XF86_4
Url: http://xorg.freedesktop.org/
Source0: http://xorg.freedesktop.org/releases/individual/driver/%{name}-%{version}.t…
-Patch0: xf86-video-openchrome-abuild.patch
-Patch1: u_xf86.h-cannot-be-included-without-first-including-xo.patch
-Patch2: U_Add-pciid-for-ECS-VX900-I-motherboard.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(x11)
@@ -43,9 +40,6 @@
%prep
%setup -q
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
%build
%configure
++++++ xf86-video-openchrome-0.3.2.tar.bz2 -> xf86-video-openchrome-0.4.0.tar.bz2 ++++++
++++ 32632 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package qt5ct for openSUSE:Factory checked in at 2016-04-28 16:57:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qt5ct (Old)
and /work/SRC/openSUSE:Factory/.qt5ct.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt5ct"
Changes:
--------
--- /work/SRC/openSUSE:Factory/qt5ct/qt5ct.changes 2016-04-07 13:27:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.qt5ct.new/qt5ct.changes 2016-04-28 17:02:31.000000000 +0200
@@ -1,0 +2,8 @@
+Wed Apr 27 08:23:43 UTC 2016 - sor.alexei(a)meowr.ru
+
+- Update to version 0.23:
+ * Add support for single line comments in the style sheets.
+ * Fix issue with overriding application palette.
+ * Update Bulgarian translation.
+
+-------------------------------------------------------------------
Old:
----
qt5ct-0.22.tar.bz2
New:
----
qt5ct-0.23.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qt5ct.spec ++++++
--- /var/tmp/diff_new_pack.fEJeaD/_old 2016-04-28 17:02:33.000000000 +0200
+++ /var/tmp/diff_new_pack.fEJeaD/_new 2016-04-28 17:02:33.000000000 +0200
@@ -17,7 +17,7 @@
Name: qt5ct
-Version: 0.22
+Version: 0.23
Release: 0
Summary: Qt5 Configuration Tool
License: BSD-2-Clause
@@ -31,8 +31,8 @@
BuildRequires: pkgconfig(Qt5Svg) >= 5.4.0
BuildRequires: pkgconfig(Qt5Widgets) >= 5.4.0
# libqt5-qtct was last used in openSUSE Leap 42.1.
-Provides: libqt5-qtct = %{version}-%{release}
-Obsoletes: libqt5-qtct < %{version}-%{release}
+Provides: libqt5-qtct = %{version}
+Obsoletes: libqt5-qtct < %{version}
%description
This applications allows users to configure Qt5 settings (theme,
++++++ qt5ct-0.22.tar.bz2 -> qt5ct-0.23.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.22/COPYING new/qt5ct-0.23/COPYING
--- old/qt5ct-0.22/COPYING 2016-03-06 10:42:03.000000000 +0100
+++ new/qt5ct-0.23/COPYING 2016-04-26 09:00:46.000000000 +0200
@@ -1,4 +1,4 @@
-Copyright (c) 2014-2015, Ilya Kotov <forkotov02(a)hotmail.ru>
+Copyright (c) 2014-2016, Ilya Kotov <forkotov02(a)hotmail.ru>
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.22/ChangeLog new/qt5ct-0.23/ChangeLog
--- old/qt5ct-0.22/ChangeLog 2016-03-06 10:42:03.000000000 +0100
+++ new/qt5ct-0.23/ChangeLog 2016-04-26 09:00:46.000000000 +0200
@@ -132,7 +132,12 @@
Version 0.22
* disabled html mode in the qss editor
-* fixed issue with overriding stylesheets
+* fixed issue with overriding style sheets
* added Hebrew translation (Genghis Khan)
* updated Italian translation (Luigi Baldoni)
* updated documentation
+
+Version 0.23
+* added support for single line comments in the style sheets
+* fixed issue with overriding application palette
+* updated Bulgarian translation (Kiril Kirilov)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.22/ChangeLog.svn new/qt5ct-0.23/ChangeLog.svn
--- old/qt5ct-0.22/ChangeLog.svn 2016-03-06 10:42:03.000000000 +0100
+++ new/qt5ct-0.23/ChangeLog.svn 2016-04-26 09:00:46.000000000 +0200
@@ -1,4 +1,35 @@
------------------------------------------------------------------------
+r288 | trialuser02 | 2016-04-26 09:51:10 +0300 (Вт., 26 апр. 2016) | 1 line
+
+updated changelog
+------------------------------------------------------------------------
+r287 | trialuser02 | 2016-04-26 09:46:17 +0300 (Вт., 26 апр. 2016) | 1 line
+
+updated copyright
+------------------------------------------------------------------------
+r286 | trialuser02 | 2016-04-26 09:44:03 +0300 (Вт., 26 апр. 2016) | 1 line
+
+qss: added support for single line comments
+------------------------------------------------------------------------
+r285 | trialuser02 | 2016-04-24 14:47:23 +0300 (Вс., 24 апр. 2016) | 2 lines
+
+updated .ts files, fixed script
+
+------------------------------------------------------------------------
+r284 | trialuser02 | 2016-04-24 14:46:27 +0300 (Вс., 24 апр. 2016) | 2 lines
+
+updated Bulgarian translation (Kiril Kirilov)
+
+------------------------------------------------------------------------
+r282 | trialuser02 | 2016-04-24 14:37:14 +0300 (Вс., 24 апр. 2016) | 2 lines
+
+do not override application palette (#18)
+
+------------------------------------------------------------------------
+r281 | trialuser02 | 2016-03-06 13:58:51 +0300 (Вс., 06 марта 2016) | 1 line
+
+version bump
+------------------------------------------------------------------------
r279 | trialuser02 | 2016-03-06 12:40:44 +0300 (Вс., 06 марта 2016) | 1 line
updated changelog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.22/src/qt5ct/desktop-translations/qt5ct_bg.desktop.in new/qt5ct-0.23/src/qt5ct/desktop-translations/qt5ct_bg.desktop.in
--- old/qt5ct-0.22/src/qt5ct/desktop-translations/qt5ct_bg.desktop.in 2016-03-06 10:42:02.000000000 +0100
+++ new/qt5ct-0.23/src/qt5ct/desktop-translations/qt5ct_bg.desktop.in 2016-04-26 09:00:44.000000000 +0200
@@ -16,6 +16,7 @@
+
Exec=qt5ct
Icon=preferences-desktop-theme
Terminal=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.22/src/qt5ct/qt5ct.h new/qt5ct-0.23/src/qt5ct/qt5ct.h
--- old/qt5ct-0.22/src/qt5ct/qt5ct.h 2016-03-06 10:42:02.000000000 +0100
+++ new/qt5ct-0.23/src/qt5ct/qt5ct.h 2016-04-26 09:00:44.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2015, Ilya Kotov <forkotov02(a)hotmail.ru>
+ * Copyright (c) 2014-2016, Ilya Kotov <forkotov02(a)hotmail.ru>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -30,7 +30,7 @@
#define QT5CT_H
#define QT5CT_VERSION_MAJOR 0
-#define QT5CT_VERSION_MINOR 22
+#define QT5CT_VERSION_MINOR 23
#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.22/src/qt5ct/translations/qt5ct_bg.ts new/qt5ct-0.23/src/qt5ct/translations/qt5ct_bg.ts
--- old/qt5ct-0.22/src/qt5ct/translations/qt5ct_bg.ts 2016-03-06 10:42:02.000000000 +0100
+++ new/qt5ct-0.23/src/qt5ct/translations/qt5ct_bg.ts 2016-04-26 09:00:44.000000000 +0200
@@ -340,7 +340,7 @@
<message>
<location filename="../interfacepage.ui" line="209"/>
<source>Activate item on single-click</source>
- <translation type="unfinished"></translation>
+ <translation>Активиране на елемент с еднократно кликване</translation>
</message>
</context>
<context>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.22/src/qt5ct/translations/qt5ct_he.ts new/qt5ct-0.23/src/qt5ct/translations/qt5ct_he.ts
--- old/qt5ct-0.22/src/qt5ct/translations/qt5ct_he.ts 2016-03-06 10:42:02.000000000 +0100
+++ new/qt5ct-0.23/src/qt5ct/translations/qt5ct_he.ts 2016-04-26 09:00:44.000000000 +0200
@@ -1,4 +1,6 @@
-<?xml version="1.0" ?><!DOCTYPE TS><TS language="he" version="2.1">
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.1" language="he">
<context>
<name>AppearancePage</name>
<message>
@@ -44,12 +46,12 @@
<message>
<location filename="../appearancepage.ui" line="139"/>
<source>Color scheme:</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../appearancepage.ui" line="162"/>
<source>...</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="64"/>
@@ -81,7 +83,7 @@
<location filename="../appearancepage.cpp" line="189"/>
<location filename="../appearancepage.cpp" line="224"/>
<source>Enter Color Scheme Name</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="116"/>
@@ -102,7 +104,7 @@
<location filename="../appearancepage.cpp" line="200"/>
<location filename="../appearancepage.cpp" line="234"/>
<source>The color scheme "%1" already exists</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="143"/>
@@ -116,7 +118,7 @@
<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 type="unfinished"></translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="170"/>
@@ -126,7 +128,7 @@
<message>
<location filename="../appearancepage.cpp" line="171"/>
<source>Are you sure you want to remove color scheme "%1"?</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../appearancepage.cpp" line="191"/>
@@ -145,12 +147,12 @@
<message>
<location filename="../fontconfigdialog.ui" line="29"/>
<source>Disable automatic hinting for bold fonts</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../fontconfigdialog.ui" line="36"/>
<source>LCD filter:</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../fontconfigdialog.ui" line="43"/>
@@ -175,7 +177,7 @@
<message>
<location filename="../fontconfigdialog.ui" line="83"/>
<source>Subpixel geometry:</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../fontconfigdialog.ui" line="90"/>
@@ -222,7 +224,7 @@
<location filename="../fontspage.ui" line="80"/>
<location filename="../fontspage.ui" line="87"/>
<source>...</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../fontspage.ui" line="57"/>
@@ -265,12 +267,12 @@
<message>
<location filename="../interfacepage.ui" line="42"/>
<source>Cursor flash time:</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../interfacepage.ui" line="49"/>
<source>ComboBox effect:</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../interfacepage.ui" line="56"/>
@@ -280,13 +282,13 @@
<message>
<location filename="../interfacepage.ui" line="63"/>
<source>ToolBox effect:</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../interfacepage.ui" line="70"/>
<location filename="../interfacepage.ui" line="80"/>
<source> ms</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../interfacepage.ui" line="94"/>
@@ -323,7 +325,7 @@
<message>
<location filename="../interfacepage.ui" line="182"/>
<source>Dialog buttons layout:</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../interfacepage.ui" line="192"/>
@@ -338,7 +340,7 @@
<message>
<location filename="../interfacepage.ui" line="209"/>
<source>Activate item on single-click</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -361,7 +363,7 @@
<message>
<location filename="../mainwindow.cpp" line="47"/>
<source>Icon Theme</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="48"/>
@@ -371,7 +373,7 @@
<message>
<location filename="../mainwindow.cpp" line="50"/>
<source>Style Sheets</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.cpp" line="58"/>
@@ -479,17 +481,17 @@
<message>
<location filename="../paletteeditdialog.cpp" line="93"/>
<source>Highlight</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../paletteeditdialog.cpp" line="93"/>
<source>Highlighted text</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../paletteeditdialog.cpp" line="93"/>
<source>Visited link</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../paletteeditdialog.cpp" line="94"/>
@@ -560,12 +562,12 @@
<message>
<location filename="../qsseditordialog.cpp" line="45"/>
<source>%1 - Style Sheet Editor</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../qsseditordialog.ui" line="14"/>
<source>Style Sheet Editor</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
</context>
<context>
@@ -601,7 +603,7 @@
<message>
<location filename="../qsspage.cpp" line="97"/>
<source>Enter Style Sheet Name</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../qsspage.cpp" line="108"/>
@@ -623,22 +625,22 @@
<message>
<location filename="../qsspage.cpp" line="143"/>
<source>Are you sure you want to remove style sheet "%1"?</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../qsspage.cpp" line="193"/>
<source>Rename Style Sheet</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../qsspage.cpp" line="193"/>
<source>Style sheet name:</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../qsspage.cpp" line="200"/>
<source>The style sheet "%1" already exists</source>
- <translation type="unfinished"/>
+ <translation type="unfinished"></translation>
</message>
<message>
<location filename="../qsspage.cpp" line="211"/>
@@ -646,4 +648,4 @@
<translation>לא מסוגל לשנות שם קובץ</translation>
</message>
</context>
-</TS>
\ No newline at end of file
+</TS>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.22/src/qt5ct-qtplugin/qt5ctplatformtheme.cpp new/qt5ct-0.23/src/qt5ct-qtplugin/qt5ctplatformtheme.cpp
--- old/qt5ct-0.22/src/qt5ct-qtplugin/qt5ctplatformtheme.cpp 2016-03-06 10:42:02.000000000 +0100
+++ new/qt5ct-0.23/src/qt5ct-qtplugin/qt5ctplatformtheme.cpp 2016-04-26 09:00:44.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2015, Ilya Kotov <forkotov02(a)hotmail.ru>
+ * Copyright (c) 2014-2016, Ilya Kotov <forkotov02(a)hotmail.ru>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -35,6 +35,7 @@
#include <QPalette>
#include <QTimer>
#include <QIcon>
+#include <QRegExp>
#ifdef QT_WIDGETS_LIB
#include <QStyle>
#include <QApplication>
@@ -52,6 +53,8 @@
Qt5CTPlatformTheme::Qt5CTPlatformTheme()
{
m_customPalette = 0;
+ m_update = false;
+ m_usePalette = true;
readSettings();
QMetaObject::invokeMethod(this, "applySettings", Qt::QueuedConnection);
#ifdef QT_WIDGETS_LIB
@@ -72,7 +75,7 @@
const QPalette *Qt5CTPlatformTheme::palette(QPlatformTheme::Palette type) const
{
- if(m_customPalette)
+ if(m_customPalette && m_usePalette)
return m_customPalette;
return QPlatformTheme::palette(type);
}
@@ -109,6 +112,17 @@
void Qt5CTPlatformTheme::applySettings()
{
+ if(!m_update)
+ {
+ //do not override application palette
+ if(QCoreApplication::testAttribute(Qt::AA_SetPalette))
+ {
+ m_usePalette = false;
+ qDebug("qt5ct: palette support is disabled");
+ }
+ m_update = true;
+ }
+
#ifdef QT_WIDGETS_LIB
if(hasWidgets())
{
@@ -116,11 +130,16 @@
QProxyStyle *proxyStyle = qobject_cast<QProxyStyle *>(qApp->style());
proxyStyle ? proxyStyle->setBaseStyle(0) : qApp->setStyle(new Qt5CTProxyStyle(m_style));
qApp->setFont(m_generalFont);
- if(m_customPalette)
- qApp->setPalette(*m_customPalette);
- else
- qApp->setPalette(qApp->style()->standardPalette());
+ if(m_usePalette)
+ {
+ if(m_customPalette)
+ qApp->setPalette(*m_customPalette);
+ else
+ qApp->setPalette(qApp->style()->standardPalette());
+ }
+
+ //do not override application style
if(m_prevStyleSheet == qApp->styleSheet())
qApp->setStyleSheet(m_userStyleSheet);
else
@@ -130,7 +149,7 @@
#endif
QGuiApplication::setFont(m_generalFont); //apply font
QIcon::setThemeName(m_iconTheme); //apply icons
- if(m_customPalette)
+ if(m_customPalette && m_usePalette)
QGuiApplication::setPalette(*m_customPalette); //apply palette
#ifdef QT_WIDGETS_LIB
@@ -249,6 +268,9 @@
file.open(QIODevice::ReadOnly);
content.append(file.readAll());
}
+ QRegExp regExp("//.*(\\n|$)");
+ regExp.setMinimal(true);
+ content.remove(regExp);
return content;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.22/src/qt5ct-qtplugin/qt5ctplatformtheme.h new/qt5ct-0.23/src/qt5ct-qtplugin/qt5ctplatformtheme.h
--- old/qt5ct-0.22/src/qt5ct-qtplugin/qt5ctplatformtheme.h 2016-03-06 10:42:02.000000000 +0100
+++ new/qt5ct-0.23/src/qt5ct-qtplugin/qt5ctplatformtheme.h 2016-04-26 09:00:44.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2015, Ilya Kotov <forkotov02(a)hotmail.ru>
+ * Copyright (c) 2014-2016, Ilya Kotov <forkotov02(a)hotmail.ru>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -83,6 +83,8 @@
int m_cursorFlashTime;
int m_uiEffects;
int m_buttonBoxLayout;
+ bool m_update;
+ bool m_usePalette;
};
#endif // QT5CTPLATFORMTHEME_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qt5ct-0.22/utils/update_ts.sh new/qt5ct-0.23/utils/update_ts.sh
--- old/qt5ct-0.22/utils/update_ts.sh 2016-03-06 10:42:03.000000000 +0100
+++ new/qt5ct-0.23/utils/update_ts.sh 2016-04-26 09:00:46.000000000 +0200
@@ -24,7 +24,7 @@
qrc_file="${tr_dir}/translations.qrc"
- /opt/qt55/bin/lupdate -no-obsolete -silent -extensions "cpp,ui" ${tr_dir}/../ -ts ${ts_files}
+ /opt/qt56/bin/lupdate -no-obsolete -silent -extensions "cpp,ui" ${tr_dir}/../ -ts ${ts_files}
1
0
Hello community,
here is the log from the commit of package cinnamon-translations for openSUSE:Factory checked in at 2016-04-28 16:57:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cinnamon-translations (Old)
and /work/SRC/openSUSE:Factory/.cinnamon-translations.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cinnamon-translations"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cinnamon-translations/cinnamon-translations.changes 2016-01-22 01:06:52.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.cinnamon-translations.new/cinnamon-translations.changes 2016-04-28 17:02:30.000000000 +0200
@@ -1,0 +2,10 @@
+Wed Apr 27 08:23:43 UTC 2016 - sor.alexei(a)meowr.ru
+
+- Update to version 3.0.0:
+ * Mocheck: Specify GTK+ version with GI.
+ * Mocheck: Delete trailing spaces.
+ * Mocheck: Fix more false positives.
+ * Filter Xapps PO files in cleanup script.
+ * Update translations.
+
+-------------------------------------------------------------------
Old:
----
cinnamon-translations-2.8.3.tar.gz
New:
----
cinnamon-translations-3.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cinnamon-translations.spec ++++++
--- /var/tmp/diff_new_pack.AEMoGu/_old 2016-04-28 17:02:31.000000000 +0200
+++ /var/tmp/diff_new_pack.AEMoGu/_new 2016-04-28 17:02:31.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package cinnamon-translations
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 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: cinnamon-translations
-Version: 2.8.3
+Version: 3.0.0
Release: 0
Summary: Translation files for the Cinnamon desktop
License: GPL-2.0+
@@ -46,10 +46,10 @@
cp -a .%{_datadir}/locale/$lang/ %{buildroot}%{_datadir}/locale/
fi
done
-%find_lang cinnamon-bluetooth %{name}.lang
+%find_lang cinnamon %{name}.lang
%find_lang cinnamon-control-center %{name}.lang
%find_lang cinnamon-screensaver %{name}.lang
-%find_lang cinnamon %{name}.lang
+%find_lang cinnamon-bluetooth %{name}.lang
%find_lang nemo %{name}.lang
%files -f %{name}.lang
++++++ cinnamon-translations-2.8.3.tar.gz -> cinnamon-translations-3.0.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/cinnamon-translations/cinnamon-translations-2.8.3.tar.gz /work/SRC/openSUSE:Factory/.cinnamon-translations.new/cinnamon-translations-3.0.0.tar.gz differ: char 13, line 1
1
0
Hello community,
here is the log from the commit of package armadillo for openSUSE:Factory checked in at 2016-04-28 16:57:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/armadillo (Old)
and /work/SRC/openSUSE:Factory/.armadillo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "armadillo"
Changes:
--------
--- /work/SRC/openSUSE:Factory/armadillo/armadillo.changes 2016-04-22 16:25:57.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.armadillo.new/armadillo.changes 2016-04-28 17:02:26.000000000 +0200
@@ -1,0 +2,6 @@
+Wed Apr 27 04:43:12 UTC 2016 - badshah400(a)gmail.com
+
+- Update to version 6.700.5:
+ + Undocumented bug fixes.
+
+-------------------------------------------------------------------
Old:
----
armadillo-6.700.4.tar.gz
New:
----
armadillo-6.700.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ armadillo.spec ++++++
--- /var/tmp/diff_new_pack.xiEE0u/_old 2016-04-28 17:02:28.000000000 +0200
+++ /var/tmp/diff_new_pack.xiEE0u/_new 2016-04-28 17:02:28.000000000 +0200
@@ -19,7 +19,7 @@
%define soname libarmadillo6
Name: armadillo
-Version: 6.700.4
+Version: 6.700.5
Release: 0
Summary: Fast C++ matrix library with interfaces to LAPACK and ATLAS
License: MPL-2.0
++++++ armadillo-6.700.4.tar.gz -> armadillo-6.700.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.4/CMakeLists.txt new/armadillo-6.700.5/CMakeLists.txt
--- old/armadillo-6.700.4/CMakeLists.txt 2016-04-11 04:46:29.000000000 +0200
+++ new/armadillo-6.700.5/CMakeLists.txt 2016-04-24 04:32:22.000000000 +0200
@@ -16,7 +16,7 @@
set(ARMA_MAJOR 6)
set(ARMA_MINOR 700)
-set(ARMA_PATCH 4)
+set(ARMA_PATCH 5)
set(ARMADILLO_VERSION ${ARMA_MAJOR}.${ARMA_MINOR}.${ARMA_PATCH})
message(STATUS "Configuring Armadillo ${ARMADILLO_VERSION}")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.4/README.txt new/armadillo-6.700.5/README.txt
--- old/armadillo-6.700.4/README.txt 2016-04-12 05:35:39.000000000 +0200
+++ new/armadillo-6.700.5/README.txt 2016-04-24 04:32:22.000000000 +0200
@@ -231,11 +231,12 @@
If you want to use Armadillo without installation (not recommended),
compile along these lines:
- g++ example1.cpp -o example1 -O2 -I /home/blah/armadillo-6.700.4/include -DARMA_DONT_USE_WRAPPER -lblas -llapack
+ g++ example1.cpp -o example1 -O2 -I /home/blah/armadillo-6.700.5/include -DARMA_DONT_USE_WRAPPER -lblas -llapack
The above command line assumes that you have unpacked the armadillo archive into /home/blah/
You will need to adjust this for later versions of Armadillo,
and/or if you have unpacked the armadillo archive into a different directory.
+
Replace -lblas with -lopenblas if you have OpenBLAS.
On Mac OS X, replace -lblas -llapack with -framework Accelerate
@@ -326,12 +327,22 @@
Armadillo can use OpenBLAS, or Intel Math Kernel Library (MKL),
or the AMD Core Math Library (ACML) as high-speed replacements
-for BLAS and LAPACK. Generally this just involves linking with
-the replacement libraries instead of BLAS and LAPACK.
+for BLAS and LAPACK. In essence this involves linking with the
+replacement libraries instead of BLAS and LAPACK.
+
+You may need to make minor modifications to include/armadillo_bits/config.hpp
+to make sure Armadillo uses the same integer sizes and style of function names
+as used by MKL or ACML. Specifically, you may need comment or uncomment the
+following defines:
+
+ARMA_USE_WRAPPER
+ARMA_BLAS_CAPITALS
+ARMA_BLAS_UNDERSCORE
+ARMA_BLAS_LONG
+ARMA_BLAS_LONG_LONG
-You may need to make minor modifications to "include/armadillo_bits/config.hpp"
-in order to make sure Armadillo uses the same style of function names
-as used by MKL or ACML. For example, the function names might be in capitals.
+See the associated descriptions in include/armadillo_bits/config.hpp
+for more information about the above defines.
On Linux systems, MKL and ACML might be installed in a non-standard
location, such as /opt, which can cause problems during linking.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.4/include/armadillo_bits/arma_version.hpp new/armadillo-6.700.5/include/armadillo_bits/arma_version.hpp
--- old/armadillo-6.700.4/include/armadillo_bits/arma_version.hpp 2016-04-11 04:46:29.000000000 +0200
+++ new/armadillo-6.700.5/include/armadillo_bits/arma_version.hpp 2016-04-24 04:32:22.000000000 +0200
@@ -15,7 +15,7 @@
#define ARMA_VERSION_MAJOR 6
#define ARMA_VERSION_MINOR 700
-#define ARMA_VERSION_PATCH 4
+#define ARMA_VERSION_PATCH 5
#define ARMA_VERSION_NAME "Catabolic Amalgamator Deluxe"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.4/include/armadillo_bits/compiler_setup.hpp new/armadillo-6.700.5/include/armadillo_bits/compiler_setup.hpp
--- old/armadillo-6.700.4/include/armadillo_bits/compiler_setup.hpp 2016-03-22 04:53:42.000000000 +0100
+++ new/armadillo-6.700.5/include/armadillo_bits/compiler_setup.hpp 2016-04-24 04:27:30.000000000 +0200
@@ -11,8 +11,6 @@
#undef arma_hot
#undef arma_cold
-#undef arma_pure
-#undef arma_const
#undef arma_aligned
#undef arma_align_mem
#undef arma_warn_unused
@@ -24,8 +22,6 @@
#define arma_hot
#define arma_cold
-#define arma_pure
-#define arma_const
#define arma_aligned
#define arma_align_mem
#define arma_warn_unused
@@ -35,6 +31,11 @@
#define arma_noinline
#define arma_ignore(variable) ((void)(variable))
+// arma_pure and arma_const kept only for compatibility with old code
+#undef arma_pure
+#define arma_pure
+#undef arma_const
+#define arma_const
#undef arma_fortran_noprefix
#undef arma_fortran_prefix
@@ -181,8 +182,6 @@
#define ARMA_GOOD_COMPILER
- #undef arma_pure
- #undef arma_const
#undef arma_aligned
#undef arma_align_mem
#undef arma_warn_unused
@@ -191,8 +190,6 @@
#undef arma_inline
#undef arma_noinline
- #define arma_pure __attribute__((__pure__))
- #define arma_const __attribute__((__const__))
#define arma_aligned __attribute__((__aligned__))
#define arma_align_mem __attribute__((__aligned__(16)))
#define arma_warn_unused __attribute__((__warn_unused_result__))
@@ -266,16 +263,6 @@
#define __has_attribute(x) 0
#endif
- #if __has_attribute(__pure__)
- #undef arma_pure
- #define arma_pure __attribute__((__pure__))
- #endif
-
- #if __has_attribute(__const__)
- #undef arma_const
- #define arma_const __attribute__((__const__))
- #endif
-
#if __has_attribute(__aligned__)
#undef arma_aligned
#undef arma_align_mem
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.4/include/armadillo_bits/fn_trunc_exp.hpp new/armadillo-6.700.5/include/armadillo_bits/fn_trunc_exp.hpp
--- old/armadillo-6.700.4/include/armadillo_bits/fn_trunc_exp.hpp 2015-11-10 05:42:43.000000000 +0100
+++ new/armadillo-6.700.5/include/armadillo_bits/fn_trunc_exp.hpp 2016-04-24 04:11:17.000000000 +0200
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2012 National ICT Australia (NICTA)
+// Copyright (C) 2008-2016 National ICT Australia (NICTA)
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -20,7 +20,7 @@
typename arma_real_only<eT>::result
trunc_exp(const eT x)
{
- if(std::numeric_limits<eT>::is_iec559 && (x >= Math<eT>::log_max() ))
+ if(std::numeric_limits<eT>::is_iec559 && (x >= Datum<eT>::log_max ))
{
return std::numeric_limits<eT>::max();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.4/include/armadillo_bits/fn_trunc_log.hpp new/armadillo-6.700.5/include/armadillo_bits/fn_trunc_log.hpp
--- old/armadillo-6.700.4/include/armadillo_bits/fn_trunc_log.hpp 2015-11-10 05:42:43.000000000 +0100
+++ new/armadillo-6.700.5/include/armadillo_bits/fn_trunc_log.hpp 2016-04-24 04:11:17.000000000 +0200
@@ -1,4 +1,4 @@
-// Copyright (C) 2008-2012 National ICT Australia (NICTA)
+// Copyright (C) 2008-2016 National ICT Australia (NICTA)
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -23,11 +23,11 @@
{
if(x == std::numeric_limits<eT>::infinity())
{
- return Math<eT>::log_max();
+ return Datum<eT>::log_max;
}
else
{
- return (x <= eT(0)) ? Math<eT>::log_min() : std::log(x);
+ return (x <= eT(0)) ? Datum<eT>::log_min : std::log(x);
}
}
else
1
0
Hello community,
here is the log from the commit of package pymol for openSUSE:Factory checked in at 2016-04-28 16:57:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pymol (Old)
and /work/SRC/openSUSE:Factory/.pymol.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pymol"
Changes:
--------
--- /work/SRC/openSUSE:Factory/pymol/pymol.changes 2016-03-29 14:50:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.pymol.new/pymol.changes 2016-04-28 17:02:23.000000000 +0200
@@ -1,0 +2,14 @@
+Tue Apr 19 17:41:31 UTC 2016 - dhall(a)wustl.edu
+
+- update to svnrev 4155
+ * experimental setting "pse_binary_dump"
+ * get_sasa_relative (command ported from Incentive PyMOL)
+ * Color menu uses util.color_deep (ported from Incentive PyMOL)
+ * C > by rep (ported from Incentive PyMOL)
+ * fix crash when saving mesh PSE without map
+ * fix isosurface invalidation when setting surface_negative_visible
+ * new setting: collada_background_box (by Jared Sampson)
+ * improve unicode filename loading
+ * fix "unset" of non-numeric settings
+
+-------------------------------------------------------------------
Old:
----
pymol-1.8.1.2.svn4153.tar.xz
New:
----
pymol-1.8.1.2.svn4155.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pymol.spec ++++++
--- /var/tmp/diff_new_pack.piymRh/_old 2016-04-28 17:02:25.000000000 +0200
+++ /var/tmp/diff_new_pack.piymRh/_new 2016-04-28 17:02:25.000000000 +0200
@@ -17,7 +17,7 @@
Name: pymol
-Version: 1.8.1.2.svn4153
+Version: 1.8.1.2.svn4155
Release: 0
Url: http://pymol.org
Summary: A Molecular Viewer
++++++ pymol-1.8.1.2.svn4153.tar.xz -> pymol-1.8.1.2.svn4155.tar.xz ++++++
/work/SRC/openSUSE:Factory/pymol/pymol-1.8.1.2.svn4153.tar.xz /work/SRC/openSUSE:Factory/.pymol.new/pymol-1.8.1.2.svn4155.tar.xz differ: char 26, line 1
1
0
Hello community,
here is the log from the commit of package acpid for openSUSE:Factory checked in at 2016-04-28 16:57:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/acpid (Old)
and /work/SRC/openSUSE:Factory/.acpid.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "acpid"
Changes:
--------
--- /work/SRC/openSUSE:Factory/acpid/acpid.changes 2016-02-24 14:25:29.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.acpid.new/acpid.changes 2016-04-28 17:02:20.000000000 +0200
@@ -1,0 +2,9 @@
+Mon Apr 25 11:59:33 UTC 2016 - p.drouand(a)gmail.com
+
+- Update to version 2.0.27
+ * Fix out of tree build (sock.c ud_socket.c)
+ - kacpimon: fix out of tree build (kacpimon/Makefile.am)
+ - input_layer: Allow repeated reporting of VOLUME keys (input_layer.c)
+- Remove some extra tags
+
+-------------------------------------------------------------------
Old:
----
acpid-2.0.26.tar.xz
New:
----
acpid-2.0.27.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ acpid.spec ++++++
--- /var/tmp/diff_new_pack.NQ5sVo/_old 2016-04-28 17:02:22.000000000 +0200
+++ /var/tmp/diff_new_pack.NQ5sVo/_new 2016-04-28 17:02:22.000000000 +0200
@@ -17,7 +17,7 @@
Name: acpid
-Version: 2.0.26
+Version: 2.0.27
Release: 0
Summary: Executes Actions at ACPI Events
License: GPL-2.0+
@@ -35,8 +35,6 @@
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch1: acpid-makefile.patch
BuildRequires: systemd-rpm-macros
-BuildRequires: xz
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 x86_64 ia64
%systemd_requires
++++++ acpid-2.0.26.tar.xz -> acpid-2.0.27.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpid-2.0.26/Changelog new/acpid-2.0.27/Changelog
--- old/acpid-2.0.26/Changelog 2016-01-15 20:37:07.000000000 +0100
+++ new/acpid-2.0.27/Changelog 2016-03-16 00:22:38.000000000 +0100
@@ -1,3 +1,13 @@
+* 2.0.27 2016-03-15 Ted Felix <ted(a)tedfelix.com>
+ - 2.0.27 release
+ (configure.ac) (Ted Felix)
+ - Fix out of tree build
+ (sock.c ud_socket.c) (Maxin B. John <maxin.john(a)intel.com>)
+ - kacpimon: fix out of tree build
+ (kacpimon/Makefile.am) (Maxin B. John <maxin.john(a)intel.com>)
+ - input_layer: Allow repeated reporting of VOLUME keys
+ (input_layer.c) (Torsten Hilbrich <torsten.hilbrich(a)secunet.com>)
+
* 2.0.26 2016-01-15 Ted Felix <ted(a)tedfelix.com>
- 2.0.26 release
(configure.ac) (Ted Felix)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpid-2.0.26/config.h new/acpid-2.0.27/config.h
--- old/acpid-2.0.26/config.h 2016-01-15 20:39:29.000000000 +0100
+++ new/acpid-2.0.27/config.h 2016-03-16 00:24:24.000000000 +0100
@@ -136,7 +136,7 @@
#define PACKAGE_NAME "acpid"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "acpid 2.0.26"
+#define PACKAGE_STRING "acpid 2.0.27"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "acpid"
@@ -145,7 +145,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "2.0.26"
+#define PACKAGE_VERSION "2.0.27"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
@@ -173,7 +173,7 @@
/* Version number of package */
-#define VERSION "2.0.26"
+#define VERSION "2.0.27"
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpid-2.0.26/configure new/acpid-2.0.27/configure
--- old/acpid-2.0.26/configure 2016-01-15 20:39:19.000000000 +0100
+++ new/acpid-2.0.27/configure 2016-03-16 00:24:08.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for acpid 2.0.26.
+# Generated by GNU Autoconf 2.69 for acpid 2.0.27.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,8 +577,8 @@
# Identity of this package.
PACKAGE_NAME='acpid'
PACKAGE_TARNAME='acpid'
-PACKAGE_VERSION='2.0.26'
-PACKAGE_STRING='acpid 2.0.26'
+PACKAGE_VERSION='2.0.27'
+PACKAGE_STRING='acpid 2.0.27'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1276,7 +1276,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 acpid 2.0.26 to adapt to many kinds of systems.
+\`configure' configures acpid 2.0.27 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1346,7 +1346,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of acpid 2.0.26:";;
+ short | recursive ) echo "Configuration of acpid 2.0.27:";;
esac
cat <<\_ACEOF
@@ -1441,7 +1441,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-acpid configure 2.0.26
+acpid configure 2.0.27
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1860,7 +1860,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by acpid $as_me 2.0.26, which was
+It was created by acpid $as_me 2.0.27, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2726,7 +2726,7 @@
# Define the identity of the package.
PACKAGE='acpid'
- VERSION='2.0.26'
+ VERSION='2.0.27'
cat >>confdefs.h <<_ACEOF
@@ -6181,7 +6181,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by acpid $as_me 2.0.26, which was
+This file was extended by acpid $as_me 2.0.27, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -6247,7 +6247,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-acpid config.status 2.0.26
+acpid config.status 2.0.27
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/acpid-2.0.26/configure.ac new/acpid-2.0.27/configure.ac
--- old/acpid-2.0.26/configure.ac 2016-01-13 16:31:47.000000000 +0100
+++ new/acpid-2.0.27/configure.ac 2016-01-15 20:42:44.000000000 +0100
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.60])
-AC_INIT([acpid], [2.0.26])
+AC_INIT([acpid], [2.0.27])
AC_CONFIG_SRCDIR([connection_list.h])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_AUX_DIR([build-aux])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpid-2.0.26/input_layer.c new/acpid-2.0.27/input_layer.c
--- old/acpid-2.0.26/input_layer.c 2015-07-29 00:32:35.000000000 +0200
+++ new/acpid-2.0.27/input_layer.c 2016-02-27 17:18:23.000000000 +0100
@@ -109,7 +109,11 @@
{{{0,0}, EV_KEY, KEY_VOLUMEDOWN, 1},
"button/volumedown VOLDN 00000080 00000000"},
+ {{{0,0}, EV_KEY, KEY_VOLUMEDOWN, 2},
+ "button/volumedown VOLDN 00000080 00000000"},
{{{0,0}, EV_KEY, KEY_VOLUMEUP, 1},
+ "button/volumeup VOLUP 00000080 00000000"},
+ {{{0,0}, EV_KEY, KEY_VOLUMEUP, 2},
"button/volumeup VOLUP 00000080 00000000"},
{{{0,0}, EV_KEY, KEY_MUTE, 1},
"button/mute MUTE 00000080 00000000"},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpid-2.0.26/kacpimon/Makefile.am new/acpid-2.0.27/kacpimon/Makefile.am
--- old/acpid-2.0.26/kacpimon/Makefile.am 2015-08-16 22:27:15.000000000 +0200
+++ new/acpid-2.0.27/kacpimon/Makefile.am 2016-01-27 17:13:18.000000000 +0100
@@ -1,4 +1,4 @@
-AM_CPPFLAGS = -include $(top_srcdir)/config.h
+AM_CPPFLAGS = -include $(top_builddir)/config.h
AM_CFLAGS = -Wall -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Wformat=2
sbin_PROGRAMS = kacpimon
kacpimon_SOURCES = acpi_ids.c kacpimon.c connection_list.c input_layer.c libnetlink.c netlink.c \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpid-2.0.26/kacpimon/Makefile.in new/acpid-2.0.27/kacpimon/Makefile.in
--- old/acpid-2.0.26/kacpimon/Makefile.in 2016-01-15 20:39:20.000000000 +0100
+++ new/acpid-2.0.27/kacpimon/Makefile.in 2016-03-16 00:24:09.000000000 +0100
@@ -289,7 +289,7 @@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-AM_CPPFLAGS = -include $(top_srcdir)/config.h
+AM_CPPFLAGS = -include $(top_builddir)/config.h
AM_CFLAGS = -Wall -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Wformat=2
kacpimon_SOURCES = acpi_ids.c kacpimon.c connection_list.c input_layer.c libnetlink.c netlink.c \
acpi_genetlink.h acpi_ids.h connection_list.h genetlink.h input_layer.h kacpimon.h libnetlink.h netlink.h \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpid-2.0.26/sock.c new/acpid-2.0.27/sock.c
--- old/acpid-2.0.26/sock.c 2016-01-13 16:50:14.000000000 +0100
+++ new/acpid-2.0.27/sock.c 2016-01-27 17:13:18.000000000 +0100
@@ -21,7 +21,7 @@
*/
#ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
#endif
#include <unistd.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpid-2.0.26/ud_socket.c new/acpid-2.0.27/ud_socket.c
--- old/acpid-2.0.26/ud_socket.c 2015-07-29 00:32:35.000000000 +0200
+++ new/acpid-2.0.27/ud_socket.c 2016-01-27 17:13:18.000000000 +0100
@@ -4,7 +4,7 @@
*/
#ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
#endif
#include <stdio.h>
1
0
28 Apr '16
Hello community,
here is the log from the commit of package python-backports.ssl_match_hostname for openSUSE:Factory checked in at 2016-04-28 16:57:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-backports.ssl_match_hostname (Old)
and /work/SRC/openSUSE:Factory/.python-backports.ssl_match_hostname.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-backports.ssl_match_hostname"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-backports.ssl_match_hostname/python-backports.ssl_match_hostname.changes 2014-05-27 12:02:24.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-backports.ssl_match_hostname.new/python-backports.ssl_match_hostname.changes 2016-04-28 17:02:18.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Apr 25 09:57:25 UTC 2016 - freitag(a)owncloud.com
+
+- Update to upstream version 3.5.0.1
+
+-------------------------------------------------------------------
Old:
----
backports.ssl_match_hostname-3.4.0.2.tar.gz
New:
----
backports.ssl_match_hostname-3.5.0.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-backports.ssl_match_hostname.spec ++++++
--- /var/tmp/diff_new_pack.FcOYJT/_old 2016-04-28 17:02:20.000000000 +0200
+++ /var/tmp/diff_new_pack.FcOYJT/_new 2016-04-28 17:02:20.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-backports.ssl_match_hostname
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 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: python-backports.ssl_match_hostname
-Version: 3.4.0.2
+Version: 3.5.0.1
Release: 0
Summary: The ssl.match_hostname() function from Python 3.4
License: Python-2.0
@@ -75,8 +75,8 @@
%dir %{python_sitelib}/backports/
%{python_sitelib}/backports/__init__.py*
%dir %{python_sitelib}/backports/ssl_match_hostname/
-%doc %{python_sitelib}/backports/ssl_match_hostname/LICENSE.txt
-%doc %{python_sitelib}/backports/ssl_match_hostname/README.txt
+%doc backports/ssl_match_hostname/README.txt
+%doc backports/ssl_match_hostname/LICENSE.txt
%{python_sitelib}/backports/ssl_match_hostname/__init__.py*
%{python_sitelib}/backports.ssl_match_hostname-%{version}-py*.egg-info
++++++ backports.ssl_match_hostname-3.4.0.2.tar.gz -> backports.ssl_match_hostname-3.5.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/MANIFEST.in new/backports.ssl_match_hostname-3.5.0.1/MANIFEST.in
--- old/backports.ssl_match_hostname-3.4.0.2/MANIFEST.in 2013-10-27 20:21:12.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/MANIFEST.in 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-recursive-include src *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/PKG-INFO new/backports.ssl_match_hostname-3.5.0.1/PKG-INFO
--- old/backports.ssl_match_hostname-3.4.0.2/PKG-INFO 2013-10-27 20:24:03.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/PKG-INFO 2015-12-19 23:33:16.000000000 +0100
@@ -1,13 +1,16 @@
Metadata-Version: 1.1
Name: backports.ssl_match_hostname
-Version: 3.4.0.2
-Summary: The ssl.match_hostname() function from Python 3.4
+Version: 3.5.0.1
+Summary: The ssl.match_hostname() function from Python 3.5
Home-page: http://bitbucket.org/brandon/backports.ssl_match_hostname
-Author: Brandon Craig Rhodes
-Author-email: brandon(a)rhodesmill.org
-License: UNKNOWN
+Author: Toshio Kuratomi
+Author-email: toshio(a)fedoraproject.org
+License: Python Software Foundation License
Description:
- The Secure Sockets layer is only actually *secure*
+ The ssl.match_hostname() function from Python 3.5
+ =================================================
+
+ The Secure Sockets Layer is only actually *secure*
if you check the hostname in the certificate returned
by the server to which you are connecting,
and verify that it matches to hostname
@@ -26,31 +29,48 @@
and then use it like this::
from backports.ssl_match_hostname import match_hostname, CertificateError
- ...
- sslsock = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_SSLv3,
+ [...]
+ sslsock = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_SSLv23,
cert_reqs=ssl.CERT_REQUIRED, ca_certs=...)
try:
match_hostname(sslsock.getpeercert(), hostname)
except CertificateError, ce:
...
- Note that the ``ssl`` module is only included in the Standard Library
- for Python 2.6 and later;
- users of Python 2.5 or earlier versions
- will also need to install the ``ssl`` distribution
- from the Python Package Index to use code like that shown above.
-
Brandon Craig Rhodes is merely the packager of this distribution;
- the actual code inside comes verbatim from Python 3.4.
+ the actual code inside comes from Python 3.5 with small changes for
+ portability.
+
+
+ Requirements
+ ------------
+
+ * If you want to verify hosts match with certificates via ServerAltname
+ IPAddress fields, you need to install the `ipaddress module`_.
+ backports.ssl_match_hostname will continue to work without ipaddress but
+ will only be able to handle ServerAltName DNSName fields, not IPAddress.
+ System packagers (Linux distributions, et al) are encouraged to add
+ this as a hard dependency in their packages.
+
+ * If you need to use this on Python versions earlier than 2.6 you will need to
+ install the `ssl module`_. From Python 2.6 upwards ``ssl`` is included in
+ the Python Standard Library so you do not need to install it separately.
+
+ .. _`ipaddress module`:: https://pypi.python.org/pypi/ipaddress
+ .. _`ssl module`:: https://pypi.python.org/pypi/ssl
History
-------
+
* This function was introduced in python-3.2
* It was updated for python-3.4a1 for a CVE
(backports-ssl_match_hostname-3.4.0.1)
* It was updated from RFC2818 to RFC 6125 compliance in order to fix another
security flaw for python-3.3.3 and python-3.4a5
(backports-ssl_match_hostname-3.4.0.2)
+ * It was updated in python-3.5 to handle IPAddresses in ServerAltName fields
+ (something that backports.ssl_match_hostname will do if you also install the
+ ipaddress library from pypi).
.. _RFC2818: http://tools.ietf.org/html/rfc2818.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/backports/__init__.py new/backports.ssl_match_hostname-3.5.0.1/backports/__init__.py
--- old/backports.ssl_match_hostname-3.4.0.2/backports/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/backports/__init__.py 2015-12-19 23:30:28.000000000 +0100
@@ -0,0 +1,3 @@
+# This is a Python "namespace package" http://www.python.org/dev/peps/pep-0382/
+from pkgutil import extend_path
+__path__ = extend_path(__path__, __name__)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/backports/ssl_match_hostname/LICENSE.txt new/backports.ssl_match_hostname-3.5.0.1/backports/ssl_match_hostname/LICENSE.txt
--- old/backports.ssl_match_hostname-3.4.0.2/backports/ssl_match_hostname/LICENSE.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/backports/ssl_match_hostname/LICENSE.txt 2015-12-19 23:30:28.000000000 +0100
@@ -0,0 +1,51 @@
+Python License (Python-2.0)
+
+Python License, Version 2 (Python-2.0)
+
+PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+--------------------------------------------
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing and
+otherwise using this software ("Python") in source or binary form and
+its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, PSF
+hereby grants Licensee a nonexclusive, royalty-free, world-wide
+license to reproduce, analyze, test, perform and/or display publicly,
+prepare derivative works, distribute, and otherwise use Python
+alone or in any derivative version, provided, however, that PSF's
+License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
+2001-2013 Python Software Foundation; All Rights Reserved" are retained in
+Python alone or in any derivative version prepared by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of
+the changes made to Python.
+
+4. PSF is making Python available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
+FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python, Licensee
+agrees to be bound by the terms and conditions of this License
+Agreement.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/backports/ssl_match_hostname/README.txt new/backports.ssl_match_hostname-3.5.0.1/backports/ssl_match_hostname/README.txt
--- old/backports.ssl_match_hostname-3.4.0.2/backports/ssl_match_hostname/README.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/backports/ssl_match_hostname/README.txt 2015-12-19 23:30:28.000000000 +0100
@@ -0,0 +1,69 @@
+
+The ssl.match_hostname() function from Python 3.5
+=================================================
+
+The Secure Sockets Layer is only actually *secure*
+if you check the hostname in the certificate returned
+by the server to which you are connecting,
+and verify that it matches to hostname
+that you are trying to reach.
+
+But the matching logic, defined in `RFC2818`_,
+can be a bit tricky to implement on your own.
+So the ``ssl`` package in the Standard Library of Python 3.2
+and greater now includes a ``match_hostname()`` function
+for performing this check instead of requiring every application
+to implement the check separately.
+
+This backport brings ``match_hostname()`` to users
+of earlier versions of Python.
+Simply make this distribution a dependency of your package,
+and then use it like this::
+
+ from backports.ssl_match_hostname import match_hostname, CertificateError
+ [...]
+ sslsock = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_SSLv23,
+ cert_reqs=ssl.CERT_REQUIRED, ca_certs=...)
+ try:
+ match_hostname(sslsock.getpeercert(), hostname)
+ except CertificateError, ce:
+ ...
+
+Brandon Craig Rhodes is merely the packager of this distribution;
+the actual code inside comes from Python 3.5 with small changes for
+portability.
+
+
+Requirements
+------------
+
+* If you want to verify hosts match with certificates via ServerAltname
+ IPAddress fields, you need to install the `ipaddress module`_.
+ backports.ssl_match_hostname will continue to work without ipaddress but
+ will only be able to handle ServerAltName DNSName fields, not IPAddress.
+ System packagers (Linux distributions, et al) are encouraged to add
+ this as a hard dependency in their packages.
+
+* If you need to use this on Python versions earlier than 2.6 you will need to
+ install the `ssl module`_. From Python 2.6 upwards ``ssl`` is included in
+ the Python Standard Library so you do not need to install it separately.
+
+.. _`ipaddress module`:: https://pypi.python.org/pypi/ipaddress
+.. _`ssl module`:: https://pypi.python.org/pypi/ssl
+
+History
+-------
+
+* This function was introduced in python-3.2
+* It was updated for python-3.4a1 for a CVE
+ (backports-ssl_match_hostname-3.4.0.1)
+* It was updated from RFC2818 to RFC 6125 compliance in order to fix another
+ security flaw for python-3.3.3 and python-3.4a5
+ (backports-ssl_match_hostname-3.4.0.2)
+* It was updated in python-3.5 to handle IPAddresses in ServerAltName fields
+ (something that backports.ssl_match_hostname will do if you also install the
+ ipaddress library from pypi).
+
+
+.. _RFC2818: http://tools.ietf.org/html/rfc2818.html
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/backports/ssl_match_hostname/__init__.py new/backports.ssl_match_hostname-3.5.0.1/backports/ssl_match_hostname/__init__.py
--- old/backports.ssl_match_hostname-3.4.0.2/backports/ssl_match_hostname/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/backports/ssl_match_hostname/__init__.py 2015-12-19 23:30:28.000000000 +0100
@@ -0,0 +1,154 @@
+"""The match_hostname() function from Python 3.3.3, essential when using SSL."""
+
+import re
+import sys
+
+# ipaddress has been backported to 2.6+ in pypi. If it is installed on the
+# system, use it to handle IPAddress ServerAltnames (this was added in
+# python-3.5) otherwise only do DNS matching. This allows
+# backports.ssl_match_hostname to continue to be used all the way back to
+# python-2.4.
+try:
+ import ipaddress
+except ImportError:
+ ipaddress = None
+
+__version__ = '3.5.0.1'
+
+
+class CertificateError(ValueError):
+ pass
+
+
+def _dnsname_match(dn, hostname, max_wildcards=1):
+ """Matching according to RFC 6125, section 6.4.3
+
+ http://tools.ietf.org/html/rfc6125#section-6.4.3
+ """
+ pats = []
+ if not dn:
+ return False
+
+ # Ported from python3-syntax:
+ # leftmost, *remainder = dn.split(r'.')
+ parts = dn.split(r'.')
+ leftmost = parts[0]
+ remainder = parts[1:]
+
+ wildcards = leftmost.count('*')
+ if wildcards > max_wildcards:
+ # Issue #17980: avoid denials of service by refusing more
+ # than one wildcard per fragment. A survey of established
+ # policy among SSL implementations showed it to be a
+ # reasonable choice.
+ raise CertificateError(
+ "too many wildcards in certificate DNS name: " + repr(dn))
+
+ # speed up common case w/o wildcards
+ if not wildcards:
+ return dn.lower() == hostname.lower()
+
+ # RFC 6125, section 6.4.3, subitem 1.
+ # The client SHOULD NOT attempt to match a presented identifier in which
+ # the wildcard character comprises a label other than the left-most label.
+ if leftmost == '*':
+ # When '*' is a fragment by itself, it matches a non-empty dotless
+ # fragment.
+ pats.append('[^.]+')
+ elif leftmost.startswith('xn--') or hostname.startswith('xn--'):
+ # RFC 6125, section 6.4.3, subitem 3.
+ # The client SHOULD NOT attempt to match a presented identifier
+ # where the wildcard character is embedded within an A-label or
+ # U-label of an internationalized domain name.
+ pats.append(re.escape(leftmost))
+ else:
+ # Otherwise, '*' matches any dotless string, e.g. www*
+ pats.append(re.escape(leftmost).replace(r'\*', '[^.]*'))
+
+ # add the remaining fragments, ignore any wildcards
+ for frag in remainder:
+ pats.append(re.escape(frag))
+
+ pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE)
+ return pat.match(hostname)
+
+
+def _to_unicode(obj):
+ if isinstance(obj, str) and sys.version_info < (3,):
+ obj = unicode(obj, encoding='ascii', errors='strict')
+ return obj
+
+def _ipaddress_match(ipname, host_ip):
+ """Exact matching of IP addresses.
+
+ RFC 6125 explicitly doesn't define an algorithm for this
+ (section 1.7.2 - "Out of Scope").
+ """
+ # OpenSSL may add a trailing newline to a subjectAltName's IP address
+ # Divergence from upstream: ipaddress can't handle byte str
+ ip = ipaddress.ip_address(_to_unicode(ipname).rstrip())
+ return ip == host_ip
+
+
+def match_hostname(cert, hostname):
+ """Verify that *cert* (in decoded format as returned by
+ SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125
+ rules are followed, but IP addresses are not accepted for *hostname*.
+
+ CertificateError is raised on failure. On success, the function
+ returns nothing.
+ """
+ if not cert:
+ raise ValueError("empty or no certificate, match_hostname needs a "
+ "SSL socket or SSL context with either "
+ "CERT_OPTIONAL or CERT_REQUIRED")
+ try:
+ # Divergence from upstream: ipaddress can't handle byte str
+ host_ip = ipaddress.ip_address(_to_unicode(hostname))
+ except ValueError:
+ # Not an IP address (common case)
+ host_ip = None
+ except UnicodeError:
+ # Divergence from upstream: Have to deal with ipaddress not taking
+ # byte strings. addresses should be all ascii, so we consider it not
+ # an ipaddress in this case
+ host_ip = None
+ except AttributeError:
+ # Divergence from upstream: Make ipaddress library optional
+ if ipaddress is None:
+ host_ip = None
+ else:
+ raise
+ dnsnames = []
+ san = cert.get('subjectAltName', ())
+ for key, value in san:
+ if key == 'DNS':
+ if host_ip is None and _dnsname_match(value, hostname):
+ return
+ dnsnames.append(value)
+ elif key == 'IP Address':
+ if host_ip is not None and _ipaddress_match(value, host_ip):
+ return
+ dnsnames.append(value)
+ if not dnsnames:
+ # The subject is only checked when there is no dNSName entry
+ # in subjectAltName
+ for sub in cert.get('subject', ()):
+ for key, value in sub:
+ # XXX according to RFC 2818, the most specific Common Name
+ # must be used.
+ if key == 'commonName':
+ if _dnsname_match(value, hostname):
+ return
+ dnsnames.append(value)
+ if len(dnsnames) > 1:
+ raise CertificateError("hostname %r "
+ "doesn't match either of %s"
+ % (hostname, ', '.join(map(repr, dnsnames))))
+ elif len(dnsnames) == 1:
+ raise CertificateError("hostname %r "
+ "doesn't match %r"
+ % (hostname, dnsnames[0]))
+ else:
+ raise CertificateError("no appropriate commonName or "
+ "subjectAltName fields were found")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/setup.cfg new/backports.ssl_match_hostname-3.5.0.1/setup.cfg
--- old/backports.ssl_match_hostname-3.4.0.2/setup.cfg 2013-10-27 20:24:03.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/setup.cfg 1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-[egg_info]
-tag_build =
-tag_date = 0
-tag_svn_revision = 0
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/setup.py new/backports.ssl_match_hostname-3.5.0.1/setup.py
--- old/backports.ssl_match_hostname-3.4.0.2/setup.py 2013-10-27 20:23:51.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/setup.py 2015-12-19 23:30:28.000000000 +0100
@@ -1,22 +1,34 @@
# -*- coding: utf-8 -*-
-# This setup.py was generated automatically by Pyron.
-# For details, see http://pypi.python.org/pypi/pyron/
-from setuptools import setup, find_packages
+import os
+from distutils.core import setup
-setup(
- name = 'backports.ssl_match_hostname',
- version = '3.4.0.2',
- description = 'The ssl.match_hostname() function from Python 3.4',
- long_description = '\nThe Secure Sockets layer is only actually *secure*\nif you check the hostname in the certificate returned\nby the server to which you are connecting,\nand verify that it matches to hostname\nthat you are trying to reach.\n\nBut the matching logic, defined in `RFC2818`_,\ncan be a bit tricky to implement on your own.\nSo the ``ssl`` package in the Standard Library of Python 3.2\nand greater now includes a ``match_hostname()`` function\nfor performing this check instead of requiring every application\nto implement the check separately.\n\nThis backport brings ``match_hostname()`` to users\nof earlier versions of Python.\nSimply make this distribution a dependency of your package,\nand then use it like this::\n\n from backports.ssl_match_hostname import match_hostname, CertificateError\n ...\n sslsock = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_SSLv3,\n cert_reqs=ssl.CERT_REQUIRED, ca_certs=...)\n try:\n match_hostname(sslsock.getpeercert(), hostname)\n except CertificateError, ce:\n ...\n\nNote that the ``ssl`` module is only included in the Standard Library\nfor Python 2.6 and later;\nusers of Python 2.5 or earlier versions\nwill also need to install the ``ssl`` distribution\nfrom the Python Package Index to use code like that shown above.\n\nBrandon Craig Rhodes is merely the packager of this distribution;\nthe actual code inside comes verbatim from Python 3.4.\n\nHistory\n-------\n* This function was introduced in python-3.2\n* It was updated for python-3.4a1 for a CVE \n (backports-ssl_match_hostname-3.4.0.1)\n* It was updated from RFC2818 to RFC 6125 compliance in order to fix another\n security flaw for python-3.3.3 and python-3.4a5\n (backports-ssl_match_hostname-3.4.0.2)\n\n\n.. _RFC2818: http://tools.ietf.org/html/rfc2818.html\n\n',
- author = 'Brandon Craig Rhodes',
- author_email = 'brandon(a)rhodesmill.org',
- url = 'http://bitbucket.org/brandon/backports.ssl_match_hostname',
- classifiers = ['Development Status :: 5 - Production/Stable', 'License :: OSI Approved :: Python Software Foundation License', 'Programming Language :: Python :: 2.4', 'Programming Language :: Python :: 2.5', 'Programming Language :: Python :: 2.6', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.0', 'Programming Language :: Python :: 3.1', 'Topic :: Security :: Cryptography'],
+long_description = open(os.path.join(
+ os.path.dirname(__file__), 'backports', 'ssl_match_hostname', 'README.txt',
+ )).read()
- package_dir = {'': 'src'},
- packages = find_packages('src'),
- include_package_data = True,
- install_requires = [],
- entry_points = '',
+setup(
+ name='backports.ssl_match_hostname',
+ version='3.5.0.1',
+ description='The ssl.match_hostname() function from Python 3.5',
+ long_description=long_description,
+ author='Brandon Rhodes',
+ author_email='brandon(a)rhodesmill.org',
+ maintainer='Toshio Kuratomi',
+ maintainer_email='toshio(a)fedoraproject.org',
+ url='http://bitbucket.org/brandon/backports.ssl_match_hostname',
+ license='Python Software Foundation License',
+ classifiers=[
+ 'Development Status :: 5 - Production/Stable',
+ 'License :: OSI Approved :: Python Software Foundation License',
+ 'Programming Language :: Python :: 2.4',
+ 'Programming Language :: Python :: 2.5',
+ 'Programming Language :: Python :: 2.6',
+ 'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3.0',
+ 'Programming Language :: Python :: 3.1',
+ 'Topic :: Security :: Cryptography',
+ ],
+ packages=['backports', 'backports.ssl_match_hostname'],
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/src/backports/__init__.py new/backports.ssl_match_hostname-3.5.0.1/src/backports/__init__.py
--- old/backports.ssl_match_hostname-3.4.0.2/src/backports/__init__.py 2013-10-27 20:21:12.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/src/backports/__init__.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,3 +0,0 @@
-# This is a Python "namespace package" http://www.python.org/dev/peps/pep-0382/
-from pkgutil import extend_path
-__path__ = extend_path(__path__, __name__)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/src/backports/ssl_match_hostname/LICENSE.txt new/backports.ssl_match_hostname-3.5.0.1/src/backports/ssl_match_hostname/LICENSE.txt
--- old/backports.ssl_match_hostname-3.4.0.2/src/backports/ssl_match_hostname/LICENSE.txt 2013-10-27 20:21:12.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/src/backports/ssl_match_hostname/LICENSE.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,51 +0,0 @@
-Python License (Python-2.0)
-
-Python License, Version 2 (Python-2.0)
-
-PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
---------------------------------------------
-
-1. This LICENSE AGREEMENT is between the Python Software Foundation
-("PSF"), and the Individual or Organization ("Licensee") accessing and
-otherwise using this software ("Python") in source or binary form and
-its associated documentation.
-
-2. Subject to the terms and conditions of this License Agreement, PSF
-hereby grants Licensee a nonexclusive, royalty-free, world-wide
-license to reproduce, analyze, test, perform and/or display publicly,
-prepare derivative works, distribute, and otherwise use Python
-alone or in any derivative version, provided, however, that PSF's
-License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
-2001-2013 Python Software Foundation; All Rights Reserved" are retained in
-Python alone or in any derivative version prepared by Licensee.
-
-3. In the event Licensee prepares a derivative work that is based on
-or incorporates Python or any part thereof, and wants to make
-the derivative work available to others as provided herein, then
-Licensee hereby agrees to include in any such work a brief summary of
-the changes made to Python.
-
-4. PSF is making Python available to Licensee on an "AS IS"
-basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
-IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
-DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
-FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
-INFRINGE ANY THIRD PARTY RIGHTS.
-
-5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
-FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
-A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
-OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
-
-6. This License Agreement will automatically terminate upon a material
-breach of its terms and conditions.
-
-7. Nothing in this License Agreement shall be deemed to create any
-relationship of agency, partnership, or joint venture between PSF and
-Licensee. This License Agreement does not grant permission to use PSF
-trademarks or trade name in a trademark sense to endorse or promote
-products or services of Licensee, or any third party.
-
-8. By copying, installing or otherwise using Python, Licensee
-agrees to be bound by the terms and conditions of this License
-Agreement.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/src/backports/ssl_match_hostname/README.txt new/backports.ssl_match_hostname-3.5.0.1/src/backports/ssl_match_hostname/README.txt
--- old/backports.ssl_match_hostname-3.4.0.2/src/backports/ssl_match_hostname/README.txt 2013-10-27 20:21:12.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/src/backports/ssl_match_hostname/README.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,52 +0,0 @@
-
-The ssl.match_hostname() function from Python 3.4
-=================================================
-
-The Secure Sockets layer is only actually *secure*
-if you check the hostname in the certificate returned
-by the server to which you are connecting,
-and verify that it matches to hostname
-that you are trying to reach.
-
-But the matching logic, defined in `RFC2818`_,
-can be a bit tricky to implement on your own.
-So the ``ssl`` package in the Standard Library of Python 3.2
-and greater now includes a ``match_hostname()`` function
-for performing this check instead of requiring every application
-to implement the check separately.
-
-This backport brings ``match_hostname()`` to users
-of earlier versions of Python.
-Simply make this distribution a dependency of your package,
-and then use it like this::
-
- from backports.ssl_match_hostname import match_hostname, CertificateError
- ...
- sslsock = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_SSLv3,
- cert_reqs=ssl.CERT_REQUIRED, ca_certs=...)
- try:
- match_hostname(sslsock.getpeercert(), hostname)
- except CertificateError, ce:
- ...
-
-Note that the ``ssl`` module is only included in the Standard Library
-for Python 2.6 and later;
-users of Python 2.5 or earlier versions
-will also need to install the ``ssl`` distribution
-from the Python Package Index to use code like that shown above.
-
-Brandon Craig Rhodes is merely the packager of this distribution;
-the actual code inside comes verbatim from Python 3.4.
-
-History
--------
-* This function was introduced in python-3.2
-* It was updated for python-3.4a1 for a CVE
- (backports-ssl_match_hostname-3.4.0.1)
-* It was updated from RFC2818 to RFC 6125 compliance in order to fix another
- security flaw for python-3.3.3 and python-3.4a5
- (backports-ssl_match_hostname-3.4.0.2)
-
-
-.. _RFC2818: http://tools.ietf.org/html/rfc2818.html
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/src/backports/ssl_match_hostname/__init__.py new/backports.ssl_match_hostname-3.5.0.1/src/backports/ssl_match_hostname/__init__.py
--- old/backports.ssl_match_hostname-3.4.0.2/src/backports/ssl_match_hostname/__init__.py 2013-10-27 20:21:12.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/src/backports/ssl_match_hostname/__init__.py 1970-01-01 01:00:00.000000000 +0100
@@ -1,102 +0,0 @@
-"""The match_hostname() function from Python 3.3.3, essential when using SSL."""
-
-import re
-
-__version__ = '3.4.0.2'
-
-class CertificateError(ValueError):
- pass
-
-
-def _dnsname_match(dn, hostname, max_wildcards=1):
- """Matching according to RFC 6125, section 6.4.3
-
- http://tools.ietf.org/html/rfc6125#section-6.4.3
- """
- pats = []
- if not dn:
- return False
-
- # Ported from python3-syntax:
- # leftmost, *remainder = dn.split(r'.')
- parts = dn.split(r'.')
- leftmost = parts[0]
- remainder = parts[1:]
-
- wildcards = leftmost.count('*')
- if wildcards > max_wildcards:
- # Issue #17980: avoid denials of service by refusing more
- # than one wildcard per fragment. A survey of established
- # policy among SSL implementations showed it to be a
- # reasonable choice.
- raise CertificateError(
- "too many wildcards in certificate DNS name: " + repr(dn))
-
- # speed up common case w/o wildcards
- if not wildcards:
- return dn.lower() == hostname.lower()
-
- # RFC 6125, section 6.4.3, subitem 1.
- # The client SHOULD NOT attempt to match a presented identifier in which
- # the wildcard character comprises a label other than the left-most label.
- if leftmost == '*':
- # When '*' is a fragment by itself, it matches a non-empty dotless
- # fragment.
- pats.append('[^.]+')
- elif leftmost.startswith('xn--') or hostname.startswith('xn--'):
- # RFC 6125, section 6.4.3, subitem 3.
- # The client SHOULD NOT attempt to match a presented identifier
- # where the wildcard character is embedded within an A-label or
- # U-label of an internationalized domain name.
- pats.append(re.escape(leftmost))
- else:
- # Otherwise, '*' matches any dotless string, e.g. www*
- pats.append(re.escape(leftmost).replace(r'\*', '[^.]*'))
-
- # add the remaining fragments, ignore any wildcards
- for frag in remainder:
- pats.append(re.escape(frag))
-
- pat = re.compile(r'\A' + r'\.'.join(pats) + r'\Z', re.IGNORECASE)
- return pat.match(hostname)
-
-
-def match_hostname(cert, hostname):
- """Verify that *cert* (in decoded format as returned by
- SSLSocket.getpeercert()) matches the *hostname*. RFC 2818 and RFC 6125
- rules are followed, but IP addresses are not accepted for *hostname*.
-
- CertificateError is raised on failure. On success, the function
- returns nothing.
- """
- if not cert:
- raise ValueError("empty or no certificate")
- dnsnames = []
- san = cert.get('subjectAltName', ())
- for key, value in san:
- if key == 'DNS':
- if _dnsname_match(value, hostname):
- return
- dnsnames.append(value)
- if not dnsnames:
- # The subject is only checked when there is no dNSName entry
- # in subjectAltName
- for sub in cert.get('subject', ()):
- for key, value in sub:
- # XXX according to RFC 2818, the most specific Common Name
- # must be used.
- if key == 'commonName':
- if _dnsname_match(value, hostname):
- return
- dnsnames.append(value)
- if len(dnsnames) > 1:
- raise CertificateError("hostname %r "
- "doesn't match either of %s"
- % (hostname, ', '.join(map(repr, dnsnames))))
- elif len(dnsnames) == 1:
- raise CertificateError("hostname %r "
- "doesn't match %r"
- % (hostname, dnsnames[0]))
- else:
- raise CertificateError("no appropriate commonName or "
- "subjectAltName fields were found")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/src/backports.ssl_match_hostname.egg-info/PKG-INFO new/backports.ssl_match_hostname-3.5.0.1/src/backports.ssl_match_hostname.egg-info/PKG-INFO
--- old/backports.ssl_match_hostname-3.4.0.2/src/backports.ssl_match_hostname.egg-info/PKG-INFO 2013-10-27 20:24:03.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/src/backports.ssl_match_hostname.egg-info/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
@@ -1,69 +0,0 @@
-Metadata-Version: 1.1
-Name: backports.ssl-match-hostname
-Version: 3.4.0.2
-Summary: The ssl.match_hostname() function from Python 3.4
-Home-page: http://bitbucket.org/brandon/backports.ssl_match_hostname
-Author: Brandon Craig Rhodes
-Author-email: brandon(a)rhodesmill.org
-License: UNKNOWN
-Description:
- The Secure Sockets layer is only actually *secure*
- if you check the hostname in the certificate returned
- by the server to which you are connecting,
- and verify that it matches to hostname
- that you are trying to reach.
-
- But the matching logic, defined in `RFC2818`_,
- can be a bit tricky to implement on your own.
- So the ``ssl`` package in the Standard Library of Python 3.2
- and greater now includes a ``match_hostname()`` function
- for performing this check instead of requiring every application
- to implement the check separately.
-
- This backport brings ``match_hostname()`` to users
- of earlier versions of Python.
- Simply make this distribution a dependency of your package,
- and then use it like this::
-
- from backports.ssl_match_hostname import match_hostname, CertificateError
- ...
- sslsock = ssl.wrap_socket(sock, ssl_version=ssl.PROTOCOL_SSLv3,
- cert_reqs=ssl.CERT_REQUIRED, ca_certs=...)
- try:
- match_hostname(sslsock.getpeercert(), hostname)
- except CertificateError, ce:
- ...
-
- Note that the ``ssl`` module is only included in the Standard Library
- for Python 2.6 and later;
- users of Python 2.5 or earlier versions
- will also need to install the ``ssl`` distribution
- from the Python Package Index to use code like that shown above.
-
- Brandon Craig Rhodes is merely the packager of this distribution;
- the actual code inside comes verbatim from Python 3.4.
-
- History
- -------
- * This function was introduced in python-3.2
- * It was updated for python-3.4a1 for a CVE
- (backports-ssl_match_hostname-3.4.0.1)
- * It was updated from RFC2818 to RFC 6125 compliance in order to fix another
- security flaw for python-3.3.3 and python-3.4a5
- (backports-ssl_match_hostname-3.4.0.2)
-
-
- .. _RFC2818: http://tools.ietf.org/html/rfc2818.html
-
-
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: License :: OSI Approved :: Python Software Foundation License
-Classifier: Programming Language :: Python :: 2.4
-Classifier: Programming Language :: Python :: 2.5
-Classifier: Programming Language :: Python :: 2.6
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.0
-Classifier: Programming Language :: Python :: 3.1
-Classifier: Topic :: Security :: Cryptography
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/src/backports.ssl_match_hostname.egg-info/SOURCES.txt new/backports.ssl_match_hostname-3.5.0.1/src/backports.ssl_match_hostname.egg-info/SOURCES.txt
--- old/backports.ssl_match_hostname-3.4.0.2/src/backports.ssl_match_hostname.egg-info/SOURCES.txt 2013-10-27 20:24:03.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/src/backports.ssl_match_hostname.egg-info/SOURCES.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,10 +0,0 @@
-MANIFEST.in
-setup.py
-src/backports/__init__.py
-src/backports.ssl_match_hostname.egg-info/PKG-INFO
-src/backports.ssl_match_hostname.egg-info/SOURCES.txt
-src/backports.ssl_match_hostname.egg-info/dependency_links.txt
-src/backports.ssl_match_hostname.egg-info/top_level.txt
-src/backports/ssl_match_hostname/LICENSE.txt
-src/backports/ssl_match_hostname/README.txt
-src/backports/ssl_match_hostname/__init__.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/src/backports.ssl_match_hostname.egg-info/dependency_links.txt new/backports.ssl_match_hostname-3.5.0.1/src/backports.ssl_match_hostname.egg-info/dependency_links.txt
--- old/backports.ssl_match_hostname-3.4.0.2/src/backports.ssl_match_hostname.egg-info/dependency_links.txt 2013-10-27 20:24:03.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/src/backports.ssl_match_hostname.egg-info/dependency_links.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/backports.ssl_match_hostname-3.4.0.2/src/backports.ssl_match_hostname.egg-info/top_level.txt new/backports.ssl_match_hostname-3.5.0.1/src/backports.ssl_match_hostname.egg-info/top_level.txt
--- old/backports.ssl_match_hostname-3.4.0.2/src/backports.ssl_match_hostname.egg-info/top_level.txt 2013-10-27 20:24:03.000000000 +0100
+++ new/backports.ssl_match_hostname-3.5.0.1/src/backports.ssl_match_hostname.egg-info/top_level.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-backports
1
0
Hello community,
here is the log from the commit of package ghc-xml-conduit for openSUSE:Factory checked in at 2016-04-28 16:57:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-xml-conduit (Old)
and /work/SRC/openSUSE:Factory/.ghc-xml-conduit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-xml-conduit"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-xml-conduit/ghc-xml-conduit.changes 2016-04-12 19:38:23.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-xml-conduit.new/ghc-xml-conduit.changes 2016-04-28 17:02:16.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Apr 19 12:53:04 UTC 2016 - mimi.vx(a)gmail.com
+
+- update to 1.3.4.2
+* transformers dep bump
+
+-------------------------------------------------------------------
Old:
----
xml-conduit-1.3.4.1.tar.gz
New:
----
xml-conduit-1.3.4.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-xml-conduit.spec ++++++
--- /var/tmp/diff_new_pack.dae3NT/_old 2016-04-28 17:02:18.000000000 +0200
+++ /var/tmp/diff_new_pack.dae3NT/_new 2016-04-28 17:02:18.000000000 +0200
@@ -21,7 +21,7 @@
%bcond_with tests
Name: ghc-xml-conduit
-Version: 1.3.4.1
+Version: 1.3.4.2
Release: 0
Summary: Pure-Haskell utilities for dealing with XML with the conduit package
License: BSD-2-Clause
++++++ xml-conduit-1.3.4.1.tar.gz -> xml-conduit-1.3.4.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xml-conduit-1.3.4.1/ChangeLog.md new/xml-conduit-1.3.4.2/ChangeLog.md
--- old/xml-conduit-1.3.4.1/ChangeLog.md 2016-04-07 08:20:41.000000000 +0200
+++ new/xml-conduit-1.3.4.2/ChangeLog.md 2016-04-18 08:57:08.000000000 +0200
@@ -1,3 +1,7 @@
+## 1.3.4.2
+
+* transformers dep bump
+
## 1.3.4.1
* Remove unneeded ImpredicativeTypes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xml-conduit-1.3.4.1/xml-conduit.cabal new/xml-conduit-1.3.4.2/xml-conduit.cabal
--- old/xml-conduit-1.3.4.1/xml-conduit.cabal 2016-04-07 08:20:41.000000000 +0200
+++ new/xml-conduit-1.3.4.2/xml-conduit.cabal 2016-04-18 08:57:08.000000000 +0200
@@ -1,5 +1,5 @@
name: xml-conduit
-version: 1.3.4.1
+version: 1.3.4.2
license: MIT
license-file: LICENSE
author: Michael Snoyman <michael(a)snoyman.com>, Aristid Breitkreuz <aristidb(a)googlemail.com>
@@ -26,7 +26,7 @@
, xml-types >= 0.3.4 && < 0.4
, attoparsec >= 0.10
, blaze-builder >= 0.2 && < 0.5
- , transformers >= 0.2 && < 0.5
+ , transformers >= 0.2 && < 0.6
, data-default
, monad-control >= 0.3 && < 1.1
, blaze-markup >= 0.5
1
0
Hello community,
here is the log from the commit of package ghc-tagged for openSUSE:Factory checked in at 2016-04-28 16:57:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-tagged (Old)
and /work/SRC/openSUSE:Factory/.ghc-tagged.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-tagged"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-tagged/ghc-tagged.changes 2016-02-01 19:57:24.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-tagged.new/ghc-tagged.changes 2016-04-28 17:02:14.000000000 +0200
@@ -1,0 +2,7 @@
+Tue Apr 26 08:55:10 UTC 2016 - mimi.vx(a)gmail.com
+
+- update to 0.8.4
+* Backport the Alternative, MonadPlus, and MonadZip instances for Proxy from base-4.9
+* Add Bits, FiniteBits, IsString, and Storable instances for Tagged
+
+-------------------------------------------------------------------
Old:
----
tagged-0.8.3.tar.gz
New:
----
tagged-0.8.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-tagged.spec ++++++
--- /var/tmp/diff_new_pack.Lk24DN/_old 2016-04-28 17:02:16.000000000 +0200
+++ /var/tmp/diff_new_pack.Lk24DN/_new 2016-04-28 17:02:16.000000000 +0200
@@ -19,7 +19,7 @@
%global pkg_name tagged
Name: ghc-tagged
-Version: 0.8.3
+Version: 0.8.4
Release: 0
Summary: Haskell 98 phantom types to avoid unsafely passing dummy arguments
License: BSD-3-Clause
++++++ tagged-0.8.3.tar.gz -> tagged-0.8.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagged-0.8.3/CHANGELOG.markdown new/tagged-0.8.4/CHANGELOG.markdown
--- old/tagged-0.8.3/CHANGELOG.markdown 2016-01-26 22:10:01.000000000 +0100
+++ new/tagged-0.8.4/CHANGELOG.markdown 2016-04-23 21:48:24.000000000 +0200
@@ -1,3 +1,8 @@
+0.8.4
+-----
+* Backport the `Alternative`, `MonadPlus`, and `MonadZip` instances for `Proxy` from `base-4.9`
+* Add `Bits`, `FiniteBits`, `IsString`, and `Storable` instances for `Tagged`
+
0.8.3
-----
* Manual `Generic1` support to work around a bug in GHC 7.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagged-0.8.3/old/Data/Proxy.hs new/tagged-0.8.4/old/Data/Proxy.hs
--- old/tagged-0.8.3/old/Data/Proxy.hs 2016-01-26 22:10:01.000000000 +0100
+++ new/tagged-0.8.4/old/Data/Proxy.hs 2016-04-23 21:48:24.000000000 +0200
@@ -35,7 +35,11 @@
, KProxy(..)
) where
-import Control.Applicative (Applicative(..))
+import Control.Applicative (Applicative(..), Alternative(..))
+import Control.Monad (MonadPlus(..))
+#if MIN_VERSION_base(4,4,0)
+import Control.Monad.Zip (MonadZip(..))
+#endif
#ifdef MIN_VERSION_deepseq
import Control.DeepSeq (NFData(..))
#endif
@@ -165,6 +169,12 @@
_ <*> _ = Proxy
{-# INLINE (<*>) #-}
+instance Alternative Proxy where
+ empty = Proxy
+ {-# INLINE empty #-}
+ _ <|> _ = Proxy
+ {-# INLINE (<|>) #-}
+
instance Monoid (Proxy s) where
mempty = Proxy
{-# INLINE mempty #-}
@@ -179,6 +189,18 @@
_ >>= _ = Proxy
{-# INLINE (>>=) #-}
+instance MonadPlus Proxy where
+ mzero = Proxy
+ {-# INLINE mzero #-}
+ mplus _ _ = Proxy
+ {-# INLINE mplus #-}
+
+#if MIN_VERSION_base(4,4,0)
+instance MonadZip Proxy where
+ mzipWith _ _ _ = Proxy
+ {-# INLINE mzipWith #-}
+#endif
+
instance Foldable Proxy where
foldMap _ _ = mempty
{-# INLINE foldMap #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagged-0.8.3/src/Data/Tagged.hs new/tagged-0.8.4/src/Data/Tagged.hs
--- old/tagged-0.8.3/src/Data/Tagged.hs 2016-01-26 22:10:01.000000000 +0100
+++ new/tagged-0.8.4/src/Data/Tagged.hs 2016-04-23 21:48:24.000000000 +0200
@@ -11,6 +11,8 @@
{-# LANGUAGE Trustworthy #-}
#endif
#endif
+
+{-# OPTIONS_GHC -fno-warn-deprecations #-}
----------------------------------------------------------------------------
-- |
-- Module : Data.Tagged
@@ -48,6 +50,7 @@
import Data.Traversable (Traversable(..))
import Data.Monoid
#endif
+import Data.Bits
import Data.Foldable (Foldable(..))
#ifdef MIN_VERSION_deepseq
import Control.DeepSeq (NFData(..))
@@ -66,6 +69,9 @@
#if __GLASGOW_HASKELL__ >= 800
import Data.Semigroup (Semigroup(..))
#endif
+import Data.String (IsString(..))
+import Foreign.Ptr (castPtr)
+import Foreign.Storable (Storable(..))
#if __GLASGOW_HASKELL__ >= 702
import GHC.Generics (Generic)
#if __GLASGOW_HASKELL__ >= 706
@@ -293,6 +299,60 @@
isIEEE (Tagged x) = isIEEE x
atan2 = liftA2 atan2
+instance Bits a => Bits (Tagged s a) where
+ Tagged a .&. Tagged b = Tagged (a .&. b)
+ Tagged a .|. Tagged b = Tagged (a .|. b)
+ xor (Tagged a) (Tagged b) = Tagged (xor a b)
+ complement (Tagged a) = Tagged (complement a)
+ shift (Tagged a) i = Tagged (shift a i)
+ shiftL (Tagged a) i = Tagged (shiftL a i)
+ shiftR (Tagged a) i = Tagged (shiftR a i)
+ rotate (Tagged a) i = Tagged (rotate a i)
+ rotateL (Tagged a) i = Tagged (rotateL a i)
+ rotateR (Tagged a) i = Tagged (rotateR a i)
+ bit i = Tagged (bit i)
+ setBit (Tagged a) i = Tagged (setBit a i)
+ clearBit (Tagged a) i = Tagged (clearBit a i)
+ complementBit (Tagged a) i = Tagged (complementBit a i)
+ testBit (Tagged a) i = testBit a i
+ isSigned (Tagged a) = isSigned a
+ bitSize (Tagged a) = bitSize a -- deprecated, but still required :(
+#if __GLASGOW_HASKELL__ >= 704
+ unsafeShiftL (Tagged a) i = Tagged (unsafeShiftL a i)
+ unsafeShiftR (Tagged a) i = Tagged (unsafeShiftR a i)
+ popCount (Tagged a) = popCount a
+#endif
+#if __GLASGOW_HASKELL__ >= 708
+ bitSizeMaybe (Tagged a) = bitSizeMaybe a
+ zeroBits = Tagged zeroBits
+#endif
+
+#if __GLASGOW_HASKELL__ >= 708
+instance FiniteBits a => FiniteBits (Tagged s a) where
+ finiteBitSize (Tagged a) = finiteBitSize a
+# if __GLASGOW_HASKELL__ >= 710
+ countLeadingZeros (Tagged a) = countLeadingZeros a
+ countTrailingZeros (Tagged a) = countTrailingZeros a
+# endif
+#endif
+
+instance IsString a => IsString (Tagged s a) where
+ fromString = Tagged . fromString
+
+instance Storable a => Storable (Tagged s a) where
+ sizeOf t = sizeOf a
+ where
+ Tagged a = Tagged undefined `asTypeOf` t
+ alignment t = alignment a
+ where
+ Tagged a = Tagged undefined `asTypeOf` t
+ peek ptr = Tagged <$> peek (castPtr ptr)
+ poke ptr (Tagged a) = poke (castPtr ptr) a
+ peekElemOff ptr i = Tagged <$> peekElemOff (castPtr ptr) i
+ pokeElemOff ptr i (Tagged a) = pokeElemOff (castPtr ptr) i a
+ peekByteOff ptr i = Tagged <$> peekByteOff (castPtr ptr) i
+ pokeByteOff ptr i (Tagged a) = pokeByteOff (castPtr ptr) i a
+
-- | Some times you need to change the tag you have lying around.
-- Idiomatic usage is to make a new combinator for the relationship between the
-- tags that you want to enforce, and define that combinator using 'retag'.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tagged-0.8.3/tagged.cabal new/tagged-0.8.4/tagged.cabal
--- old/tagged-0.8.3/tagged.cabal 2016-01-26 22:10:01.000000000 +0100
+++ new/tagged-0.8.4/tagged.cabal 2016-04-23 21:48:24.000000000 +0200
@@ -1,5 +1,5 @@
name: tagged
-version: 0.8.3
+version: 0.8.4
license: BSD3
license-file: LICENSE
author: Edward A. Kmett
1
0