Compare commits
No commits in common. "c10s" and "c8" have entirely different histories.
18
.gitignore
vendored
18
.gitignore
vendored
@ -1,15 +1,3 @@
|
|||||||
/torque-2.5.2.tar.gz
|
SOURCES/torque-4.2.10.tar.gz
|
||||||
/torque-2.5.3.tar.gz
|
SOURCES/xpbs.png
|
||||||
/torque-2.5.4.tar.gz
|
SOURCES/xpbsmon.png
|
||||||
/torque-2.5.5.tar.gz
|
|
||||||
/torque-2.5.7.tar.gz
|
|
||||||
/torque-3.0.0.tar.gz
|
|
||||||
/torque-3.0.0-snap.201102011355.tar.gz
|
|
||||||
/torque-3.0.1.tar.gz
|
|
||||||
/torque-3.0.2.tar.gz
|
|
||||||
/torque-3.0.3.tar.gz
|
|
||||||
/torque-3.0.4.tar.gz
|
|
||||||
/torque-4.2.6.1.tar.gz
|
|
||||||
/torque-4.2.8.tar.gz
|
|
||||||
/torque-4.2.10.tar.gz
|
|
||||||
/torque-6.1.3.tar.xz
|
|
||||||
|
3
.torque.metadata
Normal file
3
.torque.metadata
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
02819f2d0ed764ebe73ef4094027598326011f3c SOURCES/torque-4.2.10.tar.gz
|
||||||
|
b8c9209803cf2513620aa1c645135d798092ea08 SOURCES/xpbs.png
|
||||||
|
1cfd43ed4bd9be416764e016d6cea202c3021f35 SOURCES/xpbsmon.png
|
@ -1,26 +0,0 @@
|
|||||||
diff --git a/src/server/process_request.c b/src/server/process_request.c
|
|
||||||
index 4817ed0..6b4c955 100644
|
|
||||||
--- a/src/server/process_request.c
|
|
||||||
+++ b/src/server/process_request.c
|
|
||||||
@@ -679,6 +679,21 @@ void process_request(
|
|
||||||
log_buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (svr_conn[sfds].cn_authen != PBS_NET_CONN_FROM_PRIVIL)
|
|
||||||
+ {
|
|
||||||
+ sprintf(log_buffer, "request type %s from host %s rejected (connection not privileged)",
|
|
||||||
+ reqtype_to_txt(request->rq_type),
|
|
||||||
+ request->rq_host);
|
|
||||||
+
|
|
||||||
+ log_record(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, id, log_buffer);
|
|
||||||
+
|
|
||||||
+ req_reject(PBSE_BADHOST, 0, request, NULL, "request not authorized");
|
|
||||||
+
|
|
||||||
+ close_client(sfds);
|
|
||||||
+
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/* if (!tfind(svr_conn[sfds].cn_addr, &okclients)) */
|
|
||||||
if (!AVL_is_in_tree(svr_conn[sfds].cn_addr, 0, okclients))
|
|
||||||
{
|
|
@ -1,411 +0,0 @@
|
|||||||
From 64da0af7ed27284f3397081313850bba270593db Mon Sep 17 00:00:00 2001
|
|
||||||
From: David Beer <dbeer@adaptivecomputing.com>
|
|
||||||
Date: Mon, 11 Nov 2013 11:55:08 -0700
|
|
||||||
Subject: [PATCH] Fix CVE 2013-4495. Note: this patch has been verified as
|
|
||||||
fixing this security hole but has not received other regression testing.
|
|
||||||
|
|
||||||
---
|
|
||||||
src/server/svr_mail.c | 297 ++++++++++++++++++++++++++++++--------------------
|
|
||||||
1 file changed, 178 insertions(+), 119 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/server/svr_mail.c b/src/server/svr_mail.c
|
|
||||||
index 26b6dd7..a776399 100644
|
|
||||||
--- a/src/server/svr_mail.c
|
|
||||||
+++ b/src/server/svr_mail.c
|
|
||||||
@@ -91,6 +91,7 @@
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
+#include <unistd.h>
|
|
||||||
#include "list_link.h"
|
|
||||||
#include "attribute.h"
|
|
||||||
#include "server_limits.h"
|
|
||||||
@@ -98,7 +99,7 @@
|
|
||||||
#include "log.h"
|
|
||||||
#include "server.h"
|
|
||||||
#include "rpp.h"
|
|
||||||
-
|
|
||||||
+#include "utils.h"
|
|
||||||
|
|
||||||
/* External Functions Called */
|
|
||||||
|
|
||||||
@@ -111,21 +112,100 @@ extern struct server server;
|
|
||||||
|
|
||||||
extern int LOGLEVEL;
|
|
||||||
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * write_email()
|
|
||||||
+ *
|
|
||||||
+ * In emailing, the mail body is written to a pipe connected to
|
|
||||||
+ * standard input for sendmail. This function supplies the body
|
|
||||||
+ * of the message.
|
|
||||||
+ *
|
|
||||||
+ */
|
|
||||||
+void write_email(
|
|
||||||
+
|
|
||||||
+ FILE *outmail_input,
|
|
||||||
+ job *pjob,
|
|
||||||
+ char *mailto,
|
|
||||||
+ int mailpoint,
|
|
||||||
+ char *text)
|
|
||||||
+
|
|
||||||
+ {
|
|
||||||
+ char *bodyfmt = NULL;
|
|
||||||
+ char bodyfmtbuf[MAXLINE];
|
|
||||||
+ char *subjectfmt = NULL;
|
|
||||||
+
|
|
||||||
+ /* Pipe in mail headers: To: and Subject: */
|
|
||||||
+ fprintf(outmail_input, "To: %s\n", mailto);
|
|
||||||
+
|
|
||||||
+ /* mail subject line formating statement */
|
|
||||||
+ if ((server.sv_attr[SRV_ATR_MailSubjectFmt].at_flags & ATR_VFLAG_SET) &&
|
|
||||||
+ (server.sv_attr[SRV_ATR_MailSubjectFmt].at_val.at_str != NULL))
|
|
||||||
+ {
|
|
||||||
+ subjectfmt = server.sv_attr[SRV_ATR_MailSubjectFmt].at_val.at_str;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ subjectfmt = "PBS JOB %i";
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ fprintf(outmail_input, "Subject: ");
|
|
||||||
+ svr_format_job(outmail_input, pjob, subjectfmt, mailpoint, text);
|
|
||||||
+ fprintf(outmail_input, "\n");
|
|
||||||
+
|
|
||||||
+ /* Set "Precedence: bulk" to avoid vacation messages, etc */
|
|
||||||
+ fprintf(outmail_input, "Precedence: bulk\n\n");
|
|
||||||
+
|
|
||||||
+ /* mail body formating statement */
|
|
||||||
+ if ((server.sv_attr[SRV_ATR_MailBodyFmt].at_flags & ATR_VFLAG_SET) &&
|
|
||||||
+ (server.sv_attr[SRV_ATR_MailBodyFmt].at_val.at_str != NULL))
|
|
||||||
+ {
|
|
||||||
+ bodyfmt = server.sv_attr[SRV_ATR_MailBodyFmt].at_val.at_str;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ bodyfmt = strcpy(bodyfmtbuf, "PBS Job Id: %i\n"
|
|
||||||
+ "Job Name: %j\n");
|
|
||||||
+ if (pjob->ji_wattr[JOB_ATR_exec_host].at_flags & ATR_VFLAG_SET)
|
|
||||||
+ {
|
|
||||||
+ strcat(bodyfmt, "Exec host: %h\n");
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ strcat(bodyfmt, "%m\n");
|
|
||||||
+
|
|
||||||
+ if (text != NULL)
|
|
||||||
+ {
|
|
||||||
+ strcat(bodyfmt, "%d\n");
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /* Now pipe in the email body */
|
|
||||||
+ svr_format_job(outmail_input, pjob, bodyfmt, mailpoint, text);
|
|
||||||
+ } /* write_email() */
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
void svr_mailowner(
|
|
||||||
|
|
||||||
job *pjob, /* I */
|
|
||||||
- int mailpoint, /* note, single character */
|
|
||||||
+ int mailpoint, /* note, single character */
|
|
||||||
int force, /* if set to MAIL_FORCE, force mail delivery */
|
|
||||||
char *text) /* (optional) additional message text */
|
|
||||||
|
|
||||||
{
|
|
||||||
- char *cmdbuf;
|
|
||||||
- int i;
|
|
||||||
- char *mailfrom;
|
|
||||||
- char mailto[1024];
|
|
||||||
- char *bodyfmt, *subjectfmt;
|
|
||||||
- char bodyfmtbuf[1024];
|
|
||||||
- FILE *outmail;
|
|
||||||
+ int status = 0;
|
|
||||||
+ int numargs = 0;
|
|
||||||
+ int pipes[2];
|
|
||||||
+ int counter;
|
|
||||||
+ pid_t pid;
|
|
||||||
+ char *mailptr;
|
|
||||||
+ char *mailfrom = NULL;
|
|
||||||
+ char tmpBuf[LOG_BUF_SIZE];
|
|
||||||
+ // We call sendmail with cmd_name + 2 arguments + # of mailto addresses + 1 for null
|
|
||||||
+ char *sendmail_args[100];
|
|
||||||
+ char mailto[1024];
|
|
||||||
+ FILE *stream;
|
|
||||||
|
|
||||||
struct array_strings *pas;
|
|
||||||
|
|
||||||
@@ -217,17 +297,12 @@ void svr_mailowner(
|
|
||||||
return; /* its all up to the child now */
|
|
||||||
}
|
|
||||||
|
|
||||||
- /*
|
|
||||||
- * From here on, we are a child process of the server.
|
|
||||||
- * Fix up file descriptors and signal handlers.
|
|
||||||
- */
|
|
||||||
-
|
|
||||||
- rpp_terminate();
|
|
||||||
-
|
|
||||||
- net_close(-1);
|
|
||||||
-
|
|
||||||
+ /* Close the rest of the open file descriptors */
|
|
||||||
+ int numfds = sysconf(_SC_OPEN_MAX);
|
|
||||||
+ while (--numfds > 0)
|
|
||||||
+ close(numfds);
|
|
||||||
+
|
|
||||||
/* Who is mail from, if SRV_ATR_mailfrom not set use default */
|
|
||||||
-
|
|
||||||
if ((mailfrom = server.sv_attr[SRV_ATR_mailfrom].at_val.at_str) == NULL)
|
|
||||||
{
|
|
||||||
if (LOGLEVEL >= 5)
|
|
||||||
@@ -244,19 +319,18 @@ void svr_mailowner(
|
|
||||||
}
|
|
||||||
mailfrom = PBS_DEFAULT_MAIL;
|
|
||||||
}
|
|
||||||
-
|
|
||||||
+
|
|
||||||
/* Who does the mail go to? If mail-list, them; else owner */
|
|
||||||
-
|
|
||||||
*mailto = '\0';
|
|
||||||
|
|
||||||
if (pjob->ji_wattr[JOB_ATR_mailuser].at_flags & ATR_VFLAG_SET)
|
|
||||||
{
|
|
||||||
/* has mail user list, send to them rather than owner */
|
|
||||||
-
|
|
||||||
pas = pjob->ji_wattr[JOB_ATR_mailuser].at_val.at_arst;
|
|
||||||
|
|
||||||
if (pas != NULL)
|
|
||||||
{
|
|
||||||
+ int i;
|
|
||||||
for (i = 0;i < pas->as_usedptr;i++)
|
|
||||||
{
|
|
||||||
if ((strlen(mailto) + strlen(pas->as_string[i]) + 2) < sizeof(mailto))
|
|
||||||
@@ -270,7 +344,6 @@ void svr_mailowner(
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* no mail user list, just send to owner */
|
|
||||||
-
|
|
||||||
if ((server.sv_attr[SRV_ATR_MailDomain].at_flags & ATR_VFLAG_SET) &&
|
|
||||||
(server.sv_attr[SRV_ATR_MailDomain].at_val.at_str != NULL))
|
|
||||||
{
|
|
||||||
@@ -316,135 +389,121 @@ void svr_mailowner(
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- /* mail subject line formating statement */
|
|
||||||
-
|
|
||||||
- if ((server.sv_attr[SRV_ATR_MailSubjectFmt].at_flags & ATR_VFLAG_SET) &&
|
|
||||||
- (server.sv_attr[SRV_ATR_MailSubjectFmt].at_val.at_str != NULL))
|
|
||||||
- {
|
|
||||||
- subjectfmt = server.sv_attr[SRV_ATR_MailSubjectFmt].at_val.at_str;
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
- {
|
|
||||||
- subjectfmt = "PBS JOB %i";
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- /* mail body formating statement */
|
|
||||||
+ sendmail_args[numargs++] = (char *)SENDMAIL_CMD;
|
|
||||||
+ sendmail_args[numargs++] = (char *)"-f";
|
|
||||||
+ sendmail_args[numargs++] = (char *)mailfrom;
|
|
||||||
|
|
||||||
- if ((server.sv_attr[SRV_ATR_MailBodyFmt].at_flags & ATR_VFLAG_SET) &&
|
|
||||||
- (server.sv_attr[SRV_ATR_MailBodyFmt].at_val.at_str != NULL))
|
|
||||||
- {
|
|
||||||
- bodyfmt = server.sv_attr[SRV_ATR_MailBodyFmt].at_val.at_str;
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
+ /* Add the e-mail addresses to the command line */
|
|
||||||
+ mailptr = strdup(mailto);
|
|
||||||
+ sendmail_args[numargs++] = mailptr;
|
|
||||||
+ for (counter=0; counter < (int)strlen(mailptr); counter++)
|
|
||||||
{
|
|
||||||
- bodyfmt = strcpy(bodyfmtbuf, "PBS Job Id: %i\n"
|
|
||||||
- "Job Name: %j\n");
|
|
||||||
- if (pjob->ji_wattr[JOB_ATR_exec_host].at_flags & ATR_VFLAG_SET)
|
|
||||||
- {
|
|
||||||
- strcat(bodyfmt, "Exec host: %h\n");
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- strcat(bodyfmt, "%m\n");
|
|
||||||
-
|
|
||||||
- if (text != NULL)
|
|
||||||
+ if (mailptr[counter] == ',')
|
|
||||||
{
|
|
||||||
- strcat(bodyfmt, "%d\n");
|
|
||||||
+ mailptr[counter] = '\0';
|
|
||||||
+ sendmail_args[numargs++] = mailptr + counter + 1;
|
|
||||||
+ if (numargs >= 99)
|
|
||||||
+ break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
- /* setup sendmail command line with -f from_whom */
|
|
||||||
-
|
|
||||||
- i = strlen(SENDMAIL_CMD) + strlen(mailfrom) + strlen(mailto) + 6;
|
|
||||||
|
|
||||||
- if ((cmdbuf = malloc(i)) == NULL)
|
|
||||||
+ sendmail_args[numargs] = NULL;
|
|
||||||
+
|
|
||||||
+ /* Create a pipe to talk to the sendmail process we are about to fork */
|
|
||||||
+ if (pipe(pipes) == -1)
|
|
||||||
{
|
|
||||||
- char tmpBuf[LOG_BUF_SIZE];
|
|
||||||
-
|
|
||||||
- snprintf(tmpBuf,sizeof(tmpBuf),
|
|
||||||
- "Unable to popen() command '%s' for writing: '%s' (error %d)\n",
|
|
||||||
- cmdbuf,
|
|
||||||
- strerror(errno),
|
|
||||||
- errno);
|
|
||||||
+ snprintf(tmpBuf, sizeof(tmpBuf), "Unable to pipes for sending e-mail\n");
|
|
||||||
log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB,
|
|
||||||
PBS_EVENTCLASS_JOB,
|
|
||||||
pjob->ji_qs.ji_jobid,
|
|
||||||
tmpBuf);
|
|
||||||
|
|
||||||
- exit(1);
|
|
||||||
+ free(mailptr);
|
|
||||||
+ exit(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
- sprintf(cmdbuf, "%s -f %s %s",
|
|
||||||
-
|
|
||||||
- SENDMAIL_CMD,
|
|
||||||
- mailfrom,
|
|
||||||
- mailto);
|
|
||||||
-
|
|
||||||
- outmail = (FILE *)popen(cmdbuf, "w");
|
|
||||||
-
|
|
||||||
- if (outmail == NULL)
|
|
||||||
+ if ((pid=fork()) == -1)
|
|
||||||
{
|
|
||||||
- char tmpBuf[LOG_BUF_SIZE];
|
|
||||||
-
|
|
||||||
- snprintf(tmpBuf,sizeof(tmpBuf),
|
|
||||||
- "Unable to popen() command '%s' for writing: '%s' (error %d)\n",
|
|
||||||
- cmdbuf,
|
|
||||||
- strerror(errno),
|
|
||||||
- errno);
|
|
||||||
+ snprintf(tmpBuf, sizeof(tmpBuf), "Unable to fork for sending e-mail\n");
|
|
||||||
log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB,
|
|
||||||
PBS_EVENTCLASS_JOB,
|
|
||||||
pjob->ji_qs.ji_jobid,
|
|
||||||
tmpBuf);
|
|
||||||
|
|
||||||
+ free(mailptr);
|
|
||||||
+ close(pipes[0]);
|
|
||||||
+ close(pipes[1]);
|
|
||||||
+ exit(-1);
|
|
||||||
+ }
|
|
||||||
+ else if (pid == 0)
|
|
||||||
+ {
|
|
||||||
+ /* CHILD */
|
|
||||||
+
|
|
||||||
+ /* Make stdin the read end of the pipe */
|
|
||||||
+ dup2(pipes[0], 0);
|
|
||||||
+
|
|
||||||
+ /* Close the rest of the open file descriptors */
|
|
||||||
+ int numfds = sysconf(_SC_OPEN_MAX);
|
|
||||||
+ while (--numfds > 0)
|
|
||||||
+ close(numfds);
|
|
||||||
+
|
|
||||||
+ execv(SENDMAIL_CMD, sendmail_args);
|
|
||||||
+ /* This never returns, but if the execv fails the child should exit */
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ /* This is the parent */
|
|
||||||
|
|
||||||
- /* Pipe in mail headers: To: and Subject: */
|
|
||||||
+ /* Close the read end of the pipe */
|
|
||||||
+ close(pipes[0]);
|
|
||||||
|
|
||||||
- fprintf(outmail, "To: %s\n",
|
|
||||||
- mailto);
|
|
||||||
+ /* Write the body to the pipe */
|
|
||||||
+ stream = fdopen(pipes[1], "w");
|
|
||||||
+ write_email(stream, pjob, mailto, mailpoint, text);
|
|
||||||
|
|
||||||
- fprintf(outmail, "Subject: ");
|
|
||||||
- svr_format_job(outmail, pjob, subjectfmt, mailpoint, text);
|
|
||||||
- fprintf(outmail, "\n");
|
|
||||||
+ fflush(stream);
|
|
||||||
|
|
||||||
- /* Set "Precedence: bulk" to avoid vacation messages, etc */
|
|
||||||
+ /* Close and wait for the command to finish */
|
|
||||||
+ if (fclose(stream) != 0)
|
|
||||||
+ {
|
|
||||||
+ snprintf(tmpBuf,sizeof(tmpBuf),
|
|
||||||
+ "Piping mail body to sendmail closed: errno %d:%s\n",
|
|
||||||
+ errno, strerror(errno));
|
|
||||||
|
|
||||||
- fprintf(outmail, "Precedence: bulk\n\n");
|
|
||||||
+ log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB,
|
|
||||||
+ PBS_EVENTCLASS_JOB,
|
|
||||||
+ pjob->ji_qs.ji_jobid,
|
|
||||||
+ tmpBuf);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- /* Now pipe in the email body */
|
|
||||||
- svr_format_job(outmail, pjob, bodyfmt, mailpoint, text);
|
|
||||||
+ // we aren't going to block in order to find out whether or not sendmail worked
|
|
||||||
+ if ((waitpid(pid, &status, WNOHANG) != 0) &&
|
|
||||||
+ (status != 0))
|
|
||||||
+ {
|
|
||||||
+ snprintf(tmpBuf,sizeof(tmpBuf),
|
|
||||||
+ "Sendmail command returned %d. Mail may not have been sent\n",
|
|
||||||
+ status);
|
|
||||||
|
|
||||||
- errno = 0;
|
|
||||||
- if ((i = pclose(outmail)) != 0)
|
|
||||||
- {
|
|
||||||
- char tmpBuf[LOG_BUF_SIZE];
|
|
||||||
+ log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB,
|
|
||||||
+ PBS_EVENTCLASS_JOB,
|
|
||||||
+ pjob->ji_qs.ji_jobid,
|
|
||||||
+ tmpBuf);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
- snprintf(tmpBuf,sizeof(tmpBuf),
|
|
||||||
- "Email '%c' to %s failed: Child process '%s' %s %d (errno %d:%s)\n",
|
|
||||||
- mailpoint,
|
|
||||||
- mailto,
|
|
||||||
- cmdbuf,
|
|
||||||
- ((WIFEXITED(i)) ? ("returned") : ((WIFSIGNALED(i)) ? ("killed by signal") : ("croaked"))),
|
|
||||||
- ((WIFEXITED(i)) ? (WEXITSTATUS(i)) : ((WIFSIGNALED(i)) ? (WTERMSIG(i)) : (i))),
|
|
||||||
- errno,
|
|
||||||
- strerror(errno));
|
|
||||||
- log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB,
|
|
||||||
- PBS_EVENTCLASS_JOB,
|
|
||||||
- pjob->ji_qs.ji_jobid,
|
|
||||||
- tmpBuf);
|
|
||||||
- }
|
|
||||||
- else if (LOGLEVEL >= 4)
|
|
||||||
- {
|
|
||||||
- log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB,
|
|
||||||
- PBS_EVENTCLASS_JOB,
|
|
||||||
- pjob->ji_qs.ji_jobid,
|
|
||||||
- "Email sent successfully\n");
|
|
||||||
+ // don't leave zombies
|
|
||||||
+ while (waitpid(-1, &status, WNOHANG) != 0)
|
|
||||||
+ {
|
|
||||||
+ // zombie reaped, NO-OP
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ free(mailptr);
|
|
||||||
+ exit(0);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ /* NOT REACHED */
|
|
||||||
|
|
||||||
exit(0);
|
|
||||||
-
|
|
||||||
- /*NOTREACHED*/
|
|
||||||
-
|
|
||||||
- return;
|
|
||||||
} /* END svr_mailowner() */
|
|
||||||
|
|
||||||
/* END svr_mail.c */
|
|
@ -15,9 +15,6 @@
|
|||||||
# that $PBS_SERVER_HOME/server_name contains the correct hostname.
|
# that $PBS_SERVER_HOME/server_name contains the correct hostname.
|
||||||
%global server_name localhost
|
%global server_name localhost
|
||||||
|
|
||||||
# The script checks uname -m to determine architecture
|
|
||||||
%global uname_m_arch %(uname -m)
|
|
||||||
|
|
||||||
# Build doxygen docs
|
# Build doxygen docs
|
||||||
%global doxydoc 1
|
%global doxydoc 1
|
||||||
|
|
||||||
@ -73,16 +70,10 @@
|
|||||||
%global server_nameflags --with-default-server=%{server_name}
|
%global server_nameflags --with-default-server=%{server_name}
|
||||||
|
|
||||||
Name: torque
|
Name: torque
|
||||||
Version: 6.1.3
|
Version: 4.2.10
|
||||||
Release: 13%{?dist}
|
Release: 25%{?dist}
|
||||||
Summary: Tera-scale Open-source Resource and QUEue manager
|
Summary: Tera-scale Open-source Resource and QUEue manager
|
||||||
# Source0: http://www.adaptivecomputing.com/download/%%{name}/%%{name}-%%{version}.tar.gz
|
Source0: http://www.adaptivecomputing.com/download/%{name}/%{name}-%{version}.tar.gz
|
||||||
# git clone https://github.com/adaptivecomputing/torque.git
|
|
||||||
# cd torque
|
|
||||||
# git checkout 6.1.3
|
|
||||||
# cd ..
|
|
||||||
# tar cvfJ torque-6.1.3.tar.xz torque/
|
|
||||||
Source0: %{name}-%{version}.tar.xz
|
|
||||||
Source2: xpbs.desktop
|
Source2: xpbs.desktop
|
||||||
Source3: xpbsmon.desktop
|
Source3: xpbsmon.desktop
|
||||||
Source4: xpbs.png
|
Source4: xpbs.png
|
||||||
@ -104,27 +95,14 @@ Source100: pbs-config
|
|||||||
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=713996
|
# https://bugzilla.redhat.com/show_bug.cgi?id=713996
|
||||||
Patch1: torque-munge-size.patch
|
Patch1: torque-munge-size.patch
|
||||||
Patch2: torque-6.1.3-port-args.patch
|
Patch2: torque-%{version}-port-args.patch
|
||||||
# Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1424149
|
# Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1424149
|
||||||
# Patch3: torque-4.2.10-fix-bad-crypto-check.patch
|
Patch3: torque-%{version}-fix-bad-crypto-check.patch
|
||||||
# Use system jsoncpp
|
# From https://github.com/adaptivecomputing/torque/pull/148
|
||||||
Patch4: torque-6.1.3-system-jsoncpp.patch
|
Patch4: torque-%{version}-remove-unused-header.patch
|
||||||
# Include stdbool.h to build pbs-drmaa
|
|
||||||
Patch5: torque-6.1.3-bool-fix.patch
|
|
||||||
# Some fixes for modern autoconf
|
|
||||||
# I got it far enough to work again and ran away screaming
|
|
||||||
Patch6: torque-6.1.3-autoconf-fixes.patch
|
|
||||||
|
|
||||||
|
License: OpenPBS and TORQUEv1.1
|
||||||
# src/drmaa/ is LGPL-2.1-or-later
|
URL: http://www.adaptivecomputing.com/products/open-source/torque/
|
||||||
# src/drmaa/src/lookup3.c is LicenseRef-Fedora-Public-Domain
|
|
||||||
# src/include/md5.h and src/lib/Libnet/md5.c are RSA-MD
|
|
||||||
# RSA-MD is not listed per https://docs.fedoraproject.org/en-US/legal/misc/#_licensing_of_rsa_implementations_of_md5
|
|
||||||
# src/include/json/json-forwards.h is (LicenseRef-Fedora-Public-Domain OR MIT)
|
|
||||||
# src/mom_rcp/extern.h is BSD-4-Clause-UC
|
|
||||||
License: OpenPBS-2.3 AND TORQUE-1.1 AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND (LicenseRef-Fedora-Public-Domain OR MIT) AND BSD-4-Clause-UC
|
|
||||||
URL: https://github.com/adaptivecomputing/torque/
|
|
||||||
BuildRequires: make
|
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
BuildRequires: pam-devel
|
BuildRequires: pam-devel
|
||||||
@ -136,9 +114,6 @@ BuildRequires: openssl-devel
|
|||||||
BuildRequires: hwloc-devel
|
BuildRequires: hwloc-devel
|
||||||
BuildRequires: libxml2-devel
|
BuildRequires: libxml2-devel
|
||||||
BuildRequires: munge-devel
|
BuildRequires: munge-devel
|
||||||
BuildRequires: autoconf, automake, libtool
|
|
||||||
BuildRequires: jsoncpp-devel, boost-devel
|
|
||||||
|
|
||||||
%if %{use_tcl}
|
%if %{use_tcl}
|
||||||
BuildRequires: tcl-devel
|
BuildRequires: tcl-devel
|
||||||
%endif
|
%endif
|
||||||
@ -173,14 +148,9 @@ BuildRequires: tex-adjustbox
|
|||||||
BuildRequires: tex(latex)
|
BuildRequires: tex(latex)
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: tex(etoc.sty)
|
|
||||||
BuildRequires: tex(hanging.sty)
|
|
||||||
BuildRequires: tex(listofitems.sty)
|
|
||||||
BuildRequires: tex(newunicodechar.sty)
|
|
||||||
BuildRequires: tex(stackengine.sty)
|
|
||||||
BuildRequires: tex(ulem.sty)
|
|
||||||
|
|
||||||
Requires: munge
|
Requires: munge
|
||||||
|
Requires: torque-libs = %{version}-%{release}
|
||||||
Requires(post): %{_bindir}/grep %{_bindir}/cat /etc/services
|
Requires(post): %{_bindir}/grep %{_bindir}/cat /etc/services
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -195,7 +165,7 @@ This package holds just a few shared files and directories.
|
|||||||
|
|
||||||
%package client
|
%package client
|
||||||
Summary: Client part of TORQUE
|
Summary: Client part of TORQUE
|
||||||
Requires: torque-libs%{_isa} = %{version}-%{release}
|
Requires: %{name}-libs = %{version}-%{release}
|
||||||
Requires(posttrans): %{_sbindir}/alternatives
|
Requires(posttrans): %{_sbindir}/alternatives
|
||||||
Requires(preun): %{_sbindir}/alternatives
|
Requires(preun): %{_sbindir}/alternatives
|
||||||
|
|
||||||
@ -227,7 +197,7 @@ This package holds the documentation files.
|
|||||||
%package gui
|
%package gui
|
||||||
Summary: Graphical clients for TORQUE
|
Summary: Graphical clients for TORQUE
|
||||||
Requires: torque-client = %{version}-%{release}
|
Requires: torque-client = %{version}-%{release}
|
||||||
Requires: torque-libs%{_isa} = %{version}-%{release}
|
Requires: torque-libs = %{version}-%{release}
|
||||||
|
|
||||||
%description gui
|
%description gui
|
||||||
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
|
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
|
||||||
@ -244,7 +214,6 @@ Summary: Run-time libs for programs which will use the %{name} library
|
|||||||
Requires: munge
|
Requires: munge
|
||||||
Obsoletes: libtorque < 2.4.8-2
|
Obsoletes: libtorque < 2.4.8-2
|
||||||
Provides: libtorque = %{version}-%{release}
|
Provides: libtorque = %{version}-%{release}
|
||||||
Requires: torque-libs%{_isa} = %{version}-%{release}
|
|
||||||
Requires: munge
|
Requires: munge
|
||||||
|
|
||||||
%description libs
|
%description libs
|
||||||
@ -260,7 +229,7 @@ programs.
|
|||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development tools for programs which will use the %{name} library
|
Summary: Development tools for programs which will use the %{name} library
|
||||||
Requires: torque-libs%{_isa} = %{version}-%{release}
|
Requires: torque-libs = %{version}-%{release}
|
||||||
Obsoletes: libtorque-devel < 2.4.8-2
|
Obsoletes: libtorque-devel < 2.4.8-2
|
||||||
Provides: libtorque-devel = %{version}-%{release}
|
Provides: libtorque-devel = %{version}-%{release}
|
||||||
|
|
||||||
@ -277,7 +246,7 @@ necessary for developing programs which will use %{name}.
|
|||||||
|
|
||||||
%package mom
|
%package mom
|
||||||
Summary: Node execution daemon for TORQUE
|
Summary: Node execution daemon for TORQUE
|
||||||
Requires: torque-libs%{_isa} = %{version}-%{release}
|
Requires: torque-libs = %{version}-%{release}
|
||||||
Requires: munge
|
Requires: munge
|
||||||
%if ! %{use_rcp}
|
%if ! %{use_rcp}
|
||||||
Requires: openssh-clients
|
Requires: openssh-clients
|
||||||
@ -318,7 +287,7 @@ A simple PAM module to authorize users on PBS MOM nodes with a running job.
|
|||||||
|
|
||||||
%package scheduler
|
%package scheduler
|
||||||
Summary: Simple fifo scheduler for TORQUE
|
Summary: Simple fifo scheduler for TORQUE
|
||||||
Requires: torque-libs%{_isa} = %{version}-%{release}
|
Requires: torque-libs = %{version}-%{release}
|
||||||
%if 0%{?rhel} >= 7 || 0%{?fedora}
|
%if 0%{?rhel} >= 7 || 0%{?fedora}
|
||||||
Requires(posttrans): systemd
|
Requires(posttrans): systemd
|
||||||
Requires(preun): systemd
|
Requires(preun): systemd
|
||||||
@ -340,7 +309,7 @@ This package holds the fifo C scheduler.
|
|||||||
|
|
||||||
%package server
|
%package server
|
||||||
Summary: The main part of TORQUE
|
Summary: The main part of TORQUE
|
||||||
Requires: torque-libs%{_isa} = %{version}-%{release}
|
Requires: torque-libs = %{version}-%{release}
|
||||||
Requires: munge
|
Requires: munge
|
||||||
%if ! %{use_rcp}
|
%if ! %{use_rcp}
|
||||||
Requires: openssh-server
|
Requires: openssh-server
|
||||||
@ -366,7 +335,7 @@ This package holds the server.
|
|||||||
|
|
||||||
%package drmaa
|
%package drmaa
|
||||||
Summary: Run time files for the drmaa interface
|
Summary: Run time files for the drmaa interface
|
||||||
Requires: torque-libs%{_isa} = %{version}-%{release}
|
Requires: torque-libs = %{version}-%{release}
|
||||||
|
|
||||||
%description drmaa
|
%description drmaa
|
||||||
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
|
TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource
|
||||||
@ -398,19 +367,16 @@ DRMAA is "Distributed Resource Management Application API"
|
|||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n torque
|
%setup -q -n torque-%{version}
|
||||||
%patch1 -p 1 -b .munge-size
|
%patch1 -p 1
|
||||||
%patch2 -p 1 -b .port-args
|
%patch2 -p 1
|
||||||
# %%patch3 -p 0 -b .fix-bad-crypto-check
|
%patch3 -p 0
|
||||||
%patch4 -p1 -b .system-jsoncpp
|
%patch4 -p 1
|
||||||
%patch5 -p1 -b .bool-fix
|
|
||||||
%patch6 -p1 -b .cleanup
|
|
||||||
rm -rf src/lib/Libutils/jsoncpp.cpp src/include/json
|
|
||||||
sed -i '/LATEX_BATCHMODE/d' src/drmaa/Doxyfile.in
|
sed -i '/LATEX_BATCHMODE/d' src/drmaa/Doxyfile.in
|
||||||
install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} \
|
install -pm 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} \
|
||||||
%{SOURCE6} %{SOURCE8} .
|
%{SOURCE6} %{SOURCE8} .
|
||||||
|
# rm x bit on some documentation.
|
||||||
autoreconf -ifv
|
chmod 644 torque.setup
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# -fpermissive added to downgrade numerous 'invalid conversion' errors to warnings
|
# -fpermissive added to downgrade numerous 'invalid conversion' errors to warnings
|
||||||
@ -423,11 +389,7 @@ CFLAGS="%{optflags} -DUSE_INTERP_RESULT -DUSE_INTERP_ERRORLINE -fpermissive"
|
|||||||
--enable-cpuset --enable-numa-support \
|
--enable-cpuset --enable-numa-support \
|
||||||
%{server_nameflags} %{guiflags} %{tclflags} %{rcpflags}
|
%{server_nameflags} %{guiflags} %{tclflags} %{rcpflags}
|
||||||
|
|
||||||
# This codebase is a hot mess and that is the nice way of putting it.
|
make %{?_smp_mflags}
|
||||||
# If you are reading this, you might want to consider other options.
|
|
||||||
# But if you have no other options, know this:
|
|
||||||
# All of the files inside here are C++ despite their naming.
|
|
||||||
make %{?_smp_mflags} CC=g++
|
|
||||||
|
|
||||||
for daemon in pbs_mom pbs_sched pbs_server trqauthd
|
for daemon in pbs_mom pbs_sched pbs_server trqauthd
|
||||||
do
|
do
|
||||||
@ -440,15 +402,6 @@ done
|
|||||||
%install
|
%install
|
||||||
make DESTDIR=%{buildroot} INSTALL="install -p" install
|
make DESTDIR=%{buildroot} INSTALL="install -p" install
|
||||||
|
|
||||||
%if %{doxydoc}
|
|
||||||
# spit and bailing wire.
|
|
||||||
# make the drmaa docs and install the manpages.
|
|
||||||
pushd src/drmaa
|
|
||||||
doxygen
|
|
||||||
install -p doc/man/man3/*.3 %{buildroot}%{_mandir}/man3/
|
|
||||||
popd
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# remove files we don't need
|
# remove files we don't need
|
||||||
rm -f %{buildroot}%{_libdir}/*.la
|
rm -f %{buildroot}%{_libdir}/*.la
|
||||||
rm -f %{buildroot}%{_libdir}/*/buildindex
|
rm -f %{buildroot}%{_libdir}/*/buildindex
|
||||||
@ -462,9 +415,6 @@ install -p -m 644 %{SOURCE20} %{buildroot}%{_unitdir}/
|
|||||||
install -p -m 644 %{SOURCE21} %{buildroot}%{_unitdir}/
|
install -p -m 644 %{SOURCE21} %{buildroot}%{_unitdir}/
|
||||||
install -p -m 644 %{SOURCE22} %{buildroot}%{_unitdir}/
|
install -p -m 644 %{SOURCE22} %{buildroot}%{_unitdir}/
|
||||||
install -p -m 644 %{SOURCE23} %{buildroot}%{_unitdir}/
|
install -p -m 644 %{SOURCE23} %{buildroot}%{_unitdir}/
|
||||||
|
|
||||||
# modern torque tries to help install the old initscripts. flush em.
|
|
||||||
rm -rf %{buildroot}%{_sysconfdir}/init.d
|
|
||||||
%else
|
%else
|
||||||
# install initscripts
|
# install initscripts
|
||||||
mkdir -p %{buildroot}%{_initrddir}
|
mkdir -p %{buildroot}%{_initrddir}
|
||||||
@ -543,6 +493,18 @@ ln -s %{_var}/log/torque/server_logs .
|
|||||||
popd
|
popd
|
||||||
|
|
||||||
|
|
||||||
|
# Move drmaa man pages to correct place
|
||||||
|
# and delete the three copies of the same documentation.
|
||||||
|
|
||||||
|
%if 0%{?doxydoc}
|
||||||
|
rm -f %{buildroot}%{_defaultdocdir}/torque-drmaa/man/man3/*_src_drmaa_src_.3
|
||||||
|
mv %{buildroot}%{_defaultdocdir}/torque-drmaa/man/man3/* %{buildroot}%{_mandir}/man3/.
|
||||||
|
rm -rf %{buildroot}%{_defaultdocdir}/torque-drmaa/html/*
|
||||||
|
rm -rf %{buildroot}%{_defaultdocdir}/torque-drmaa/latex/*
|
||||||
|
# Include drmaa.pdf later from the src tree.
|
||||||
|
rm %{buildroot}%{_defaultdocdir}/torque-drmaa/drmaa.pdf
|
||||||
|
%endif
|
||||||
|
|
||||||
#Remove man page for binary that is not included.
|
#Remove man page for binary that is not included.
|
||||||
rm %{buildroot}%{_mandir}/man1/basl2c.1
|
rm %{buildroot}%{_mandir}/man1/basl2c.1
|
||||||
|
|
||||||
@ -550,18 +512,9 @@ rm %{buildroot}%{_mandir}/man1/basl2c.1
|
|||||||
chmod 755 `find %{buildroot}/var/lib/torque -type d`
|
chmod 755 `find %{buildroot}/var/lib/torque -type d`
|
||||||
|
|
||||||
# Use wrapper script for pbs-config and rename original script to include architecture name
|
# Use wrapper script for pbs-config and rename original script to include architecture name
|
||||||
mv %{buildroot}%{_bindir}/pbs-config %{buildroot}%{_bindir}/pbs-config-%{uname_m_arch}
|
mv %{buildroot}%{_bindir}/pbs-config %{buildroot}%{_bindir}/pbs-config-%{_arch}
|
||||||
install -m0755 -p %{SOURCE100} %{buildroot}%{_bindir}/pbs-config
|
install -m0755 -p %{SOURCE100} %{buildroot}%{_bindir}/pbs-config
|
||||||
|
|
||||||
# We do not need a ld.so.conf.d file to point to %%{_libdir}
|
|
||||||
rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d
|
|
||||||
|
|
||||||
# We also do not need profile.d files to put /usr/bin and /usr/sbin in the path
|
|
||||||
rm -rf %{buildroot}%{_sysconfdir}/profile.d
|
|
||||||
|
|
||||||
# It also installs a ton of binary stuff under /usr/share/doc/torque-drmaa that is not useful
|
|
||||||
rm -rf %{buildroot}%{_datadir}/doc/torque-drmaa
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
# fix mistake in previous release
|
# fix mistake in previous release
|
||||||
sed -i '/pbs_mon/D' /etc/services
|
sed -i '/pbs_mon/D' /etc/services
|
||||||
@ -775,7 +728,7 @@ fi
|
|||||||
%files docs
|
%files docs
|
||||||
%doc doc/admin_guide.ps
|
%doc doc/admin_guide.ps
|
||||||
%if 0%{?doxydoc}
|
%if 0%{?doxydoc}
|
||||||
# %%doc src/drmaa/doc/drmaa.pdf
|
%doc src/drmaa/drmaa.pdf
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{build_gui}
|
%if %{build_gui}
|
||||||
@ -799,7 +752,7 @@ fi
|
|||||||
%{_includedir}/torque
|
%{_includedir}/torque
|
||||||
%exclude %{_includedir}/torque/drmaa.h
|
%exclude %{_includedir}/torque/drmaa.h
|
||||||
%{_bindir}/pbs-config
|
%{_bindir}/pbs-config
|
||||||
%{_bindir}/pbs-config-%{uname_m_arch}
|
%{_bindir}/pbs-config-%{_arch}
|
||||||
%{_mandir}/man3/pbs_alterjob.3.*
|
%{_mandir}/man3/pbs_alterjob.3.*
|
||||||
%{_mandir}/man3/pbs_connect.3.*
|
%{_mandir}/man3/pbs_connect.3.*
|
||||||
%{_mandir}/man3/pbs_default.3.*
|
%{_mandir}/man3/pbs_default.3.*
|
||||||
@ -906,14 +859,21 @@ fi
|
|||||||
%{_mandir}/man3/compat.h.3.*
|
%{_mandir}/man3/compat.h.3.*
|
||||||
%{_mandir}/man3/drmaa.3.*
|
%{_mandir}/man3/drmaa.3.*
|
||||||
%{_mandir}/man3/drmaa.h.3.*
|
%{_mandir}/man3/drmaa.h.3.*
|
||||||
|
%{_mandir}/man3/drmaa_attr_names_s.3.*
|
||||||
|
%{_mandir}/man3/drmaa_attr_values_s.3.*
|
||||||
%{_mandir}/man3/drmaa_attrib.3.*
|
%{_mandir}/man3/drmaa_attrib.3.*
|
||||||
%{_mandir}/man3/drmaa_attrib_info_s.3.*
|
%{_mandir}/man3/drmaa_attrib_info_s.3.*
|
||||||
|
%{_mandir}/man3/drmaa_submission_context_s.3.*
|
||||||
|
%{_mandir}/man3/drmaa_job_ids_s.3.*
|
||||||
%{_mandir}/man3/drmaa_def_attr_s.3.*
|
%{_mandir}/man3/drmaa_def_attr_s.3.*
|
||||||
|
%{_mandir}/man3/pbs_attrib.3.*
|
||||||
|
%{_mandir}/man3/drmaa_viter.3.*
|
||||||
%{_mandir}/man3/drmaa_job_iter_s.3.*
|
%{_mandir}/man3/drmaa_job_iter_s.3.*
|
||||||
%{_mandir}/man3/drmaa_job_s.3.*
|
%{_mandir}/man3/drmaa_job_s.3.*
|
||||||
|
%{_mandir}/man3/drmaa_job_template_s.3.*
|
||||||
%{_mandir}/man3/drmaa_jobt.3.*
|
%{_mandir}/man3/drmaa_jobt.3.*
|
||||||
%{_mandir}/man3/drmaa_viter.3.*
|
%{_mandir}/man3/drmaa_session.3.*
|
||||||
%{_mandir}/man3/pbs_attrib.3.*
|
%{_mandir}/man3/drmaa_session_s.3.*
|
||||||
%{_mandir}/man3/error.h.3.*
|
%{_mandir}/man3/error.h.3.*
|
||||||
%{_mandir}/man3/jobs.3.*
|
%{_mandir}/man3/jobs.3.*
|
||||||
%{_mandir}/man3/jobs.h.3.*
|
%{_mandir}/man3/jobs.h.3.*
|
||||||
@ -921,86 +881,16 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Dec 18 2024 Kamal Heib <kheib@redhat.com> - 6.1.3-13
|
* Wed Jul 08 2020 Honggang Li <honli@redhat.com> - 4.2.10-25
|
||||||
- Fix rpminspect issue
|
- Rebase to latest Fedora release
|
||||||
Resolves: RHEL-70711
|
- Fix file conflicts in torque-devel multilib packages
|
||||||
|
- Resolve: bz1853167
|
||||||
|
|
||||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 6.1.3-12
|
* Fri Jun 07 2019 Jarod Wilson <jarod@redhat.com> - 4.2.10-19
|
||||||
- Bump release for October 2024 mass rebuild:
|
- Put pbs-config in base pkg where it belongs instead of -devel
|
||||||
Resolves: RHEL-64018
|
|
||||||
|
|
||||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 6.1.3-11
|
* Fri May 31 2019 Jarod Wilson <jarod@redhat.com> - 4.2.10-18
|
||||||
- Bump release for June 2024 mass rebuild
|
- Rebuild for CI testing
|
||||||
|
|
||||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.3-10
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.3-9
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.3-8
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.3-7
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.3-6
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Nov 03 2021 Björn Esser <besser82@fedoraproject.org> - 6.1.3-5
|
|
||||||
- Rebuild (jsoncpp)
|
|
||||||
|
|
||||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.3-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Apr 13 2021 Tom Callaway <spot@fedoraproject.org> - 6.1.3-3
|
|
||||||
- "fixed" the autotooling
|
|
||||||
|
|
||||||
* Mon Feb 1 2021 Tom Callaway <spot@fedoraproject.org> - 6.1.3-2
|
|
||||||
- adjust URL to point to github (old url is dead)
|
|
||||||
|
|
||||||
* Fri Jan 29 2021 Tom Callaway <spot@fedoraproject.org> - 6.1.3-1
|
|
||||||
- update to 6.1.3
|
|
||||||
|
|
||||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.10-30
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Aug 10 2020 Tom Callaway <spot@fedoraproject.org> - 4.2.10-29
|
|
||||||
- use %%uname_m_arch to ensure exact matching
|
|
||||||
|
|
||||||
* Mon Aug 10 2020 Tom Callaway <spot@fedoraproject.org> - 4.2.10-28
|
|
||||||
- using "%%{_arch}" resulted in a mismatch with uname -m on i386.
|
|
||||||
switched to "%%{_target_cpu}"
|
|
||||||
|
|
||||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.10-27
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jul 9 2020 Tom Callaway <spot@fedoraproject.org> - 4.2.10-26
|
|
||||||
- improve -libs Requires
|
|
||||||
|
|
||||||
* Thu Jul 2 2020 Tom Callaway <spot@fedoraproject.org> - 4.2.10-25
|
|
||||||
- resolve multilib conflict on pbs-config script
|
|
||||||
|
|
||||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.10-24
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Sep 3 2019 Tom Callaway <spot@fedoraproject.org> - 4.2.10-23
|
|
||||||
- revive
|
|
||||||
|
|
||||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.10-22
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
||||||
|
|
||||||
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.10-21
|
|
||||||
- Rebuild for readline 8.0
|
|
||||||
|
|
||||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.10-20
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Oct 15 2018 Peter Robinson <pbrobinson@fedoraproject.org> 4.2.10-19
|
|
||||||
- Adjust dependencies for install requirements, few cleanups
|
|
||||||
|
|
||||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.2.10-18
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Feb 07 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.10-17
|
* Wed Feb 07 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 4.2.10-17
|
||||||
- Remove old Requires
|
- Remove old Requires
|
@ -1,103 +0,0 @@
|
|||||||
#! /bin/sh
|
|
||||||
|
|
||||||
package="pbs"
|
|
||||||
version="2.3.8"
|
|
||||||
|
|
||||||
prefix="/usr"
|
|
||||||
exec_prefix="/usr"
|
|
||||||
bindir="/usr/bin"
|
|
||||||
sbindir="/usr/sbin"
|
|
||||||
libexecdir="/usr/libexec"
|
|
||||||
datadir="/usr/share"
|
|
||||||
sysconfdir="/etc"
|
|
||||||
sharedstatedir="/usr/com"
|
|
||||||
localstatedir="/var"
|
|
||||||
infodir="/usr/share/info"
|
|
||||||
mandir="/usr/share/man"
|
|
||||||
includedir="/usr/include/torque"
|
|
||||||
libs="-ltorque"
|
|
||||||
|
|
||||||
if test "$#" -eq 0; then
|
|
||||||
cat <<EOF
|
|
||||||
Usage: $package-config OPTIONS
|
|
||||||
Options:
|
|
||||||
--prefix=DIR) : \$prefix
|
|
||||||
--package) : \$package
|
|
||||||
--version) : \$version
|
|
||||||
--cflags) : -I\$includedir
|
|
||||||
--libs) : \$libs
|
|
||||||
--help) print all the options (not just these)
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
o=""
|
|
||||||
h=""
|
|
||||||
for i in "$@"; do
|
|
||||||
case $i in
|
|
||||||
--prefix=*) prefix=`echo $i | sed -e "s/--prefix=//"` ;;
|
|
||||||
--prefix) o="$o $prefix" ;;
|
|
||||||
--package) o="$o $package" ;;
|
|
||||||
--version) o="$o $version" ;;
|
|
||||||
--cflags) if test "_$includedir" != "_/usr/include"
|
|
||||||
then o="$o -I$includedir" ; fi
|
|
||||||
;;
|
|
||||||
--libs) o="$o $libs" ;;
|
|
||||||
--exec_prefix|--eprefix) o="$o $exec_prefix" ;;
|
|
||||||
--bindir) o="$o $bindir" ;;
|
|
||||||
--sbindir) o="$o $sbindir" ;;
|
|
||||||
--libexecdir) o="$o $libexecdir" ;;
|
|
||||||
--datadir) o="$o $datadir" ;;
|
|
||||||
--datainc) o="$o -I$datadir" ;;
|
|
||||||
--datalib) o="$o -L$datadir" ;;
|
|
||||||
--sysconfdir) o="$o $sysconfdir" ;;
|
|
||||||
--sharedstatedir) o="$o $sharedstatedir" ;;
|
|
||||||
--localstatedir) o="$o $localstatedir" ;;
|
|
||||||
--infodir) o="$o $infodir" ;;
|
|
||||||
--mandir) o="$o $mandir" ;;
|
|
||||||
--includedir) o="$o $includedir" ;;
|
|
||||||
--data) o="$o -I$datadir/$package" ;;
|
|
||||||
--pkgdatadir) o="$o $datadir/$package" ;;
|
|
||||||
--pkgdatainc) o="$o -I$datadir/$package" ;;
|
|
||||||
--pkgdatalib) o="$o -L$datadir/$package" ;;
|
|
||||||
--pkglibinc) o="$o -I$libinc/$package" ;;
|
|
||||||
--pkglibadd) o="$o -L$libadd/$package" ;;
|
|
||||||
--pkgincludedir) o="$o $includedir/$package" ;;
|
|
||||||
--help) h="1" ;;
|
|
||||||
-?//*|-?/*//*|-?./*//*|//*|/*//*|./*//*)
|
|
||||||
v=`echo $i | sed -e s://:\$:g`
|
|
||||||
v=`eval "echo $v"`
|
|
||||||
o="$o $v" ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
o=`eval "echo $o"`
|
|
||||||
o=`eval "echo $o"`
|
|
||||||
eval "echo $o"
|
|
||||||
|
|
||||||
if test ! -z "$h" ; then
|
|
||||||
cat <<EOF
|
|
||||||
--prefix=xxx) (what is that for anyway?)
|
|
||||||
--prefix) \$prefix $prefix
|
|
||||||
--package) \$package $package
|
|
||||||
--version) \$version $version
|
|
||||||
--cflags) -I\$includedir unless it is /usr/include
|
|
||||||
--libs) -l\$PACKAGE \$LIBS
|
|
||||||
--exec_prefix) or...
|
|
||||||
--eprefix) \$exec_prefix $exec_prefix
|
|
||||||
--bindir) \$bindir $bindir
|
|
||||||
--sbindir) \$sbindir $sbindir
|
|
||||||
--libexecdir) \$libexecdir $libexecdir
|
|
||||||
--datadir) \$datadir $datadir
|
|
||||||
--sysconfdir) \$sysconfdir $sysconfdir
|
|
||||||
--sharedstatedir) \$sharedstatedir$sharedstatedir
|
|
||||||
--localstatedir) \$localstatedir $localstatedir
|
|
||||||
--infodir) \$infodir $infodir
|
|
||||||
--mandir) \$mandir $mandir
|
|
||||||
--data) -I\$datadir/\$package
|
|
||||||
--pkgdatadir) \$datadir/\$package
|
|
||||||
--pkgincludedir) \$includedir/\$package
|
|
||||||
--help) generated by ac_create_generic_config.m4
|
|
||||||
-I//varname and other inc-targets like --pkgdatainc supported
|
|
||||||
-L//varname and other lib-targets, e.g. --pkgdatalib or --libadd
|
|
||||||
EOF
|
|
||||||
fi
|
|
1
sources
1
sources
@ -1 +0,0 @@
|
|||||||
SHA512 (torque-6.1.3.tar.xz) = 9cace317a6331c8a043a11115161cd9a852623ce0ccbc6d745fcc16963a8fe63ed8e4c2d0922a9bd950a2aa6273246340ea32488c88d2e9e476067c3429f1b85
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -uNr torque-2.5.7.ORIG/src/server/req_getcred.c torque-2.5.7/src/server/req_getcred.c
|
|
||||||
--- torque-2.5.7.ORIG/src/server/req_getcred.c 2011-12-03 19:05:46.670461225 +0100
|
|
||||||
+++ torque-2.5.7/src/server/req_getcred.c 2011-12-03 19:07:50.013609563 +0100
|
|
||||||
@@ -471,7 +471,7 @@
|
|
||||||
if(rc)
|
|
||||||
{
|
|
||||||
/* FAILED */
|
|
||||||
- req_reject(PBSE_SYSTEM, 0, preq, NULL, "munge failure");
|
|
||||||
+ /* req_reject(PBSE_SYSTEM, 0, preq, NULL, "munge failure"); */
|
|
||||||
return (PBSE_SYSTEM);
|
|
||||||
}
|
|
||||||
|
|
@ -1,593 +0,0 @@
|
|||||||
diff -up torque/acinclude.m4.cleanup torque/acinclude.m4
|
|
||||||
--- torque/acinclude.m4.cleanup 2021-01-28 16:14:17.000000000 -0500
|
|
||||||
+++ torque/acinclude.m4 2021-04-13 14:14:09.320271814 -0400
|
|
||||||
@@ -20,12 +20,14 @@ dnl
|
|
||||||
AC_DEFUN([AC_DECL_H_ERRNO],
|
|
||||||
[AC_CACHE_CHECK([for h_errno declaration in netdb.h],
|
|
||||||
ac_cv_decl_h_errno,
|
|
||||||
-[AC_TRY_COMPILE([#include <sys/types.h>
|
|
||||||
+[AC_COMPILE_IFELSE({AC_LANG_SOURCE([[
|
|
||||||
+#include <sys/types.h>
|
|
||||||
#ifdef HAVE_UNISTD_H
|
|
||||||
#include <unistd.h>
|
|
||||||
#endif
|
|
||||||
#include <netdb.h>
|
|
||||||
-], [int _ZzQ = (int)(h_errno + 1);],
|
|
||||||
+int _ZzQ = (int)(h_errno + 1);
|
|
||||||
+]]),
|
|
||||||
ac_cv_decl_h_errno=yes, ac_cv_decl_h_errno=no)])
|
|
||||||
if test $ac_cv_decl_h_errno = yes; then
|
|
||||||
AC_DEFINE(H_ERRNO_DECLARED, 1,
|
|
||||||
@@ -183,7 +185,7 @@ AC_CHECK_MEMBER(struct stat64.st_mode,
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <unistd.h>])
|
|
||||||
|
|
||||||
-AC_MSG_CHECKING([if largefile compiles (looking at you, OSX)])
|
|
||||||
+AC_MSG_CHECKING([if largefile compiles])
|
|
||||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/stat.h>
|
|
||||||
diff -up torque/buildutils/ac_c_bigendian_cross.m4.cleanup torque/buildutils/ac_c_bigendian_cross.m4
|
|
||||||
--- torque/buildutils/ac_c_bigendian_cross.m4.cleanup 2021-01-28 16:14:17.000000000 -0500
|
|
||||||
+++ torque/buildutils/ac_c_bigendian_cross.m4 2021-04-13 14:14:09.320271814 -0400
|
|
||||||
@@ -19,18 +19,18 @@ AC_DEFUN([AC_C_BIGENDIAN_CROSS],
|
|
||||||
[AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
|
|
||||||
[ac_cv_c_bigendian=unknown
|
|
||||||
# See if sys/param.h defines the BYTE_ORDER macro.
|
|
||||||
-AC_TRY_COMPILE([#include <sys/types.h>
|
|
||||||
-#include <sys/param.h>], [
|
|
||||||
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
|
|
||||||
+#include <sys/param.h>]], [[
|
|
||||||
#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
|
|
||||||
bogus endian macros
|
|
||||||
-#endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
|
|
||||||
+#endif]])],[# It does; now see whether it defined to BIG_ENDIAN or not.
|
|
||||||
AC_TRY_COMPILE([#include <sys/types.h>
|
|
||||||
#include <sys/param.h>], [
|
|
||||||
#if BYTE_ORDER != BIG_ENDIAN
|
|
||||||
not big endian
|
|
||||||
-#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
|
|
||||||
+#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)],[])
|
|
||||||
if test $ac_cv_c_bigendian = unknown; then
|
|
||||||
-AC_TRY_RUN([main () {
|
|
||||||
+AC_RUN_IFELSE([AC_LANG_SOURCE([[main () {
|
|
||||||
/* Are we little or big endian? From Harbison&Steele. */
|
|
||||||
union
|
|
||||||
{
|
|
||||||
@@ -39,8 +39,7 @@ AC_TRY_RUN([main () {
|
|
||||||
} u;
|
|
||||||
u.l = 1;
|
|
||||||
exit (u.c[sizeof (long) - 1] == 1);
|
|
||||||
-}], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes,
|
|
||||||
-[ echo $ac_n "cross-compiling... " 2>&AC_FD_MSG ])
|
|
||||||
+}]])],[ac_cv_c_bigendian=no],[ac_cv_c_bigendian=yes],[ echo $ac_n "cross-compiling... " 2>&AS_MESSAGE_FD ])
|
|
||||||
fi])
|
|
||||||
if test $ac_cv_c_bigendian = unknown; then
|
|
||||||
AC_MSG_CHECKING(to probe for byte ordering)
|
|
||||||
@@ -57,18 +56,18 @@ EOF
|
|
||||||
] if test -f conftest.c ; then
|
|
||||||
if ${CC-cc} -c conftest.c -o conftest.o && test -f conftest.o ; then
|
|
||||||
if test `grep -l BIGenDianSyS conftest.o` ; then
|
|
||||||
- echo $ac_n ' big endian probe OK, ' 1>&AC_FD_MSG
|
|
||||||
+ echo $ac_n ' big endian probe OK, ' 1>&AS_MESSAGE_FD
|
|
||||||
ac_cv_c_bigendian=yes
|
|
||||||
fi
|
|
||||||
if test `grep -l LiTTleEnDian conftest.o` ; then
|
|
||||||
- echo $ac_n ' little endian probe OK, ' 1>&AC_FD_MSG
|
|
||||||
+ echo $ac_n ' little endian probe OK, ' 1>&AS_MESSAGE_FD
|
|
||||||
if test $ac_cv_c_bigendian = yes ; then
|
|
||||||
ac_cv_c_bigendian=unknown;
|
|
||||||
else
|
|
||||||
ac_cv_c_bigendian=no
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
- echo $ac_n 'guessing bigendian ... ' >&AC_FD_MSG
|
|
||||||
+ echo $ac_n 'guessing bigendian ... ' >&AS_MESSAGE_FD
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
AC_MSG_RESULT($ac_cv_c_bigendian)
|
|
||||||
diff -up torque/buildutils/acx_pthread.m4.cleanup torque/buildutils/acx_pthread.m4
|
|
||||||
--- torque/buildutils/acx_pthread.m4.cleanup 2021-01-28 16:14:17.000000000 -0500
|
|
||||||
+++ torque/buildutils/acx_pthread.m4 2021-04-13 14:14:09.320271814 -0400
|
|
||||||
@@ -56,7 +56,7 @@ dnl @license GPLWithACException
|
|
||||||
AC_DEFUN([ACX_PTHREAD], [
|
|
||||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
|
||||||
AC_LANG_SAVE
|
|
||||||
-AC_LANG_C
|
|
||||||
+AC_LANG([C])
|
|
||||||
acx_pthread_ok=no
|
|
||||||
|
|
||||||
# We used to check for pthread.h first, but this fails if pthread.h
|
|
||||||
diff -up torque/buildutils/ax_cflags_gcc_option.m4.cleanup torque/buildutils/ax_cflags_gcc_option.m4
|
|
||||||
--- torque/buildutils/ax_cflags_gcc_option.m4.cleanup 2021-01-28 16:14:17.000000000 -0500
|
|
||||||
+++ torque/buildutils/ax_cflags_gcc_option.m4 2021-04-13 14:14:09.320271814 -0400
|
|
||||||
@@ -87,15 +87,14 @@ AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_gcc_o
|
|
||||||
AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)],
|
|
||||||
VAR,[VAR="no, unknown"
|
|
||||||
AC_LANG_SAVE
|
|
||||||
- AC_LANG_C
|
|
||||||
+ AC_LANG([C])
|
|
||||||
ac_save_[]FLAGS="$[]FLAGS"
|
|
||||||
for ac_arg dnl
|
|
||||||
in "-pedantic -Werror % m4_ifval($2,$2,-option)" dnl GCC
|
|
||||||
"-pedantic % m4_ifval($2,$2,-option) %% no, obsolete" dnl new GCC
|
|
||||||
#
|
|
||||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
|
||||||
- AC_TRY_COMPILE([],[return 0;],
|
|
||||||
- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break],[])
|
|
||||||
done
|
|
||||||
FLAGS="$ac_save_[]FLAGS"
|
|
||||||
AC_LANG_RESTORE
|
|
||||||
@@ -123,15 +122,14 @@ AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_gcc
|
|
||||||
AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)],
|
|
||||||
VAR,[VAR="no, unknown"
|
|
||||||
AC_LANG_SAVE
|
|
||||||
- AC_LANG_CPLUSPLUS
|
|
||||||
+ AC_LANG([C++])
|
|
||||||
ac_save_[]FLAGS="$[]FLAGS"
|
|
||||||
for ac_arg dnl
|
|
||||||
in "-pedantic -Werror % m4_ifval($2,$2,-option)" dnl GCC
|
|
||||||
"-pedantic % m4_ifval($2,$2,-option) %% no, obsolete" dnl new GCC
|
|
||||||
#
|
|
||||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
|
||||||
- AC_TRY_COMPILE([],[return 0;],
|
|
||||||
- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break],[])
|
|
||||||
done
|
|
||||||
FLAGS="$ac_save_[]FLAGS"
|
|
||||||
AC_LANG_RESTORE
|
|
||||||
@@ -158,15 +156,14 @@ AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_gcc_o
|
|
||||||
AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)],
|
|
||||||
VAR,[VAR="no, unknown"
|
|
||||||
AC_LANG_SAVE
|
|
||||||
- AC_LANG_C
|
|
||||||
+ AC_LANG([C])
|
|
||||||
ac_save_[]FLAGS="$[]FLAGS"
|
|
||||||
for ac_arg dnl
|
|
||||||
in "-pedantic -Werror % m4_ifval($1,$1,-option)" dnl GCC
|
|
||||||
"-pedantic % m4_ifval($1,$1,-option) %% no, obsolete" dnl new GCC
|
|
||||||
#
|
|
||||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
|
||||||
- AC_TRY_COMPILE([],[return 0;],
|
|
||||||
- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break],[])
|
|
||||||
done
|
|
||||||
FLAGS="$ac_save_[]FLAGS"
|
|
||||||
AC_LANG_RESTORE
|
|
||||||
@@ -194,15 +191,14 @@ AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_gcc
|
|
||||||
AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)],
|
|
||||||
VAR,[VAR="no, unknown"
|
|
||||||
AC_LANG_SAVE
|
|
||||||
- AC_LANG_CPLUSPLUS
|
|
||||||
+ AC_LANG([C++])
|
|
||||||
ac_save_[]FLAGS="$[]FLAGS"
|
|
||||||
for ac_arg dnl
|
|
||||||
in "-pedantic -Werror % m4_ifval($1,$1,-option)" dnl GCC
|
|
||||||
"-pedantic % m4_ifval($1,$1,-option) %% no, obsolete" dnl new GCC
|
|
||||||
#
|
|
||||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
|
||||||
- AC_TRY_COMPILE([],[return 0;],
|
|
||||||
- [VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[return 0;]])],[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break],[])
|
|
||||||
done
|
|
||||||
FLAGS="$ac_save_[]FLAGS"
|
|
||||||
AC_LANG_RESTORE
|
|
||||||
diff -up torque/buildutils/tac_tcltk.m4.cleanup torque/buildutils/tac_tcltk.m4
|
|
||||||
--- torque/buildutils/tac_tcltk.m4.cleanup 2021-01-28 16:14:17.000000000 -0500
|
|
||||||
+++ torque/buildutils/tac_tcltk.m4 2021-04-13 14:14:09.320271814 -0400
|
|
||||||
@@ -215,7 +215,7 @@ fi
|
|
||||||
|
|
||||||
|
|
||||||
AC_ARG_WITH(tclatrsep,
|
|
||||||
- AC_HELP_STRING([--with-tclatrsep=CHAR],[set the Tcl attribute separator character
|
|
||||||
+ AS_HELP_STRING([--with-tclatrsep=CHAR],[set the Tcl attribute separator character
|
|
||||||
this will default to "." if unspecified]),
|
|
||||||
[tcl_atrsep="${withval}"], [tcl_atrsep="."])
|
|
||||||
if test "$TCL" = "1" ; then
|
|
||||||
diff -up torque/buildutils/tcl.m4.cleanup torque/buildutils/tcl.m4
|
|
||||||
--- torque/buildutils/tcl.m4.cleanup 2021-01-28 16:14:17.000000000 -0500
|
|
||||||
+++ torque/buildutils/tcl.m4 2021-04-13 14:14:09.320271814 -0400
|
|
||||||
@@ -44,7 +44,7 @@ AC_DEFUN([TEA_PATH_TCLCONFIG], [
|
|
||||||
if test x"${no_tcl}" = x ; then
|
|
||||||
# we reset no_tcl in case something fails here
|
|
||||||
no_tcl=true
|
|
||||||
- AC_ARG_WITH(tcl, AC_HELP_STRING([--with-tcl],[directory containing tcl configuration (tclConfig.sh)]), with_tclconfig=${withval})
|
|
||||||
+ AC_ARG_WITH(tcl, AS_HELP_STRING([--with-tcl],[directory containing tcl configuration (tclConfig.sh)]), with_tclconfig=${withval})
|
|
||||||
AC_MSG_CHECKING([for Tcl configuration])
|
|
||||||
AC_CACHE_VAL(ac_cv_c_tclconfig,[
|
|
||||||
|
|
||||||
@@ -141,7 +141,7 @@ AC_DEFUN([TEA_PATH_TKCONFIG], [
|
|
||||||
if test x"${no_tk}" = x ; then
|
|
||||||
# we reset no_tk in case something fails here
|
|
||||||
no_tk=true
|
|
||||||
- AC_ARG_WITH(tk, AC_HELP_STRING([--with-tk],[directory containing tk configuration (tkConfig.sh)]), with_tkconfig=${withval})
|
|
||||||
+ AC_ARG_WITH(tk, AS_HELP_STRING([--with-tk],[directory containing tk configuration (tkConfig.sh)]), with_tkconfig=${withval})
|
|
||||||
AC_MSG_CHECKING([for Tk configuration])
|
|
||||||
AC_CACHE_VAL(ac_cv_c_tkconfig,[
|
|
||||||
|
|
||||||
@@ -440,7 +440,7 @@ AC_DEFUN([TEA_ENABLE_THREADS], [
|
|
||||||
# Check a little harder for __pthread_mutex_init in the
|
|
||||||
# same library, as some systems hide it there until
|
|
||||||
# pthread.h is defined. We could alternatively do an
|
|
||||||
- # AC_TRY_COMPILE with pthread.h, but that will work with
|
|
||||||
+ # AC_COMPILE_IFELSE with pthread.h, but that will work with
|
|
||||||
# libpthread really doesn't exist, like AIX 4.2.
|
|
||||||
# [Bug: 4359]
|
|
||||||
AC_CHECK_LIB(pthread, __pthread_mutex_init,
|
|
||||||
@@ -621,8 +621,10 @@ AC_DEFUN([TEA_ENABLE_LANGINFO], [
|
|
||||||
fi
|
|
||||||
AC_MSG_CHECKING([whether to use nl_langinfo])
|
|
||||||
if test "$langinfo_ok" = "yes"; then
|
|
||||||
- AC_TRY_COMPILE([#include <langinfo.h>],
|
|
||||||
- [nl_langinfo(CODESET);],[langinfo_ok=yes],[langinfo_ok=no])
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
|
||||||
+ #include <langinfo.h>
|
|
||||||
+ nl_langinfo(CODESET);]]),
|
|
||||||
+ langinfo_ok=yes , langinfo_ok=no])
|
|
||||||
if test "$langinfo_ok" = "no"; then
|
|
||||||
langinfo_ok="no (could not compile with nl_langinfo)";
|
|
||||||
fi
|
|
||||||
@@ -1626,7 +1628,8 @@ dnl AC_CHECK_TOOL(AR, ar, :)
|
|
||||||
|
|
||||||
if test "x$DL_OBJS" = "xtclLoadAout.o" ; then
|
|
||||||
AC_MSG_CHECKING([sys/exec.h])
|
|
||||||
- AC_TRY_COMPILE([#include <sys/exec.h>],[
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
|
||||||
+ #include <sys/exec.h>
|
|
||||||
struct exec foo;
|
|
||||||
unsigned long seek;
|
|
||||||
int flag;
|
|
||||||
@@ -1637,13 +1640,14 @@ dnl AC_CHECK_TOOL(AR, ar, :)
|
|
||||||
#endif
|
|
||||||
flag = (foo.a_magic == OMAGIC);
|
|
||||||
return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry;
|
|
||||||
- ], tcl_ok=usable, tcl_ok=unusable)
|
|
||||||
+ ]]), tcl_ok=usable, tcl_ok=unusable])
|
|
||||||
AC_MSG_RESULT([$tcl_ok])
|
|
||||||
if test $tcl_ok = usable; then
|
|
||||||
AC_DEFINE(USE_SYS_EXEC_H)
|
|
||||||
else
|
|
||||||
AC_MSG_CHECKING([a.out.h])
|
|
||||||
- AC_TRY_COMPILE([#include <a.out.h>],[
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
|
||||||
+ #include <a.out.h>
|
|
||||||
struct exec foo;
|
|
||||||
unsigned long seek;
|
|
||||||
int flag;
|
|
||||||
@@ -1654,13 +1658,14 @@ dnl AC_CHECK_TOOL(AR, ar, :)
|
|
||||||
#endif
|
|
||||||
flag = (foo.a_magic == OMAGIC);
|
|
||||||
return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry;
|
|
||||||
- ], tcl_ok=usable, tcl_ok=unusable)
|
|
||||||
+ ]]), tcl_ok=usable, tcl_ok=unusable])
|
|
||||||
AC_MSG_RESULT([$tcl_ok])
|
|
||||||
if test $tcl_ok = usable; then
|
|
||||||
AC_DEFINE(USE_A_OUT_H)
|
|
||||||
else
|
|
||||||
AC_MSG_CHECKING([sys/exec_aout.h])
|
|
||||||
- AC_TRY_COMPILE([#include <sys/exec_aout.h>],[
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
|
||||||
+ #include <sys/exec_aout.h>
|
|
||||||
struct exec foo;
|
|
||||||
unsigned long seek;
|
|
||||||
int flag;
|
|
||||||
@@ -1671,7 +1676,7 @@ dnl AC_CHECK_TOOL(AR, ar, :)
|
|
||||||
#endif
|
|
||||||
flag = (foo.a_midmag == OMAGIC);
|
|
||||||
return foo.a_text + foo.a_data + foo.a_bss + foo.a_entry;
|
|
||||||
- ], tcl_ok=usable, tcl_ok=unusable)
|
|
||||||
+ ]]), tcl_ok=usable, tcl_ok=unusable])
|
|
||||||
AC_MSG_RESULT([$tcl_ok])
|
|
||||||
if test $tcl_ok = usable; then
|
|
||||||
AC_DEFINE(USE_SYS_EXEC_AOUT_H)
|
|
||||||
@@ -1913,7 +1918,7 @@ int main() {
|
|
||||||
|
|
||||||
AC_DEFUN([TEA_MISSING_POSIX_HEADERS], [
|
|
||||||
AC_MSG_CHECKING([dirent.h])
|
|
||||||
- AC_TRY_LINK([#include <sys/types.h>
|
|
||||||
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
|
|
||||||
#include <dirent.h>], [
|
|
||||||
#ifndef _POSIX_SOURCE
|
|
||||||
# ifdef __Lynx__
|
|
||||||
@@ -1932,7 +1937,7 @@ d = opendir("foobar");
|
|
||||||
entryPtr = readdir(d);
|
|
||||||
p = entryPtr->d_name;
|
|
||||||
closedir(d);
|
|
||||||
-], tcl_ok=yes, tcl_ok=no)
|
|
||||||
+]])], [tcl_ok=yes], [tcl_ok=no])
|
|
||||||
|
|
||||||
if test $tcl_ok = no; then
|
|
||||||
AC_DEFINE(NO_DIRENT_H)
|
|
||||||
@@ -2165,8 +2170,8 @@ AC_DEFUN([TEA_TIME_HANDLER], [
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([tm_tzadj in struct tm])
|
|
||||||
AC_CACHE_VAL(tcl_cv_member_tm_tzadj,
|
|
||||||
- AC_TRY_COMPILE([#include <time.h>], [struct tm tm; tm.tm_tzadj;],
|
|
||||||
- tcl_cv_member_tm_tzadj=yes, tcl_cv_member_tm_tzadj=no))
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <time.h>], [struct tm tm; tm.tm_tzadj;]]),
|
|
||||||
+ tcl_cv_member_tm_tzadj=yes, tcl_cv_member_tm_tzadj=no]))
|
|
||||||
AC_MSG_RESULT([$tcl_cv_member_tm_tzadj])
|
|
||||||
if test $tcl_cv_member_tm_tzadj = yes ; then
|
|
||||||
AC_DEFINE(HAVE_TM_TZADJ)
|
|
||||||
@@ -2174,8 +2179,8 @@ AC_DEFUN([TEA_TIME_HANDLER], [
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([tm_gmtoff in struct tm])
|
|
||||||
AC_CACHE_VAL(tcl_cv_member_tm_gmtoff,
|
|
||||||
- AC_TRY_COMPILE([#include <time.h>], [struct tm tm; tm.tm_gmtoff;],
|
|
||||||
- tcl_cv_member_tm_gmtoff=yes, tcl_cv_member_tm_gmtoff=no))
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <time.h>], [struct tm tm; tm.tm_gmtoff;]]),
|
|
||||||
+ tcl_cv_member_tm_gmtoff=yes, tcl_cv_member_tm_gmtoff=no]))
|
|
||||||
AC_MSG_RESULT([$tcl_cv_member_tm_gmtoff])
|
|
||||||
if test $tcl_cv_member_tm_gmtoff = yes ; then
|
|
||||||
AC_DEFINE(HAVE_TM_GMTOFF)
|
|
||||||
@@ -2187,11 +2192,11 @@ AC_DEFUN([TEA_TIME_HANDLER], [
|
|
||||||
#
|
|
||||||
AC_MSG_CHECKING([long timezone variable])
|
|
||||||
AC_CACHE_VAL(tcl_cv_var_timezone,
|
|
||||||
- AC_TRY_COMPILE([#include <time.h>],
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <time.h>],
|
|
||||||
[extern long timezone;
|
|
||||||
timezone += 1;
|
|
||||||
- exit (0);],
|
|
||||||
- tcl_cv_timezone_long=yes, tcl_cv_timezone_long=no))
|
|
||||||
+ exit (0);]]),
|
|
||||||
+ tcl_cv_timezone_long=yes, tcl_cv_timezone_long=no]))
|
|
||||||
AC_MSG_RESULT([$tcl_cv_timezone_long])
|
|
||||||
if test $tcl_cv_timezone_long = yes ; then
|
|
||||||
AC_DEFINE(HAVE_TIMEZONE_VAR)
|
|
||||||
@@ -2201,11 +2206,11 @@ AC_DEFUN([TEA_TIME_HANDLER], [
|
|
||||||
#
|
|
||||||
AC_MSG_CHECKING([time_t timezone variable])
|
|
||||||
AC_CACHE_VAL(tcl_cv_timezone_time,
|
|
||||||
- AC_TRY_COMPILE([#include <time.h>],
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <time.h>],
|
|
||||||
[extern time_t timezone;
|
|
||||||
timezone += 1;
|
|
||||||
- exit (0);],
|
|
||||||
- tcl_cv_timezone_time=yes, tcl_cv_timezone_time=no))
|
|
||||||
+ exit (0);]]),
|
|
||||||
+ tcl_cv_timezone_time=yes, tcl_cv_timezone_time=no]))
|
|
||||||
AC_MSG_RESULT([$tcl_cv_timezone_time])
|
|
||||||
if test $tcl_cv_timezone_time = yes ; then
|
|
||||||
AC_DEFINE(HAVE_TIMEZONE_VAR)
|
|
||||||
@@ -2372,8 +2377,7 @@ AC_DEFUN([TEA_TCL_LINK_LIBS], [
|
|
||||||
AC_DEFUN([TEA_TCL_EARLY_FLAG],[
|
|
||||||
AC_CACHE_VAL([tcl_cv_flag_]translit($1,[A-Z],[a-z]),
|
|
||||||
AC_TRY_COMPILE([$2], $3, [tcl_cv_flag_]translit($1,[A-Z],[a-z])=no,
|
|
||||||
- AC_TRY_COMPILE([[#define ]$1[ 1
|
|
||||||
-]$2], $3,
|
|
||||||
+ AC_TRY_COMPILE([[#define ]$1[ 1]$2], $3,
|
|
||||||
[tcl_cv_flag_]translit($1,[A-Z],[a-z])=yes,
|
|
||||||
[tcl_cv_flag_]translit($1,[A-Z],[a-z])=no)))
|
|
||||||
if test ["x${tcl_cv_flag_]translit($1,[A-Z],[a-z])[}" = "xyes"] ; then
|
|
||||||
@@ -2436,9 +2440,12 @@ AC_DEFUN([TEA_TCL_64BIT_FLAGS], [
|
|
||||||
# Now check for auxiliary declarations
|
|
||||||
AC_MSG_CHECKING([for struct dirent64])
|
|
||||||
AC_CACHE_VAL(tcl_cv_struct_dirent64,[
|
|
||||||
- AC_TRY_COMPILE([#include <sys/types.h>
|
|
||||||
-#include <sys/dirent.h>],[struct dirent64 p;],
|
|
||||||
- tcl_cv_struct_dirent64=yes,tcl_cv_struct_dirent64=no)])
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
|
||||||
+#include <sys/types.h>
|
|
||||||
+#include <sys/dirent.h>
|
|
||||||
+struct dirent64 p;
|
|
||||||
+ ]]),
|
|
||||||
+ tcl_cv_struct_dirent64=yes,tcl_cv_struct_dirent64=no])])
|
|
||||||
if test "x${tcl_cv_struct_dirent64}" = "xyes" ; then
|
|
||||||
AC_DEFINE(HAVE_STRUCT_DIRENT64)
|
|
||||||
fi
|
|
||||||
@@ -2446,9 +2453,11 @@ AC_DEFUN([TEA_TCL_64BIT_FLAGS], [
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for struct stat64])
|
|
||||||
AC_CACHE_VAL(tcl_cv_struct_stat64,[
|
|
||||||
- AC_TRY_COMPILE([#include <sys/stat.h>],[struct stat64 p;
|
|
||||||
-],
|
|
||||||
- tcl_cv_struct_stat64=yes,tcl_cv_struct_stat64=no)])
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
|
||||||
+#include <sys/stat.h>
|
|
||||||
+struct stat64 p;
|
|
||||||
+ ]]),
|
|
||||||
+ tcl_cv_struct_stat64=yes,tcl_cv_struct_stat64=no])])
|
|
||||||
if test "x${tcl_cv_struct_stat64}" = "xyes" ; then
|
|
||||||
AC_DEFINE(HAVE_STRUCT_STAT64)
|
|
||||||
fi
|
|
||||||
@@ -2456,9 +2465,11 @@ AC_DEFUN([TEA_TCL_64BIT_FLAGS], [
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([for off64_t])
|
|
||||||
AC_CACHE_VAL(tcl_cv_type_off64_t,[
|
|
||||||
- AC_TRY_COMPILE([#include <sys/types.h>],[off64_t offset;
|
|
||||||
-],
|
|
||||||
- tcl_cv_type_off64_t=yes,tcl_cv_type_off64_t=no)])
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
|
|
||||||
+#include <sys/types.h>
|
|
||||||
+off64_t offset;
|
|
||||||
+ ]])},
|
|
||||||
+ tcl_cv_type_off64_t=yes,tcl_cv_type_off64_t=no])])
|
|
||||||
if test "x${tcl_cv_type_off64_t}" = "xyes" ; then
|
|
||||||
AC_DEFINE(HAVE_TYPE_OFF64_T)
|
|
||||||
fi
|
|
||||||
@@ -2898,7 +2909,7 @@ AC_DEFUN([TEA_PRIVATE_TCL_HEADERS], [
|
|
||||||
AC_DEFUN([TEA_PUBLIC_TCL_HEADERS], [
|
|
||||||
AC_MSG_CHECKING([for Tcl public headers])
|
|
||||||
|
|
||||||
- AC_ARG_WITH(tclinclude, AC_HELP_STRING([--with-tclinclude],[directory containing the public Tcl header files]), with_tclinclude=${withval})
|
|
||||||
+ AC_ARG_WITH(tclinclude, AS_HELP_STRING([--with-tclinclude],[directory containing the public Tcl header files]), with_tclinclude=${withval})
|
|
||||||
|
|
||||||
AC_CACHE_VAL(ac_cv_c_tclh, [
|
|
||||||
# Use the value from --with-tclinclude, if it was given
|
|
||||||
@@ -3027,7 +3038,7 @@ AC_DEFUN([TEA_PRIVATE_TK_HEADERS], [
|
|
||||||
AC_DEFUN([TEA_PUBLIC_TK_HEADERS], [
|
|
||||||
AC_MSG_CHECKING([for Tk public headers])
|
|
||||||
|
|
||||||
- AC_ARG_WITH(tkinclude, AC_HELP_STRING([--with-tkinclude],[directory containing the public Tk header files.]), with_tkinclude=${withval})
|
|
||||||
+ AC_ARG_WITH(tkinclude, AS_HELP_STRING([--with-tkinclude],[directory containing the public Tk header files.]), with_tkinclude=${withval})
|
|
||||||
|
|
||||||
AC_CACHE_VAL(ac_cv_c_tkh, [
|
|
||||||
# Use the value from --with-tkinclude, if it was given
|
|
||||||
@@ -3222,7 +3233,7 @@ AC_DEFUN([TEA_PATH_CONFIG], [
|
|
||||||
if test x"${no_$1}" = x ; then
|
|
||||||
# we reset no_$1 in case something fails here
|
|
||||||
no_$1=true
|
|
||||||
- AC_ARG_WITH($1, AC_HELP_STRING([--with-$1],[directory containing $1 configuration ($1Config.sh)]), with_$1config=${withval})
|
|
||||||
+ AC_ARG_WITH($1, AS_HELP_STRING([--with-$1],[directory containing $1 configuration ($1Config.sh)]), with_$1config=${withval})
|
|
||||||
AC_MSG_CHECKING([for $1 configuration])
|
|
||||||
AC_CACHE_VAL(ac_cv_c_$1config,[
|
|
||||||
|
|
||||||
diff -up torque/configure.ac.cleanup torque/configure.ac
|
|
||||||
--- torque/configure.ac.cleanup 2021-04-13 14:14:09.313271761 -0400
|
|
||||||
+++ torque/configure.ac 2021-04-13 14:36:29.125464515 -0400
|
|
||||||
@@ -32,14 +32,15 @@ dnl Updated to use m4
|
|
||||||
dnl added library functionality to testing
|
|
||||||
dnl by John Rosenquist (jrosenquist@adaptivecomputing.com)
|
|
||||||
|
|
||||||
-AC_PREREQ(2.53)
|
|
||||||
-AC_INIT([torque], [6.1.3], [torqueusers@supercluster.org])
|
|
||||||
+AC_PREREQ([2.69])
|
|
||||||
+AC_INIT([torque],[6.1.3],[torqueusers@supercluster.org])
|
|
||||||
AC_REVISION($Revision$)
|
|
||||||
AC_CONFIG_SRCDIR([src/cmds/qrun.c])
|
|
||||||
AC_CONFIG_AUX_DIR([buildutils])
|
|
||||||
AC_CANONICAL_HOST
|
|
||||||
AC_CONFIG_MACRO_DIR([buildutils])
|
|
||||||
|
|
||||||
+AC_PROG_CC
|
|
||||||
AC_PROG_CXX
|
|
||||||
m4_ifdef([AM_PROG_AR], [
|
|
||||||
AM_PROG_AR
|
|
||||||
@@ -58,7 +59,7 @@ m4_ifdef([HAVE_CHECK],
|
|
||||||
[AM_INIT_AUTOMAKE([-Wall -Werror -Wno-unsupported foreign 1.9.6])])
|
|
||||||
|
|
||||||
AM_PROG_CC_C_O
|
|
||||||
-CC="$CXX"
|
|
||||||
+# CC="$CXX"
|
|
||||||
CCLD="$CXX"
|
|
||||||
AC_SUBST([CCLD])
|
|
||||||
LIBTOOLFLAGS="--tag=CXX"
|
|
||||||
@@ -82,7 +83,7 @@ gccwarnings=yes
|
|
||||||
dnl Instead of putting a long list of defines on the command line
|
|
||||||
dnl for each compile, use a file called "pbs_config.h" that will
|
|
||||||
dnl be created in the include directory.
|
|
||||||
-AM_CONFIG_HEADER([src/include/pbs_config.h])
|
|
||||||
+AC_CONFIG_HEADERS([src/include/pbs_config.h])
|
|
||||||
|
|
||||||
dnl
|
|
||||||
dnl Find our git revision hash for program outputs
|
|
||||||
@@ -672,14 +673,14 @@ dnl
|
|
||||||
AC_CHECK_PROGS(AR,ar,exit)
|
|
||||||
|
|
||||||
dnl wrapped libtool macro to remove annoying warning message
|
|
||||||
-AC_PROG_LIBTOOL
|
|
||||||
-TAC_PROG_LIBTOOL_PATCH
|
|
||||||
+# LT_INIT
|
|
||||||
+# TAC_PROG_LIBTOOL_PATCH
|
|
||||||
|
|
||||||
AC_PROG_LN_S
|
|
||||||
|
|
||||||
|
|
||||||
dnl needed for scheduler.basl
|
|
||||||
-AM_PROG_LEX
|
|
||||||
+AC_PROG_LEX(noyywrap)
|
|
||||||
AC_PROG_YACC
|
|
||||||
|
|
||||||
|
|
||||||
@@ -723,7 +724,7 @@ dnl and TAC_SYS_LARGEFILE
|
|
||||||
dnl
|
|
||||||
AC_MSG_CHECKING([whether to compile with debugging symbols])
|
|
||||||
AC_ARG_WITH([debug],
|
|
||||||
- AC_HELP_STRING([--with-debug], [compile with debugging symbols]),
|
|
||||||
+ AS_HELP_STRING([--with-debug],[compile with debugging symbols]),
|
|
||||||
DEBUG_SYMBOLS=$withval, DEBUG_SYMBOLS="yes")
|
|
||||||
AC_MSG_RESULT([DEBUG_SYMBOLS=$DEBUG_SYMBOLS])
|
|
||||||
dnl remove -O* and add -g
|
|
||||||
@@ -795,7 +796,8 @@ LIBS="$LIBS $PTHREAD_LIBS"
|
|
||||||
dnl
|
|
||||||
dnl we need libxml2
|
|
||||||
dnl
|
|
||||||
-xmlLib=`xml2-config --libs | sed 's/-L@<:@^@<:@:space:@:>@@:>@* //g;s/-l//'`
|
|
||||||
+xmlLib=xml2
|
|
||||||
+# `xml2-config --libs | sed 's/-L@<:@^@<:@:space:@:>@@:>@* //g;s/-l//'`
|
|
||||||
|
|
||||||
dnl skip the first two chars because its -l<libname>
|
|
||||||
AC_CHECK_LIB(${xmlLib}, xmlGetProp,
|
|
||||||
@@ -804,9 +806,10 @@ AC_CHECK_LIB(${xmlLib}, xmlGetProp,
|
|
||||||
|
|
||||||
|
|
||||||
dnl find zlib
|
|
||||||
-AC_CHECK_LIB(z, gzopen,
|
|
||||||
- [],
|
|
||||||
- [AC_MSG_ERROR([TORQUE needs zlib-devel in order to build]) ])
|
|
||||||
+AC_CHECK_LIB(z, gzopen,[LIBS="$LIBS -lz"], [AC_MSG_ERROR(could not find zlib)])
|
|
||||||
+# AC_CHECK_LIB(z, gzopen,
|
|
||||||
+# [],
|
|
||||||
+# [AC_MSG_ERROR([TORQUE needs zlib-devel in order to build]) ])
|
|
||||||
|
|
||||||
|
|
||||||
dnl ###########################################
|
|
||||||
@@ -858,6 +861,7 @@ dnl
|
|
||||||
|
|
||||||
AC_HEADER_DIRENT
|
|
||||||
AC_HEADER_STDC
|
|
||||||
+
|
|
||||||
AC_HEADER_SYS_WAIT
|
|
||||||
|
|
||||||
AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h limits.h malloc.h netdb.h \
|
|
||||||
@@ -1368,8 +1372,7 @@ dnl Add the ability to link against the
|
|
||||||
dnl
|
|
||||||
dnl --with-pmix
|
|
||||||
AC_ARG_WITH([pmix],
|
|
||||||
- [AC_HELP_STRING([--with-pmix(=DIR)],
|
|
||||||
- [Build PMIx support. DIR can either be left off, or be a valid directory name. Supplying a valid directory name adds DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])])
|
|
||||||
+ [AS_HELP_STRING([--with-pmix(=DIR)],[Build PMIx support. DIR can either be left off, or be a valid directory name. Supplying a valid directory name adds DIR/include, DIR/lib, and DIR/lib64 to the search path for headers and libraries])])
|
|
||||||
|
|
||||||
AC_MSG_CHECKING([if user requested PMIx support($with_pmix)])
|
|
||||||
AS_IF([test -z "$with_pmix" || test "$with_pmix" = "no"],
|
|
||||||
@@ -2421,7 +2424,7 @@ dnl modulefiles
|
|
||||||
AC_MSG_CHECKING([whether to install modulefiles])
|
|
||||||
|
|
||||||
AC_ARG_WITH(modulefiles,
|
|
||||||
- AC_HELP_STRING([--with-modulefiles@<:@=DIR@:>@], [use modulefiles in specified directory [[/etc/modulefiles]]]),
|
|
||||||
+ AS_HELP_STRING([--with-modulefiles@<:@=DIR@:>@],[use modulefiles in specified directory [[/etc/modulefiles]]]),
|
|
||||||
[], [with_modulefiles="no"])
|
|
||||||
if test "$with_modulefiles" != 'no'; then
|
|
||||||
if test "$with_modulefiles" = 'yes'; then
|
|
||||||
@@ -2530,7 +2533,7 @@ fi
|
|
||||||
AC_CHECK_FUNC(ntohl, [ :],
|
|
||||||
AC_MSG_CHECKING([for ntohl in arpa/inet.h])
|
|
||||||
torque_cv_ntohl_needs_arpa_inet_h="no"
|
|
||||||
- AC_TRY_COMPILE([
|
|
||||||
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
|
||||||
#ifdef HAVE_SYS_TYPES_H
|
|
||||||
#include <sys/types.h>
|
|
||||||
#endif
|
|
||||||
@@ -2540,9 +2543,8 @@ AC_CHECK_FUNC(ntohl, [ :],
|
|
||||||
#ifdef HAVE_ARPA_INET_H
|
|
||||||
#include <arpa/inet.h>
|
|
||||||
#endif
|
|
||||||
- ],[exit(ntohl(0));],
|
|
||||||
- [torque_cv_ntohl_needs_arpa_inet_h="yes"
|
|
||||||
- AC_DEFINE_UNQUOTED([NTOHL_NEEDS_ARPA_INET_H],1,[Define if ntohl() is declared in arpa/inet.h])])
|
|
||||||
+ ]], [[exit(ntohl(0));]])],[torque_cv_ntohl_needs_arpa_inet_h="yes"
|
|
||||||
+ AC_DEFINE_UNQUOTED([NTOHL_NEEDS_ARPA_INET_H],1,[Define if ntohl() is declared in arpa/inet.h])],[])
|
|
||||||
AC_MSG_RESULT($torque_cv_ntohl_needs_arpa_inet_h)
|
|
||||||
)
|
|
||||||
|
|
||||||
@@ -2672,7 +2674,7 @@ AC_DEFINE_UNQUOTED([PBS_CFLAGS],"${CFLAG
|
|
||||||
|
|
||||||
AC_CONFIG_FILES([torque.spec:buildutils/torque.spec.in])
|
|
||||||
#The output files are alphabetically ordered by src then check test files
|
|
||||||
-AC_OUTPUT(buildutils/pbs_mkdirs
|
|
||||||
+AC_CONFIG_FILES([buildutils/pbs_mkdirs
|
|
||||||
buildutils/self-extract-head-sh
|
|
||||||
buildutils/modulefiles
|
|
||||||
buildutils/modulefiles.vers
|
|
||||||
@@ -2727,7 +2729,8 @@ AC_OUTPUT(buildutils/pbs_mkdirs
|
|
||||||
src/drmaa/Doxyfile
|
|
||||||
src/pam/Makefile
|
|
||||||
|
|
||||||
-)
|
|
||||||
+])
|
|
||||||
+AC_OUTPUT
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Building components: server=$build_server mom=$build_mom clients=$build_clients
|
|
@ -1,33 +0,0 @@
|
|||||||
diff -up torque/src/drmaa/src/compat.h.bool-fix torque/src/drmaa/src/compat.h
|
|
||||||
--- torque/src/drmaa/src/compat.h.bool-fix 2021-01-28 17:59:06.149190046 -0500
|
|
||||||
+++ torque/src/drmaa/src/compat.h 2021-01-28 17:59:16.941243507 -0500
|
|
||||||
@@ -51,6 +51,7 @@ int asprintf(char **strp, const char *fm
|
|
||||||
int vasprintf(char **strp, const char *fmt, va_list ap);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+/*
|
|
||||||
#ifndef HAVE_STDBOOL_H
|
|
||||||
# ifndef bool
|
|
||||||
# define bool int
|
|
||||||
@@ -62,6 +63,7 @@ int vasprintf(char **strp, const char *f
|
|
||||||
# define false 0
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
+*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
diff -up torque/src/include/pbs_ifl.h.bool-fix torque/src/include/pbs_ifl.h
|
|
||||||
--- torque/src/include/pbs_ifl.h.bool-fix 2021-01-28 16:14:24.000000000 -0500
|
|
||||||
+++ torque/src/include/pbs_ifl.h 2021-01-28 17:50:17.068569045 -0500
|
|
||||||
@@ -87,6 +87,10 @@
|
|
||||||
#define _PBS_IFL_DEF
|
|
||||||
#include <sys/socket.h>
|
|
||||||
|
|
||||||
+#ifdef __cplusplus
|
|
||||||
+#include <stdbool.h>
|
|
||||||
+#endif /* __cplusplus */
|
|
||||||
+
|
|
||||||
/* Attribute Names used by user commands */
|
|
||||||
|
|
||||||
#define ATTR_a "Execution_Time"
|
|
@ -1,46 +0,0 @@
|
|||||||
diff -up torque/contrib/init.d/pbs_mom.in.port-args torque/contrib/init.d/pbs_mom.in
|
|
||||||
--- torque/contrib/init.d/pbs_mom.in.port-args 2021-01-28 16:29:53.554947436 -0500
|
|
||||||
+++ torque/contrib/init.d/pbs_mom.in 2021-01-28 16:33:43.410074859 -0500
|
|
||||||
@@ -25,6 +25,8 @@ SBIN_PATH=@sbindir@
|
|
||||||
PBS_DAEMON="$SBIN_PATH/pbs_mom"
|
|
||||||
PBS_HOME=@PBS_HOME@
|
|
||||||
PBS_ARGS=""
|
|
||||||
+# this should be the integer port value
|
|
||||||
+PBS_PORT=""
|
|
||||||
|
|
||||||
SUBSYS_LOCK="/var/lock/subsys/pbs_mom"
|
|
||||||
|
|
||||||
@@ -32,6 +34,14 @@ if [ -f /etc/sysconfig/pbs_mom ];then
|
|
||||||
. /etc/sysconfig/pbs_mom
|
|
||||||
fi
|
|
||||||
|
|
||||||
+if [ -z "$PBS_PORT" ]; then
|
|
||||||
+ momctl_port_arg=""
|
|
||||||
+ pbs_mom_port_arg=""
|
|
||||||
+else
|
|
||||||
+ momctl_port_arg="$PBS_PORT"
|
|
||||||
+ pbs_mom_port_arg="-M $PBS_PORT"
|
|
||||||
+fi
|
|
||||||
+
|
|
||||||
MOM_LOCK="$PBS_HOME/mom_priv/mom.lock"
|
|
||||||
|
|
||||||
if [ -z "$previous" ];then
|
|
||||||
@@ -84,7 +94,7 @@ kill_pbs_mom() {
|
|
||||||
retval=1
|
|
||||||
for i in {1..5}; do
|
|
||||||
kill -0 $pid &>/dev/null || return 0
|
|
||||||
- $SBIN_PATH/momctl -s && return $?
|
|
||||||
+ $SBIN_PATH/momctl -s $momctl_port_arg && return $?
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
return $retval
|
|
||||||
@@ -110,7 +120,7 @@ case "$1" in
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ulimit -c unlimited # Uncomment this to preserve core files
|
|
||||||
- daemon $PBS_DAEMON $args -d $PBS_HOME $PBS_ARGS
|
|
||||||
+ daemon $PBS_DAEMON $args $pbs_mom_port_arg -d $PBS_HOME $PBS_ARGS
|
|
||||||
RET=$?
|
|
||||||
touch $SUBSYS_LOCK
|
|
||||||
echo
|
|
||||||
diff -up torque/contrib/init.d/pbs_sched.in.port-args torque/contrib/init.d/pbs_sched.in
|
|
@ -1,318 +0,0 @@
|
|||||||
diff -up torque/configure.ac.system-jsoncpp torque/configure.ac
|
|
||||||
--- torque/configure.ac.system-jsoncpp 2021-01-28 17:33:44.008649547 -0500
|
|
||||||
+++ torque/configure.ac 2021-01-28 17:37:26.446751483 -0500
|
|
||||||
@@ -1311,6 +1311,13 @@ if test "x$HWLOC_CFLAGS" != "xnone"; the
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
+PKG_CHECK_MODULES([JSONCPP], [jsoncpp],
|
|
||||||
+ [ CFLAGS="$CFLAGS $JSONCPP_CFLAGS"; CPPFLAGS="$CPPFLAGS $JSONCPP_CFLAGS"; ],
|
|
||||||
+ [ AC_MSG_ERROR([$JSONCPP_PKG_ERRORS])])
|
|
||||||
+
|
|
||||||
+LIBS="$LIBS $JSONCPP_LIBS";
|
|
||||||
+
|
|
||||||
+
|
|
||||||
dnl enable pbs_mom to use the cpuset API from libcpuset
|
|
||||||
dnl only makes sense with cpusets enabled
|
|
||||||
AC_ARG_ENABLE(libcpuset, [ --enable-libcpuset Allows pbs_mom to use the cpuset API from libcpuset])
|
|
||||||
diff -up torque/src/include/machine.hpp.system-jsoncpp torque/src/include/machine.hpp
|
|
||||||
--- torque/src/include/machine.hpp.system-jsoncpp 2021-01-28 17:15:46.295362401 -0500
|
|
||||||
+++ torque/src/include/machine.hpp 2021-01-28 17:15:58.310420979 -0500
|
|
||||||
@@ -14,7 +14,7 @@
|
|
||||||
#include "pbs_job.h"
|
|
||||||
#include "req.hpp"
|
|
||||||
#include "allocation.hpp"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
extern const int ALL_TASKS;
|
|
||||||
|
|
||||||
|
|
||||||
diff -up torque/src/include/Makefile.am.system-jsoncpp torque/src/include/Makefile.am
|
|
||||||
--- torque/src/include/Makefile.am.system-jsoncpp 2021-01-28 17:15:10.067185774 -0500
|
|
||||||
+++ torque/src/include/Makefile.am 2021-01-28 17:15:22.285245341 -0500
|
|
||||||
@@ -27,8 +27,8 @@ noinst_HEADERS = acct.h array.h assertio
|
|
||||||
job_usage_info.hpp machine.hpp req.hpp complete_req.hpp trq_cgroups.h \
|
|
||||||
job_recovery.h allocation.hpp attr_req_info.hpp acl_special.hpp restricted_host.hpp \
|
|
||||||
pbs_helper.h mail_throttler.hpp lib_ifl.h runjob_help.hpp pmix_tracker.hpp \
|
|
||||||
- pmix_operation.hpp job_host_data.hpp policy_values.h plugin_internal.h json/json.h \
|
|
||||||
- json/json-forwards.h authorized_hosts.hpp numa_constants.h
|
|
||||||
+ pmix_operation.hpp job_host_data.hpp policy_values.h plugin_internal.h \
|
|
||||||
+ authorized_hosts.hpp numa_constants.h
|
|
||||||
|
|
||||||
BUILT_SOURCES = site_job_attr_def.h site_job_attr_enum.h \
|
|
||||||
site_qmgr_node_print.h site_qmgr_que_print.h \
|
|
||||||
diff -up torque/src/include/pbs_job.h.system-jsoncpp torque/src/include/pbs_job.h
|
|
||||||
--- torque/src/include/pbs_job.h.system-jsoncpp 2021-01-28 17:16:09.054473361 -0500
|
|
||||||
+++ torque/src/include/pbs_job.h 2021-01-28 17:18:26.715144482 -0500
|
|
||||||
@@ -104,7 +104,7 @@
|
|
||||||
#include "tcp.h" /* tcp_chan */
|
|
||||||
#include "net_connect.h"
|
|
||||||
#include "job_host_data.hpp"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
|
|
||||||
|
|
||||||
#define SAVEJOB_BUF_SIZE 8192
|
|
||||||
diff -up torque/src/lib/Libutils/Makefile.am.system-jsoncpp torque/src/lib/Libutils/Makefile.am
|
|
||||||
--- torque/src/lib/Libutils/Makefile.am.system-jsoncpp 2021-01-28 17:19:31.650461068 -0500
|
|
||||||
+++ torque/src/lib/Libutils/Makefile.am 2021-01-28 17:19:42.934516083 -0500
|
|
||||||
@@ -10,6 +10,6 @@ noinst_LIBRARIES = libutils.a
|
|
||||||
libutils_a_SOURCES = u_groups.c u_tree.c u_mu.c u_MXML.c u_xml.c u_threadpool.c u_lock_ctl.c \
|
|
||||||
u_mom_hierarchy.c u_hash_map_structs.c u_users.c u_constants.c u_mutex_mgr.cpp \
|
|
||||||
u_misc.c u_putenv.c u_wrapper.c u_timer.cpp machine.cpp numa_chip.cpp \
|
|
||||||
- numa_core.cpp numa_pci_device.cpp numa_socket.cpp allocation.cpp jsoncpp.cpp \
|
|
||||||
+ numa_core.cpp numa_pci_device.cpp numa_socket.cpp allocation.cpp \
|
|
||||||
authorized_hosts.cpp numa_constants.cpp
|
|
||||||
|
|
||||||
diff -up torque/src/resmom/catch_child.c.system-jsoncpp torque/src/resmom/catch_child.c
|
|
||||||
--- torque/src/resmom/catch_child.c.system-jsoncpp 2021-01-28 17:20:20.852700949 -0500
|
|
||||||
+++ torque/src/resmom/catch_child.c 2021-01-28 17:20:32.701758691 -0500
|
|
||||||
@@ -51,7 +51,7 @@
|
|
||||||
#include "pbs_cpuset.h"
|
|
||||||
#endif
|
|
||||||
#include "mom_config.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
|
|
||||||
#define DIS_REPLY_READ_RETRY 10
|
|
||||||
|
|
||||||
diff -up torque/src/resmom/mom_server.c.system-jsoncpp torque/src/resmom/mom_server.c
|
|
||||||
--- torque/src/resmom/mom_server.c.system-jsoncpp 2021-01-28 17:20:47.497830825 -0500
|
|
||||||
+++ torque/src/resmom/mom_server.c 2021-01-28 17:21:04.386913166 -0500
|
|
||||||
@@ -251,7 +251,7 @@
|
|
||||||
#include "machine.hpp"
|
|
||||||
#endif
|
|
||||||
#ifdef USE_RESOURCE_PLUGIN
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
#include "trq_plugin_api.h"
|
|
||||||
#include "plugin_internal.h"
|
|
||||||
#endif
|
|
||||||
diff -up torque/src/resmom/parse_config.c.system-jsoncpp torque/src/resmom/parse_config.c
|
|
||||||
--- torque/src/resmom/parse_config.c.system-jsoncpp 2021-01-28 17:21:14.600962963 -0500
|
|
||||||
+++ torque/src/resmom/parse_config.c 2021-01-28 17:21:26.865022756 -0500
|
|
||||||
@@ -99,7 +99,7 @@
|
|
||||||
#include "mom_func.h"
|
|
||||||
#include "authorized_hosts.hpp"
|
|
||||||
#include "csv.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
#include "req.hpp"
|
|
||||||
|
|
||||||
void encode_used(job *pjob, int perm, Json::Value *, tlist_head *phead);
|
|
||||||
diff -up torque/src/resmom/prolog.c.system-jsoncpp torque/src/resmom/prolog.c
|
|
||||||
--- torque/src/resmom/prolog.c.system-jsoncpp 2021-01-28 17:21:37.352073884 -0500
|
|
||||||
+++ torque/src/resmom/prolog.c 2021-01-28 17:21:49.191131604 -0500
|
|
||||||
@@ -108,7 +108,7 @@
|
|
||||||
#include "net_connect.h"
|
|
||||||
#include "utils.h"
|
|
||||||
#include "mom_config.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
|
|
||||||
|
|
||||||
const int PELOG_DOESNT_EXIST = -1;
|
|
||||||
diff -up torque/src/resmom/requests.c.system-jsoncpp torque/src/resmom/requests.c
|
|
||||||
--- torque/src/resmom/requests.c.system-jsoncpp 2021-01-28 17:22:05.545211337 -0500
|
|
||||||
+++ torque/src/resmom/requests.c 2021-01-28 17:22:16.108262836 -0500
|
|
||||||
@@ -123,7 +123,7 @@
|
|
||||||
#include "power_state.hpp"
|
|
||||||
#ifdef USE_RESOURCE_PLUGIN
|
|
||||||
#include "plugin_internal.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef _CRAY
|
|
||||||
diff -up torque/src/server/job.cpp.system-jsoncpp torque/src/server/job.cpp
|
|
||||||
--- torque/src/server/job.cpp.system-jsoncpp 2021-01-28 17:22:46.476410893 -0500
|
|
||||||
+++ torque/src/server/job.cpp 2021-01-28 17:22:57.246463402 -0500
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
#include <pbs_config.h>
|
|
||||||
#include "pbs_job.h"
|
|
||||||
#include "log.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
diff -up torque/src/server/node_manager.c.system-jsoncpp torque/src/server/node_manager.c
|
|
||||||
--- torque/src/server/node_manager.c.system-jsoncpp 2021-01-28 17:24:40.798968223 -0500
|
|
||||||
+++ torque/src/server/node_manager.c 2021-01-28 17:24:52.041023032 -0500
|
|
||||||
@@ -140,7 +140,7 @@
|
|
||||||
#endif
|
|
||||||
#include "runjob_help.hpp"
|
|
||||||
#include "plugin_internal.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
#include "authorized_hosts.hpp"
|
|
||||||
|
|
||||||
#define IS_VALID_STR(STR) (((STR) != NULL) && ((STR)[0] != '\0'))
|
|
||||||
diff -up torque/src/server/pbsnode.cpp.system-jsoncpp torque/src/server/pbsnode.cpp
|
|
||||||
--- torque/src/server/pbsnode.cpp.system-jsoncpp 2021-01-28 17:22:27.386317821 -0500
|
|
||||||
+++ torque/src/server/pbsnode.cpp 2021-01-28 17:22:38.162370359 -0500
|
|
||||||
@@ -9,7 +9,7 @@
|
|
||||||
#include "../lib/Libnet/lib_net.h" /* pbs_getaddrinfo */
|
|
||||||
#include "alps_constants.h"
|
|
||||||
#include "policy_values.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
#include "plugin_internal.h"
|
|
||||||
|
|
||||||
#define MSG_LEN_LONG 160
|
|
||||||
diff -up torque/src/test/catch_child/scaffolding.c.system-jsoncpp torque/src/test/catch_child/scaffolding.c
|
|
||||||
--- torque/src/test/catch_child/scaffolding.c.system-jsoncpp 2021-01-28 17:25:02.101072079 -0500
|
|
||||||
+++ torque/src/test/catch_child/scaffolding.c 2021-01-28 17:25:14.307131588 -0500
|
|
||||||
@@ -20,7 +20,7 @@
|
|
||||||
#include "mom_func.h"
|
|
||||||
#include "mom_job_cleanup.h"
|
|
||||||
#include "complete_req.hpp"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
|
|
||||||
int server_down;
|
|
||||||
int called_open_socket = 0;
|
|
||||||
diff -up torque/src/test/job/test_uut.c.system-jsoncpp torque/src/test/job/test_uut.c
|
|
||||||
--- torque/src/test/job/test_uut.c.system-jsoncpp 2021-01-28 17:25:24.008178885 -0500
|
|
||||||
+++ torque/src/test/job/test_uut.c 2021-01-28 17:25:33.824226742 -0500
|
|
||||||
@@ -5,7 +5,7 @@
|
|
||||||
|
|
||||||
#include "pbs_error.h"
|
|
||||||
#include "pbs_job.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
#include <check.h>
|
|
||||||
|
|
||||||
extern attribute_def job_attr_def[];
|
|
||||||
diff -up torque/src/test/machine/scaffolding.c.system-jsoncpp torque/src/test/machine/scaffolding.c
|
|
||||||
--- torque/src/test/machine/scaffolding.c.system-jsoncpp 2021-01-28 17:26:18.917446590 -0500
|
|
||||||
+++ torque/src/test/machine/scaffolding.c 2021-01-28 17:26:28.467493151 -0500
|
|
||||||
@@ -6,7 +6,7 @@
|
|
||||||
#include "pbs_error.h"
|
|
||||||
#include "allocation.hpp"
|
|
||||||
#include "complete_req.hpp"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
#include "numa_constants.h"
|
|
||||||
|
|
||||||
int num_for_host;
|
|
||||||
diff -up torque/src/test/machine/test_uut.c.system-jsoncpp torque/src/test/machine/test_uut.c
|
|
||||||
--- torque/src/test/machine/test_uut.c.system-jsoncpp 2021-01-28 17:26:37.960539433 -0500
|
|
||||||
+++ torque/src/test/machine/test_uut.c 2021-01-28 17:26:48.545591403 -0500
|
|
||||||
@@ -9,7 +9,7 @@
|
|
||||||
#include "pbs_job.h"
|
|
||||||
#include "complete_req.hpp"
|
|
||||||
#include "pbs_config.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
|
|
||||||
extern int hardware_style;
|
|
||||||
|
|
||||||
diff -up torque/src/test/node_manager/scaffolding.c.system-jsoncpp torque/src/test/node_manager/scaffolding.c
|
|
||||||
--- torque/src/test/node_manager/scaffolding.c.system-jsoncpp 2021-01-28 17:25:45.583284073 -0500
|
|
||||||
+++ torque/src/test/node_manager/scaffolding.c 2021-01-28 17:25:57.028339872 -0500
|
|
||||||
@@ -21,7 +21,7 @@
|
|
||||||
#include "id_map.hpp"
|
|
||||||
#include "machine.hpp"
|
|
||||||
#include "complete_req.hpp"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
#include "authorized_hosts.hpp"
|
|
||||||
|
|
||||||
|
|
||||||
diff -up torque/src/test/node_manager/test_uut.c.system-jsoncpp torque/src/test/node_manager/test_uut.c
|
|
||||||
--- torque/src/test/node_manager/test_uut.c.system-jsoncpp 2021-01-28 17:26:59.731646817 -0500
|
|
||||||
+++ torque/src/test/node_manager/test_uut.c 2021-01-28 17:27:08.815691817 -0500
|
|
||||||
@@ -12,7 +12,7 @@
|
|
||||||
#include "test_uut.h"
|
|
||||||
#include "pbs_error.h"
|
|
||||||
#include "server.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
#include "complete_req.hpp"
|
|
||||||
#include "pbs_nodes.h"
|
|
||||||
|
|
||||||
diff -up torque/src/test/numa_chip/scaffolding.c.system-jsoncpp torque/src/test/numa_chip/scaffolding.c
|
|
||||||
--- torque/src/test/numa_chip/scaffolding.c.system-jsoncpp 2021-01-28 17:27:17.770736185 -0500
|
|
||||||
+++ torque/src/test/numa_chip/scaffolding.c 2021-01-28 17:27:25.892776426 -0500
|
|
||||||
@@ -4,7 +4,7 @@
|
|
||||||
#include "log.h"
|
|
||||||
#include "pbs_error.h"
|
|
||||||
#include "machine.hpp"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
#include "numa_constants.h"
|
|
||||||
|
|
||||||
const char *use_cores = "usecores";
|
|
||||||
diff -up torque/src/test/numa_chip/test_uut.c.system-jsoncpp torque/src/test/numa_chip/test_uut.c
|
|
||||||
--- torque/src/test/numa_chip/test_uut.c.system-jsoncpp 2021-01-28 17:27:33.612814672 -0500
|
|
||||||
+++ torque/src/test/numa_chip/test_uut.c 2021-01-28 17:27:41.267852594 -0500
|
|
||||||
@@ -6,7 +6,7 @@
|
|
||||||
#include "hwloc.h"
|
|
||||||
#include "pbs_error.h"
|
|
||||||
#include <sstream>
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
|
|
||||||
extern int recorded;
|
|
||||||
|
|
||||||
diff -up torque/src/test/numa_socket/scaffolding.c.system-jsoncpp torque/src/test/numa_socket/scaffolding.c
|
|
||||||
--- torque/src/test/numa_socket/scaffolding.c.system-jsoncpp 2021-01-28 17:27:51.494903256 -0500
|
|
||||||
+++ torque/src/test/numa_socket/scaffolding.c 2021-01-28 17:28:01.090950793 -0500
|
|
||||||
@@ -6,7 +6,7 @@
|
|
||||||
#include "pbs_error.h"
|
|
||||||
#include "req.hpp"
|
|
||||||
#include "allocation.hpp"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
|
|
||||||
int hardware_style;
|
|
||||||
float tasks;
|
|
||||||
diff -up torque/src/test/numa_socket/test_uut.c.system-jsoncpp torque/src/test/numa_socket/test_uut.c
|
|
||||||
--- torque/src/test/numa_socket/test_uut.c.system-jsoncpp 2021-01-28 17:28:13.915014321 -0500
|
|
||||||
+++ torque/src/test/numa_socket/test_uut.c 2021-01-28 17:28:22.609057389 -0500
|
|
||||||
@@ -8,7 +8,7 @@
|
|
||||||
#include "pbs_error.h"
|
|
||||||
#include "allocation.hpp"
|
|
||||||
#include "req.hpp"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
|
|
||||||
extern float tasks;
|
|
||||||
extern int placed;
|
|
||||||
diff -up torque/src/test/parse_config/scaffolding.c.system-jsoncpp torque/src/test/parse_config/scaffolding.c
|
|
||||||
--- torque/src/test/parse_config/scaffolding.c.system-jsoncpp 2021-01-28 17:29:00.388244539 -0500
|
|
||||||
+++ torque/src/test/parse_config/scaffolding.c 2021-01-28 17:29:10.473294499 -0500
|
|
||||||
@@ -7,7 +7,7 @@
|
|
||||||
#include "pbs_job.h"
|
|
||||||
#include "u_tree.h"
|
|
||||||
#include "log.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
#include "authorized_hosts.hpp"
|
|
||||||
|
|
||||||
#define LOG_BUF_SIZE 16384
|
|
||||||
diff -up torque/src/test/parse_config/test_uut.c.system-jsoncpp torque/src/test/parse_config/test_uut.c
|
|
||||||
--- torque/src/test/parse_config/test_uut.c.system-jsoncpp 2021-01-28 17:28:40.823147618 -0500
|
|
||||||
+++ torque/src/test/parse_config/test_uut.c 2021-01-28 17:28:51.173198890 -0500
|
|
||||||
@@ -5,7 +5,7 @@
|
|
||||||
|
|
||||||
#include "pbs_job.h"
|
|
||||||
#include "mom_func.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
|
|
||||||
extern int encode_used_ctr;
|
|
||||||
extern int encode_flagged_attrs_ctr;
|
|
||||||
diff -up torque/src/test/prolog/scaffolding.c.system-jsoncpp torque/src/test/prolog/scaffolding.c
|
|
||||||
--- torque/src/test/prolog/scaffolding.c.system-jsoncpp 2021-01-28 17:29:18.930336393 -0500
|
|
||||||
+++ torque/src/test/prolog/scaffolding.c 2021-01-28 17:29:28.645384519 -0500
|
|
||||||
@@ -13,7 +13,7 @@
|
|
||||||
#include "libpbs.h" /* job_file */
|
|
||||||
#include "mom_config.h"
|
|
||||||
#include "mom_mach.h"
|
|
||||||
-#include "json/json.h"
|
|
||||||
+#include <json/json.h>
|
|
||||||
|
|
||||||
#define MAXLINE 1024
|
|
||||||
|
|
@ -1,173 +0,0 @@
|
|||||||
diff -uNr torque-2.5.5.ORIG/src/lib/Libnet/get_hostaddr.c torque-2.5.5/src/lib/Libnet/get_hostaddr.c
|
|
||||||
--- torque-2.5.5.ORIG/src/lib/Libnet/get_hostaddr.c 2011-06-08 18:40:00.251913002 +0200
|
|
||||||
+++ torque-2.5.5/src/lib/Libnet/get_hostaddr.c 2011-06-08 18:41:06.651911946 +0200
|
|
||||||
@@ -147,7 +147,8 @@
|
|
||||||
|
|
||||||
if (hp == NULL)
|
|
||||||
{
|
|
||||||
- sprintf(log_buffer,"cannot resolve IP address for host '%s' herror=%d: %s",
|
|
||||||
+ snprintf(log_buffer, sizeof(log_buffer),
|
|
||||||
+ "cannot resolve IP address for host '%s' herror=%d: %s",
|
|
||||||
hostname,
|
|
||||||
h_errno,
|
|
||||||
hstrerror(h_errno));
|
|
||||||
diff -uNr torque-2.5.5.ORIG/src/server/req_quejob.c torque-2.5.5/src/server/req_quejob.c
|
|
||||||
--- torque-2.5.5.ORIG/src/server/req_quejob.c 2011-06-08 18:40:00.315913002 +0200
|
|
||||||
+++ torque-2.5.5/src/server/req_quejob.c 2011-06-08 18:49:36.449912391 +0200
|
|
||||||
@@ -1053,17 +1053,19 @@
|
|
||||||
{
|
|
||||||
if (errno == 0)
|
|
||||||
{
|
|
||||||
- sprintf(log_buffer, "job %s in unexpected state '%s'",
|
|
||||||
- pj->ji_qs.ji_jobid,
|
|
||||||
- PJobSubState[pj->ji_qs.ji_substate]);
|
|
||||||
+ snprintf(log_buffer, sizeof(log_buffer),
|
|
||||||
+ "job %s in unexpected state '%s'",
|
|
||||||
+ pj->ji_qs.ji_jobid,
|
|
||||||
+ PJobSubState[pj->ji_qs.ji_substate]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
- sprintf(log_buffer, "job %s in unexpected state '%s' (errno=%d - %s)",
|
|
||||||
- pj->ji_qs.ji_jobid,
|
|
||||||
- PJobSubState[pj->ji_qs.ji_substate],
|
|
||||||
- errno,
|
|
||||||
- strerror(errno));
|
|
||||||
+ snprintf(log_buffer, sizeof(log_buffer),
|
|
||||||
+ "job %s in unexpected state '%s' (errno=%d - %s)",
|
|
||||||
+ pj->ji_qs.ji_jobid,
|
|
||||||
+ PJobSubState[pj->ji_qs.ji_substate],
|
|
||||||
+ errno,
|
|
||||||
+ strerror(errno));
|
|
||||||
}
|
|
||||||
|
|
||||||
log_err(errno, id, log_buffer);
|
|
||||||
@@ -1264,9 +1266,10 @@
|
|
||||||
|
|
||||||
if (LOGLEVEL >= 6)
|
|
||||||
{
|
|
||||||
- sprintf(log_buffer, "successfully moved file '%s' for job '%s'",
|
|
||||||
- namebuf,
|
|
||||||
- preq->rq_ind.rq_jobfile.rq_jobid);
|
|
||||||
+ snprintf(log_buffer, sizeof(log_buffer),
|
|
||||||
+ "successfully moved file '%s' for job '%s'",
|
|
||||||
+ namebuf,
|
|
||||||
+ preq->rq_ind.rq_jobfile.rq_jobid);
|
|
||||||
|
|
||||||
log_record(
|
|
||||||
PBSEVENT_JOB,
|
|
||||||
@@ -1382,9 +1385,11 @@
|
|
||||||
{
|
|
||||||
char tmpLine[1024];
|
|
||||||
|
|
||||||
- sprintf(tmpLine, "cannot save job - errno=%d - %s",
|
|
||||||
- errno,
|
|
||||||
- strerror(errno));
|
|
||||||
+ snprintf(tmpLine, sizeof(tmpLine),
|
|
||||||
+ "cannot save job - errno=%d - %s",
|
|
||||||
+ errno,
|
|
||||||
+ strerror(errno));
|
|
||||||
+
|
|
||||||
|
|
||||||
log_err(errno, id, tmpLine);
|
|
||||||
|
|
||||||
@@ -1408,9 +1413,11 @@
|
|
||||||
{
|
|
||||||
/* reply failed, purge the job and close the connection */
|
|
||||||
|
|
||||||
- sprintf(log_buffer, "cannot report jobid - errno=%d - %s",
|
|
||||||
- errno,
|
|
||||||
- strerror(errno));
|
|
||||||
+ snprintf(log_buffer, sizeof(log_buffer),
|
|
||||||
+ "cannot report jobid - errno=%d - %s",
|
|
||||||
+ errno,
|
|
||||||
+ strerror(errno));
|
|
||||||
+
|
|
||||||
|
|
||||||
log_err(errno, id, log_buffer);
|
|
||||||
|
|
||||||
@@ -1700,11 +1707,12 @@
|
|
||||||
|
|
||||||
/* need to format message first, before request goes away */
|
|
||||||
|
|
||||||
- sprintf(log_buffer, msg_jobnew,
|
|
||||||
- preq->rq_user, preq->rq_host,
|
|
||||||
- pj->ji_wattr[(int)JOB_ATR_job_owner].at_val.at_str,
|
|
||||||
- pj->ji_wattr[(int)JOB_ATR_jobname].at_val.at_str,
|
|
||||||
- pj->ji_qhdr->qu_qs.qu_name);
|
|
||||||
+ snprintf(log_buffer, sizeof(log_buffer),
|
|
||||||
+ msg_jobnew,
|
|
||||||
+ preq->rq_user, preq->rq_host,
|
|
||||||
+ pj->ji_wattr[JOB_ATR_job_owner].at_val.at_str,
|
|
||||||
+ pj->ji_wattr[JOB_ATR_jobname].at_val.at_str,
|
|
||||||
+ pj->ji_qhdr->qu_qs.qu_name);
|
|
||||||
|
|
||||||
/* acknowledge the request with the job id */
|
|
||||||
|
|
||||||
@@ -1739,8 +1747,10 @@
|
|
||||||
{
|
|
||||||
if (LOGLEVEL >= 7)
|
|
||||||
{
|
|
||||||
- sprintf(log_buffer, "Trying to AUTORUN job %s",
|
|
||||||
- pj->ji_qs.ji_jobid);
|
|
||||||
+ snprintf(log_buffer, sizeof(log_buffer),
|
|
||||||
+ "Trying to AUTORUN job %s",
|
|
||||||
+ pj->ji_qs.ji_jobid);
|
|
||||||
+
|
|
||||||
log_record(
|
|
||||||
PBSEVENT_JOB,
|
|
||||||
PBS_EVENTCLASS_JOB,
|
|
||||||
@@ -1861,7 +1871,7 @@
|
|
||||||
|
|
||||||
if (!user_account_read_user(arguser))
|
|
||||||
{
|
|
||||||
- sprintf(log_buffer, "user_account_verify(%s, %s) -> USER NOT FOUND",
|
|
||||||
+ snprintf(log_buffer,sizeof(log_buffer), "user_account_verify(%s, %s) -> USER NOT FOUND",
|
|
||||||
arguser,
|
|
||||||
argaccount);
|
|
||||||
|
|
||||||
@@ -1872,7 +1882,7 @@
|
|
||||||
{
|
|
||||||
if (strcmp(argaccount, UserAcct.ActAdr[i]) == 0)
|
|
||||||
{
|
|
||||||
- sprintf(log_buffer, "user_account_verify(%s, %s) -> SUCCESS",
|
|
||||||
+ snprintf(log_buffer,sizeof(log_buffer), "user_account_verify(%s, %s) -> SUCCESS",
|
|
||||||
arguser,
|
|
||||||
argaccount);
|
|
||||||
|
|
||||||
@@ -1882,7 +1892,7 @@
|
|
||||||
}
|
|
||||||
} /* END for (i) */
|
|
||||||
|
|
||||||
- sprintf(log_buffer, "user_account_verify(%s, %s) -> FAILED",
|
|
||||||
+ snprintf(log_buffer, sizeof(log_buffer) "user_account_verify(%s, %s) -> FAILED",
|
|
||||||
arguser,
|
|
||||||
argaccount);
|
|
||||||
|
|
||||||
@@ -1909,7 +1919,7 @@
|
|
||||||
|
|
||||||
if (!user_account_read_user(arguser))
|
|
||||||
{
|
|
||||||
- sprintf(log_buffer, "user_account_default(%s) = USER NOT FOUND",
|
|
||||||
+ snprintf(log_buffer,sizeof(log_buffer), "user_account_default(%s) = USER NOT FOUND",
|
|
||||||
arguser);
|
|
||||||
|
|
||||||
goto user_account_default_done;
|
|
||||||
@@ -1917,7 +1927,7 @@
|
|
||||||
|
|
||||||
if (UserAcct.ActCnt < 1)
|
|
||||||
{
|
|
||||||
- sprintf(log_buffer, "user_account_default(%s) = NO PROJECT FOUND",
|
|
||||||
+ snprintf(log_buffer, sizeof(log_buffer), "user_account_default(%s) = NO PROJECT FOUND",
|
|
||||||
arguser);
|
|
||||||
|
|
||||||
goto user_account_default_done;
|
|
||||||
@@ -1925,7 +1935,7 @@
|
|
||||||
|
|
||||||
rc = UserAcct.ActAdr[0];
|
|
||||||
|
|
||||||
- sprintf(log_buffer, "user_account_default(%s) = %s",
|
|
||||||
+ snprintf(log_buffer, sizeof(log_buffer), "user_account_default(%s) = %s",
|
|
||||||
arguser,
|
|
||||||
rc);
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
|||||||
diff -uNr torque-2.5.2.ORIG/contrib/init.d/pbs_server torque-2.5.2/contrib/init.d/pbs_server
|
|
||||||
--- torque-2.5.2.ORIG/contrib/init.d/pbs_server 2010-10-14 22:16:32.978386147 +0200
|
|
||||||
+++ torque-2.5.2/contrib/init.d/pbs_server 2010-10-14 23:01:59.911917744 +0200
|
|
||||||
@@ -25,11 +25,29 @@
|
|
||||||
then
|
|
||||||
daemon $PBS_DAEMON -d $PBS_HOME
|
|
||||||
else
|
|
||||||
+ echo -n "use \"service pbs_server create\"" && failure && echo && exit 5
|
|
||||||
+ fi
|
|
||||||
+ RET=$?
|
|
||||||
+ [ $RET -eq 0 ] && touch /var/lock/subsys/pbs_server
|
|
||||||
+ echo
|
|
||||||
+ ;;
|
|
||||||
+ create)
|
|
||||||
+ echo -n "Creating Torque Server Database:... "
|
|
||||||
+ if [ -r $PBS_HOME/server_priv/serverdb ]
|
|
||||||
+ then
|
|
||||||
+ echo -n "serverdb file allready exists?" && failure && echo && exit 5
|
|
||||||
+ else
|
|
||||||
daemon $PBS_DAEMON -t create -d $PBS_HOME
|
|
||||||
fi
|
|
||||||
RET=$?
|
|
||||||
[ $RET -eq 0 ] && touch /var/lock/subsys/pbs_server
|
|
||||||
echo
|
|
||||||
+ sleep 3
|
|
||||||
+ echo -n "Shutting down TORQUE Server: "
|
|
||||||
+ killproc pbs_server
|
|
||||||
+ RET=$?
|
|
||||||
+ rm -f /var/lock/subsys/pbs_server
|
|
||||||
+ echo
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
echo -n "Shutting down TORQUE Server: "
|
|
||||||
@@ -53,7 +71,7 @@
|
|
||||||
echo
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
- echo "Usage: pbs_server {start|stop|restart|status|reload}"
|
|
||||||
+ echo "Usage: pbs_server {start|stop|restart|status|reload|create}"
|
|
||||||
exit 1
|
|
||||||
esac
|
|
||||||
exit $RET
|
|
@ -1,109 +0,0 @@
|
|||||||
*** process_request.c.orig 2011-11-08 14:20:50.000000000 +0100
|
|
||||||
--- process_request.c 2011-11-08 17:15:21.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 539,564 ****
|
|
||||||
|
|
||||||
if (ENABLE_TRUSTED_AUTH == TRUE )
|
|
||||||
rc = 0; /* bypass the authentication of the user--trust the client completely */
|
|
||||||
! else if(munge_on)
|
|
||||||
{
|
|
||||||
! /* If munge_on is true we will validate the connection now */
|
|
||||||
! if ( request->rq_type == PBS_BATCH_AltAuthenUser)
|
|
||||||
{
|
|
||||||
! rc = req_altauthenuser(request);
|
|
||||||
! if (rc == PBSE_NONE)
|
|
||||||
{
|
|
||||||
! conn_credent[sfds].timestamp = time_now;
|
|
||||||
! svr_conn[sfds].cn_authen = PBS_NET_CONN_AUTHENTICATED;
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
! {
|
|
||||||
! rc = authenticate_user(request, &conn_credent[sfds]);
|
|
||||||
! }
|
|
||||||
}
|
|
||||||
- else if (svr_conn[sfds].cn_authen != PBS_NET_CONN_AUTHENTICATED)
|
|
||||||
- rc = PBSE_BADCRED;
|
|
||||||
else
|
|
||||||
rc = authenticate_user(request, &conn_credent[sfds]);
|
|
||||||
|
|
||||||
--- 539,562 ----
|
|
||||||
|
|
||||||
if (ENABLE_TRUSTED_AUTH == TRUE )
|
|
||||||
rc = 0; /* bypass the authentication of the user--trust the client completely */
|
|
||||||
! else if (svr_conn[sfds].cn_authen != PBS_NET_CONN_AUTHENTICATED)
|
|
||||||
{
|
|
||||||
! if (munge_on && request->rq_type == PBS_BATCH_AltAuthenUser)
|
|
||||||
{
|
|
||||||
! /* If munge_on is true do the validation request now */
|
|
||||||
! if (request->rq_ind.rq_authen.rq_port != svr_conn[sfds].cn_port)
|
|
||||||
! {
|
|
||||||
! req_reject(PBSE_IVALREQ, 0, request, NULL, "Unexpected request to authenticate an alternate connection");
|
|
||||||
! }
|
|
||||||
! else
|
|
||||||
{
|
|
||||||
! req_altauthenuser(request);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
! rc = PBSE_BADCRED;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
rc = authenticate_user(request, &conn_credent[sfds]);
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 1032,1038 ****
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PBS_BATCH_AltAuthenUser:
|
|
||||||
!
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PBS_BATCH_JobObit:
|
|
||||||
--- 1030,1036 ----
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PBS_BATCH_AltAuthenUser:
|
|
||||||
! req_reject(PBSE_IVALREQ, 0, request, NULL, "Unexpected request to authenticate at this point");
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PBS_BATCH_JobObit:
|
|
||||||
*** req_getcred.c.orig 2011-11-08 17:27:36.000000000 +0100
|
|
||||||
--- req_getcred.c 2011-11-08 17:20:18.000000000 +0100
|
|
||||||
***************
|
|
||||||
*** 365,371 ****
|
|
||||||
/* Something went wrong. We will have to depend on the parent
|
|
||||||
to let everyone know */
|
|
||||||
close(fd_pipe[1]);
|
|
||||||
! exit(0);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
--- 365,371 ----
|
|
||||||
/* Something went wrong. We will have to depend on the parent
|
|
||||||
to let everyone know */
|
|
||||||
close(fd_pipe[1]);
|
|
||||||
! _exit(0);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
***************
|
|
||||||
*** 453,459 ****
|
|
||||||
|
|
||||||
for (s = 0;s < PBS_NET_MAX_CONNECTIONS;++s)
|
|
||||||
{
|
|
||||||
! if (preq->rq_ind.rq_authen.rq_port != svr_conn[s].cn_port)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
--- 453,460 ----
|
|
||||||
|
|
||||||
for (s = 0;s < PBS_NET_MAX_CONNECTIONS;++s)
|
|
||||||
{
|
|
||||||
! if (preq->rq_ind.rq_authen.rq_port != svr_conn[s].cn_port ||
|
|
||||||
! svr_conn[preq->rq_conn].cn_addr != svr_conn[s].cn_addr)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
@ -1,94 +0,0 @@
|
|||||||
Index: branches/2.5-fixes/src/include/batch_request.h
|
|
||||||
===================================================================
|
|
||||||
--- branches/2.5-fixes/src/include/batch_request.h (revision 5100)
|
|
||||||
+++ branches/2.5-fixes/src/include/batch_request.h (revision 5101)
|
|
||||||
@@ -404,7 +404,7 @@
|
|
||||||
|
|
||||||
#ifndef PBS_MOM
|
|
||||||
extern void req_authenuser (struct batch_request *req);
|
|
||||||
-extern void req_altauthenuser (struct batch_request *req);
|
|
||||||
+extern int req_altauthenuser (struct batch_request *req);
|
|
||||||
extern void req_connect (struct batch_request *req);
|
|
||||||
extern void req_locatejob (struct batch_request *req);
|
|
||||||
extern void req_manager (struct batch_request *req);
|
|
||||||
Index: branches/2.5-fixes/src/server/req_getcred.c
|
|
||||||
===================================================================
|
|
||||||
--- branches/2.5-fixes/src/server/req_getcred.c (revision 5100)
|
|
||||||
+++ branches/2.5-fixes/src/server/req_getcred.c (revision 5101)
|
|
||||||
@@ -436,7 +436,7 @@
|
|
||||||
* utility
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
-void req_altauthenuser(
|
|
||||||
+int req_altauthenuser(
|
|
||||||
|
|
||||||
struct batch_request *preq) /* I */
|
|
||||||
|
|
||||||
@@ -462,7 +462,7 @@
|
|
||||||
if(s >= PBS_NET_MAX_CONNECTIONS)
|
|
||||||
{
|
|
||||||
req_reject(PBSE_BADCRED, 0, preq, NULL, "cannot authenticate user");
|
|
||||||
- return;
|
|
||||||
+ return (PBSE_BADCRED);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -470,7 +470,8 @@
|
|
||||||
if(rc)
|
|
||||||
{
|
|
||||||
/* FAILED */
|
|
||||||
- return;
|
|
||||||
+ req_reject(PBSE_SYSTEM, 0, preq, NULL, "munge failure");
|
|
||||||
+ return (PBSE_SYSTEM);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* SUCCESS */
|
|
||||||
@@ -482,7 +483,7 @@
|
|
||||||
svr_conn[s].cn_authen = PBS_NET_CONN_AUTHENTICATED;
|
|
||||||
|
|
||||||
reply_ack(preq);
|
|
||||||
- return;
|
|
||||||
+ return (PBSE_NONE);
|
|
||||||
|
|
||||||
} /* END req_altauthenuser() */
|
|
||||||
|
|
||||||
Index: branches/2.5-fixes/src/server/process_request.c
|
|
||||||
===================================================================
|
|
||||||
--- branches/2.5-fixes/src/server/process_request.c (revision 5100)
|
|
||||||
+++ branches/2.5-fixes/src/server/process_request.c (revision 5101)
|
|
||||||
@@ -541,10 +541,21 @@
|
|
||||||
rc = 0; /* bypass the authentication of the user--trust the client completely */
|
|
||||||
else if(munge_on)
|
|
||||||
{
|
|
||||||
- /* If munge_on is true we will validate the connection later */
|
|
||||||
- conn_credent[sfds].timestamp = time_now;
|
|
||||||
- svr_conn[sfds].cn_authen = PBS_NET_CONN_AUTHENTICATED;
|
|
||||||
- rc = 0;
|
|
||||||
+ /* If munge_on is true we will validate the connection now */
|
|
||||||
+ if ( request->rq_type == PBS_BATCH_AltAuthenUser)
|
|
||||||
+ {
|
|
||||||
+ rc = req_altauthenuser(request);
|
|
||||||
+ if (rc == PBSE_NONE)
|
|
||||||
+ {
|
|
||||||
+ conn_credent[sfds].timestamp = time_now;
|
|
||||||
+ svr_conn[sfds].cn_authen = PBS_NET_CONN_AUTHENTICATED;
|
|
||||||
+ }
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+ else
|
|
||||||
+ {
|
|
||||||
+ rc = authenticate_user(request, &conn_credent[sfds]);
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
else if (svr_conn[sfds].cn_authen != PBS_NET_CONN_AUTHENTICATED)
|
|
||||||
rc = PBSE_BADCRED;
|
|
||||||
@@ -1021,9 +1032,6 @@
|
|
||||||
break;
|
|
||||||
|
|
||||||
case PBS_BATCH_AltAuthenUser:
|
|
||||||
- /* Use given authentication method to determine
|
|
||||||
- if user is valid */
|
|
||||||
- req_altauthenuser(request);
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
|||||||
diff -uNr torque-3.0.2.ORIG/contrib/init.d/pbs_server torque-3.0.2/contrib/init.d/pbs_server
|
|
||||||
--- torque-3.0.2.ORIG/contrib/init.d/pbs_server 2011-10-09 00:09:29.026651535 +0200
|
|
||||||
+++ torque-3.0.2/contrib/init.d/pbs_server 2011-10-09 00:12:05.012653474 +0200
|
|
||||||
@@ -14,13 +14,11 @@
|
|
||||||
echo "Configuration already exists. Please remove $PBS_SERVERDB to create a new one."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
-
|
|
||||||
$PBS_DAEMON -d $PBS_HOME -t create &
|
|
||||||
- while [ ! -r $PBS_SERVERDB ]; do
|
|
||||||
- sleep 1
|
|
||||||
- done
|
|
||||||
+ sleep 5
|
|
||||||
killproc pbs_server
|
|
||||||
RET=$?
|
|
||||||
+
|
|
||||||
}
|
|
||||||
|
|
||||||
start() {
|
|
@ -1,124 +0,0 @@
|
|||||||
+ e - Added a new function DIS_tcp_close to the the code. This takes care of a problem
|
|
||||||
+ where TORQUE memory keeps growing because the read and write buffers associated
|
|
||||||
+ with each tcparray entry would grow to accommodate incoming and outgoing data
|
|
||||||
+ but would not shrink.
|
|
||||||
|
|
||||||
Index: src/include/dis.h
|
|
||||||
===================================================================
|
|
||||||
--- src/include/dis.h (revision 5257)
|
|
||||||
+++ src/include/dis.h (revision 5258)
|
|
||||||
@@ -238,13 +238,15 @@
|
|
||||||
|
|
||||||
/* the following routines set/control DIS over tcp */
|
|
||||||
|
|
||||||
-extern void DIS_tcp_reset (int fd, int rw);
|
|
||||||
-extern void DIS_tcp_setup (int fd);
|
|
||||||
-extern int DIS_tcp_wflush (int fd);
|
|
||||||
-extern void DIS_tcp_settimeout (long timeout);
|
|
||||||
-extern int DIS_tcp_istimeout (int fd);
|
|
||||||
+void DIS_tcp_reset (int fd, int rw);
|
|
||||||
+void DIS_tcp_setup (int fd);
|
|
||||||
+int DIS_tcp_wflush (int fd);
|
|
||||||
+void DIS_tcp_settimeout (long timeout);
|
|
||||||
+int DIS_tcp_istimeout (int fd);
|
|
||||||
+void DIS_tcp_close (int fd);
|
|
||||||
|
|
||||||
|
|
||||||
+
|
|
||||||
extern int PConnTimeout(int);
|
|
||||||
|
|
||||||
/* NOTE: increase THE_BUF_SIZE to 131072 for systems > 5k nodes */
|
|
||||||
Index: src/lib/Libattr/attr_fn_arst.c
|
|
||||||
===================================================================
|
|
||||||
--- src/lib/Libattr/attr_fn_arst.c (revision 5257)
|
|
||||||
+++ src/lib/Libattr/attr_fn_arst.c (revision 5258)
|
|
||||||
@@ -186,13 +186,14 @@
|
|
||||||
|
|
||||||
bksize = (ns - 1) * sizeof(char *) + sizeof(struct array_strings);
|
|
||||||
|
|
||||||
- if ((stp = (struct array_strings *)malloc(bksize)) == NULL)
|
|
||||||
+ if (( patr->at_val.at_arst = (struct array_strings *)malloc(bksize)) == NULL)
|
|
||||||
{
|
|
||||||
/* FAILURE */
|
|
||||||
|
|
||||||
return(PBSE_SYSTEM);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ stp = patr->at_val.at_arst;
|
|
||||||
memset(stp, 0, bksize);
|
|
||||||
|
|
||||||
stp->as_npointers = ns;
|
|
||||||
@@ -238,7 +239,7 @@
|
|
||||||
|
|
||||||
patr->at_flags |= ATR_VFLAG_SET | ATR_VFLAG_MODIFY;
|
|
||||||
|
|
||||||
- patr->at_val.at_arst = stp;
|
|
||||||
+/* patr->at_val.at_arst = stp;*/
|
|
||||||
|
|
||||||
free(tmpval);
|
|
||||||
|
|
||||||
Index: src/lib/Libifl/tcp_dis.c
|
|
||||||
===================================================================
|
|
||||||
--- src/lib/Libifl/tcp_dis.c (revision 5257)
|
|
||||||
+++ src/lib/Libifl/tcp_dis.c (revision 5258)
|
|
||||||
@@ -790,9 +790,30 @@
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
+void DIS_tcp_close(
|
|
||||||
|
|
||||||
+ int fd)
|
|
||||||
|
|
||||||
+ {
|
|
||||||
+ struct tcp_chan *tcp;
|
|
||||||
|
|
||||||
+ tcp = tcparray[fd];
|
|
||||||
+ if(tcp != NULL)
|
|
||||||
+ {
|
|
||||||
+ if(tcp->readbuf.tdis_thebuf != NULL)
|
|
||||||
+ free(tcp->readbuf.tdis_thebuf);
|
|
||||||
+ if(tcp->writebuf.tdis_thebuf != NULL)
|
|
||||||
+ free(tcp->writebuf.tdis_thebuf);
|
|
||||||
+
|
|
||||||
+ free(tcp);
|
|
||||||
+ tcparray[fd] = NULL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* DIS_tcp_setup - setup supports routines for dis, "data is strings", to
|
|
||||||
* use tcp stream I/O. Also initializes an array of pointers to
|
|
||||||
Index: src/lib/Libnet/net_server.c
|
|
||||||
===================================================================
|
|
||||||
--- src/lib/Libnet/net_server.c (revision 5257)
|
|
||||||
+++ src/lib/Libnet/net_server.c (revision 5258)
|
|
||||||
@@ -114,6 +114,7 @@
|
|
||||||
#include "server_limits.h"
|
|
||||||
#include "net_connect.h"
|
|
||||||
#include "log.h"
|
|
||||||
+#include "dis.h" /* DIS_tcp_close */
|
|
||||||
|
|
||||||
extern int LOGLEVEL;
|
|
||||||
|
|
||||||
@@ -718,6 +719,7 @@
|
|
||||||
int sd) /* I */
|
|
||||||
|
|
||||||
{
|
|
||||||
+
|
|
||||||
if ((sd < 0) || (max_connection <= sd))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
@@ -757,6 +759,9 @@
|
|
||||||
|
|
||||||
num_connections--;
|
|
||||||
|
|
||||||
+ DIS_tcp_close(sd);
|
|
||||||
+
|
|
||||||
+
|
|
||||||
return;
|
|
||||||
} /* END close_conn() */
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
Index: src/lib/Libifl/tcp_dis.c
|
|
||||||
===================================================================
|
|
||||||
--- src/lib/Libifl/tcp_dis.c (revision 5269)
|
|
||||||
+++ src/lib/Libifl/tcp_dis.c (revision 5270)
|
|
||||||
@@ -797,12 +797,19 @@
|
|
||||||
{
|
|
||||||
struct tcp_chan *tcp;
|
|
||||||
|
|
||||||
+ /* On startup tcparray may not yet be initialized. check it */
|
|
||||||
+ if (tcparray == NULL)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ if (fd > tcparraymax)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
tcp = tcparray[fd];
|
|
||||||
- if(tcp != NULL)
|
|
||||||
+ if (tcp != NULL)
|
|
||||||
{
|
|
||||||
- if(tcp->readbuf.tdis_thebuf != NULL)
|
|
||||||
+ if (tcp->readbuf.tdis_thebuf != NULL)
|
|
||||||
free(tcp->readbuf.tdis_thebuf);
|
|
||||||
- if(tcp->writebuf.tdis_thebuf != NULL)
|
|
||||||
+ if (tcp->writebuf.tdis_thebuf != NULL)
|
|
||||||
free(tcp->writebuf.tdis_thebuf);
|
|
||||||
|
|
||||||
free(tcp);
|
|
BIN
xpbsmon.png
BIN
xpbsmon.png
Binary file not shown.
Before Width: | Height: | Size: 4.4 KiB |
Loading…
Reference in New Issue
Block a user