Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Sep 2016 22:36:21 +0000 (UTC)
From:      Martin Matuska <mm@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r422894 - in head/archivers/star: . files
Message-ID:  <201609282236.u8SMaL8K073948@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mm
Date: Wed Sep 28 22:36:21 2016
New Revision: 422894
URL: https://svnweb.freebsd.org/changeset/ports/422894

Log:
  Update star to 1.5.3
  Allow build with clang
  Add patch for FreeBSD NFSv4 ACL support
  
  PR:		212274
  Submitted by:	mm@FreeBSD.org
  Approved by:	maintainer timeout

Added:
  head/archivers/star/files/patch-autoconf_xconfig.h.in   (contents, props changed)
  head/archivers/star/files/patch-star_acl__unix.c   (contents, props changed)
Modified:
  head/archivers/star/Makefile
  head/archivers/star/distinfo
  head/archivers/star/files/patch-star_Makefile
  head/archivers/star/pkg-descr

Modified: head/archivers/star/Makefile
==============================================================================
--- head/archivers/star/Makefile	Wed Sep 28 20:28:23 2016	(r422893)
+++ head/archivers/star/Makefile	Wed Sep 28 22:36:21 2016	(r422894)
@@ -2,9 +2,9 @@
 # $FreeBSD$
 
 PORTNAME=	star
-DISTVERSION=	1.5.2
+DISTVERSION=	1.5.3
 CATEGORIES=	archivers
-MASTER_SITES=	http://BSDforge.com/projects/source/srchivers/star/
+MASTER_SITES=	SF/s-tar
 
 MAINTAINER=	portmaster@BSDforge.com
 COMMENT=	Unique standard tape archiver with many enhancements
@@ -16,7 +16,6 @@ LICENSE_FILES=	${WRKSRC}/CDDL.Schily.txt
 BUILD_DEPENDS=	smake:devel/smake
 
 USES=		gettext iconv tar:bzip2
-USE_GCC=	any
 
 .if defined(NO_INSTALL_MANPAGES)
 XMKFLAGS=	XMK_FILE=""

Modified: head/archivers/star/distinfo
==============================================================================
--- head/archivers/star/distinfo	Wed Sep 28 20:28:23 2016	(r422893)
+++ head/archivers/star/distinfo	Wed Sep 28 22:36:21 2016	(r422894)
@@ -1,2 +1,3 @@
-SHA256 (star-1.5.2.tar.bz2) = 762645b98af13bb9b0512812814ec8e90635d1400c94eb5911e9774daed2addf
-SIZE (star-1.5.2.tar.bz2) = 874558
+TIMESTAMP = 1472598366
+SHA256 (star-1.5.3.tar.bz2) = 070342833ea83104169bf956aa880bcd088e7af7f5b1f8e3d29853b49b1a4f5b
+SIZE (star-1.5.3.tar.bz2) = 889881

Added: head/archivers/star/files/patch-autoconf_xconfig.h.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/star/files/patch-autoconf_xconfig.h.in	Wed Sep 28 22:36:21 2016	(r422894)
@@ -0,0 +1,25 @@
+--- autoconf/xconfig.h.in.orig	2014-05-15 19:04:57 UTC
++++ autoconf/xconfig.h.in
+@@ -3,7 +3,7 @@
+  *	Dynamic autoconf C-include code.
+  *	Do not edit, this file has been created automatically.
+  *
+- *	Copyright (c) 1998-2014 J. Schilling
++ *	Copyright (c) 1998-2016 J. Schilling
+  *
+  *	The layout for this file is controlled by "configure".
+  *	Switch off cstyle(1) checks for now.
+@@ -1051,6 +1051,13 @@
+ #	define	HAVE_NFSV4_ACL	1 /* NFSv4 ACL's present */
+ #endif
+ 
++#if defined(HAVE_ACL_GET_BRAND_NP)
++#ifndef	HAVE_NFSV4_ACL
++#	define	HAVE_NFSV4_ACL	1 /* NFSv4 ACL's present */
++#endif
++#	define	HAVE_FREEBSD_NFSV4_ACL	1 /* FreeBSD NFSv4 ACL implementation */
++#endif
++
+ /*
+  * HP-UX ACL support.
+  * Note: unfortunately, HP-UX has an (undocumented) acl() function in libc.

Modified: head/archivers/star/files/patch-star_Makefile
==============================================================================
--- head/archivers/star/files/patch-star_Makefile	Wed Sep 28 20:28:23 2016	(r422893)
+++ head/archivers/star/files/patch-star_Makefile	Wed Sep 28 22:36:21 2016	(r422894)
@@ -1,4 +1,4 @@
---- star/Makefile.orig	2010-05-13 19:47:27 UTC
+--- star/Makefile.orig	2013-11-05 22:36:07 UTC
 +++ star/Makefile
 @@ -15,7 +15,7 @@ include		$(SRCROOT)/$(RULESDIR)/rules.to
  INSDIR=		bin
@@ -9,7 +9,7 @@
  CPPOPTS +=	-D__STAR__
  CPPOPTS +=	-DSET_CTIME -DFIFO -DUSE_MMAP -DUSE_REMOTE -DUSE_RCMD_RSH
  #CPPOPTS +=	-DSET_CTIME -DFIFO -DUSE_MMAP
-@@ -52,8 +52,8 @@ LIBS=		-ldeflt -lrmt -lfind -lschily $(L
+@@ -55,8 +55,8 @@ LIBS=		-ldeflt -lrmt -lfind -lschily $(L
  #
  #	Wenn -lfind, dann auch  $(LIB_INTL)
  #

Added: head/archivers/star/files/patch-star_acl__unix.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/star/files/patch-star_acl__unix.c	Wed Sep 28 22:36:21 2016	(r422894)
@@ -0,0 +1,179 @@
+--- star/acl_unix.c.orig	2014-03-31 17:44:46 UTC
++++ star/acl_unix.c
+@@ -1,8 +1,8 @@
+-/* @(#)acl_unix.c	1.49 14/03/31 Copyright 2001-2014 J. Schilling */
++/* @(#)acl_unix.c	1.51 16/09/03 Copyright 2001-2014 J. Schilling */
+ #include <schily/mconfig.h>
+ #ifndef lint
+ static	UConst char sccsid[] =
+-	"@(#)acl_unix.c	1.49 14/03/31 Copyright 2001-2014 J. Schilling";
++	"@(#)acl_unix.c	1.51 16/09/03 Copyright 2001-2014 J. Schilling";
+ #endif
+ /*
+  *	ACL get and set routines for unix like operating systems.
+@@ -11,7 +11,7 @@ static	UConst char sccsid[] =
+  *
+  *	There are currently two basic flavors of ACLs:
+  *
+- *	Flavor 1: UFS/POSIX draft
++ *	Flavor 1: UFS/POSIX.1e draft (withrawn in 1997)
+  *
+  *	The Solaric UFS ACLs that have been developed between 1990 and 1994.
+  *	These ACLs have been made available as extensions to NFSv2 and NFSv3.
+@@ -27,7 +27,7 @@ static	UConst char sccsid[] =
+  *	As True64 does not like ACL "mask" entries and this version of the
+  * 	ACL code does not generate "mask" entries on True64, ACL support for
+  *	True64 is currently broken. You cannot read back archives created
+- *	on true64.
++ *	on True64.
+  *
+  *	Flavor 2: NFSv4
+  *
+@@ -196,6 +196,9 @@ EXPORT void
+ opt_acl()
+ {
+ 	printf(" acl-POSIX.1e-draft");
++#ifdef	HAVE_NFSV4_ACL
++	printf(" acl-NFSv4");
++#endif
+ }
+ 
+ /*
+@@ -217,6 +220,15 @@ get_acls(info)
+ 	if (is_symlink(info))
+ 		return (TRUE);
+ 
++#ifdef	HAVE_FREEBSD_NFSV4_ACL
++	if (acl_to_info(info->f_sname, ACL_TYPE_NFS4, &acl_ace_text)) {
++		if (*acl_ace_text.ps_path != '\0') {
++			info->f_xflags |= XF_ACL_ACE;
++			info->f_acl_ace = acl_ace_text.ps_path;
++		}
++		return (TRUE);
++	}
++#endif
+ 	if (!acl_to_info(info->f_sname, ACL_TYPE_ACCESS, &acl_access_text))
+ 		return (FALSE);
+ 	if (*acl_access_text.ps_path != '\0') {
+@@ -263,6 +275,13 @@ acl_to_info(name, type, acltext)
+ 		if (err == ENOSYS)
+ 			return (TRUE);
+ #endif
++#ifdef	HAVE_FREEBSD_NFSV4_ACL
++		/*
++		 * If ACL type is not NFS4 we continue with POSIX.1e ACLs
++		 */
++		if (type == ACL_TYPE_NFS4 && err == EINVAL)
++			return (FALSE);
++#endif
+ 		if (!errhidden(E_GETACL, name)) {
+ 			if (!errwarnonly(E_GETACL, name))
+ 				xstats.s_getaclerrs++;
+@@ -273,7 +292,12 @@ acl_to_info(name, type, acltext)
+ 		return (FALSE);
+ 	}
+ 	seterrno(0);
+-	text = acl_to_text(acl, NULL);
++#ifdef	HAVE_FREEBSD_NFSV4_ACL
++	if (type == ACL_TYPE_NFS4)
++		text = acl_to_text_np(acl, NULL, ACL_TEXT_APPEND_ID);
++	else
++#endif
++		text = acl_to_text(acl, NULL);
+ 	acl_free(acl);
+ 	if (text == NULL) {
+ 		if (geterrno() == 0)
+@@ -313,6 +337,22 @@ acl_to_info(name, type, acltext)
+ 			;
+ 	}
+ 
++#ifdef	HAVE_FREEBSD_NFSV4_ACL
++	/* remove space fields */
++	if (type == ACL_TYPE_NFS4) {
++		c = text;
++		while ((c = strchr(c, ' ')) != NULL) {
++			char *d = c, *e;
++
++			while (*d && *d == ' ')
++				d++;
++			e = c;
++			while ((*e++ = *d++) != '\0')
++				;
++		}
++	}
++#endif
++
+ 	/* count fields */
+ 	for (c = text; *c != '\0'; c++) {
+ 		if (*c == '\n') {
+@@ -320,6 +360,14 @@ acl_to_info(name, type, acltext)
+ 			entries++;
+ 		}
+ 	}
++#ifdef	HAVE_FREEBSD_NFSV4_ACL
++	if (type == ACL_TYPE_NFS4) {
++		if (strcpy_pspace(PS_EXIT, acltext, text) < 0) {
++			acl_free((acl_t)text);
++			return (FALSE);
++		}
++	} else
++#endif
+ 	if ((entries > 3) || /* > 4 on Solaris? */
+ 	    (type == ACL_TYPE_DEFAULT && entries >= 3)) {
+ 		if ((entries * 56) > acltext->ps_size)
+@@ -446,6 +494,55 @@ set_acls(info)
+ 
+ 	aclps.ps_path = acltext;
+ 	aclps.ps_size = PATH_MAX;
++
++#ifdef	HAVE_FREEBSD_NFSV4_ACL
++	if (info->f_xflags & XF_ACL_ACE) {
++		ssize_t	len = strlen(info->f_acl_ace) + 2;
++
++		if (len > aclps.ps_size) {
++			aclps.ps_path = NULL;
++			aclps.ps_size = 0;
++			grow_pspace(PS_EXIT, &aclps, len);
++			if (aclps.ps_size <= len) {
++				free_pspace(&aclps);
++				return;
++			}
++		}
++		acl_check_ids(aclps.ps_path, info->f_acl_ace, TRUE);
++
++		if ((acl = acl_from_text(aclps.ps_path)) == NULL) {
++			if (!errhidden(E_BADACL, info->f_name)) {
++				if (!errwarnonly(E_BADACL, info->f_name))
++					xstats.s_badacl++;
++				errmsg("Cannot convert NFSv4 ACL '%s' to internal format for ' %s'.\n",
++				    aclps.ps_path, info->f_name);
++				(void) errabort(E_BADACL, info->f_name, TRUE);
++			}
++		} else {
++			if (acl_set_file(info->f_name, ACL_TYPE_NFS4,
++			    acl) < 0) {
++				/*
++				 * XXX What should we do if errno is
++				 * ENOTSUP/ENOSYS?
++				 */
++				if (!errhidden(E_SETACL, info->f_name)) {
++					if (!errwarnonly(E_SETACL,
++					    info->f_name))
++						xstats.s_setacl++;
++					errmsg("Cannot set NFSv4 ACL '%s' for '%s'.\n",
++					    aclps.ps_path, info->f_name);
++					(void) errabort(E_SETACL, info->f_name,
++					    TRUE);
++				}
++			}
++			acl_free(acl);
++		}
++		if (aclps.ps_path != acltext)
++			free_pspace(&aclps);
++		return;
++	}
++#endif	/* HAVE_FREEBSD_NFSV4_ACL */
++
+ 	if (info->f_xflags & XF_ACL_ACCESS) {
+ 		ssize_t	len = strlen(info->f_acl_access) + 2;
+ 

Modified: head/archivers/star/pkg-descr
==============================================================================
--- head/archivers/star/pkg-descr	Wed Sep 28 20:28:23 2016	(r422893)
+++ head/archivers/star/pkg-descr	Wed Sep 28 22:36:21 2016	(r422894)
@@ -16,4 +16,4 @@ Main advantages over other tar implement
 
 Please mail bugs and suggestions to:
 Author: Joerg Schilling <js@cs.tu-berlin.de>
-WWW: http://cdrecord.berlios.de/old/private/star.html
+WWW: https://sourceforge.net/projects/s-tar/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609282236.u8SMaL8K073948>