From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- dev-db/pgagent/files/add-log-timestamps.patch | 535 +++++++++++++++++++++ .../files/fix-dbconn-getlasterror-crash.patch | 32 ++ dev-db/pgagent/files/fix-job-success-test.patch | 30 ++ dev-db/pgagent/files/pgagent.confd | 22 + dev-db/pgagent/files/pgagent.initd-r1 | 31 ++ dev-db/pgagent/files/postgres-10-build-fix.patch | 52 ++ .../pgagent/files/save-stderr-jobstep-output.patch | 79 +++ 7 files changed, 781 insertions(+) create mode 100644 dev-db/pgagent/files/add-log-timestamps.patch create mode 100644 dev-db/pgagent/files/fix-dbconn-getlasterror-crash.patch create mode 100644 dev-db/pgagent/files/fix-job-success-test.patch create mode 100644 dev-db/pgagent/files/pgagent.confd create mode 100644 dev-db/pgagent/files/pgagent.initd-r1 create mode 100644 dev-db/pgagent/files/postgres-10-build-fix.patch create mode 100644 dev-db/pgagent/files/save-stderr-jobstep-output.patch (limited to 'dev-db/pgagent/files') diff --git a/dev-db/pgagent/files/add-log-timestamps.patch b/dev-db/pgagent/files/add-log-timestamps.patch new file mode 100644 index 000000000000..8d9eb4a3e8e2 --- /dev/null +++ b/dev-db/pgagent/files/add-log-timestamps.patch @@ -0,0 +1,535 @@ +From 2eef6cc4928c611cecdca3c1daecb60568deca4e Mon Sep 17 00:00:00 2001 +From: Sanket Mehta +Date: Fri, 17 Jul 2015 09:07:09 +0100 +Subject: [PATCH] Add log timestamps and a --version option per Josh Berkus. + Update copyright notices while passing. + +--- + CMakeLists.txt | 8 ++++---- + LICENSE | 2 +- + cmake/MakeExt.cmake | 2 +- + connection.cpp | 2 +- + include/connection.h | 2 +- + include/job.h | 2 +- + include/misc.h | 3 ++- + include/pgAgent.h | 2 +- + job.cpp | 2 +- + misc.cpp | 14 +++++++++++++- + pgAgent.cpp | 2 +- + pgAgent.rc | 14 +++++++------- + pgaevent/CMakeLists.txt | 2 +- + pgaevent/pgaevent.c | 2 +- + pgaevent/pgaevent.def | 2 +- + pgaevent/pgamsgevent.h | 2 +- + pgaevent/pgamsgevent.rc | 14 +++++++------- + precomp.cpp | 2 +- + sql/pgagent--unpackaged--3.4.sql | 2 +- + sql/pgagent.sql | 2 +- + sql/pgagent_upgrade.sql | 2 +- + unix.cpp | 16 +++++++++++----- + win32.cpp | 5 ++++- + 23 files changed, 64 insertions(+), 42 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ab02fea..c8bfa4a 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,7 +1,7 @@ + ####################################################################### + # + # pgAgent - PostgreSQL tools +-# Copyright (C) 2002 - 2014, The pgAdmin Development Team ++# Copyright (C) 2002 - 2015, The pgAdmin Development Team + # This software is released under the PostgreSQL Licence + # + # CMakeLists.txt - CMake build configuration +@@ -27,7 +27,6 @@ SET(CMAKE_FIND_LIBRARY_PREFIXES "") + SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib") + + SET(STATIC_BUILD YES CACHE BOOL "Statically link the executable?") +- + ################################################################################ + # Apple stuff + ################################################################################ +@@ -61,12 +60,12 @@ PROJECT(pgagent) + # in pgagent.sql and upgrade_pgagent.sql if the major version number is + # changed. The full version number also needs to be included in pgAgent.rc and + # pgaevent/pgamsgevent.rc at present. +-SET(VERSION 3.4.0) ++SET(VERSION "3.4.1") + + # CPack stuff + SET(CPACK_PACKAGE_VERSION_MAJOR 3) + SET(CPACK_PACKAGE_VERSION_MINOR 4) +-SET(CPACK_PACKAGE_VERSION_PATCH 0) ++SET(CPACK_PACKAGE_VERSION_PATCH 1) + SET(CPACK_PACKAGE_NAME "pgAgent") + SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "pgAgent is a job scheduling engine for PostgreSQL") + SET(CPACK_PACKAGE_VENDOR "the pgAdmin Development Team") +@@ -79,6 +78,7 @@ SET(CPACK_SOURCE_GENERATOR TGZ) + SET(CPACK_SOURCE_IGNORE_FILES "\\\\.DS_Store;/CVS/;/\\\\.svn/;\\\\.swp$;\\\\.#;/#;.*~;cscope.*") + + ADD_DEFINITIONS(-DPGAGENT_VERSION_MAJOR=${CPACK_PACKAGE_VERSION_MAJOR}) ++ADD_DEFINITIONS(-DPGAGENT_VERSION="${VERSION}") + + # This must come after we set the CPACK variables!! + INCLUDE(CPack) +diff --git a/LICENSE b/LICENSE +index 3b2638a..c460d6f 100644 +--- a/LICENSE ++++ b/LICENSE +@@ -1,6 +1,6 @@ + pgAgent + +-Copyright (c) 2002 - 2014, The pgAdmin Development Team ++Copyright (c) 2002 - 2015, The pgAdmin Development Team + + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose, without fee, and without a written agreement is +diff --git a/cmake/MakeExt.cmake b/cmake/MakeExt.cmake +index 5777c97..ae30e30 100644 +--- a/cmake/MakeExt.cmake ++++ b/cmake/MakeExt.cmake +@@ -1,7 +1,7 @@ + ####################################################################### + # + # pgAgent - PostgreSQL tools +-# Copyright (C) 2002 - 2014, The pgAdmin Development Team ++# Copyright (C) 2002 - 2015, The pgAdmin Development Team + # This software is released under the PostgreSQL Licence + # + # MakeExt,cmake - Create the PG Extension +diff --git a/connection.cpp b/connection.cpp +index f2213bd..25432bb 100644 +--- a/connection.cpp ++++ b/connection.cpp +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014, The pgAdmin Development Team ++// Copyright (C) 2002 - 2015, The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // connection.cpp - database connection +diff --git a/include/connection.h b/include/connection.h +index a201450..064067c 100644 +--- a/include/connection.h ++++ b/include/connection.h +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014, The pgAdmin Development Team ++// Copyright (C) 2002 - 2015, The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // connection.h - database connection +diff --git a/include/job.h b/include/job.h +index e511852..abc33d4 100644 +--- a/include/job.h ++++ b/include/job.h +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014, The pgAdmin Development Team ++// Copyright (C) 2002 - 2015, The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // job.h - agent job +diff --git a/include/misc.h b/include/misc.h +index 14b4edc..59847d1 100644 +--- a/include/misc.h ++++ b/include/misc.h +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014, The pgAdmin Development Team ++// Copyright (C) 2002 - 2015, The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // misc.h - misc functions +@@ -18,6 +18,7 @@ void WaitAWhile(const bool waitLong = false); + void setOptions(int argc, char **argv, const wxString &executable); + wxString getArg(int &argc, char **&argv); + wxString NumToStr(const long l); ++void printVersion(); + + #endif // MISC_H + +diff --git a/include/pgAgent.h b/include/pgAgent.h +index 6ef4944..059e0ca 100644 +--- a/include/pgAgent.h ++++ b/include/pgAgent.h +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014, The pgAdmin Development Team ++// Copyright (C) 2002 - 2015, The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // pgAgent.h - main include +diff --git a/job.cpp b/job.cpp +index c4b39ce..f3eaa03 100644 +--- a/job.cpp ++++ b/job.cpp +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014 The pgAdmin Development Team ++// Copyright (C) 2002 - 2015 The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // job.cpp - pgAgent job +diff --git a/misc.cpp b/misc.cpp +index dfd56a0..2252d83 100644 +--- a/misc.cpp ++++ b/misc.cpp +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014 The pgAdmin Development Team ++// Copyright (C) 2002 - 2015 The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // misc.cpp - misc functions +@@ -16,6 +16,8 @@ + #include + #endif + ++#define APPVERSION_STR wxT(PGAGENT_VERSION) ++ + // In unix.c or win32.c + void usage(const wxString &executable); + +@@ -42,6 +44,11 @@ wxString getArg(int &argc, char **&argv) + return s; + } + ++void printVersion() ++{ ++ wxPrintf(_("PostgreSQL Scheduling Agent\n")); ++ wxPrintf(_("Version: %s\n"), APPVERSION_STR); ++} + + void setOptions(int argc, char **argv, const wxString &executable) + { +@@ -72,6 +79,11 @@ void setOptions(int argc, char **argv, const wxString &executable) + minLogLevel = val; + break; + } ++ case 'v': ++ { ++ printVersion(); ++ exit (0); ++ } + #ifndef __WXMSW__ + case 'f': + { +diff --git a/pgAgent.cpp b/pgAgent.cpp +index 5ed43fb..9238fa1 100644 +--- a/pgAgent.cpp ++++ b/pgAgent.cpp +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014, The pgAdmin Development Team ++// Copyright (C) 2002 - 2015, The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // pgAgent.cpp - pgAgent main entry +diff --git a/pgAgent.rc b/pgAgent.rc +index 3c51bfa..c4169e1 100644 +--- a/pgAgent.rc ++++ b/pgAgent.rc +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014, The pgAdmin Development Team ++// Copyright (C) 2002 - 2015, The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // pgAgent.rc - win32 Resources +@@ -16,8 +16,8 @@ aaaPGAGENT ICON DISCARDABLE "include/pgAgent.ico" + + + VS_VERSION_INFO VERSIONINFO +-FILEVERSION 3,4,0,0 +-PRODUCTVERSION 3,4,0,0 ++FILEVERSION 3,4,1,0 ++PRODUCTVERSION 3,4,1,0 + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + BEGIN +@@ -25,15 +25,15 @@ BEGIN + BEGIN + BLOCK "040904E4" + BEGIN +- VALUE "FileVersion", "3.4.0", "\0" +- VALUE "File Version", "3.4.0", "\0" ++ VALUE "FileVersion", "3.4.1", "\0" ++ VALUE "File Version", "3.4.1", "\0" + VALUE "FileDescription", "pgAgent - PostgreSQL Scheduling Agent", "\0" +- VALUE "LegalCopyright", "\251 2002 - 2012, The pgAdmin Development Team", "\0" ++ VALUE "LegalCopyright", "\251 2002 - 2015, The pgAdmin Development Team", "\0" + VALUE "LegalTrademarks", "This software is released under the PostgreSQL Licence.", "\0" + VALUE "InternalName", "pgAgent", "\0" + VALUE "OriginalFilename","pgagent.exe", "\0" + VALUE "ProductName", "pgAgent", "\0" +- VALUE "ProductVersion", "3.4.0", "\0" ++ VALUE "ProductVersion", "3.4.1", "\0" + END + END + BLOCK "VarFileInfo" +diff --git a/pgaevent/CMakeLists.txt b/pgaevent/CMakeLists.txt +index 10478c3..2fd6192 100644 +--- a/pgaevent/CMakeLists.txt ++++ b/pgaevent/CMakeLists.txt +@@ -1,7 +1,7 @@ + ####################################################################### + # + # pgAgent - PostgreSQL tools +-# Copyright (C) 2002 - 2014, The pgAdmin Development Team ++# Copyright (C) 2002 - 2015, The pgAdmin Development Team + # This software is released under the PostgreSQL Licence + # + # pgaevent/CMakeLists.txt - CMake build configuration +diff --git a/pgaevent/pgaevent.c b/pgaevent/pgaevent.c +index a66ed42..c9fac75 100644 +--- a/pgaevent/pgaevent.c ++++ b/pgaevent/pgaevent.c +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014, The pgAdmin Development Team ++// Copyright (C) 2002 - 2015, The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // pgaevent.c - win32 message format dll +diff --git a/pgaevent/pgaevent.def b/pgaevent/pgaevent.def +index c9e222d..34e03c1 100644 +--- a/pgaevent/pgaevent.def ++++ b/pgaevent/pgaevent.def +@@ -2,7 +2,7 @@ + ; // + ; // pgAgent - PostgreSQL Tools + ; // +-; // Copyright (C) 2002 - 2014 The pgAdmin Development Team ++; // Copyright (C) 2002 - 2015 The pgAdmin Development Team + ; // This software is released under the PostgreSQL Licence + ; // + ; // pgaeventdef - pgaevent.dll exports +diff --git a/pgaevent/pgamsgevent.h b/pgaevent/pgamsgevent.h +index b8e11a5..f589d60 100644 +--- a/pgaevent/pgamsgevent.h ++++ b/pgaevent/pgamsgevent.h +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014, The pgAdmin Development Team ++// Copyright (C) 2002 - 2015, The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // pgamsgevent.h - Message id declarations +diff --git a/pgaevent/pgamsgevent.rc b/pgaevent/pgamsgevent.rc +index 79e77aa..510ab65 100644 +--- a/pgaevent/pgamsgevent.rc ++++ b/pgaevent/pgamsgevent.rc +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014, The pgAdmin Development Team ++// Copyright (C) 2002 - 2015, The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // pgaevent.rc - win32 Resources +@@ -19,8 +19,8 @@ aaaPGAEVENT ICON DISCARDABLE "../include/pgagent.ico" + + + VS_VERSION_INFO VERSIONINFO +-FILEVERSION 3,4,0,0 +-PRODUCTVERSION 3,4,0,0 ++FILEVERSION 3,4,1,0 ++PRODUCTVERSION 3,4,1,0 + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + BEGIN +@@ -28,15 +28,15 @@ BEGIN + BEGIN + BLOCK "040904E4" + BEGIN +- VALUE "FileVersion", "3.4.0", "\0" +- VALUE "File Version", "3.4.0", "\0" ++ VALUE "FileVersion", "3.4.1", "\0" ++ VALUE "File Version", "3.4.1", "\0" + VALUE "FileDescription", "pgaevent - pgAgent Event Log Message DLL", "\0" +- VALUE "LegalCopyright", "\251 2002 - 2014, The pgAdmin Development Team", "\0" ++ VALUE "LegalCopyright", "\251 2002 - 2015, The pgAdmin Development Team", "\0" + VALUE "LegalTrademarks", "This software is released under the PostgreSQL Licence.", "\0" + VALUE "InternalName", "pgaevent", "\0" + VALUE "OriginalFilename","pgaevent.dll", "\0" + VALUE "ProductName", "pgAgent", "\0" +- VALUE "ProductVersion", "3.4.0", "\0" ++ VALUE "ProductVersion", "3.4.1", "\0" + END + END + BLOCK "VarFileInfo" +diff --git a/precomp.cpp b/precomp.cpp +index 02c969f..56766bb 100644 +--- a/precomp.cpp ++++ b/precomp.cpp +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014, The pgAdmin Development Team ++// Copyright (C) 2002 - 2015, The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // precomp.cpp - pgAgent precompiled headers +diff --git a/sql/pgagent--unpackaged--3.4.sql b/sql/pgagent--unpackaged--3.4.sql +index 536640e..f5ffc63 100644 +--- a/sql/pgagent--unpackaged--3.4.sql ++++ b/sql/pgagent--unpackaged--3.4.sql +@@ -1,7 +1,7 @@ + /* + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014 The pgAdmin Development Team ++// Copyright (C) 2002 - 2015 The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // pgagent--unpackaged--3.4.sql - Convert pgAgent existing tables and functions to an extension +diff --git a/sql/pgagent.sql b/sql/pgagent.sql +index 3708adf..1118833 100644 +--- a/sql/pgagent.sql ++++ b/sql/pgagent.sql +@@ -1,7 +1,7 @@ + /* + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014 The pgAdmin Development Team ++// Copyright (C) 2002 - 2015 The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // pgagent.sql - pgAgent tables and functions +diff --git a/sql/pgagent_upgrade.sql b/sql/pgagent_upgrade.sql +index ae0d995..c256c93 100644 +--- a/sql/pgagent_upgrade.sql ++++ b/sql/pgagent_upgrade.sql +@@ -1,7 +1,7 @@ + /* + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014 The pgAdmin Development Team ++// Copyright (C) 2002 - 2015 The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // pgagent_upgrade.sql - Upgrade pgAgent tables and functions +diff --git a/unix.cpp b/unix.cpp +index 34ad0f6..e206408 100644 +--- a/unix.cpp ++++ b/unix.cpp +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014, The pgAdmin Development Team ++// Copyright (C) 2002 - 2015, The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // unix.cpp - pgAgent unix specific functions +@@ -17,14 +17,17 @@ + #include + #include + #include ++void printVersion(); + + void usage(const wxString &executable) + { + wxFileName *fn = new wxFileName(executable); ++ printVersion(); + + wxPrintf(_("Usage:\n")); + wxPrintf(fn->GetName() + _(" [options] \n")); + wxPrintf(_("options:\n")); ++ wxPrintf(_("-v (display version info and then exit)\n")); + wxPrintf(_("-f run in the foreground (do not detach from the terminal)\n")); + wxPrintf(_("-t \n")); + wxPrintf(_("-r =10, default 30)>\n")); +@@ -50,22 +53,25 @@ void LogMessage(wxString msg, int level) + return; + } + ++ wxDateTime logTime = wxDateTime::Now(); ++ wxString logTimeString = logTime.Format() + wxT(" : "); ++ + switch (level) + { + case LOG_DEBUG: + if (minLogLevel >= LOG_DEBUG) +- file.Write(_("DEBUG: ") + msg + wxT("\n")); ++ file.Write(logTimeString + _("DEBUG: ") + msg + wxT("\n")); + break; + case LOG_WARNING: + if (minLogLevel >= LOG_WARNING) +- file.Write(_("WARNING: ") + msg + wxT("\n")); ++ file.Write(logTimeString + _("WARNING: ") + msg + wxT("\n")); + break; + case LOG_ERROR: +- file.Write(_("ERROR: ") + msg + wxT("\n")); ++ file.Write(logTimeString + _("ERROR: ") + msg + wxT("\n")); + exit(1); + break; + case LOG_STARTUP: +- file.Write(_("WARNING: ") + msg + wxT("\n")); ++ file.Write(logTimeString + _("WARNING: ") + msg + wxT("\n")); + break; + } + +diff --git a/win32.cpp b/win32.cpp +index aa5d5d7..624ae77 100644 +--- a/win32.cpp ++++ b/win32.cpp +@@ -2,7 +2,7 @@ + // + // pgAgent - PostgreSQL Tools + // +-// Copyright (C) 2002 - 2014 The pgAdmin Development Team ++// Copyright (C) 2002 - 2015 The pgAdmin Development Team + // This software is released under the PostgreSQL Licence + // + // win32.cpp - pgAgent win32 specific functions +@@ -36,6 +36,7 @@ static HANDLE serviceSync; + static HANDLE eventHandle; + + bool stopService(); ++void printVersion(); + + // This will be called from MainLoop, if pgagent is initialized properly + void Initialized() +@@ -435,12 +436,14 @@ bool removeService(const wxString &serviceName) + void usage(const wxString &executable) + { + wxFileName *fn = new wxFileName(executable); ++ printVersion(); + + wxPrintf(_("Usage:\n")); + wxPrintf(fn->GetName() + _(" REMOVE \n")); + wxPrintf(fn->GetName() + _(" INSTALL [options] \n")); + wxPrintf(fn->GetName() + _(" DEBUG [options] \n")); + wxPrintf(_("options:\n")); ++ wxPrintf(_("-v (display version info and then exit)\n")); + wxPrintf(_("-u \n")); + wxPrintf(_("-p \n")); + wxPrintf(_("-d \n")); diff --git a/dev-db/pgagent/files/fix-dbconn-getlasterror-crash.patch b/dev-db/pgagent/files/fix-dbconn-getlasterror-crash.patch new file mode 100644 index 000000000000..633a359b6765 --- /dev/null +++ b/dev-db/pgagent/files/fix-dbconn-getlasterror-crash.patch @@ -0,0 +1,32 @@ +From f9bf1ccb27ebcfce00e7a6d467bc0e1b5ee9555e Mon Sep 17 00:00:00 2001 +From: Ashesh Vashi +Date: Wed, 1 Apr 2015 15:24:11 +0530 +Subject: [PATCH] Fixed a bug in DBconn::GetLastError() function. + +pgAgent was crashing, while removing the trailing new-lines from the +empty error message string (Reported by: Thomas Krennwallner) +--- + connection.cpp | 10 +--------- + 1 file changed, 1 insertion(+), 9 deletions(-) + +diff --git a/connection.cpp b/connection.cpp +index b7623e6..f2213bd 100644 +--- a/connection.cpp ++++ b/connection.cpp +@@ -313,15 +313,7 @@ int DBconn::ExecuteVoid(const wxString &query) + + wxString DBconn::GetLastError() + { +- // Return the last error message, minus any trailing line ends +- if (lastError.substr(lastError.length() - 2, 2) == wxT("\r\n")) // DOS +- return lastError.substr(0, lastError.length() - 2); +- else if (lastError.substr(lastError.length() - 1, 1) == wxT("\n")) // Unix +- return lastError.substr(0, lastError.length() - 1); +- else if (lastError.substr(lastError.length() - 1, 1) == wxT("\r")) // Mac +- return lastError.substr(0, lastError.length() - 1); +- else +- return lastError; ++ return lastError.Trim(true); + } + + ///////////////////////////////////////////////////////7 diff --git a/dev-db/pgagent/files/fix-job-success-test.patch b/dev-db/pgagent/files/fix-job-success-test.patch new file mode 100644 index 000000000000..cd5495a52aa9 --- /dev/null +++ b/dev-db/pgagent/files/fix-job-success-test.patch @@ -0,0 +1,30 @@ +From 01b72d867cc2bdbaff1765499a6395f7bc94e2be Mon Sep 17 00:00:00 2001 +From: Sanket Mehta +Date: Tue, 1 Dec 2015 11:34:32 +0530 +Subject: [PATCH] Set 'succeeded' flag to true/false by checking for the step + failure everytime (it gets executed). + +These was an issue with the current implementation. + +Once the 'succeeded' flag is set to true, the following batch step +execution does not stop executiong of following steps on failure, even +we have set 'onerror' to 'f' for that step. +--- + job.cpp | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/job.cpp b/job.cpp +index f3eaa03..9864f57 100644 +--- a/job.cpp ++++ b/job.cpp +@@ -307,9 +307,7 @@ int Job::Execute() + + // set success status for batch runs, be pessimistic by default + LogMessage(wxString::Format(_("Script return code: %d"), rc), LOG_DEBUG); +- if (rc == 0) +- succeeded = true; +- ++ succeeded = ((rc == 0) ? true : false); + // If output is empty then either script did not return any output + // or script threw some error into stderr. + // Check script threw some error into stderr diff --git a/dev-db/pgagent/files/pgagent.confd b/dev-db/pgagent/files/pgagent.confd new file mode 100644 index 000000000000..0b2c7d788dd2 --- /dev/null +++ b/dev-db/pgagent/files/pgagent.confd @@ -0,0 +1,22 @@ +# Pool time interval +PGA_POLL="10" + +# Retry period +PGA_RETRY="30" + +# Log file +PGA_LOG="/var/log/pgagent.log" + +# Logging verbosity +# ERROR=0, WARNING=1, DEBUG=2 +PGA_LEVEL="1" + +# Server parameters +# Host address +PG_HOST="localhost" + +# DB name +PG_DBNAME="postgres" + +# Username +PG_USER="postgres" \ No newline at end of file diff --git a/dev-db/pgagent/files/pgagent.initd-r1 b/dev-db/pgagent/files/pgagent.initd-r1 new file mode 100644 index 000000000000..a555006d3bd2 --- /dev/null +++ b/dev-db/pgagent/files/pgagent.initd-r1 @@ -0,0 +1,31 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/pgagent" +command_user="pgagent" + +# If pgagent daemonizes itself, it won't write a PID file and +# we have to work a little harder to stop() it. So let it run +# in the foreground, and have OpenRC manage its PID file. +command_args="-f + -t ${PGA_POLL} + -r ${PGA_RETRY} + -s ${PGA_LOG} + -l ${PGA_LEVEL} + hostaddr=${PG_HOST} + dbname=${PG_DBNAME} + user=${PG_USER}" + +command_background="true" +pidfile="/run/pgagent.pid" + +depend() { + use net + need postgresql +} + +start_pre() { + # The log file needs to be writable by the daemon user. + checkpath --file --owner root:pgagent --mode 0660 "${PGA_LOG}" +} diff --git a/dev-db/pgagent/files/postgres-10-build-fix.patch b/dev-db/pgagent/files/postgres-10-build-fix.patch new file mode 100644 index 000000000000..e2ecb0aa60b7 --- /dev/null +++ b/dev-db/pgagent/files/postgres-10-build-fix.patch @@ -0,0 +1,52 @@ +From a7b82fb3d3bd3de3ce624d9e4b0da53cb9835c2d Mon Sep 17 00:00:00 2001 +From: Ashesh Vashi +Date: Mon, 31 Jul 2017 14:57:55 +0530 +Subject: [PATCH] Added support two digits version for PostgreSQL/EDB Postgres + Advanced Server >= 10 + +--- + CMakeLists.txt | 6 +++++- + cmake/FindPG.cmake | 6 +++--- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8214650..29755b4 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -176,7 +176,11 @@ MESSAGE(STATUS " Description : ${CPACK_PACKAGE_DESCRIPTION_SUMM + MESSAGE(STATUS " Version : ${VERSION}") + MESSAGE(STATUS " ") + MESSAGE(STATUS " PostgreSQL version string : ${PG_VERSION_STRING}") +-MESSAGE(STATUS " PostgreSQL version parts : ${PG_MAJOR_VERSION}.${PG_MINOR_VERSION}.${PG_PATCH_VERSION}") ++IF(${PG_MAJOR_VERSION} GREATER 9) ++ MESSAGE(STATUS " PostgreSQL version parts : ${PG_MAJOR_VERSION}") ++ELSE() ++ MESSAGE(STATUS " PostgreSQL version parts : ${PG_MAJOR_VERSION}.${PG_MINOR_VERSION}") ++ENDIF(${PG_MAJOR_VERSION} GREATER 10) + MESSAGE(STATUS " PostgreSQL path : ${PG_ROOT_DIR}") + MESSAGE(STATUS " PostgreSQL config binary : ${PG_CONFIG_PATH}") + MESSAGE(STATUS " PostgreSQL include path : ${PG_INCLUDE_DIRS}") +diff --git a/cmake/FindPG.cmake b/cmake/FindPG.cmake +index 349086c..9768771 100644 +--- a/cmake/FindPG.cmake ++++ b/cmake/FindPG.cmake +@@ -28,7 +28,6 @@ + # PG_VERSION_STRING - The PostgreSQL version number. + # PG_MAJOR_VERSION - The PostgreSQL major version (x in x.y.z). + # PG_MINOR_VERSION - The PostgreSQL minor version (y in x.y.z). +-# PG_PATCH_VERSION - The PostgreSQL patch version (z in x.y.z). + # PG_EXTENSION - Set to TRUE if PostgreSQL supports extensions. + + IF(NOT PG_STATIC OR PG_STATIC STREQUAL "") +@@ -70,8 +69,9 @@ IF(NOT _retval) + # Split the version into its component parts. + STRING(REGEX MATCHALL "[0-9]+" PG_VERSION_PARTS "${PG_VERSION_STRING}") + LIST(GET PG_VERSION_PARTS 0 PG_MAJOR_VERSION) +- LIST(GET PG_VERSION_PARTS 1 PG_MINOR_VERSION) +- LIST(GET PG_VERSION_PARTS 2 PG_PATCH_VERSION) ++ IF((PG_MAJOR_VERSION LESS 10)) ++ LIST(GET PG_VERSION_PARTS 1 PG_MINOR_VERSION) ++ ENDIF((PG_MAJOR_VERSION LESS 10)) + + # Are extensions supported? + IF((PG_MAJOR_VERSION GREATER 9) OR ((PG_MAJOR_VERSION EQUAL 9) AND (PG_MINOR_VERSION GREATER 0))) diff --git a/dev-db/pgagent/files/save-stderr-jobstep-output.patch b/dev-db/pgagent/files/save-stderr-jobstep-output.patch new file mode 100644 index 000000000000..245dbe2764ea --- /dev/null +++ b/dev-db/pgagent/files/save-stderr-jobstep-output.patch @@ -0,0 +1,79 @@ +From 5d2e0d3500a8e144215cdfe10b52cf7415b58046 Mon Sep 17 00:00:00 2001 +From: Ashesh Vashi +Date: Mon, 25 May 2015 12:37:42 +0530 +Subject: [PATCH] Save the standarad error too along with the standard output + in the jobstep output for the batch jobs. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +[Worked on by: Mehmet Emin KARAKAŞ, Akshay Joshi] +[Reviewed and improvised by: Sanket Joshi, Ashesh Vashi] +--- + job.cpp | 37 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 37 insertions(+) + +diff --git a/job.cpp b/job.cpp +index 00334ab..c4b39ce 100644 +--- a/job.cpp ++++ b/job.cpp +@@ -186,8 +186,10 @@ int Job::Execute() + + #ifdef __WIN32__ + wxString filename = dirname + wxT("\\") + jobid + wxT("_") + stepid + wxT(".bat"); ++ wxString errorFile = dirname + wxT("\\") + jobid + wxT("_") + stepid + wxT("_error.txt"); + #else + wxString filename = dirname + wxT("/") + jobid + wxT("_") + stepid + wxT(".scr"); ++ wxString errorFile = dirname + wxT("/") + jobid + wxT("_") + stepid + wxT("_error.txt"); + #endif + + // Write the script +@@ -233,6 +235,10 @@ int Job::Execute() + file->Close(); + LogMessage(wxString::Format(_("Executing script file: %s"), filename.c_str()), LOG_DEBUG); + ++ // freopen function is used to redirect output of stream (stderr in our case) ++ // into the specified file. ++ FILE *fpError = freopen(errorFile.mb_str(), "w", stderr); ++ + // Execute the file and capture the output + #ifdef __WIN32__ + // The Windows way +@@ -304,6 +310,37 @@ int Job::Execute() + if (rc == 0) + succeeded = true; + ++ // If output is empty then either script did not return any output ++ // or script threw some error into stderr. ++ // Check script threw some error into stderr ++ if (fpError) ++ { ++ //fclose(fpError); ++ FILE* fpErr = fopen(errorFile.mb_str(), "r"); ++ if (fpErr) ++ { ++ char buffer[4098]; ++ wxString errorMsg = wxEmptyString; ++ while (!feof(fpErr)) ++ { ++ if (fgets(buffer, 4096, fpErr) != NULL) ++ errorMsg += wxString(buffer, wxConvLibc); ++ } ++ ++ if (errorMsg != wxEmptyString) { ++ wxString errmsg = ++ wxString::Format( ++ _("Script Error: \n%s\n"), ++ errorMsg.c_str()); ++ LogMessage(errmsg, LOG_WARNING); ++ output += wxT("\n") + errmsg; ++ } ++ ++ fclose(fpErr); ++ } ++ wxRemoveFile(errorFile); ++ } ++ + // Delete the file/directory. If we fail, don't overwrite the script output in the log, just throw warnings. + if (!wxRemoveFile(filename)) + { -- cgit v1.2.3