From owner-svn-ports-head@freebsd.org Wed Sep 28 22:36:22 2016 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B814DC01B5A; Wed, 28 Sep 2016 22:36:22 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 95D3B163B; Wed, 28 Sep 2016 22:36:22 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u8SMaLsj073954; Wed, 28 Sep 2016 22:36:21 GMT (envelope-from mm@FreeBSD.org) Received: (from mm@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u8SMaL8K073948; Wed, 28 Sep 2016 22:36:21 GMT (envelope-from mm@FreeBSD.org) Message-Id: <201609282236.u8SMaL8K073948@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: mm set sender to mm@FreeBSD.org using -f From: Martin Matuska Date: Wed, 28 Sep 2016 22:36:21 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r422894 - in head/archivers/star: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Sep 2016 22:36:22 -0000 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 + #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 -WWW: http://cdrecord.berlios.de/old/private/star.html +WWW: https://sourceforge.net/projects/s-tar/