sysutils/pesign: unbreak on pre-10.2 systems

- No reason to use ppoll(2), so switch to poll(2)
- Include missing strchrnul(3) for 9.x

No PORTREVISION bump because 10.2+ behavior doesn't change.

PR:		205039
Approved by:	trasz (maintainer)
MFH:		2015Q4
This commit is contained in:
Jan Beich 2015-12-06 12:40:58 +00:00
parent cb7944d6a4
commit a64ab0b8c8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=403110
3 changed files with 64 additions and 6 deletions

View file

@ -23,11 +23,8 @@ GH_ACCOUNT= rhinstaller
USES= gmake pkgconfig
USE_LDCONFIG= yes
.include <bsd.port.pre.mk>
.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1001505
BROKEN= This port requires ppoll(2) system call
.endif
EXTRA_PATCHES= ${EXTRA_PATCHES_${OPSYS}_${OSREL:R}}
EXTRA_PATCHES_FreeBSD_9= ${FILESDIR}/extra-patch-src_client.c
post-patch:
@${REINPLACE_CMD} -e 's|%%CC%%|${CC}|g' ${WRKSRC}/Make.defaults
@ -43,4 +40,4 @@ do-install:
${INSTALL_MAN} ${WRKSRC}/src/pesign-client.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
${INSTALL_MAN} ${WRKSRC}/src/pesign.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
.include <bsd.port.post.mk>
.include <bsd.port.mk>

View file

@ -0,0 +1,52 @@
--- src/client.c.orig 2014-10-24 19:51:06 UTC
+++ src/client.c
@@ -47,6 +47,49 @@ static struct {
{FLAG_LIST_END, NULL},
};
+#if defined(__FreeBSD__) && __FreeBSD__ < 10
+/*-
+ * Copyright (c) 2013 Niclas Zeising
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD: head/lib/libc/string/strchrnul.c 288004 2015-09-20 03:51:15Z rodrigc
+ */
+
+static char *
+strchrnul(const char *p, int ch)
+{
+ char c;
+
+ c = ch;
+ for (;; ++p) {
+ if (*p == c || *p == '\0')
+ return ((char *)p);
+ }
+ /* NOTREACHED */
+}
+#endif
+
static void
print_flag_name(FILE *f, int flag)
{

View file

@ -8,6 +8,15 @@
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
@@ -839,7 +838,7 @@ shutdown:
do_shutdown(ctx, nsockets, pollfds);
return 0;
}
- rc = ppoll(pollfds, nsockets, NULL, NULL);
+ rc = poll(pollfds, nsockets, INFTIM);
if (should_exit != 0)
goto shutdown;
if (rc < 0) {
@@ -864,8 +863,8 @@ shutdown:
struct sockaddr_un remote;