summaryrefslogtreecommitdiff
path: root/dev-db/pgagent/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-db/pgagent/files
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-db/pgagent/files')
-rw-r--r--dev-db/pgagent/files/add-log-timestamps.patch535
-rw-r--r--dev-db/pgagent/files/fix-dbconn-getlasterror-crash.patch32
-rw-r--r--dev-db/pgagent/files/fix-job-success-test.patch30
-rw-r--r--dev-db/pgagent/files/pgagent.confd22
-rw-r--r--dev-db/pgagent/files/pgagent.initd-r131
-rw-r--r--dev-db/pgagent/files/postgres-10-build-fix.patch52
-rw-r--r--dev-db/pgagent/files/save-stderr-jobstep-output.patch79
7 files changed, 781 insertions, 0 deletions
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 <sanket.mehta@enterprisedb.com>
+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 <unistd.h>
+ #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 <wx/filename.h>
+ #include <wx/ffile.h>
+ #include <fcntl.h>
++void printVersion();
+
+ void usage(const wxString &executable)
+ {
+ wxFileName *fn = new wxFileName(executable);
++ printVersion();
+
+ wxPrintf(_("Usage:\n"));
+ wxPrintf(fn->GetName() + _(" [options] <connect-string>\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 <poll time interval in seconds (default 10)>\n"));
+ wxPrintf(_("-r <retry period after connection abort in seconds (>=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 <serviceName>\n"));
+ wxPrintf(fn->GetName() + _(" INSTALL <serviceName> [options] <connect-string>\n"));
+ wxPrintf(fn->GetName() + _(" DEBUG [options] <connect-string>\n"));
+ wxPrintf(_("options:\n"));
++ wxPrintf(_("-v (display version info and then exit)\n"));
+ wxPrintf(_("-u <user or DOMAIN\\user>\n"));
+ wxPrintf(_("-p <password>\n"));
+ wxPrintf(_("-d <displayname>\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 <ashesh.vashi@enterprisedb.com>
+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 <sanket.mehta@enterprisedb.com>
+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 <ashesh.vashi@enterprisedb.com>
+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 <ashesh.vashi@enterprisedb.com>
+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))
+ {