summaryrefslogtreecommitdiffstats
path: root/net/cap
diff options
context:
space:
mode:
Diffstat (limited to 'net/cap')
-rw-r--r--net/cap/Makefile22
-rw-r--r--net/cap/files/patch-applications-lwsrv-lwsrv.c54
-rw-r--r--net/cap/files/patch-applications-lwsrv-simple.c98
-rw-r--r--net/cap/files/patch-applications-papif-papif.c21
-rw-r--r--net/cap/files/patch-contrib-MacPS-macps-22.shar26
-rw-r--r--net/cap/files/patch-contrib-MacPS-prepfix.c21
-rw-r--r--net/cap/files/patch-support-ethertalk-aarpd_clnt.c46
-rw-r--r--net/cap/files/patch-support-ethertalk-aarpd_svc.c31
-rw-r--r--net/cap/files/patch-support-ethertalk-aarpd_xdr.c20
9 files changed, 333 insertions, 6 deletions
diff --git a/net/cap/Makefile b/net/cap/Makefile
index e632698..018ab9b 100644
--- a/net/cap/Makefile
+++ b/net/cap/Makefile
@@ -7,7 +7,7 @@
PORTNAME= cap
PORTVERSION= 6.0.198
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= net
MASTER_SITES= ftp://munnari.OZ.AU/mac/:source \
ftp://munnari.OZ.AU/mac/cap.patches/:patches \
@@ -31,7 +31,7 @@ DIST_SUBDIR= cap60
ALL_TARGET= libsmade dummy-libinstall programs
INSTALL_TARGET= include libinstall install
-CFLAGS+= -traditional-cpp -DUSESTRINGDOTH
+CFLAGS+= -DUSESTRINGDOTH -DUSEDIRENT
USE_REINPLACE= YES
@@ -60,15 +60,25 @@ READMES= applications/papif applications/lwsrv applications/aufs \
.include <bsd.port.pre.mk>
-.if ${OSVERSION} >= 501000
-BROKEN= "Does not compile: needs stdarg.h instead of varargs.h"
-.endif
-
pre-patch:
@(cd ${WRKSRC}; \
for f in ../cap60.patch* ; do ${PATCH} -s -p < $$f ; done)
post-patch:
${FIND} ${WRKSRC} -name Makefile.m4 -exec ${REINPLACE_CMD} -e 's/CFLAGS=/CFLAGS+=/' \{\} \;
+ ${FIND} ${WRKSRC} -name "*.[chl]" -exec ${REINPLACE_CMD} -e 's/^#\([ ]*\)endif.*/#\1endif/g' -e 's/^#\([ ]*\)else.*/#\1else/g' \{\} \;
+ ${GREP} -rl varargs\.h ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} -e 's/varargs\.h/stdarg\.h/g'
+ ${REINPLACE_CMD} -e 's/S_ISREG(&stb) == 0/access(fn, R_OK) < 0/g' ${WRKSRC}/applications/lwsrv/procset.c
+ ${REINPLACE_CMD} -E 's/long[ ](clock|idletime|l|lasttime|t|timeval|tloc)([ =0]*);/time_t \1\2;/g' \
+ ${WRKSRC}/contrib/printqueue.c \
+ ${WRKSRC}/etc/nisaux.c \
+ ${WRKSRC}/samples/ash.c \
+ ${WRKSRC}/support/uab/log.c \
+ ${WRKSRC}/support/uab/uab.c \
+ ${WRKSRC}/lib/cap/ablog.c \
+ ${WRKSRC}/lib/cap/abpapc.c \
+ ${WRKSRC}/applications/lwsrv/lwsrv.c \
+ ${WRKSRC}/applications/aufs/aufs.c \
+ ${WRKSRC}/applications/papif/papif.c
pre-install:
@${RM} -f ${WRKSRC}/libinstall
diff --git a/net/cap/files/patch-applications-lwsrv-lwsrv.c b/net/cap/files/patch-applications-lwsrv-lwsrv.c
new file mode 100644
index 0000000..86ef321
--- /dev/null
+++ b/net/cap/files/patch-applications-lwsrv-lwsrv.c
@@ -0,0 +1,54 @@
+--- applications/lwsrv/lwsrv.c.orig Sat Mar 20 14:38:45 2004
++++ applications/lwsrv/lwsrv.c Sat Mar 20 14:55:51 2004
+@@ -1864,7 +1864,7 @@
+ PFILE *pf;
+ {
+ long t;
+- int argc, i;
++ int argc, i, fd;
+ FILE *outfile;
+ char tname[256],status[256];
+ char pbuf[256],rhbuf[16],jbuf[1024];
+@@ -1930,10 +1930,8 @@
+ strcat(tname,"/lwsrvXXXXXX");
+ } else
+ strcpy(tname,TEMPFILE);
+- mktemp(tname);
+- if ((outfile = fopen(tname, "w+")) == NULL)
++ if ( ((fd = mkstemp(tname)) == -1 ) || ((outfile = fdopen(fd, "w+")) == NULL) )
+ perror(tname);
+- chmod(tname, 0600);
+ }
+
+ NewStatus(prtp->children <= 0 ? "initializing" : statusprocessing);
+@@ -2310,7 +2308,7 @@
+ PFILE *pf;
+ {
+ long t;
+- int argc, i;
++ int argc, i, fd;
+ FILE *outfile;
+ char tname[256],status[256];
+ char pbuf[256],rhbuf[16],jbuf[1024];
+@@ -2354,16 +2352,15 @@
+ if (tmpfiledir != NULL) {
+ strcpy(tname,tmpfiledir);
+ strcat(tname,"/lwsrvXXXXXX");
++ if ((outfile = fopen(tname, "w+")) == NULL)
++ perror(tname);
++ chmod(tname, 0600);
+ } else
+ strcat(tname,TEMPFILE);
+- mktemp(tname);
++ if ( ((fd = mkstemp(tname)) == -1 ) || ((outfile = fdopen(fd, "w+")) == NULL) )
++ perror(tname);
+ }
+
+- if ((outfile = fopen(tname, "w+")) == NULL)
+- perror(tname);
+-
+- chmod(tname, 0600);
+-
+ if (singlefork)
+ NewStatus("initializing");
+
diff --git a/net/cap/files/patch-applications-lwsrv-simple.c b/net/cap/files/patch-applications-lwsrv-simple.c
new file mode 100644
index 0000000..7483887
--- /dev/null
+++ b/net/cap/files/patch-applications-lwsrv-simple.c
@@ -0,0 +1,98 @@
+--- applications/lwsrv/simple.c.orig Sat Mar 20 12:03:13 2004
++++ applications/lwsrv/simple.c Sat Mar 20 12:06:30 2004
+@@ -139,8 +139,7 @@
+ byte changeecho;
+ #endif /* LWSRV8 */
+ } toktbl[] = {
+-#ifndef LWSRV8
+ #define TOKEN(token, tag) { (token), (sizeof(token)-1), (tag)}
+ TOKEN("%%EOF", TOK_DROP),
+ TOKEN("%%Title", TOK_TIT),
+ TOKEN("%%Creator", TOK_CRE),
+@@ -161,84 +159,24 @@
+ TOKEN("%%BeginProcSet", TOK_BPS),
+ TOKEN("%%EndProcSet", TOK_EPS),
+ TOKEN("%%?BeginPrinterQuery", TOK_BEGINR),
+ TOKEN("%%?EndPrinterQuery", TOK_ENDR),
+ TOKEN("%%?BeginQuery", TOK_BEGINR),
+ TOKEN("%%?EndQuery", TOK_ENDR),
+-#else /* LWSRV8 */
+-/* Now in SORTED order, because we do a binary search on it */
+-#define TOKEN(token, tag, e) {(token), (tag), (sizeof(token)-1), (e)}
+- TOKEN("%!PS-Adobe-", TOK_PSA, ECHO_OFF),
+- TOKEN("%%?BeginFeatureQuery", TOK_BFEQ, ECHO_UNCHANGED),
+- TOKEN("%%?BeginFileQuery", TOK_BFIQ, ECHO_UNCHANGED),
+- TOKEN("%%?BeginFontListQuery", TOK_BFLQ, ECHO_UNCHANGED),
+- TOKEN("%%?BeginFontQuery", TOK_BFOQ, ECHO_UNCHANGED),
+- TOKEN("%%?BeginPrinterQuery", TOK_BPRQ, ECHO_UNCHANGED),
+- TOKEN("%%?BeginProcSetQuery", TOK_BPSQ, ECHO_UNCHANGED),
+- TOKEN("%%?BeginQuery", TOK_BQU, ECHO_UNCHANGED),
+- TOKEN("%%?BeginResourceListQuery", TOK_BRLQ, ECHO_UNCHANGED),
+- TOKEN("%%?BeginResourceQuery", TOK_BREQ, ECHO_UNCHANGED),
+- TOKEN("%%?BeginVMStatus", TOK_BVQ, ECHO_UNCHANGED),
+- TOKEN("%%?EndFeatureQuery", TOK_EFEQ, ECHO_UNCHANGED),
+- TOKEN("%%?EndFileQuery", TOK_EFIQ, ECHO_UNCHANGED),
+- TOKEN("%%?EndFontListQuery", TOK_EFLQ, ECHO_UNCHANGED),
+- TOKEN("%%?EndFontQuery", TOK_EFOQ, ECHO_UNCHANGED),
+- TOKEN("%%?EndPrinterQuery", TOK_EPRQ, ECHO_UNCHANGED),
+- TOKEN("%%?EndProcSetQuery", TOK_EPSQ, ECHO_UNCHANGED),
+- TOKEN("%%?EndQuery", TOK_EQU, ECHO_UNCHANGED),
+- TOKEN("%%?EndResourceListQuery", TOK_ERLQ, ECHO_UNCHANGED),
+- TOKEN("%%?EndResourceQuery", TOK_EREQ, ECHO_UNCHANGED),
+- TOKEN("%%?EndVMStatus", TOK_EVQ, ECHO_UNCHANGED),
+- TOKEN("%%BeginExitServer", TOK_BEGIN, ECHO_OFF),
+- TOKEN("%%BeginProcSet", TOK_BPS, ECHO_OFF),
+- TOKEN("%%Creator", TOK_CRE, ECHO_UNCHANGED),
+- TOKEN("%%EOF", TOK_TEOF, ECHO_DROP),
+- TOKEN("%%EndComments", TOK_ENC, ECHO_UNCHANGED),
+- TOKEN("%%EndExitServer", TOK_END, ECHO_ON),
+- TOKEN("%%EndProcSet", TOK_EPS, ECHO_ON),
+- TOKEN("%%For", TOK_FOR, ECHO_UNCHANGED),
+-#endif /* LWSRV8 */
+ #ifdef ADOBE_DSC2_CONFORMANT
+-#ifndef LWSRV8
+ TOKEN("%%IncludeProcSet", TOK_IPS),
+-#else /* LWSRV8 */
+- TOKEN("%%IncludeProcSet", TOK_IPS, ECHO_UNCHANGED),
+-#endif /* LWSRV8 */
+ #else ADOBE_DSC2_CONFORMANT
+-#ifndef LWSRV8
+ TOKEN("%%IncludeProcSet", TOK_IPS|TOK_INVALID),
+-#else /* LWSRV8 */
+- TOKEN("%%IncludeProcSet", TOK_IPS|TOK_INVALID, ECHO_UNCHANGED),
+-#endif /* LWSRV8 */
+ #endif ADOBE_DSC2_CONFORMANT
+-#ifndef LWSRV8
+ #ifdef PAGECOUNT
+ TOKEN("%%Pages", TOK_PGS),
+ #endif PAGECOUNT
+-#else /* LWSRV8 */
+- TOKEN("%%Page:", TOK_PAGE, ECHO_UNCHANGED),
+- TOKEN("%%Pages", TOK_PGS, ECHO_UNCHANGED),
+-#endif /* LWSRV8 */
+ #ifdef PROCSET_PATCH
+-#ifndef LWSRV8
+ TOKEN("%%Patches", TOK_PATCH),
+-#else /* LWSRV8 */
+- TOKEN("%%Patches", TOK_PATCH, ECHO_OFF),
+-#endif /* LWSRV8 */
+ #endif PROCSET_PATCH
+-#ifdef LWSRV8
+- TOKEN("%%Title", TOK_TIT, ECHO_UNCHANGED),
+-#endif /* LWSRV8 */
+- /* very old type of queries */
+-#ifndef LWSRV8
+ TOKEN("%?appledict version #", TOK_ADV),
+- TOKEN("%?fontList", TOK_FLS),
+ TOKEN("%?end",TOK_ENDOLD),
+- {NULL, TOK_UNK, 0}
+-#else /* LWSRV8 */
+- TOKEN("%?appledict version #", TOK_ADV, ECHO_OFF),
+- TOKEN("%?end",TOK_ENDOLD, ECHO_ON),
+- TOKEN("%?fontList", TOK_FLS, ECHO_OFF),
+-#endif /* LWSRV8 */
++ TOKEN("%?fontList", TOK_FLS),
++ {NULL, TOK_UNK, 0}
+ };
+
+ #ifndef LWSRV8
diff --git a/net/cap/files/patch-applications-papif-papif.c b/net/cap/files/patch-applications-papif-papif.c
new file mode 100644
index 0000000..ba4a6a2
--- /dev/null
+++ b/net/cap/files/patch-applications-papif-papif.c
@@ -0,0 +1,21 @@
+--- applications/papif/papif.c.orig Sat Mar 20 12:14:20 2004
++++ applications/papif/papif.c Sat Mar 20 12:19:52 2004
+@@ -1801,16 +1801,13 @@
+ dolog(fmt, a1,a2,a3,a4,a5,a6,a7,a8,a9,aa,ab,ac,ad,ae,af)
+ char *fmt;
+ #else
+-dolog(va_alist)
++dolog(register char *fmt, ...)
+-va_dcl
+ #endif
+ {
+ #ifdef USEVPRINTF
+- register char *fmt;
+ va_list args;
+
+- va_start(args);
+- fmt = va_arg(args, char *);
++ va_start(args, fmt);
+ if (jobout)
+ vfprintf(jobout, fmt, args);
+ vfprintf(stderr, fmt, args);
diff --git a/net/cap/files/patch-contrib-MacPS-macps-22.shar b/net/cap/files/patch-contrib-MacPS-macps-22.shar
new file mode 100644
index 0000000..2b0e0a5
--- /dev/null
+++ b/net/cap/files/patch-contrib-MacPS-macps-22.shar
@@ -0,0 +1,26 @@
+--- contrib/MacPS/macps-22.shar.orig Thu Feb 28 13:45:16 1991
++++ contrib/MacPS/macps-22.shar Sat Mar 20 14:56:30 2004
+@@ -738,7 +738,7 @@
+ {
+ register STR *str;
+ register FILE *tp;
+- register int i;
++ register int i, tmpfd;
+ register unsigned char *lp;
+ char buf[BUFSIZ];
+ char *malloc(), *realloc();
+@@ -787,11 +787,10 @@
+ fprintf(stderr, "%s: Can't open %s\n", myname, *argv);
+ exit(1);
+ }
+- mktemp(tempname);
+- if((tp = fopen(tempname, "w+")) == NULL) {
++ if ( ((tmpfd = mkstemp(tempname)) == -1 ) || (tp = fdopen(tmpfd, "w+")) ) == NULL) {
+ fprintf(stderr, "%s: Can't create temp file %s\n",
+- myname, tempname);
+- exit(1);
++ myname, tempname);
++ exit(1);
+ }
+ unlink(tempname);
+ str = STRalloc();
diff --git a/net/cap/files/patch-contrib-MacPS-prepfix.c b/net/cap/files/patch-contrib-MacPS-prepfix.c
new file mode 100644
index 0000000..3f838d9
--- /dev/null
+++ b/net/cap/files/patch-contrib-MacPS-prepfix.c
@@ -0,0 +1,21 @@
+--- contrib/MacPS/prepfix.c.orig Thu Feb 28 13:45:17 1991
++++ contrib/MacPS/prepfix.c Sat Mar 20 14:56:52 2004
+@@ -60,7 +60,7 @@
+ {
+ register STR *str;
+ register FILE *tp;
+- register int i;
++ register int i, tmpfd;
+ register unsigned char *lp;
+ char buf[BUFSIZ];
+ char *malloc(), *realloc();
+@@ -109,8 +109,7 @@
+ fprintf(stderr, "%s: Can't open %s\n", myname, *argv);
+ exit(1);
+ }
+- mktemp(tempname);
+- if((tp = fopen(tempname, "w+")) == NULL) {
++ if ( ((tmpfd = mkstemp(tempname)) == -1 ) || (tp = fdopen(tmpfd, "w+")) ) == NULL) {
+ fprintf(stderr, "%s: Can't create temp file %s\n",
+ myname, tempname);
+ exit(1);
diff --git a/net/cap/files/patch-support-ethertalk-aarpd_clnt.c b/net/cap/files/patch-support-ethertalk-aarpd_clnt.c
new file mode 100644
index 0000000..9f4bf1a
--- /dev/null
+++ b/net/cap/files/patch-support-ethertalk-aarpd_clnt.c
@@ -0,0 +1,46 @@
+--- support/ethertalk/aarpd_clnt.c.orig Sat Mar 20 12:58:10 2004
++++ support/ethertalk/aarpd_clnt.c Sat Mar 20 13:12:03 2004
+@@ -32,8 +32,8 @@
+ {
+ static etheraddr res;
+ bzero((char *)res, sizeof(res));
+- if (clnt_call(clnt, AARP_RESOLVE, xdr_int, (caddr_t)argp,
+- xdr_etheraddr, (char *)res, TIMEOUT) != RPC_SUCCESS) {
++ if (clnt_call(clnt, AARP_RESOLVE, (xdrproc_t)xdr_int, (caddr_t)argp,
++ (xdrproc_t)xdr_etheraddr, (char *)res, TIMEOUT) != RPC_SUCCESS) {
+ return (NULL);
+ }
+ return (res);
+@@ -50,8 +50,8 @@
+ {
+ static bridgeaddr res;
+ bzero((char *)res, sizeof(res));
+- if (clnt_call(clnt, RTMP_GETBADDR, xdr_int, (caddr_t)argp,
+- xdr_bridgeaddr, (char *)res, TIMEOUT) != RPC_SUCCESS) {
++ if (clnt_call(clnt, RTMP_GETBADDR, (xdrproc_t)xdr_int, (caddr_t)argp,
++ (xdrproc_t)xdr_bridgeaddr, (char *)res, TIMEOUT) != RPC_SUCCESS) {
+ return (NULL);
+ }
+ return (res);
+@@ -68,8 +68,8 @@
+ {
+ static bridgeaddr res;
+ bzero((char *)res, sizeof(res));
+- if (clnt_call(clnt, RTMP_SETBADDR, xdr_int, (caddr_t)argp,
+- xdr_bridgeaddr, (char *)res, TIMEOUT) != RPC_SUCCESS) {
++ if (clnt_call(clnt, RTMP_SETBADDR, (xdrproc_t)xdr_int, (caddr_t)argp,
++ (xdrproc_t)xdr_bridgeaddr, (char *)res, TIMEOUT) != RPC_SUCCESS) {
+ return (NULL);
+ }
+ return (res);
+@@ -87,8 +87,8 @@
+ {
+ static bridgeaddr res; /* convenient size */
+ bzero((char *)res, sizeof(res));
+- if (clnt_call(clnt, NET_RANGE_SET, xdr_int, (caddr_t)argp,
+- xdr_bridgeaddr, (char *)res, TIMEOUT) != RPC_SUCCESS) {
++ if (clnt_call(clnt, NET_RANGE_SET, (xdrproc_t)xdr_int, (caddr_t)argp,
++ (xdrproc_t)xdr_bridgeaddr, (char *)res, TIMEOUT) != RPC_SUCCESS) {
+ return (NULL);
+ }
+ return (res);
diff --git a/net/cap/files/patch-support-ethertalk-aarpd_svc.c b/net/cap/files/patch-support-ethertalk-aarpd_svc.c
new file mode 100644
index 0000000..0760124
--- /dev/null
+++ b/net/cap/files/patch-support-ethertalk-aarpd_svc.c
@@ -0,0 +1,31 @@
+--- support/ethertalk/aarpd_svc.c.orig Sat Mar 20 13:48:32 2004
++++ support/ethertalk/aarpd_svc.c Sat Mar 20 13:53:53 2004
+@@ -40,7 +40,7 @@
+
+ switch (rqstp->rq_proc) {
+ case NULLPROC:
+- (void)svc_sendreply(transp, xdr_void, (char *)NULL);
++ (void)svc_sendreply(transp, (xdrproc_t)xdr_void, (char *)NULL);
+ return;
+
+ case AARP_RESOLVE:
+@@ -74,16 +74,16 @@
+ return;
+ }
+ bzero((char *)&argument, sizeof(argument));
+- if (!svc_getargs(transp, xdr_argument, (caddr_t)&argument)) {
++ if (!svc_getargs(transp, (xdrproc_t)xdr_argument, (caddr_t)&argument)) {
+ svcerr_decode(transp);
+ return;
+ }
+ result = (*local)(&argument, rqstp);
+ if (result != NULL
+- && !svc_sendreply(transp, xdr_result, (caddr_t)result)) {
++ && !svc_sendreply(transp, (xdrproc_t)xdr_result, (caddr_t)result)) {
+ svcerr_systemerr(transp);
+ }
+- if (!svc_freeargs(transp, xdr_argument, (caddr_t)&argument)) {
++ if (!svc_freeargs(transp, (xdrproc_t)xdr_argument, (caddr_t)&argument)) {
+ (void)fprintf(stderr, "unable to free arguments\n");
+ exit(1);
+ }
diff --git a/net/cap/files/patch-support-ethertalk-aarpd_xdr.c b/net/cap/files/patch-support-ethertalk-aarpd_xdr.c
new file mode 100644
index 0000000..9ff2a29
--- /dev/null
+++ b/net/cap/files/patch-support-ethertalk-aarpd_xdr.c
@@ -0,0 +1,20 @@
+--- support/ethertalk/aarpd_xdr.c.orig Sat Mar 20 13:39:44 2004
++++ support/ethertalk/aarpd_xdr.c Sat Mar 20 13:40:02 2004
+@@ -11,7 +11,7 @@
+ XDR *xdrs;
+ etheraddr objp;
+ {
+- if (!xdr_vector(xdrs, (char *)objp, 6, sizeof(u_char), xdr_u_char)) {
++ if (!xdr_vector(xdrs, (char *)objp, 6, sizeof(u_char), (xdrproc_t)xdr_u_char)) {
+ return (FALSE);
+ }
+ return (TRUE);
+@@ -22,7 +22,7 @@
+ XDR *xdrs;
+ bridgeaddr objp;
+ {
+- if (!xdr_vector(xdrs, (char *)objp, 4, sizeof(u_char), xdr_u_char)) {
++ if (!xdr_vector(xdrs, (char *)objp, 4, sizeof(u_char), (xdrproc_t)xdr_u_char)) {
+ return (FALSE);
+ }
+ return (TRUE);
OpenPOWER on IntegriCloud