pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
star: Update to 1.6.1
Module Name: pkgsrc-wip
Committed By: Michael Baeuerle <michael.baeuerle%stz-e.de@localhost>
Pushed By: micha
Date: Wed Sep 11 15:08:50 2019 +0200
Changeset: c545704a229636abf8f7b51830cb9bb20d7973fc
Modified Files:
Makefile
Added Files:
star/COMMIT_MSG
star/DESCR
star/MESSAGE.star
star/Makefile
star/PLIST
star/distinfo
Log Message:
star: Update to 1.6.1
Based on Release 2019-08-13.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=c545704a229636abf8f7b51830cb9bb20d7973fc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
Makefile | 1 +
star/COMMIT_MSG | 340 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
star/DESCR | 3 +
star/MESSAGE.star | 14 +++
star/Makefile | 80 +++++++++++++
star/PLIST | 80 +++++++++++++
star/distinfo | 6 +
7 files changed, 524 insertions(+)
diffs:
diff --git a/Makefile b/Makefile
index b3b558eb77..131a81f53f 100644
--- a/Makefile
+++ b/Makefile
@@ -4562,6 +4562,7 @@ SUBDIR+= ssid
SUBDIR+= ssu
SUBDIR+= st-term-git
SUBDIR+= stackdriver-collectd
+SUBDIR+= star
SUBDIR+= stardict
SUBDIR+= stardict-tools
SUBDIR+= starfighter
diff --git a/star/COMMIT_MSG b/star/COMMIT_MSG
new file mode 100644
index 0000000000..fd0ba25047
--- /dev/null
+++ b/star/COMMIT_MSG
@@ -0,0 +1,340 @@
+smake: Update to 1.6.1
+
+Switch to latest distfile.
+Update PLIST.
+
+Changelog
+=========
+
+Release 2019-03-29:
+- libschily: the lutimens() emulation no longer returns ENOSYS in case
+ that the lstat() call fails, since this error code may e.g. be
+ ENAMETOOLONG and used as an important indicator for long path name
+ handling.
+
+ This bug caused incorrect behavior when star extracted long pathnames
+ on a platform without utimensat().
+
+- star: The code restructuring to openat() from Summer 2018 did not
+ only cause a noticeable speed up even when not using -find, it at
+ the same time resulted in a wrong error message when a file type
+ was seen that is not archivable (e.g. a socket while using the USTAR
+ format). The correct message was something like "Unsupported filetype",
+ while the bug caused a "file not found " message. This has been fixed
+ by adding a new parameter "fd" to the function stat_to_info().
+
+- star: header.c::get_xhtype() we did forgot to initialize:
+
+ finfo.f_devminorbits
+
+ and
+
+ finfo.f_xflags
+
+ This is now done.
+
+- star: The USTAR format now is able to create base-256 values in
+ the field "t_devmajor". "t_devminor" did already support base-256.
+
+- star: The GNU tar format now is able to create base-256 values in
+ the fields "t_devmajor" and "t_devminor".
+
+- star: The man page star.4 now mentions which fileds may have
+ base-256 numbers.
+
+- star: The man page star.4 now longer contains the doubled "field field"
+ in the explanation of the added UID/GID number for ACLs.
+
+- star: The man page star.4 now has a better description for the additional
+ numeric fields in the ACL entries to prevent GNU tar from continuing
+ with it's incompatible ACL implementation.
+
+- star: New ACL reference archives for the ultra compact format, that has
+ been defined together with the libachive people, have been added to the
+ directory testscripts/:
+
+ acl-nfsv4-compact-test.tar.gz
+ acl-nfsv4-compact-test2.tar.gz
+ acl-nfsv4-compact-test3.tar.gz
+ acl-nfsv4-compact-test4.tar.gz
+ acl-nfsv4-compact-test5.tar.gz
+
+- star: Linux now uses the new <linux/fs.h> instead of <ext2/ext2_fs.h>
+ to retrieve file flags.
+
+ Thanks to a hint from Martin Matuska <martin%matuska.org@localhost> from the
+ libarchive team.
+
+- star: Support for the following new BSD Flags:
+
+ compressed hidden offline rdonly reparse sparse system
+
+ has been added.
+
+ Thanks to a hint from Martin Matuska <martin%matuska.org@localhost> from the
+ libarchive team.
+
+- star: Support for the following new Linux flags:
+
+ dirsync nocow notail projinherit topdir
+
+ has been added.
+
+ Thanks to a hint from Martin Matuska <martin%matuska.org@localhost> from the
+ libarchive team.
+
+- star: Support for reading non-comliant libarchive tarballs that use.
+
+ "securedeletion" or "journal"
+
+ instead of the documented text has been added. This was used by
+ libarchive until March 20, when libarchive has been fixed. We introduce
+ the above names for compatibility with old TARs created by libarchive.
+
+- star: When an "old star" archive is read and this archive is from a system
+ like FreeBSD with non-continous minor bits, star no longer warns unless
+ there is a device file in the archive.
+
+- star: unit tests: the scripts now contain
+
+ LC_ALL=C export LC_ALL
+
+ instead of just LC_ALL=C to make the environment exported.
+
+- star/libstrar: The case where iconv() returns -1 and sets errno to E2BIG
+ is now handled correctly.
+
+- star: The testscripts/ directory now contains the tar test archives
+ from the portability tests from Michal Gorny. Check
+
+ http://cdrtools.sourceforge.net/private/portability-of-tar-features.html
+
+ for an updated (to match star-1.6) variant of the results from the portability
+ tests from Michal Gorny.
+
+- star: older versions of star did not print the messages:
+
+ "WARNING: Archive is 'xxx' compressed, trying to use the -xxx option.\n"
+
+ in case that the option -print-artype was in use. Later versions that
+ added support for more than "gzip" and "bzip2" forgot to add the same
+ exception for the new compression methods. We now ommit this message
+ for all compression types.
+
+- star: Support for the "lzma" compression has been added.
+
+- star: Support for the "freeze2" compression has been added.
+
+- star: The compression method name list did not include the text "zstd".
+ We added the missing text.
+
+- star: The hint messages that are printed when a compressed input archive
+ is not seekable did forgot to mention "lzip" and "zstd". We added the
+ forgotten messages.
+
+- star: New unit tests check whether star is able to auto-detect and auto
+ decompress various compression formats.
+
+- star: The unit tests now include the portability tests from Michal Gorny
+
+- A new option cli=name (must be argv[1]) allows to select all
+ supported command line interfaces (star, suntar, gnutar,
+ pax, cpio) when called as star.
+
+ This is needed to be able to test all command line interfaces from
+ out unit tests since star is not installed in this case and a selection
+ from argv[0] would not work.
+
+- star: The version date is now "2019/03/20"
+
+Release 2019-04-29:
+- libfind/star: the verbose listing code has ben restructured to have
+ the file permissions in the same string as the file type.
+ This is needed to implement the POSIX pax listformat interpreter
+ format %M in future.
+
+- libfind/star: the verbose listing no longer prints "l" for mandatory
+ record locking for non-directory type file, but rather only
+ for plain files.
+
+- star: The "gnutar" emulation now prints the --help output to stdout as
+ GNU tar does.
+
+- star: The gnutar.1 man page now mentions that the GNU tar
+ options -g / -G did never work and it thus makes no sense to
+ implement them.
+
+- star: very outdated code in list.c has been removed.
+
+- star: Added new unit tests for incremental backups and restores.
+ This in special include tests that always fail with GNU tar
+ as GNU tar is not usable and never was usable for incremental
+ restores in case that the differences are more than trivial.
+
+- star: new version date 2019-04-01
+
+Release 2019-06-13:
+- star: fixed a bug in the FIFO code that mainly happened on Linux (with
+ a 1000x higher probability than it happens on Solaris). The bug was.
+ caused, as a check for a flag has been done twice instead of only once
+ where it could change it's value between both locations. As a.
+ result, star reported "star: Implementation botch: with FIFO_MEOF"
+ as the tar side of the FIFO did sometimes not wait for the FIFO_IWAIT
+ state when called as "star -multivolume -tv f=... f=... ...
+ For this reason, star incorrectly got a wakeup at the wrong location.
+
+ The bug appeared in case that star -x/-t -multivol f=.. f=.. ....
+ has been called with very small tar archives.
+
+ Thanks to Heiko Eissfeldt for reporting.
+
+- star: The FIFO code renamed the "flag" member of the "m_head" structure
+ to "gflag" for better readability.
+
+- star: The debugging code in the FIFO has been enhanced to print the
+ names of the flag bits in addition to the hex values.
+
+- star: A deadlock situation that happens once every 500000 tries on
+ Linux with multi-volume archives has been fixed.
+
+ The problem was caused by a complex condition where the get side
+ of the FIFO needs to check the EOF FIFO flag and the amount of data
+ available in the FIFO and then decide whether to wait for a wakeup or
+ not.
+
+ Since the EOF flag needs to be checked first, a context switch in
+ the get side of the FIFO could allow the put side to set the EOF flag
+ before the get side did check the fill ratio of the FIFO. This
+ caused both the get side and the put side to wait for a wakeup.
+
+ The new code introduced a new variable mp->mayoblock that is set by
+ the get side before checking for EOF. This new flags allows the
+ put side to know that the get side is just in a critical situation
+ and lets the put side wait until mp->mayoblock is no longer set,
+ which signals a stable state in the get side. This permits to
+ avoid the deadlock.
+
+- star: Note that the FIFO has been initially written as a lock free
+ design in the late 1980's. This is to allow high portability to even
+ older UNIX versions. The star FIFO works on all UNIX variants that
+ support pipes and shared memory, which is e.g. the case for
+ SunOS-4.0 from 1988. At the time the FIFO has been designed, the
+ target OS did not support multi-CPU systems and problems in the
+ FIFO first appeared with massively faster multi-CPU systems around
+ y2000. The recently detected problems all have been triggered by a
+ different context switch behavior on Linux, even though they could
+ have appeared on any OS in case that many million tries are
+ attempted.
+
+- star: bumped version to 1.6.1
+
+Release 2019-07-15:
+- star: the compress unit test no longer fails on Cygwin because the
+ gzip binary is compiled incorrectly and does not support LZW.
+ The related test is now skipped.
+
+ Thanks to Heiko Eissfeldt for reporting
+
+- star: some new unit tests failed if the schilytools source tree has
+ been installed in a directory with spaces in it's name.
+
+ Thanks to Heiko Eissfeldt for reporting
+
+- star: The unit tests for incremental backups include archives that
+ include userid/groupid and username/groupname that may not be
+ restorable on a different computer. We now ignore these ID meta.
+ data when comparing the results.
+
+ Thanks to Heiko Eissfeldt for reporting
+
+- star: When comparing nanoseconds in time stamps, star now has a mode
+ that treats time stamps as equal in case that tv_nsec % 100 == 0
+ and the rest of the nano seconds is equal. This is needd on Cygwin
+ since NTFS counts in 1/10 microseconds since Januar 1 1601.
+
+ This applies to both star -diff and the "newer" check while extracting
+ files.
+
+ Thanks to Heiko Eissfeldt for reporting
+
+- star: a new option diffopts=dnlink has been implemented to support
+ filesystems that do not follow the historic UNIX model for hard links
+ on directories.
+
+ Since Cygwin usually has a linkcount of 1 on directories, you need
+ to use "star -diff diffopts=!dnlink ..." if you like to diff the
+ meta data from a historical UNIX filesystem.
+
+ Thanks to Heiko Eissfeldt for reporting
+
+- star: The incremental backup/restore tests now use.
+ "star -diff diffopts=!dnlink ..." to make them work on Cygwin.
+
+ Thanks to Heiko Eissfeldt for reporting
+
+- star: star -c -H exustar -acl -xattr-linux .
+ did cause file not found messages from the attempt to archive the
+ Linux xattrs. This was caused by a change from July 2018 when trying to
+ optimize directory access in (non-find) create mode. The call to read
+ the Linux xattrs has now been moved to the location where in former
+ times the ACL code has already been moved.
+
+ The move is needed because there is no ACL/XATTR related function
+ that is similar to openat().
+
+- star: A similar problem with get_xattr() did exist with star -diff
+
+- star: star -diff did not compare ACLs since getinfo() no longer
+ includes a call to get_acl(). We now call get_xattr() and get_acl()
+ in diff.c
+
+- star: The Solaris ACL interface now implelements lacl() / lacl_get() /
+ lacl_set() to support very long pathnames with ACLs.
+
+- star: The Linux ACL interface now implelements lacl_get_file() /
+ lacl_set_file() to support very long pathnames with ACLs on platforms
+ that implement the withdrawn POSIX ACL draft.
+
+- star: The Linux xattr interface now implelements.
+ llgetxattr() / llsetxattr() / lllistxattr() to support very long
+ pathnames with Linux xattrs.
+
+- star: New version date
+
+Release 2019-07-22:
+- star: "pax -pe" no longer sets the variable "doxattr" as this caused
+ an error message:
+
+ "NFSv4 extended attribute files are not yet supported.\n"
+
+ that caused the OpenSolaris-ON "nightly" compilation to abort as a
+ result of that error and exit code != 0.
+
+Release 2019-08-13:
+- libschily: Various functions and *at() emulation functions call stat()
+ even though the caller does not know about that call.
+
+ This could cause a missbehavior in case that a file returns EOVERFLOW
+ with a normal stat(). We now compile these functions in unconditional
+ large file mode to overcome that problem.
+
+ The affected files are:
+
+ diropen.c lutimens.c findinpath.c linkat.c mkdirs.c searchinpath.c
+ resolvepath.c lchmod.c renameat.c.
+
+ Note that this problem affected star(1) on platforms that do not
+ fully implement all *at() interfaces, since star started to support
+ really long path names in July 2018.
+
+- star: Star did not compile on platforms without ACLs anymore since
+ we did rearrange the code with schilytools 2019-07-15.
+
+ We now have the needed #undef USE_ACL in diff.c as well.
+
+ Thanks to Dennis Clarke for reporting.
+
+- star: Avoid a warning when a star -dump archive is unpacked on FreeBSD
+ or Linux with non-contiguous minor bits. The warning is not needed
+ since we only use SCHILY.dev in order to detect mount points but
+ not to compute the major/minor parts.
diff --git a/star/DESCR b/star/DESCR
new file mode 100644
index 0000000000..56094cc106
--- /dev/null
+++ b/star/DESCR
@@ -0,0 +1,3 @@
+The Schily tape archiver
+
+Unique standard tape archiver (the oldest free TAR implementation).
diff --git a/star/MESSAGE.star b/star/MESSAGE.star
new file mode 100644
index 0000000000..e45888ac69
--- /dev/null
+++ b/star/MESSAGE.star
@@ -0,0 +1,14 @@
+===========================================================================
+$NetBSD: MESSAGE.star,v 1.1 2018/11/10 19:56:17 wiz Exp $
+
+Note: The location of the ${PKGNAME_NOREV} `defaults' file has been set to
+
+ ${STAR_CONF}
+
+This is the pkgsrc standard config file location, NOT the ${PKGNAME_NOREV}
+standard location, which is /etc/default/star.
+
+The reason for this is that pkgsrc packages should not use configuration
+files outside ${LOCALBASE} unless they are explicitly set by the user.
+
+===========================================================================
diff --git a/star/Makefile b/star/Makefile
new file mode 100644
index 0000000000..c107691785
--- /dev/null
+++ b/star/Makefile
@@ -0,0 +1,80 @@
+# $NetBSD$
+
+DISTNAME= schily-2019-08-13
+PKGNAME= star-1.6.1
+CATEGORIES= archivers
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=schilytools/}
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= http://s-tar.sf.net/
+COMMENT= Unique standard tape archiver
+LICENSE= cddl-1.0
+
+MAKE_JOBS_SAFE= no
+
+USE_TOOLS+= tbl
+TOOL_DEPENDS+= smake-[0-9]*:../../devel/smake
+SMAKE= MAKEFLAGS= smake
+MAKE_FLAGS+= DESTDIR=${DESTDIR} INS_BASE=${PREFIX} DEFMANBASE=. MANDIR=${PKGMANDIR}
+# Honor CPPFLAGS, CFLAGS and LDFLAGS
+MAKE_FLAGS+= CPPOPTX=${CPPFLAGS:Q} COPTX=${CFLAGS:Q} LDOPTX=${LDFLAGS:Q}
+
+.include "../../mk/bsd.prefs.mk"
+
+# The default location is /etc/default/star
+# We patch the documentation appropriately. Additionally, we also provide a
+# MESSAGE stating the reasons we do this, as required by the license.
+STAR_CONF?= ${PKG_SYSCONFDIR}/star
+
+.if ${STAR_CONF} != "/etc/default/star"
+MESSAGE_SRC+= MESSAGE.star
+MESSAGE_SUBST+= PKGNAME_NOREV=${PKGNAME_NOREV}
+MESSAGE_SUBST+= STAR_CONF=${STAR_CONF:Q}
+.endif
+
+CONF_FILES= ${PREFIX}/share/examples/star/star ${STAR_CONF}
+AUTO_MKDIRS= yes
+
+SUBST_CLASSES+= fix
+SUBST_STAGE.fix= pre-configure
+SUBST_FILES.fix+= star/star.1
+SUBST_FILES.fix+= star/star.dfl
+SUBST_FILES.fix+= star/defaults.c
+SUBST_SED.fix= -e "s,/etc/default/star,${STAR_CONF},g"
+SUBST_MESSAGE.fix= Replace defaults file paths.
+
+# Shared platform specific code for schilytools (provided by smake package)
+.include "../../devel/smake/Makefile.common"
+
+do-configure:
+ cd ${WRKSRC}/inc && ${SMAKE} ${MAKE_FLAGS}
+
+do-build:
+ cd ${WRKSRC} && for library in \
+ libschily libdeflt libfind librmt; \
+ do \
+ cd ${WRKSRC}/$${library} && ${SMAKE} ${MAKE_FLAGS}; \
+ done
+ cd ${WRKSRC}/star && ${SMAKE} ${MAKE_FLAGS}
+
+# Process tables in manpage
+post-build:
+ cd ${WRKSRC} && if ${TEST} -f star/pkgsrc_tbl.done; then :; \
+ else \
+ ${TBL} star/spax.1 >star/spax.1.tmp && \
+ ${MV} -f star/spax.1.tmp star/spax.1 && \
+ ${TBL} star/star.4 >star/star.4.tmp && \
+ ${MV} -f star/star.4.tmp star/star.4 && \
+ ${TOUCH} star/pkgsrc_tbl.done; \
+ fi
+
+do-test:
+ cd ${WRKSRC}/star && cd tests ; ${SMAKE} ${MAKE_FLAGS} tests
+
+do-install:
+ cd ${WRKSRC}/star && ${SMAKE} ${MAKE_FLAGS} install
+ ${INSTALL_DATA} ${WRKSRC}/star/star.dfl \
+ ${DESTDIR}${PREFIX}/share/examples/star/star
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/star/PLIST b/star/PLIST
new file mode 100644
index 0000000000..167e8c3c66
--- /dev/null
+++ b/star/PLIST
@@ -0,0 +1,80 @@
+@comment $NetBSD$
+bin/gnutar
+bin/scpio
+bin/spax
+bin/star
+bin/suntar
+bin/tar
+bin/ustar
+man/man1/gnutar.1
+man/man1/scpio.1
+man/man1/spax.1
+man/man1/star.1
+man/man1/suntar.1
+man/man1/ustar.1
+man/man5/star.5
+share/doc/star/README
+share/doc/star/README.ACL
+share/doc/star/README.crash
+share/doc/star/README.largefiles
+share/doc/star/README.mtio
+share/doc/star/README.otherbugs
+share/doc/star/README.pattern
+share/doc/star/README.posix-2001
+share/doc/star/STARvsGNUTAR
+share/doc/star/testscripts/00INDEX
+share/doc/star/testscripts/100char_longlink.tar
+share/doc/star/testscripts/100char_longlink.tar-non-compliant
+share/doc/star/testscripts/README.GNUtar-multivol.fail
+share/doc/star/testscripts/README.create-and-remove
+share/doc/star/testscripts/README.gtarfail
+share/doc/star/testscripts/README.largefiles
+share/doc/star/testscripts/README.longnames
+share/doc/star/testscripts/README.paxbug
+share/doc/star/testscripts/README.quicktest
+share/doc/star/testscripts/acl-nfsv4-compact-test.tar.gz
+share/doc/star/testscripts/acl-nfsv4-compact-test2.tar.gz
+share/doc/star/testscripts/acl-nfsv4-compact-test3.tar.gz
+share/doc/star/testscripts/acl-nfsv4-compact-test4.tar.gz
+share/doc/star/testscripts/acl-nfsv4-compact-test5.tar.gz
+share/doc/star/testscripts/acl-nfsv4-test.tar.gz
+share/doc/star/testscripts/acl-nfsv4-test2.tar.gz
+share/doc/star/testscripts/acl-nfsv4-test3.tar.gz
+share/doc/star/testscripts/acl-nfsv4-test4.tar.gz
+share/doc/star/testscripts/acl-nfsv4-test5.tar.gz
+share/doc/star/testscripts/acl-test.tar.gz
+share/doc/star/testscripts/acl-test2.tar.gz
+share/doc/star/testscripts/acl-test3.tar.gz
+share/doc/star/testscripts/acl-test4.tar.gz
+share/doc/star/testscripts/acl-test5.tar.gz
+share/doc/star/testscripts/create-and-remove.tar
+share/doc/star/testscripts/dirloop.tar
+share/doc/star/testscripts/g-hdr.pax.gz
+share/doc/star/testscripts/gnu-multi-fail-volume1.gtar
+share/doc/star/testscripts/gnu-multi-fail-volume2.gtar
+share/doc/star/testscripts/gtarfail.tar
+share/doc/star/testscripts/gtarfail2.tar
+share/doc/star/testscripts/long.ustar.gz
+share/doc/star/testscripts/longpath.tar.bz2
+share/doc/star/testscripts/mk
+share/doc/star/testscripts/mk2
+share/doc/star/testscripts/not_a_tar_file
+share/doc/star/testscripts/not_a_tar_file1
+share/doc/star/testscripts/not_a_tar_file2
+share/doc/star/testscripts/not_a_tar_file3
+share/doc/star/testscripts/old-file.tar
+share/doc/star/testscripts/pax-big-10g.tar.bz2
+share/doc/star/testscripts/quicktest.filelist
+share/doc/star/testscripts/remove.tar
+share/doc/star/testscripts/tartest-quicktest.out
+share/doc/star/testscripts/types-star-oldsparse.tar.gz
+share/doc/star/testscripts/typescript
+share/doc/star/testscripts/ustar-all-filetypes.tar
+share/doc/star/testscripts/ustar-all-quicktest-past-contig.tar
+share/doc/star/testscripts/ustar-all-quicktest.tar
+share/doc/star/testscripts/ustar-all-quicktest.tar-without-cont-file
+share/doc/star/testscripts/ustar-bad-filetypes.tar
+share/doc/star/testscripts/ustar-bad-signedsum.tar
+share/doc/star/testscripts/ustar-big-2g.tar.bz2
+share/doc/star/testscripts/ustar-big-8g.tar.bz2
+share/examples/star/star
diff --git a/star/distinfo b/star/distinfo
new file mode 100644
index 0000000000..ea93ab4062
--- /dev/null
+++ b/star/distinfo
@@ -0,0 +1,6 @@
+$NetBSD$
+
+SHA1 (schily-2019-08-13.tar.bz2) = 2eae2dea47ce9101942ca7e425cd523bddf515fa
+RMD160 (schily-2019-08-13.tar.bz2) = df65883a857790f902406b6bf07fb75ba530e8eb
+SHA512 (schily-2019-08-13.tar.bz2) = e69ed060aa5b5203b8af20834b9cceb0c4dc7be20b8d43d781c056f974ba67337415f512575461ee16504e6162311fc84fca9b83ae240c4102d2cfe95bfa9cd7
+Size (schily-2019-08-13.tar.bz2) = 4447359 bytes
Home |
Main Index |
Thread Index |
Old Index