diff options
author | Martin Matuska <mm@FreeBSD.org> | 2019-04-29 23:22:19 +0000 |
---|---|---|
committer | Martin Matuska <mm@FreeBSD.org> | 2019-04-29 23:22:19 +0000 |
commit | 38d6e1421b3fda7303c19f0a882cad29d81b12b8 (patch) | |
tree | 349d179d3dddea2a18df79dba25865585547ae2f | |
parent | d1c99b75ebb903f3d717b0d9841f67109d8120cc (diff) |
Notes
-rw-r--r-- | archivers/star/Makefile | 44 | ||||
-rw-r--r-- | archivers/star/distinfo | 6 | ||||
-rw-r--r-- | archivers/star/files/patch-autoconf_xconfig.h.in | 25 | ||||
-rw-r--r-- | archivers/star/files/patch-star_acl__unix.c | 179 | ||||
-rw-r--r-- | archivers/star/pkg-plist | 8 |
5 files changed, 25 insertions, 237 deletions
diff --git a/archivers/star/Makefile b/archivers/star/Makefile index 75a679608c78..1fd0cd545788 100644 --- a/archivers/star/Makefile +++ b/archivers/star/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= star -DISTVERSION= 1.5.3 +DISTVERSION= 1.6 CATEGORIES= archivers MASTER_SITES= SF/s-tar @@ -13,16 +13,9 @@ LICENSE= CDDL GPLv2 LICENSE_COMB= multi LICENSE_FILE= ${WRKSRC}/CDDL.Schily.txt -BUILD_DEPENDS= smake:devel/smake +USES= gmake gettext iconv tar:bzip2 -USES= gettext iconv tar:bzip2 - -.if defined(NO_INSTALL_MANPAGES) -XMKFLAGS= XMK_FILE="" -.endif - -MAKEFLAGS+= DEFMANBASE=. -MAKE_ENV+= MAKEFLAGS=${MAKEFLAGS} +MAKE_ARGS= GMAKE_NOWARN=true DESTDIR=${STAGEDIR} INS_BASE=${PREFIX} MANBASE= PORTDOCS= README README.crash README.mtio README.pattern STARvsGNUTAR \ README.ACL README.largefiles README.otherbugs \ @@ -35,23 +28,20 @@ post-patch: | ${XARGS} ${REINPLACE_CMD} -e "s@/etc/default@${PREFIX}/etc@g" @${MV} ${WRKSRC}/rmt/rmt.1 ${WRKSRC}/rmt/srmt.1 -do-build: - cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} smake - cd ${WRKSRC}/star && ${SETENV} ${MAKE_ENV} smake -f Makefile.doc - -do-install: - cd ${WRKSRC}/star && ${SETENV} ${MAKE_ENV} smake \ - ${INSTALL_TARGET} INS_BASE=${STAGEDIR}${PREFIX} ${XMKFLAGS} - cd ${WRKSRC}/rmt && ${SETENV} ${MAKE_ENV} smake \ - ${INSTALL_TARGET} INS_BASE=${STAGEDIR}${PREFIX} ${XMKFLAGS} - cd ${WRKSRC}/tartest && ${SETENV} ${MAKE_ENV} smake \ - ${INSTALL_TARGET} INS_BASE=${STAGEDIR}${PREFIX} ${XMKFLAGS} -# Ugh... cmake doesn't like install-strip - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/star - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/srmt - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/tartest - ${INSTALL_DATA} ${WRKSRC}/star/star.dfl ${STAGEDIR}${PREFIX}/etc/star.sample - ${INSTALL_DATA} ${WRKSRC}/rmt/rmt.dfl ${STAGEDIR}${PREFIX}/etc/rmt.sample +post-stage: + @${RM} ${STAGEDIR}/${PREFIX}/bin/mt \ + ${STAGEDIR}/${PREFIX}/include/schily/*.h \ + ${STAGEDIR}/${PREFIX}/include/schily/*/*.h \ + ${STAGEDIR}/${PREFIX}/lib/*.a \ + ${STAGEDIR}/${PREFIX}/lib/profiled/*.a \ + ${STAGEDIR}/${PREFIX}/man/man1/match.1* \ + ${STAGEDIR}/${PREFIX}/man/man1/mt.1* \ + ${STAGEDIR}/${PREFIX}/man/man3/*.3* \ + ${STAGEDIR}/${PREFIX}/man/man5/makerules.5* \ + ${STAGEDIR}/${PREFIX}/man/man5/makefiles.5* + @${RMDIR} ${STAGEDIR}/${PREFIX}/include/schily/* \ + ${STAGEDIR}/${PREFIX}/include/schily \ + ${STAGEDIR}/${PREFIX}/lib/profiled post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} diff --git a/archivers/star/distinfo b/archivers/star/distinfo index ad4ed1c7639e..55876ce5358e 100644 --- a/archivers/star/distinfo +++ b/archivers/star/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1472598366 -SHA256 (star-1.5.3.tar.bz2) = 070342833ea83104169bf956aa880bcd088e7af7f5b1f8e3d29853b49b1a4f5b -SIZE (star-1.5.3.tar.bz2) = 889881 +TIMESTAMP = 1555798131 +SHA256 (star-1.6.tar.bz2) = 1b18662ebae6c3509020953d4464e654c7ded4752774de987d8dc307dc43f776 +SIZE (star-1.6.tar.bz2) = 1154422 diff --git a/archivers/star/files/patch-autoconf_xconfig.h.in b/archivers/star/files/patch-autoconf_xconfig.h.in deleted file mode 100644 index 37f3d48e8aba..000000000000 --- a/archivers/star/files/patch-autoconf_xconfig.h.in +++ /dev/null @@ -1,25 +0,0 @@ ---- 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. diff --git a/archivers/star/files/patch-star_acl__unix.c b/archivers/star/files/patch-star_acl__unix.c deleted file mode 100644 index 1cf57f3eaa2c..000000000000 --- a/archivers/star/files/patch-star_acl__unix.c +++ /dev/null @@ -1,179 +0,0 @@ ---- 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; - diff --git a/archivers/star/pkg-plist b/archivers/star/pkg-plist index 69c0131f5deb..f8896ba431bb 100644 --- a/archivers/star/pkg-plist +++ b/archivers/star/pkg-plist @@ -1,15 +1,17 @@ bin/scpio +bin/smt bin/spax bin/star -bin/suntar +bin/star_sym bin/tartest +bin/suntar bin/ustar -@sample etc/rmt.sample -@sample etc/star.sample man/man1/scpio.1.gz +man/man1/smt.1.gz man/man1/spax.1.gz man/man1/srmt.1.gz man/man1/star.1.gz +man/man1/star_sym.1.gz man/man1/suntar.1.gz man/man1/tartest.1.gz man/man5/star.5.gz |