On Sat, Jun 30 2018, Klemens Nanni <k...@openbsd.org> wrote:
> Similar to gzip in base, further drop promises (de)compressing to stdout
> except for "cpath" which is needed for unlink(2) in pigz.c:cut_short()
> which handles internal errors and SIGINT.
>
> I also tested this with several regress/usr.bin/gzip runs on both amd64
> and sparc64.
>
> While here, do some cleanup and install unpigz as symlink since it's the
> same binary.

You could also install it as a hardlink instead (like upstream does).

> Feedback? OK?

If there's no reason to remove -Wall -Wextra from CFLAGS I'd rather keep
them, they might spot problems.  Else ok jca@

(Also ok for the maintainer change.)

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/archivers/pigz/Makefile,v
> retrieving revision 1.6
> diff -u -p -r1.6 Makefile
> --- Makefile  25 Jan 2018 10:34:49 -0000      1.6
> +++ Makefile  30 Jun 2018 16:13:03 -0000
> @@ -5,7 +5,8 @@ NOT_FOR_ARCHS=        ${GCC3_ARCHS}
>  
>  COMMENT =    parallel implementation of gzip utilizing multiple cores
>  
> -DISTNAME =   pigz-2.4
> +DISTNAME =   pigz-2.4
> +REVISION =   0
>  CATEGORIES = archivers
>  HOMEPAGE =   https://zlib.net/pigz/
>  
> @@ -14,17 +15,19 @@ MAINTAINER =      Thomas Pfaff <tpfaff@tp76.i
>  # zlib + Apache
>  PERMIT_PACKAGE_CDROM =               Yes
>  
> +# uses pledge()
>  WANTLIB =    c m pthread z
>  
> -MASTER_SITES =       ${HOMEPAGE}
> +MASTER_SITES =       https://zlib.net/pigz/
>  
> -MAKE_FLAGS = CC="${CC}" CFLAGS="${CFLAGS} -Wall -Wextra"
> +MAKE_FLAGS = CC="${CC}" \
> +             CFLAGS="${CFLAGS}"
>  
>  ALL_TARGET = pigz
>  
>  do-install:
> -     ${INSTALL_PROGRAM} ${WRKSRC}/pigz ${PREFIX}/bin
> -     ${INSTALL_PROGRAM} ${WRKSRC}/unpigz ${PREFIX}/bin
> +     ${INSTALL_PROGRAM} ${WRKBUILD}/pigz ${PREFIX}/bin
> +     ln -sf pigz ${PREFIX}/bin/unpigz
>       ${INSTALL_MAN} ${WRKSRC}/pigz.1 ${PREFIX}/man/man1
>  
>  .include <bsd.port.mk>
> Index: patches/patch-pigz_c
> ===================================================================
> RCS file: patches/patch-pigz_c
> diff -N patches/patch-pigz_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-pigz_c      30 Jun 2018 15:37:37 -0000
> @@ -0,0 +1,30 @@
> +$OpenBSD$
> +
> +Index: pigz.c
> +--- pigz.c.orig
> ++++ pigz.c
> +@@ -4307,6 +4307,11 @@ int main(int argc, char **argv) {
> +     char *opts, *p;                 // environment default options, marker
> +     ball_t err;                     // error information from throw()
> + 
> ++    if (pledge("stdio rpath wpath cpath fattr chown", NULL) == -1) {
> ++        complain("pledge");
> ++        exit(1);
> ++    }
> ++
> +     g.ret = 0;
> +     try {
> +         // initialize globals
> +@@ -4408,6 +4413,12 @@ int main(int argc, char **argv) {
> +             else if (option(argv[n]))   // process argument
> +                 argv[n] = NULL;         // remove if option
> +         option(NULL);                   // check for missing parameter
> ++
> ++        if (g.pipeout || g.decode == 2)
> ++            if (pledge("stdio rpath cpath", NULL) == -1) {
> ++                complain("pledge");
> ++                exit(1);
> ++            }
> + 
> +         // process command-line filenames
> +         done = 0;
> Index: pkg/PLIST
> ===================================================================
> RCS file: /cvs/ports/archivers/pigz/pkg/PLIST,v
> retrieving revision 1.1.1.1
> diff -u -p -r1.1.1.1 PLIST
> --- pkg/PLIST 1 Dec 2013 03:19:13 -0000       1.1.1.1
> +++ pkg/PLIST 30 Jun 2018 16:13:03 -0000
> @@ -1,4 +1,4 @@
>  @comment $OpenBSD: PLIST,v 1.1.1.1 2013/12/01 03:19:13 brad Exp $
>  @bin bin/pigz
> -@bin bin/unpigz
> +bin/unpigz
>  @man man/man1/pigz.1
>

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to