openSUSE Commits
Threads by month
- ----- 2025 -----
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
March 2007
- 1 participants
- 1426 discussions
Hello community,
here is the log from the commit of package sax2
checked in at Fri Mar 30 16:33:10 CEST 2007.
--------
--- sax2/sax2.changes 2007-03-30 10:03:13.000000000 +0200
+++ /mounts/work_src_done/STABLE/sax2/sax2.changes 2007-03-30 14:24:21.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Mar 30 14:24:14 CEST 2007 - rguenther(a)suse.de
+
+- add flex and bison BuildRequires
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sax2.spec ++++++
--- /var/tmp/diff_new_pack.Rb6066/_old 2007-03-30 16:32:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Rb6066/_new 2007-03-30 16:32:53.000000000 +0200
@@ -16,7 +16,7 @@
%if %{?suse_version:1}0
# SuSE Build Requires...
%if %{suse_version} > 1010
-BuildRequires: antlr doxygen gettext-devel ghostscript-fonts-std graphviz hal-devel java-1_4_2-gcj-compat-devel python-devel qt3-devel readline-devel swig sysfsutils update-desktop-files xorg-x11-server-sdk
+BuildRequires: antlr bison doxygen flex gettext-devel ghostscript-fonts-std graphviz hal-devel java-1_4_2-gcj-compat-devel python-devel qt3-devel readline-devel swig sysfsutils update-desktop-files xorg-x11-server-sdk
%else
BuildRequires: doxygen ghostscript-fonts-std graphviz hal-devel java2-devel-packages python-devel qt3-devel readline-devel swig sysfsutils update-desktop-files
%endif
@@ -45,7 +45,7 @@
%endif
Summary: SuSE advanced X Window System-configuration
Version: 8.1
-Release: 125
+Release: 126
Group: System/X11/Utilities
License: GNU General Public License (GPL)
Source: sax2.tar.bz2
@@ -472,6 +472,8 @@
%endif
%changelog
+* Fri Mar 30 2007 - rguenther(a)suse.de
+- add flex and bison BuildRequires
* Fri Mar 30 2007 - ms(a)suse.de
- added evdev support for Logitech Bluetooth Mouse (mxlaser)
- fixed synaptics default configuration
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package rpm
checked in at Fri Mar 30 16:32:55 CEST 2007.
--------
--- rpm/rpm-python.changes 2007-01-26 19:09:32.000000000 +0100
+++ /mounts/work_src_done/STABLE/rpm/rpm-python.changes 2007-03-30 15:06:38.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Mar 30 15:06:28 CEST 2007 - rguenther(a)suse.de
+
+- add ncurses-devel and zlib-devel BuildRequires.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rpm-python.spec ++++++
--- /var/tmp/diff_new_pack.ra3735/_old 2007-03-30 16:32:34.000000000 +0200
+++ /var/tmp/diff_new_pack.ra3735/_new 2007-03-30 16:32:34.000000000 +0200
@@ -11,12 +11,12 @@
# norootforbuild
Name: rpm-python
-BuildRequires: libbz2-devel python-devel
+BuildRequires: libbz2-devel ncurses-devel python-devel zlib-devel
License: GNU General Public License (GPL)
Group: System/Packages
Summary: Python Bindings for Manipulating RPM Packages
Version: 4.4.2
-Release: 99
+Release: 101
Requires: rpm = %{version}
%py_requires
@@ -62,6 +62,8 @@
%{_libdir}/python*
%changelog
+* Fri Mar 30 2007 - rguenther(a)suse.de
+- add ncurses-devel and zlib-devel BuildRequires.
* Wed Oct 18 2006 - mls(a)suse.de
- use rpm.spec for building instead of duplication everything
- delete superfluous .a and .la files [#202604]
++++++ rpm.spec ++++++
--- /var/tmp/diff_new_pack.ra3735/_old 2007-03-30 16:32:34.000000000 +0200
+++ /var/tmp/diff_new_pack.ra3735/_new 2007-03-30 16:32:34.000000000 +0200
@@ -20,7 +20,7 @@
Autoreqprov: on
Summary: The RPM Package Manager
Version: 4.4.2
-Release: 93
+Release: 95
Source: rpm-%{version}.tar.bz2
Source1: RPM-HOWTO.tar.bz2
Source2: RPM-Tips.html.tar.bz2
@@ -320,7 +320,7 @@
License: GNU Library General Public License v. 2.0 and 2.1 (LGPL)
Group: System/Libraries
Version: 1.7
-Release: 321
+Release: 323
#
%description -n popt
@@ -343,7 +343,7 @@
License: GNU Library General Public License v. 2.0 and 2.1 (LGPL)
Group: System/Libraries
Version: 1.7
-Release: 321
+Release: 323
Requires: popt = 1.7
Requires: glibc-devel
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package qtcurve-kde
checked in at Fri Mar 30 16:32:24 CEST 2007.
--------
--- KDE/qtcurve-kde/qtcurve-kde.changes 2007-03-23 10:26:43.000000000 +0100
+++ /mounts/work_src_done/STABLE/qtcurve-kde/qtcurve-kde.changes 2007-03-30 14:54:50.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Mar 30 14:54:35 CEST 2007 - stbinner(a)suse.de
+
+- update to 0.48.3:
+ - Fix look of +/- spin buttons when etching
+
+-------------------------------------------------------------------
Old:
----
QtCurve-KDE3-0.48.2.tar.gz
New:
----
QtCurve-KDE3-0.48.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qtcurve-kde.spec ++++++
--- /var/tmp/diff_new_pack.ry2158/_old 2007-03-30 16:32:16.000000000 +0200
+++ /var/tmp/diff_new_pack.ry2158/_new 2007-03-30 16:32:16.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package qtcurve-kde (Version 0.48.2)
+# spec file for package qtcurve-kde (Version 0.48.3)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -16,7 +16,7 @@
License: GNU General Public License (GPL)
Group: System/GUI/GNOME
Summary: QtCurve style for Gtk2+
-Version: 0.48.2
+Version: 0.48.3
Release: 1
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: QtCurve-KDE3-%{version}.tar.gz
@@ -70,6 +70,9 @@
/opt/kde3/share/apps/QtCurve
%changelog
+* Fri Mar 30 2007 - stbinner(a)suse.de
+- update to 0.48.3:
+ - Fix look of +/- spin buttons when etching
* Fri Mar 23 2007 - stbinner(a)suse.de
- update to 0.48.2:
1. Modified the glass variants. Dull is a bit 'duller' in the
++++++ QtCurve-KDE3-0.48.2.tar.gz -> QtCurve-KDE3-0.48.3.tar.gz ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/QtCurve-KDE3-0.48.2/ChangeLog new/QtCurve-KDE3-0.48.3/ChangeLog
--- old/QtCurve-KDE3-0.48.2/ChangeLog 2007-03-22 23:32:53.000000000 +0100
+++ new/QtCurve-KDE3-0.48.3/ChangeLog 2007-03-30 09:56:31.000000000 +0200
@@ -1,3 +1,7 @@
+0.48.3
+------
+1. Fix look of +/- spin buttons when etching.
+
0.48.2
------
1. Modifed the glass variants. Dull is a bit 'duller' in the top 1/2, and
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/QtCurve-KDE3-0.48.2/configure new/QtCurve-KDE3-0.48.3/configure
--- old/QtCurve-KDE3-0.48.2/configure 2007-03-21 21:38:00.000000000 +0100
+++ new/QtCurve-KDE3-0.48.3/configure 2007-03-30 09:57:03.000000000 +0200
@@ -2551,7 +2551,7 @@
# Define the identity of the package.
PACKAGE=QtCurve-KDE3
- VERSION=0.48.2
+ VERSION=0.48.3
cat >>confdefs.h <<_ACEOF
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/QtCurve-KDE3-0.48.2/configure.in new/QtCurve-KDE3-0.48.3/configure.in
--- old/QtCurve-KDE3-0.48.2/configure.in 2007-03-21 21:37:47.000000000 +0100
+++ new/QtCurve-KDE3-0.48.3/configure.in 2007-03-30 09:56:51.000000000 +0200
@@ -40,7 +40,7 @@
AC_ARG_PROGRAM
dnl Automake doc recommends to do this only here. (Janos)
-AM_INIT_AUTOMAKE(QtCurve-KDE3, 0.48.2) dnl searches for some needed programs
+AM_INIT_AUTOMAKE(QtCurve-KDE3, 0.48.3) dnl searches for some needed programs
KDE_SET_PREFIX
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/QtCurve-KDE3-0.48.2/configure.in.in new/QtCurve-KDE3-0.48.3/configure.in.in
--- old/QtCurve-KDE3-0.48.2/configure.in.in 2007-03-21 21:40:07.000000000 +0100
+++ new/QtCurve-KDE3-0.48.3/configure.in.in 2007-03-30 09:56:31.000000000 +0200
@@ -1,5 +1,5 @@
#MIN_CONFIG
-AM_INIT_AUTOMAKE(QtCurve-KDE3, 0.48.2)
+AM_INIT_AUTOMAKE(QtCurve-KDE3, 0.48.3)
CXXFLAGS="$CXXFLAGS -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST"
AC_CHECK_FUNCS(setenv unsetenv)
AC_CHECK_BOOL
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/QtCurve-KDE3-0.48.2/kde/qtcurve.cpp new/QtCurve-KDE3-0.48.3/kde/qtcurve.cpp
--- old/QtCurve-KDE3-0.48.2/kde/qtcurve.cpp 2007-03-22 23:32:53.000000000 +0100
+++ new/QtCurve-KDE3-0.48.3/kde/qtcurve.cpp 2007-03-30 09:56:31.000000000 +0200
@@ -2382,7 +2382,7 @@
doEtch(!itsFormMode && ROUND_FULL==opts.round);
if(doEtch)
- if(PE_SpinWidgetDown==pe)
+ if(PE_SpinWidgetDown==pe || PE_SpinWidgetMinus==pe)
sr.addCoords(0, 0, 0, -1);
else
sr.addCoords(0, 1, 0, 0);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package qtcurve-gtk2
checked in at Fri Mar 30 16:32:22 CEST 2007.
--------
--- KDE/qtcurve-gtk2/qtcurve-gtk2.changes 2007-03-23 10:25:20.000000000 +0100
+++ /mounts/work_src_done/STABLE/qtcurve-gtk2/qtcurve-gtk2.changes 2007-03-30 14:56:06.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Mar 30 14:55:56 CEST 2007 - stbinner(a)suse.de
+
+- update to 0.48.3:
+ - Fix focus rectangles when not fully rounded.
+
+-------------------------------------------------------------------
Old:
----
QtCurve-Gtk2-0.48.2.tar.gz
New:
----
QtCurve-Gtk2-0.48.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qtcurve-gtk2.spec ++++++
--- /var/tmp/diff_new_pack.zn1367/_old 2007-03-30 16:32:09.000000000 +0200
+++ /var/tmp/diff_new_pack.zn1367/_new 2007-03-30 16:32:09.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package qtcurve-gtk2 (Version 0.48.2)
+# spec file for package qtcurve-gtk2 (Version 0.48.3)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -16,7 +16,7 @@
License: GNU General Public License (GPL)
Group: System/GUI/KDE
Summary: QtCurve style for KDE
-Version: 0.48.2
+Version: 0.48.3
Release: 1
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: QtCurve-Gtk2-%{version}.tar.gz
@@ -74,6 +74,9 @@
%pref/share/themes/QtCurve
%changelog
+* Fri Mar 30 2007 - stbinner(a)suse.de
+- update to 0.48.3:
+ - Fix focus rectangles when not fully rounded.
* Fri Mar 23 2007 - stbinner(a)suse.de
- update to 0.48.2:
1. Modified the glass variants. Dull is a bit 'duller' in the
++++++ QtCurve-Gtk2-0.48.2.tar.gz -> QtCurve-Gtk2-0.48.3.tar.gz ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/QtCurve-Gtk2-0.48.2/ChangeLog new/QtCurve-Gtk2-0.48.3/ChangeLog
--- old/QtCurve-Gtk2-0.48.2/ChangeLog 2007-03-21 21:37:23.000000000 +0100
+++ new/QtCurve-Gtk2-0.48.3/ChangeLog 2007-03-25 22:49:06.000000000 +0200
@@ -1,3 +1,7 @@
+0.48.3
+------
+1. Fix focus rectangles when not fully rounded.
+
0.48.2
------
1. Modifed the glass variants. Dull is a bit 'duller' in the top 1/2, and
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/QtCurve-Gtk2-0.48.2/configure new/QtCurve-Gtk2-0.48.3/configure
--- old/QtCurve-Gtk2-0.48.2/configure 2007-03-21 23:05:05.000000000 +0100
+++ new/QtCurve-Gtk2-0.48.3/configure 2007-03-25 22:49:18.000000000 +0200
@@ -1902,7 +1902,7 @@
PACKAGE=QtCurve-Gtk2
-VERSION=0.48.2
+VERSION=0.48.3
AUTOMAKE_OPTIONS=no-dependencies
am__api_version="1.9"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/QtCurve-Gtk2-0.48.2/configure.in new/QtCurve-Gtk2-0.48.3/configure.in
--- old/QtCurve-Gtk2-0.48.2/configure.in 2007-03-21 21:37:23.000000000 +0100
+++ new/QtCurve-Gtk2-0.48.3/configure.in 2007-03-25 22:49:06.000000000 +0200
@@ -1,6 +1,6 @@
AC_INIT(README)
PACKAGE=QtCurve-Gtk2
-VERSION=0.48.2
+VERSION=0.48.3
AC_SUBST(VERSION)
AUTOMAKE_OPTIONS=no-dependencies
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/QtCurve-Gtk2-0.48.2/gtk2/config_file.c new/QtCurve-Gtk2-0.48.3/gtk2/config_file.c
--- old/QtCurve-Gtk2-0.48.2/gtk2/config_file.c 2007-03-21 21:40:07.000000000 +0100
+++ new/QtCurve-Gtk2-0.48.3/gtk2/config_file.c 2007-03-22 23:32:53.000000000 +0100
@@ -624,7 +624,7 @@
opts->customMenuTextColor=false;
opts->coloredMouseOver=true;
opts->menubarMouseOver=true;
- opts->shadeMenubarOnlyWhenActive=false;
+ opts->shadeMenubarOnlyWhenActive=true;
opts->thinnerMenuItems=false;
opts->scrollbarType=SCROLLBAR_KDE;
opts->shadowButtons=false;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/QtCurve-Gtk2-0.48.2/gtk2/qtcurve.c new/QtCurve-Gtk2-0.48.3/gtk2/qtcurve.c
--- old/QtCurve-Gtk2-0.48.2/gtk2/qtcurve.c 2007-03-21 21:37:23.000000000 +0100
+++ new/QtCurve-Gtk2-0.48.3/gtk2/qtcurve.c 2007-03-25 22:49:06.000000000 +0200
@@ -4681,7 +4681,8 @@
}
/* If we're not full rounded, then we need to remove the offset that was required for the etching... */
- if(GTK_IS_BUTTON(widget) && ROUND_FULL!=opts.round)
+ if(GTK_IS_BUTTON(widget) && ROUND_FULL!=opts.round &&
+ !GTK_IS_RADIO_BUTTON(widget) && !GTK_IS_CHECK_BUTTON(widget))
{
y--; height+=2;
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package pilot-mailsync
checked in at Fri Mar 30 16:32:01 CEST 2007.
--------
--- pilot-mailsync/pilot-mailsync.changes 2007-01-28 23:03:25.000000000 +0100
+++ /mounts/work_src_done/STABLE/pilot-mailsync/pilot-mailsync.changes 2007-03-30 13:54:58.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Mar 30 13:54:51 CEST 2007 - aj(a)suse.de
+
+- Add bison to BuildRequires.
+
+-------------------------------------------------------------------
--- pilot-mailsync/pilot-mailsync-gnome-pilot.changes 2007-02-06 13:42:23.000000000 +0100
+++ /mounts/work_src_done/STABLE/pilot-mailsync/pilot-mailsync-gnome-pilot.changes 2007-03-30 14:01:56.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Mar 30 14:01:49 CEST 2007 - aj(a)suse.de
+
+- Update BuildRequires.
+
+-------------------------------------------------------------------
--- pilot-mailsync/pilot-mailsync-jpilot.changes 2006-09-04 18:02:21.000000000 +0200
+++ /mounts/work_src_done/STABLE/pilot-mailsync/pilot-mailsync-jpilot.changes 2007-03-30 13:55:26.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Mar 30 13:55:20 CEST 2007 - aj(a)suse.de
+
+- Add bison to BuildRequires.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pilot-mailsync-gnome-pilot.spec ++++++
--- /var/tmp/diff_new_pack.A32689/_old 2007-03-30 16:31:51.000000000 +0200
+++ /var/tmp/diff_new_pack.A32689/_new 2007-03-30 16:31:51.000000000 +0200
@@ -11,13 +11,13 @@
# norootforbuild
Name: pilot-mailsync-gnome-pilot
-BuildRequires: gnome-libs-devel gnome-pilot-devel gnutls-devel gtk-devel libglade2-devel libgnomeprintui-devel libwnck-devel mDNSResponder-devel pam-devel update-desktop-files
+BuildRequires: bison gnome-libs-devel gnome-pilot-devel gnutls-devel gtk-devel pam-devel update-desktop-files
URL: http://wissrech.iam.uni-bonn.de/people/garcke/pms/
License: Public Domain, Freeware
Group: Hardware/Palm
Autoreqprov: on
Version: 0.9.1
-Release: 50
+Release: 62
Summary: GNOME Pilot Plug-in for e-mail Synchronization
Source: pilot-mailsync-%{version}.tar.bz2
Patch: pilot-mailsync-%{version}.diff
@@ -86,7 +86,9 @@
/usr/%{_lib}/gnome-pilot/conduits/*.so
/usr/share/gnome-pilot/conduits/*.conduit
-%changelog -n pilot-mailsync-gnome-pilot
+%changelog
+* Fri Mar 30 2007 - aj(a)suse.de
+- Update BuildRequires.
* Tue Feb 06 2007 - dgollub(a)suse.de
- fixed build: removed /opt/gnome/ patch
* Mon Aug 28 2006 - dgollub(a)suse.de
++++++ pilot-mailsync-jpilot.spec ++++++
--- /var/tmp/diff_new_pack.A32689/_old 2007-03-30 16:31:51.000000000 +0200
+++ /var/tmp/diff_new_pack.A32689/_new 2007-03-30 16:31:51.000000000 +0200
@@ -11,13 +11,13 @@
# norootforbuild
Name: pilot-mailsync-jpilot
-BuildRequires: gnome-common gtk-devel gtk2-devel jpilot openssl-devel pam-devel pilot-link-devel
+BuildRequires: bison gnome-common gtk-devel gtk2-devel jpilot openssl-devel pam-devel pilot-link-devel
URL: http://wissrech.iam.uni-bonn.de/people/garcke/pms/
License: Public Domain, Freeware
Group: Hardware/Palm
Autoreqprov: on
Version: 0.9.1
-Release: 46
+Release: 56
Summary: J-Pilot Plug-in for e-mail Synchronization
Source: pilot-mailsync-%{version}.tar.bz2
Requires: pilot-mailsync, jpilot
@@ -77,7 +77,9 @@
%doc README docs/*
/usr/%{_lib}/jpilot
-%changelog -n pilot-mailsync-jpilot
+%changelog
+* Fri Mar 30 2007 - aj(a)suse.de
+- Add bison to BuildRequires.
* Mon Aug 28 2006 - dgollub(a)suse.de
- reenabled pilot-link-0.12.patch
* Tue Aug 08 2006 - lmichnovic(a)suse.cz
++++++ pilot-mailsync.spec ++++++
--- /var/tmp/diff_new_pack.A32689/_old 2007-03-30 16:31:51.000000000 +0200
+++ /var/tmp/diff_new_pack.A32689/_new 2007-03-30 16:31:51.000000000 +0200
@@ -11,13 +11,13 @@
# norootforbuild
Name: pilot-mailsync
-BuildRequires: gcc-c++ gnome-common gtk-devel openssl-devel pam-devel pilot-link-devel
+BuildRequires: bison gcc-c++ gnome-common gtk-devel openssl-devel pam-devel pilot-link-devel
URL: http://wissrech.iam.uni-bonn.de/people/garcke/pms/
License: Public Domain, Freeware
Group: Hardware/Palm
Autoreqprov: on
Version: 0.9.1
-Release: 45
+Release: 55
Summary: An e-mail Synchronization Program for Palm OS-based Organisers
Source: %{name}-%{version}.tar.bz2
Patch: %{name}-%{version}.diff
@@ -72,7 +72,9 @@
%doc README docs/*
%{_bindir}/*
-%changelog -n pilot-mailsync
+%changelog
+* Fri Mar 30 2007 - aj(a)suse.de
+- Add bison to BuildRequires.
* Sun Jan 28 2007 - ro(a)suse.de
- silence one compiler warning
* Mon Aug 28 2006 - dgollub(a)suse.de
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-MIME-Types
checked in at Fri Mar 30 16:31:46 CEST 2007.
--------
--- perl-MIME-Types/perl-MIME-Types.changes 2006-12-13 13:38:41.000000000 +0100
+++ /mounts/work_src_done/STABLE/perl-MIME-Types/perl-MIME-Types.changes 2007-03-30 16:22:23.000000000 +0200
@@ -1,0 +2,7 @@
+Fri Mar 30 16:18:51 CEST 2007 - anicka(a)suse.cz
+
+- update to 1.19
+ * converted to use OODoc 0.99
+ * removed mkdist, mkdoc, README.oodoc, version
+
+-------------------------------------------------------------------
Old:
----
MIME-Types-1.18.tar.bz2
New:
----
MIME-Types-1.19.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-MIME-Types.spec ++++++
--- /var/tmp/diff_new_pack.Z30254/_old 2007-03-30 16:31:36.000000000 +0200
+++ /var/tmp/diff_new_pack.Z30254/_new 2007-03-30 16:31:36.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package perl-MIME-Types (Version 1.18)
+# spec file for package perl-MIME-Types (Version 1.19)
#
-# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -11,7 +11,7 @@
Name: perl-MIME-Types
URL: http://cpan.org/modules/by-module/MIME/
-Version: 1.18
+Version: 1.19
Release: 1
Requires: perl = %{perl_version}
Autoreqprov: on
@@ -52,7 +52,11 @@
%{perl_vendorlib}/MIME
/var/adm/perl-modules/perl-MIME-Types
-%changelog -n perl-MIME-Types
+%changelog
+* Fri Mar 30 2007 - anicka(a)suse.cz
+- update to 1.19
+ * converted to use OODoc 0.99
+ * removed mkdist, mkdoc, README.oodoc, version
* Wed Dec 13 2006 - anicka(a)suse.cz
- update to 1.18
* application/atom+xml and image/svg+xml
++++++ MIME-Types-1.18.tar.bz2 -> MIME-Types-1.19.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/MIME-Types-1.18/ChangeLog new/MIME-Types-1.19/ChangeLog
--- old/MIME-Types-1.18/ChangeLog 2006-11-17 21:21:07.000000000 +0100
+++ new/MIME-Types-1.19/ChangeLog 2007-03-25 17:09:53.000000000 +0200
@@ -1,11 +1,17 @@
Revision history for Perl extension MIME::Types.
Unless explicitly stated differently are all changes produced by
-Mark Overmeer <mimetypes(a)overmeer.net>
+Mark Overmeer <perl(a)overmeer.net>
**** Inform Austin Ziegler < mime-types(a)halostatue.ca> at each release, to
**** update his Ruby port of the module.
+version 1.19: Sun Mar 25 17:09:38 CEST 2007
+
+ - converted to use OODoc 0.99
+
+ - removed mkdist, mkdoc, README.oodoc, version
+
version 1.18: Fri Nov 17 21:20:20 CET 2006
- [David Nesting] application/atom+xml and image/svg+xml
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/MIME-Types-1.18/lib/MIME/Type.pm new/MIME-Types-1.19/lib/MIME/Type.pm
--- old/MIME-Types-1.18/lib/MIME/Type.pm 2006-11-17 21:21:07.000000000 +0100
+++ new/MIME-Types-1.19/lib/MIME/Type.pm 2007-03-25 17:09:53.000000000 +0200
@@ -1,6 +1,10 @@
+# Copyrights 1999,2001-2007 by Mark Overmeer.
+# For other contributors see ChangeLog.
+# See the manual pages for details on the licensing terms.
+# Pod stripped from pm file by OODoc 0.99.
package MIME::Type;
use vars '$VERSION';
-$VERSION = '1.18';
+$VERSION = '1.19';
use strict;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/MIME-Types-1.18/lib/MIME/Type.pod new/MIME-Types-1.19/lib/MIME/Type.pod
--- old/MIME-Types-1.18/lib/MIME/Type.pod 2006-11-17 21:21:07.000000000 +0100
+++ new/MIME-Types-1.19/lib/MIME/Type.pod 2007-03-25 17:09:53.000000000 +0200
@@ -1,10 +1,7 @@
-
=head1 NAME
MIME::Type - Definition of one MIME type
-
-
=head1 SYNOPSIS
use MIME::Types;
@@ -24,7 +21,6 @@
print MIME::Type->simplified('x-appl/x-zip') # 'appl/zip'
-
=head1 DESCRIPTION
MIME types are used in MIME entities, for instance as part of e-mail
@@ -36,10 +32,8 @@
F<http://www.iana.org/assignments/media-types/>
and the collection kept at F<http://www.ltsw.se/knbase/internet/mime.htp>
-
=head1 OVERLOADED
-
overload: B<string comparison>
=over 4
@@ -61,20 +55,16 @@
I<Example:> use of stringification
-
my $mime = MIME::Type->new('text/html');
print "$mime\n"; # explicit stringification
print $mime; # implicit stringification
=back
-
=head1 METHODS
-
=head2 Initiation
-
MIME::Type-E<gt>B<new>(OPTIONS)
=over 4
@@ -82,12 +72,12 @@
Create (I<instantiate>) a new MIME::Type object which manages one
mime type.
- Option --Defined in --Default
- encoding <depends on type>
- extensions []
- simplified <derived from type>
- system undef
- type <required>
+ Option --Default
+ encoding <depends on type>
+ extensions []
+ simplified <derived from type>
+ system undef
+ type <required>
. encoding '7bit'|'8bit'|'base64'|'quoted-printable'
@@ -141,7 +131,6 @@
=head2 Attributes
-
$obj-E<gt>B<encoding>
=over 4
@@ -174,7 +163,6 @@
I<Example:> results of simplified()
-
my $mime = MIME::Type->new(type => 'x-appl/x-zip');
print $mime->simplified; # 'appl/zip'
print $mime->simplified('text/plain'); # 'text/plain'
@@ -201,7 +189,6 @@
=head2 Knowledge
-
$obj-E<gt>B<equals>(STRING|MIME)
=over 4
@@ -268,9 +255,6 @@
=back
-
-
-
=head1 DIAGNOSTICS
I<Error:> Type parameter is obligatory.
@@ -278,23 +262,16 @@
When a L<MIME::Type|MIME::Type> object is created, the type itself must be
specified with the C<type> option flag.
+=head1 SEE ALSO
+This module is part of MIME-Types distribution version 1.19,
+built on March 25, 2007. Website: F<http://perl.overmeer.net/mimetypes/>
+=head1 LICENSE
+Copyrights 1999,2001-2007 by Mark Overmeer.For other contributors see ChangeLog.
-
-=head1 REFERENCES
-
-See the Mime::Types website at L<http://perl.overmeer.net/mimetypes/> for more details.
-
-=head1 COPYRIGHTS
-
-Module version 1.18.
-Written by Mark Overmeer (mimetypes(a)overmeer.net) See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved. This program
-is free software; you can redistribute it and/or modify it under the
-same terms as Perl itself.
-
+This program is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+See F<http://www.perl.com/perl/misc/Artistic.html>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/MIME-Types-1.18/lib/MIME/Types.pm new/MIME-Types-1.19/lib/MIME/Types.pm
--- old/MIME-Types-1.18/lib/MIME/Types.pm 2006-11-17 21:21:07.000000000 +0100
+++ new/MIME-Types-1.19/lib/MIME/Types.pm 2007-03-25 17:09:53.000000000 +0200
@@ -1,7 +1,11 @@
+# Copyrights 1999,2001-2007 by Mark Overmeer.
+# For other contributors see ChangeLog.
+# See the manual pages for details on the licensing terms.
+# Pod stripped from pm file by OODoc 0.99.
package MIME::Types;
use vars '$VERSION';
-$VERSION = '1.18';
+$VERSION = '1.19';
use strict;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/MIME-Types-1.18/lib/MIME/Types.pod new/MIME-Types-1.19/lib/MIME/Types.pod
--- old/MIME-Types-1.18/lib/MIME/Types.pod 2006-11-17 21:21:07.000000000 +0100
+++ new/MIME-Types-1.19/lib/MIME/Types.pod 2007-03-25 17:09:53.000000000 +0200
@@ -1,15 +1,12 @@
-
=head1 NAME
MIME::Types - Definition of MIME types
-
=head1 INHERITANCE
MIME::Types
is an Exporter
-
=head1 SYNOPSIS
use MIME::Types;
@@ -17,7 +14,6 @@
my MIME::Type $plaintext = $mimetypes->type('text/plain');
my MIME::Type $imagegif = $mimetypes->mimeTypeOf('gif');
-
=head1 DESCRIPTION
MIME types are used in MIME compliant lines, for instance as part
@@ -29,14 +25,10 @@
by RFCs and vendors, so the list is long but not complete. Please
don't hestitate to ask to add additional information.
-
-
=head1 METHODS
-
=head2 Instantiation
-
MIME::Types-E<gt>B<new>(OPTIONS)
=over 4
@@ -45,8 +37,8 @@
implementation, it does not matter whether you create this object often
within your program, but in the future this may change.
- Option --Defined in--Default
- only_complete <false>
+ Option --Default
+ only_complete <false>
. only_complete BOOLEAN
@@ -66,7 +58,6 @@
=head2 Knowledge
-
$obj-E<gt>B<addType>(TYPE, ...)
=over 4
@@ -104,7 +95,6 @@
I<Example:> use of mimeTypeOf()
-
my MIME::Types $types = MIME::Types->new;
my MIME::Type $mime = $types->mimeTypeOf('gif');
@@ -133,7 +123,6 @@
=back
-
=head1 FUNCTIONS
The next functions are provided for backward compatibility with MIME::Types
@@ -163,7 +152,6 @@
I<Example:> use of function by_suffix()
-
use MIME::Types 'by_suffix';
my ($mediatype, $encoding) = by_suffix 'image.gif';
@@ -184,25 +172,16 @@
=back
+=head1 SEE ALSO
+This module is part of MIME-Types distribution version 1.19,
+built on March 25, 2007. Website: F<http://perl.overmeer.net/mimetypes/>
+=head1 LICENSE
+Copyrights 1999,2001-2007 by Mark Overmeer.For other contributors see ChangeLog.
-
-
-
-=head1 REFERENCES
-
-See the Mime::Types website at L<http://perl.overmeer.net/mimetypes/> for more details.
-
-=head1 COPYRIGHTS
-
-Module version 1.18.
-Written by Mark Overmeer (mimetypes(a)overmeer.net) See the ChangeLog for
-other contributors.
-
-Copyright (c) 2001-2003 by the author(s). All rights reserved. This program
-is free software; you can redistribute it and/or modify it under the
-same terms as Perl itself.
-
+This program is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+See F<http://www.perl.com/perl/misc/Artistic.html>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/MIME-Types-1.18/Makefile.PL new/MIME-Types-1.19/Makefile.PL
--- old/MIME-Types-1.18/Makefile.PL 2006-11-17 21:21:07.000000000 +0100
+++ new/MIME-Types-1.19/Makefile.PL 2007-03-25 16:01:23.000000000 +0200
@@ -3,9 +3,29 @@
require 5.005;
WriteMakefile
- ( NAME => 'MIME::Types'
- , VERSION_FROM => 'version'
- , PREREQ_PM => { Test::More => 0.47 }
- , AUTHOR => 'Mark Overmeer'
- , ABSTRACT => 'Definition of MIME types'
+ ( NAME => 'MIME::Types'
+ , VERSION => '1.19'
+ , PREREQ_PM => { Test::More => 0.47 }
+ , AUTHOR => 'Mark Overmeer'
+ , ABSTRACT => 'Definition of MIME types'
);
+
+### used by oodist during production of distribution
+sub MY::postamble { <<'__POSTAMBLE' }
+
+# for DIST
+RAWDIR = ../public_html/mimetypes/raw
+DISTDIR = ../public_html/mimetypes/source
+LICENSE = artistic
+
+# for POD
+FIRST_YEAR = 1999,2001
+EMAIL = perl(a)overmeer.net
+WEBSITE = http://perl.overmeer.net/mimetypes/
+
+# for HTML
+HTML_OUTPUT = ../public_html/mimetypes/html
+HTML_DOCROOT = /mimetypes/html
+HTML_PACKAGE = ../public_html/mimetypes/htmlpkg
+
+__POSTAMBLE
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/MIME-Types-1.18/MANIFEST new/MIME-Types-1.19/MANIFEST
--- old/MIME-Types-1.18/MANIFEST 2006-11-17 21:21:09.000000000 +0100
+++ new/MIME-Types-1.19/MANIFEST 2007-03-25 17:09:53.000000000 +0200
@@ -1,5 +1,6 @@
ChangeLog
MANIFEST
+META.yml Module meta-data (added by MakeMaker)
Makefile.PL
README
lib/MIME/Type.pm
@@ -10,5 +11,3 @@
t/11typeol.t
t/20types.t
t/30export.t
-version
-META.yml Module meta-data (added by MakeMaker)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/MIME-Types-1.18/META.yml new/MIME-Types-1.19/META.yml
--- old/MIME-Types-1.18/META.yml 2006-11-17 21:21:08.000000000 +0100
+++ new/MIME-Types-1.19/META.yml 2007-03-25 17:09:55.000000000 +0200
@@ -1,8 +1,8 @@
# http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: MIME-Types
-version: 1.18
-version_from: version
+version: 1.19
+version_from:
installdirs: site
requires:
Test::More: 0.47
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/MIME-Types-1.18/version new/MIME-Types-1.19/version
--- old/MIME-Types-1.18/version 2006-11-17 21:21:07.000000000 +0100
+++ new/MIME-Types-1.19/version 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-$VERSION='1.18';
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Net-Server
checked in at Fri Mar 30 16:31:44 CEST 2007.
--------
--- perl-Net-Server/perl-Net-Server.changes 2007-02-14 14:14:22.000000000 +0100
+++ /mounts/work_src_done/STABLE/perl-Net-Server/perl-Net-Server.changes 2007-03-30 16:12:48.000000000 +0200
@@ -1,0 +2,14 @@
+Fri Mar 30 15:59:52 CEST 2007 - anicka(a)suse.cz
+
+- update to 0.96
+ * Allow for conf_file to be specified in the default_values.
+ * Add perldoc for why we use a template in options.
+ * Fix syslog log options regex again (Carlos Velasco)
+ * Fix ->autoflush (needs FileHandle)
+ * Add handle_syslog_error to allow catching errors
+ during syslog writes
+ * Add open_syslog to slightly abstract opening of syslog.
+ * Add numerous patches to cleanup child accounting in PreFork
+ server.
+
+-------------------------------------------------------------------
Old:
----
Net-Server-0.95.tar.bz2
New:
----
Net-Server-0.96.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Net-Server.spec ++++++
--- /var/tmp/diff_new_pack.P30591/_old 2007-03-30 16:31:39.000000000 +0200
+++ /var/tmp/diff_new_pack.P30591/_new 2007-03-30 16:31:39.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package perl-Net-Server (Version 0.95)
+# spec file for package perl-Net-Server (Version 0.96)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -17,7 +17,7 @@
Requires: perl = %{perl_version}
Autoreqprov: on
Summary: Net::Server - Extensible, general Perl server engine
-Version: 0.95
+Version: 0.96
Release: 1
Source: Net-Server-%{version}.tar.bz2
Requires: perl-IO-Multiplex
@@ -62,7 +62,18 @@
%{perl_vendorarch}/auto/Net/Server
/var/adm/perl-modules/perl-Net-Server
-%changelog -n perl-Net-Server
+%changelog
+* Fri Mar 30 2007 - anicka(a)suse.cz
+- update to 0.96
+ * Allow for conf_file to be specified in the default_values.
+ * Add perldoc for why we use a template in options.
+ * Fix syslog log options regex again (Carlos Velasco)
+ * Fix ->autoflush (needs FileHandle)
+ * Add handle_syslog_error to allow catching errors
+ during syslog writes
+ * Add open_syslog to slightly abstract opening of syslog.
+ * Add numerous patches to cleanup child accounting in PreFork
+ server.
* Wed Feb 14 2007 - anicka(a)suse.cz
- update to 0.95
- Warn clean on the chld hanlder in PreFork.
++++++ Net-Server-0.95.tar.bz2 -> Net-Server-0.96.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Net-Server-0.95/Changes new/Net-Server-0.96/Changes
--- old/Net-Server-0.95/Changes 2007-02-03 08:19:23.000000000 +0100
+++ new/Net-Server-0.96/Changes 2007-03-23 23:22:29.000000000 +0100
@@ -1,5 +1,14 @@
Revision history for Perl extension Net::Server.
+0.96 Mar 23 2007
+ - Allow for conf_file to be specified in the default_values.
+ - Add perldoc for why we use a template in options.
+ - Fix syslog log options regex again (Carlos Velasco)
+ - Fix ->autoflush (needs FileHandle) (Paul Miller)
+ - Add handle_syslog_error to allow catching errors during syslog writes (Patrik Wallstrom)
+ - Add open_syslog to slightly abstract opening of syslog.
+ - Add numerous patches from Rob Mueller to cleanup child accounting in PreFork server.
+
0.95 Feb 02 2007
- Warn clean on the chld hanlder in PreFork. (Michael Virnstein)
- Allow lock_file for lock serialization to only be opened once (Rob Mueller)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Net-Server-0.95/lib/Net/Server/PreFork.pm new/Net-Server-0.96/lib/Net/Server/PreFork.pm
--- old/Net-Server-0.95/lib/Net/Server/PreFork.pm 2007-02-03 06:38:32.000000000 +0100
+++ new/Net-Server-0.96/lib/Net/Server/PreFork.pm 2007-03-23 23:21:51.000000000 +0100
@@ -2,7 +2,7 @@
#
# Net::Server::PreFork - Net::Server personality
#
-# $Id: PreFork.pm,v 1.34 2007/02/03 05:38:32 rhandom Exp $
+# $Id: PreFork.pm,v 1.35 2007/03/23 22:21:51 rhandom Exp $
#
# Copyright (C) 2001-2007
#
@@ -118,6 +118,7 @@
### get ready for children
$prop->{child_select} = IO::Select->new(\*_READ);
$prop->{children} = {};
+ $prop->{reaped_children} = {};
if ($ENV{HUP_CHILDREN}) {
my %children = map {/^(\w+)$/; $1} split(/\s+/, $ENV{HUP_CHILDREN});
$children{$_} = {status => $children{$_}, hup => 1} foreach keys %children;
@@ -155,14 +156,18 @@
$self->log(3,"Killing \"$n\" children");
- foreach my $child (keys %{ $prop->{children} }){
- next unless $prop->{children}->{$child}->{status} eq 'waiting';
+ foreach my $pid (keys %{ $prop->{children} }){
+ # Only kill waiting children
+ # XXX: This is race condition prone as the child may have
+ # started handling a connection, but will have to do for now
+ my $child = $prop->{children}->{$pid};
+ next unless $child->{status} eq 'waiting';
$n--;
### try to kill the child
- if (! kill('HUP', $child)) {
- $self->delete_child($child);
+ if (! kill('HUP', $pid)) {
+ $self->delete_child($pid);
}
last if $n <= 0;
@@ -244,6 +249,10 @@
$prop->{SigHUPed} = 1;
};
+ # Open in child at start
+ open($prop->{lock_fh}, ">$prop->{lock_file}")
+ || $self->fatal("Couldn't open lock file \"$prop->{lock_file}\"[$!]");
+
$self->log(4,"Child Preforked ($$)\n");
delete $prop->{$_} foreach qw(children tally last_start last_process);
@@ -305,9 +314,8 @@
CHLD => sub {
while ( defined(my $chld = waitpid(-1, WNOHANG)) ){
last unless $chld > 0;
- $prop->{tally}->{time} = 0 if $prop->{children}->{$chld}->{hup};
- $prop->{tally}->{$prop->{children}->{$chld}->{status}}-- if $prop->{children}->{$chld}->{status};
- $self->delete_child( $chld );
+ # We'll deal with this in coordinate_children to avoid a race
+ $self->{reaped_children}->{$chld} = 1;
}
},
### uncomment this area to allow SIG USR1 to give some runtime debugging
@@ -350,19 +358,29 @@
next unless $line =~ /^(\d+)\ +(waiting|processing|dequeue|exiting)$/;
my ($pid,$status) = ($1,$2);
- ### record the status
- $prop->{children}->{$pid}->{status} = $status
- if $status ne 'exiting';
-
- if( $status eq 'processing' ){
- $prop->{tally}->{processing} ++;
- $prop->{last_process} = time();
-
- }elsif( $status eq 'waiting' ){
- $prop->{tally}->{processing} --;
+ # Check child details still exist
+ if (my $child = $prop->{children}->{$pid}) {
- }elsif( $status eq 'exiting' ){
- $self->delete_child($pid);
+ # Delete child if it tells us it's exiting
+ if ($status eq 'exiting') {
+ $self->delete_child($pid);
+
+ # Changing state
+ } else {
+
+ # Decrement tally of state pid was in (plus sanity check)
+ my $old_status = $child->{status}
+ || $self->log(2, "No status for $pid when changing to $status\n");
+ --$prop->{tally}->{$old_status} >= 0
+ || $self->log(2, "Tally for $status < 0 changing pid $pid from $old_status to $status\n");
+
+ # Set child status and increment tally
+ $child->{status} = $status;
+ ++$prop->{tally}->{$status};
+
+ $prop->{last_process} = time()
+ if $status eq 'processing';
+ }
}
### user defined handler
@@ -386,6 +404,17 @@
my $prop = $self->{server};
my $time = time();
+ ### deleted SIG{CHLD} repeaped children
+ foreach my $pid (keys %{ $self->{reaped_children} }) {
+ # delete each pid one by one to avoid another race
+ delete $self->{reaped_children}->{$pid};
+
+ # Only delete if not already deleted
+ next if ! $prop->{children}->{$pid};
+
+ $self->delete_child($pid);
+ }
+
### re-tally the possible types (only twice a minute)
### this might not be even necessary but is a nice sanity check
if( $time - $prop->{tally}->{time} > 30 ){
@@ -479,14 +508,20 @@
my $prop = $self->{server};
my $pid = shift;
+ my $child = $prop->{children}->{$pid};
+ if (! $child) {
+ $self->log(2, "Attempt to delete already deleted child $pid\n");
+ return;
+ }
+
# Already gone?
return if ! exists $prop->{children}->{$pid};
- my $status = $prop->{children}->{$pid}->{status}
+ my $status = $child->{status}
|| $self->log(2, "No status for $pid when deleting child\n");
--$prop->{tally}->{$status} >= 0
|| $self->log(2, "Tally for $status < 0 deleting pid $pid\n");
- $prop->{tally}->{time} = 0 if $prop->{children}->{$pid}->{hup};
+ $prop->{tally}->{time} = 0 if $child->{hup};
$self->SUPER::delete_child($pid);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Net-Server-0.95/lib/Net/Server/PreForkSimple.pm new/Net-Server-0.96/lib/Net/Server/PreForkSimple.pm
--- old/Net-Server-0.95/lib/Net/Server/PreForkSimple.pm 2007-02-03 09:00:56.000000000 +0100
+++ new/Net-Server-0.96/lib/Net/Server/PreForkSimple.pm 2007-03-26 16:32:05.000000000 +0200
@@ -2,7 +2,7 @@
#
# Net::Server::PreForkSimple - Net::Server personality
#
-# $Id: PreForkSimple.pm,v 1.26 2007/02/03 08:00:56 rhandom Exp $
+# $Id: PreForkSimple.pm,v 1.29 2007/03/26 14:32:05 rhandom Exp $
#
# Copyright (C) 2001-2007
#
@@ -96,8 +96,6 @@
$prop->{lock_file} = POSIX::tmpnam();
$prop->{lock_file_unlink} = 1;
}
- open($prop->{lock_fh}, ">$prop->{lock_file}")
- || $self->fatal("Couldn't open lock file \"$prop->{lock_file}\"[$!]");
### set up semaphore
}elsif( $prop->{serialize} eq 'semaphore' ){
@@ -201,6 +199,10 @@
$prop->{SigHUPed} = 1;
};
+ # Open in child at start
+ open($prop->{lock_fh}, ">$prop->{lock_file}")
+ || $self->fatal("Couldn't open lock file \"$prop->{lock_file}\"[$!]");
+
$self->log(4,"Child Preforked ($$)\n");
delete $prop->{children};
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Net-Server-0.95/lib/Net/Server.pm new/Net-Server-0.96/lib/Net/Server.pm
--- old/Net-Server-0.95/lib/Net/Server.pm 2007-02-03 08:54:48.000000000 +0100
+++ new/Net-Server-0.96/lib/Net/Server.pm 2007-03-23 19:39:48.000000000 +0100
@@ -2,7 +2,7 @@
#
# Net::Server - Extensible Perl internet server
#
-# $Id: Server.pm,v 1.105 2007/02/03 07:54:48 rhandom Exp $
+# $Id: Server.pm,v 1.112 2007/03/23 18:39:48 rhandom Exp $
#
# Copyright (C) 2001-2007
#
@@ -30,13 +30,14 @@
use IO::Select ();
use POSIX ();
use Fcntl ();
+use FileHandle;
use Net::Server::Proto ();
use Net::Server::Daemonize qw(check_pid_file create_pid_file
get_uid get_gid set_uid set_gid
safe_fork
);
-$VERSION = '0.95';
+$VERSION = '0.96';
###----------------------------------------------------------------###
@@ -221,6 +222,12 @@
### do a config file
if( defined $prop->{conf_file} ){
$self->process_conf( $prop->{conf_file}, $template );
+ } else {
+ ### look for a default conf_file
+ my $def = $self->default_values || {};
+ if ($def->{conf_file}) {
+ $self->process_conf( $def->{conf_file}, $template );
+ }
}
}
@@ -245,34 +252,7 @@
### log to syslog
}elsif( $prop->{log_file} eq 'Sys::Syslog' ){
- my $logsock = defined($prop->{syslog_logsock})
- ? $prop->{syslog_logsock} : 'unix';
- $prop->{syslog_logsock} = ($logsock =~ /^(unix|inet|stream)$/)
- ? $1 : 'unix';
-
- my $ident = defined($prop->{syslog_ident})
- ? $prop->{syslog_ident} : 'net_server';
- $prop->{syslog_ident} = ($ident =~ /^([\ -~]+)$/)
- ? $1 : 'net_server';
-
- require Sys::Syslog;
-
- my $opt = defined($prop->{syslog_logopt})
- ? $prop->{syslog_logopt} : $Sys::Syslog::VERSION ge '0.15' ? 'pid,nofatal' : 'pid';
- $prop->{syslog_logopt} = ($opt =~ /^((cons|ndelay|nowait|pid|nofatal)($|[,|]))*/)
- ? $1 : 'pid';
-
- my $fac = defined($prop->{syslog_facility})
- ? $prop->{syslog_facility} : 'daemon';
- $prop->{syslog_facility} = ($fac =~ /^((\w+)($|\|))*/)
- ? $1 : 'daemon';
-
- Sys::Syslog::setlogsock($prop->{syslog_logsock}) || die "Syslog err [$!]";
- if( ! Sys::Syslog::openlog($prop->{syslog_ident},
- $prop->{syslog_logopt},
- $prop->{syslog_facility}) ){
- die "Couldn't open syslog [$!]" if $prop->{syslog_logopt} ne 'ndelay';
- }
+ $self->open_syslog;
### open a logging file
}elsif( $prop->{log_file} && $prop->{log_file} ne 'Sys::Syslog' ){
@@ -1211,6 +1191,41 @@
###----------------------------------------------------------###
+### handle opening syslog
+sub open_syslog {
+ my $self = shift;
+ my $prop = $self->{server};
+
+ my $logsock = defined($prop->{syslog_logsock})
+ ? $prop->{syslog_logsock} : 'unix';
+ $prop->{syslog_logsock} = ($logsock =~ /^(unix|inet|stream)$/)
+ ? $1 : 'unix';
+
+ my $ident = defined($prop->{syslog_ident})
+ ? $prop->{syslog_ident} : 'net_server';
+ $prop->{syslog_ident} = ($ident =~ /^([\ -~]+)$/)
+ ? $1 : 'net_server';
+
+ require Sys::Syslog;
+
+ my $opt = defined($prop->{syslog_logopt})
+ ? $prop->{syslog_logopt} : $Sys::Syslog::VERSION ge '0.15' ? 'pid,nofatal' : 'pid';
+ $prop->{syslog_logopt} = ($opt =~ /^( (?: (?:cons|ndelay|nowait|pid|nofatal) (?:$|[,|]) )* )/x)
+ ? $1 : 'pid';
+
+ my $fac = defined($prop->{syslog_facility})
+ ? $prop->{syslog_facility} : 'daemon';
+ $prop->{syslog_facility} = ($fac =~ /^((\w+)($|\|))*/)
+ ? $1 : 'daemon';
+
+ Sys::Syslog::setlogsock($prop->{syslog_logsock}) || die "Syslog err [$!]";
+ if( ! Sys::Syslog::openlog($prop->{syslog_ident},
+ $prop->{syslog_logopt},
+ $prop->{syslog_facility}) ){
+ die "Couldn't open syslog [$!]" if $prop->{syslog_logopt} ne 'ndelay';
+ }
+}
+
### how internal levels map to syslog levels
$Net::Server::syslog_map = {0 => 'err',
1 => 'warning',
@@ -1232,11 +1247,20 @@
$level = $Net::Server::syslog_map->{$level} || $level;
}
- if (@therest) { # if more parameters are passed, we must assume that the first is a format string
- Sys::Syslog::syslog($level, $msg, @therest);
- } else {
- Sys::Syslog::syslog($level, '%s', $msg);
+ my $ok = eval {
+ if (@therest) { # if more parameters are passed, we must assume that the first is a format string
+ Sys::Syslog::syslog($level, $msg, @therest);
+ } else {
+ Sys::Syslog::syslog($level, '%s', $msg);
+ }
+ 1;
+ };
+
+ if (! $ok) {
+ my $err = $@;
+ $self->handle_syslog_error($err, [$level, $msg, @therest]);
}
+
return;
} else {
return if $level !~ /^\d+$/ || $level > $prop->{log_level};
@@ -1245,6 +1269,11 @@
$self->write_to_log_hook($level, $msg);
}
+### allow catching syslog errors
+sub handle_syslog_error {
+ my ($self, $error) = @_;
+ die $error;
+}
### standard log routine, this could very easily be
### overridden with a syslog call
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Net-Server-0.95/lib/Net/Server.pod new/Net-Server-0.96/lib/Net/Server.pod
--- old/Net-Server-0.95/lib/Net/Server.pod 2007-02-03 08:57:16.000000000 +0100
+++ new/Net-Server-0.96/lib/Net/Server.pod 2007-03-23 23:24:33.000000000 +0100
@@ -13,7 +13,7 @@
my $self = shift;
while (<STDIN>) {
s/\r?\n$//;
- print "You said \"$_\"\r\n"; # basic echo
+ print "You said '$_'\r\n"; # basic echo
last if /quit/i;
}
}
@@ -209,7 +209,6 @@
C<Net::Server> can, or will, be included with this distribution).
#!/usr/bin/perl -w -T
- #--------------- file test.pl ---------------
package MyPackage;
@@ -224,20 +223,20 @@
my $self = shift;
eval {
- local $SIG{ALRM} = sub { die "Timed Out!\n" };
- my $timeout = 30; # give the user 30 seconds to type a line
+ local $SIG{'ALRM'} = sub { die "Timed Out!\n" };
+ my $timeout = 30; # give the user 30 seconds to type some lines
my $previous_alarm = alarm($timeout);
- while( <STDIN> ){
+ while (<STDIN>) {
s/\r?\n$//;
- print "You said \"$_\"\r\n";
+ print "You said '$_'\r\n";
alarm($timeout);
}
alarm($previous_alarm);
};
- if( $@=~/timed out/i ){
+ if ($@ =~ /timed out/i) {
print STDOUT "Timed Out.\r\n";
return;
}
@@ -246,29 +245,29 @@
1;
- #--------------- file test.pl ---------------
-
Playing this file from the command line will invoke a
Net::Server using the PreFork personality. When building a
server layer over the Net::Server, it is important to use
-features such as timeouts to prevent Denial of Service
+features such as timeouts to prevent Denial Of Service
attacks.
=head1 ARGUMENTS
There are five possible ways to pass arguments to
-Net::Server. They are I<passing on command line>, I<using a
-conf file>, I<passing parameters to run>, I<returning values
-in the default_values method>, or I<using a
-pre-built object to call the run method> (such as that returned
-by the new method).
-
-The C<options> method is used to determine which arguments the
-server will search for. Any arguments found from the command line,
-parameters passed to run, and arguments found in the conf_file will
-be matched against the keys of the options template. Any commandline
-parameters that do not match will be left in place and can be further
-processed by the server in the various hooks (by looking at @ARGV).
+Net::Server. They are I<passing to the new method>, I<passing on
+command line>, I<passing parameters to run>, I<using a conf file>,
+I<returning values in the default_values method>, or I<configuring the
+values in post_configure_hook>.
+
+The C<options> method is used to determine which arguments the server
+will search for and can be used to extend the parsed parameters. Any
+arguments found from the command line, parameters passed to run, and
+arguments found in the conf_file will be matched against the keys of
+the options template. Any commandline parameters that do not match
+will be left in place and can be further processed by the server in
+the various hooks (by looking at @ARGV). Arguments passed to new will
+automatically win over any other options (this can be used if you
+would like to disallow a user passing in other arguments).
Arguments consist of key value pairs. On the commandline
these pairs follow the POSIX fashion of C<--key value> or
@@ -280,7 +279,7 @@
a prebuilt object can best be shown in the following code:
#!/usr/bin/perl -w -T
- #--------------- file test2.pl ---------------
+
package MyPackage;
use strict;
use base qw(Net::Server);
@@ -290,19 +289,24 @@
});
$server->run;
- #--------------- file test2.pl ---------------
All five methods for passing arguments may be used at the
same time. Once an argument has been set, it is not over
written if another method passes the same argument. C<Net::Server>
will look for arguments in the following order:
- 1) Arguments contained in the prebuilt object.
+ 1) Arguments passed to the C<new> method.
2) Arguments passed on command line.
- 3) Arguments passed to the run method.
+ 3) Arguments passed to the C<run> method.
4) Arguments passed via a conf file.
- 5) Arguments set in default_values method.
- 6) Arguments set in the configure_hook.
+ 5) Arguments set in the C<default_values> method.
+
+Additionally the following hooks are available:
+
+ 1) Arguments set in the configure_hook (occurs after new
+ but before any of the other areas are checked).
+ 2) Arguments set and validated in the post_configure_hook
+ (occurs after all of the other areas are checked).
Each of these levels will override parameters of the same
name specified in subsequent levels. For example, specifying
@@ -331,7 +335,7 @@
$self->SUPER::options($template);
### add a single value option
- $prop->{'my_option'} = undef;
+ $prop->{'my_option'} ||= undef;
$template->{'my_option'} = \ $prop->{'my_option'};
### add a multi value option
@@ -339,15 +343,62 @@
$template->{'an_arrayref_item'} = $prop->{'an_arrayref_item'};
}
-Overriding the C<options> method allows for adding your own custom fields.
-A template hashref is passed in, that should then be modified to contain
-an of your custom fields. Fields which are intended to receive a single
-scalar value should have a reference to the destination scalar given. Fields
-which are intended to receive multiple values should reference the corresponding
-destination arrayref.
-
-You are responsible for validating your custom options once they have been parsed.
-The post_configure_hook is a good place to do your validation.
+Overriding the C<options> method allows for adding your own custom
+fields. A template hashref is passed in, that should then be modified
+to contain an of your custom fields. Fields which are intended to
+receive a single scalar value should have a reference to the
+destination scalar given. Fields which are intended to receive
+multiple values should reference the corresponding destination
+arrayref.
+
+You are responsible for validating your custom options once they have
+been parsed. The post_configure_hook is a good place to do your
+validation.
+
+Some emails have asked why we use this "template" method. The idea is
+that you are creating the the data structure to store the values in,
+and you are also creating a way to get the values into the data
+structure. The template is the way to get the values to the servers
+data structure. One of the possibilities (that probably isn't used
+that much) is that by letting you specify the mapping, you could build
+a nested data structure - even though the passed in arguments are
+flat. It also allows you to setup aliases to your names.
+
+For example, a basic structure might look like this:
+
+ $prop = $self->{'server'}
+
+ $prop->{'my_custom_option'} ||= undef;
+ $prop->{'my_custom_array'} ||= [];
+
+ $template = {
+ my_custom_option => \ $prop->{'my_custom_option'},
+ mco => \ $prop->{'my_custom_option'}, # alias
+ my_custom_array => $prop->{'my_custom_array'},
+ mca => $prop->{'my_custom_array'}, # an alias
+ };
+
+ $template->{'mco2'} = $template->{'mco'}; # another way to alias
+
+But you could also have more complex data:
+
+ $prop = $self->{'server'};
+
+ $prop->{'one_layer'} = {
+ two_layer => [
+ undef,
+ undef,
+ ],
+ };
+
+ $template = {
+ param1 => \ $prop->{'one_layer'}->{'two_layer'}->[0],
+ param2 => \ $prop->{'one_layer'}->{'two_layer'}->[1],
+ };
+
+This is of course a contrived example - but it does show that you can
+get the data from the flat passed in arguments to whatever type of
+structure you need - with only a little bit of effort.
=head1 DEFAULT ARGUMENTS FOR Net::Server
@@ -399,6 +450,40 @@
Filename from which to read additional key value pair arguments
for starting the server. Default is undef.
+There are two ways that you can specify a default location for
+a conf_file. The first is to pass the default value to the run
+method as in:
+
+ MyServer->run({
+ conf_file => '/etc/my_server.conf',
+ });
+
+If the end user passes in --conf_file=/etc/their_server.conf then
+the value will be overridden.
+
+The second way to do this was added in the 0.96 version. It uses
+the default_values method as in:
+
+ sub default_values {
+ return {
+ conf_file => '/etc/my_server.conf',
+ }
+ }
+
+This method has the advantage of also being able to be overridden
+in the run method.
+
+If you do not want the user to be able to specify a conf_file at
+all, you can pass conf_file to the new method when creating your
+object:
+
+ MyServer->new({
+ conf_file => '/etc/my_server.conf',
+ })->run;
+
+If passed this way, the value passed to new will "win" over any of
+the other passed in values.
+
=item log_level
Ranges from 0 to 4 in level. Specifies what level of error
@@ -619,12 +704,12 @@
You may get and set properties in two ways. The suggested
way is to access properties directly via
- my $val = $self->{server}->{key1};
+ my $val = $self->{server}->{key1};
-Accessing the properties directly will speed the
-server process. A second way has been provided for object
-oriented types who believe in methods. The second way
-consists of the following methods:
+Accessing the properties directly will speed the server process -
+though some would deem this as bad style. A second way has been
+provided for object oriented types who believe in methods. The second
+way consists of the following methods:
my $val = $self->get_property( 'key1' );
my $self->set_property( key1 => 'val1' );
@@ -637,7 +722,7 @@
C<Net::Server> allows for the use of a configuration file to
read in server parameters. The format of this conf file is
-simple key value pairs. Comments and white space are
+simple key value pairs. Comments and blank lines are
ignored.
#-------------- file test.conf --------------
@@ -790,7 +875,8 @@
=item C<$self-E<gt>configure>
This method attempts to read configurations from the commandline,
-from the run method call, or from a specified conf_file.
+from the run method call, or from a specified conf_file (the conf_file
+may be specified by passed in parameters, or in the default_values).
All of the configured parameters are then stored in the {"server"}
property of the Server object.
@@ -978,20 +1064,21 @@
=item C<$self-E<gt>can_read_hook()>
-This hook occurs after a socket becomes readible on an accept_multi_port
-request (accept_multi_port is used if there are multiple bound ports
-to accept on, or if the "multi_port" configuration parameter is set to
-true). This hook is intended to allow for processing of arbitrary handles
-added to the IO::Select used for the accept_multi_port. These
-handles could be added during the post_bind_hook. No internal support
-is added for processing these handles or adding them to the IO::Socket. Care
-must be used in how much occurs during the can_read_hook as a long response
-time will result in the server being susceptible to DOS attacks. A return value
-of true indicates that the Server should not pass the readible handle on to the
-post_accept and process_request phases.
+This hook occurs after a socket becomes readible on an
+accept_multi_port request (accept_multi_port is used if there are
+multiple bound ports to accept on, or if the "multi_port"
+configuration parameter is set to true). This hook is intended to
+allow for processing of arbitrary handles added to the IO::Select used
+for the accept_multi_port. These handles could be added during the
+post_bind_hook. No internal support is added for processing these
+handles or adding them to the IO::Socket. Care must be used in how
+much occurs during the can_read_hook as a long response time will
+result in the server being susceptible to DOS attacks. A return value
+of true indicates that the Server should not pass the readible handle
+on to the post_accept and process_request phases.
-It is generally suggested that other avenues be pursued for sending messages
-via sockets not created by the Net::Server.
+It is generally suggested that other avenues be pursued for sending
+messages via sockets not created by the Net::Server.
=item C<$self-E<gt>post_accept_hook()>
@@ -1077,20 +1164,12 @@
};
}
-=item C<$self-E<gt>new>
+=item C<$self-E<gt>handle_syslog_error>
-As of Net::Server 0.91 there is finally a new method. This method
-takes a class name and an argument hashref as parameters. The argument
-hashref becomes the "server" property of the object.
-
- package MyPackage;
- use base qw(Net::Server);
-
- my $obj = MyPackage->new({port => 20201});
-
- # same as
-
- my $obj = bless {server => {port => 20201}}, 'MyPackage';
+Called when log_file is set to 'Sys::Syslog' and an error occurs
+while writing to the syslog. It is passed two arguments, the
+value of $@, and an arrayref containing the arguments that
+were passed to the log method when the error occured.
=item C<$self-E<gt>log>
@@ -1115,6 +1194,44 @@
If log_file is set to a file (other than Sys::Syslog), the message
will be appended to the log file by calling the write_to_log_hook.
+If the log_file is Sys::Syslog and an error occurs during write,
+the handle_syslog_error method will be called and passed the
+error exception. The default option of handle_syslog_error is
+to die - but could easily be told to do nothing by using the following
+code in your subclassed server:
+
+ sub handle_syslog_error {}
+
+It the log had been closed, you could attempt to reopen it in the error
+handler with the following code:
+
+ sub handle_syslog_error {
+ my $self = shift;
+ $self->open_syslog;
+ }
+
+=item C<$self-E<gt>new>
+
+As of Net::Server 0.91 there is finally a new method. This method
+takes a class name and an argument hashref as parameters. The argument
+hashref becomes the "server" property of the object.
+
+ package MyPackage;
+ use base qw(Net::Server);
+
+ my $obj = MyPackage->new({port => 20201});
+
+ # same as
+
+ my $obj = bless {server => {port => 20201}}, 'MyPackage';
+
+=item C<$self-E<gt>open_syslog>
+
+Called during post_configure when the log_file option is set to 'Sys::Syslog'.
+By default it use the parsed configuration options listed in this document.
+If more custom behavior is desired, the method could be overridden and
+Sys::Syslog::openlog should be called with the custom parameters.
+
=item C<$self-E<gt>shutdown_sockets>
This method will close any remaining open sockets. This is called
@@ -1159,30 +1276,30 @@
=head1 FILES
- The following files are installed as part of this
- distribution.
+The following files are installed as part of this
+distribution.
- Net/Server.pm
- Net/Server/Fork.pm
- Net/Server/INET.pm
- Net/Server/MultiType.pm
- Net/Server/PreForkSimple.pm
- Net/Server/PreFork.pm
- Net/Server/Single.pm
- Net/Server/Daemonize.pm
- Net/Server/SIG.pm
- Net/Server/Proto.pm
- Net/Server/Proto/*.pm
+ Net/Server.pm
+ Net/Server/Fork.pm
+ Net/Server/INET.pm
+ Net/Server/MultiType.pm
+ Net/Server/PreForkSimple.pm
+ Net/Server/PreFork.pm
+ Net/Server/Single.pm
+ Net/Server/Daemonize.pm
+ Net/Server/SIG.pm
+ Net/Server/Proto.pm
+ Net/Server/Proto/*.pm
=head1 INSTALL
Download and extract tarball before running
these commands in its base directory:
- perl Makefile.PL
- make
- make test
- make install
+ perl Makefile.PL
+ make
+ make test
+ make install
=head1 AUTHOR
@@ -1274,6 +1391,7 @@
(rt #21262).
Thanks to Carlos Velasco for updating the Syslog options (rt #21265).
+And for additional fixes later.
Thanks to Steven Lembark for pointing out that no_client_stdout wasn't
working with the Multiplex server.
@@ -1291,6 +1409,12 @@
And just a general Thanks You to everybody who is using Net::Server or
who has contributed fixes over the years.
+Thanks to Paul Miller for some ->autoflush, FileHandle fixes.
+
+Thanks to Patrik Wallstrom for suggesting handling syslog errors better.
+
+Thanks again to Rob Mueller for more logic cleanup for child accounting in PreFork server.
+
=head1 SEE ALSO
Please see also
@@ -1310,11 +1434,12 @@
=head1 LICENSE
- This package may be distributed under the terms of either the
+This package may be distributed under the terms of either the
+
GNU General Public License
or the
Perl Artistic License
- All rights reserved.
+All rights reserved.
=cut
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Net-Server-0.95/META.yml new/Net-Server-0.96/META.yml
--- old/Net-Server-0.95/META.yml 2007-02-03 09:19:25.000000000 +0100
+++ new/Net-Server-0.96/META.yml 2007-03-26 16:58:54.000000000 +0200
@@ -1,7 +1,7 @@
# http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: Net-Server
-version: 0.95
+version: 0.96
version_from: lib/Net/Server.pm
installdirs: site
requires:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Net-Server-0.95/t/Options.t new/Net-Server-0.96/t/Options.t
--- old/Net-Server-0.95/t/Options.t 2007-02-03 08:31:50.000000000 +0100
+++ new/Net-Server-0.96/t/Options.t 2007-02-05 16:27:39.000000000 +0100
@@ -10,7 +10,7 @@
use vars qw(@ISA);
use strict;
-use Test::More tests => 64;
+use Test::More tests => 66;
#use CGI::Ex::Dump qw(debug);
use_ok('Net::Server');
@@ -191,27 +191,52 @@
$prop = eval { local @ARGV = ('--group=cmdline'); FooServer->run(conf_file => __FILE__.'.conf', group => 'runargs')->{'server'} };
ok($prop, "Loaded server");
$prop ||= {};
-ok($prop->{'group'} eq 'cmdline', "Right user \"$prop->{'group'}\"");
+ok($prop->{'group'} eq 'cmdline', "Right group \"$prop->{'group'}\"");
###----------------------------------------------------------------###
$prop = eval { FooServer->run(conf_file => __FILE__.'.conf', group => 'runargs')->{'server'} };
ok($prop, "Loaded server");
$prop ||= {};
-ok($prop->{'group'} eq 'runargs', "Right user \"$prop->{'group'}\"");
+ok($prop->{'group'} eq 'runargs', "Right group \"$prop->{'group'}\"");
###----------------------------------------------------------------###
$prop = eval { FooServer->run(conf_file => __FILE__.'.conf')->{'server'} };
ok($prop, "Loaded server");
$prop ||= {};
-ok($prop->{'group'} eq 'confgroup', "Right user \"$prop->{'group'}\"");
+ok($prop->{'group'} eq 'confgroup', "Right group \"$prop->{'group'}\"");
###----------------------------------------------------------------###
$prop = eval { FooServer->run->{'server'} };
ok($prop, "Loaded server");
$prop ||= {};
-ok($prop->{'group'} eq 'defaultgroup', "Right user \"$prop->{'group'}\"");
+ok($prop->{'group'} eq 'defaultgroup', "Right group \"$prop->{'group'}\"");
ok(@{ $prop->{'allow'} } == 2, "Defaults for allow are set also");
+###----------------------------------------------------------------###
+
+{
+ package BarServer;
+ @BarServer::ISA = qw(FooServer);
+ sub default_values {
+ return {
+ conf_file => __FILE__.'.conf'
+ };
+ }
+}
+
+$prop = eval { BarServer->run->{'server'} };
+$prop ||= {};
+ok($prop->{'group'} eq 'confgroup', "Right group \"$prop->{'group'}\"");
+
+###----------------------------------------------------------------###
+
+$prop = eval { FooServer->new({
+ conf_file => __FILE__.'.conf', # arguments passed to new win
+})->run({
+ conf_file => 'somefile_that_doesnot_exist',
+})->{'server'} };
+$prop ||= {};
+ok($prop->{'group'} eq 'confgroup', "Right group \"$prop->{'group'}\"");
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-IO-Socket-SSL
checked in at Fri Mar 30 16:31:32 CEST 2007.
--------
--- perl-IO-Socket-SSL/perl-IO-Socket-SSL.changes 2007-03-07 11:01:06.000000000 +0100
+++ /mounts/work_src_done/STABLE/perl-IO-Socket-SSL/perl-IO-Socket-SSL.changes 2007-03-30 16:11:15.000000000 +0200
@@ -1,0 +2,7 @@
+Fri Mar 30 16:02:45 CEST 2007 - anicka(a)suse.cz
+
+- update to 1.04
+ * added way to create SSL object with predefined session
+ cache
+
+-------------------------------------------------------------------
Old:
----
IO-Socket-SSL-1.03-store_set_flags.diff
IO-Socket-SSL-1.03.tar.bz2
New:
----
IO-Socket-SSL-1.04-store_set_flags.diff
IO-Socket-SSL-1.04.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-IO-Socket-SSL.spec ++++++
--- /var/tmp/diff_new_pack.L29186/_old 2007-03-30 16:31:24.000000000 +0200
+++ /var/tmp/diff_new_pack.L29186/_new 2007-03-30 16:31:24.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package perl-IO-Socket-SSL (Version 1.03)
+# spec file for package perl-IO-Socket-SSL (Version 1.04)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,7 +12,7 @@
Name: perl-IO-Socket-SSL
BuildRequires: perl-Net_SSLeay perl-libwww-perl
-Version: 1.03
+Version: 1.04
Release: 1
Provides: p_iossl
Obsoletes: p_iossl
@@ -64,6 +64,10 @@
/var/adm/perl-modules/%{name}
%changelog
+* Fri Mar 30 2007 - anicka(a)suse.cz
+- update to 1.04
+ * added way to create SSL object with predefined session
+ cache
* Wed Mar 07 2007 - anicka(a)suse.cz
- update to 1.03
* add CLONE_SKIP
++++++ IO-Socket-SSL-1.03-store_set_flags.diff -> IO-Socket-SSL-1.04-store_set_flags.diff ++++++
++++++ IO-Socket-SSL-1.03.tar.bz2 -> IO-Socket-SSL-1.04.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.03/Changes new/IO-Socket-SSL-1.04/Changes
--- old/IO-Socket-SSL-1.03/Changes 2007-03-06 19:06:50.000000000 +0100
+++ new/IO-Socket-SSL-1.04/Changes 2007-03-28 21:05:20.000000000 +0200
@@ -1,3 +1,11 @@
+v1.04
+ - added way to create SSL object with predefined session
+ cache, thus making it possible to share the cache between
+ objects even if the rest of the context is not shared
+ key SSL_session_cache
+ Note that the arguments of IO::Socket::SSL::SessionCache::new
+ changed (but you should never have used this class directly
+ because it's internal to IO::Socket::SSL)
v1.03
- add CLONE_SKIP as proposed by
Jarrod Johnson jbjohnso at us dot ibm dot com
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.03/SSL.pm new/IO-Socket-SSL-1.04/SSL.pm
--- old/IO-Socket-SSL-1.03/SSL.pm 2007-03-06 19:05:11.000000000 +0100
+++ new/IO-Socket-SSL-1.04/SSL.pm 2007-03-28 21:00:07.000000000 +0200
@@ -41,7 +41,7 @@
BEGIN {
# Declare @ISA, $VERSION, $GLOBAL_CONTEXT_ARGS
@ISA = qw(IO::Socket::INET);
- $VERSION = '1.03';
+ $VERSION = '1.04';
$GLOBAL_CONTEXT_ARGS = {};
#Make $DEBUG another name for $Net::SSLeay::trace
@@ -716,6 +716,10 @@
$GLOBAL_CONTEXT_ARGS->{'SSL_reuse_ctx'} = shift;
}
+sub set_default_session_cache {
+ $GLOBAL_CONTEXT_ARGS->{SSL_session_cache} = shift;
+}
+
sub opened {
my $self = shift;
@@ -921,13 +925,13 @@
Net::SSLeay::CTX_set_verify($ctx, $verify_mode, $verify_callback);
$ctx_object = { context => $ctx };
- if ($arg_hash->{'SSL_session_cache_size'}) {
- if ($Net::SSLeay::VERSION < 1.26) {
- return IO::Socket::SSL->error("Session caches not supported for Net::SSLeay < v1.26");
- } else {
- $ctx_object->{'session_cache'} =
- IO::Socket::SSL::Session_Cache->new($arg_hash) || undef;
- }
+ if ( my $cache = $arg_hash->{SSL_session_cache} ) {
+ # use predefined cache
+ $ctx_object->{session_cache} = $cache
+ } elsif ( my $size = $arg_hash->{SSL_session_cache_size}) {
+ return IO::Socket::SSL->error("Session caches not supported for Net::SSLeay < v1.26")
+ if $Net::SSLeay::VERSION < 1.26;
+ $ctx_object->{session_cache} = IO::Socket::SSL::Session_Cache->new( $size );
}
return bless $ctx_object, $class;
@@ -936,19 +940,16 @@
sub session_cache {
my $ctx = shift;
- my $cache = $ctx->{'session_cache'};
- return unless defined $cache;
- my ($addr, $port) = (shift, shift);
+ my $cache = $ctx->{'session_cache'} || return;
+ my ($addr,$port,$session) = @_;
my $key = "$addr:$port";
- my $session = shift;
-
- return (defined($session) ? $cache->add_session($key, $session)
- : $cache->get_session($key));
+ return defined($session)
+ ? $cache->add_session($key, $session)
+ : $cache->get_session($key);
}
sub has_session_cache {
- my $ctx = shift;
- return (defined $ctx->{'session_cache'});
+ return defined shift->{session_cache};
}
@@ -965,10 +966,9 @@
sub CLONE_SKIP { 1 }
sub new {
- my ($class, $arg_hash) = @_;
- my $cache = { _maxsize => $arg_hash->{'SSL_session_cache_size'}};
- return unless ($cache->{_maxsize} > 0);
- return bless $cache, $class;
+ my ($class, $size) = @_;
+ $size>0 or return;
+ return bless { _maxsize => $size }, $class;
}
@@ -987,12 +987,11 @@
sub add_session {
my ($self, $key, $val) = @_;
-
return if ($key eq '_maxsize' or $key eq '_head');
if ((keys %$self) > $self->{'_maxsize'} + 1) {
my $last = $self->{'_head'}->{prev};
- &Net::SSLeay::SESSION_free($last->{session});
+ Net::SSLeay::SESSION_free($last->{session});
delete($self->{$last->{key}});
$self->{'_head'}->{prev} = $self->{'_head'}->{prev}->{prev};
delete($self->{'_head'}) if ($self->{'_maxsize'} == 1);
@@ -1211,6 +1210,18 @@
stored at one time; the oldest sessions in the cache will be removed if new ones are
added.
+=item SSL_session_cache
+
+Specifies session cache object which should be used instead of creating a new.
+Overrules SSL_session_cache_size.
+This option is useful if you wan't to reuse the cache, but not the rest of
+the context.
+
+A session cache object can be created using
+C<< IO::Socket::SSL::Session_Cache->new( cachesize ) >>.
+
+Use set_default_session_cache() to set a global cache object.
+
=item SSL_error_trap
When using the accept() or connect() methods, it may be the case that the
@@ -1325,6 +1336,16 @@
the SSL_reuse_ctx option of new() for more details. Note that this sets the default
context globally, so use with caution (esp. in mod_perl scripts).
+=item B<IO::Socket::SSL::set_default_session_cache(...)>
+
+You may use this to make IO::Socket::SSL automatically re-use a given session cache
+(unless specifically overridden in a call to new()). It accepts one argument, which should
+be an IO::Socket::SSL::SessionCache object or similar (e.g something which implements
+get_session and set_session like IO::Socket::SSL::SessionCache does).
+See the SSL_session_cache option of new() for more details. Note that this sets the default
+cache globally, so use with caution.
+
+
=back
The following methods are unsupported (not to mention futile!) and IO::Socket::SSL
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-DBD-mysql
checked in at Fri Mar 30 16:31:30 CEST 2007.
--------
--- perl-DBD-mysql/perl-DBD-mysql.changes 2007-03-02 15:49:24.000000000 +0100
+++ /mounts/work_src_done/STABLE/perl-DBD-mysql/perl-DBD-mysql.changes 2007-03-30 16:10:23.000000000 +0200
@@ -1,0 +2,14 @@
+Fri Mar 30 16:01:24 CEST 2007 - anicka(a)suse.cz
+
+- update to 4.004
+* Work around a bug in old 3.23 servers by specifying NOT NULL
+ for fields used as a primary key in tests.
+* Add support for mysql_warning_count statement handle attribute.
+* Add support for mysql_multi_statements connection option.
+* UTF8-Flag not set with flag mysql_enable_utf8 and column
+ collation utf8_bin patch,
+* Fixed do_error definition
+* Conversion of test suite to Test::More
+* Fix inclusion of non-primary keys in primary_key_info.
+
+-------------------------------------------------------------------
Old:
----
DBD-mysql-4.002.tar.bz2
New:
----
DBD-mysql-4.004.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-DBD-mysql.spec ++++++
--- /var/tmp/diff_new_pack.v29316/_old 2007-03-30 16:31:25.000000000 +0200
+++ /var/tmp/diff_new_pack.v29316/_new 2007-03-30 16:31:25.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package perl-DBD-mysql (Version 4.002)
+# spec file for package perl-DBD-mysql (Version 4.004)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -20,7 +20,7 @@
Requires: perl-DBI perl-Data-ShowTable
Requires: perl = %{perl_version}
Autoreqprov: on
-Version: 4.002
+Version: 4.004
Release: 1
Summary: Interface to the MySQL database
Group: Development/Libraries/Perl
@@ -63,6 +63,17 @@
/var/adm/perl-modules/perl-DBD-mysql
%changelog
+* Fri Mar 30 2007 - anicka(a)suse.cz
+- update to 4.004
+ * Work around a bug in old 3.23 servers by specifying NOT NULL
+ for fields used as a primary key in tests.
+ * Add support for mysql_warning_count statement handle attribute.
+ * Add support for mysql_multi_statements connection option.
+ * UTF8-Flag not set with flag mysql_enable_utf8 and column
+ collation utf8_bin patch,
+ * Fixed do_error definition
+ * Conversion of test suite to Test::More
+ * Fix inclusion of non-primary keys in primary_key_info.
* Fri Mar 02 2007 - anicka(a)suse.cz
- update to 4.002
* Rewrote table_info method to support all arguments
++++++ DBD-mysql-4.002.tar.bz2 -> DBD-mysql-4.004.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/ChangeLog new/DBD-mysql-4.004/ChangeLog
--- old/DBD-mysql-4.002/ChangeLog 2007-03-01 23:34:46.000000000 +0100
+++ new/DBD-mysql-4.004/ChangeLog 2007-03-22 23:14:20.000000000 +0100
@@ -1,12 +1,33 @@
-2007-02-24 Patrick Galbraith <patg(a)grazr.com> Jim Winstead <jimw(a)mysql.com> (4.002)
+2007-3-22 Patrick Galbraith <patg(a)grazr.com> Jim Winstead <jimw(a)mysql.com> (4.004)
+* Work around a bug in old 3.23 servers by specifying NOT NULL for fields used
+ as a primary key in tests. (Bug #20325, reported by Julian Ladisch)
+* Add support for mysql_warning_count statement handle attribute. (Bug #25457,
+ patch from Philip Stoev)
+* Add support for mysql_multi_statements connection option. (RT #12322, based
+ on patch from Doug Morris)
+* Had to bump to 4.003 do to print statement in mysql.pm that made it
+ into the dist. Even though you can delete a file on CPAN, you cannot
+ re-upload it if it's the same name. Mea Culpa.
+* UTF8-Flag not set with flag mysql_enable_utf8 and column collation utf8_bin patch,
+ Joost Diepenmaat, (RT #24738)
+* Fixed do_error definition (Scott Hildreth, Tim Bunce)
+* Conversion of test suite to Test::More
+
+2007-3-5 Patrick Galbraith <patg(a)grazr.com> Jim Winstead <jimw(a)mysql.com> (4.003)
+* Fix inclusion of non-primary keys in primary_key_info. (Bug #26786,
+ reported and patch by Dave Rolsky)
+
+2007-3-1 Patrick Galbraith <patg(a)grazr.com> Jim Winstead <jimw(a)mysql.com> (4.002)
+* Fix re-exec of Makefile.PL when forcing $ENV{LANG} to 'C'. (RT #25233,
+ reported by Slaven Rezic)
* Rewrote table_info method to support all arguments (previously it would
only ever return all of the tables in the current database, no matter what
was specified)
-* Fixed version to be a string, which was previously a float, which caused
+* Fixed $DBD::mysql::VERSION to be a string instead of a float, which caused
problems for certain locales
-* Fixed bug #23974. $dbh->column_info now returns empty arrayref upon table not
- existing. Much thanks to Tim Bunce for help fixing the problem in mysql.pm
- vs. dbdimp.c
+* Fixed bug #23974. $dbh->column_info now returns handle with no rows upon
+ table not existing. Much thanks to Tim Bunce for help fixing the problem
+ in mysql.pm vs. dbdimp.c
* Removed #ifdefs for do error (sqlstate being passed as last arg depending on
version)
* Fixed insertid test to work with auto_increment_increment replication setup.
@@ -89,10 +110,6 @@
* Added multiple fixes to dbd_st_prepare which fixed variable overwrite
and unset increment counter. Also improved loop which checks statements
for presence of "LIMIT" by using a pointer as opposed to char array
-* Added patch for SSL Verify Certificate (Thanks Eric Chen!)
-* Added multiple fixes to dbd_st_prepare which fixed variable overwrite
- and unset increment counter. Also improved loop which checks statements
- for presence of "LIMIT" by using a pointer as opposed to char array
increment variable. These errors were showing up in OpenBSD and other
Unixen (which I think all BSD-based) (Thanks to Kyle George!)
* Added fix to Makefile.PL to obtain correct build flags on VMS
@@ -1028,7 +1045,7 @@
* lib/Msql/Statement.pm: Fixed use of Msql::TEXT_TYPE without
checking whether we are running Msql 1.
-$Id: ChangeLog 9188 2007-03-01 21:13:52Z jimw $
+$Id: ChangeLog 9299 2007-03-22 22:14:29Z capttofu $
DBD::mysql for DBI - Written by Jochen Wiedmann <joe(a)ispsoft.de>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/dbdimp.c new/DBD-mysql-4.004/dbdimp.c
--- old/DBD-mysql-4.002/dbdimp.c 2007-03-01 16:47:26.000000000 +0100
+++ new/DBD-mysql-4.004/dbdimp.c 2007-03-20 14:37:12.000000000 +0100
@@ -8,7 +8,7 @@
* You may distribute this under the terms of either the GNU General Public
* License or the Artistic License, as specified in the Perl README file.
*
- * $Id: dbdimp.c 9183 2007-03-01 15:47:39Z capttofu $
+ * $Id: dbdimp.c 9279 2007-03-20 02:45:21Z capttofu $
*/
@@ -1558,6 +1558,16 @@
imp_dbh->use_mysql_use_result);
}
+#if defined(CLIENT_MULTI_STATEMENTS)
+ if ((svp = hv_fetch(hv, "mysql_multi_statements", 22, FALSE)) && *svp)
+ {
+ if (SvTRUE(*svp))
+ client_flag |= CLIENT_MULTI_STATEMENTS;
+ else
+ client_flag &= ~CLIENT_MULTI_STATEMENTS;
+ }
+#endif
+
#if MYSQL_VERSION_ID >=SERVER_PREPARE_VERSION
/* took out client_flag |= CLIENT_PROTOCOL_41; */
/* because libmysql.c already sets this no matter what */
@@ -2792,6 +2802,7 @@
hv_delete((HV*)SvRV(sth), "mysql_table", 11, G_DISCARD);
hv_delete((HV*)SvRV(sth), "mysql_type", 10, G_DISCARD);
hv_delete((HV*)SvRV(sth), "mysql_type_name", 15, G_DISCARD);
+ hv_delete((HV*)SvRV(sth), "mysql_warning_count", 20, G_DISCARD);
/* Adjust NUM_OF_FIELDS - which also adjusts the row buffer size */
DBIc_NUM_FIELDS(imp_sth)= 0; /* for DBI <= 1.53 */
@@ -2883,6 +2894,10 @@
bind_type_guessing=0;
}
+ if (dbis->debug >= 2)
+ PerlIO_printf(DBILOGFP, "mysql_st_internal_execute MYSQL_VERSION_ID %d\n",
+ MYSQL_VERSION_ID );
+
salloc= parse_params(svsock,
sbuf,
&slen,
@@ -2890,13 +2905,6 @@
num_params,
bind_type_guessing);
- if (dbis->debug >= 2)
- PerlIO_printf(DBILOGFP, "mysql_st_internal_execute\n");
-
- if (dbis->debug >= 2)
- PerlIO_printf(DBILOGFP, "mysql_st_internal_execute MYSQL_VERSION_ID %d\n",
- MYSQL_VERSION_ID );
-
if (salloc)
{
sbuf= salloc;
@@ -3204,6 +3212,8 @@
}
}
+ imp_sth->warning_count = mysql_warning_count(&imp_dbh->mysql);
+
if (dbis->debug >= 2)
{
/*
@@ -3647,7 +3657,13 @@
sv_setpvn(sv, col, len);
/* UTF8 */
#if defined(sv_utf8_decode) && MYSQL_VERSION_ID >=SERVER_PREPARE_VERSION
+
+#if MYSQL_VERSION_ID >= FIELD_CHARSETNR_VERSION
+ /* see bottom of: http://www.mysql.org/doc/refman/5.0/en/c-api-datatypes.html */
+ if (imp_dbh->enable_utf8 && fields[i].charsetnr != 63)
+#else
if (imp_dbh->enable_utf8 && !(fields[i].flags & BINARY_FLAG))
+#endif
sv_utf8_decode(sv);
#endif
/* END OF UTF8 */
@@ -4145,6 +4161,10 @@
else if (strEQ(key, "mysql_use_result"))
retsv= boolSV(imp_sth->use_mysql_use_result);
break;
+ case 19:
+ if (strEQ(key, "mysql_warning_count"))
+ retsv= sv_2mortal(newSViv((IV) imp_sth->warning_count));
+ break;
case 20:
if (strEQ(key, "mysql_server_prepare"))
#if MYSQL_VERSION_ID >= SERVER_PREPARE_VERSION
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/dbdimp.h new/DBD-mysql-4.004/dbdimp.h
--- old/DBD-mysql-4.002/dbdimp.h 2007-03-01 16:47:26.000000000 +0100
+++ new/DBD-mysql-4.004/dbdimp.h 2007-03-20 14:47:29.000000000 +0100
@@ -12,7 +12,7 @@
* You may distribute this under the terms of either the GNU General Public
* License or the Artistic License, as specified in the Perl README file.
*
- * $Id: dbdimp.h 9183 2007-03-01 15:47:39Z capttofu $
+ * $Id: dbdimp.h 9284 2007-03-20 13:47:18Z capttofu $
*/
/*
@@ -29,6 +29,7 @@
* statements as opposed to emulation in the driver
*/
#define SQL_STATE_VERSION 40101
+#define FIELD_CHARSETNR_VERSION 40101 /* should equivalent to 4.1.0 */
#define MULTIPLE_RESULT_SET_VERSION 40102
#define SERVER_PREPARE_VERSION 40103
#define LIMIT_PLACEHOLDER_VERSION 50100
@@ -237,6 +238,7 @@
long long_buflen; /* length for long/longraw (if >0) */
bool long_trunc_ok; /* is truncating a long an error */
my_ulonglong insertid; /* ID of auto insert */
+ int warning_count; /* Number of warnings after execute() */
imp_sth_ph_t* params; /* Pointer to parameter array */
AV* av_attr[AV_ATTRIB_LAST];/* For caching array attributes */
int use_mysql_use_result; /* TRUE if execute should use */
@@ -282,11 +284,8 @@
#endif
#include <dbd_xsh.h>
-#if MYSQL_VERSION_ID >= SQL_STATE_VERSION
void do_error (SV* h, int rc, const char *what, const char *sqlstate);
-#else
-void do_error (SV* h, int rc, const char *what);
-#endif
+
SV *dbd_db_fieldlist (MYSQL_RES* res);
void dbd_preparse (imp_sth_t *imp_sth, SV *statement);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/lib/Bundle/DBD/mysql.pm new/DBD-mysql-4.004/lib/Bundle/DBD/mysql.pm
--- old/DBD-mysql-4.002/lib/Bundle/DBD/mysql.pm 2007-01-15 03:39:33.000000000 +0100
+++ new/DBD-mysql-4.004/lib/Bundle/DBD/mysql.pm 2007-03-20 02:02:47.000000000 +0100
@@ -2,7 +2,7 @@
package Bundle::DBD::mysql;
-$VERSION = 4.002;
+$VERSION = '4.004';
1;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/lib/DBD/mysql.pm new/DBD-mysql-4.004/lib/DBD/mysql.pm
--- old/DBD-mysql-4.002/lib/DBD/mysql.pm 2007-03-01 23:34:46.000000000 +0100
+++ new/DBD-mysql-4.004/lib/DBD/mysql.pm 2007-03-20 02:33:49.000000000 +0100
@@ -9,7 +9,7 @@
use Carp ();
@ISA = qw(DynaLoader);
-$VERSION = '4.002';
+$VERSION = '4.004';
bootstrap DBD::mysql $VERSION;
@@ -397,7 +397,6 @@
local $dbh->{FetchHashKeyName} = 'NAME_lc';
# only ignore ER_NO_SUCH_TABLE in internal_execute if issued from here
- print "DESCRIBE $table_id " . $dbh->quote($column) . "\n";
my $desc_sth = $dbh->prepare("DESCRIBE $table_id " . $dbh->quote($column));
my $desc = $dbh->selectall_arrayref($desc_sth, { Columns=>{} });
@@ -546,7 +545,7 @@
my $desc_sth = $dbh->prepare("SHOW KEYS FROM $table_id");
my $desc = $dbh->selectall_arrayref($desc_sth, { Columns=>{} });
my $ordinal_pos = 0;
- foreach my $row (@$desc) {
+ foreach my $row (grep { $_->{key_name} eq 'PRIMARY'} @$desc) {
$col_info{ $row->{column_name} } = {
TABLE_CAT => $catalog,
TABLE_SCHEM => $schema,
@@ -967,6 +966,12 @@
this option is *ineffective* if the server has also been configured to
disallow LOCAL.)
+=item mysql_multi_statements
+
+As of MySQL 4.1, support for multiple statements seperated by a semicolon
+(;) may be enabled by using this option. Enabling this option may cause
+problems if server-side prepared statements are also enabled.
+
=item Prepared statement support (server side prepare)
As of 3.0002_1, server side prepare statements were on by default (if your
@@ -1348,8 +1353,11 @@
Similar to mysql, but type names and not numbers are returned.
Whenever possible, the ANSI SQL name is preferred.
-=back
+=item mysql_warning_count
+
+The number of warnings generated during execution of the SQL statement.
+=back
=head1 TRANSACTION SUPPORT
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/Makefile.PL new/DBD-mysql-4.004/Makefile.PL
--- old/DBD-mysql-4.002/Makefile.PL 2007-01-04 04:14:50.000000000 +0100
+++ new/DBD-mysql-4.004/Makefile.PL 2007-03-02 04:34:39.000000000 +0100
@@ -10,7 +10,7 @@
"LANG='C' before running 'perl Makefile.PL or by upgrading your Perl'\n\n\n";
sleep(5);
- exec ("$Config{perlpath} $0", @ARGV )|| die $!;
+ exec ($Config{perlpath}, $0, @ARGV )|| die $!;
}
}
use strict;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/MANIFEST new/DBD-mysql-4.004/MANIFEST
--- old/DBD-mysql-4.002/MANIFEST 2007-03-01 16:54:44.000000000 +0100
+++ new/DBD-mysql-4.004/MANIFEST 2007-03-22 18:46:54.000000000 +0100
@@ -1,5 +1,5 @@
t/00base.t
-t/10dsnlist.t
+t/10connect.t
t/20createdrop.t
t/30insertfetch.t
t/35limit.t
@@ -22,6 +22,7 @@
t/80procs.t
t/lib.pl
t/insertid.t
+t/multi_statement.t
t/mysql.dbtest
t/texecute.t
t/prepare_noerror.t
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/META.yml new/DBD-mysql-4.004/META.yml
--- old/DBD-mysql-4.002/META.yml 2007-03-02 04:29:26.000000000 +0100
+++ new/DBD-mysql-4.004/META.yml 2007-03-22 23:23:07.000000000 +0100
@@ -1,7 +1,7 @@
# http://module-build.sourceforge.net/META-spec.html
#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
name: DBD-mysql
-version: 4.002
+version: 4.004
version_from: lib/DBD/mysql.pm
installdirs: site
requires:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/t/10connect.t new/DBD-mysql-4.004/t/10connect.t
--- old/DBD-mysql-4.002/t/10connect.t 1970-01-01 01:00:00.000000000 +0100
+++ new/DBD-mysql-4.004/t/10connect.t 2007-03-22 18:46:14.000000000 +0100
@@ -0,0 +1,30 @@
+#!perl -w
+# vim: ft=perl
+
+use Test::More tests => 2;
+use DBI;
+use DBI::Const::GetInfoType;
+use strict;
+use vars qw($mdriver);
+$|= 1;
+
+our ($test_dsn, $test_user, $test_password);
+$mdriver = "";
+for my $file ("lib.pl", "t/lib.pl", "DBD-mysql/t/lib.pl") {
+ do $file; if ($@)
+ {
+ print STDERR "Error while executing lib.pl: $@\n";
+ exit 10;
+ }
+ if ($mdriver ne '')
+ {
+ last;
+ }
+}
+my @dsn;
+my $dbh= DBI->connect($test_dsn, $test_user, $test_password,
+ { RaiseError => 1, PrintError => 1, AutoCommit => 0 });
+
+ok(defined $dbh, "Connected to database");
+
+ok($dbh->disconnect());
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/t/10dsnlist.t new/DBD-mysql-4.004/t/10dsnlist.t
--- old/DBD-mysql-4.002/t/10dsnlist.t 2006-12-23 19:03:30.000000000 +0100
+++ new/DBD-mysql-4.004/t/10dsnlist.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,82 +0,0 @@
-#!/usr/local/bin/perl
-#
-# $Id: 10dsnlist.t 8435 2006-12-23 19:03:49Z capttofu $
-#
-# This test creates a database and drops it. Should be executed
-# after listdsn.
-#
-
-
-#
-# Include lib.pl
-#
-require DBI;
-$mdriver = "";
-foreach $file ("lib.pl", "t/lib.pl", "DBD-mysql/t/lib.pl") {
- do $file; if ($@) { print STDERR "Error while executing lib.pl: $@\n";
- exit 10;
- }
- if ($mdriver ne '') {
- last;
- }
-}
-if ($mdriver eq 'pNET' || $mdriver eq 'Adabas') {
- print "1..0\n";
- exit 0;
-}
-print "Driver is $mdriver\n";
-
-sub ServerError() {
- print STDERR ("Cannot connect: ", $DBI::errstr, "\n",
- "\tEither your server is not up and running or you have no\n",
- "\tpermissions for acessing the DSN $test_dsn.\n",
- "\tThis test requires a running server and write permissions.\n",
- "\tPlease make sure your server is running and you have\n",
- "\tpermissions, then retry.\n");
- exit 10;
-}
-
-#
-# Main loop; leave this untouched, put tests into the loop
-#
-while (Testing()) {
- # Check if the server is awake.
- $dbh = undef;
- Test($state or ($dbh = DBI->connect($test_dsn, $test_user,
- $test_password)))
- or ServerError();
-
- Test($state or (@dsn = DBI->data_sources($mdriver, {user=> $test_user, password=> $test_password})) >= 0);
- if (!$state) {
- my $d;
- print "List of $mdriver data sources:\n";
- foreach $d (@dsn) {
- print " $d\n";
- }
- print "List ends.\n";
- }
- Test($state or $dbh->disconnect());
-
- #
- # Try different DSN's
- #
- my(@dsnList);
- if (($mdriver eq 'mysql' or $mdriver eq 'mysqlEmb')
- and $test_dsn eq "DBI:$mdriver:test") {
- @dsnList = ("DBI:$mdriver:test:localhost",
- "DBI:$mdriver:test;localhost",
- "DBI:$mdriver:database=test;host=localhost");
- }
- my($dsn);
- foreach $dsn (@dsnList) {
- Test($state or ($dbh = DBI->connect($dsn, $test_user,
- $test_password)))
- or print "Cannot connect to DSN $dsn: ${DBI::errstr}\n";
- Test($state or $dbh->disconnect());
- }
-}
-
-exit 0;
-
-# Hate -w :-)
-$test_dsn = $test_user = $test_password = $DBI::errstr;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/t/20createdrop.t new/DBD-mysql-4.004/t/20createdrop.t
--- old/DBD-mysql-4.002/t/20createdrop.t 2007-03-01 16:47:26.000000000 +0100
+++ new/DBD-mysql-4.004/t/20createdrop.t 2007-03-20 14:02:28.000000000 +0100
@@ -1,86 +1,32 @@
-#!/usr/local/bin/perl
-#
-# $Id: 20createdrop.t 9183 2007-03-01 15:47:39Z capttofu $
-#
-# This is a skeleton test. For writing new tests, take this file
-# and modify/extend it.
-#
+#!perl -w
+# vim: ft=perl
+use Test::More tests => 4;
+use DBI;
+use DBI::Const::GetInfoType;
use strict;
-use vars qw($test_dsn $test_user $test_password $mdriver $dbdriver);
-use DBI ();
+$|= 1;
-#
-# Include lib.pl
-#
-$mdriver = "";
-my $file;
-foreach $file ("lib.pl", "t/lib.pl") {
- do $file; if ($@) { print STDERR "Error while executing lib.pl: $@\n";
- exit 10;
- }
- if ($mdriver ne '') {
- last;
- }
-}
-
-sub ServerError() {
- print STDERR ("Cannot connect: ", $DBI::errstr, "\n",
- "\tEither your server is not up and running or you have no\n",
- "\tpermissions for acessing the DSN $test_dsn.\n",
- "\tThis test requires a running server and write permissions.\n",
- "\tPlease make sure your server is running and you have\n",
- "\tpermissions, then retry.\n");
+my $mdriver= "";
+our ($test_dsn, $test_user, $test_password);
+foreach my $file ("lib.pl", "t/lib.pl") {
+ do $file;
+ if ($@) {
+ print STDERR "Error while executing $file: $@\n";
exit 10;
+ }
+ last if $mdriver ne '';
}
-#
-# Main loop; leave this untouched, put tests into the loop
-#
-use vars qw($state);
-while (Testing()) {
- #
- # Connect to the database
- my $dbh;
- Test($state or $dbh = DBI->connect($test_dsn, $test_user, $test_password))
- or ServerError();
-
- #
- # Find a possible new table name
- #
- my $table;
- Test($state or $table = FindNewTable($dbh))
- or DbiError($dbh->err, $dbh->errstr);
-
- #
- # Create a new table
- #
- my $def;
- if (!$state) {
- ($def = TableDefinition($table,
- ["id", "INTEGER", 4, 0],
- ["name", "CHAR", 64, 0]));
- print "Creating table:\n$def\n";
- }
- Test($state or $dbh->do($def))
- or DbiError($dbh->err, $dbh->errstr);
-
-
- #
- # ... and drop it.
- #
- Test($state or $dbh->do("DROP TABLE $table"))
- or DbiError($dbh->err, $dbh->errstr);
-
- #
- # ... check do() sets $dbh->{Statement}
- #
- Test($state or $dbh->{Statement} eq "DROP TABLE $table")
- or DbiError(1, "do() didn't set Statement attribute");
-
- #
- # Finally disconnect.
- #
- Test($state or $dbh->disconnect())
- or DbiError($dbh->err, $dbh->errstr);
-}
+my $dbh= DBI->connect($test_dsn, $test_user, $test_password,
+ { RaiseError => 1, PrintError => 1, AutoCommit => 0 });
+ok(defined $dbh, "Connected to database");
+
+ok($dbh->do(qq{DROP TABLE IF EXISTS t1}), "making slate clean");
+
+ok($dbh->do(qq{CREATE TABLE t1 (id INT(4), name VARCHAR(64))}), "creating table");
+
+ok($dbh->do(qq{DROP TABLE t1}), "dropping created table");
+
+$dbh->disconnect();
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/t/30insertfetch.t new/DBD-mysql-4.004/t/30insertfetch.t
--- old/DBD-mysql-4.002/t/30insertfetch.t 2006-12-23 19:03:30.000000000 +0100
+++ new/DBD-mysql-4.004/t/30insertfetch.t 2007-03-22 18:06:12.000000000 +0100
@@ -1,110 +1,45 @@
-#!/usr/local/bin/perl
-#
-# $Id: 30insertfetch.t 8435 2006-12-23 19:03:49Z capttofu $
-#
-# This is a simple insert/fetch test.
-#
-$^W = 1;
-
-#
-# Make -w happy
-#
-$test_dsn = '';
-$test_user = '';
-$test_password = '';
-
-
-#
-# Include lib.pl
-#
-use DBI;
-$mdriver = "";
-foreach $file ("lib.pl", "t/lib.pl", "DBD-mysql/t/lib.pl") {
- do $file; if ($@) { print STDERR "Error while executing lib.pl: $@\n";
- exit 10;
- }
- if ($mdriver ne '') {
- last;
- }
-}
+#!perl -w
+# vim: ft=perl
-sub ServerError() {
- print STDERR ("Cannot connect: ", $DBI::errstr, "\n",
- "\tEither your server is not up and running or you have no\n",
- "\tpermissions for acessing the DSN $test_dsn.\n",
- "\tThis test requires a running server and write permissions.\n",
- "\tPlease make sure your server is running and you have\n",
- "\tpermissions, then retry.\n");
+use Test::More tests => 9;
+use DBI;
+use DBI::Const::GetInfoType;
+use strict;
+$|= 1;
+
+my $mdriver= "";
+our ($test_dsn, $test_user, $test_password);
+foreach my $file ("lib.pl", "t/lib.pl") {
+ do $file;
+ if ($@) {
+ print STDERR "Error while executing $file: $@\n";
exit 10;
+ }
+ last if $mdriver ne '';
}
-#
-# Main loop; leave this untouched, put tests after creating
-# the new table.
-#
-while (Testing()) {
- #
- # Connect to the database
- Test($state or $dbh = DBI->connect($test_dsn, $test_user, $test_password))
- or ServerError();
- #DBI->trace(2);
-
- #
- # Find a possible new table name
- #
- Test($state or $table = FindNewTable($dbh))
- or DbiError($dbh->err, $dbh->errstr);
-
- #
- # Create a new table; EDIT THIS!
- #
- Test($state or ($def = TableDefinition($table,
- ["id", "INTEGER", 4, 0],
- ["name", "CHAR", 64, 0]),
- $dbh->do($def)))
- or DbiError($dbh->err, $dbh->errstr);
-
-
- #
- # Insert a row into the test table.......
- #
- Test($state or $dbh->do("INSERT INTO $table"
- . " VALUES(1, 'Alligator Descartes')"))
- or DbiError($dbh->err, $dbh->errstr);
-
- #
- # ...and delete it........
- #
- Test($state or $dbh->do("DELETE FROM $table WHERE id = 1"))
- or DbiError($dbh->err, $dbh->errstr);
-
- #
- # Now, try SELECT'ing the row out. This should fail.
- #
- Test($state or $sth = $dbh->prepare("SELECT * FROM $table"
- . " WHERE id = 1"))
- or DbiError($dbh->err, $dbh->errstr);
-
- Test($state or $sth->execute)
- or DbiError($sth->err, $sth->errstr);
-
- my ($row, $errstr);
- Test($state or (!defined($row = $sth->fetchrow_arrayref) &&
- (!defined($errstr = $sth->errstr) ||
- $sth->errstr eq '')))
- or DbiError($sth->err, $sth->errstr);
-
- Test($state or $sth->finish, "\$sth->finish failed")
- or DbiError($sth->err, $sth->errstr);
-
- Test($state or undef $sth || 1);
-
-
- #
- # Finally drop the test table.
- #
- Test($state or $dbh->do("DROP TABLE $table"))
- or DbiError($dbh->err, $dbh->errstr);
+my $dbh= DBI->connect($test_dsn, $test_user, $test_password,
+ { RaiseError => 1, PrintError => 1, AutoCommit => 0 });
+ok(defined $dbh, "Connected to database");
+
+ok($dbh->do(qq{DROP TABLE IF EXISTS t1}), "making slate clean");
+
+ok($dbh->do(qq{CREATE TABLE t1 (id INT(4), name VARCHAR(64))}), "creating table");
+
+ok($dbh->do("INSERT INTO t1 VALUES(1, 'Alligator Descartes')"), "loading data");
+
+ok($dbh->do("DELETE FROM t1 WHERE id = 1"), "deleting from table t1");
+
+my $sth= $dbh->prepare("SELECT * FROM t1 WHERE id = 1");
+
+ok($sth->execute());
+
+ok(not $sth->fetchrow_arrayref());
+
+ok($sth->finish());
+
+ok($dbh->do("DROP TABLE t1"),"Dropping table");
+
+$dbh->disconnect();
-}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/t/35limit.t new/DBD-mysql-4.004/t/35limit.t
--- old/DBD-mysql-4.002/t/35limit.t 2006-12-23 19:03:30.000000000 +0100
+++ new/DBD-mysql-4.004/t/35limit.t 2007-03-22 23:16:08.000000000 +0100
@@ -1,131 +1,73 @@
-#!/usr/local/bin/perl
-#
-# $Id: 35limit.t 8435 2006-12-23 19:03:49Z capttofu $
-#
-# This is a simple insert/fetch test.
-#
-$^W = 1;
-
-#
-# Make -w happy
-#
-$test_dsn = '';
-$test_user = '';
-$test_password = '';
-
+#!perl -w
+# vim: ft=perl
-#
-# Include lib.pl
-#
+use Test::More tests => 111;
use DBI;
-use Carp qw(croak);
-$mdriver = "";
-foreach $file ("lib.pl", "t/lib.pl", "DBD-mysql/t/lib.pl") {
- do $file; if ($@) { print STDERR "Error while executing lib.pl: $@\n";
- exit 10;
- }
- if ($mdriver ne '') {
- last;
- }
+use DBI::Const::GetInfoType;
+use strict;
+$|= 1;
+
+my $rows = 0;
+my $sth;
+my $testInsertVals;
+our ($test_dsn, $test_user, $test_password, $mdriver);
+$mdriver='';
+foreach my $file ("lib.pl", "t/lib.pl") {
+ do $file;
+ if ($@) {
+ print STDERR "Error while executing $file: $@\n";
+ exit 10;
+ }
+ last if $mdriver ne '';
}
-sub ServerError() {
- print STDERR ("Cannot connect: ", $DBI::errstr, "\n",
- "\tEither your server is not up and running or you have no\n",
- "\tpermissions for acessing the DSN $test_dsn.\n",
- "\tThis test requires a running server and write permissions.\n",
- "\tPlease make sure your server is running and you have\n",
- "\tpermissions, then retry.\n");
- exit 10;
+my $dbh= DBI->connect($test_dsn, $test_user, $test_password,
+ { RaiseError => 1, PrintError => 1, AutoCommit => 0 });
+ok(defined $dbh, "Connected to database");
+
+ok($dbh->do(qq{DROP TABLE IF EXISTS t1}), "making slate clean");
+
+ok($dbh->do(qq{CREATE TABLE t1 (id INT(4), name VARCHAR(64))}), "creating table");
+
+ok(($sth = $dbh->prepare("INSERT INTO t1 VALUES (?,?)")));
+
+print "PERL testing insertion of values from previous prepare of insert statement:\n";
+for (my $i = 0 ; $i < 100; $i++) {
+ my @chars = grep !/[0O1Iil]/, 0..9, 'A'..'Z', 'a'..'z';
+ my $random_chars = join '', map { $chars[rand @chars] } 0 .. 16;
+# save these values for later testing
+ $testInsertVals->{$i} = $random_chars;
+ ok(($rows = $sth->execute($i, $random_chars)));
}
+print "PERL rows : " . $rows . "\n";
+
+#print "PERL testing prepare of select statement with INT and VARCHAR placeholders:\n";
+#ok(($sth = $dbh->prepare("SELECT * FROM t1 WHERE id = ? AND name = ?")));
+
+#for my $id (keys %$testInsertVals) {
+# print "id $id value $testInsertVals->{$id}\n";
+# $sth->execute($id, $testInsertVals->{$id});
+#}
+
+print "PERL testing prepare of select statement with LIMIT placeholders:\n";
+ok($sth = $dbh->prepare("SELECT * FROM t1 LIMIT ?, ?"));
+
+print "PERL testing exec of bind vars for LIMIT\n";
+ok($sth->execute(20, 50));
+
+my ($row, $errstr, $array_ref);
+ok( (defined($array_ref = $sth->fetchall_arrayref) &&
+ (!defined($errstr = $sth->errstr) || $sth->errstr eq '')));
+
+ok(@$array_ref == 50);
+
+ok($sth->finish);
#
-# Main loop; leave this untouched, put tests after creating
-# the new table.
+# Finally drop the test table.
#
-while (Testing()) {
- my $testInsertVals = {};
- #
- # Connect to the database
- Test($state or $dbh = DBI->connect($test_dsn, $test_user, $test_password))
- or ServerError();
-
- #Test($state or $dbh->trace("3", "/tmp/trace.log")) or DbiError($dbh->err, $dbh->errstr);
- #
- # Find a possible new table name
- #
- #Test($state or $table = FindNewTable($dbh))
- # or DbiError($dbh->err, $dbh->errstr);
- $table = 'prepare_test';
-
- Test($state or ($dbh->do("DROP TABLE IF EXISTS $table")) or DbiError($dbh->err, $dbh->errstr));
- #
- # Create a new table; EDIT THIS!
- #
- Test($state or ($def = TableDefinition($table,
- ["id", "INTEGER", 4, 0],
- ["name", "CHAR", 64, 0]),
- $dbh->do($def)))
- or DbiError($dbh->err, $dbh->errstr);
-
-
- print "PERL testing prepare of insert statement:\n";
- Test($state or $sth = $dbh->prepare("INSERT INTO $table VALUES (?,?)"))
- or DbiError($dbh->err, $dbh->errstr);
-
- print "PERL testing insertion of values from previous prepare of insert statement:\n";
- my $rows = 0;
- for (my $i = 0 ; $i < 100; $i++) {
- my @chars = grep !/[0O1Iil]/, 0..9, 'A'..'Z', 'a'..'z';
- my $random_chars = join '', map { $chars[rand @chars] } 0 .. 16;
- # save these values for later testing
- $testInsertVals->{$i} = $random_chars;
- Test(
- $state or
- $rows = $sth->execute($i, $random_chars)
- ) or
- DbiError($dbh->err, $dbh->errstr);
-
- }
- print "PERL rows : " . $rows . "\n";
-
- print "PERL testing prepare of select statement with INT and VARCHAR placeholders:\n";
- Test($state or $sth = $dbh->prepare("SELECT * FROM $table WHERE id = ? AND name = ?"))
- or DbiError($dbh->err, $dbh->errstr);
-
- for my $id (keys %$testVals) {
- Test($state or $sth->execute($id, $testVals->{$id}))
- or DbiError($sth->err, $sth->errstr);
- }
-
- print "PERL testing prepare of select statement with LIMIT placeholders:\n";
- Test($state or $sth = $dbh->prepare("SELECT * FROM $table LIMIT ?, ?"))
- or DbiError($dbh->err, $dbh->errstr);
-
- print "PERL testing exec of bind vars for LIMIT\n";
- Test($state or $sth->execute(20, 50))
- or DbiError($sth->err, $sth->errstr);
-
- my ($row, $errstr, $array_ref);
- Test(
- $state or
- (defined($array_ref = $sth->fetchall_arrayref) &&
- (!defined($errstr = $sth->errstr) || $sth->errstr eq '')))
- or DbiError($sth->err, $sth->errstr);
-
- Test ($state or @$array_ref == 50) or print "results not equaling 50\n";
-
- Test($state or $sth->finish, "\$sth->finish failed")
- or DbiError($sth->err, $sth->errstr);
-
- Test($state or undef $sth || 1);
-
-
- #
- # Finally drop the test table.
- #
- Test($state or $dbh->do("DROP TABLE $table")) or DbiError($dbh->err, $dbh->errstr);
+ok($dbh->do("DROP TABLE t1"));
+
+ok($dbh->disconnect);
- Test($state or $dbh->disconnect) or DBiError($dbh->err, $dbh-errstr);
-}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/t/40catalog.t new/DBD-mysql-4.004/t/40catalog.t
--- old/DBD-mysql-4.002/t/40catalog.t 2007-03-02 04:25:49.000000000 +0100
+++ new/DBD-mysql-4.004/t/40catalog.t 2007-03-20 02:02:48.000000000 +0100
@@ -4,6 +4,7 @@
use Data::Dumper;
use Test::More;
use DBI;
+use DBI::Const::GetInfoType;
use strict;
$|= 1;
@@ -22,7 +23,7 @@
my $dbh= DBI->connect($test_dsn, $test_user, $test_password,
{ RaiseError => 1, PrintError => 1, AutoCommit => 0 });
-plan tests => 75;
+plan tests => 77;
ok(defined $dbh, "connecting");
@@ -89,6 +90,9 @@
# the server we are using for testing.
#
SKIP: {
+ skip "Server can't handle tricky table names", 33
+ if $dbh->get_info($GetInfoType{SQL_DBMS_VER}) lt "4.1";
+
my $sth = $dbh->table_info("%", undef, undef, undef);
is(scalar @{$sth->fetchall_arrayref()}, 0, "No catalogs expected");
@@ -205,6 +209,8 @@
# Try without any table type specified
$sth = $dbh->table_info(undef, undef, "bug26603%");
my $info = $sth->fetchall_arrayref({});
+ is($info->[0]->{TABLE_NAME}, "bug26603_t1");
+ is($info->[0]->{TABLE_TYPE}, "TABLE");
is($info->[1]->{TABLE_NAME}, "bug26603_v1");
is($info->[1]->{TABLE_TYPE}, "VIEW");
is(scalar @$info, 2, "two rows expected");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/t/41bindparam.t new/DBD-mysql-4.004/t/41bindparam.t
--- old/DBD-mysql-4.002/t/41bindparam.t 2006-12-23 18:54:54.000000000 +0100
+++ new/DBD-mysql-4.004/t/41bindparam.t 2007-03-20 02:02:48.000000000 +0100
@@ -48,7 +48,7 @@
DbiError($dbh->err, $dbh->errstr);
Test($state or
- $dbh->do("create table $table (a int, primary key (a))")) or
+ $dbh->do("create table $table (a int not null, primary key (a))")) or
DbiError($dbh->err, $dbh->errstr);
Test($state or
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/t/42bindparam.t new/DBD-mysql-4.004/t/42bindparam.t
--- old/DBD-mysql-4.002/t/42bindparam.t 2007-01-06 15:51:00.000000000 +0100
+++ new/DBD-mysql-4.004/t/42bindparam.t 2007-03-20 02:02:48.000000000 +0100
@@ -45,7 +45,7 @@
DbiError($dbh->err, $dbh->errstr);
Test($state or
- $dbh->do("create table $table (a int, b double, primary key (a))")) or
+ $dbh->do("create table $table (a int not null, b double, primary key (a))")) or
DbiError($dbh->err, $dbh->errstr);
Test($state or
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/t/multi_statement.t new/DBD-mysql-4.004/t/multi_statement.t
--- old/DBD-mysql-4.002/t/multi_statement.t 1970-01-01 01:00:00.000000000 +0100
+++ new/DBD-mysql-4.004/t/multi_statement.t 2007-03-22 20:23:55.000000000 +0100
@@ -0,0 +1,49 @@
+#!perl -w
+# vim: ft=perl
+
+use Test::More tests => 7;
+use DBI;
+use DBI::Const::GetInfoType;
+use strict;
+$|= 1;
+
+my $mdriver= "";
+our ($test_dsn, $test_user, $test_password);
+foreach my $file ("lib.pl", "t/lib.pl") {
+ do $file;
+ if ($@) {
+ print STDERR "Error while executing $file: $@\n";
+ exit 10;
+ }
+ last if $mdriver ne '';
+}
+
+my $dbh= DBI->connect($test_dsn, $test_user, $test_password,
+ { RaiseError => 1, PrintError => 1, AutoCommit => 0,
+ mysql_multi_statements => 1 });
+ok(defined $dbh, "Connected to database with multi statement support");
+
+$dbh->{mysql_server_prepare}= 0;
+
+SKIP: {
+ skip "Server doesn't support multi statements", 6
+ if $dbh->get_info($GetInfoType{SQL_DBMS_VER}) lt "4.1";
+
+ ok($dbh->do("DROP TABLE IF EXISTS t1"), "clean up");
+ ok($dbh->do("CREATE TABLE t1 (a INT)"), "create table");
+
+ ok($dbh->do("INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (2);"));
+
+ $dbh->disconnect();
+
+ $dbh= DBI->connect($test_dsn, $test_user, $test_password,
+ { RaiseError => 0, PrintError => 0, AutoCommit => 0,
+ mysql_multi_statements => 0 });
+ ok(defined $dbh, "Connected to database without multi statement support");
+
+ ok(not $dbh->do("INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (2);"));
+
+ ok($dbh->do("DROP TABLE IF EXISTS t1"), "clean up");
+};
+
+$dbh->disconnect();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/DBD-mysql-4.002/t/utf8.t new/DBD-mysql-4.004/t/utf8.t
--- old/DBD-mysql-4.002/t/utf8.t 2007-01-06 20:07:23.000000000 +0100
+++ new/DBD-mysql-4.004/t/utf8.t 2007-03-20 02:24:13.000000000 +0100
@@ -102,7 +102,7 @@
# Create a new table; In an ideal world, it'd be more sensible to
# make the whole database UTF8...
#
- $query = "CREATE TABLE $table (name VARCHAR(64) CHARACTER SET utf8, bincol BLOB, shape GEOMETRY)";
+ $query = "CREATE TABLE $table (name VARCHAR(64) CHARACTER SET utf8, bincol BLOB, shape GEOMETRY, binutf VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin)";
Test($state or $dbh->do($query))
or ErrMsgF("Cannot create table: Error %s.\n", $dbh->errstr);
@@ -126,11 +126,11 @@
Test( $state or ( $dbh->{ mysql_enable_utf8 } ) )
or ErrMsg( "mysql_enable_utf8 didn't survive connect()\n" );
- $query = qq{INSERT INTO $table (name, bincol, shape) VALUES (?,?, GeomFromText('Point(132865 501937)'))};
- Test( $state or $dbh->do( $query, {}, $utf8_str,$blob ) )
+ $query = qq{INSERT INTO $table (name, bincol, shape, binutf) VALUES (?,?, GeomFromText('Point(132865 501937)'), ?)};
+ Test( $state or $dbh->do( $query, {}, $utf8_str,$blob, $utf8_str ) )
or ErrMsgF( "INSERT failed: query $query, error %s.\n", $dbh->errstr );
- $query = "SELECT name,bincol,asbinary(shape) FROM $table LIMIT 1";
+ $query = "SELECT name,bincol,asbinary(shape), binutf FROM $table LIMIT 1";
Test( $state or ($sth = $dbh->prepare( $query ) ) )
or ErrMsgF( "prepare failed: query $query, error %s.\n", $dbh->errstr );
@@ -143,7 +143,14 @@
# Finally, check that we got back UTF-8 correctly.
Test( $state or ($ref->[0] eq $utf8_str) )
- or ErrMsgF( "got back '$ref->[0]' instead of '$utf8_str'.\n" );
+ or ErrMsgF( "got back '$ref->[0]' instead of '$utf8_str' (normal utf8 collation).\n" );
+
+ # same as above for utf8_bin column
+ Test( $state or ($ref->[3] eq $utf8_str) )
+ or ErrMsgF( "got back '$ref->[3]' instead of '$utf8_str' (binary utf8 collation).\n" );
+
+
+
if (eval "use Encode;") {
# Check for utf8 flag
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Apache-DBI
checked in at Fri Mar 30 16:31:18 CEST 2007.
--------
--- perl-Apache-DBI/perl-Apache-DBI.changes 2006-12-13 13:30:27.000000000 +0100
+++ /mounts/work_src_done/STABLE/perl-Apache-DBI/perl-Apache-DBI.changes 2007-03-30 16:08:37.000000000 +0200
@@ -1,0 +2,8 @@
+Fri Mar 30 16:04:12 CEST 2007 - anicka(a)suse.cz
+
+- update to 1.06
+ * MP2/AuthDBI: Fixed Apache::AuthDBI::debug() to
+ actually work.
+ * Bump minium required perl version to 5.6.1 to match DBI
+
+-------------------------------------------------------------------
Old:
----
Apache-DBI-1.05-path.diff
Apache-DBI-1.05.tar.bz2
New:
----
Apache-DBI-1.06-path.diff
Apache-DBI-1.06.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Apache-DBI.spec ++++++
--- /var/tmp/diff_new_pack.e28346/_old 2007-03-30 16:31:13.000000000 +0200
+++ /var/tmp/diff_new_pack.e28346/_new 2007-03-30 16:31:13.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package perl-Apache-DBI (Version 1.05)
+# spec file for package perl-Apache-DBI (Version 1.06)
#
-# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -12,7 +12,7 @@
Name: perl-Apache-DBI
BuildRequires: apache2-devel apache2-mod_perl libapr-util1-devel pcre-devel perl-DBI
-Version: 1.05
+Version: 1.06
Release: 1
Provides: ApacheDBI perl-ApacheDBI
Obsoletes: perl-ApacheDBI
@@ -70,7 +70,12 @@
%{perl_vendorarch}/auto/Apache/DBI
/var/adm/perl-modules/%{name}
-%changelog -n perl-Apache-DBI
+%changelog
+* Fri Mar 30 2007 - anicka(a)suse.cz
+- update to 1.06
+ * MP2/AuthDBI: Fixed Apache::AuthDBI::debug() to
+ actually work.
+ * Bump minium required perl version to 5.6.1 to match DBI
* Wed Dec 13 2006 - anicka(a)suse.cz
- update to 1.05
* MP2/AuthDBI: Add missing Apache2::Access
++++++ Apache-DBI-1.05-path.diff -> Apache-DBI-1.06-path.diff ++++++
++++++ Apache-DBI-1.05.tar.bz2 -> Apache-DBI-1.06.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Apache-DBI-1.05/Changes new/Apache-DBI-1.06/Changes
--- old/Apache-DBI-1.05/Changes 2006-11-04 07:16:22.000000000 +0100
+++ new/Apache-DBI-1.06/Changes 2007-03-23 09:56:16.000000000 +0100
@@ -1,5 +1,14 @@
Revision history for ApacheDBI.
+1.06 03/23/2007
+ - MP2/AuthDBI: Fixed Apache::AuthDBI::debug() to
+ actually work.
+ Submitted by: [Kevin Appel <kappel(a)tgic.com>]
+
+ - Bump minium required perl version to 5.6.1 to match DBI
+ (Changes in DBI 1.49 (svn rev 2287), 29th November 2005)
+ Philip M. Gollucci <pgollucci(a)p6m7g8.com>
+
1.05 11/3/2006
- MP2/AuthDBI: Add missing Apache2::Access
Submitted by: Adam Prime x443 <aprime(a)brunico.com>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Apache-DBI-1.05/lib/Apache/AuthDBI.pm new/Apache-DBI-1.06/lib/Apache/AuthDBI.pm
--- old/Apache-DBI-1.05/lib/Apache/AuthDBI.pm 2006-11-04 07:17:44.000000000 +0100
+++ new/Apache-DBI-1.06/lib/Apache/AuthDBI.pm 2007-03-23 09:56:42.000000000 +0100
@@ -1,7 +1,7 @@
-# $Id: AuthDBI.pm 8010 2006-11-04 06:17:42Z pgollucci(a)p6m7g8.com $
+# $Id: AuthDBI.pm 9303 2007-03-23 08:56:44Z pgollucci(a)p6m7g8.com $
package Apache::AuthDBI;
-$Apache::AuthDBI::VERSION = '1.05';
+$Apache::AuthDBI::VERSION = '1.06';
# 1: report about cache miss
# 2: full debug output
@@ -29,7 +29,7 @@
use Digest::MD5 ();
sub debug {
- print STDERR "$_[1]\n" if $_[0] >= $Apache::AuthDBI::DEBUG;
+ print STDERR "$_[1]\n" if $_[0] <= $Apache::AuthDBI::DEBUG;
}
sub push_handlers {
@@ -1538,11 +1538,24 @@
=head1 PREREQUISITES
+=head2 MOD_PERL 2.0
+
+Apache::DBI version 0.96 and should work under mod_perl 2.0 RC5 and later
+with httpd 2.0.49 and later.
+
+Apache::DBI versions less than 1.00 are NO longer supported. Additionally,
+mod_perl versions less then 2.0.0 are NO longer supported.
+
+=head2 MOD_PERL 1.0
Note that this module needs mod_perl-1.08 or higher, apache_1.3.0 or higher
and that mod_perl needs to be configured with the appropriate call-back hooks:
PERL_AUTHEN=1 PERL_AUTHZ=1 PERL_CLEANUP=1 PERL_STACKED_HANDLERS=1
+Apache::DBI v0.94 was the last version before dual mod_perl 2.x support was begun.
+It still recommened that you use the latest version of Apache::DBI because Apache::DBI
+versions less than 1.00 are NO longer supported.
+
=head1 SECURITY
In some cases it is more secure not to put the username and the password in
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Apache-DBI-1.05/lib/Apache/DBI.pm new/Apache-DBI-1.06/lib/Apache/DBI.pm
--- old/Apache-DBI-1.05/lib/Apache/DBI.pm 2006-11-04 07:17:44.000000000 +0100
+++ new/Apache-DBI-1.06/lib/Apache/DBI.pm 2007-03-23 09:56:42.000000000 +0100
@@ -1,4 +1,4 @@
-# $Id: DBI.pm 8010 2006-11-04 06:17:42Z pgollucci(a)p6m7g8.com $
+# $Id: DBI.pm 9303 2007-03-23 08:56:44Z pgollucci(a)p6m7g8.com $
package Apache::DBI;
use strict;
@@ -21,7 +21,7 @@
require_version DBI 1.00;
-$Apache::DBI::VERSION = '1.05';
+$Apache::DBI::VERSION = '1.06';
# 1: report about new connect
# 2: full debug output
@@ -492,16 +492,23 @@
=head1 PREREQUISITES
+=head2 MOD_PERL 2.0
+
+Apache::DBI version 0.96 and should work under mod_perl 2.0 RC5 and later
+with httpd 2.0.49 and later.
+
+Apache::DBI versions less than 1.00 are NO longer supported. Additionally,
+mod_perl versions less then 2.0.0 are NO longer supported.
+
+=head2 MOD_PERL 1.0
Note that this module needs mod_perl-1.08 or higher, apache_1.3.0 or higher
and that mod_perl needs to be configured with the appropriate call-back hooks:
- PERL_CHILD_INIT=1 PERL_STACKED_HANDLERS=1.
+Apache::DBI v0.94 was the last version before dual mod_perl 2.x support was begun.
+It still recommened that you use the latest version of Apache::DBI because Apache::DBI
+versions less than 1.00 are NO longer supported.
-=head1 MOD_PERL 2.0
-
-Apache::DBI version 0.96 and should work under mod_perl 2.0 RC5 and later.
-See the Changes file for more information. Beware that it has
-only been tested very lightly.
+ PERL_CHILD_INIT=1 PERL_STACKED_HANDLERS=1.
=head1 SEE ALSO
@@ -511,7 +518,8 @@
=item *
Philip M. Gollucci <pgollucci(a)p6m7g8.com> is currently packaging new releases.
-Ask Bjoern Hansen <ask(a)develooper.com> package a large number of releases.
+
+Ask Bjoern Hansen <ask(a)develooper.com> packaged a large number of releases.
=item *
Edmund Mergl was the original author of Apache::DBI. It is now
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Apache-DBI-1.05/META.yml new/Apache-DBI-1.06/META.yml
--- old/Apache-DBI-1.05/META.yml 2006-11-04 07:38:44.000000000 +0100
+++ new/Apache-DBI-1.06/META.yml 2007-03-23 09:59:08.000000000 +0100
@@ -1,15 +1,14 @@
---- #YAML:1.0
-name: Apache-DBI
-version: 1.05
-abstract: ~
-license: ~
-generated_by: ExtUtils::MakeMaker version 6.31
-distribution_type: module
-requires:
+# http://module-build.sourceforge.net/META-spec.html
+#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
+name: Apache-DBI
+version: 1.06
+version_from: lib/Apache/DBI.pm
+installdirs: site
+requires:
DBI: 1
Digest::MD5: 2.2
Digest::SHA1: 2.01
Test::More: 0
-meta-spec:
- url: http://module-build.sourceforge.net/META-spec-v1.2.html
- version: 1.2
+
+distribution_type: module
+generated_by: ExtUtils::MakeMaker version 6.30
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/Apache-DBI-1.05/README new/Apache-DBI-1.06/README
--- old/Apache-DBI-1.05/README 2006-11-04 07:17:24.000000000 +0100
+++ new/Apache-DBI-1.06/README 2007-03-23 09:55:41.000000000 +0100
@@ -1,7 +1,7 @@
DESCRIPTION:
------------
-This is version 1.05 of Apache::AuthDBI and Apache::DBI.
+This is version 1.06 of Apache::AuthDBI and Apache::DBI.
These modules are supposed to be used with the Apache server together with
an embedded perl interpreter like mod_perl. They provide support for basic
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0