openSUSE Commits
Threads by month
- ----- 2025 -----
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
June 2015
- 1 participants
- 1239 discussions
Hello community,
here is the log from the commit of package xfce4-panel-plugin-notes for openSUSE:Factory checked in at 2015-06-30 10:19:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xfce4-panel-plugin-notes (Old)
and /work/SRC/openSUSE:Factory/.xfce4-panel-plugin-notes.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xfce4-panel-plugin-notes"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xfce4-panel-plugin-notes/xfce4-panel-plugin-notes.changes 2015-04-21 10:52:50.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xfce4-panel-plugin-notes.new/xfce4-panel-plugin-notes.changes 2015-06-30 10:19:20.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Jun 29 06:46:36 UTC 2015 - gber(a)opensuse.org
+
+- update to version 1.8.1
+ - provide graphics tabs/ for gtk-2.0 theme
+ - fit panel button inside a single panel row (for deskbar mode)
+
+-------------------------------------------------------------------
Old:
----
xfce4-notes-plugin-1.8.0.tar.bz2
New:
----
xfce4-notes-plugin-1.8.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xfce4-panel-plugin-notes.spec ++++++
--- /var/tmp/diff_new_pack.iIFCTD/_old 2015-06-30 10:19:21.000000000 +0200
+++ /var/tmp/diff_new_pack.iIFCTD/_new 2015-06-30 10:19:21.000000000 +0200
@@ -19,7 +19,7 @@
%define panel_version 4.10.0
%define plugin_name xfce4-notes-plugin
Name: xfce4-panel-plugin-notes
-Version: 1.8.0
+Version: 1.8.1
Release: 0
Summary: Note-taking Plugin for the Xfce Panel
License: GPL-2.0+
++++++ xfce4-notes-plugin-1.8.0.tar.bz2 -> xfce4-notes-plugin-1.8.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-notes-plugin-1.8.0/ChangeLog new/xfce4-notes-plugin-1.8.1/ChangeLog
--- old/xfce4-notes-plugin-1.8.0/ChangeLog 2015-04-13 23:49:03.000000000 +0200
+++ new/xfce4-notes-plugin-1.8.1/ChangeLog 2015-06-24 23:42:11.000000000 +0200
@@ -1,3 +1,19 @@
+2015-06-24 Mike Massonnet <mmassonnet(a)xfce.org>
+
+=== Release 1.8.1 ===
+
+2015-05-12 Mike Massonnet <mmassonnet(a)xfce.org>
+
+build: install graphics tabs/ for gtk-2.0 theme (bug #11839) bis
+
+2015-05-07 Mike Massonnet <mmassonnet(a)xfce.org>
+
+panel-plugin: fit button inside a single panel row
+
+2015-04-26 Mike Massonnet <mmassonnet(a)xfce.org>
+
+build: install graphics tabs/ for gtk-2.0 theme (bug #11839)
+
2015-04-13 Mike Massonnet <mmassonnet(a)xfce.org>
=== Release 1.8.0 ===
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-notes-plugin-1.8.0/NEWS new/xfce4-notes-plugin-1.8.1/NEWS
--- old/xfce4-notes-plugin-1.8.0/NEWS 2015-04-13 23:44:53.000000000 +0200
+++ new/xfce4-notes-plugin-1.8.1/NEWS 2015-06-24 23:43:17.000000000 +0200
@@ -1,3 +1,8 @@
+VERSION 1.8.1
+
+- Provide graphics tabs/ for gtk-2.0 theme.
+- Fit panel button inside a single panel row.
+
VERSION 1.8.0
- Dependencies: match Xfce 4.10 requirements.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-notes-plugin-1.8.0/configure new/xfce4-notes-plugin-1.8.1/configure
--- old/xfce4-notes-plugin-1.8.0/configure 2015-04-19 21:26:28.000000000 +0200
+++ new/xfce4-notes-plugin-1.8.1/configure 2015-06-24 23:44:38.000000000 +0200
@@ -1,7 +1,7 @@
#! /bin/sh
-# From configure.ac 0ace426.
+# From configure.ac c48ff8b.
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Notes 1.8.0.
+# Generated by GNU Autoconf 2.69 for Notes 1.8.1.
#
# Report bugs to <http://bugzilla.xfce.org/>.
#
@@ -651,8 +651,8 @@
# Identity of this package.
PACKAGE_NAME='Notes'
PACKAGE_TARNAME='xfce4-notes-plugin'
-PACKAGE_VERSION='1.8.0'
-PACKAGE_STRING='Notes 1.8.0'
+PACKAGE_VERSION='1.8.1'
+PACKAGE_STRING='Notes 1.8.1'
PACKAGE_BUGREPORT='http://bugzilla.xfce.org/'
PACKAGE_URL='http://goodies.xfce.org/projects/panel-plugins/xfce4-notes-plugin'
@@ -1487,7 +1487,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 Notes 1.8.0 to adapt to many kinds of systems.
+\`configure' configures Notes 1.8.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1563,7 +1563,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Notes 1.8.0:";;
+ short | recursive ) echo "Configuration of Notes 1.8.1:";;
esac
cat <<\_ACEOF
@@ -1687,7 +1687,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Notes configure 1.8.0
+Notes configure 1.8.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2056,7 +2056,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Notes $as_me 1.8.0, which was
+It was created by Notes $as_me 1.8.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -11462,7 +11462,7 @@
# Define the identity of the package.
PACKAGE='xfce4-notes-plugin'
- VERSION='1.8.0'
+ VERSION='1.8.1'
cat >>confdefs.h <<_ACEOF
@@ -16616,7 +16616,7 @@
fi
-ac_config_files="$ac_config_files Makefile data/Makefile data/gtk-2.0/Makefile data/gtk-2.0/scrollbars/Makefile data/icons/Makefile data/icons/16x16/Makefile data/icons/22x22/Makefile data/icons/24x24/Makefile data/icons/32x32/Makefile data/icons/scalable/Makefile data/pixmaps/Makefile lib/Makefile src/Makefile po/Makefile.in"
+ac_config_files="$ac_config_files Makefile data/Makefile data/gtk-2.0/Makefile data/gtk-2.0/tabs/Makefile data/gtk-2.0/scrollbars/Makefile data/icons/Makefile data/icons/16x16/Makefile data/icons/22x22/Makefile data/icons/24x24/Makefile data/icons/32x32/Makefile data/icons/scalable/Makefile data/pixmaps/Makefile lib/Makefile src/Makefile po/Makefile.in"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -17160,7 +17160,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Notes $as_me 1.8.0, which was
+This file was extended by Notes $as_me 1.8.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -17227,7 +17227,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-Notes config.status 1.8.0
+Notes config.status 1.8.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -17641,6 +17641,7 @@
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;;
"data/gtk-2.0/Makefile") CONFIG_FILES="$CONFIG_FILES data/gtk-2.0/Makefile" ;;
+ "data/gtk-2.0/tabs/Makefile") CONFIG_FILES="$CONFIG_FILES data/gtk-2.0/tabs/Makefile" ;;
"data/gtk-2.0/scrollbars/Makefile") CONFIG_FILES="$CONFIG_FILES data/gtk-2.0/scrollbars/Makefile" ;;
"data/icons/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/Makefile" ;;
"data/icons/16x16/Makefile") CONFIG_FILES="$CONFIG_FILES data/icons/16x16/Makefile" ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-notes-plugin-1.8.0/configure.ac new/xfce4-notes-plugin-1.8.1/configure.ac
--- old/xfce4-notes-plugin-1.8.0/configure.ac 2015-04-19 21:26:22.000000000 +0200
+++ new/xfce4-notes-plugin-1.8.1/configure.ac 2015-06-24 23:44:33.000000000 +0200
@@ -12,9 +12,9 @@
m4_define([xfce4_notes_plugin_version_major], [1])
m4_define([xfce4_notes_plugin_version_minor], [8])
-m4_define([xfce4_notes_plugin_version_micro], [0])
+m4_define([xfce4_notes_plugin_version_micro], [1])
m4_define([xfce4_notes_plugin_version_nano], [])
-m4_define([xfce4_notes_plugin_version_build], [0ace426])
+m4_define([xfce4_notes_plugin_version_build], [c48ff8b])
m4_define([xfce4_notes_plugin_version_tag], []) # Leave empty for releases
m4_define([xfce4_notes_plugin_version], [xfce4_notes_plugin_version_major().xfce4_notes_plugin_version_minor().xfce4_notes_plugin_version_micro()ifelse(xfce4_notes_plugin_version_nano(), [], [], [.xfce4_notes_plugin_version_nano()])ifelse(xfce4_notes_plugin_version_tag(), [git], [xfce4_notes_plugin_version_tag()-xfce4_notes_plugin_version_build()], [xfce4_notes_plugin_version_tag()])])
@@ -93,6 +93,7 @@
Makefile
data/Makefile
data/gtk-2.0/Makefile
+data/gtk-2.0/tabs/Makefile
data/gtk-2.0/scrollbars/Makefile
data/icons/Makefile
data/icons/16x16/Makefile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/Makefile.am new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/Makefile.am
--- old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/Makefile.am 2012-04-13 08:30:29.000000000 +0200
+++ new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/Makefile.am 2015-06-24 23:27:43.000000000 +0200
@@ -1,4 +1,4 @@
-SUBDIRS = scrollbars
+SUBDIRS = scrollbars tabs
notesgtkrcdir = $(pkgdatadir)/gtk-2.0
dist_notesgtkrc_DATA = \
gradient.png \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/Makefile.in new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/Makefile.in
--- old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/Makefile.in 2015-04-19 21:26:27.000000000 +0200
+++ new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/Makefile.in 2015-06-24 23:44:37.000000000 +0200
@@ -398,7 +398,7 @@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = scrollbars
+SUBDIRS = scrollbars tabs
notesgtkrcdir = $(pkgdatadir)/gtk-2.0
dist_notesgtkrc_DATA = \
gradient.png \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/Makefile.am new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/Makefile.am
--- old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/Makefile.am 1970-01-01 01:00:00.000000000 +0100
+++ new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/Makefile.am 2015-06-24 23:27:43.000000000 +0200
@@ -0,0 +1,11 @@
+tabsdir = $(pkgdatadir)/gtk-2.0/tabs
+dist_tabs_DATA = \
+ notebook.png \
+ tab-bottom-active.png \
+ tab-bottom.png \
+ tab-left-active.png \
+ tab-left.png \
+ tab-right-active.png \
+ tab-right.png \
+ tab-top-active.png \
+ tab-top.png
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/Makefile.in new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/Makefile.in
--- old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/Makefile.in 1970-01-01 01:00:00.000000000 +0100
+++ new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/Makefile.in 2015-06-24 23:44:37.000000000 +0200
@@ -0,0 +1,571 @@
+# Makefile.in generated by automake 1.14.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = data/gtk-2.0/tabs
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(dist_tabs_DATA)
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(tabsdir)"
+DATA = $(dist_tabs_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALL_LINGUAS = @ALL_LINGUAS@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATADIRNAME = @DATADIRNAME@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GIO_CFLAGS = @GIO_CFLAGS@
+GIO_LIBS = @GIO_LIBS@
+GIO_REQUIRED_VERSION = @GIO_REQUIRED_VERSION@
+GIO_VERSION = @GIO_VERSION@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GLIB_REQUIRED_VERSION = @GLIB_REQUIRED_VERSION@
+GLIB_VERSION = @GLIB_VERSION@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+GTK_REQUIRED_VERSION = @GTK_REQUIRED_VERSION@
+GTK_VERSION = @GTK_VERSION@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTOBJEXT = @INSTOBJEXT@
+INTLLIBS = @INTLLIBS@
+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+INTLTOOL_MERGE = @INTLTOOL_MERGE@
+INTLTOOL_PERL = @INTLTOOL_PERL@
+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
+INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
+INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
+INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBX11_CFLAGS = @LIBX11_CFLAGS@
+LIBX11_LDFLAGS = @LIBX11_LDFLAGS@
+LIBX11_LIBS = @LIBX11_LIBS@
+LIBXFCE4PANEL_CFLAGS = @LIBXFCE4PANEL_CFLAGS@
+LIBXFCE4PANEL_LIBS = @LIBXFCE4PANEL_LIBS@
+LIBXFCE4PANEL_REQUIRED_VERSION = @LIBXFCE4PANEL_REQUIRED_VERSION@
+LIBXFCE4PANEL_VERSION = @LIBXFCE4PANEL_VERSION@
+LIBXFCE4UI_CFLAGS = @LIBXFCE4UI_CFLAGS@
+LIBXFCE4UI_LIBS = @LIBXFCE4UI_LIBS@
+LIBXFCE4UI_REQUIRED_VERSION = @LIBXFCE4UI_REQUIRED_VERSION@
+LIBXFCE4UI_VERSION = @LIBXFCE4UI_VERSION@
+LIBXFCE4UTIL_CFLAGS = @LIBXFCE4UTIL_CFLAGS@
+LIBXFCE4UTIL_LIBS = @LIBXFCE4UTIL_LIBS@
+LIBXFCE4UTIL_REQUIRED_VERSION = @LIBXFCE4UTIL_REQUIRED_VERSION@
+LIBXFCE4UTIL_VERSION = @LIBXFCE4UTIL_VERSION@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MATH_LIBS = @MATH_LIBS@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+MSGFMT_OPTS = @MSGFMT_OPTS@
+MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POFILES = @POFILES@
+POSUB = @POSUB@
+PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
+PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+UNIQUE_CFLAGS = @UNIQUE_CFLAGS@
+UNIQUE_LIBS = @UNIQUE_LIBS@
+UNIQUE_REQUIRED_VERSION = @UNIQUE_REQUIRED_VERSION@
+UNIQUE_VERSION = @UNIQUE_VERSION@
+USE_NLS = @USE_NLS@
+VALAC = @VALAC@
+VERSION = @VERSION@
+XFCE4VALA_CFLAGS = @XFCE4VALA_CFLAGS@
+XFCE4VALA_LIBS = @XFCE4VALA_LIBS@
+XFCE4VALA_REQUIRED_VERSION = @XFCE4VALA_REQUIRED_VERSION@
+XFCE4VALA_VERSION = @XFCE4VALA_VERSION@
+XFCONF_CFLAGS = @XFCONF_CFLAGS@
+XFCONF_LIBS = @XFCONF_LIBS@
+XFCONF_REQUIRED_VERSION = @XFCONF_REQUIRED_VERSION@
+XFCONF_VERSION = @XFCONF_VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_ARGS = @XGETTEXT_ARGS@
+XMKMF = @XMKMF@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+intltool__v_merge_options_ = @intltool__v_merge_options_@
+intltool__v_merge_options_0 = @intltool__v_merge_options_0@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+tabsdir = $(pkgdatadir)/gtk-2.0/tabs
+dist_tabs_DATA = \
+ notebook.png \
+ tab-bottom-active.png \
+ tab-bottom.png \
+ tab-left-active.png \
+ tab-left.png \
+ tab-right-active.png \
+ tab-right.png \
+ tab-top-active.png \
+ tab-top.png
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/gtk-2.0/tabs/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu data/gtk-2.0/tabs/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+install-dist_tabsDATA: $(dist_tabs_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(dist_tabs_DATA)'; test -n "$(tabsdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(tabsdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(tabsdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(tabsdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(tabsdir)" || exit $$?; \
+ done
+
+uninstall-dist_tabsDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(dist_tabs_DATA)'; test -n "$(tabsdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(tabsdir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(tabsdir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_tabsDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_tabsDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+ cscopelist-am ctags-am distclean distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am \
+ install-dist_tabsDATA install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-pdf install-pdf-am \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-dist_tabsDATA
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
Files old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/notebook.png and new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/notebook.png differ
Files old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/tab-bottom-active.png and new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/tab-bottom-active.png differ
Files old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/tab-bottom.png and new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/tab-bottom.png differ
Files old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/tab-left-active.png and new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/tab-left-active.png differ
Files old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/tab-left.png and new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/tab-left.png differ
Files old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/tab-right-active.png and new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/tab-right-active.png differ
Files old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/tab-right.png and new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/tab-right.png differ
Files old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/tab-top-active.png and new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/tab-top-active.png differ
Files old/xfce4-notes-plugin-1.8.0/data/gtk-2.0/tabs/tab-top.png and new/xfce4-notes-plugin-1.8.1/data/gtk-2.0/tabs/tab-top.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-notes-plugin-1.8.0/po/sv.po new/xfce4-notes-plugin-1.8.1/po/sv.po
--- old/xfce4-notes-plugin-1.8.0/po/sv.po 2012-10-24 17:17:17.000000000 +0200
+++ new/xfce4-notes-plugin-1.8.1/po/sv.po 2015-06-24 23:27:46.000000000 +0200
@@ -1,331 +1,271 @@
-# Swedish translation for xfce4-notes-plugin.
-# Copyright (C) 2008, 2009 Free Software Foundation, Inc.
-# This file is distributed under the same license as the xfce4-notes-plugin package.
-# Daniel Nylander <po(a)danielnylander.se>, 2008, 2009.
-#
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Translators:
+# Daniel Nylander <po(a)danielnylander.se>, 2008-2009
+# Påvel Nicklasson<pavel(a)frimix.se>, 2015
msgid ""
msgstr ""
-"Project-Id-Version: xfce4-notes-plugin\n"
+"Project-Id-Version: Xfce Panel Plugins\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-10-24 17:16+0200\n"
-"PO-Revision-Date: 2010-10-18 20:31+0100\n"
-"Last-Translator: Daniel Nylander <po(a)danielnylander.se>\n"
-"Language-Team: Swedish <tp-sv(a)listor.tp-sv.se>\n"
-"Language: sv\n"
+"POT-Creation-Date: 2013-07-03 21:09+0200\n"
+"PO-Revision-Date: 2015-06-03 15:48+0000\n"
+"Last-Translator: Påvel Nicklasson <pavelnicklasson(a)bahnhof.se>\n"
+"Language-Team: Swedish (http://www.transifex.com/projects/p/xfce-panel-plugins/language/sv/)\n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Language: sv\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../src/xfce4-notes.desktop.in.h:1
#: ../src/xfce4-notes-autostart.desktop.in.h:1
-#: ../src/xfce4-notes-plugin.desktop.in.h:1 ../lib/application.vala:184
-#: ../lib/application.vala:211 ../lib/application.vala:742
-#: ../lib/window.vala:85 ../lib/window.vala:176 ../lib/window.vala:914
-#: ../src/xfce4-notes-settings.c:99 ../src/main-panel-plugin.vala:46
-#: ../src/main-status-icon.vala:34 ../src/main-status-icon.vala:115
+#: ../src/xfce4-notes-plugin.desktop.in.h:1 ../lib/application.vala:191
+#: ../lib/application.vala:218 ../lib/application.vala:758
+#: ../lib/window.vala:89 ../lib/window.vala:180 ../lib/window.vala:955
+#: ../src/main-settings-dialog.c:107 ../src/main-panel-plugin.vala:46
+#: ../src/main-status-icon.vala:34 ../src/main-status-icon.vala:136
msgid "Notes"
msgstr "Anteckningar"
#: ../src/xfce4-notes.desktop.in.h:2
#: ../src/xfce4-notes-autostart.desktop.in.h:2
-#: ../src/xfce4-notes-plugin.desktop.in.h:2 ../lib/application.vala:744
+#: ../src/xfce4-notes-plugin.desktop.in.h:2 ../lib/application.vala:760
msgid "Ideal for your quick notes"
msgstr "Perfekt för dina snabba anteckningar"
-#: ../lib/application.vala:119 ../lib/application.vala:134
-#: ../src/xfce4-notes-settings.c:223 ../src/xfce4-notes-settings.c:231
+#: ../lib/application.vala:121 ../lib/application.vala:136
+#: ../src/main-settings-dialog.c:279 ../src/main-settings-dialog.c:287
msgid "Select notes path"
msgstr "Välj sökväg för anteckningar"
-#: ../lib/application.vala:120
+#: ../lib/application.vala:122
#, c-format
msgid ""
"The selected directory (%s) for the new notes path already contains files. "
"You must select or create an empty directory."
-msgstr ""
-"Den valda katalogen (%s) för nya anteckningar innehåller redan filer. Du "
-"måste välja eller skapa en tom katalog."
+msgstr "Den valda katalogen (%s) för nya anteckningar innehåller redan filer. Du måste välja eller skapa en tom katalog."
-#: ../lib/application.vala:135
+#: ../lib/application.vala:137
#, c-format
msgid "Unable to select directory for new notes path: %s"
msgstr "Kunde inte välja katalog för nya anteckningar: %s"
-#: ../lib/application.vala:188 ../lib/window.vala:917
+#: ../lib/application.vala:195 ../lib/window.vala:958
#, c-format
msgid "Notes %d"
msgstr "Anteckningar %d"
-#: ../lib/application.vala:428
+#: ../lib/application.vala:435
msgid "Rename group"
msgstr "Byt namn på grupp"
-#: ../lib/application.vala:449 ../lib/window.vala:1039
+#: ../lib/application.vala:463 ../lib/window.vala:1085
#, c-format
msgid "The name %s is already in use"
msgstr "Namnet %s används redan"
-#: ../lib/application.vala:478
+#: ../lib/application.vala:492
msgid "Are you sure you want to delete this group?"
msgstr "Är du säker på att du vill ta bort denna grupp?"
-#: ../lib/application.vala:522
+#: ../lib/application.vala:536
#, c-format
msgid "The group \"%s\" has been modified on the disk"
msgstr "Gruppen \"%s\" har ändrats på disken"
-#: ../lib/application.vala:525
+#: ../lib/application.vala:539
msgid "Do you want to reload the group?"
msgstr "Vill du uppdatera gruppen?"
-#: ../lib/application.vala:648
+#: ../lib/application.vala:662
#, c-format
msgid "The name \"%s\" is invalid."
msgstr "Namnet \"%s\" är ogiltigt."
-#: ../lib/application.vala:649
+#: ../lib/application.vala:663
#, c-format
msgid "The invalid characters are: %s"
msgstr "De ogiltiga tecknen är: %s"
-#: ../lib/application.vala:706
+#: ../lib/application.vala:720
msgid "Unable to open the settings dialog"
msgstr "Kunde inte öppna inställningsdialogen"
-#: ../lib/application.vala:751
+#: ../lib/application.vala:767
msgid "translator-credits"
-msgstr ""
-"Daniel Nylander <po(a)danielnylander.se>\n"
-"\n"
-"Skicka synpunkter på översättningen till\n"
-"<tp-sv(a)listor.tp-sv.se>."
+msgstr "Daniel Nylander <po(a)danielnylander.se>\n\nSkicka synpunkter på översättningen till\n<tp-sv(a)listor.tp-sv.se>."
-#: ../lib/application.vala:786 ../lib/window.vala:781
+#: ../lib/application.vala:802 ../lib/window.vala:822
msgid "_Add a new group"
msgstr "_Lägg till en ny grupp"
-#: ../lib/window.vala:226
+#: ../lib/window.vala:239
msgid "Menu"
msgstr "Meny"
-#: ../lib/window.vala:255
+#: ../lib/window.vala:268
msgid "Refresh notes"
msgstr "Uppdatera anteckningar"
-#: ../lib/window.vala:268
+#: ../lib/window.vala:281
#, c-format
msgid "Hide (%s)"
msgstr "Dölj (%s)"
-#: ../lib/window.vala:648 ../src/main-panel-plugin.vala:50
+#: ../lib/window.vala:689 ../src/main-panel-plugin.vala:50
#: ../src/main-status-icon.vala:53
msgid "_Groups"
msgstr "_Grupper"
-#: ../lib/window.vala:671
+#: ../lib/window.vala:712
msgid "_Rename"
msgstr "_Byt namn"
#. Always on top
-#: ../lib/window.vala:687 ../src/xfce4-notes-settings.c:185
+#: ../lib/window.vala:728 ../src/main-settings-dialog.c:236
msgid "Always on top"
msgstr "Alltid överst"
-#: ../lib/window.vala:692
+#: ../lib/window.vala:733
msgid "Sticky window"
msgstr "Klistrigt fönster"
-#: ../lib/window.vala:767
+#: ../lib/window.vala:808
msgid "_Rename group"
msgstr "_Byt namn på grupp"
-#: ../lib/window.vala:774
+#: ../lib/window.vala:815
msgid "_Delete group"
msgstr "_Ta bort grupp"
-#: ../lib/window.vala:992
+#: ../lib/window.vala:1033
msgid "Are you sure you want to delete this note?"
msgstr "Är du säker på att du vill ta bort denna anteckning?"
-#: ../lib/window.vala:1018
+#: ../lib/window.vala:1059
msgid "Rename note"
msgstr "Byt namn på anteckning"
-#: ../src/xfce4-notes-settings.c:103
+#: ../src/main-settings-dialog.c:115
msgid "Configure the plugin"
msgstr "Konfigurera insticksmodulen"
-#: ../src/xfce4-notes-settings.c:122
+#: ../src/main-settings-dialog.c:142
msgid "Global settings"
msgstr "Allmänna inställningar"
#. Hide from taskbar
-#: ../src/xfce4-notes-settings.c:127
+#: ../src/main-settings-dialog.c:147
msgid "Hide notes from taskbar"
msgstr "Dölj anteckningar från verktygsrad"
-#: ../src/xfce4-notes-settings.c:137
+#: ../src/main-settings-dialog.c:169
msgid "Notes path:"
-msgstr "Sökväg för anteckningar:"
+msgstr "Sökväg till anteckningar:"
-#: ../src/xfce4-notes-settings.c:147
+#: ../src/main-settings-dialog.c:184
msgid "Tabs position:"
-msgstr "Position för flikar:"
+msgstr "Flikposition:"
-#: ../src/xfce4-notes-settings.c:157
+#: ../src/main-settings-dialog.c:199
msgid "Background:"
msgstr "Bakgrund:"
-#: ../src/xfce4-notes-settings.c:170
+#: ../src/main-settings-dialog.c:217
msgid "Font:"
-msgstr "Typsnitt:"
+msgstr "Teckensnitt:"
-#: ../src/xfce4-notes-settings.c:180
+#: ../src/main-settings-dialog.c:231
msgid "New group settings"
msgstr "Inställningar för nya grupper"
#. Sticky window
-#: ../src/xfce4-notes-settings.c:192
+#: ../src/main-settings-dialog.c:243
msgid "Sticky"
msgstr "Klistrigt"
-#: ../src/xfce4-notes-settings.c:202
+#: ../src/main-settings-dialog.c:257
msgid "Size:"
msgstr "Storlek:"
-#: ../src/xfce4-notes-settings.c:270
+#: ../src/main-settings-dialog.c:328 ../src/main-settings-dialog.c:335
msgid "None"
msgstr "Ingen"
-#: ../src/xfce4-notes-settings.c:271
+#: ../src/main-settings-dialog.c:329 ../src/main-settings-dialog.c:336
msgid "Top"
msgstr "Överkant"
-#: ../src/xfce4-notes-settings.c:272
+#: ../src/main-settings-dialog.c:330 ../src/main-settings-dialog.c:337
msgid "Right"
msgstr "Höger"
-#: ../src/xfce4-notes-settings.c:273
+#: ../src/main-settings-dialog.c:331 ../src/main-settings-dialog.c:338
msgid "Bottom"
msgstr "Nederkant"
-#: ../src/xfce4-notes-settings.c:274
+#: ../src/main-settings-dialog.c:332 ../src/main-settings-dialog.c:339
msgid "Left"
msgstr "Vänster"
-#: ../src/xfce4-notes-settings.c:290
+#: ../src/main-settings-dialog.c:357 ../src/main-settings-dialog.c:362
msgid "Small"
msgstr "Liten"
-#: ../src/xfce4-notes-settings.c:291
+#: ../src/main-settings-dialog.c:358 ../src/main-settings-dialog.c:363
msgid "Normal"
msgstr "Normal"
-#: ../src/xfce4-notes-settings.c:292
+#: ../src/main-settings-dialog.c:359 ../src/main-settings-dialog.c:364
msgid "Large"
msgstr "Stor"
-#: ../src/xfce4-notes-settings.c:350
+#: ../src/main-settings-dialog.c:425 ../src/main-settings-dialog.c:438
msgid "Yellow"
msgstr "Gul"
-#: ../src/xfce4-notes-settings.c:351
+#: ../src/main-settings-dialog.c:426 ../src/main-settings-dialog.c:439
msgid "Blue"
msgstr "Blå"
-#: ../src/xfce4-notes-settings.c:352
+#: ../src/main-settings-dialog.c:427 ../src/main-settings-dialog.c:440
msgid "Green"
msgstr "Grön"
-#: ../src/xfce4-notes-settings.c:353
+#: ../src/main-settings-dialog.c:428 ../src/main-settings-dialog.c:441
msgid "Indigo"
msgstr "Indigo"
-#: ../src/xfce4-notes-settings.c:354
+#: ../src/main-settings-dialog.c:429 ../src/main-settings-dialog.c:442
msgid "Olive"
msgstr "Oliv"
-#: ../src/xfce4-notes-settings.c:355
+#: ../src/main-settings-dialog.c:430 ../src/main-settings-dialog.c:443
msgid "Carmine"
msgstr "Carmine"
-#: ../src/xfce4-notes-settings.c:356
+#: ../src/main-settings-dialog.c:431 ../src/main-settings-dialog.c:444
msgid "Mimosa"
msgstr "Mimosa"
-#: ../src/xfce4-notes-settings.c:357
+#: ../src/main-settings-dialog.c:432 ../src/main-settings-dialog.c:445
msgid "White"
msgstr "Vit"
-#: ../src/xfce4-notes-settings.c:358
+#: ../src/main-settings-dialog.c:433 ../src/main-settings-dialog.c:446
msgid "Android"
msgstr "Android"
-#: ../src/xfce4-notes-settings.c:359
+#: ../src/main-settings-dialog.c:434 ../src/main-settings-dialog.c:447
msgid "GTK+"
msgstr "GTK+"
-#: ../src/xfce4-notes-settings.c:360
+#: ../src/main-settings-dialog.c:435 ../src/main-settings-dialog.c:448
msgid "Custom..."
msgstr "Anpassad..."
-#: ../src/xfce4-notes-settings.c:490
+#: ../src/main-settings-dialog.c:579
msgid "Background Color"
msgstr "Bakgrundsfärg"
-
-#~ msgid "Show the automatic navigation bar"
-#~ msgstr "Visa den automatiska navigeringsraden"
-
-#~ msgid "Red"
-#~ msgstr "Röd"
-
-#~ msgid "Purple"
-#~ msgstr "Lila"
-
-#~ msgid "Choose current note font"
-#~ msgstr "Välj fönstertypsnitt"
-
-#~ msgid "Are you sure you want to delete this window?"
-#~ msgstr "Är du säker på att du vill ta bort detta fönster?"
-
-#~ msgid "Window"
-#~ msgstr "Fönster"
-
-#~ msgid "_Options"
-#~ msgstr "A_lternativ"
-
-#~ msgid "R_ename..."
-#~ msgstr "Byt _namn..."
-
-#~ msgid "Show tabs"
-#~ msgstr "Visa flikar"
-
-#~ msgid "Show on startup"
-#~ msgstr "Visa vid uppstart"
-
-#~ msgid "Always"
-#~ msgstr "Alltid"
-
-#~ msgid "Never"
-#~ msgstr "Aldrig"
-
-#~ msgid "Last state"
-#~ msgstr "Senaste tillstånd"
-
-#~ msgid "Rename window"
-#~ msgstr "Byt namn på fönster"
-
-#~ msgid "Error"
-#~ msgstr "Fel"
-
-#~ msgid "Unable to rename window"
-#~ msgstr "Kunde inte byta namn på fönster"
-
-#~ msgid "Unable to rename note"
-#~ msgstr "Kunde inte byta namn på anteckning"
-
-#~ msgid "Hide arrow button"
-#~ msgstr "Dölj pilknapp"
-
-#~ msgid "Notes plugin for the Xfce4 desktop"
-#~ msgstr "Anteckningsinsticksmodul för Xfce4-skrivbordet"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-notes-plugin-1.8.0/src/main-panel-plugin.c new/xfce4-notes-plugin-1.8.1/src/main-panel-plugin.c
--- old/xfce4-notes-plugin-1.8.0/src/main-panel-plugin.c 2015-03-27 21:25:10.000000000 +0100
+++ new/xfce4-notes-plugin-1.8.1/src/main-panel-plugin.c 2015-06-24 23:29:25.000000000 +0200
@@ -125,14 +125,21 @@
static gboolean __lambda4_ (NotesPlugin* self, XfcePanelPlugin* p, gint size) {
gboolean result = FALSE;
- GtkButton* _tmp0_;
- gint _tmp1_;
- gint _tmp2_;
+ gint _tmp0_;
+ guint _tmp1_;
+ guint _tmp2_;
+ GtkButton* _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
g_return_val_if_fail (p != NULL, FALSE);
- _tmp0_ = self->priv->button;
- _tmp1_ = size;
- _tmp2_ = size;
- gtk_widget_set_size_request ((GtkWidget*) _tmp0_, _tmp1_, _tmp2_);
+ _tmp0_ = size;
+ _tmp1_ = xfce_panel_plugin_get_nrows ((XfcePanelPlugin*) self);
+ _tmp2_ = _tmp1_;
+ size = _tmp0_ / ((gint) _tmp2_);
+ _tmp3_ = self->priv->button;
+ _tmp4_ = size;
+ _tmp5_ = size;
+ gtk_widget_set_size_request ((GtkWidget*) _tmp3_, _tmp4_, _tmp5_);
result = TRUE;
return result;
}
@@ -247,6 +254,7 @@
g_signal_connect_object (_tmp7_, "clicked", (GCallback) ___lambda2__gtk_button_clicked, self, 0);
_tmp8_ = self->priv->button;
gtk_widget_show_all ((GtkWidget*) _tmp8_);
+ xfce_panel_plugin_set_small ((XfcePanelPlugin*) self, TRUE);
_tmp9_ = self->priv->button;
gtk_container_add ((GtkContainer*) self, (GtkWidget*) _tmp9_);
_tmp10_ = self->priv->button;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-notes-plugin-1.8.0/src/main-panel-plugin.vala new/xfce4-notes-plugin-1.8.1/src/main-panel-plugin.vala
--- old/xfce4-notes-plugin-1.8.0/src/main-panel-plugin.vala 2015-03-27 19:54:11.000000000 +0100
+++ new/xfce4-notes-plugin-1.8.1/src/main-panel-plugin.vala 2015-06-24 23:27:43.000000000 +0200
@@ -41,6 +41,7 @@
button.add (image);
button.clicked.connect (() => { application.show_hide_notes (); });
button.show_all ();
+ small = true;
add (button);
add_action_widget (button);
set_tooltip_text (_("Notes"));
@@ -56,6 +57,7 @@
set_x_selection ();
size_changed.connect ((p, size) => {
+ size = size / (int)nrows;
button.set_size_request (size, size);
return true;
});
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xfce4-notes-plugin-1.8.0/src/main-popup.c new/xfce4-notes-plugin-1.8.1/src/main-popup.c
--- old/xfce4-notes-plugin-1.8.0/src/main-popup.c 2013-05-04 10:05:05.000000000 +0200
+++ new/xfce4-notes-plugin-1.8.1/src/main-popup.c 2015-06-24 23:36:16.000000000 +0200
@@ -1,4 +1,4 @@
-/* main-popup.c generated by valac 0.16.1, the Vala compiler
+/* main-popup.c generated by valac 0.19.0, the Vala compiler
* generated from main-popup.vala, do not modify */
/*
1
0
Hello community,
here is the log from the commit of package haproxy for openSUSE:Factory checked in at 2015-06-30 10:19:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/haproxy (Old)
and /work/SRC/openSUSE:Factory/.haproxy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "haproxy"
Changes:
--------
--- /work/SRC/openSUSE:Factory/haproxy/haproxy.changes 2015-06-02 10:08:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.haproxy.new/haproxy.changes 2015-06-30 10:19:19.000000000 +0200
@@ -1,0 +2,85 @@
+Fri Jun 26 11:45:33 UTC 2015 - kgronlund(a)suse.com
+
+- Update to 1.5.13
+ - Dropped all patches backported from git, no further changes
+ than those patches provided.
+
+- Removed patches:
+ + Remove 0001-BUG-MEDIUM-stats-properly-initialize-the-scope-befor.patch
+ + Remove 0002-BUG-MEDIUM-http-don-t-forward-client-shutdown-withou.patch
+ + Remove 0003-BUG-MINOR-check-fix-tcpcheck-error-message.patch
+ + Remove 0004-CLEANUP-checks-fix-double-usage-of-cur-current_step-.patch
+ + Remove 0005-BUG-MEDIUM-checks-do-not-dereference-head-of-a-tcp-c.patch
+ + Remove 0006-CLEANUP-checks-simplify-the-loop-processing-of-tcp-c.patch
+ + Remove 0007-BUG-MAJOR-checks-always-check-for-end-of-list-before.patch
+ + Remove 0008-BUG-MEDIUM-checks-do-not-dereference-a-list-as-a-tcp.patch
+ + Remove 0009-BUG-MEDIUM-peers-apply-a-random-reconnection-timeout.patch
+ + Remove 0010-DOC-Update-doc-about-weight-act-and-bck-fields-in-th.patch
+ + Remove 0011-MINOR-ssl-add-a-destructor-to-free-allocated-SSL-res.patch
+ + Remove 0012-BUG-MEDIUM-ssl-fix-tune.ssl.default-dh-param-value-b.patch
+ + Remove 0013-BUG-MINOR-cfgparse-fix-typo-in-option-httplog-error-.patch
+ + Remove 0014-BUG-MEDIUM-cfgparse-segfault-when-userlist-is-misuse.patch
+ + Remove 0015-MEDIUM-ssl-replace-standards-DH-groups-with-custom-o.patch
+ + Remove 0016-BUG-MINOR-debug-display-null-in-place-of-meth.patch
+ + Remove 0017-CLEANUP-deinit-remove-codes-for-cleaning-p-block_rul.patch
+ + Remove 0018-BUG-MINOR-ssl-fix-smp_fetch_ssl_fc_session_id.patch
+ + Remove 0019-MEDIUM-init-don-t-stop-proxies-in-parent-process-whe.patch
+ + Remove 0020-MINOR-peers-store-the-pointer-to-the-signal-handler.patch
+ + Remove 0021-MEDIUM-peers-unregister-peers-that-were-never-starte.patch
+ + Remove 0022-MEDIUM-config-propagate-the-table-s-process-list-to-.patch
+ + Remove 0023-MEDIUM-init-stop-any-peers-section-not-bound-to-the-.patch
+ + Remove 0024-MEDIUM-config-validate-that-peers-sections-are-bound.patch
+ + Remove 0025-MAJOR-peers-allow-peers-section-to-be-used-with-nbpr.patch
+ + Remove 0026-DOC-relax-the-peers-restriction-to-single-process.patch
+ + Remove 0027-CLEANUP-config-fix-misleading-information-in-error-m.patch
+ + Remove 0028-MINOR-config-report-the-number-of-processes-using-a-.patch
+ + Remove 0029-BUG-MEDIUM-config-properly-compute-the-default-numbe.patch
+
+-------------------------------------------------------------------
+Thu Jun 25 15:01:34 UTC 2015 - kgronlund(a)suse.com
+
+- Backport upstream patches:
+ + DOC: Update doc about weight, act and bck fields in the statistics
+ + MINOR: ssl: add a destructor to free allocated SSL ressources
+ + BUG/MEDIUM: ssl: fix tune.ssl.default-dh-param value being overwritten
+ + BUG/MINOR: cfgparse: fix typo in 'option httplog' error message
+ + BUG/MEDIUM: cfgparse: segfault when userlist is misused
+ + MEDIUM: ssl: replace standards DH groups with custom ones
+ + BUG/MINOR: debug: display (null) in place of "meth"
+ + CLEANUP: deinit: remove codes for cleaning p->block_rules
+ + BUG/MINOR: ssl: fix smp_fetch_ssl_fc_session_id
+ + MEDIUM: init: don't stop proxies in parent process when exiting
+ + MINOR: peers: store the pointer to the signal handler
+ + MEDIUM: peers: unregister peers that were never started
+ + MEDIUM: config: propagate the table's process list to the peers sections
+ + MEDIUM: init: stop any peers section not bound to the correct process
+ + MEDIUM: config: validate that peers sections are bound to exactly one process
+ + MAJOR: peers: allow peers section to be used with nbproc > 1
+ + DOC: relax the peers restriction to single-process
+ + CLEANUP: config: fix misleading information in error message.
+ + MINOR: config: report the number of processes using a peers section in the error case
+ + BUG/MEDIUM: config: properly compute the default number of processes for a proxy
+
+- Added patches:
+ + Add 0010-DOC-Update-doc-about-weight-act-and-bck-fields-in-th.patch
+ + Add 0011-MINOR-ssl-add-a-destructor-to-free-allocated-SSL-res.patch
+ + Add 0012-BUG-MEDIUM-ssl-fix-tune.ssl.default-dh-param-value-b.patch
+ + Add 0013-BUG-MINOR-cfgparse-fix-typo-in-option-httplog-error-.patch
+ + Add 0014-BUG-MEDIUM-cfgparse-segfault-when-userlist-is-misuse.patch
+ + Add 0015-MEDIUM-ssl-replace-standards-DH-groups-with-custom-o.patch
+ + Add 0016-BUG-MINOR-debug-display-null-in-place-of-meth.patch
+ + Add 0017-CLEANUP-deinit-remove-codes-for-cleaning-p-block_rul.patch
+ + Add 0018-BUG-MINOR-ssl-fix-smp_fetch_ssl_fc_session_id.patch
+ + Add 0019-MEDIUM-init-don-t-stop-proxies-in-parent-process-whe.patch
+ + Add 0020-MINOR-peers-store-the-pointer-to-the-signal-handler.patch
+ + Add 0021-MEDIUM-peers-unregister-peers-that-were-never-starte.patch
+ + Add 0022-MEDIUM-config-propagate-the-table-s-process-list-to-.patch
+ + Add 0023-MEDIUM-init-stop-any-peers-section-not-bound-to-the-.patch
+ + Add 0024-MEDIUM-config-validate-that-peers-sections-are-bound.patch
+ + Add 0025-MAJOR-peers-allow-peers-section-to-be-used-with-nbpr.patch
+ + Add 0026-DOC-relax-the-peers-restriction-to-single-process.patch
+ + Add 0027-CLEANUP-config-fix-misleading-information-in-error-m.patch
+ + Add 0028-MINOR-config-report-the-number-of-processes-using-a-.patch
+ + Add 0029-BUG-MEDIUM-config-properly-compute-the-default-numbe.patch
+
+-------------------------------------------------------------------
Old:
----
0001-BUG-MEDIUM-stats-properly-initialize-the-scope-befor.patch
0002-BUG-MEDIUM-http-don-t-forward-client-shutdown-withou.patch
0003-BUG-MINOR-check-fix-tcpcheck-error-message.patch
0004-CLEANUP-checks-fix-double-usage-of-cur-current_step-.patch
0005-BUG-MEDIUM-checks-do-not-dereference-head-of-a-tcp-c.patch
0006-CLEANUP-checks-simplify-the-loop-processing-of-tcp-c.patch
0007-BUG-MAJOR-checks-always-check-for-end-of-list-before.patch
0008-BUG-MEDIUM-checks-do-not-dereference-a-list-as-a-tcp.patch
0009-BUG-MEDIUM-peers-apply-a-random-reconnection-timeout.patch
haproxy-1.5.12.tar.gz
New:
----
haproxy-1.5.13.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ haproxy.spec ++++++
--- /var/tmp/diff_new_pack.XTBXsN/_old 2015-06-30 10:19:20.000000000 +0200
+++ /var/tmp/diff_new_pack.XTBXsN/_new 2015-06-30 10:19:20.000000000 +0200
@@ -33,7 +33,7 @@
%bcond_without apparmor
Name: haproxy
-Version: 1.5.12
+Version: 1.5.13
Release: 0
#
#
@@ -61,22 +61,6 @@
Patch2: haproxy-makefile_lib.patch
Patch3: sec-options.patch
Patch4: haproxy-1.5.8-fix-bashisms.patch
-Patch5: 0001-BUG-MEDIUM-stats-properly-initialize-the-scope-befor.patch
-Patch6: 0002-BUG-MEDIUM-http-don-t-forward-client-shutdown-withou.patch
-# PATCH-FIX-UPSTREAM: BUG/MINOR: check: fix tcpcheck error message
-Patch7: 0003-BUG-MINOR-check-fix-tcpcheck-error-message.patch
-# PATCH-FIX-UPSTREAM: CLEANUP: checks: fix double usage of cur / current_step in tcp-checks
-Patch8: 0004-CLEANUP-checks-fix-double-usage-of-cur-current_step-.patch
-# PATCH-FIX-UPSTREAM: BUG/MEDIUM: checks: do not dereference head of a tcp-check at the end
-Patch9: 0005-BUG-MEDIUM-checks-do-not-dereference-head-of-a-tcp-c.patch
-# PATCH-FIX-UPSTREAM: CLEANUP: checks: simplify the loop processing of tcp-checks
-Patch10: 0006-CLEANUP-checks-simplify-the-loop-processing-of-tcp-c.patch
-# PATCH-FIX-UPSTREAM: BUG/MAJOR: checks: always check for end of list before proceeding
-Patch11: 0007-BUG-MAJOR-checks-always-check-for-end-of-list-before.patch
-# PATCH-FIX-UPSTREAM: BUG/MEDIUM: checks: do not dereference a list as a tcpcheck struct
-Patch12: 0008-BUG-MEDIUM-checks-do-not-dereference-a-list-as-a-tcp.patch
-# PATCH-FIX-UPSTREAM: BUG/MEDIUM: peers: apply a random reconnection timeout
-Patch13: 0009-BUG-MEDIUM-peers-apply-a-random-reconnection-timeout.patch
#
Source99: haproxy-rpmlintrc
@@ -112,15 +96,7 @@
%patch2
%patch3
%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
+
%build
%{__make} \
++++++ haproxy-1.5.12.tar.gz -> haproxy-1.5.13.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/CHANGELOG new/haproxy-1.5.13/CHANGELOG
--- old/haproxy-1.5.12/CHANGELOG 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/CHANGELOG 2015-06-26 12:20:45.000000000 +0200
@@ -1,6 +1,37 @@
ChangeLog :
===========
+2015/06/26 : 1.5.13
+ - BUG/MINOR: check: fix tcpcheck error message
+ - CLEANUP: deinit: remove codes for cleaning p->block_rules
+ - DOC: Update doc about weight, act and bck fields in the statistics
+ - MINOR: ssl: add a destructor to free allocated SSL ressources
+ - BUG/MEDIUM: ssl: fix tune.ssl.default-dh-param value being overwritten
+ - MEDIUM: ssl: replace standards DH groups with custom ones
+ - BUG/MINOR: debug: display (null) in place of "meth"
+ - BUG/MINOR: cfgparse: fix typo in 'option httplog' error message
+ - BUG/MEDIUM: cfgparse: segfault when userlist is misused
+ - BUG/MEDIUM: stats: properly initialize the scope before dumping stats
+ - BUG/MEDIUM: http: don't forward client shutdown without NOLINGER except for tunnels
+ - CLEANUP: checks: fix double usage of cur / current_step in tcp-checks
+ - BUG/MEDIUM: checks: do not dereference head of a tcp-check at the end
+ - CLEANUP: checks: simplify the loop processing of tcp-checks
+ - BUG/MAJOR: checks: always check for end of list before proceeding
+ - BUG/MEDIUM: checks: do not dereference a list as a tcpcheck struct
+ - BUG/MEDIUM: peers: apply a random reconnection timeout
+ - BUG/MINOR: ssl: fix smp_fetch_ssl_fc_session_id
+ - MEDIUM: init: don't stop proxies in parent process when exiting
+ - MINOR: peers: store the pointer to the signal handler
+ - MEDIUM: peers: unregister peers that were never started
+ - MEDIUM: config: propagate the table's process list to the peers sections
+ - MEDIUM: init: stop any peers section not bound to the correct process
+ - MEDIUM: config: validate that peers sections are bound to exactly one process
+ - MAJOR: peers: allow peers section to be used with nbproc > 1
+ - DOC: relax the peers restriction to single-process
+ - CLEANUP: config: fix misleading information in error message.
+ - MINOR: config: report the number of processes using a peers section in the error case
+ - BUG/MEDIUM: config: properly compute the default number of processes for a proxy
+
2015/05/02 : 1.5.12
- BUG/MINOR: ssl: Display correct filename in error message
- DOC: Fix L4TOUT typo in documentation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/README new/haproxy-1.5.13/README
--- old/haproxy-1.5.12/README 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/README 2015-06-26 12:20:45.000000000 +0200
@@ -1,9 +1,9 @@
----------------------
HAProxy how-to
----------------------
- version 1.5.12
+ version 1.5.13
willy tarreau
- 2015/05/02
+ 2015/06/26
1) How to build it
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/VERDATE new/haproxy-1.5.13/VERDATE
--- old/haproxy-1.5.12/VERDATE 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/VERDATE 2015-06-26 12:20:45.000000000 +0200
@@ -1,2 +1,2 @@
$Format:%ci$
-2015/05/02
+2015/06/23
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/VERSION new/haproxy-1.5.13/VERSION
--- old/haproxy-1.5.12/VERSION 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/VERSION 2015-06-26 12:20:45.000000000 +0200
@@ -1 +1 @@
-1.5.12
+1.5.13
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/doc/configuration.txt new/haproxy-1.5.13/doc/configuration.txt
--- old/haproxy-1.5.12/doc/configuration.txt 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/doc/configuration.txt 2015-06-26 12:20:45.000000000 +0200
@@ -2,9 +2,9 @@
HAProxy
Configuration Manual
----------------------
- version 1.5.12
+ version 1.5.13
willy tarreau
- 2015/05/02
+ 2015/06/26
This document covers the configuration language as implemented in the version
@@ -6911,7 +6911,8 @@
automatically learned from the local peer (old process) during a
soft restart.
- NOTE : peers can't be used in multi-process mode.
+ NOTE : each peers section may be referenced only by tables
+ belonging to the same unique process.
<expire> defines the maximum duration of an entry in the table since it
was last created, refreshed or matched. The expiration delay is
@@ -13240,9 +13241,9 @@
server. The server value counts the number of times that server was
switched away from.
17. status [LFBS]: status (UP/DOWN/NOLB/MAINT/MAINT(via)...)
- 18. weight [..BS]: server weight (server), total weight (backend)
- 19. act [..BS]: server is active (server), number of active servers (backend)
- 20. bck [..BS]: server is backup (server), number of backup servers (backend)
+ 18. weight [..BS]: total weight (backend), server weight (server)
+ 19. act [..BS]: number of active servers (backend), server is active (server)
+ 20. bck [..BS]: number of backup servers (backend), server is backup (server)
21. chkfail [...S]: number of failed checks. (Only counts checks failed when
the server is up.)
22. chkdown [..BS]: number of UP->DOWN transitions. The backend counter counts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/examples/haproxy.spec new/haproxy-1.5.13/examples/haproxy.spec
--- old/haproxy-1.5.12/examples/haproxy.spec 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/examples/haproxy.spec 2015-06-26 12:20:45.000000000 +0200
@@ -1,6 +1,6 @@
Summary: HA-Proxy is a TCP/HTTP reverse proxy for high availability environments
Name: haproxy
-Version: 1.5.12
+Version: 1.5.13
Release: 1
License: GPL
Group: System Environment/Daemons
@@ -76,6 +76,9 @@
%attr(0755,root,root) %config %{_sysconfdir}/rc.d/init.d/%{name}
%changelog
+* Fri Jun 26 2015 Willy Tarreau <w(a)1wt.eu>
+- updated to 1.5.13
+
* Sat May 2 2015 Willy Tarreau <w(a)1wt.eu>
- updated to 1.5.12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/include/types/peers.h new/haproxy-1.5.13/include/types/peers.h
--- old/haproxy-1.5.12/include/types/peers.h 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/include/types/peers.h 2015-06-26 12:20:45.000000000 +0200
@@ -56,6 +56,7 @@
struct shared_table {
struct stktable *table; /* stick table to sync */
struct task *sync_task; /* main sync task */
+ struct sig_handler *sighandler; /* signal handler */
struct peer_session *local_session; /* local peer session */
struct peer_session *sessions; /* peer sessions list */
unsigned int flags; /* current table resync state */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/src/cfgparse.c new/haproxy-1.5.13/src/cfgparse.c
--- old/haproxy-1.5.12/src/cfgparse.c 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/src/cfgparse.c 2015-06-26 12:20:45.000000000 +0200
@@ -1841,6 +1841,7 @@
curpeers->peers_fe->options2 |= PR_O2_INDEPSTR | PR_O2_SMARTCON | PR_O2_SMARTACC;
curpeers->peers_fe->conf.args.file = curpeers->peers_fe->conf.file = strdup(file);
curpeers->peers_fe->conf.args.line = curpeers->peers_fe->conf.line = linenum;
+ curpeers->peers_fe->bind_proc = 0; /* will be filled by users */
bind_conf = bind_conf_alloc(&curpeers->peers_fe->conf.bind, file, linenum, args[2]);
@@ -3792,7 +3793,7 @@
curproxy->options2 |= PR_O2_CLFLOG;
logformat = clf_http_log_format;
} else {
- Alert("parsing [%s:%d] : keyword '%s' only supports option 'clf'.\n", file, linenum, args[2]);
+ Alert("parsing [%s:%d] : keyword '%s' only supports option 'clf'.\n", file, linenum, args[1]);
err_code |= ERR_ALERT | ERR_FATAL;
goto out;
}
@@ -4362,18 +4363,16 @@
const char *ptr_arg;
int cur_arg;
struct tcpcheck_rule *tcpcheck;
- struct list *l;
/* check if first rule is also a 'connect' action */
- l = (struct list *)&curproxy->tcpcheck_rules;
- if (l->p != l->n) {
- tcpcheck = (struct tcpcheck_rule *)l->n;
- if (tcpcheck && tcpcheck->action != TCPCHK_ACT_CONNECT) {
- Alert("parsing [%s:%d] : first step MUST also be a 'connect' when there is a 'connect' step in the tcp-check ruleset.\n",
- file, linenum);
- err_code |= ERR_ALERT | ERR_FATAL;
- goto out;
- }
+ tcpcheck = LIST_NEXT(&curproxy->tcpcheck_rules, struct tcpcheck_rule *, list);
+
+ if (&tcpcheck->list != &curproxy->tcpcheck_rules
+ && tcpcheck->action != TCPCHK_ACT_CONNECT) {
+ Alert("parsing [%s:%d] : first step MUST also be a 'connect' when there is a 'connect' step in the tcp-check ruleset.\n",
+ file, linenum);
+ err_code |= ERR_ALERT | ERR_FATAL;
+ goto out;
}
cur_arg = 2;
@@ -5670,6 +5669,9 @@
goto out;
}
+ if (!userlist)
+ goto out;
+
for (ag = userlist->groups; ag; ag = ag->next)
if (!strcmp(ag->name, args[1])) {
Warning("parsing [%s:%d]: ignoring duplicated group '%s' in userlist '%s'.\n",
@@ -5720,6 +5722,8 @@
err_code |= ERR_ALERT | ERR_FATAL;
goto out;
}
+ if (!userlist)
+ goto out;
for (newuser = userlist->users; newuser; newuser = newuser->next)
if (!strcmp(newuser->user, args[1])) {
@@ -6166,12 +6170,6 @@
}
}
- if (global.nbproc > 1 && curproxy->table.peers.name) {
- Alert("Proxy '%s': peers can't be used in multi-process mode (nbproc > 1).\n",
- curproxy->id);
- cfgerr++;
- }
-
switch (curproxy->mode) {
case PR_MODE_HEALTH:
cfgerr += proxy_cfg_ensure_no_http(curproxy);
@@ -7110,23 +7108,23 @@
list_for_each_entry(bind_conf, &curproxy->conf.bind, by_fe) {
unsigned long mask;
- mask = bind_conf->bind_proc ? bind_conf->bind_proc : ~0UL;
+ mask = bind_conf->bind_proc ? bind_conf->bind_proc : nbits(global.nbproc);
curproxy->bind_proc |= mask;
}
if (!curproxy->bind_proc)
- curproxy->bind_proc = ~0UL;
+ curproxy->bind_proc = nbits(global.nbproc);
}
if (global.stats_fe) {
list_for_each_entry(bind_conf, &global.stats_fe->conf.bind, by_fe) {
unsigned long mask;
- mask = bind_conf->bind_proc ? bind_conf->bind_proc : ~0UL;
+ mask = bind_conf->bind_proc ? bind_conf->bind_proc : nbits(global.nbproc);
global.stats_fe->bind_proc |= mask;
}
if (!global.stats_fe->bind_proc)
- global.stats_fe->bind_proc = ~0UL;
+ global.stats_fe->bind_proc = nbits(global.nbproc);
}
/* propagate bindings from frontends to backends. Don't do it if there
@@ -7143,7 +7141,7 @@
for (curproxy = proxy; curproxy; curproxy = curproxy->next) {
if (curproxy->bind_proc)
continue;
- curproxy->bind_proc = ~0UL;
+ curproxy->bind_proc = nbits(global.nbproc);
}
/*******************************************************/
@@ -7396,13 +7394,18 @@
global.last_checks |= cfg_opts2[optnum].checks;
}
+ /* compute the required process bindings for the peers */
+ for (curproxy = proxy; curproxy; curproxy = curproxy->next)
+ if (curproxy->table.peers.p)
+ curproxy->table.peers.p->peers_fe->bind_proc |= curproxy->bind_proc;
+
if (peers) {
struct peers *curpeers = peers, **last;
struct peer *p, *pb;
- /* Remove all peers sections which don't have a valid listener.
- * This can happen when a peers section is never referenced and
- * does not contain a local peer.
+ /* Remove all peers sections which don't have a valid listener,
+ * which are not used by any table, or which are bound to more
+ * than one process.
*/
last = &peers;
while (*last) {
@@ -7418,6 +7421,18 @@
Warning("Removing incomplete section 'peers %s' (no peer named '%s').\n",
curpeers->id, localpeer);
}
+ else if (popcount(curpeers->peers_fe->bind_proc) != 1) {
+ /* either it's totally stopped or too much used */
+ if (curpeers->peers_fe->bind_proc) {
+ Alert("Peers section '%s': peers referenced by sections "
+ "running in different processes (%d different ones). "
+ "Check global.nbproc and all tables' bind-process "
+ "settings.\n", curpeers->id, popcount(curpeers->peers_fe->bind_proc));
+ cfgerr++;
+ }
+ stop_proxy(curpeers->peers_fe);
+ curpeers->peers_fe = NULL;
+ }
else {
last = &curpeers->next;
continue;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/src/checks.c new/haproxy-1.5.13/src/checks.c
--- old/haproxy-1.5.12/src/checks.c 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/src/checks.c 2015-06-26 12:20:45.000000000 +0200
@@ -614,7 +614,7 @@
}
else if (check->last_started_step && check->last_started_step->action == TCPCHK_ACT_EXPECT) {
if (check->last_started_step->string)
- chunk_appendf(chk, " (string '%s')", check->last_started_step->string);
+ chunk_appendf(chk, " (expect string '%s')", check->last_started_step->string);
else if (check->last_started_step->expect_regex)
chunk_appendf(chk, " (expect regex)");
}
@@ -1444,7 +1444,10 @@
quickack = check->type == 0 || check->type == PR_O2_TCPCHK_CHK;
if (check->type == PR_O2_TCPCHK_CHK && !LIST_ISEMPTY(&s->proxy->tcpcheck_rules)) {
- struct tcpcheck_rule *r = (struct tcpcheck_rule *) s->proxy->tcpcheck_rules.n;
+ struct tcpcheck_rule *r;
+
+ r = LIST_NEXT(&s->proxy->tcpcheck_rules, struct tcpcheck_rule *, list);
+
/* if first step is a 'connect', then tcpcheck_main must run it */
if (r->action == TCPCHK_ACT_CONNECT) {
tcpcheck_main(conn);
@@ -1859,7 +1862,7 @@
static void tcpcheck_main(struct connection *conn)
{
char *contentptr;
- struct tcpcheck_rule *cur, *next;
+ struct tcpcheck_rule *next;
int done = 0, ret = 0;
struct check *check = conn->owner;
struct server *s = check->server;
@@ -1916,25 +1919,23 @@
check->bo->o = 0;
check->bi->p = check->bi->data;
check->bi->i = 0;
- cur = check->current_step = LIST_ELEM(head->n, struct tcpcheck_rule *, list);
+ check->current_step = LIST_ELEM(head->n, struct tcpcheck_rule *, list);
t->expire = tick_add(now_ms, MS_TO_TICKS(check->inter));
if (s->proxy->timeout.check)
t->expire = tick_add_ifset(now_ms, s->proxy->timeout.check);
}
- /* keep on processing step */
- else {
- cur = check->current_step;
- }
/* It's only the rules which will enable send/recv */
__conn_data_stop_both(conn);
while (1) {
- /* we have to try to flush the output buffer before reading, at the end,
- * or if we're about to send a string that does not fit in the remaining space.
+ /* We have to try to flush the output buffer before reading, at
+ * the end, or if we're about to send a string that does not fit
+ * in the remaining space. That explains why we break out of the
+ * loop after this control.
*/
if (check->bo->o &&
- (&cur->list == head ||
+ (&check->current_step->list == head ||
check->current_step->action != TCPCHK_ACT_SEND ||
check->current_step->string_len >= buffer_total_space(check->bo))) {
@@ -1944,19 +1945,18 @@
__conn_data_stop_both(conn);
goto out_end_tcpcheck;
}
- goto out_need_io;
+ break;
}
}
- /* did we reach the end ? If so, let's check that everything was sent */
- if (&cur->list == head) {
- if (check->bo->o)
- goto out_need_io;
+ if (&check->current_step->list == head)
break;
- }
- /* have 'next' point to the next rule or NULL if we're on the last one */
- next = (struct tcpcheck_rule *)cur->list.n;
+ /* have 'next' point to the next rule or NULL if we're on the
+ * last one, connect() needs this.
+ */
+ next = LIST_NEXT(&check->current_step->list, struct tcpcheck_rule *, list);
+
if (&next->list == head)
next = NULL;
@@ -2058,8 +2058,10 @@
}
/* allow next rule */
- cur = (struct tcpcheck_rule *)cur->list.n;
- check->current_step = cur;
+ check->current_step = LIST_NEXT(&check->current_step->list, struct tcpcheck_rule *, list);
+
+ if (&check->current_step->list == head)
+ break;
/* don't do anything until the connection is established */
if (!(conn->flags & CO_FL_CONNECTED)) {
@@ -2113,8 +2115,10 @@
*check->bo->p = '\0'; /* to make gdb output easier to read */
/* go to next rule and try to send */
- cur = (struct tcpcheck_rule *)cur->list.n;
- check->current_step = cur;
+ check->current_step = LIST_NEXT(&check->current_step->list, struct tcpcheck_rule *, list);
+
+ if (&check->current_step->list == head)
+ break;
} /* end 'send' */
else if (check->current_step->action == TCPCHK_ACT_EXPECT) {
if (unlikely(check->result == CHK_RES_FAILED))
@@ -2134,7 +2138,7 @@
}
}
else
- goto out_need_io;
+ break;
}
/* mark the step as started */
@@ -2167,14 +2171,14 @@
goto out_end_tcpcheck;
}
- if (!done && (cur->string != NULL) && (check->bi->i < cur->string_len) )
+ if (!done && (check->current_step->string != NULL) && (check->bi->i < check->current_step->string_len) )
continue; /* try to read more */
tcpcheck_expect:
- if (cur->string != NULL)
- ret = my_memmem(contentptr, check->bi->i, cur->string, cur->string_len) != NULL;
- else if (cur->expect_regex != NULL)
- ret = regex_exec(cur->expect_regex, contentptr);
+ if (check->current_step->string != NULL)
+ ret = my_memmem(contentptr, check->bi->i, check->current_step->string, check->current_step->string_len) != NULL;
+ else if (check->current_step->expect_regex != NULL)
+ ret = regex_exec(check->current_step->expect_regex, contentptr);
if (!ret && !done)
continue; /* try to read more */
@@ -2182,11 +2186,11 @@
/* matched */
if (ret) {
/* matched but we did not want to => ERROR */
- if (cur->inverse) {
+ if (check->current_step->inverse) {
/* we were looking for a string */
- if (cur->string != NULL) {
+ if (check->current_step->string != NULL) {
chunk_printf(&trash, "TCPCHK matched unwanted content '%s' at step %d",
- cur->string, tcpcheck_get_step_id(s));
+ check->current_step->string, tcpcheck_get_step_id(s));
}
else {
/* we were looking for a regex */
@@ -2198,8 +2202,12 @@
}
/* matched and was supposed to => OK, next step */
else {
- cur = (struct tcpcheck_rule*)cur->list.n;
- check->current_step = cur;
+ /* allow next rule */
+ check->current_step = LIST_NEXT(&check->current_step->list, struct tcpcheck_rule *, list);
+
+ if (&check->current_step->list == head)
+ break;
+
if (check->current_step->action == TCPCHK_ACT_EXPECT)
goto tcpcheck_expect;
__conn_data_stop_recv(conn);
@@ -2208,9 +2216,13 @@
else {
/* not matched */
/* not matched and was not supposed to => OK, next step */
- if (cur->inverse) {
- cur = (struct tcpcheck_rule*)cur->list.n;
- check->current_step = cur;
+ if (check->current_step->inverse) {
+ /* allow next rule */
+ check->current_step = LIST_NEXT(&check->current_step->list, struct tcpcheck_rule *, list);
+
+ if (&check->current_step->list == head)
+ break;
+
if (check->current_step->action == TCPCHK_ACT_EXPECT)
goto tcpcheck_expect;
__conn_data_stop_recv(conn);
@@ -2218,9 +2230,9 @@
/* not matched but was supposed to => ERROR */
else {
/* we were looking for a string */
- if (cur->string != NULL) {
+ if (check->current_step->string != NULL) {
chunk_printf(&trash, "TCPCHK did not match content '%s' at step %d",
- cur->string, tcpcheck_get_step_id(s));
+ check->current_step->string, tcpcheck_get_step_id(s));
}
else {
/* we were looking for a regex */
@@ -2234,14 +2246,20 @@
} /* end expect */
} /* end loop over double chained step list */
- set_server_check_status(check, HCHK_STATUS_L7OKD, "(tcp-check)");
- goto out_end_tcpcheck;
+ /* We're waiting for some I/O to complete, we've reached the end of the
+ * rules, or both. Do what we have to do, otherwise we're done.
+ */
+ if (&check->current_step->list == head && !check->bo->o) {
+ set_server_check_status(check, HCHK_STATUS_L7OKD, "(tcp-check)");
+ goto out_end_tcpcheck;
+ }
- out_need_io:
+ /* warning, current_step may now point to the head */
if (check->bo->o)
__conn_data_want_send(conn);
- if (check->current_step->action == TCPCHK_ACT_EXPECT)
+ if (&check->current_step->list != head &&
+ check->current_step->action == TCPCHK_ACT_EXPECT)
__conn_data_want_recv(conn);
return;
@@ -2257,7 +2275,6 @@
conn->flags |= CO_FL_ERROR;
__conn_data_stop_both(conn);
-
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/src/dumpstats.c new/haproxy-1.5.13/src/dumpstats.c
--- old/haproxy-1.5.12/src/dumpstats.c 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/src/dumpstats.c 2015-06-26 12:20:45.000000000 +0200
@@ -1109,6 +1109,8 @@
arg++;
}
+ appctx->ctx.stats.scope_str = 0;
+ appctx->ctx.stats.scope_len = 0;
appctx->ctx.stats.flags = 0;
if (strcmp(args[0], "show") == 0) {
if (strcmp(args[1], "stat") == 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/src/haproxy.c new/haproxy-1.5.13/src/haproxy.c
--- old/haproxy-1.5.12/src/haproxy.c 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/src/haproxy.c 2015-06-26 12:20:45.000000000 +0200
@@ -216,7 +216,7 @@
void display_version()
{
printf("HA-Proxy version " HAPROXY_VERSION " " HAPROXY_DATE"\n");
- printf("Copyright 2000-2015 Willy Tarreau <w(a)1wt.eu>\n\n");
+ printf("Copyright 2000-2015 Willy Tarreau <willy(a)haproxy.org>\n\n");
}
void display_build_opts()
@@ -1020,12 +1020,6 @@
free(cwl);
}
- list_for_each_entry_safe(cond, condb, &p->block_rules, list) {
- LIST_DEL(&cond->list);
- prune_acl_cond(cond);
- free(cond);
- }
-
list_for_each_entry_safe(cond, condb, &p->mon_fail_cond, list) {
LIST_DEL(&cond->list);
prune_acl_cond(cond);
@@ -1554,6 +1548,7 @@
if (global.mode & (MODE_DAEMON | MODE_SYSTEMD)) {
struct proxy *px;
+ struct peers *curpeers;
int ret = 0;
int *children = calloc(global.nbproc, sizeof(int));
int proc;
@@ -1594,6 +1589,15 @@
free(global.chroot); global.chroot = NULL;
free(global.pidfile); global.pidfile = NULL;
+ if (proc == global.nbproc) {
+ if (global.mode & MODE_SYSTEMD) {
+ protocol_unbind_all();
+ for (proc = 0; proc < global.nbproc; proc++)
+ while (waitpid(children[proc], NULL, 0) == -1 && errno == EINTR);
+ }
+ exit(0); /* parent must leave */
+ }
+
/* we might have to unbind some proxies from some processes */
px = proxy;
while (px != NULL) {
@@ -1604,13 +1608,17 @@
px = px->next;
}
- if (proc == global.nbproc) {
- if (global.mode & MODE_SYSTEMD) {
- protocol_unbind_all();
- for (proc = 0; proc < global.nbproc; proc++)
- while (waitpid(children[proc], NULL, 0) == -1 && errno == EINTR);
- }
- exit(0); /* parent must leave */
+ /* we might have to unbind some peers sections from some processes */
+ for (curpeers = peers; curpeers; curpeers = curpeers->next) {
+ if (!curpeers->peers_fe)
+ continue;
+
+ if (curpeers->peers_fe->bind_proc & (1UL << proc))
+ continue;
+
+ stop_proxy(curpeers->peers_fe);
+ /* disable this peer section so that it kills itself */
+ curpeers->peers_fe = NULL;
}
free(children);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/src/peers.c new/haproxy-1.5.13/src/peers.c
--- old/haproxy-1.5.12/src/peers.c 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/src/peers.c 2015-06-26 12:20:45.000000000 +0200
@@ -1063,6 +1063,7 @@
{
struct stream_interface *oldsi = NULL;
struct appctx *appctx = NULL;
+ struct peer_session *ps;
int i;
for (i = 0; i <= 1; i++) {
@@ -1079,6 +1080,14 @@
if (!appctx)
return;
+ ps = (struct peer_session *)appctx->ctx.peers.ptr;
+ /* we're killing a connection, we must apply a random delay before
+ * retrying otherwise the other end will do the same and we can loop
+ * for a while.
+ */
+ if (ps)
+ ps->reconnect = tick_add(now_ms, MS_TO_TICKS(50 + random() % 2000));
+
/* call release to reinit resync states if needed */
peer_session_release(oldsi);
appctx->st0 = PEER_SESS_ST_END;
@@ -1328,6 +1337,15 @@
task->expire = TICK_ETERNITY;
+ if (!st->sessions->peer->peers->peers_fe) {
+ /* this one was never started, kill it */
+ signal_unregister_handler(st->sighandler);
+ st->table->sync_task = NULL;
+ task_delete(st->sync_task);
+ task_free(st->sync_task);
+ return NULL;
+ }
+
if (!stopping) {
/* Normal case (not soft stop)*/
if (((st->flags & SHTABLE_RESYNC_STATEMASK) == SHTABLE_RESYNC_FROMLOCAL) &&
@@ -1352,8 +1370,8 @@
if (!ps->session) {
/* no active session */
if (ps->statuscode == 0 ||
- ps->statuscode == PEER_SESS_SC_SUCCESSCODE ||
((ps->statuscode == PEER_SESS_SC_CONNECTCODE ||
+ ps->statuscode == PEER_SESS_SC_SUCCESSCODE ||
ps->statuscode == PEER_SESS_SC_CONNECTEDCODE) &&
tick_is_expired(ps->reconnect, now_ms))) {
/* connection never tried
@@ -1364,8 +1382,7 @@
/* retry a connect */
ps->session = peer_session_create(ps->peer, ps);
}
- else if (ps->statuscode == PEER_SESS_SC_CONNECTCODE ||
- ps->statuscode == PEER_SESS_SC_CONNECTEDCODE) {
+ else if (!tick_is_expired(ps->reconnect, now_ms)) {
/* If previous session failed during connection
* but reconnection timer is not expired */
@@ -1516,8 +1533,8 @@
st->sync_task->process = process_peer_sync;
st->sync_task->expire = TICK_ETERNITY;
st->sync_task->context = (void *)st;
- table->sync_task =st->sync_task;
- signal_register_task(0, table->sync_task, 0);
+ table->sync_task = st->sync_task;
+ st->sighandler = signal_register_task(0, table->sync_task, 0);
task_wakeup(st->sync_task, TASK_WOKEN_INIT);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/src/proto_http.c new/haproxy-1.5.13/src/proto_http.c
--- old/haproxy-1.5.12/src/proto_http.c 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/src/proto_http.c 2015-06-26 12:20:45.000000000 +0200
@@ -5452,9 +5452,10 @@
msg->sov -= msg->next;
msg->next = 0;
- /* for keep-alive we don't want to forward closes on DONE */
- if ((txn->flags & TX_CON_WANT_MSK) == TX_CON_WANT_KAL ||
- (txn->flags & TX_CON_WANT_MSK) == TX_CON_WANT_SCL)
+ /* we don't want to forward closes on DONE except in
+ * tunnel mode.
+ */
+ if ((txn->flags & TX_CON_WANT_MSK) != TX_CON_WANT_TUN)
channel_dont_close(req);
if (http_resync_states(s)) {
/* some state changes occurred, maybe the analyser
@@ -5478,10 +5479,15 @@
* want to monitor the client's connection and forward
* any shutdown notification to the server, which will
* decide whether to close or to go on processing the
- * request.
+ * request. We only do that in tunnel mode, and not in
+ * other modes since it can be abused to exhaust source
+ * ports.
*/
if (s->be->options & PR_O_ABRT_CLOSE) {
channel_auto_read(req);
+ if ((req->flags & (CF_SHUTR|CF_READ_NULL)) &&
+ ((txn->flags & TX_CON_WANT_MSK) != TX_CON_WANT_TUN))
+ s->si[1].flags |= SI_FL_NOLINGER;
channel_auto_close(req);
}
else if (s->txn.meth == HTTP_METH_POST) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/src/sample.c new/haproxy-1.5.13/src/sample.c
--- old/haproxy-1.5.12/src/sample.c 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/src/sample.c 2015-06-26 12:20:45.000000000 +0200
@@ -40,6 +40,7 @@
[SMP_T_IPV6] = "ipv6",
[SMP_T_STR] = "str",
[SMP_T_BIN] = "bin",
+ [SMP_T_METH] = "meth",
};
/* static sample used in sample_process() when <p> is NULL */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/haproxy-1.5.12/src/ssl_sock.c new/haproxy-1.5.13/src/ssl_sock.c
--- old/haproxy-1.5.12/src/ssl_sock.c 2015-05-02 15:20:38.000000000 +0200
+++ new/haproxy-1.5.13/src/ssl_sock.c 2015-06-26 12:20:45.000000000 +0200
@@ -47,6 +47,9 @@
#ifdef SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB
#include <openssl/ocsp.h>
#endif
+#ifndef OPENSSL_NO_DH
+#include <openssl/dh.h>
+#endif
#include <common/buffer.h>
#include <common/compat.h>
@@ -107,10 +110,10 @@
int totalsslconns = 0;
#ifndef OPENSSL_NO_DH
+static int ssl_dh_ptr_index = -1;
static DH *local_dh_1024 = NULL;
static DH *local_dh_2048 = NULL;
static DH *local_dh_4096 = NULL;
-static DH *local_dh_8192 = NULL;
#endif /* OPENSSL_NO_DH */
#ifdef SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB
@@ -762,32 +765,28 @@
static DH * ssl_get_dh_1024(void)
{
-#if OPENSSL_VERSION_NUMBER < 0x0090801fL
- static const unsigned char rfc_2409_prime_1024[] = {
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC9,0x0F,0xDA,0xA2,
- 0x21,0x68,0xC2,0x34,0xC4,0xC6,0x62,0x8B,0x80,0xDC,0x1C,0xD1,
- 0x29,0x02,0x4E,0x08,0x8A,0x67,0xCC,0x74,0x02,0x0B,0xBE,0xA6,
- 0x3B,0x13,0x9B,0x22,0x51,0x4A,0x08,0x79,0x8E,0x34,0x04,0xDD,
- 0xEF,0x95,0x19,0xB3,0xCD,0x3A,0x43,0x1B,0x30,0x2B,0x0A,0x6D,
- 0xF2,0x5F,0x14,0x37,0x4F,0xE1,0x35,0x6D,0x6D,0x51,0xC2,0x45,
- 0xE4,0x85,0xB5,0x76,0x62,0x5E,0x7E,0xC6,0xF4,0x4C,0x42,0xE9,
- 0xA6,0x37,0xED,0x6B,0x0B,0xFF,0x5C,0xB6,0xF4,0x06,0xB7,0xED,
- 0xEE,0x38,0x6B,0xFB,0x5A,0x89,0x9F,0xA5,0xAE,0x9F,0x24,0x11,
- 0x7C,0x4B,0x1F,0xE6,0x49,0x28,0x66,0x51,0xEC,0xE6,0x53,0x81,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- };
-#endif
+ static unsigned char dh1024_p[]={
+ 0xFA,0xF9,0x2A,0x22,0x2A,0xA7,0x7F,0xE1,0x67,0x4E,0x53,0xF7,
+ 0x56,0x13,0xC3,0xB1,0xE3,0x29,0x6B,0x66,0x31,0x6A,0x7F,0xB3,
+ 0xC2,0x68,0x6B,0xCB,0x1D,0x57,0x39,0x1D,0x1F,0xFF,0x1C,0xC9,
+ 0xA6,0xA4,0x98,0x82,0x31,0x5D,0x25,0xFF,0x8A,0xE0,0x73,0x96,
+ 0x81,0xC8,0x83,0x79,0xC1,0x5A,0x04,0xF8,0x37,0x0D,0xA8,0x3D,
+ 0xAE,0x74,0xBC,0xDB,0xB6,0xA4,0x75,0xD9,0x71,0x8A,0xA0,0x17,
+ 0x9E,0x2D,0xC8,0xA8,0xDF,0x2C,0x5F,0x82,0x95,0xF8,0x92,0x9B,
+ 0xA7,0x33,0x5F,0x89,0x71,0xC8,0x2D,0x6B,0x18,0x86,0xC4,0x94,
+ 0x22,0xA5,0x52,0x8D,0xF6,0xF6,0xD2,0x37,0x92,0x0F,0xA5,0xCC,
+ 0xDB,0x7B,0x1D,0x3D,0xA1,0x31,0xB7,0x80,0x8F,0x0B,0x67,0x5E,
+ 0x36,0xA5,0x60,0x0C,0xF1,0x95,0x33,0x8B,
+ };
+ static unsigned char dh1024_g[]={
+ 0x02,
+ };
+
DH *dh = DH_new();
if (dh) {
-#if OPENSSL_VERSION_NUMBER >= 0x0090801fL
- dh->p = get_rfc2409_prime_1024(NULL);
-#else
- dh->p = BN_bin2bn(rfc_2409_prime_1024, sizeof rfc_2409_prime_1024, NULL);
-#endif
- /* See RFC 2409, Section 6 "Oakley Groups"
- for the reason why 2 is used as generator.
- */
- BN_dec2bn(&dh->g, "2");
+ dh->p = BN_bin2bn(dh1024_p, sizeof dh1024_p, NULL);
+ dh->g = BN_bin2bn(dh1024_g, sizeof dh1024_g, NULL);
+
if (!dh->p || !dh->g) {
DH_free(dh);
dh = NULL;
@@ -798,43 +797,39 @@
static DH *ssl_get_dh_2048(void)
{
-#if OPENSSL_VERSION_NUMBER < 0x0090801fL
- static const unsigned char rfc_3526_prime_2048[] = {
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC9,0x0F,0xDA,0xA2,
- 0x21,0x68,0xC2,0x34,0xC4,0xC6,0x62,0x8B,0x80,0xDC,0x1C,0xD1,
- 0x29,0x02,0x4E,0x08,0x8A,0x67,0xCC,0x74,0x02,0x0B,0xBE,0xA6,
- 0x3B,0x13,0x9B,0x22,0x51,0x4A,0x08,0x79,0x8E,0x34,0x04,0xDD,
- 0xEF,0x95,0x19,0xB3,0xCD,0x3A,0x43,0x1B,0x30,0x2B,0x0A,0x6D,
- 0xF2,0x5F,0x14,0x37,0x4F,0xE1,0x35,0x6D,0x6D,0x51,0xC2,0x45,
- 0xE4,0x85,0xB5,0x76,0x62,0x5E,0x7E,0xC6,0xF4,0x4C,0x42,0xE9,
- 0xA6,0x37,0xED,0x6B,0x0B,0xFF,0x5C,0xB6,0xF4,0x06,0xB7,0xED,
- 0xEE,0x38,0x6B,0xFB,0x5A,0x89,0x9F,0xA5,0xAE,0x9F,0x24,0x11,
- 0x7C,0x4B,0x1F,0xE6,0x49,0x28,0x66,0x51,0xEC,0xE4,0x5B,0x3D,
- 0xC2,0x00,0x7C,0xB8,0xA1,0x63,0xBF,0x05,0x98,0xDA,0x48,0x36,
- 0x1C,0x55,0xD3,0x9A,0x69,0x16,0x3F,0xA8,0xFD,0x24,0xCF,0x5F,
- 0x83,0x65,0x5D,0x23,0xDC,0xA3,0xAD,0x96,0x1C,0x62,0xF3,0x56,
- 0x20,0x85,0x52,0xBB,0x9E,0xD5,0x29,0x07,0x70,0x96,0x96,0x6D,
- 0x67,0x0C,0x35,0x4E,0x4A,0xBC,0x98,0x04,0xF1,0x74,0x6C,0x08,
- 0xCA,0x18,0x21,0x7C,0x32,0x90,0x5E,0x46,0x2E,0x36,0xCE,0x3B,
- 0xE3,0x9E,0x77,0x2C,0x18,0x0E,0x86,0x03,0x9B,0x27,0x83,0xA2,
- 0xEC,0x07,0xA2,0x8F,0xB5,0xC5,0x5D,0xF0,0x6F,0x4C,0x52,0xC9,
- 0xDE,0x2B,0xCB,0xF6,0x95,0x58,0x17,0x18,0x39,0x95,0x49,0x7C,
- 0xEA,0x95,0x6A,0xE5,0x15,0xD2,0x26,0x18,0x98,0xFA,0x05,0x10,
- 0x15,0x72,0x8E,0x5A,0x8A,0xAC,0xAA,0x68,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,
- };
-#endif
+ static unsigned char dh2048_p[]={
+ 0xEC,0x86,0xF8,0x70,0xA0,0x33,0x16,0xEC,0x05,0x1A,0x73,0x59,
+ 0xCD,0x1F,0x8B,0xF8,0x29,0xE4,0xD2,0xCF,0x52,0xDD,0xC2,0x24,
+ 0x8D,0xB5,0x38,0x9A,0xFB,0x5C,0xA4,0xE4,0xB2,0xDA,0xCE,0x66,
+ 0x50,0x74,0xA6,0x85,0x4D,0x4B,0x1D,0x30,0xB8,0x2B,0xF3,0x10,
+ 0xE9,0xA7,0x2D,0x05,0x71,0xE7,0x81,0xDF,0x8B,0x59,0x52,0x3B,
+ 0x5F,0x43,0x0B,0x68,0xF1,0xDB,0x07,0xBE,0x08,0x6B,0x1B,0x23,
+ 0xEE,0x4D,0xCC,0x9E,0x0E,0x43,0xA0,0x1E,0xDF,0x43,0x8C,0xEC,
+ 0xBE,0xBE,0x90,0xB4,0x51,0x54,0xB9,0x2F,0x7B,0x64,0x76,0x4E,
+ 0x5D,0xD4,0x2E,0xAE,0xC2,0x9E,0xAE,0x51,0x43,0x59,0xC7,0x77,
+ 0x9C,0x50,0x3C,0x0E,0xED,0x73,0x04,0x5F,0xF1,0x4C,0x76,0x2A,
+ 0xD8,0xF8,0xCF,0xFC,0x34,0x40,0xD1,0xB4,0x42,0x61,0x84,0x66,
+ 0x42,0x39,0x04,0xF8,0x68,0xB2,0x62,0xD7,0x55,0xED,0x1B,0x74,
+ 0x75,0x91,0xE0,0xC5,0x69,0xC1,0x31,0x5C,0xDB,0x7B,0x44,0x2E,
+ 0xCE,0x84,0x58,0x0D,0x1E,0x66,0x0C,0xC8,0x44,0x9E,0xFD,0x40,
+ 0x08,0x67,0x5D,0xFB,0xA7,0x76,0x8F,0x00,0x11,0x87,0xE9,0x93,
+ 0xF9,0x7D,0xC4,0xBC,0x74,0x55,0x20,0xD4,0x4A,0x41,0x2F,0x43,
+ 0x42,0x1A,0xC1,0xF2,0x97,0x17,0x49,0x27,0x37,0x6B,0x2F,0x88,
+ 0x7E,0x1C,0xA0,0xA1,0x89,0x92,0x27,0xD9,0x56,0x5A,0x71,0xC1,
+ 0x56,0x37,0x7E,0x3A,0x9D,0x05,0xE7,0xEE,0x5D,0x8F,0x82,0x17,
+ 0xBC,0xE9,0xC2,0x93,0x30,0x82,0xF9,0xF4,0xC9,0xAE,0x49,0xDB,
+ 0xD0,0x54,0xB4,0xD9,0x75,0x4D,0xFA,0x06,0xB8,0xD6,0x38,0x41,
+ 0xB7,0x1F,0x77,0xF3,
+ };
+ static unsigned char dh2048_g[]={
+ 0x02,
+ };
+
DH *dh = DH_new();
if (dh) {
-#if OPENSSL_VERSION_NUMBER >= 0x0090801fL
- dh->p = get_rfc3526_prime_2048(NULL);
-#else
- dh->p = BN_bin2bn(rfc_3526_prime_2048, sizeof rfc_3526_prime_2048, NULL);
-#endif
- /* See RFC 3526, Section 3 "2048-bit MODP Group"
- for the reason why 2 is used as generator.
- */
- BN_dec2bn(&dh->g, "2");
+ dh->p = BN_bin2bn(dh2048_p, sizeof dh2048_p, NULL);
+ dh->g = BN_bin2bn(dh2048_g, sizeof dh2048_g, NULL);
+
if (!dh->p || !dh->g) {
DH_free(dh);
dh = NULL;
@@ -845,175 +840,60 @@
static DH *ssl_get_dh_4096(void)
{
-#if OPENSSL_VERSION_NUMBER < 0x0090801fL
- static const unsigned char rfc_3526_prime_4096[] = {
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC9,0x0F,0xDA,0xA2,
- 0x21,0x68,0xC2,0x34,0xC4,0xC6,0x62,0x8B,0x80,0xDC,0x1C,0xD1,
- 0x29,0x02,0x4E,0x08,0x8A,0x67,0xCC,0x74,0x02,0x0B,0xBE,0xA6,
- 0x3B,0x13,0x9B,0x22,0x51,0x4A,0x08,0x79,0x8E,0x34,0x04,0xDD,
- 0xEF,0x95,0x19,0xB3,0xCD,0x3A,0x43,0x1B,0x30,0x2B,0x0A,0x6D,
- 0xF2,0x5F,0x14,0x37,0x4F,0xE1,0x35,0x6D,0x6D,0x51,0xC2,0x45,
- 0xE4,0x85,0xB5,0x76,0x62,0x5E,0x7E,0xC6,0xF4,0x4C,0x42,0xE9,
- 0xA6,0x37,0xED,0x6B,0x0B,0xFF,0x5C,0xB6,0xF4,0x06,0xB7,0xED,
- 0xEE,0x38,0x6B,0xFB,0x5A,0x89,0x9F,0xA5,0xAE,0x9F,0x24,0x11,
- 0x7C,0x4B,0x1F,0xE6,0x49,0x28,0x66,0x51,0xEC,0xE4,0x5B,0x3D,
- 0xC2,0x00,0x7C,0xB8,0xA1,0x63,0xBF,0x05,0x98,0xDA,0x48,0x36,
- 0x1C,0x55,0xD3,0x9A,0x69,0x16,0x3F,0xA8,0xFD,0x24,0xCF,0x5F,
- 0x83,0x65,0x5D,0x23,0xDC,0xA3,0xAD,0x96,0x1C,0x62,0xF3,0x56,
- 0x20,0x85,0x52,0xBB,0x9E,0xD5,0x29,0x07,0x70,0x96,0x96,0x6D,
- 0x67,0x0C,0x35,0x4E,0x4A,0xBC,0x98,0x04,0xF1,0x74,0x6C,0x08,
- 0xCA,0x18,0x21,0x7C,0x32,0x90,0x5E,0x46,0x2E,0x36,0xCE,0x3B,
- 0xE3,0x9E,0x77,0x2C,0x18,0x0E,0x86,0x03,0x9B,0x27,0x83,0xA2,
- 0xEC,0x07,0xA2,0x8F,0xB5,0xC5,0x5D,0xF0,0x6F,0x4C,0x52,0xC9,
- 0xDE,0x2B,0xCB,0xF6,0x95,0x58,0x17,0x18,0x39,0x95,0x49,0x7C,
- 0xEA,0x95,0x6A,0xE5,0x15,0xD2,0x26,0x18,0x98,0xFA,0x05,0x10,
- 0x15,0x72,0x8E,0x5A,0x8A,0xAA,0xC4,0x2D,0xAD,0x33,0x17,0x0D,
- 0x04,0x50,0x7A,0x33,0xA8,0x55,0x21,0xAB,0xDF,0x1C,0xBA,0x64,
- 0xEC,0xFB,0x85,0x04,0x58,0xDB,0xEF,0x0A,0x8A,0xEA,0x71,0x57,
- 0x5D,0x06,0x0C,0x7D,0xB3,0x97,0x0F,0x85,0xA6,0xE1,0xE4,0xC7,
- 0xAB,0xF5,0xAE,0x8C,0xDB,0x09,0x33,0xD7,0x1E,0x8C,0x94,0xE0,
- 0x4A,0x25,0x61,0x9D,0xCE,0xE3,0xD2,0x26,0x1A,0xD2,0xEE,0x6B,
- 0xF1,0x2F,0xFA,0x06,0xD9,0x8A,0x08,0x64,0xD8,0x76,0x02,0x73,
- 0x3E,0xC8,0x6A,0x64,0x52,0x1F,0x2B,0x18,0x17,0x7B,0x20,0x0C,
- 0xBB,0xE1,0x17,0x57,0x7A,0x61,0x5D,0x6C,0x77,0x09,0x88,0xC0,
- 0xBA,0xD9,0x46,0xE2,0x08,0xE2,0x4F,0xA0,0x74,0xE5,0xAB,0x31,
- 0x43,0xDB,0x5B,0xFC,0xE0,0xFD,0x10,0x8E,0x4B,0x82,0xD1,0x20,
- 0xA9,0x21,0x08,0x01,0x1A,0x72,0x3C,0x12,0xA7,0x87,0xE6,0xD7,
- 0x88,0x71,0x9A,0x10,0xBD,0xBA,0x5B,0x26,0x99,0xC3,0x27,0x18,
- 0x6A,0xF4,0xE2,0x3C,0x1A,0x94,0x68,0x34,0xB6,0x15,0x0B,0xDA,
- 0x25,0x83,0xE9,0xCA,0x2A,0xD4,0x4C,0xE8,0xDB,0xBB,0xC2,0xDB,
- 0x04,0xDE,0x8E,0xF9,0x2E,0x8E,0xFC,0x14,0x1F,0xBE,0xCA,0xA6,
- 0x28,0x7C,0x59,0x47,0x4E,0x6B,0xC0,0x5D,0x99,0xB2,0x96,0x4F,
- 0xA0,0x90,0xC3,0xA2,0x23,0x3B,0xA1,0x86,0x51,0x5B,0xE7,0xED,
- 0x1F,0x61,0x29,0x70,0xCE,0xE2,0xD7,0xAF,0xB8,0x1B,0xDD,0x76,
- 0x21,0x70,0x48,0x1C,0xD0,0x06,0x91,0x27,0xD5,0xB0,0x5A,0xA9,
- 0x93,0xB4,0xEA,0x98,0x8D,0x8F,0xDD,0xC1,0x86,0xFF,0xB7,0xDC,
- 0x90,0xA6,0xC0,0x8F,0x4D,0xF4,0x35,0xC9,0x34,0x06,0x31,0x99,
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
+ static unsigned char dh4096_p[]={
+ 0xDE,0x16,0x94,0xCD,0x99,0x58,0x07,0xF1,0xF7,0x32,0x96,0x11,
+ 0x04,0x82,0xD4,0x84,0x72,0x80,0x99,0x06,0xCA,0xF0,0xA3,0x68,
+ 0x07,0xCE,0x64,0x50,0xE7,0x74,0x45,0x20,0x80,0x5E,0x4D,0xAD,
+ 0xA5,0xB6,0xED,0xFA,0x80,0x6C,0x3B,0x35,0xC4,0x9A,0x14,0x6B,
+ 0x32,0xBB,0xFD,0x1F,0x17,0x8E,0xB7,0x1F,0xD6,0xFA,0x3F,0x7B,
+ 0xEE,0x16,0xA5,0x62,0x33,0x0D,0xED,0xBC,0x4E,0x58,0xE5,0x47,
+ 0x4D,0xE9,0xAB,0x8E,0x38,0xD3,0x6E,0x90,0x57,0xE3,0x22,0x15,
+ 0x33,0xBD,0xF6,0x43,0x45,0xB5,0x10,0x0A,0xBE,0x2C,0xB4,0x35,
+ 0xB8,0x53,0x8D,0xAD,0xFB,0xA7,0x1F,0x85,0x58,0x41,0x7A,0x79,
+ 0x20,0x68,0xB3,0xE1,0x3D,0x08,0x76,0xBF,0x86,0x0D,0x49,0xE3,
+ 0x82,0x71,0x8C,0xB4,0x8D,0x81,0x84,0xD4,0xE7,0xBE,0x91,0xDC,
+ 0x26,0x39,0x48,0x0F,0x35,0xC4,0xCA,0x65,0xE3,0x40,0x93,0x52,
+ 0x76,0x58,0x7D,0xDD,0x51,0x75,0xDC,0x69,0x61,0xBF,0x47,0x2C,
+ 0x16,0x68,0x2D,0xC9,0x29,0xD3,0xE6,0xC0,0x99,0x48,0xA0,0x9A,
+ 0xC8,0x78,0xC0,0x6D,0x81,0x67,0x12,0x61,0x3F,0x71,0xBA,0x41,
+ 0x1F,0x6C,0x89,0x44,0x03,0xBA,0x3B,0x39,0x60,0xAA,0x28,0x55,
+ 0x59,0xAE,0xB8,0xFA,0xCB,0x6F,0xA5,0x1A,0xF7,0x2B,0xDD,0x52,
+ 0x8A,0x8B,0xE2,0x71,0xA6,0x5E,0x7E,0xD8,0x2E,0x18,0xE0,0x66,
+ 0xDF,0xDD,0x22,0x21,0x99,0x52,0x73,0xA6,0x33,0x20,0x65,0x0E,
+ 0x53,0xE7,0x6B,0x9B,0xC5,0xA3,0x2F,0x97,0x65,0x76,0xD3,0x47,
+ 0x23,0x77,0x12,0xB6,0x11,0x7B,0x24,0xED,0xF1,0xEF,0xC0,0xE2,
+ 0xA3,0x7E,0x67,0x05,0x3E,0x96,0x4D,0x45,0xC2,0x18,0xD1,0x73,
+ 0x9E,0x07,0xF3,0x81,0x6E,0x52,0x63,0xF6,0x20,0x76,0xB9,0x13,
+ 0xD2,0x65,0x30,0x18,0x16,0x09,0x16,0x9E,0x8F,0xF1,0xD2,0x10,
+ 0x5A,0xD3,0xD4,0xAF,0x16,0x61,0xDA,0x55,0x2E,0x18,0x5E,0x14,
+ 0x08,0x54,0x2E,0x2A,0x25,0xA2,0x1A,0x9B,0x8B,0x32,0xA9,0xFD,
+ 0xC2,0x48,0x96,0xE1,0x80,0xCA,0xE9,0x22,0x17,0xBB,0xCE,0x3E,
+ 0x9E,0xED,0xC7,0xF1,0x1F,0xEC,0x17,0x21,0xDC,0x7B,0x82,0x48,
+ 0x8E,0xBB,0x4B,0x9D,0x5B,0x04,0x04,0xDA,0xDB,0x39,0xDF,0x01,
+ 0x40,0xC3,0xAA,0x26,0x23,0x89,0x75,0xC6,0x0B,0xD0,0xA2,0x60,
+ 0x6A,0xF1,0xCC,0x65,0x18,0x98,0x1B,0x52,0xD2,0x74,0x61,0xCC,
+ 0xBD,0x60,0xAE,0xA3,0xA0,0x66,0x6A,0x16,0x34,0x92,0x3F,0x41,
+ 0x40,0x31,0x29,0xC0,0x2C,0x63,0xB2,0x07,0x8D,0xEB,0x94,0xB8,
+ 0xE8,0x47,0x92,0x52,0x93,0x6A,0x1B,0x7E,0x1A,0x61,0xB3,0x1B,
+ 0xF0,0xD6,0x72,0x9B,0xF1,0xB0,0xAF,0xBF,0x3E,0x65,0xEF,0x23,
+ 0x1D,0x6F,0xFF,0x70,0xCD,0x8A,0x4C,0x8A,0xA0,0x72,0x9D,0xBE,
+ 0xD4,0xBB,0x24,0x47,0x4A,0x68,0xB5,0xF5,0xC6,0xD5,0x7A,0xCD,
+ 0xCA,0x06,0x41,0x07,0xAD,0xC2,0x1E,0xE6,0x54,0xA7,0xAD,0x03,
+ 0xD9,0x12,0xC1,0x9C,0x13,0xB1,0xC9,0x0A,0x43,0x8E,0x1E,0x08,
+ 0xCE,0x50,0x82,0x73,0x5F,0xA7,0x55,0x1D,0xD9,0x59,0xAC,0xB5,
+ 0xEA,0x02,0x7F,0x6C,0x5B,0x74,0x96,0x98,0x67,0x24,0xA3,0x0F,
+ 0x15,0xFC,0xA9,0x7D,0x3E,0x67,0xD1,0x70,0xF8,0x97,0xF3,0x67,
+ 0xC5,0x8C,0x88,0x44,0x08,0x02,0xC7,0x2B,
};
-#endif
- DH *dh = DH_new();
- if (dh) {
-#if OPENSSL_VERSION_NUMBER >= 0x0090801fL
- dh->p = get_rfc3526_prime_4096(NULL);
-#else
- dh->p = BN_bin2bn(rfc_3526_prime_4096, sizeof rfc_3526_prime_4096, NULL);
-#endif
- /* See RFC 3526, Section 5 "4096-bit MODP Group"
- for the reason why 2 is used as generator.
- */
- BN_dec2bn(&dh->g, "2");
- if (!dh->p || !dh->g) {
- DH_free(dh);
- dh = NULL;
- }
- }
- return dh;
-}
+ static unsigned char dh4096_g[]={
+ 0x02,
+ };
-static DH *ssl_get_dh_8192(void)
-{
-#if OPENSSL_VERSION_NUMBER < 0x0090801fL
- static const unsigned char rfc_3526_prime_8192[] = {
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC9,0x0F,0xDA,0xA2,
- 0x21,0x68,0xC2,0x34,0xC4,0xC6,0x62,0x8B,0x80,0xDC,0x1C,0xD1,
- 0x29,0x02,0x4E,0x08,0x8A,0x67,0xCC,0x74,0x02,0x0B,0xBE,0xA6,
- 0x3B,0x13,0x9B,0x22,0x51,0x4A,0x08,0x79,0x8E,0x34,0x04,0xDD,
- 0xEF,0x95,0x19,0xB3,0xCD,0x3A,0x43,0x1B,0x30,0x2B,0x0A,0x6D,
- 0xF2,0x5F,0x14,0x37,0x4F,0xE1,0x35,0x6D,0x6D,0x51,0xC2,0x45,
- 0xE4,0x85,0xB5,0x76,0x62,0x5E,0x7E,0xC6,0xF4,0x4C,0x42,0xE9,
- 0xA6,0x37,0xED,0x6B,0x0B,0xFF,0x5C,0xB6,0xF4,0x06,0xB7,0xED,
- 0xEE,0x38,0x6B,0xFB,0x5A,0x89,0x9F,0xA5,0xAE,0x9F,0x24,0x11,
- 0x7C,0x4B,0x1F,0xE6,0x49,0x28,0x66,0x51,0xEC,0xE4,0x5B,0x3D,
- 0xC2,0x00,0x7C,0xB8,0xA1,0x63,0xBF,0x05,0x98,0xDA,0x48,0x36,
- 0x1C,0x55,0xD3,0x9A,0x69,0x16,0x3F,0xA8,0xFD,0x24,0xCF,0x5F,
- 0x83,0x65,0x5D,0x23,0xDC,0xA3,0xAD,0x96,0x1C,0x62,0xF3,0x56,
- 0x20,0x85,0x52,0xBB,0x9E,0xD5,0x29,0x07,0x70,0x96,0x96,0x6D,
- 0x67,0x0C,0x35,0x4E,0x4A,0xBC,0x98,0x04,0xF1,0x74,0x6C,0x08,
- 0xCA,0x18,0x21,0x7C,0x32,0x90,0x5E,0x46,0x2E,0x36,0xCE,0x3B,
- 0xE3,0x9E,0x77,0x2C,0x18,0x0E,0x86,0x03,0x9B,0x27,0x83,0xA2,
- 0xEC,0x07,0xA2,0x8F,0xB5,0xC5,0x5D,0xF0,0x6F,0x4C,0x52,0xC9,
- 0xDE,0x2B,0xCB,0xF6,0x95,0x58,0x17,0x18,0x39,0x95,0x49,0x7C,
- 0xEA,0x95,0x6A,0xE5,0x15,0xD2,0x26,0x18,0x98,0xFA,0x05,0x10,
- 0x15,0x72,0x8E,0x5A,0x8A,0xAA,0xC4,0x2D,0xAD,0x33,0x17,0x0D,
- 0x04,0x50,0x7A,0x33,0xA8,0x55,0x21,0xAB,0xDF,0x1C,0xBA,0x64,
- 0xEC,0xFB,0x85,0x04,0x58,0xDB,0xEF,0x0A,0x8A,0xEA,0x71,0x57,
- 0x5D,0x06,0x0C,0x7D,0xB3,0x97,0x0F,0x85,0xA6,0xE1,0xE4,0xC7,
- 0xAB,0xF5,0xAE,0x8C,0xDB,0x09,0x33,0xD7,0x1E,0x8C,0x94,0xE0,
- 0x4A,0x25,0x61,0x9D,0xCE,0xE3,0xD2,0x26,0x1A,0xD2,0xEE,0x6B,
- 0xF1,0x2F,0xFA,0x06,0xD9,0x8A,0x08,0x64,0xD8,0x76,0x02,0x73,
- 0x3E,0xC8,0x6A,0x64,0x52,0x1F,0x2B,0x18,0x17,0x7B,0x20,0x0C,
- 0xBB,0xE1,0x17,0x57,0x7A,0x61,0x5D,0x6C,0x77,0x09,0x88,0xC0,
- 0xBA,0xD9,0x46,0xE2,0x08,0xE2,0x4F,0xA0,0x74,0xE5,0xAB,0x31,
- 0x43,0xDB,0x5B,0xFC,0xE0,0xFD,0x10,0x8E,0x4B,0x82,0xD1,0x20,
- 0xA9,0x21,0x08,0x01,0x1A,0x72,0x3C,0x12,0xA7,0x87,0xE6,0xD7,
- 0x88,0x71,0x9A,0x10,0xBD,0xBA,0x5B,0x26,0x99,0xC3,0x27,0x18,
- 0x6A,0xF4,0xE2,0x3C,0x1A,0x94,0x68,0x34,0xB6,0x15,0x0B,0xDA,
- 0x25,0x83,0xE9,0xCA,0x2A,0xD4,0x4C,0xE8,0xDB,0xBB,0xC2,0xDB,
- 0x04,0xDE,0x8E,0xF9,0x2E,0x8E,0xFC,0x14,0x1F,0xBE,0xCA,0xA6,
- 0x28,0x7C,0x59,0x47,0x4E,0x6B,0xC0,0x5D,0x99,0xB2,0x96,0x4F,
- 0xA0,0x90,0xC3,0xA2,0x23,0x3B,0xA1,0x86,0x51,0x5B,0xE7,0xED,
- 0x1F,0x61,0x29,0x70,0xCE,0xE2,0xD7,0xAF,0xB8,0x1B,0xDD,0x76,
- 0x21,0x70,0x48,0x1C,0xD0,0x06,0x91,0x27,0xD5,0xB0,0x5A,0xA9,
- 0x93,0xB4,0xEA,0x98,0x8D,0x8F,0xDD,0xC1,0x86,0xFF,0xB7,0xDC,
- 0x90,0xA6,0xC0,0x8F,0x4D,0xF4,0x35,0xC9,0x34,0x02,0x84,0x92,
- 0x36,0xC3,0xFA,0xB4,0xD2,0x7C,0x70,0x26,0xC1,0xD4,0xDC,0xB2,
- 0x60,0x26,0x46,0xDE,0xC9,0x75,0x1E,0x76,0x3D,0xBA,0x37,0xBD,
- 0xF8,0xFF,0x94,0x06,0xAD,0x9E,0x53,0x0E,0xE5,0xDB,0x38,0x2F,
- 0x41,0x30,0x01,0xAE,0xB0,0x6A,0x53,0xED,0x90,0x27,0xD8,0x31,
- 0x17,0x97,0x27,0xB0,0x86,0x5A,0x89,0x18,0xDA,0x3E,0xDB,0xEB,
- 0xCF,0x9B,0x14,0xED,0x44,0xCE,0x6C,0xBA,0xCE,0xD4,0xBB,0x1B,
- 0xDB,0x7F,0x14,0x47,0xE6,0xCC,0x25,0x4B,0x33,0x20,0x51,0x51,
- 0x2B,0xD7,0xAF,0x42,0x6F,0xB8,0xF4,0x01,0x37,0x8C,0xD2,0xBF,
- 0x59,0x83,0xCA,0x01,0xC6,0x4B,0x92,0xEC,0xF0,0x32,0xEA,0x15,
- 0xD1,0x72,0x1D,0x03,0xF4,0x82,0xD7,0xCE,0x6E,0x74,0xFE,0xF6,
- 0xD5,0x5E,0x70,0x2F,0x46,0x98,0x0C,0x82,0xB5,0xA8,0x40,0x31,
- 0x90,0x0B,0x1C,0x9E,0x59,0xE7,0xC9,0x7F,0xBE,0xC7,0xE8,0xF3,
- 0x23,0xA9,0x7A,0x7E,0x36,0xCC,0x88,0xBE,0x0F,0x1D,0x45,0xB7,
- 0xFF,0x58,0x5A,0xC5,0x4B,0xD4,0x07,0xB2,0x2B,0x41,0x54,0xAA,
- 0xCC,0x8F,0x6D,0x7E,0xBF,0x48,0xE1,0xD8,0x14,0xCC,0x5E,0xD2,
- 0x0F,0x80,0x37,0xE0,0xA7,0x97,0x15,0xEE,0xF2,0x9B,0xE3,0x28,
- 0x06,0xA1,0xD5,0x8B,0xB7,0xC5,0xDA,0x76,0xF5,0x50,0xAA,0x3D,
- 0x8A,0x1F,0xBF,0xF0,0xEB,0x19,0xCC,0xB1,0xA3,0x13,0xD5,0x5C,
- 0xDA,0x56,0xC9,0xEC,0x2E,0xF2,0x96,0x32,0x38,0x7F,0xE8,0xD7,
- 0x6E,0x3C,0x04,0x68,0x04,0x3E,0x8F,0x66,0x3F,0x48,0x60,0xEE,
- 0x12,0xBF,0x2D,0x5B,0x0B,0x74,0x74,0xD6,0xE6,0x94,0xF9,0x1E,
- 0x6D,0xBE,0x11,0x59,0x74,0xA3,0x92,0x6F,0x12,0xFE,0xE5,0xE4,
- 0x38,0x77,0x7C,0xB6,0xA9,0x32,0xDF,0x8C,0xD8,0xBE,0xC4,0xD0,
- 0x73,0xB9,0x31,0xBA,0x3B,0xC8,0x32,0xB6,0x8D,0x9D,0xD3,0x00,
- 0x74,0x1F,0xA7,0xBF,0x8A,0xFC,0x47,0xED,0x25,0x76,0xF6,0x93,
- 0x6B,0xA4,0x24,0x66,0x3A,0xAB,0x63,0x9C,0x5A,0xE4,0xF5,0x68,
- 0x34,0x23,0xB4,0x74,0x2B,0xF1,0xC9,0x78,0x23,0x8F,0x16,0xCB,
- 0xE3,0x9D,0x65,0x2D,0xE3,0xFD,0xB8,0xBE,0xFC,0x84,0x8A,0xD9,
- 0x22,0x22,0x2E,0x04,0xA4,0x03,0x7C,0x07,0x13,0xEB,0x57,0xA8,
- 0x1A,0x23,0xF0,0xC7,0x34,0x73,0xFC,0x64,0x6C,0xEA,0x30,0x6B,
- 0x4B,0xCB,0xC8,0x86,0x2F,0x83,0x85,0xDD,0xFA,0x9D,0x4B,0x7F,
- 0xA2,0xC0,0x87,0xE8,0x79,0x68,0x33,0x03,0xED,0x5B,0xDD,0x3A,
- 0x06,0x2B,0x3C,0xF5,0xB3,0xA2,0x78,0xA6,0x6D,0x2A,0x13,0xF8,
- 0x3F,0x44,0xF8,0x2D,0xDF,0x31,0x0E,0xE0,0x74,0xAB,0x6A,0x36,
- 0x45,0x97,0xE8,0x99,0xA0,0x25,0x5D,0xC1,0x64,0xF3,0x1C,0xC5,
- 0x08,0x46,0x85,0x1D,0xF9,0xAB,0x48,0x19,0x5D,0xED,0x7E,0xA1,
- 0xB1,0xD5,0x10,0xBD,0x7E,0xE7,0x4D,0x73,0xFA,0xF3,0x6B,0xC3,
- 0x1E,0xCF,0xA2,0x68,0x35,0x90,0x46,0xF4,0xEB,0x87,0x9F,0x92,
- 0x40,0x09,0x43,0x8B,0x48,0x1C,0x6C,0xD7,0x88,0x9A,0x00,0x2E,
- 0xD5,0xEE,0x38,0x2B,0xC9,0x19,0x0D,0xA6,0xFC,0x02,0x6E,0x47,
- 0x95,0x58,0xE4,0x47,0x56,0x77,0xE9,0xAA,0x9E,0x30,0x50,0xE2,
- 0x76,0x56,0x94,0xDF,0xC8,0x1F,0x56,0xE8,0x80,0xB9,0x6E,0x71,
- 0x60,0xC9,0x80,0xDD,0x98,0xED,0xD3,0xDF,0xFF,0xFF,0xFF,0xFF,
- 0xFF,0xFF,0xFF,0xFF,
- };
-#endif
DH *dh = DH_new();
if (dh) {
-#if OPENSSL_VERSION_NUMBER >= 0x0090801fL
- dh->p = get_rfc3526_prime_8192(NULL);
-#else
- dh->p = BN_bin2bn(rfc_3526_prime_8192, sizeof rfc_3526_prime_8192, NULL);
-#endif
- /* See RFC 3526, Section 7 "8192-bit MODP Group"
- for the reason why 2 is used as generator.
- */
- BN_dec2bn(&dh->g, "2");
+ dh->p = BN_bin2bn(dh4096_p, sizeof dh4096_p, NULL);
+ dh->g = BN_bin2bn(dh4096_g, sizeof dh4096_g, NULL);
+
if (!dh->p || !dh->g) {
DH_free(dh);
dh = NULL;
@@ -1041,10 +921,7 @@
keylen = global.tune.ssl_default_dh_param;
}
- if (keylen >= 8192) {
- dh = local_dh_8192;
- }
- else if (keylen >= 4096) {
+ if (keylen >= 4096) {
dh = local_dh_4096;
}
else if (keylen >= 2048) {
@@ -1076,10 +953,12 @@
if (dh) {
ret = 1;
SSL_CTX_set_tmp_dh(ctx, dh);
- /* Setting ssl default dh param to the size of the static DH params
- found in the file. This way we know that there is no use
- complaining later about ssl-default-dh-param not being set. */
- global.tune.ssl_default_dh_param = DH_size(dh) * 8;
+
+ if (ssl_dh_ptr_index >= 0) {
+ /* store a pointer to the DH params to avoid complaining about
+ ssl-default-dh-param not being set for this SSL_CTX */
+ SSL_CTX_set_ex_data(ctx, ssl_dh_ptr_index, dh);
+ }
}
else {
/* Clear openssl global errors stack */
@@ -1274,6 +1153,12 @@
* the tree, so it will be discovered and cleaned in time.
*/
#ifndef OPENSSL_NO_DH
+ /* store a NULL pointer to indicate we have not yet loaded
+ a custom DH param file */
+ if (ssl_dh_ptr_index >= 0) {
+ SSL_CTX_set_ex_data(ctx, ssl_dh_ptr_index, NULL);
+ }
+
ret = ssl_sock_load_dh_params(ctx, path);
if (ret < 0) {
if (err)
@@ -1593,7 +1478,9 @@
/* If tune.ssl.default-dh-param has not been set and
no static DH params were in the certificate file. */
- if (global.tune.ssl_default_dh_param == 0) {
+ if (global.tune.ssl_default_dh_param == 0 &&
+ (ssl_dh_ptr_index == -1 ||
+ SSL_CTX_get_ex_data(ctx, ssl_dh_ptr_index) == NULL)) {
ciphers = ctx->cipher_list;
if (ciphers) {
@@ -1629,10 +1516,6 @@
if (local_dh_4096 == NULL) {
local_dh_4096 = ssl_get_dh_4096();
}
- if (global.tune.ssl_default_dh_param >= 8192 &&
- local_dh_8192 == NULL) {
- local_dh_8192 = ssl_get_dh_8192();
- }
}
}
}
@@ -3657,7 +3540,7 @@
return 0;
smp->data.str.str = (char *)SSL_SESSION_get_id(sess, (unsigned int *)&smp->data.str.len);
- if (!smp->data.str.str || !&smp->data.str.len)
+ if (!smp->data.str.str || !smp->data.str.len)
return 0;
return 1;
@@ -4715,8 +4598,43 @@
bind_register_keywords(&bind_kws);
srv_register_keywords(&srv_kws);
cfg_register_keywords(&cfg_kws);
+
+#ifndef OPENSSL_NO_DH
+ ssl_dh_ptr_index = SSL_CTX_get_ex_new_index(0, NULL, NULL, NULL, NULL);
+#endif
}
+__attribute__((destructor))
+static void __ssl_sock_deinit(void)
+{
+#ifndef OPENSSL_NO_DH
+ if (local_dh_1024) {
+ DH_free(local_dh_1024);
+ local_dh_1024 = NULL;
+ }
+
+ if (local_dh_2048) {
+ DH_free(local_dh_2048);
+ local_dh_2048 = NULL;
+ }
+
+ if (local_dh_4096) {
+ DH_free(local_dh_4096);
+ local_dh_4096 = NULL;
+ }
+#endif
+
+ ERR_remove_state(0);
+ ERR_free_strings();
+
+ EVP_cleanup();
+
+#if OPENSSL_VERSION_NUMBER >= 0x00907000L
+ CRYPTO_cleanup_all_ex_data();
+#endif
+}
+
+
/*
* Local variables:
* c-indent-level: 8
1
0
Hello community,
here is the log from the commit of package perl-Number-Format for openSUSE:Factory checked in at 2015-06-30 10:19:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Number-Format (Old)
and /work/SRC/openSUSE:Factory/.perl-Number-Format.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Number-Format"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Number-Format/perl-Number-Format.changes 2013-04-22 14:31:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Number-Format.new/perl-Number-Format.changes 2015-06-30 10:19:18.000000000 +0200
@@ -1,0 +2,27 @@
+Mon Jun 29 01:24:48 UTC 2015 - coolo(a)suse.com
+
+- updated to 1.75
+ see /usr/share/doc/packages/perl-Number-Format/CHANGES
+
+ Changes for version 1.75 (June 25, 2015)
+ ------------------------
+ - Export only necessary from POSIX (RT#99970, thanks Alexandr Ciornii)
+ - Upgrade Makefile.PL (thanks Alexandr Ciornii)
+ - Fix testing issue with missing locales (RT 97607, 97766, thanks to KHW)
+ (thanks David Solimano)
+ - Fix testing issue with bad Russian data on some platforms (RT 92666)
+ (thanks David Solimano)
+ - Add t/bigfloat.t (thanks Paul Miller / Alexandr Ciornii)
+
+ Changes for version 1.74 (April 19, 2011)
+ ------------------------
+ - Only Perl 5.10.0 and newer supported
+ - Allow multi-character (e.g. " " for thousands_sep) (thanks
+ Nick Patch; RT 65489)
+ - Strip out illegal negative values returned by localeconv(),
+ observed on Windows - see @IGNORE_NEGATIVE (thanks Adam Kennedy;
+ RT 56802)
+ - Manage warnings when undef is passed to methods (RT 48038)
+ - Fix round() for Math::BigFloat objects (RT 62059)
+
+-------------------------------------------------------------------
Old:
----
Number-Format-1.73.tar.gz
New:
----
Number-Format-1.75.tar.gz
cpanspec.yml
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Number-Format.spec ++++++
--- /var/tmp/diff_new_pack.RTsYFC/_old 2015-06-30 10:19:18.000000000 +0200
+++ /var/tmp/diff_new_pack.RTsYFC/_new 2015-06-30 10:19:18.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Number-Format
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,20 +17,19 @@
Name: perl-Number-Format
-Version: 1.73
+Version: 1.75
Release: 0
%define cpan_name Number-Format
Summary: Perl extension for formatting numbers
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Number-Format/
-Source: http://www.cpan.org/authors/id/W/WR/WRW/%{cpan_name}-%{version}.tar.gz
+Source0: http://www.cpan.org/authors/id/W/WR/WRW/%{cpan_name}-%{version}.tar.gz
+Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
-%if 0%{?suse_version} <= 1130
BuildRequires: perl-macros
-%endif
%{perl_requires}
%description
@@ -40,7 +39,26 @@
There are two ways to use this package. One is to declare an object of type
Number::Format, which you can think of as a formatting engine. The various
functions defined here are provided as object methods. The constructor
-'new()' can be used to set the parameters of the formatting engine.
+'new()' can be used to set the parameters of the formatting engine. Valid
+parameters are:
+
+ THOUSANDS_SEP - character inserted between groups of 3 digits
+ DECIMAL_POINT - character separating integer and fractional parts
+ MON_THOUSANDS_SEP - like THOUSANDS_SEP, but used for format_price
+ MON_DECIMAL_POINT - like DECIMAL_POINT, but used for format_price
+ INT_CURR_SYMBOL - character(s) denoting currency (see format_price())
+ DECIMAL_DIGITS - number of digits to the right of dec point (def 2)
+ DECIMAL_FILL - boolean; whether to add zeroes to fill out decimal
+ NEG_FORMAT - format to display negative numbers (def ``-x'')
+ KILO_SUFFIX - suffix to add when format_bytes formats kilobytes (trad)
+ MEGA_SUFFIX - " " " " " " megabytes (trad)
+ GIGA_SUFFIX - " " " " " " gigabytes (trad)
+ KIBI_SUFFIX - suffix to add when format_bytes formats kibibytes (iec)
+ MEBI_SUFFIX - " " " " " " mebibytes (iec)
+ GIBI_SUFFIX - " " " " " " gibibytes (iec)
+
+They may be specified in upper or lower case, with or without a leading
+hyphen ( - ).
%prep
%setup -q -n %{cpan_name}-%{version}
++++++ Number-Format-1.73.tar.gz -> Number-Format-1.75.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/CHANGES new/Number-Format-1.75/CHANGES
--- old/Number-Format-1.73/CHANGES 2009-09-26 02:04:34.000000000 +0200
+++ new/Number-Format-1.75/CHANGES 2015-06-25 22:37:54.000000000 +0200
@@ -1,3 +1,24 @@
+Changes for version 1.75 (June 25, 2015)
+------------------------
+ - Export only necessary from POSIX (RT#99970, thanks Alexandr Ciornii)
+ - Upgrade Makefile.PL (thanks Alexandr Ciornii)
+ - Fix testing issue with missing locales (RT 97607, 97766, thanks to KHW)
+ (thanks David Solimano)
+ - Fix testing issue with bad Russian data on some platforms (RT 92666)
+ (thanks David Solimano)
+ - Add t/bigfloat.t (thanks Paul Miller / Alexandr Ciornii)
+
+Changes for version 1.74 (April 19, 2011)
+------------------------
+ - Only Perl 5.10.0 and newer supported
+ - Allow multi-character (e.g. " " for thousands_sep) (thanks
+ Nick Patch; RT 65489)
+ - Strip out illegal negative values returned by localeconv(),
+ observed on Windows - see @IGNORE_NEGATIVE (thanks Adam Kennedy;
+ RT 56802)
+ - Manage warnings when undef is passed to methods (RT 48038)
+ - Fix round() for Math::BigFloat objects (RT 62059)
+
Changes for version 1.73 (September 25, 2009)
------------------------
- Fix locale.t for RUR/RUB distinction (thanks Kevin Phair; RT 46660/45833)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/Format.pm new/Number-Format-1.75/Format.pm
--- old/Number-Format-1.73/Format.pm 2009-09-26 01:47:51.000000000 +0200
+++ new/Number-Format-1.75/Format.pm 2015-06-25 22:31:52.000000000 +0200
@@ -1,8 +1,8 @@
package Number::Format;
-# Minimum version is 5.8.0. May work on earlier versions, but not
-# supported on any version older than 5.8.
-require 5.008;
+# Minimum version is 5.10.0. May work on earlier versions, but not
+# supported on any version older than 5.10. Hack this line at your own risk:
+require 5.010;
use strict;
use warnings;
@@ -142,8 +142,8 @@
systems.
The only restrictions on C<DECIMAL_POINT> and C<THOUSANDS_SEP> are that
-they must not be digits, must not be identical, and must each be one
-character. There are no restrictions on C<INT_CURR_SYMBOL>.
+they must not be digits and must not be identical. There are no
+restrictions on C<INT_CURR_SYMBOL>.
For example, a German user might include this in their code:
@@ -178,7 +178,7 @@
use strict;
use Exporter;
use Carp;
-use POSIX;
+use POSIX qw(localeconv);
use base qw(Exporter);
our @EXPORT_SUBS =
@@ -211,7 +211,7 @@
other_vars => \@EXPORT_OTHER,
all => \@EXPORT_ALL );
-our $VERSION = '1.73';
+our $VERSION = '1.75';
# Refer to http://www.opengroup.org/onlinepubs/007908775/xbd/locale.html
# for more details about the POSIX variables
@@ -285,6 +285,17 @@
) };
#
+# On Windows, the POSIX localeconv() call returns illegal negative
+# numbers for some values, seemingly attempting to indicate null. The
+# following list indicates the values for which this has been
+# observed, and for which the values should be stripped out of
+# localeconv().
+#
+our @IGNORE_NEGATIVE = qw( frac_digits int_frac_digits
+ n_cs_precedes n_sep_by_space n_sign_posn
+ p_xs_precedes p_sep_by_space p_sign_posn );
+
+#
# Largest integer a 32-bit Perl can handle is based on the mantissa
# size of a double float, which is up to 53 bits. While we may be
# able to support larger values on 64-bit systems, some Perl integer
@@ -378,6 +389,23 @@
}
}
+##----------------------------------------------------------------------
+
+# _complain_undef displays a warning message on STDERR and is called
+# when a subroutine has been invoked with an undef value. A warning
+# message is printed if the calling environment has "uninitialized"
+# warnings enabled.
+
+sub _complain_undef
+{
+ my @stack;
+ my($sub, $bitmask) = (caller(1))[3,9];
+ my $offset = $warnings::Offsets{"uninitialized"};
+ carp "Use of uninitialized value in call to $sub"
+ if vec($bitmask, $offset, 1);
+}
+
+
###---------------------------------------------------------------------
=head1 METHODS
@@ -411,7 +439,14 @@
# my $locale = setlocale(LC_ALL, "");
my $locale_values = localeconv();
- my $arg;
+ # Strip out illegal negative values from the current locale
+ foreach ( @IGNORE_NEGATIVE )
+ {
+ if (defined($locale_values->{$_}) && $locale_values->{$_} eq '-1')
+ {
+ delete $locale_values->{$_};
+ }
+ }
while(my($arg, $default) = each %$DEFAULT_LOCALE)
{
@@ -472,9 +507,25 @@
sub round
{
my ($self, $number, $precision) = _get_self @_;
+
+ unless (defined($number))
+ {
+ _complain_undef();
+ $number = 0;
+ }
+
$precision = $self->{decimal_digits} unless defined $precision;
$precision = 2 unless defined $precision;
- $number = 0 unless defined $number;
+
+ croak("precision must be integer")
+ unless int($precision) == $precision;
+
+ if (ref($number) && $number->isa("Math::BigFloat"))
+ {
+ my $rounded = $number->copy();
+ $rounded->precision(-$precision);
+ return $rounded;
+ }
my $sign = $number <=> 0;
my $multiplier = (10 ** $precision);
@@ -527,6 +578,13 @@
sub format_number
{
my ($self, $number, $precision, $trailing_zeroes, $mon) = _get_self @_;
+
+ unless (defined($number))
+ {
+ _complain_undef();
+ $number = 0;
+ }
+
$self->_check_seps(); # first make sure the SEP variables are valid
my($thousands_sep, $decimal_point) =
@@ -577,8 +635,8 @@
$integer = join($thousands_sep,
grep {$_ ne ''} split(/(...)/, $integer));
- # Strip off leading zeroes and/or comma
- $integer =~ s/^0+\Q$thousands_sep\E?//;
+ # Strip off leading zeroes and optional thousands separator
+ $integer =~ s/^0+(?:\Q$thousands_sep\E)?//;
}
$integer = '0' if $integer eq '';
@@ -606,6 +664,13 @@
sub format_negative
{
my($self, $number, $format) = _get_self @_;
+
+ unless (defined($number))
+ {
+ _complain_undef();
+ $number = 0;
+ }
+
$format = $self->{neg_format} unless defined $format;
croak "Letter x must be present in picture in format_negative()"
unless $format =~ /x/;
@@ -649,6 +714,15 @@
sub format_picture
{
my ($self, $number, $picture) = _get_self @_;
+
+ unless (defined($number))
+ {
+ _complain_undef();
+ $number = 0;
+ }
+
+ croak "Picture not defined" unless defined($picture);
+
$self->_check_seps();
# Handle negative numbers
@@ -770,6 +844,12 @@
{
my ($self, $number, $precision, $curr_symbol) = _get_self @_;
+ unless (defined($number))
+ {
+ _complain_undef();
+ $number = 0;
+ }
+
# Determine what the monetary symbol should be
$curr_symbol = $self->{int_curr_symbol}
if (!defined($curr_symbol) || lc($curr_symbol) eq "int_curr_symbol");
@@ -992,6 +1072,12 @@
{
my ($self, $number, @options) = _get_self @_;
+ unless (defined($number))
+ {
+ _complain_undef();
+ $number = 0;
+ }
+
croak "Negative number not allowed in format_bytes"
if $number < 0;
@@ -1135,6 +1221,13 @@
sub unformat_number
{
my ($self, $formatted, %options) = _get_self @_;
+
+ unless (defined($formatted))
+ {
+ _complain_undef();
+ $formatted = "";
+ }
+
$self->_check_seps();
return undef unless $formatted =~ /\d/; # require at least one digit
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/MANIFEST new/Number-Format-1.75/MANIFEST
--- old/Number-Format-1.73/MANIFEST 2008-07-03 01:25:01.000000000 +0200
+++ new/Number-Format-1.75/MANIFEST 2015-06-25 22:39:55.000000000 +0200
@@ -14,3 +14,4 @@
t/object.t
t/round.t
t/unformat_number.t
+META.json Module JSON meta-data (added by MakeMaker)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/META.json new/Number-Format-1.75/META.json
--- old/Number-Format-1.73/META.json 1970-01-01 01:00:00.000000000 +0100
+++ new/Number-Format-1.75/META.json 2015-06-25 22:39:55.000000000 +0200
@@ -0,0 +1,51 @@
+{
+ "abstract" : "Perl extension for formatting numbers",
+ "author" : [
+ "William R. Ward <wrw(a)cpan.org>"
+ ],
+ "dynamic_config" : 1,
+ "generated_by" : "ExtUtils::MakeMaker version 6.72, CPAN::Meta::Converter version 2.120630",
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Number-Format",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0",
+ "Test::More" : "0"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Carp" : "0",
+ "POSIX" : "0"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "https://rt.cpan.org/NoAuth/Bugs.html?Dist=Number-Format"
+ },
+ "repository" : {
+ "url" : "https://github.com/billward/number-format-perl.git"
+ }
+ },
+ "version" : "1.75"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/META.yml new/Number-Format-1.75/META.yml
--- old/Number-Format-1.73/META.yml 2009-09-26 02:07:06.000000000 +0200
+++ new/Number-Format-1.75/META.yml 2015-06-25 22:39:55.000000000 +0200
@@ -1,16 +1,27 @@
---- #YAML:1.0
-name: Number-Format
-version: 1.73
-abstract: Perl extension for formatting numbers
-license: perl
-author:
- - William R. Ward <wrw(a)cpan.org>
-generated_by: ExtUtils::MakeMaker version 6.42
-distribution_type: module
-requires:
- Carp: 0
- POSIX: 0
- Test::More: 0
+---
+abstract: 'Perl extension for formatting numbers'
+author:
+ - 'William R. Ward <wrw(a)cpan.org>'
+build_requires:
+ ExtUtils::MakeMaker: 0
+ Test::More: 0
+configure_requires:
+ ExtUtils::MakeMaker: 0
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 6.72, CPAN::Meta::Converter version 2.120630'
+license: perl
meta-spec:
- url: http://module-build.sourceforge.net/META-spec-v1.3.html
- version: 1.3
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: 1.4
+name: Number-Format
+no_index:
+ directory:
+ - t
+ - inc
+requires:
+ Carp: 0
+ POSIX: 0
+resources:
+ bugtracker: https://rt.cpan.org/NoAuth/Bugs.html?Dist=Number-Format
+ repository: https://github.com/billward/number-format-perl.git
+version: 1.75
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/Makefile.PL new/Number-Format-1.75/Makefile.PL
--- old/Number-Format-1.73/Makefile.PL 2009-05-05 23:42:39.000000000 +0200
+++ new/Number-Format-1.75/Makefile.PL 2015-06-25 21:56:19.000000000 +0200
@@ -3,15 +3,49 @@
use warnings;
use ExtUtils::MakeMaker;
-WriteMakefile
- ( NAME => 'Number::Format',
+WriteMakefile1(
+ NAME => 'Number::Format',
VERSION_FROM => 'Format.pm', # finds $VERSION
- PREREQ_PM => { 'Test::More' => 0,
- 'Carp' => 0,
+ PREREQ_PM => { 'Carp' => 0,
'POSIX' => 0 },
+ TEST_REQUIRES => { 'Test::More' => 0, },
- ($ExtUtils::MakeMaker::VERSION ge '6.31'? (LICENSE => 'perl', ) : ()),
-
+ LICENSE => 'perl',
+ META_MERGE => {
+ resources => {
+ repository => 'https://github.com/billward/number-format-perl.git',
+ bugtracker => 'https://rt.cpan.org/NoAuth/Bugs.html?Dist=Number-Format',
+ },
+ },
AUTHOR => 'William R. Ward <wrw@'.'cpan.org>',
ABSTRACT => 'Perl extension for formatting numbers',
);
+
+sub WriteMakefile1 { #Compatibility code for old versions of EU::MM. Written by Alexandr Ciornii, version 0.23. Added by eumm-upgrade.
+ my %params=@_;
+ my $eumm_version=$ExtUtils::MakeMaker::VERSION;
+ $eumm_version=eval $eumm_version;
+ die "EXTRA_META is deprecated" if exists $params{EXTRA_META};
+ die "License not specified" if not exists $params{LICENSE};
+ if ($params{AUTHOR} and ref($params{AUTHOR}) eq 'ARRAY' and $eumm_version < 6.5705) {
+ $params{META_ADD}->{author}=$params{AUTHOR};
+ $params{AUTHOR}=join(', ',@{$params{AUTHOR}});
+ }
+ if ($params{TEST_REQUIRES} and $eumm_version < 6.64) {
+ $params{BUILD_REQUIRES}={ %{$params{BUILD_REQUIRES} || {}} , %{$params{TEST_REQUIRES}} };
+ delete $params{TEST_REQUIRES};
+ }
+ if ($params{BUILD_REQUIRES} and $eumm_version < 6.5503) {
+ #EUMM 6.5502 has problems with BUILD_REQUIRES
+ $params{PREREQ_PM}={ %{$params{PREREQ_PM} || {}} , %{$params{BUILD_REQUIRES}} };
+ delete $params{BUILD_REQUIRES};
+ }
+ delete $params{CONFIGURE_REQUIRES} if $eumm_version < 6.52;
+ delete $params{MIN_PERL_VERSION} if $eumm_version < 6.48;
+ delete $params{META_MERGE} if $eumm_version < 6.46;
+ delete $params{META_ADD} if $eumm_version < 6.46;
+ delete $params{LICENSE} if $eumm_version < 6.31;
+
+ WriteMakefile(%params);
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/t/format_bytes.t new/Number-Format-1.75/t/format_bytes.t
--- old/Number-Format-1.73/t/format_bytes.t 2009-05-05 22:52:30.000000000 +0200
+++ new/Number-Format-1.75/t/format_bytes.t 2015-06-25 21:56:19.000000000 +0200
@@ -4,6 +4,9 @@
use strict;
use warnings;
+use POSIX;
+setlocale(&LC_ALL, 'C');
+
BEGIN { use_ok('Number::Format', ':subs') }
is(format_bytes(123.51), '123.51', 'no change');
@@ -30,3 +33,12 @@
is(format_bytes(1234567890.1, mode => "iec"), '1.15GiB', 'gibi');
is(format_bytes(1048576, mode => "iec",
unit => 'K'), '1,024KiB', 'iec unit');
+
+{
+ my @warnings;
+ local $SIG{__WARN__} = sub { @warnings = @_ };
+ is(format_bytes(undef), "0");
+ my $file = __FILE__;
+ like("@warnings",
+ qr{Use of uninitialized value in call to Number::Format::format_bytes at \Q$file\E line \d+[.]?\n});
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/t/format_negative.t new/Number-Format-1.75/t/format_negative.t
--- old/Number-Format-1.73/t/format_negative.t 2009-05-05 22:52:39.000000000 +0200
+++ new/Number-Format-1.75/t/format_negative.t 2015-06-25 21:56:19.000000000 +0200
@@ -5,7 +5,7 @@
use warnings;
use POSIX;
-setlocale(&LC_ALL, 'en_US');
+setlocale(&LC_ALL, 'C');
BEGIN { use_ok('Number::Format') }
@@ -20,3 +20,12 @@
$x->{neg_format}='(x)';
is($x->format_number(-1), '(1.00000)', 'neg paren');
is($x->format_number(-.5), '(0.50000)', 'neg paren zero');
+
+{
+ my @warnings;
+ local $SIG{__WARN__} = sub { @warnings = @_ };
+ is($x->format_negative(undef), "(0)");
+ my $file = __FILE__;
+ like("@warnings",
+ qr{Use of uninitialized value in call to Number::Format::format_negative at \Q$file\E line \d+[.]?\n});
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/t/format_number.t new/Number-Format-1.75/t/format_number.t
--- old/Number-Format-1.73/t/format_number.t 2009-05-05 22:52:50.000000000 +0200
+++ new/Number-Format-1.75/t/format_number.t 2015-06-25 21:56:19.000000000 +0200
@@ -5,7 +5,7 @@
use warnings;
use POSIX;
-setlocale(&LC_ALL, 'en_US');
+setlocale(&LC_ALL, 'C');
BEGIN { use_ok('Number::Format', ':subs') }
@@ -27,3 +27,29 @@
like($@,
qr/^\Qround() overflow. Try smaller precision or use Math::BigFloat/,
"round overflow");
+
+#
+# https://rt.cpan.org/Ticket/Display.html?id=48038
+# Test with warnings enabled - expect a warning when called with undef
+#
+{
+ my @warnings;
+ local $SIG{__WARN__} = sub { @warnings = @_ };
+ is(format_number(undef), "0");
+ my $file = __FILE__;
+ like("@warnings",
+ qr{Use of uninitialized value in call to Number::Format::format_number at \Q$file\E line \d+[.]?\n});
+}
+
+#
+# https://rt.cpan.org/Ticket/Display.html?id=48038
+# Test again with warnings disabled to see if we do NOT get the warning
+#
+{
+ no warnings "uninitialized";
+ my @warnings;
+ local $SIG{__WARN__} = sub { @warnings = @_ };
+ is(format_number(undef), "0");
+ my $file = __FILE__;
+ is("@warnings", "");
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/t/format_picture.t new/Number-Format-1.75/t/format_picture.t
--- old/Number-Format-1.73/t/format_picture.t 2009-05-05 23:31:39.000000000 +0200
+++ new/Number-Format-1.75/t/format_picture.t 2015-06-25 21:56:19.000000000 +0200
@@ -5,7 +5,7 @@
use warnings;
use POSIX;
-setlocale(&LC_ALL, 'en_US');
+setlocale(&LC_ALL, 'C');
BEGIN { use_ok('Number::Format') }
@@ -26,3 +26,12 @@
$pic = '#';
is($x->format_picture(1, $pic), ' 1 ', 'one digit 1');
is($x->format_picture(2, $pic), ' 2 ', 'one digit 2');
+
+{
+ my @warnings;
+ local $SIG{__WARN__} = sub { @warnings = @_ };
+ is($x->format_picture(undef, $pic), " 0 ");
+ my $file = __FILE__;
+ like("@warnings",
+ qr{Use of uninitialized value in call to Number::Format::format_picture at \Q$file\E line \d+[.]?\n});
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/t/format_price.t new/Number-Format-1.75/t/format_price.t
--- old/Number-Format-1.73/t/format_price.t 2009-05-05 23:32:02.000000000 +0200
+++ new/Number-Format-1.75/t/format_price.t 2015-06-25 21:56:19.000000000 +0200
@@ -5,7 +5,7 @@
use warnings;
use POSIX;
-setlocale(&LC_ALL, 'en_US');
+setlocale(&LC_ALL, 'C');
BEGIN { use_ok('Number::Format') }
@@ -169,3 +169,12 @@
my $want = $prices{$price};
is($nf->format_price($price, 2), $want, "$price -> $want");
}
+
+{
+ my @warnings;
+ local $SIG{__WARN__} = sub { @warnings = @_ };
+ is($nf->format_price(undef), "EUR 0,00");
+ my $file = __FILE__;
+ like("@warnings",
+ qr{Use of uninitialized value in call to Number::Format::format_price at \Q$file\E line \d+[.]?\n});
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/t/locale.t new/Number-Format-1.75/t/locale.t
--- old/Number-Format-1.73/t/locale.t 2009-09-26 01:51:01.000000000 +0200
+++ new/Number-Format-1.75/t/locale.t 2015-06-25 21:56:19.000000000 +0200
@@ -46,6 +46,9 @@
or skip("Unable to set ru_RU locale", 1);
my $russian = Number::Format->new();
+ # On some sysetms (notably Cygwin) the locale data is wrong for ru_RU.
+ # Force it to match what we would see on Linux so the test passes.
+ $russian->{n_sep_by_space} = $russian->{p_sep_by_space} = '1';
my $sep = $russian->{mon_thousands_sep};
my $dec = $russian->{mon_decimal_point};
my $num = "123${sep}456${dec}79";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/t/object.t new/Number-Format-1.75/t/object.t
--- old/Number-Format-1.73/t/object.t 2009-05-05 22:53:24.000000000 +0200
+++ new/Number-Format-1.75/t/object.t 2015-06-25 21:56:19.000000000 +0200
@@ -5,7 +5,7 @@
use warnings;
use POSIX;
-setlocale(&LC_ALL, 'en_US');
+setlocale(&LC_ALL, 'C');
BEGIN { use_ok('Number::Format') }
@@ -17,3 +17,14 @@
is($deutsch->format_number(1234567.509, 2), '1.234.567,51', 'round');
is($deutsch->format_number(12345678.5, 2), '12.345.678,5', 'tousends');
is($deutsch->format_number(1.23456789, 6), '1,234568', 'big frac');
+
+my $double_char = Number::Format->new(
+ -thousands_sep => ' ',
+ -decimal_point => ',',
+);
+
+is(
+ $double_char->format_number(12345678.5),
+ "12 345 678,5",
+ 'multi-char thousands separator'
+);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/t/round.t new/Number-Format-1.75/t/round.t
--- old/Number-Format-1.73/t/round.t 2009-05-05 22:53:31.000000000 +0200
+++ new/Number-Format-1.75/t/round.t 2015-06-25 21:56:19.000000000 +0200
@@ -5,7 +5,7 @@
use warnings;
use POSIX;
-setlocale(&LC_ALL, 'en_US');
+setlocale(&LC_ALL, 'C');
BEGIN { use_ok('Number::Format', ':subs') }
@@ -37,3 +37,12 @@
my($p, $q) = @_;
return abs($p - $q) < 1e-10;
}
+
+{
+ my @warnings;
+ local $SIG{__WARN__} = sub { @warnings = @_ };
+ is(round(undef), "0");
+ my $file = __FILE__;
+ like("@warnings",
+ qr{Use of uninitialized value in call to Number::Format::round at \Q$file\E line \d+[.]?\n});
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Number-Format-1.73/t/unformat_number.t new/Number-Format-1.75/t/unformat_number.t
--- old/Number-Format-1.73/t/unformat_number.t 2009-05-05 22:53:41.000000000 +0200
+++ new/Number-Format-1.75/t/unformat_number.t 2015-06-25 21:56:19.000000000 +0200
@@ -5,7 +5,7 @@
use warnings;
use POSIX;
-setlocale(&LC_ALL, 'en_US');
+setlocale(&LC_ALL, 'C');
BEGIN { use_ok('Number::Format', ':subs') }
@@ -45,3 +45,12 @@
eval { unformat_number("4G", base => -1) };
like($@, qr/^\Qbase must be a positive integer/, "base neg");
+
+{
+ my @warnings;
+ local $SIG{__WARN__} = sub { @warnings = @_ };
+ is(unformat_number(undef), undef);
+ my $file = __FILE__;
+ like("@warnings",
+ qr{Use of uninitialized value in call to Number::Format::unformat_number at \Q$file\E line \d+[.]?\n});
+}
++++++ cpanspec.yml ++++++
---
description_paragraphs: 3
#no_testing: broken upstream
#sources:
# - source1
# - source2
#patches:
# foo.patch: -p1
# bar.patch:
#preamble: |-
# BuildRequires: gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module
1
0
Hello community,
here is the log from the commit of package perl-App-FatPacker for openSUSE:Factory checked in at 2015-06-30 10:19:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-App-FatPacker (Old)
and /work/SRC/openSUSE:Factory/.perl-App-FatPacker.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-App-FatPacker"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-App-FatPacker/perl-App-FatPacker.changes 2015-04-18 10:41:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-App-FatPacker.new/perl-App-FatPacker.changes 2015-06-30 10:19:16.000000000 +0200
@@ -1,0 +2,9 @@
+Mon Jun 29 00:55:56 UTC 2015 - coolo(a)suse.com
+
+- updated to 0.010004
+ see /usr/share/doc/packages/perl-App-FatPacker/Changes
+
+ 0.010004 - 2015-06-28
+ - fix tests to work reliably on win32
+
+-------------------------------------------------------------------
Old:
----
App-FatPacker-0.010003.tar.gz
New:
----
App-FatPacker-0.010004.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-App-FatPacker.spec ++++++
--- /var/tmp/diff_new_pack.vI2Jre/_old 2015-06-30 10:19:16.000000000 +0200
+++ /var/tmp/diff_new_pack.vI2Jre/_new 2015-06-30 10:19:16.000000000 +0200
@@ -17,14 +17,14 @@
Name: perl-App-FatPacker
-Version: 0.010003
+Version: 0.010004
Release: 0
%define cpan_name App-FatPacker
Summary: Pack Your Dependencies Onto Your Script File
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/App-FatPacker/
-Source0: http://www.cpan.org/authors/id/M/MS/MSTROUT/%{cpan_name}-%{version}.tar.gz
+Source0: http://www.cpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ App-FatPacker-0.010003.tar.gz -> App-FatPacker-0.010004.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-FatPacker-0.010003/Changes new/App-FatPacker-0.010004/Changes
--- old/App-FatPacker-0.010003/Changes 2015-04-17 17:56:35.000000000 +0200
+++ new/App-FatPacker-0.010004/Changes 2015-06-28 08:03:18.000000000 +0200
@@ -1,5 +1,8 @@
Revision history for App-FatPacker
+0.010004 - 2015-06-28
+ - fix tests to work reliably on win32
+
0.010003 - 2015-04-17
- exclude virtual %INC entries from trace output
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-FatPacker-0.010003/META.json new/App-FatPacker-0.010004/META.json
--- old/App-FatPacker-0.010003/META.json 2015-04-17 17:56:46.000000000 +0200
+++ new/App-FatPacker-0.010004/META.json 2015-06-28 08:03:29.000000000 +0200
@@ -4,7 +4,7 @@
"mst - Matt S. Trout (cpan:MSTROUT) <mst(a)shadowcat.co.uk>"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.150001",
+ "generated_by" : "ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter version 2.150001",
"license" : [
"perl_5"
],
@@ -64,5 +64,6 @@
"web" : "http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/App-FatPacker.git"
}
},
- "version" : "0.010003"
+ "version" : "0.010004",
+ "x_static_install" : 1
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-FatPacker-0.010003/META.yml new/App-FatPacker-0.010004/META.yml
--- old/App-FatPacker-0.010003/META.yml 2015-04-17 17:56:46.000000000 +0200
+++ new/App-FatPacker-0.010004/META.yml 2015-06-28 08:03:29.000000000 +0200
@@ -11,7 +11,7 @@
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.150001'
+generated_by: 'ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter version 2.150001'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -34,4 +34,5 @@
resources:
bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=App-FatPacker
repository: git://git.shadowcat.co.uk/p5sagit/App-FatPacker.git
-version: '0.010003'
+version: '0.010004'
+x_static_install: 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-FatPacker-0.010003/Makefile.PL new/App-FatPacker-0.010004/Makefile.PL
--- old/App-FatPacker-0.010003/Makefile.PL 2015-04-17 17:48:40.000000000 +0200
+++ new/App-FatPacker-0.010004/Makefile.PL 2015-06-28 07:58:08.000000000 +0200
@@ -17,6 +17,7 @@
META_MERGE => {
'meta-spec' => { version => '2' },
dynamic_config => 0,
+ x_static_install => 1,
resources => {
# r/w: p5sagit@git.shadowcat.co.uk:App-FatPacker.git
repository => {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-FatPacker-0.010003/lib/App/FatPacker.pm new/App-FatPacker-0.010004/lib/App/FatPacker.pm
--- old/App-FatPacker-0.010003/lib/App/FatPacker.pm 2015-04-17 17:52:52.000000000 +0200
+++ new/App-FatPacker-0.010004/lib/App/FatPacker.pm 2015-06-28 08:03:09.000000000 +0200
@@ -14,7 +14,7 @@
use File::Path qw(mkpath rmtree);
use B qw(perlstring);
-our $VERSION = '0.010003'; # 0.10.3
+our $VERSION = '0.010004'; # 0.10.4
$VERSION = eval $VERSION;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-FatPacker-0.010003/t/trace.t new/App-FatPacker-0.010004/t/trace.t
--- old/App-FatPacker-0.010003/t/trace.t 2015-04-17 17:55:48.000000000 +0200
+++ new/App-FatPacker-0.010004/t/trace.t 2015-06-28 07:56:43.000000000 +0200
@@ -15,12 +15,14 @@
my($file, @loaded) = @_;
local $Test::Builder::Level = $Test::Builder::Level + 1;
+ unlink "fatpacker.trace";
system($^X, "-Mblib", "-MApp::FatPacker::Trace", $file);
open my $trace, "<", "fatpacker.trace";
my @traced = sort map { chomp; $_ } <$trace>;
+ close $trace;
- is_deeply \@loaded, \@traced, "All expected modules loaded for $file";
+ is_deeply \@traced, \@loaded, "All expected modules loaded for $file";
unlink "fatpacker.trace";
}
1
0
Hello community,
here is the log from the commit of package perl-Path-Tiny for openSUSE:Factory checked in at 2015-06-30 10:19:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Path-Tiny (Old)
and /work/SRC/openSUSE:Factory/.perl-Path-Tiny.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Path-Tiny"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Path-Tiny/perl-Path-Tiny.changes 2015-04-15 16:23:27.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Path-Tiny.new/perl-Path-Tiny.changes 2015-06-30 10:19:12.000000000 +0200
@@ -1,0 +2,21 @@
+Mon Jun 29 01:27:23 UTC 2015 - coolo(a)suse.com
+
+- updated to 0.070
+ see /usr/share/doc/packages/perl-Path-Tiny/Changes
+
+ 0.070 2015-06-28 13:50:16-04:00 America/New_York
+
+ - No changes from 0.069
+
+ 0.069 2015-06-18 18:09:44-04:00 America/New_York (TRIAL RELEASE)
+
+ [CHANGED]
+
+ - The 'copy' menthod now returns the object for the copied file
+
+ [FIXED]
+
+ - The 'visit' method only dereferences the callback return value
+ for scalar refs, avoiding some common bugs
+
+-------------------------------------------------------------------
Old:
----
Path-Tiny-0.068.tar.gz
New:
----
Path-Tiny-0.070.tar.gz
cpanspec.yml
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Path-Tiny.spec ++++++
--- /var/tmp/diff_new_pack.82GXie/_old 2015-06-30 10:19:13.000000000 +0200
+++ /var/tmp/diff_new_pack.82GXie/_new 2015-06-30 10:19:13.000000000 +0200
@@ -17,14 +17,15 @@
Name: perl-Path-Tiny
-Version: 0.068
+Version: 0.070
Release: 0
%define cpan_name Path-Tiny
Summary: File path utility
License: Apache-2.0
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Path-Tiny/
-Source: http://www.cpan.org/authors/id/D/DA/DAGOLDEN/%{cpan_name}-%{version}.tar.gz
+Source0: http://www.cpan.org/authors/id/D/DA/DAGOLDEN/%{cpan_name}-%{version}.tar.gz
+Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
@@ -81,6 +82,6 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes CONTRIBUTING.mkdn LICENSE perlcritic.rc README
+%doc Changes CONTRIBUTING.mkdn LICENSE README
%changelog
++++++ Path-Tiny-0.068.tar.gz -> Path-Tiny-0.070.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/Changes new/Path-Tiny-0.070/Changes
--- old/Path-Tiny-0.068/Changes 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/Changes 2015-06-28 19:50:34.000000000 +0200
@@ -1,5 +1,20 @@
Revision history for Path-Tiny
+0.070 2015-06-28 13:50:16-04:00 America/New_York
+
+ - No changes from 0.069
+
+0.069 2015-06-18 18:09:44-04:00 America/New_York (TRIAL RELEASE)
+
+ [CHANGED]
+
+ - The 'copy' menthod now returns the object for the copied file
+
+ [FIXED]
+
+ - The 'visit' method only dereferences the callback return value
+ for scalar refs, avoiding some common bugs
+
0.068 2015-03-23 20:42:56-04:00 America/New_York
[META]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/MANIFEST new/Path-Tiny-0.070/MANIFEST
--- old/Path-Tiny-0.068/MANIFEST 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/MANIFEST 2015-06-28 19:50:34.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.034.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.037.
CONTRIBUTING.mkdn
Changes
LICENSE
@@ -36,6 +36,7 @@
t/rel-abs.t
t/subsumes.t
t/temp.t
+t/visit.t
t/zz-atomic.t
t/zzz-spec.t
tidyall.ini
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/META.json new/Path-Tiny-0.070/META.json
--- old/Path-Tiny-0.068/META.json 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/META.json 2015-06-28 19:50:34.000000000 +0200
@@ -4,7 +4,7 @@
"David Golden <dagolden(a)cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 5.034, CPAN::Meta::Converter version 2.150001",
+ "generated_by" : "Dist::Zilla version 5.037, CPAN::Meta::Converter version 2.150005",
"license" : [
"apache_2_0"
],
@@ -100,11 +100,11 @@
"provides" : {
"Path::Tiny" : {
"file" : "lib/Path/Tiny.pm",
- "version" : "0.068"
+ "version" : "0.070"
},
"Path::Tiny::Error" : {
"file" : "lib/Path/Tiny.pm",
- "version" : "0.068"
+ "version" : "0.070"
}
},
"release_status" : "stable",
@@ -119,7 +119,7 @@
"web" : "https://github.com/dagolden/Path-Tiny"
}
},
- "version" : "0.068",
+ "version" : "0.070",
"x_authority" : "cpan:DAGOLDEN",
"x_contributors" : [
"Alex Efros <powerman(a)powerman.name>",
@@ -136,9 +136,13 @@
"Karen Etheridge <ether(a)cpan.org>",
"Martin Kjeldsen <mk(a)bluepipe.dk>",
"Michael G. Schwern <mschwern(a)cpan.org>",
+ "Philippe Bruhat (BooK) <book(a)cpan.org>",
+ "Regina Verbae <regina-verbae(a)users.noreply.github.com>",
"regina-verbae <regina-verbae(a)users.noreply.github.com>",
"Smylers <Smylers(a)stripey.com>",
+ "Tatsuhiko Miyagawa <miyagawa(a)bulknews.net>",
"Toby Inkster <tobyink(a)cpan.org>",
+ "Yanick Champoux <yanick(a)babyl.dyndns.org>",
"김도형 - Keedi Kim <keedi(a)cpan.org>"
]
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/META.yml new/Path-Tiny-0.070/META.yml
--- old/Path-Tiny-0.068/META.yml 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/META.yml 2015-06-28 19:50:34.000000000 +0200
@@ -17,7 +17,7 @@
ExtUtils::MakeMaker: '6.17'
perl: '5.008001'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.034, CPAN::Meta::Converter version 2.150001'
+generated_by: 'Dist::Zilla version 5.037, CPAN::Meta::Converter version 2.150005'
license: apache
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -35,10 +35,10 @@
provides:
Path::Tiny:
file: lib/Path/Tiny.pm
- version: '0.068'
+ version: '0.070'
Path::Tiny::Error:
file: lib/Path/Tiny.pm
- version: '0.068'
+ version: '0.070'
recommends:
Unicode::UTF8: '0.58'
requires:
@@ -64,7 +64,7 @@
bugtracker: https://github.com/dagolden/Path-Tiny/issues
homepage: https://github.com/dagolden/Path-Tiny
repository: https://github.com/dagolden/Path-Tiny.git
-version: '0.068'
+version: '0.070'
x_authority: cpan:DAGOLDEN
x_contributors:
- 'Alex Efros <powerman(a)powerman.name>'
@@ -81,7 +81,11 @@
- 'Karen Etheridge <ether(a)cpan.org>'
- 'Martin Kjeldsen <mk(a)bluepipe.dk>'
- 'Michael G. Schwern <mschwern(a)cpan.org>'
+ - 'Philippe Bruhat (BooK) <book(a)cpan.org>'
+ - 'Regina Verbae <regina-verbae(a)users.noreply.github.com>'
- 'regina-verbae <regina-verbae(a)users.noreply.github.com>'
- 'Smylers <Smylers(a)stripey.com>'
+ - 'Tatsuhiko Miyagawa <miyagawa(a)bulknews.net>'
- 'Toby Inkster <tobyink(a)cpan.org>'
+ - 'Yanick Champoux <yanick(a)babyl.dyndns.org>'
- '김도형 - Keedi Kim <keedi(a)cpan.org>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/Makefile.PL new/Path-Tiny-0.070/Makefile.PL
--- old/Path-Tiny-0.068/Makefile.PL 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/Makefile.PL 2015-06-28 19:50:34.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.034.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.037.
use strict;
use warnings;
@@ -47,7 +47,7 @@
"lib" => 0,
"open" => 0
},
- "VERSION" => "0.068",
+ "VERSION" => "0.070",
"test" => {
"TESTS" => "t/*.t"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/README new/Path-Tiny-0.070/README
--- old/Path-Tiny-0.068/README 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/README 2015-06-28 19:50:34.000000000 +0200
@@ -2,7 +2,7 @@
Path::Tiny - File path utility
VERSION
- version 0.068
+ version 0.070
SYNOPSIS
use Path::Tiny;
@@ -160,8 +160,8 @@
$temp = Path::Tiny->tempfile( "customXXXXXXXX" ); # ok
$temp = Path::Tiny->tempfile( TEMPLATE => "customXXXXXXXX" ); # ok
- The tempfile path object will normalized to have an absolute path, even
- if created in a relative directory using "DIR".
+ The tempfile path object will be normalized to have an absolute path,
+ even if created in a relative directory using "DIR".
"tempdir" is just like "tempfile", except it calls "File::Temp->newdir"
instead.
@@ -170,10 +170,10 @@
functions instead of as methods.
Note: for tempfiles, the filehandles from File::Temp are closed and not
- reused. This is not as secure than using File::Temp handles directly,
- but is less prone to deadlocks or access problems on some platforms.
- Think of what "Path::Tiny" gives you to be just a temporary file name
- that gets cleaned up.
+ reused. This is not as secure as using File::Temp handles directly, but
+ is less prone to deadlocks or access problems on some platforms. Think
+ of what "Path::Tiny" gives you to be just a temporary file name that
+ gets cleaned up.
Current API available since 0.018.
@@ -309,9 +309,10 @@
copy
path("/tmp/foo.txt")->copy("/tmp/bar.txt");
- Copies a file using File::Copy's "copy" function.
+ Copies a file using File::Copy's "copy" function. Upon success, returns
+ the "Path::Tiny" object for the newly copied file.
- Current API available since 0.001.
+ Current API available since 0.070.
digest
$obj = path("/tmp/foo.txt")->digest; # SHA-256
@@ -753,7 +754,7 @@
sub {
my ($path, $state) = @_;
return if $path->is_dir;
- $state{$path} = -s $path;
+ $state->{$path} = -s $path;
},
{ recurse => 1 }
);
@@ -772,7 +773,7 @@
my $files = path("/tmp")->visit(
sub {
my ($path, $state) = @_;
- $state{$path}++ if -s $path > 102400
+ $state->{$path}++ if -s $path > 102400
return \0 if keys %$state == 10;
},
{ recurse => 1 }
@@ -944,12 +945,20 @@
* Michael G. Schwern <mschwern(a)cpan.org>
+ * Philippe Bruhat (BooK) <book(a)cpan.org>
+
+ * Regina Verbae <regina-verbae(a)users.noreply.github.com>
+
* regina-verbae <regina-verbae(a)users.noreply.github.com>
* Smylers <Smylers(a)stripey.com>
+ * Tatsuhiko Miyagawa <miyagawa(a)bulknews.net>
+
* Toby Inkster <tobyink(a)cpan.org>
+ * Yanick Champoux <yanick(a)babyl.dyndns.org>
+
* 김도형 - Keedi Kim <keedi(a)cpan.org>
COPYRIGHT AND LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/lib/Path/Tiny.pm new/Path-Tiny-0.070/lib/Path/Tiny.pm
--- old/Path-Tiny-0.068/lib/Path/Tiny.pm 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/lib/Path/Tiny.pm 2015-06-28 19:50:34.000000000 +0200
@@ -5,7 +5,7 @@
package Path::Tiny;
# ABSTRACT: File path utility
-our $VERSION = '0.068';
+our $VERSION = '0.070';
# Dependencies
use Config;
@@ -314,7 +314,7 @@
#pod $temp = Path::Tiny->tempfile( "customXXXXXXXX" ); # ok
#pod $temp = Path::Tiny->tempfile( TEMPLATE => "customXXXXXXXX" ); # ok
#pod
-#pod The tempfile path object will normalized to have an absolute path, even if
+#pod The tempfile path object will be normalized to have an absolute path, even if
#pod created in a relative directory using C<DIR>.
#pod
#pod C<tempdir> is just like C<tempfile>, except it calls
@@ -324,7 +324,7 @@
#pod functions instead of as methods.
#pod
#pod B<Note>: for tempfiles, the filehandles from File::Temp are closed and not
-#pod reused. This is not as secure than using File::Temp handles directly, but is
+#pod reused. This is not as secure as using File::Temp handles directly, but is
#pod less prone to deadlocks or access problems on some platforms. Think of what
#pod C<Path::Tiny> gives you to be just a temporary file B<name> that gets cleaned
#pod up.
@@ -670,9 +670,11 @@
#pod
#pod path("/tmp/foo.txt")->copy("/tmp/bar.txt");
#pod
-#pod Copies a file using L<File::Copy>'s C<copy> function.
+#pod Copies a file using L<File::Copy>'s C<copy> function. Upon
+#pod success, returns the C<Path::Tiny> object for the newly copied
+#pod file.
#pod
-#pod Current API available since 0.001.
+#pod Current API available since 0.070.
#pod
#pod =cut
@@ -682,6 +684,8 @@
require File::Copy;
File::Copy::copy( $self->[PATH], $dest )
or Carp::croak("copy failed for $self to $dest: $!");
+
+ return -d $dest ? path( $dest, $self->basename ) : path($dest);
}
#pod =method digest
@@ -1684,7 +1688,7 @@
#pod sub {
#pod my ($path, $state) = @_;
#pod return if $path->is_dir;
-#pod $state{$path} = -s $path;
+#pod $state->{$path} = -s $path;
#pod },
#pod { recurse => 1 }
#pod );
@@ -1703,7 +1707,7 @@
#pod my $files = path("/tmp")->visit(
#pod sub {
#pod my ($path, $state) = @_;
-#pod $state{$path}++ if -s $path > 102400
+#pod $state->{$path}++ if -s $path > 102400
#pod return \0 if keys %$state == 10;
#pod },
#pod { recurse => 1 }
@@ -1726,7 +1730,7 @@
while ( my $file = $next->() ) {
local $_ = $file;
my $r = $cb->( $file, $state );
- last if ref($r) && !$$r;
+ last if ref($r) eq 'SCALAR' && !$$r;
}
return $state;
}
@@ -1781,7 +1785,7 @@
=head1 VERSION
-version 0.068
+version 0.070
=head1 SYNOPSIS
@@ -1946,7 +1950,7 @@
$temp = Path::Tiny->tempfile( "customXXXXXXXX" ); # ok
$temp = Path::Tiny->tempfile( TEMPLATE => "customXXXXXXXX" ); # ok
-The tempfile path object will normalized to have an absolute path, even if
+The tempfile path object will be normalized to have an absolute path, even if
created in a relative directory using C<DIR>.
C<tempdir> is just like C<tempfile>, except it calls
@@ -1956,7 +1960,7 @@
functions instead of as methods.
B<Note>: for tempfiles, the filehandles from File::Temp are closed and not
-reused. This is not as secure than using File::Temp handles directly, but is
+reused. This is not as secure as using File::Temp handles directly, but is
less prone to deadlocks or access problems on some platforms. Think of what
C<Path::Tiny> gives you to be just a temporary file B<name> that gets cleaned
up.
@@ -2109,9 +2113,11 @@
path("/tmp/foo.txt")->copy("/tmp/bar.txt");
-Copies a file using L<File::Copy>'s C<copy> function.
+Copies a file using L<File::Copy>'s C<copy> function. Upon
+success, returns the C<Path::Tiny> object for the newly copied
+file.
-Current API available since 0.001.
+Current API available since 0.070.
=head2 digest
@@ -2570,7 +2576,7 @@
sub {
my ($path, $state) = @_;
return if $path->is_dir;
- $state{$path} = -s $path;
+ $state->{$path} = -s $path;
},
{ recurse => 1 }
);
@@ -2589,7 +2595,7 @@
my $files = path("/tmp")->visit(
sub {
my ($path, $state) = @_;
- $state{$path}++ if -s $path > 102400
+ $state->{$path}++ if -s $path > 102400
return \0 if keys %$state == 10;
},
{ recurse => 1 }
@@ -2782,7 +2788,7 @@
=head1 CONTRIBUTORS
-=for stopwords Alex Efros Chris Williams David Steinbrunner Doug Bell Gabor Szabo Gabriel Andrade George Hartzell Geraud Continsouzas Goro Fuji Graham Knop James Hunt Karen Etheridge Martin Kjeldsen Michael G. Schwern regina-verbae Smylers Toby Inkster 김도형 - Keedi Kim
+=for stopwords Alex Efros Chris Williams David Steinbrunner Doug Bell Gabor Szabo Gabriel Andrade George Hartzell Geraud Continsouzas Goro Fuji Graham Knop James Hunt Karen Etheridge Martin Kjeldsen Michael G. Schwern Philippe Bruhat (BooK) Regina Verbae regina-verbae Smylers Tatsuhiko Miyagawa Toby Inkster Yanick Champoux 김도형 - Keedi Kim
=over 4
@@ -2844,6 +2850,14 @@
=item *
+Philippe Bruhat (BooK) <book(a)cpan.org>
+
+=item *
+
+Regina Verbae <regina-verbae(a)users.noreply.github.com>
+
+=item *
+
regina-verbae <regina-verbae(a)users.noreply.github.com>
=item *
@@ -2852,10 +2866,18 @@
=item *
+Tatsuhiko Miyagawa <miyagawa(a)bulknews.net>
+
+=item *
+
Toby Inkster <tobyink(a)cpan.org>
=item *
+Yanick Champoux <yanick(a)babyl.dyndns.org>
+
+=item *
+
김도형 - Keedi Kim <keedi(a)cpan.org>
=back
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/t/00-report-prereqs.t new/Path-Tiny-0.070/t/00-report-prereqs.t
--- old/Path-Tiny-0.068/t/00-report-prereqs.t 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/t/00-report-prereqs.t 2015-06-28 19:50:34.000000000 +0200
@@ -3,7 +3,7 @@
use strict;
use warnings;
-# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.020
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.021
use Test::More tests => 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/t/basic.t new/Path-Tiny-0.070/t/basic.t
--- old/Path-Tiny-0.068/t/basic.t 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/t/basic.t 2015-06-28 19:50:34.000000000 +0200
@@ -172,6 +172,14 @@
};
is( $err, '', "no exception if assertion succeeds" );
isa_ok( $path, "Path::Tiny", "assertion return value" );
+
+ $err = exception {
+ path(".")->visit(
+ sub { $_[1]->{$_} = { path => $_ } },
+ { recurse => 1 },
+ );
+ };
+ is $err, "", 'no exception';
}
done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/t/filesystem.t new/Path-Tiny-0.070/t/filesystem.t
--- old/Path-Tiny-0.068/t/filesystem.t 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/t/filesystem.t 2015-06-28 19:50:34.000000000 +0200
@@ -286,31 +286,48 @@
# but non-existent basename in realpath should throw error
eval { path("./djslakdj")->realpath };
- is( $@, '', "no error from realpath on non-existent last component"
- );
+ is( $@, '', "no error from realpath on non-existent last component" );
}
-{
+subtest "copy()" => sub {
my $file = $tmpdir->child("foo.txt");
$file->spew("Hello World\n");
- my $copy = $tmpdir->child("bar.txt");
- $file->copy($copy);
- is( $copy->slurp, "Hello World\n", "file copied" );
- # try some different chmods
- ok( $copy->chmod(0000), "chmod(0000)" );
- ok( $copy->chmod("0400"), "chmod('0400')" );
- SKIP: {
- skip "No exception if run as root", 1 if $> == 0;
- skip "No exception writing to read-only file", 1
- unless
- exception { open my $fh, ">", "$copy" or die }; # probe if actually read-only
- my $error = exception { $file->copy($copy) };
- ok( $error, "copy throws error if permission denied" );
- like( $error, qr/\Q$file/, "error messages includes the source file name" );
- like( $error, qr/\Q$copy/, "error messages includes the destination file name" );
- }
- ok( $copy->chmod("u+w"), "chmod('u+w')" );
-}
+
+ my $copy;
+ subtest "dest is a file" => sub {
+ $copy = $tmpdir->child("bar.txt");
+ my $result = $file->copy($copy);
+ is "$result" => "$copy", "returned the right file";
+
+ is( $copy->slurp, "Hello World\n", "file copied" );
+ };
+
+ subtest "dest is a dir" => sub {
+ # new tempdir nto to clobber the original foo.txt
+ my $tmpdir = Path::Tiny->tempdir;
+ my $result = $file->copy($tmpdir);
+
+ is "$result" => "$tmpdir/foo.txt", "returned the right file";
+
+ is $result->slurp, "Hello World\n", "file copied";
+ };
+
+ subtest "try some different chmods" => sub {
+ ok( $copy->chmod(0000), "chmod(0000)" );
+ ok( $copy->chmod("0400"), "chmod('0400')" );
+ SKIP: {
+ skip "No exception if run as root", 1 if $> == 0;
+ skip "No exception writing to read-only file", 1
+ unless
+ exception { open my $fh, ">", "$copy" or die }; # probe if actually read-only
+ my $error = exception { $file->copy($copy) };
+ ok( $error, "copy throws error if permission denied" );
+ like( $error, qr/\Q$file/, "error messages includes the source file name" );
+ like( $error, qr/\Q$copy/, "error messages includes the destination file name" );
+ }
+ ok( $copy->chmod("u+w"), "chmod('u+w')" );
+ };
+};
{
$tmpdir->child( "subdir", "touched.txt" )->touchpath->spew("Hello World\n");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/t/visit.t new/Path-Tiny-0.070/t/visit.t
--- old/Path-Tiny-0.068/t/visit.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Path-Tiny-0.070/t/visit.t 2015-06-28 19:50:34.000000000 +0200
@@ -0,0 +1,22 @@
+use strict;
+use warnings;
+
+use Test::More tests => 3;
+
+use Path::Tiny;
+
+path('t')->visit(sub{ return [ ] });
+
+pass "visit callback doesn't choke on random returned refs";
+
+my $all;
+my $terminated;
+
+path('t')->visit(sub{ $all++ });
+
+path('t')->visit(sub{ $terminated++; return \0 if $terminated == 10 });
+
+is $terminated => 10, "terminated before the whole dir was read";
+
+cmp_ok $all, '>=', $terminated, "we have more than 10 tests in that dir";
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/xt/author/00-compile.t new/Path-Tiny-0.070/xt/author/00-compile.t
--- old/Path-Tiny-0.068/xt/author/00-compile.t 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/xt/author/00-compile.t 2015-06-28 19:50:34.000000000 +0200
@@ -2,11 +2,11 @@
use strict;
use warnings;
-# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.051
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.053
use Test::More;
-plan tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
+plan tests => 2;
my @module_files = (
'Path/Tiny.pm'
@@ -39,6 +39,9 @@
waitpid($pid, 0);
is($?, 0, "$lib loaded ok");
+ shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/
+ and not eval { blib->VERSION('1.01') };
+
if (@_warnings)
{
warn @_warnings;
@@ -49,6 +52,6 @@
is(scalar(@warnings), 0, 'no warnings found')
- or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) ) if $ENV{AUTHOR_TESTING};
+ or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/xt/author/pod-spell.t new/Path-Tiny-0.070/xt/author/pod-spell.t
--- old/Path-Tiny-0.068/xt/author/pod-spell.t 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/xt/author/pod-spell.t 2015-06-28 19:50:34.000000000 +0200
@@ -2,7 +2,7 @@
use warnings;
use Test::More;
-# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006008
+# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.006009
use Test::Spelling 0.12;
use Pod::Wordlist;
@@ -77,11 +77,23 @@
Michael
Schwern
mschwern
+Philippe
+Bruhat
+BooK
+book
+Regina
+Verbae
regina
Smylers
+Tatsuhiko
+Miyagawa
+miyagawa
Toby
Inkster
tobyink
+Yanick
+Champoux
+yanick
김도형
Keedi
Kim
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.068/xt/release/test-version.t new/Path-Tiny-0.070/xt/release/test-version.t
--- old/Path-Tiny-0.068/xt/release/test-version.t 2015-03-24 01:43:17.000000000 +0100
+++ new/Path-Tiny-0.070/xt/release/test-version.t 2015-06-28 19:50:34.000000000 +0200
@@ -2,14 +2,16 @@
use warnings;
use Test::More;
-# generated by Dist::Zilla::Plugin::Test::Version 0.003001
+# generated by Dist::Zilla::Plugin::Test::Version 1.04
use Test::Version;
-my @imports = ( 'version_all_ok' );
+my @imports = qw( version_all_ok );
my $params = {
- is_strict => 0,
- has_version => 1,
+ is_strict => 0,
+ has_version => 1,
+ multiple => 0,
+
};
push @imports, $params
++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#no_testing: broken upstream
#sources:
# - source1
# - source2
#patches:
# foo.patch: -p1
# bar.patch:
#preamble: |-
# BuildRequires: gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module
1
0
Hello community,
here is the log from the commit of package perl-Params-Validate for openSUSE:Factory checked in at 2015-06-30 10:19:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Params-Validate (Old)
and /work/SRC/openSUSE:Factory/.perl-Params-Validate.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Params-Validate"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Params-Validate/perl-Params-Validate.changes 2015-06-15 17:50:38.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Params-Validate.new/perl-Params-Validate.changes 2015-06-30 10:19:10.000000000 +0200
@@ -1,0 +2,22 @@
+Mon Jun 29 01:27:01 UTC 2015 - coolo(a)suse.com
+
+- updated to 1.20
+ see /usr/share/doc/packages/perl-Params-Validate/Changes
+
+ 1.20 2015-06-28
+
+ - Fixed a bug with stack handling in the XS code. If a callback sub caused
+ Perl to reallocate the stack this could trigger weird errors of the form
+ "Bizarre copy of ARRAY" from Perl itself. Fixed by Noel Maddy. GH #5.
+
+ - Fixed use of inlining in the XS code to work when "gcc -std=c89" is
+ specified. Fixed by Vincent Pit. GH #6.
+
+ - Previously, Params::Validate would eagerly stringify all values it was
+ validating, even though this stringification was only needed for error
+ messages that are used when a parameter fails. For objects which overload
+ stringification and do real work, this added an unnecessary
+ slowdown. Stringification is now delayed until it is needed. Reported by
+ Klaus. RT #105326.
+
+-------------------------------------------------------------------
Old:
----
Params-Validate-1.19.tar.gz
New:
----
Params-Validate-1.20.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Params-Validate.spec ++++++
--- /var/tmp/diff_new_pack.LDzxtv/_old 2015-06-30 10:19:11.000000000 +0200
+++ /var/tmp/diff_new_pack.LDzxtv/_new 2015-06-30 10:19:11.000000000 +0200
@@ -17,7 +17,7 @@
Name: perl-Params-Validate
-Version: 1.19
+Version: 1.20
Release: 0
%define cpan_name Params-Validate
Summary: Validate method/function parameters
++++++ Params-Validate-1.19.tar.gz -> Params-Validate-1.20.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/Build.PL new/Params-Validate-1.20/Build.PL
--- old/Params-Validate-1.19/Build.PL 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/Build.PL 2015-06-28 16:34:36.000000000 +0200
@@ -20,7 +20,7 @@
"Ilya Martynov <ilya\(a)martynov.org>"
],
"dist_name" => "Params-Validate",
- "dist_version" => "1.19",
+ "dist_version" => "1.20",
"license" => "artistic_2",
"module_name" => "Params::Validate",
"recommends" => {},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/Changes new/Params-Validate-1.20/Changes
--- old/Params-Validate-1.19/Changes 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/Changes 2015-06-28 16:34:36.000000000 +0200
@@ -1,3 +1,20 @@
+1.20 2015-06-28
+
+- Fixed a bug with stack handling in the XS code. If a callback sub caused
+ Perl to reallocate the stack this could trigger weird errors of the form
+ "Bizarre copy of ARRAY" from Perl itself. Fixed by Noel Maddy. GH #5.
+
+- Fixed use of inlining in the XS code to work when "gcc -std=c89" is
+ specified. Fixed by Vincent Pit. GH #6.
+
+- Previously, Params::Validate would eagerly stringify all values it was
+ validating, even though this stringification was only needed for error
+ messages that are used when a parameter fails. For objects which overload
+ stringification and do real work, this added an unnecessary
+ slowdown. Stringification is now delayed until it is needed. Reported by
+ Klaus. RT #105326.
+
+
1.19 2015-06-12
- Fixed an uninitialized value warning from the pure Perl implementation under
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/MANIFEST new/Params-Validate-1.20/MANIFEST
--- old/Params-Validate-1.19/MANIFEST 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/MANIFEST 2015-06-28 16:34:36.000000000 +0200
@@ -120,5 +120,6 @@
t/release-synopsis.t
t/release-xs-is-loaded.t
t/release-xs-segfault.t
+t/release-xs-stack-realloc.t
tidyall.ini
weaver.ini
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/META.json new/Params-Validate-1.20/META.json
--- old/Params-Validate-1.19/META.json 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/META.json 2015-06-28 16:34:36.000000000 +0200
@@ -85,23 +85,23 @@
"provides" : {
"Attribute::Params::Validate" : {
"file" : "lib/Attribute/Params/Validate.pm",
- "version" : "1.19"
+ "version" : "1.20"
},
"Params::Validate" : {
"file" : "lib/Params/Validate.pm",
- "version" : "1.19"
+ "version" : "1.20"
},
"Params::Validate::Constants" : {
"file" : "lib/Params/Validate/Constants.pm",
- "version" : "1.19"
+ "version" : "1.20"
},
"Params::Validate::PP" : {
"file" : "lib/Params/Validate/PP.pm",
- "version" : "1.19"
+ "version" : "1.20"
},
"Params::Validate::XS" : {
"file" : "lib/Params/Validate/XS.pm",
- "version" : "1.19"
+ "version" : "1.20"
}
},
"release_status" : "stable",
@@ -117,7 +117,7 @@
"web" : "https://github.com/autarch/Params-Validate"
}
},
- "version" : "1.19",
+ "version" : "1.20",
"x_Dist_Zilla" : {
"perl" : {
"version" : "5.020001"
@@ -136,7 +136,7 @@
{
"class" : "Dist::Zilla::Plugin::CopyFilesFromBuild",
"name" : "@DROLSKY/CopyFilesFromBuild",
- "version" : "0.150250"
+ "version" : "0.151680"
},
{
"class" : "Dist::Zilla::Plugin::Git::GatherDir",
@@ -144,10 +144,10 @@
"Dist::Zilla::Plugin::GatherDir" : {
"exclude_filename" : [
"README.md",
- "Makefile.PL",
- "Build.PL",
+ "cpanfile",
"LICENSE",
- "cpanfile"
+ "Makefile.PL",
+ "Build.PL"
],
"exclude_match" : [],
"follow_symlinks" : "0",
@@ -242,7 +242,7 @@
}
},
"name" : "@DROLSKY/PromptIfStale",
- "version" : "0.044"
+ "version" : "0.045"
},
{
"class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod",
@@ -574,10 +574,10 @@
"Dist::Zilla::Role::Git::DirtyFiles" : {
"allow_dirty" : [
"README.md",
+ "cpanfile",
+ "LICENSE",
"Makefile.PL",
"Build.PL",
- "LICENSE",
- "cpanfile",
"Changes",
"CONTRIBUTING.md"
],
@@ -602,10 +602,10 @@
"Dist::Zilla::Role::Git::DirtyFiles" : {
"allow_dirty" : [
"README.md",
+ "cpanfile",
+ "LICENSE",
"Makefile.PL",
"Build.PL",
- "LICENSE",
- "cpanfile",
"Changes",
"CONTRIBUTING.md"
],
@@ -625,7 +625,7 @@
"Dist::Zilla::Plugin::Git::Tag" : {
"branch" : null,
"signed" : 0,
- "tag" : "v1.19",
+ "tag" : "v1.20",
"tag_format" : "v%v",
"tag_message" : "v%v",
"time_zone" : "local"
@@ -781,8 +781,11 @@
},
"x_authority" : "cpan:DROLSKY",
"x_contributors" : [
+ "Ivan Bessarabov <ivan(a)bessarabov.ru>",
"J.R. Mash <jmash.code(a)gmail.com>",
- "Olivier Mengué <dolmen(a)cpan.org>"
+ "Noel Maddy <zhtwnpanta(a)gmail.com>",
+ "Olivier Mengué <dolmen(a)cpan.org>",
+ "Vincent Pit <perl(a)profvince.com>"
]
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/META.yml new/Params-Validate-1.20/META.yml
--- old/Params-Validate-1.19/META.yml 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/META.yml 2015-06-28 16:34:36.000000000 +0200
@@ -29,19 +29,19 @@
provides:
Attribute::Params::Validate:
file: lib/Attribute/Params/Validate.pm
- version: '1.19'
+ version: '1.20'
Params::Validate:
file: lib/Params/Validate.pm
- version: '1.19'
+ version: '1.20'
Params::Validate::Constants:
file: lib/Params/Validate/Constants.pm
- version: '1.19'
+ version: '1.20'
Params::Validate::PP:
file: lib/Params/Validate/PP.pm
- version: '1.19'
+ version: '1.20'
Params::Validate::XS:
file: lib/Params/Validate/XS.pm
- version: '1.19'
+ version: '1.20'
requires:
Attribute::Handlers: '0.79'
Carp: '0'
@@ -58,7 +58,7 @@
bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=Params-Validate
homepage: http://metacpan.org/release/Params-Validate
repository: git://github.com/autarch/Params-Validate.git
-version: '1.19'
+version: '1.20'
x_Dist_Zilla:
perl:
version: '5.020001'
@@ -74,17 +74,17 @@
-
class: Dist::Zilla::Plugin::CopyFilesFromBuild
name: '@DROLSKY/CopyFilesFromBuild'
- version: '0.150250'
+ version: '0.151680'
-
class: Dist::Zilla::Plugin::Git::GatherDir
config:
Dist::Zilla::Plugin::GatherDir:
exclude_filename:
- README.md
+ - cpanfile
+ - LICENSE
- Makefile.PL
- Build.PL
- - LICENSE
- - cpanfile
exclude_match: []
follow_symlinks: '0'
include_dotfiles: '0'
@@ -155,7 +155,7 @@
- Dist::Zilla::Plugin::DROLSKY::License
- Dist::Zilla::Plugin::DROLSKY::TidyAll
name: '@DROLSKY/PromptIfStale'
- version: '0.044'
+ version: '0.045'
-
class: Dist::Zilla::Plugin::ReadmeAnyFromPod
name: '@DROLSKY/README.md in build'
@@ -414,10 +414,10 @@
Dist::Zilla::Role::Git::DirtyFiles:
allow_dirty:
- README.md
+ - cpanfile
+ - LICENSE
- Makefile.PL
- Build.PL
- - LICENSE
- - cpanfile
- Changes
- CONTRIBUTING.md
allow_dirty_match: []
@@ -436,10 +436,10 @@
Dist::Zilla::Role::Git::DirtyFiles:
allow_dirty:
- README.md
+ - cpanfile
+ - LICENSE
- Makefile.PL
- Build.PL
- - LICENSE
- - cpanfile
- Changes
- CONTRIBUTING.md
allow_dirty_match: []
@@ -454,7 +454,7 @@
Dist::Zilla::Plugin::Git::Tag:
branch: ~
signed: 0
- tag: v1.19
+ tag: v1.20
tag_format: v%v
tag_message: v%v
time_zone: local
@@ -568,5 +568,8 @@
version: '5.037'
x_authority: cpan:DROLSKY
x_contributors:
+ - 'Ivan Bessarabov <ivan(a)bessarabov.ru>'
- 'J.R. Mash <jmash.code(a)gmail.com>'
+ - 'Noel Maddy <zhtwnpanta(a)gmail.com>'
- 'Olivier Mengué <dolmen(a)cpan.org>'
+ - 'Vincent Pit <perl(a)profvince.com>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/README.md new/Params-Validate-1.20/README.md
--- old/Params-Validate-1.19/README.md 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/README.md 2015-06-28 16:34:36.000000000 +0200
@@ -4,7 +4,7 @@
VERSION
- version 1.19
+ version 1.20
SYNOPSIS
@@ -430,8 +430,8 @@
optional => 1,
depends => [ 'cc_expiration', 'cc_holder_name' ],
},
- cc_expiration { type => SCALAR, optional => 1 },
- cc_holder_name { type => SCALAR, optional => 1 },
+ cc_expiration => { type => SCALAR, optional => 1 },
+ cc_holder_name => { type => SCALAR, optional => 1 },
}
);
@@ -768,10 +768,16 @@
CONTRIBUTORS
+ * Ivan Bessarabov <ivan(a)bessarabov.ru>
+
* J.R. Mash <jmash.code(a)gmail.com>
+ * Noel Maddy <zhtwnpanta(a)gmail.com>
+
* Olivier Mengué <dolmen(a)cpan.org>
+ * Vincent Pit <perl(a)profvince.com>
+
COPYRIGHT AND LICENSE
This software is Copyright (c) 2001 - 2015 by Dave Rolsky and Ilya
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/lib/Attribute/Params/Validate.pm new/Params-Validate-1.20/lib/Attribute/Params/Validate.pm
--- old/Params-Validate-1.19/lib/Attribute/Params/Validate.pm 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/lib/Attribute/Params/Validate.pm 2015-06-28 16:34:36.000000000 +0200
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = '1.19';
+our $VERSION = '1.20';
use attributes;
@@ -100,7 +100,7 @@
=head1 VERSION
-version 1.19
+version 1.20
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/lib/Params/Validate/Constants.pm new/Params-Validate-1.20/lib/Params/Validate/Constants.pm
--- old/Params-Validate-1.19/lib/Params/Validate/Constants.pm 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/lib/Params/Validate/Constants.pm 2015-06-28 16:34:36.000000000 +0200
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = '1.19';
+our $VERSION = '1.20';
our @ISA = 'Exporter';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/lib/Params/Validate/PP.pm new/Params-Validate-1.20/lib/Params/Validate/PP.pm
--- old/Params-Validate-1.19/lib/Params/Validate/PP.pm 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/lib/Params/Validate/PP.pm 2015-06-28 16:34:36.000000000 +0200
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = '1.19';
+our $VERSION = '1.20';
use Params::Validate::Constants;
use Scalar::Util 1.10 ();
@@ -99,10 +99,9 @@
next unless ref $spec;
if ( $_ <= $#p ) {
- my $value = defined $p[$_] ? qq|"$p[$_]"| : 'undef';
_validate_one_param(
$p[$_], \@p, $spec,
- "Parameter #" . ( $_ + 1 ) . " ($value)"
+ 'Parameter #' . ( $_ + 1 ) . ' (%s)'
);
}
@@ -340,7 +339,7 @@
my $value = defined $p->{$key} ? qq|"$p->{$key}"| : 'undef';
_validate_one_param(
$p->{$key}, $p, $spec,
- "The '$key' parameter ($value)"
+ qq{The '$key' parameter (%s)}
);
}
}
@@ -469,7 +468,7 @@
$msg
.= ".\n Use the constants exported by Params::Validate to declare types.";
- $options->{on_fail}->($msg);
+ $options->{on_fail}->( sprintf( $msg, _stringify($value) ) );
}
unless ( _get_type($value) & $spec->{type} ) {
@@ -481,8 +480,13 @@
my $called = _get_called(1);
- $options->{on_fail}->( "$id to $called was $article '@is', which "
- . "is not one of the allowed types: @allowed\n" );
+ $options->{on_fail}->(
+ sprintf(
+ "$id to $called was $article '@is', which "
+ . "is not one of the allowed types: @allowed\n",
+ _stringify($value)
+ )
+ );
}
}
@@ -507,9 +511,12 @@
my $called = _get_called(1);
- $options->{on_fail}
- ->( "$id to $called was not $article1 '$_' "
- . "(it is $article2 $is)\n" );
+ $options->{on_fail}->(
+ sprintf(
+ "$id to $called was not $article1 '$_' "
+ . "(it is $article2 $is)\n", _stringify($value)
+ )
+ );
}
}
}
@@ -524,8 +531,12 @@
) {
my $called = _get_called(1);
- $options->{on_fail}
- ->("$id to $called does not have the method: '$_'\n");
+ $options->{on_fail}->(
+ sprintf(
+ "$id to $called does not have the method: '$_'\n",
+ _stringify($value)
+ )
+ );
}
}
}
@@ -559,16 +570,15 @@
if ( !$ok ) {
my $called = _get_called(1);
- my $msg;
if ( ref $e ) {
- $msg = $e;
+ $options->{on_fail}->($e);
}
else {
- $msg = "$id to $called did not pass the '$_' callback";
+ my $msg = "$id to $called did not pass the '$_' callback";
$msg .= ": $e" if length $e;
$msg .= "\n";
+ $options->{on_fail}->( sprintf( $msg, _stringify($value) ) );
}
- $options->{on_fail}->($msg);
}
}
}
@@ -577,8 +587,12 @@
unless ( ( defined $value ? $value : '' ) =~ /$spec->{regex}/ ) {
my $called = _get_called(1);
- $options->{on_fail}
- ->("$id to $called did not pass regex check\n");
+ $options->{on_fail}->(
+ sprintf(
+ "$id to $called did not pass regex check\n",
+ _stringify($value)
+ )
+ );
}
}
}
@@ -714,4 +728,8 @@
return $called;
}
+sub _stringify {
+ return defined $_[0] ? qq{"$_[0]"} : 'undef';
+}
+
1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/lib/Params/Validate/XS.pm new/Params-Validate-1.20/lib/Params/Validate/XS.pm
--- old/Params-Validate-1.19/lib/Params/Validate/XS.pm 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/lib/Params/Validate/XS.pm 2015-06-28 16:34:36.000000000 +0200
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = '1.19';
+our $VERSION = '1.20';
use Carp;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/lib/Params/Validate/XS.xs new/Params-Validate-1.20/lib/Params/Validate/XS.xs
--- old/Params-Validate-1.19/lib/Params/Validate/XS.xs 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/lib/Params/Validate/XS.xs 2015-06-28 16:34:36.000000000 +0200
@@ -5,7 +5,7 @@
#include "XSUB.h"
#include "ppport.h"
-#ifdef __GNUC__
+#if (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))
#define INLINE inline
#else
#define INLINE
@@ -246,6 +246,16 @@
return "a";
}
+char *
+string_representation(SV* value) {
+ if(SvOK(value)) {
+ return (void *)form("\"%s\"", SvPV_nolen(value));
+ }
+ else {
+ return (void *)"undef";
+ }
+}
+
/* raises exception either using user-defined callback or using
built-in method */
static void
@@ -364,7 +374,7 @@
/* $value->isa alike validation */
static IV
-validate_isa(SV* value, SV* package, SV* id, HV* options) {
+validate_isa(SV* value, SV* package, char* id, HV* options) {
IV ok = 1;
if (! value) {
@@ -409,7 +419,7 @@
if (! ok) {
SV *caller = get_caller(options);
- SV* buffer = newSVsv(id);
+ SV* buffer = newSVpvf(id, string_representation(value));
sv_catpv(buffer, " to ");
sv_catsv(buffer, caller);
SvREFCNT_dec(caller);
@@ -434,7 +444,7 @@
}
static IV
-validate_can(SV* value, SV* method, SV* id, HV* options) {
+validate_can(SV* value, SV* method, char* id, HV* options) {
IV ok = 1;
if (! value) {
@@ -478,7 +488,7 @@
}
if (! ok) {
- SV* buffer = newSVsv(id);
+ SV* buffer = newSVpvf(id, string_representation(value));
SV *caller = get_caller(options);
sv_catpv(buffer, " to ");
sv_catsv(buffer, caller);
@@ -494,7 +504,7 @@
/* validates specific parameter using supplied parameter specification */
static IV
-validate_one_param(SV* value, SV* params, HV* spec, SV* id, HV* options, IV* untaint) {
+validate_one_param(SV* value, SV* params, HV* spec, char* id, HV* options, IV* untaint) {
SV** temp;
IV i;
@@ -531,7 +541,7 @@
&& looks_like_number(*temp)
&& SvIV(*temp) > 0 ) ) {
- SV* buffer = newSVsv(id);
+ SV* buffer = newSVpvf(id, string_representation(value));
sv_catpv( buffer, " has a type specification which is not a number. It is ");
if ( SvOK(*temp) ) {
sv_catpv( buffer, "a string - " );
@@ -548,7 +558,7 @@
SvGETMAGIC(*temp);
type = get_type(value);
if (! (type & SvIV(*temp))) {
- SV* buffer = newSVsv(id);
+ SV* buffer = newSVpvf(id, string_representation(value));
SV *caller = get_caller(options);
SV* is;
SV* allowed;
@@ -699,7 +709,7 @@
validation_failure(err, options);
}
else {
- SV* buffer = newSVsv(id);
+ SV* buffer = newSVpvf(id, string_representation(value));
SV *caller = get_caller(options);
sv_catpv(buffer, " to ");
@@ -770,7 +780,7 @@
PUTBACK;
if (!ok) {
- SV* buffer = newSVsv(id);
+ SV* buffer = newSVpvf(id, string_representation(value));
SV *caller = get_caller(options);
sv_catpv(buffer, " to ");
@@ -1098,18 +1108,6 @@
}
void
-cat_string_representation(SV* buffer, SV* value) {
- if(SvOK(value)) {
- sv_catpv(buffer, "\"");
- sv_catpv(buffer, SvPV_nolen(value));
- sv_catpv(buffer, "\"");
- }
- else {
- sv_catpv(buffer, "undef");
- }
-}
-
-void
apply_defaults(HV *ret, HV *p, HV *specs, AV *missing) {
HE* he;
SV** temp;
@@ -1266,16 +1264,12 @@
if(he1) {
hv1 = HeVAL(he1);
if (SvROK(hv1) && SvTYPE(SvRV(hv1)) == SVt_PVHV) {
- SV* buffer;
+ char* buffer;
HV* spec;
IV untaint = 0;
spec = (HV*) SvRV(hv1);
- buffer = sv_2mortal(newSVpv("The '", 0));
- sv_catsv(buffer, HeSVKEY_force(he));
- sv_catpv(buffer, "' parameter (");
- cat_string_representation(buffer, hv);
- sv_catpv(buffer, ")");
+ buffer = form("The '%s' parameter (%%s)", HePV(he, PL_na));
if (! validate_one_param(hv, (SV*) p, spec, buffer, options, &untaint))
return 0;
@@ -1292,7 +1286,7 @@
}
if (av_len(unmentioned) > -1) {
- SV* buffer = newSVpv("The following parameter", 0);
+ SV* buffer = newSVpv("The following parameter", 0);
SV *caller = get_caller(options);
if (av_len(unmentioned) != 0) {
@@ -1437,7 +1431,7 @@
static IV
validate_pos(AV* p, AV* specs, HV* options, AV* ret) {
- SV* buffer;
+ char* buffer;
SV* value;
SV* spec = NULL;
SV** temp;
@@ -1503,12 +1497,9 @@
if (complex_spec) {
IV untaint = 0;
- buffer = sv_2mortal(newSVpvf("Parameter #%d (", (int) i + 1));
- cat_string_representation(buffer, value);
- sv_catpv(buffer, ")");
+ buffer = form("Parameter #%d (%%s)", (int)i + 1);
- if (! validate_one_param(value, (SV*) p, (HV*) SvRV(spec),
- buffer, options, &untaint)) {
+ if (! validate_one_param(value, (SV*) p, (HV*) SvRV(spec), buffer, options, &untaint)) {
return 0;
}
@@ -1748,11 +1739,14 @@
ret = (AV*) sv_2mortal((SV*) newAV());
}
- if (! validate_pos((AV*) SvRV(params), (AV*) SvRV(spec),
- get_options(p), ret)) {
+ PUTBACK;
+
+ if (! validate_pos((AV*) SvRV(params), (AV*) SvRV(spec), get_options(p), ret)) {
+ SPAGAIN;
XSRETURN(0);
}
+ SPAGAIN;
RETURN_ARRAY(ret);
}
else {
@@ -1802,10 +1796,14 @@
ret = (HV*) sv_2mortal((SV*) newHV());
}
+ PUTBACK;
+
if (! validate(hv, (HV*) SvRV(spec), options, ret)) {
+ SPAGAIN;
XSRETURN(0);
}
+ SPAGAIN;
RETURN_HASH(ret);
}
else {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/lib/Params/Validate.pm new/Params-Validate-1.20/lib/Params/Validate.pm
--- old/Params-Validate-1.19/lib/Params/Validate.pm 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/lib/Params/Validate.pm 2015-06-28 16:34:36.000000000 +0200
@@ -5,7 +5,7 @@
use strict;
use warnings;
-our $VERSION = '1.19';
+our $VERSION = '1.20';
use Exporter;
use Module::Implementation;
@@ -75,7 +75,7 @@
=head1 VERSION
-version 1.19
+version 1.20
=head1 SYNOPSIS
@@ -510,8 +510,8 @@
optional => 1,
depends => [ 'cc_expiration', 'cc_holder_name' ],
},
- cc_expiration { type => SCALAR, optional => 1 },
- cc_holder_name { type => SCALAR, optional => 1 },
+ cc_expiration => { type => SCALAR, optional => 1 },
+ cc_holder_name => { type => SCALAR, optional => 1 },
}
);
@@ -863,18 +863,30 @@
=head1 CONTRIBUTORS
-=for stopwords J.R. Mash Olivier Mengué
+=for stopwords Ivan Bessarabov J.R. Mash Noel Maddy Olivier Mengué Vincent Pit
=over 4
=item *
+Ivan Bessarabov <ivan(a)bessarabov.ru>
+
+=item *
+
J.R. Mash <jmash.code(a)gmail.com>
=item *
+Noel Maddy <zhtwnpanta(a)gmail.com>
+
+=item *
+
Olivier Mengué <dolmen(a)cpan.org>
+=item *
+
+Vincent Pit <perl(a)profvince.com>
+
=back
=head1 COPYRIGHT AND LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/lib/Params/ValidatePP.pm new/Params-Validate-1.20/lib/Params/ValidatePP.pm
--- old/Params-Validate-1.19/lib/Params/ValidatePP.pm 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/lib/Params/ValidatePP.pm 2015-06-28 16:34:36.000000000 +0200
@@ -1,7 +1,7 @@
package # hide from PAUSE
Params::Validate;
-our $VERSION = '1.19';
+our $VERSION = '1.20';
BEGIN { $ENV{PARAMS_VALIDATE_IMPLEMENTATION} = 'PP' }
use Params::Validate;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/lib/Params/ValidateXS.pm new/Params-Validate-1.20/lib/Params/ValidateXS.pm
--- old/Params-Validate-1.19/lib/Params/ValidateXS.pm 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/lib/Params/ValidateXS.pm 2015-06-28 16:34:36.000000000 +0200
@@ -1,7 +1,7 @@
package # hide from PAUSE
Params::Validate;
-our $VERSION = '1.19';
+our $VERSION = '1.20';
BEGIN { $ENV{PARAMS_VALIDATE_IMPLEMENTATION} = 'XS' }
use Params::Validate;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/t/author-eol.t new/Params-Validate-1.20/t/author-eol.t
--- old/Params-Validate-1.19/t/author-eol.t 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/t/author-eol.t 2015-06-28 16:34:36.000000000 +0200
@@ -118,7 +118,8 @@
't/release-pp-is-loaded.t',
't/release-synopsis.t',
't/release-xs-is-loaded.t',
- 't/release-xs-segfault.t'
+ 't/release-xs-segfault.t',
+ 't/release-xs-stack-realloc.t'
);
eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/t/author-no-tabs.t new/Params-Validate-1.20/t/author-no-tabs.t
--- old/Params-Validate-1.19/t/author-no-tabs.t 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/t/author-no-tabs.t 2015-06-28 16:34:36.000000000 +0200
@@ -118,7 +118,8 @@
't/release-pp-is-loaded.t',
't/release-synopsis.t',
't/release-xs-is-loaded.t',
- 't/release-xs-segfault.t'
+ 't/release-xs-segfault.t',
+ 't/release-xs-stack-realloc.t'
);
notabs_ok($_) foreach @files;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/t/author-pod-spell.t new/Params-Validate-1.20/t/author-pod-spell.t
--- old/Params-Validate-1.19/t/author-pod-spell.t 2015-06-13 05:49:43.000000000 +0200
+++ new/Params-Validate-1.20/t/author-pod-spell.t 2015-06-28 16:34:36.000000000 +0200
@@ -39,11 +39,20 @@
Martynov
ilya
and
+Ivan
+Bessarabov
+ivan
Mash
jmash
+Noel
+Maddy
+zhtwnpanta
Olivier
Mengué
dolmen
+Vincent
+Pit
+perl
lib
Attribute
Params
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Params-Validate-1.19/t/release-xs-stack-realloc.t new/Params-Validate-1.20/t/release-xs-stack-realloc.t
--- old/Params-Validate-1.19/t/release-xs-stack-realloc.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Params-Validate-1.20/t/release-xs-stack-realloc.t 2015-06-28 16:34:36.000000000 +0200
@@ -0,0 +1,60 @@
+
+BEGIN {
+ unless ($ENV{RELEASE_TESTING}) {
+ require Test::More;
+ Test::More::plan(skip_all => 'these tests are for release candidate testing');
+ }
+}
+
+use strict;
+use warnings;
+
+use Test::More;
+
+BEGIN {
+ $ENV{PARAMS_VALIDATE_IMPLEMENTATION} = 'XS';
+ $ENV{PV_WARN_FAILED_IMPLEMENTATION} = 1;
+}
+
+use Params::Validate qw( validate_with );
+
+my $alloc_size;
+for my $i ( 0 .. 15 ) {
+ $alloc_size = 2**$i;
+ test_array_spec(undef);
+}
+
+ok( 1, 'array validation succeeded with stack realloc' );
+
+for my $i ( 0 .. 15 ) {
+ $alloc_size = 2**$i;
+ test_hash_spec( a => undef );
+}
+
+ok( 1, 'hash validation succeeded with stack realloc' );
+
+done_testing();
+
+sub grow_stack {
+ my @stuff = (1) x $alloc_size;
+
+ # "validation" always succeeds - we just need the stack to grow inside a
+ # callback to trigger the bug.
+ return 1;
+}
+
+sub test_array_spec {
+ my @args = validate_with(
+ params => \@_,
+ spec => [ { callbacks => { grow_stack => \&grow_stack } } ],
+ );
+}
+
+sub test_hash_spec {
+ my %args = validate_with(
+ params => \@_,
+ spec => {
+ a => { callbacks => { grow_stack => \&grow_stack } },
+ },
+ );
+}
1
0
Hello community,
here is the log from the commit of package perl-strictures for openSUSE:Factory checked in at 2015-06-30 10:19:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-strictures (Old)
and /work/SRC/openSUSE:Factory/.perl-strictures.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-strictures"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-strictures/perl-strictures.changes 2015-04-15 16:26:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-strictures.new/perl-strictures.changes 2015-06-30 10:19:09.000000000 +0200
@@ -1,0 +2,13 @@
+Mon Jun 29 01:45:32 UTC 2015 - coolo(a)suse.com
+
+- updated to 2.000001
+ see /usr/share/doc/packages/perl-strictures/Changes
+
+ 2.000001 - 2015-06-28
+ - update for perl 5.22 warning categories
+ - avoid using goto &UNIVERSAL::VERSION on perl 5.8, since it segfaults some
+ builds
+ - also detect development directories based on .bzr directory
+ - various test cleanups
+
+-------------------------------------------------------------------
Old:
----
strictures-2.000000.tar.gz
New:
----
cpanspec.yml
strictures-2.000001.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-strictures.spec ++++++
--- /var/tmp/diff_new_pack.SDoKlN/_old 2015-06-30 10:19:10.000000000 +0200
+++ /var/tmp/diff_new_pack.SDoKlN/_new 2015-06-30 10:19:10.000000000 +0200
@@ -17,14 +17,15 @@
Name: perl-strictures
-Version: 2.000000
+Version: 2.000001
Release: 0
%define cpan_name strictures
-Summary: turn on strict and make all warnings fatal
+Summary: Turn On Strict and Make Most Warnings Fatal
License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/strictures/
-Source: http://www.cpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz
+Source0: http://www.cpan.org/authors/id/H/HA/HAARG/%{cpan_name}-%{version}.tar.gz
+Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#no_testing: broken upstream
#sources:
# - source1
# - source2
#patches:
# foo.patch: -p1
# bar.patch:
#preamble: |-
# BuildRequires: gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module
++++++ strictures-2.000000.tar.gz -> strictures-2.000001.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/strictures-2.000000/Changes new/strictures-2.000001/Changes
--- old/strictures-2.000000/Changes 2015-02-26 10:32:12.000000000 +0100
+++ new/strictures-2.000001/Changes 2015-06-28 09:38:05.000000000 +0200
@@ -1,5 +1,12 @@
Release history for strictures
+2.000001 - 2015-06-28
+ - update for perl 5.22 warning categories
+ - avoid using goto &UNIVERSAL::VERSION on perl 5.8, since it segfaults some
+ builds
+ - also detect development directories based on .bzr directory
+ - various test cleanups
+
2.000000 - 2015-02-26
* Incompatible Changes
- strictures 2 fatalizes only a subset of warnings. Some warning
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/strictures-2.000000/META.json new/strictures-2.000001/META.json
--- old/strictures-2.000000/META.json 2015-02-26 10:32:27.000000000 +0100
+++ new/strictures-2.000001/META.json 2015-06-28 09:38:13.000000000 +0200
@@ -1,10 +1,10 @@
{
- "abstract" : "turn on strict and make all warnings fatal",
+ "abstract" : "turn on strict and make most warnings fatal",
"author" : [
"mst - Matt S. Trout (cpan:MSTROUT) <mst(a)shadowcat.co.uk>"
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.143240",
+ "generated_by" : "ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter version 2.150001",
"license" : [
"perl_5"
],
@@ -67,5 +67,5 @@
"web" : "http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git"
}
},
- "version" : "2.000000"
+ "version" : "2.000001"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/strictures-2.000000/META.yml new/strictures-2.000001/META.yml
--- old/strictures-2.000000/META.yml 2015-02-26 10:32:27.000000000 +0100
+++ new/strictures-2.000001/META.yml 2015-06-28 09:38:12.000000000 +0200
@@ -1,12 +1,12 @@
---
-abstract: 'turn on strict and make all warnings fatal'
+abstract: 'turn on strict and make most warnings fatal'
author:
- 'mst - Matt S. Trout (cpan:MSTROUT) <mst(a)shadowcat.co.uk>'
build_requires:
Test::More: '0'
configure_requires: {}
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.04, CPAN::Meta::Converter version 2.143240'
+generated_by: 'ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter version 2.150001'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -26,4 +26,4 @@
bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=strictures
license: http://dev.perl.org/licenses/
repository: git://git.shadowcat.co.uk/p5sagit/strictures.git
-version: '2.000000'
+version: '2.000001'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/strictures-2.000000/README new/strictures-2.000001/README
--- old/strictures-2.000000/README 2015-02-26 10:32:27.000000000 +0100
+++ new/strictures-2.000001/README 2015-06-28 09:38:13.000000000 +0200
@@ -1,5 +1,5 @@
NAME
- strictures - turn on strict and make all warnings fatal
+ strictures - turn on strict and make most warnings fatal
SYNOPSIS
use strictures 2;
@@ -24,13 +24,13 @@
(caller)[1] =~ /^(?:t|xt|lib|blib)[\\\/]/
- and when either ".git", ".svn", or ".hg" is present in the current
- directory (with the intention of only forcing extra tests on the author
- side) -- or when ".git", ".svn", or ".hg" is present two directories up
- along with "dist.ini" (which would indicate we are in a "dzil test"
- operation, via Dist::Zilla) -- or when the "PERL_STRICTURES_EXTRA"
- environment variable is set, in which case it also does the equivalent
- of
+ and when either ".git", ".svn", ".hg", or ".bzr" is present in the
+ current directory (with the intention of only forcing extra tests on the
+ author side) -- or when ".git", ".svn", ".hg", or ".bzr" is present two
+ directories up along with "dist.ini" (which would indicate we are in a
+ "dzil test" operation, via Dist::Zilla) -- or when the
+ "PERL_STRICTURES_EXTRA" environment variable is set, in which case it
+ also does the equivalent of
no indirect 'fatal';
no multidimensional;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/strictures-2.000000/lib/strictures.pm new/strictures-2.000001/lib/strictures.pm
--- old/strictures-2.000000/lib/strictures.pm 2015-02-26 00:04:21.000000000 +0100
+++ new/strictures-2.000001/lib/strictures.pm 2015-06-28 09:38:00.000000000 +0200
@@ -5,10 +5,12 @@
BEGIN {
*_PERL_LT_5_8_4 = ($] < 5.008004) ? sub(){1} : sub(){0};
- *_CAN_GOTO_VERSION = ($] >= 5.008000) ? sub(){1} : sub(){0};
+ # goto &UNIVERSAL::VERSION usually works on 5.8, but fails on some ARM
+ # machines. Seems to always work on 5.10 though.
+ *_CAN_GOTO_VERSION = ($] >= 5.010000) ? sub(){1} : sub(){0};
}
-our $VERSION = '2.000000';
+our $VERSION = '2.000001';
$VERSION = eval $VERSION;
our @WARNING_CATEGORIES = grep { exists $warnings::Offsets{$_} } qw(
@@ -18,6 +20,7 @@
exiting
experimental
experimental::autoderef
+ experimental::bitwise
experimental::const_attr
experimental::lexical_subs
experimental::lexical_topic
@@ -197,9 +200,9 @@
and $file =~ /^(?:t|xt|lib|blib)[\\\/]/
and defined $Smells_Like_VCS ? $Smells_Like_VCS
: ( $Smells_Like_VCS = !!(
- -e '.git' || -e '.svn' || -e '.hg'
+ -e '.git' || -e '.svn' || -e '.hg' || -e '.bzr'
|| (-e '../../dist.ini'
- && (-e '../../.git' || -e '../../.svn' || -e '../../.hg' ))
+ && (-e '../../.git' || -e '../../.svn' || -e '../../.hg' || -e '../../.bzr' ))
))
);
}
@@ -243,7 +246,7 @@
__END__
=head1 NAME
-strictures - turn on strict and make all warnings fatal
+strictures - turn on strict and make most warnings fatal
=head1 SYNOPSIS
@@ -269,12 +272,12 @@
(caller)[1] =~ /^(?:t|xt|lib|blib)[\\\/]/
-and when either C<.git>, C<.svn>, or C<.hg> is present in the current directory
-(with the intention of only forcing extra tests on the author side) -- or when
-C<.git>, C<.svn>, or C<.hg> is present two directories up along with
-C<dist.ini> (which would indicate we are in a C<dzil test> operation, via
-L<Dist::Zilla>) -- or when the C<PERL_STRICTURES_EXTRA> environment variable is
-set, in which case it also does the equivalent of
+and when either C<.git>, C<.svn>, C<.hg>, or C<.bzr> is present in the current
+directory (with the intention of only forcing extra tests on the author side)
+-- or when C<.git>, C<.svn>, C<.hg>, or C<.bzr> is present two directories up
+along with C<dist.ini> (which would indicate we are in a C<dzil test> operation,
+via L<Dist::Zilla>) -- or when the C<PERL_STRICTURES_EXTRA> environment variable
+is set, in which case it also does the equivalent of
no indirect 'fatal';
no multidimensional;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/strictures-2.000000/t/extras.t new/strictures-2.000001/t/extras.t
--- old/strictures-2.000000/t/extras.t 2015-02-01 21:32:15.000000000 +0100
+++ new/strictures-2.000001/t/extras.t 2015-05-28 02:14:23.000000000 +0200
@@ -90,16 +90,17 @@
{
open my $fh, '>', \(my $str = '');
+ my $e;
{
local *STDERR = $fh;
eval qq{
#line 1 "t/load_fail.t"
use strictures;
1;
- } or die "$@";
+ } or $e = "$@";
}
+ die $e if defined $e;
- strictures->import;
like(
$str,
qr/Missing were:\n\n indirect multidimensional bareword::filehandles/,
@@ -109,14 +110,16 @@
{
open my $fh, '>', \(my $str = '');
+ my $e;
{
local *STDERR = $fh;
eval qq{
#line 1 "t/load_fail.t"
use strictures;
1;
- } or die "$@";
+ } or $e = "$@";
}
+ die $e if defined $e;
is $str, '', "extra dep load failure is not reported a second time";
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/strictures-2.000000/t/strictures.t new/strictures-2.000001/t/strictures.t
--- old/strictures-2.000000/t/strictures.t 2015-02-05 10:49:54.000000000 +0100
+++ new/strictures-2.000001/t/strictures.t 2015-06-28 09:37:21.000000000 +0200
@@ -1,57 +1,68 @@
BEGIN { $ENV{PERL_STRICTURES_EXTRA} = 0 }
-use Test::More qw(no_plan);
+sub _eval { eval $_[0] }
-our ($hints, $warning_bits);
+use strict;
+use warnings;
+use Test::More qw(no_plan);
sub capture_hints {
+ my $code = shift;
+ $code .= q{
+ ;
+ my @h;
+ BEGIN { @h = ( $^H, ${^WARNING_BITS} ) }
+ @h;
+ };
+ my ($hints, $warning_bits) = _eval $code or die $@;
# ignore lexicalized hints
- $hints = $^H & ~ 0x20000;
- $warning_bits = defined ${^WARNING_BITS} ? (unpack "H*", ${^WARNING_BITS}) : undef;
+ $hints &= ~ 0x20000;
+ $warning_bits = unpack "H*", $warning_bits
+ if defined $warning_bits;
+ return ($hints, $warning_bits);
}
-sub test_hints {
- my $name = shift;
- my $want_hints = $hints;
- my $want_bits = $warning_bits;
- capture_hints;
- is($hints, $want_hints, "Hints ok for $name");
- is($warning_bits, $want_bits, "Warnings ok for $name");
+sub compare_hints {
+ my ($code_want, $code_got, $name) = @_;
+ my ($want_hints, $want_warnings) = capture_hints $code_want;
+ my ($hints, $warnings) = capture_hints $code_got;
+ is($hints, $want_hints, "Hints correct for $name");
+ is($warnings, $want_warnings, "Warnings correct for $name");
}
-{
+compare_hints q{
use strict;
use warnings FATAL => 'all';
- BEGIN { capture_hints }
-}
-
-{
+},
+q{
use strictures 1;
- BEGIN { test_hints "version 1" }
-}
+},
+ 'version 1';
-{
+compare_hints q{
use strict;
- BEGIN {
- warnings->import('all');
- warnings->import(FATAL => @strictures::WARNING_CATEGORIES);
- warnings->unimport(FATAL => @strictures::V2_NONFATAL);
- warnings->import(@strictures::V2_NONFATAL);
- warnings->unimport(@strictures::V2_DISABLE);
- }
- BEGIN { capture_hints }
-}
-
-{
+ use warnings 'all';
+ use warnings FATAL => @strictures::WARNING_CATEGORIES;
+ no warnings FATAL => @strictures::V2_NONFATAL;
+ use warnings @strictures::V2_NONFATAL;
+ no warnings @strictures::V2_DISABLE;
+},
+q{
use strictures 2;
- BEGIN { test_hints "version 2" }
-}
+},
+ 'version 2';
my $v;
eval { $v = strictures->VERSION; 1 } or diag $@;
is $v, $strictures::VERSION, '->VERSION returns version correctly';
-eval q{ use strictures 3; };
+my $next = int $strictures::VERSION + 1;
+eval qq{ use strictures $next; };
+
+like $@, qr/strictures version $next required/,
+ "Can't use strictures $next (this is version $v)";
+
+eval qq{ use strictures $strictures::VERSION; };
-like $@, qr/strictures version 3 required/,
- "Can't use strictures 3 (this is version 2)";
+is $@, '',
+ "Can use current strictures version";
1
0
Hello community,
here is the log from the commit of package rubygem-activesupport-4_2 for openSUSE:Factory checked in at 2015-06-30 10:19:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-activesupport-4_2 (Old)
and /work/SRC/openSUSE:Factory/.rubygem-activesupport-4_2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-activesupport-4_2"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-activesupport-4_2/rubygem-activesupport-4_2.changes 2015-06-23 11:56:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.rubygem-activesupport-4_2.new/rubygem-activesupport-4_2.changes 2015-06-30 10:19:08.000000000 +0200
@@ -1,0 +2,16 @@
+Fri Jun 26 04:32:28 UTC 2015 - coolo(a)suse.com
+
+- updated to version 4.2.3
+ see installed CHANGELOG.md
+
+ ## Rails 4.2.3 (June 25, 2015) ##
+
+ * Fix a range of values for parameters of the Time#change
+
+ *Nikolay Kondratyev*
+
+ * Add some missing `require 'active_support/deprecation'`
+
+ *Akira Matsuda*
+
+-------------------------------------------------------------------
Old:
----
activesupport-4.2.2.gem
New:
----
activesupport-4.2.3.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-activesupport-4_2.spec ++++++
--- /var/tmp/diff_new_pack.7xyWxW/_old 2015-06-30 10:19:09.000000000 +0200
+++ /var/tmp/diff_new_pack.7xyWxW/_new 2015-06-30 10:19:09.000000000 +0200
@@ -24,7 +24,7 @@
#
Name: rubygem-activesupport-4_2
-Version: 4.2.2
+Version: 4.2.3
Release: 0
%define mod_name activesupport
%define mod_full_name %{mod_name}-%{version}
++++++ activesupport-4.2.2.gem -> activesupport-4.2.3.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md
--- old/CHANGELOG.md 2015-06-16 20:01:34.000000000 +0200
+++ new/CHANGELOG.md 2015-06-25 23:28:54.000000000 +0200
@@ -1,3 +1,14 @@
+## Rails 4.2.3 (June 25, 2015) ##
+
+* Fix a range of values for parameters of the Time#change
+
+ *Nikolay Kondratyev*
+
+* Add some missing `require 'active_support/deprecation'`
+
+ *Akira Matsuda*
+
+
## Rails 4.2.2 (June 16, 2015) ##
* Fix XSS vulnerability in `ActiveSupport::JSON.encode` method.
@@ -13,7 +24,7 @@
*Aaron Patterson*
-## Rails 4.2.1 (March 19, 2014) ##
+## Rails 4.2.1 (March 19, 2015) ##
* Fixed a problem where String#truncate_words would get stuck with a complex
string.
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/cache.rb new/lib/active_support/cache.rb
--- old/lib/active_support/cache.rb 2015-06-16 20:01:34.000000000 +0200
+++ new/lib/active_support/cache.rb 2015-06-25 23:28:54.000000000 +0200
@@ -562,7 +562,7 @@
def handle_expired_entry(entry, key, options)
if entry && entry.expired?
race_ttl = options[:race_condition_ttl].to_i
- if race_ttl && (Time.now.to_f - entry.expires_at <= race_ttl)
+ if (race_ttl > 0) && (Time.now.to_f - entry.expires_at <= race_ttl)
# When an entry has :race_condition_ttl defined, put the stale entry back into the cache
# for a brief period while the entry is begin recalculated.
entry.expires_at = Time.now + race_ttl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/callbacks.rb new/lib/active_support/callbacks.rb
--- old/lib/active_support/callbacks.rb 2015-06-16 20:01:34.000000000 +0200
+++ new/lib/active_support/callbacks.rb 2015-06-25 23:28:54.000000000 +0200
@@ -78,14 +78,10 @@
# save
# end
def run_callbacks(kind, &block)
- send "_run_#{kind}_callbacks", &block
- end
-
- private
+ callbacks = send("_#{kind}_callbacks")
- def _run_callbacks(callbacks, &block)
if callbacks.empty?
- block.call if block
+ yield if block_given?
else
runner = callbacks.compile
e = Filters::Environment.new(self, false, nil, block)
@@ -93,6 +89,8 @@
end
end
+ private
+
# A hook invoked every time a before callback is halted.
# This can be overridden in AS::Callback implementors in order
# to provide better debugging/logging.
@@ -636,10 +634,12 @@
#
# ===== Options
#
- # * <tt>:if</tt> - A symbol naming an instance method or a proc; the
- # callback will be called only when it returns a +true+ value.
- # * <tt>:unless</tt> - A symbol naming an instance method or a proc; the
- # callback will be called only when it returns a +false+ value.
+ # * <tt>:if</tt> - A symbol, a string or an array of symbols and strings,
+ # each naming an instance method or a proc; the callback will be called
+ # only when they all return a true value.
+ # * <tt>:unless</tt> - A symbol, a string or an array of symbols and
+ # strings, each naming an instance method or a proc; the callback will
+ # be called only when they all return a false value.
# * <tt>:prepend</tt> - If +true+, the callback will be prepended to the
# existing chain rather than appended.
def set_callback(name, *filter_list, &block)
@@ -770,12 +770,6 @@
names.each do |name|
class_attribute "_#{name}_callbacks"
set_callbacks name, CallbackChain.new(name, options)
-
- module_eval <<-RUBY, __FILE__, __LINE__ + 1
- def _run_#{name}_callbacks(&block)
- _run_callbacks(_#{name}_callbacks, &block)
- end
- RUBY
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/concern.rb new/lib/active_support/concern.rb
--- old/lib/active_support/concern.rb 2015-06-16 20:01:34.000000000 +0200
+++ new/lib/active_support/concern.rb 2015-06-25 23:28:54.000000000 +0200
@@ -132,7 +132,7 @@
end
def class_methods(&class_methods_module_definition)
- mod = const_defined?(:ClassMethods) ?
+ mod = const_defined?(:ClassMethods, false) ?
const_get(:ClassMethods) :
const_set(:ClassMethods, Module.new)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/core_ext/big_decimal/yaml_conversions.rb new/lib/active_support/core_ext/big_decimal/yaml_conversions.rb
--- old/lib/active_support/core_ext/big_decimal/yaml_conversions.rb 2015-06-16 20:01:34.000000000 +0200
+++ new/lib/active_support/core_ext/big_decimal/yaml_conversions.rb 2015-06-25 23:28:54.000000000 +0200
@@ -1,3 +1,5 @@
+require 'active_support/deprecation'
+
ActiveSupport::Deprecation.warn 'core_ext/big_decimal/yaml_conversions is deprecated and will be removed in the future.'
require 'bigdecimal'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/core_ext/date/conversions.rb new/lib/active_support/core_ext/date/conversions.rb
--- old/lib/active_support/core_ext/date/conversions.rb 2015-06-16 20:01:34.000000000 +0200
+++ new/lib/active_support/core_ext/date/conversions.rb 2015-06-25 23:28:54.000000000 +0200
@@ -35,6 +35,7 @@
# date.to_s(:db) # => "2007-11-10"
#
# date.to_formatted_s(:short) # => "10 Nov"
+ # date.to_formatted_s(:number) # => "20071110"
# date.to_formatted_s(:long) # => "November 10, 2007"
# date.to_formatted_s(:long_ordinal) # => "November 10th, 2007"
# date.to_formatted_s(:rfc822) # => "10 Nov 2007"
@@ -82,6 +83,11 @@
::Time.send(form, year, month, day)
end
+ # Returns a string which represents the time in used time zone as DateTime
+ # defined by XML Schema:
+ #
+ # date = Date.new(2015, 05, 23) # => Sat, 23 May 2015
+ # date.xmlschema # => "2015-05-23T00:00:00+04:00"
def xmlschema
in_time_zone.xmlschema
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/core_ext/date_and_time/calculations.rb new/lib/active_support/core_ext/date_and_time/calculations.rb
--- old/lib/active_support/core_ext/date_and_time/calculations.rb 2015-06-16 20:01:34.000000000 +0200
+++ new/lib/active_support/core_ext/date_and_time/calculations.rb 2015-06-25 23:28:54.000000000 +0200
@@ -109,9 +109,20 @@
alias :at_beginning_of_year :beginning_of_year
# Returns a new date/time representing the given day in the next week.
+ #
+ # today = Date.today # => Thu, 07 May 2015
+ # today.next_week # => Mon, 11 May 2015
+ #
# The +given_day_in_next_week+ defaults to the beginning of the week
# which is determined by +Date.beginning_of_week+ or +config.beginning_of_week+
+ #
+ # today = Date.today # => Thu, 07 May 2015
+ # today.next_week(:friday) # => Fri, 15 May 2015
+ #
# when set. +DateTime+ objects have their time set to 0:00.
+ #
+ # now = Time.current # => Thu, 07 May 2015 13:31:16 UTC +00:00
+ # now.next_week # => Mon, 11 May 2015 00:00:00 UTC +00:00
def next_week(given_day_in_next_week = Date.beginning_of_week)
first_hour(weeks_since(1).beginning_of_week.days_since(days_span(given_day_in_next_week)))
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/core_ext/date_time/calculations.rb new/lib/active_support/core_ext/date_time/calculations.rb
--- old/lib/active_support/core_ext/date_time/calculations.rb 2015-06-16 20:01:34.000000000 +0200
+++ new/lib/active_support/core_ext/date_time/calculations.rb 2015-06-25 23:28:54.000000000 +0200
@@ -164,7 +164,7 @@
if other.kind_of?(Infinity)
super
elsif other.respond_to? :to_datetime
- super other.to_datetime
+ super other.to_datetime rescue nil
else
nil
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/core_ext/integer/time.rb new/lib/active_support/core_ext/integer/time.rb
--- old/lib/active_support/core_ext/integer/time.rb 2015-06-16 20:01:34.000000000 +0200
+++ new/lib/active_support/core_ext/integer/time.rb 2015-06-25 23:28:54.000000000 +0200
@@ -17,21 +17,6 @@
#
# # equivalent to Time.now.advance(months: 4, years: 5)
# (4.months + 5.years).from_now
- #
- # While these methods provide precise calculation when used as in the examples
- # above, care should be taken to note that this is not true if the result of
- # +months+, +years+, etc is converted before use:
- #
- # # equivalent to 30.days.to_i.from_now
- # 1.month.to_i.from_now
- #
- # # equivalent to 365.25.days.to_f.from_now
- # 1.year.to_f.from_now
- #
- # In such cases, Ruby's core
- # Date[http://ruby-doc.org/stdlib/libdoc/date/rdoc/Date.html] and
- # Time[http://ruby-doc.org/stdlib/libdoc/time/rdoc/Time.html] should be used for precision
- # date and time arithmetic.
def months
ActiveSupport::Duration.new(self * 30.days, [[:months, self]])
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/core_ext/kernel/reporting.rb new/lib/active_support/core_ext/kernel/reporting.rb
--- old/lib/active_support/core_ext/kernel/reporting.rb 2015-06-16 20:01:34.000000000 +0200
+++ new/lib/active_support/core_ext/kernel/reporting.rb 2015-06-25 23:28:54.000000000 +0200
@@ -1,5 +1,6 @@
require 'rbconfig'
require 'tempfile'
+require 'active_support/deprecation'
module Kernel
# Sets $VERBOSE to nil for the duration of the block and back to its original
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/core_ext/numeric/time.rb new/lib/active_support/core_ext/numeric/time.rb
--- old/lib/active_support/core_ext/numeric/time.rb 2015-06-16 20:01:34.000000000 +0200
+++ new/lib/active_support/core_ext/numeric/time.rb 2015-06-25 23:28:54.000000000 +0200
@@ -16,21 +16,6 @@
#
# # equivalent to Time.current.advance(months: 4, years: 5)
# (4.months + 5.years).from_now
- #
- # While these methods provide precise calculation when used as in the examples above, care
- # should be taken to note that this is not true if the result of `months', `years', etc is
- # converted before use:
- #
- # # equivalent to 30.days.to_i.from_now
- # 1.month.to_i.from_now
- #
- # # equivalent to 365.25.days.to_f.from_now
- # 1.year.to_f.from_now
- #
- # In such cases, Ruby's core
- # Date[http://ruby-doc.org/stdlib/libdoc/date/rdoc/Date.html] and
- # Time[http://ruby-doc.org/stdlib/libdoc/time/rdoc/Time.html] should be used for precision
- # date and time arithmetic.
def seconds
ActiveSupport::Duration.new(self, [[:seconds, self]])
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/core_ext/object/json.rb new/lib/active_support/core_ext/object/json.rb
--- old/lib/active_support/core_ext/object/json.rb 2015-06-16 20:01:35.000000000 +0200
+++ new/lib/active_support/core_ext/object/json.rb 2015-06-25 23:28:54.000000000 +0200
@@ -28,7 +28,7 @@
# should give exactly the same results with or without active support.
[Object, Array, FalseClass, Float, Hash, Integer, NilClass, String, TrueClass, Enumerable].each do |klass|
klass.class_eval do
- def to_json_with_active_support_encoder(options = nil)
+ def to_json_with_active_support_encoder(options = nil) # :nodoc:
if options.is_a?(::JSON::State)
# Called from JSON.{generate,dump}, forward it to JSON gem's to_json
self.to_json_without_active_support_encoder(options)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/core_ext/string/filters.rb new/lib/active_support/core_ext/string/filters.rb
--- old/lib/active_support/core_ext/string/filters.rb 2015-06-16 20:01:35.000000000 +0200
+++ new/lib/active_support/core_ext/string/filters.rb 2015-06-25 23:28:54.000000000 +0200
@@ -26,6 +26,7 @@
# Returns a new string with all occurrences of the patterns removed.
# str = "foo bar test"
# str.remove(" test") # => "foo bar"
+ # str.remove(" test", /bar/) # => "foo "
# str # => "foo bar test"
def remove(*patterns)
dup.remove!(*patterns)
@@ -33,8 +34,8 @@
# Alters the string by removing all occurrences of the patterns.
# str = "foo bar test"
- # str.remove!(" test") # => "foo bar"
- # str # => "foo bar"
+ # str.remove!(" test", /bar/) # => "foo "
+ # str # => "foo "
def remove!(*patterns)
patterns.each do |pattern|
gsub! pattern, ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/core_ext/time/calculations.rb new/lib/active_support/core_ext/time/calculations.rb
--- old/lib/active_support/core_ext/time/calculations.rb 2015-06-16 20:01:35.000000000 +0200
+++ new/lib/active_support/core_ext/time/calculations.rb 2015-06-25 23:28:54.000000000 +0200
@@ -94,7 +94,7 @@
elsif zone
::Time.local(new_year, new_month, new_day, new_hour, new_min, new_sec, new_usec)
else
- raise ArgumentError, 'argument out of range' if new_usec > 999999
+ raise ArgumentError, 'argument out of range' if new_usec >= 1000000
::Time.new(new_year, new_month, new_day, new_hour, new_min, new_sec + (new_usec.to_r / 1000000), utc_offset)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/duration.rb new/lib/active_support/duration.rb
--- old/lib/active_support/duration.rb 2015-06-16 20:01:35.000000000 +0200
+++ new/lib/active_support/duration.rb 2015-06-25 23:28:54.000000000 +0200
@@ -56,6 +56,30 @@
@value.to_s
end
+ # Returns the number of seconds that this Duration represents.
+ #
+ # 1.minute.to_i # => 60
+ # 1.hour.to_i # => 3600
+ # 1.day.to_i # => 86400
+ #
+ # Note that this conversion makes some assumptions about the
+ # duration of some periods, e.g. months are always 30 days
+ # and years are 365.25 days:
+ #
+ # # equivalent to 30.days.to_i
+ # 1.month.to_i # => 2592000
+ #
+ # # equivalent to 365.25.days.to_i
+ # 1.year.to_i # => 31557600
+ #
+ # In such cases, Ruby's core
+ # Date[http://ruby-doc.org/stdlib/libdoc/date/rdoc/Date.html] and
+ # Time[http://ruby-doc.org/stdlib/libdoc/time/rdoc/Time.html] should be used for precision
+ # date and time arithmetic.
+ def to_i
+ @value.to_i
+ end
+
# Returns +true+ if +other+ is also a Duration instance, which has the
# same parts as this one.
def eql?(other)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/gem_version.rb new/lib/active_support/gem_version.rb
--- old/lib/active_support/gem_version.rb 2015-06-16 20:01:35.000000000 +0200
+++ new/lib/active_support/gem_version.rb 2015-06-25 23:28:54.000000000 +0200
@@ -7,7 +7,7 @@
module VERSION
MAJOR = 4
MINOR = 2
- TINY = 2
+ TINY = 3
PRE = nil
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/json/encoding.rb new/lib/active_support/json/encoding.rb
--- old/lib/active_support/json/encoding.rb 2015-06-16 20:01:35.000000000 +0200
+++ new/lib/active_support/json/encoding.rb 2015-06-25 23:28:54.000000000 +0200
@@ -1,5 +1,6 @@
require 'active_support/core_ext/object/json'
require 'active_support/core_ext/module/delegation'
+require 'active_support/deprecation'
module ActiveSupport
class << self
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/multibyte/chars.rb new/lib/active_support/multibyte/chars.rb
--- old/lib/active_support/multibyte/chars.rb 2015-06-16 20:01:35.000000000 +0200
+++ new/lib/active_support/multibyte/chars.rb 2015-06-25 23:28:54.000000000 +0200
@@ -86,7 +86,7 @@
@wrapped_string.split(*args).map { |i| self.class.new(i) }
end
- # Works like like <tt>String#slice!</tt>, but returns an instance of
+ # Works like <tt>String#slice!</tt>, but returns an instance of
# Chars, or nil if the string was not modified.
def slice!(*args)
chars((a)wrapped_string.slice!(*args))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/active_support/number_helper/number_to_rounded_converter.rb new/lib/active_support/number_helper/number_to_rounded_converter.rb
--- old/lib/active_support/number_helper/number_to_rounded_converter.rb 2015-06-16 20:01:35.000000000 +0200
+++ new/lib/active_support/number_helper/number_to_rounded_converter.rb 2015-06-25 23:28:54.000000000 +0200
@@ -23,7 +23,7 @@
precision = 0 if precision < 0 # don't let it be negative
else
rounded_number = number.round(precision)
- rounded_number = rounded_number.to_i if precision == 0
+ rounded_number = rounded_number.to_i if precision == 0 && rounded_number.finite?
rounded_number = rounded_number.abs if rounded_number.zero? # prevent showing negative zeros
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2015-06-16 20:01:34.000000000 +0200
+++ new/metadata 2015-06-25 23:28:54.000000000 +0200
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: activesupport
version: !ruby/object:Gem::Version
- version: 4.2.2
+ version: 4.2.3
platform: ruby
authors:
- David Heinemeier Hansson
autorequire:
bindir: bin
cert_chain: []
-date: 2015-06-16 00:00:00.000000000 Z
+date: 2015-06-25 00:00:00.000000000 Z
dependencies:
- !ruby/object:Gem::Dependency
name: i18n
1
0
Hello community,
here is the log from the commit of package calibre for openSUSE:Factory checked in at 2015-06-30 10:19:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/calibre (Old)
and /work/SRC/openSUSE:Factory/.calibre.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "calibre"
Changes:
--------
--- /work/SRC/openSUSE:Factory/calibre/calibre.changes 2015-06-06 09:54:41.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.calibre.new/calibre.changes 2015-06-30 10:19:06.000000000 +0200
@@ -1,0 +2,39 @@
+Sun Jun 28 17:23:35 UTC 2015 - cornelis(a)solcon.nl
+
+- Update to version 2.31.0:
+ * New Features:
+ - E-book viewer: Make the search engine used for searching for
+ selected text configurable (in the Miscellaneous section of
+ the viewer preferences).
+ * Bug Fixes:
+ - E-book viewer: Fix dragging to select text with the mouse
+ causing the page to slide sideways in paged mode, if the
+ mouse leaves the text area.
+ - E-book viewer: Fix transitioning between full screen mode and
+ normal mode sometimes causing current position to not be
+ preserved.
+ - AZW3 Input: Ignore incorrect text encoding (incorrectly
+ encoded bytes are now replaced by placeholders) instead of
+ erroring out.
+ - Get Books: Update Legimi and CDP store plugins for website
+ changes.
+ - Fix Cybook Nolimbook not being detected in linux and OS X.
+ - DOCX Output: Fix internal hyperlinks being ignored when they
+ point to a HTML file whose <body> element has an id.
+ - Edit Book: Fix groups in replace template being interpreted
+ backwards when search direction is up.
+ - Searching: When search as you type is active, do not change
+ automatically change focus to the book list when searching,
+ unless the user presses Enter.
+ - Font subsetting: Fix subsetting removing some needed
+ ligatures when subsetting some Arabic fonts.
+ - Prevent errors when testing email sending even if stderr on
+ the host machine is broken.
+ * New news sources:
+ - Various Ukranian news sources by rpalyvoda
+ * Improved news sources:
+ - Baltimore Sun
+ - El Mercurio Chile
+ - Sydney Morning Herald
+
+-------------------------------------------------------------------
Old:
----
calibre-2.30.0.tar.xz
New:
----
calibre-2.31.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ calibre.spec ++++++
--- /var/tmp/diff_new_pack.kVA0Rg/_old 2015-06-30 10:19:08.000000000 +0200
+++ /var/tmp/diff_new_pack.kVA0Rg/_new 2015-06-30 10:19:08.000000000 +0200
@@ -20,7 +20,7 @@
License: GPL-3.0
Group: Productivity/Other
Name: calibre
-Version: 2.30.0
+Version: 2.31.0
Release: 0
Url: http://calibre-ebook.com
Source0: http://download.calibre-ebook.com/%{version}/calibre-%{version}.tar.xz
++++++ calibre-2.30.0.tar.xz -> calibre-2.31.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/calibre/calibre-2.30.0.tar.xz /work/SRC/openSUSE:Factory/.calibre.new/calibre-2.31.0.tar.xz differ: char 26, line 1
1
0
Hello community,
here is the log from the commit of package ghc-hashable for openSUSE:Factory checked in at 2015-06-30 10:19:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-hashable (Old)
and /work/SRC/openSUSE:Factory/.ghc-hashable.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-hashable"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-hashable/ghc-hashable.changes 2015-05-21 08:11:29.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-hashable.new/ghc-hashable.changes 2015-06-30 10:19:04.000000000 +0200
@@ -1,0 +2,6 @@
+Sun Jun 28 16:43:54 UTC 2015 - mimi.vx(a)gmail.com
+
+- update to 1.2.3.3
+* Support integer-simple.
+
+-------------------------------------------------------------------
Old:
----
_service
hashable-1.2.3.2.tar.gz
New:
----
hashable-1.2.3.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-hashable.spec ++++++
--- /var/tmp/diff_new_pack.EKsAFl/_old 2015-06-30 10:19:05.000000000 +0200
+++ /var/tmp/diff_new_pack.EKsAFl/_new 2015-06-30 10:19:05.000000000 +0200
@@ -19,7 +19,7 @@
%global pkg_name hashable
Name: ghc-hashable
-Version: 1.2.3.2
+Version: 1.2.3.3
Release: 0
Summary: A class for types that can be converted to a hash value
License: BSD-3-Clause
++++++ hashable-1.2.3.2.tar.gz -> hashable-1.2.3.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hashable-1.2.3.2/CHANGES.md new/hashable-1.2.3.3/CHANGES.md
--- old/hashable-1.2.3.2/CHANGES.md 2015-03-16 07:12:09.000000000 +0100
+++ new/hashable-1.2.3.3/CHANGES.md 2015-06-26 08:04:55.000000000 +0200
@@ -1,3 +1,7 @@
+## Version 1.2.3.3
+
+ * Support integer-simple.
+
## Version 1.2.3.2
* Add support for GHC 7.10 typeRepFingerprint
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hashable-1.2.3.2/Data/Hashable/Class.hs new/hashable-1.2.3.3/Data/Hashable/Class.hs
--- old/hashable-1.2.3.2/Data/Hashable/Class.hs 2015-03-16 07:12:09.000000000 +0100
+++ new/hashable-1.2.3.3/Data/Hashable/Class.hs 2015-06-26 08:04:55.000000000 +0200
@@ -90,9 +90,14 @@
#endif
#ifdef VERSION_integer_gmp
+
+# if MIN_VERSION_integer_gmp(1,0,0)
+# define MIN_VERSION_integer_gmp_1_0_0
+# endif
+
import GHC.Exts (Int(..))
import GHC.Integer.GMP.Internals (Integer(..))
-# if MIN_VERSION_integer_gmp(1,0,0)
+# if defined(MIN_VERSION_integer_gmp_1_0_0)
import GHC.Exts (sizeofByteArray#)
import GHC.Integer.GMP.Internals (BigNat(BN#))
# endif
@@ -253,20 +258,18 @@
hash = fromEnum
hashWithSalt = defaultHashWithSalt
-#if defined(VERSION_integer_gmp)
-# if MIN_VERSION_integer_gmp(1,0,0)
+#if defined(MIN_VERSION_integer_gmp_1_0_0)
instance Hashable BigNat where
hashWithSalt salt (BN# ba) = hashByteArrayWithSalt ba 0 numBytes salt
`hashWithSalt` size
where
size = numBytes `quot` SIZEOF_HSWORD
numBytes = I# (sizeofByteArray# ba)
-# endif
#endif
#if MIN_VERSION_base(4,8,0)
instance Hashable Natural where
-# if MIN_VERSION_integer_gmp(1,0,0)
+# if defined(MIN_VERSION_integer_gmp_1_0_0)
hash (NatS# n) = hash (W# n)
hash (NatJ# bn) = hash bn
@@ -281,7 +284,7 @@
instance Hashable Integer where
#if defined(VERSION_integer_gmp)
-# if MIN_VERSION_integer_gmp(1,0,0)
+# if defined(MIN_VERSION_integer_gmp_1_0_0)
hash (S# n) = (I# n)
hash (Jp# bn) = hash bn
hash (Jn# bn) = negate (hash bn)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hashable-1.2.3.2/hashable.cabal new/hashable-1.2.3.3/hashable.cabal
--- old/hashable-1.2.3.2/hashable.cabal 2015-03-16 07:12:09.000000000 +0100
+++ new/hashable-1.2.3.3/hashable.cabal 2015-06-26 08:04:55.000000000 +0200
@@ -1,5 +1,5 @@
Name: hashable
-Version: 1.2.3.2
+Version: 1.2.3.3
Synopsis: A class for types that can be converted to a hash value
Description: This package defines a class, 'Hashable', for types that
can be converted to a hash value. This class
1
0