summaryrefslogtreecommitdiff
path: root/archivers/star
AgeCommit message (Collapse)AuthorFilesLines
2022-11-02archivers/star: Fix table processing of man pagesmicha1-3/+3
2022-10-31archivers/star: Update to 1.6.2nb1micha2-6/+7
Changelog from AN-2022-10-16: UPDATING: - Various man pages have been renamed to follow BSD conventions. Users may need to manually remove the following old man pages on update: streamarchive.4, makefiles.4, makerules.4, changeset.4, sccschangeset.4, sccsfile.4, and star.4. NEW FEATURES: - libfind/sfind: Fix incorrect error handling of -exec ... {} + primaries. Previously in some cases the primary returned an error even though it should always return true and in other cases it completely disregarded the exit code. Now the primary always returns true and sets the exit code of libfind and sfind to a non-zero value in case one of the commands returned with a non-zero exit code. Reported by Tavian Barnes. Submitted by Nico Sonack. - libfind/sfind: Report failures to query the password/group database for -nouser/-nogroup. Previously failure to query these databases was treated as if the user id/group id was not found. We now print a diagnostic message and return a non-zero value if the getpwuid() or getgrgid() call failed. Reported by Tavian Barnes. - libfind/sfind: Report presence of directory loops. Previously, such directory loops were silently ignored. Now, upon encountering a directory loop, sfind prints a diagnostic message to standard error. The search is continued but sfind will terminate with a nonzero exit status. This change improves compatibility with POSIX (cf. PASC interpretation request 1606). All libfind consumers calling the treewalk() function (mkisofs, sccs, and star) are affected. Reported by Tavian Barnes. Submitted by Nico Sonack. - star: rename tests/compress archives to avoid issues on case insensitive file systems. These file systems do not like having multiple files whose names only differ in letter case. Rename the archives to completely distinct file names to avoid this issue. Reported by tux <rosa.elefant@icloud.com>. - *: With the switch of Solaris from SysV man page sections to BSD man page sections, man pages are now installed according to BSD conventions instead of SysV conventions. This affects the man pages makefiles(4), makerules(4), streamarchive(4), changeset(4), sccsfile(4), sccschangeset(4), and star(4). Reported by Friedhelm Mehnert. [pkgsrc note: Not yet, see Issue #40] - *: All references to Solaris man pages have been adjusted to BSD man page sections as used in Solaris 11.4. - libschily/getargs.3: document surprising behaviour that the the argument to a foo= parameter may be in the following argument. Thus, shell scripts should write foo= "$bar" instead of foo=$bar if $bar could possibly be empty. Submitted by Nico Sonack. - libschily/getargs.3: improve spelling and grammar.
2022-09-30archivers/star: Update to 1.6.2micha2-14/+11
Changelog from AN-2022-09-18: With great sadness we report the death of schilytools main author and long time maintainer Jörg Schilling (1955-03-27--2021-10-10). Jörg, we miss you! After his passing, development has been picked up by a group of volunteers who would like to keep the project alive and well. Our goal is to carefully preserve the portability and compatibility of this project while extending it to new platforms and implementing new tools and features that fit the tool set. As a part of the change in management, the schilytools project has moved from Sourceforge to Codeberg. - general: Explain how to contribute and update README - general: Add list of contributors - all: Misc spelling fixes Submitted by Friedhelm Mehnert. - all: Update E-Mail address and project URL in many places. Jörg's old joerg@schily.net address is defunct and so is his postal address. As a part of an ongoing documentation cleanup, these addresses have been replaced by our new project pages in many locations. Submitted by Nico Sonack. - man pages: work around buggy syntax highlighting by adding \" " comments into various places. Submitted by Nico Sonack. - RULES: Fix build on macOS 12.4 - RULES: add i386-openbsd-clang.rul This should permit compilation on modern OpenBSD using clang as the system compiler. - autoconf: Work around clang bug in #pragma weak detection. A clang compiler bug causing a crash in the configure test for #pragma weak has been worked around, permitting use of weak symbols when compiling with clang. - star: convert star_fat.c generation to MKLINKS - star: fix wrong handling of pre-1970/post-2036 dates in gnutar archives on platforms with sizeof(time_t) > sizeof(long). - tests: fix arm64/aarch64 architecture confusion on OpenBSD Submitted by Nico Sonack.
2021-11-19archivers/star: Update to 1.6.1nb16micha2-7/+7
Rebase to the final Schily Tools release. The author Jörg Schilling passed away in October 2021.
2021-10-26archivers: Replace RMD160 checksums with BLAKE2s checksumsnia1-2/+2
All checksums have been double-checked against existing RMD160 and SHA512 hashes.
2021-10-07archivers: Remove SHA1 distfiles hashesnia1-2/+1
2021-08-06archivers/start: Update to 1.6.1nb15micha2-8/+8
Changelog from AN-2021-07-29: - star: A single Linux xattr entry with a zero length value did disable all Linux xattrs for the related file. This is now handled correctly. Note that setfattr(1) on some Linux versions does not support to set empty xattr entries, but star on the same system can extract files with empty xattr entries. Thanks to a report from Dennis Katsonis - star: star -version now prints a new version date
2021-03-12archivers/star: Update to 1.6.1nb14micha2-25/+8
Symlink "ustar" is no longer installed by this package. Bump PKGREVISION.
2021-03-10archivers/star: Update to 1.6.1nb13micha2-8/+30
Symlinks "gnutar", "suntar" and "tar" are no longer installed by this package. This should fix bug pkg/56049. Bump PKGREVISION.
2020-11-25star: Update to 1.6.1nb12micha2-8/+8
Changelog from AN-2020-11-04: - Makefile system: include/schily/nlsdefs.h no longer by default defines the macro __() because this is in conflict with definitions that are present in the system include files from newer HP-UX versions. Thanks to Rudi Blom for reporting. - star: The ACL support code and the Linux xattr code had a typo related to very long path names. As a result, ACLs and Linux xattrs did not work if the path name to a file was longer than PATH_MAX. Changelog from AN-2020-11-25: - Makefile System: Added support for MacOS on arm64 Thanks to a hint from Ryan Schmidt from macports Note that due to outstanding replies to recent changes in configure, it could up to now not be verified that all configure tests now work in a way that results in correct overall results. See below for an in depth report on the changes. - Makefile System: autoconf (config.guess & config.sub) now supports the new arm64 Apple systems. Thanks to Ryan Schmidt from macports for provinding the needed uname(1) output. - Makefile System: Added a new shell script "autoconf/uname" that helps to create shell scrips that allow to emulate an alien host system in order to test the correct behavior of configure.guess and configure.sub on the main development platform. This helps to adapt configure.guess and configure.sub to new platforms in the future. - Makefile System: The new clang compiler as published with the upcomming ARM macs has been preconfigured with -Werror -Wimplicit-function-declaration as the default behavior and thus is in conflict with the existing base assumption of the autoconf system that minimalistic C-code used for compile/link allows to check for the existence of a specific function in libc without a need to know which system #include file is used to define a prototype for that function. This clang version, as a result of this default, behaves like a C++ compiler and aborts if a function is used with no previous function prototype. This caused most of the existing autoconf test to fail with error messages about missing prototypes. We implemented a workaround using these methods for the identified problems: - Most of the exit() calls in the various main() functions have been replaced by return() to avoid a need to #include <stdlib.h> in special since these test may be the case for layered tests that #include files from the higher level parts. - Many autoconf tests programs now #include more system include files, e.g. stdlib.h and unistd.h to avoid missing prototype errors. This cannot reliably be done in tests that are used as a base for higher level tests where the high level test #includes own system include files, since older platforms do not support to #include the same file twice. So this is tricky... - A test for a Linux glibc bug caused by incorect #pragma weak usage inside glibc that prevents one or more functions from ecvt()/fcvt()/gcvt() from being usable outside glibc now uses hand-written prototypes for some of the libc interface functions in order to avoid using the system includes. If we did not do that, we could not use ecvt()/fcvt()/gcvt() on MacOS anymore. Thanks to Ryan Schmidt from macports for reporting and for the given help that was needed for remote debugging. Please send the needed feedback on whether the current state of the configure script results on correct autoconf results on the M1 Macs.
2020-10-23archivers/star: Update to 1.6.1nb11micha2-8/+8
New features with AN-2020-09-04: - autoconf: congig.guess: FreeBSD on 64 bit ARM returns arm64 from uname -m; this was previously not supported and rejected by config.sub. We now convert "arm64" into "aarch64" in config.guess to get the usual expected results. - Makefile system: RULES/rules.env The environment variables FIGNORE, LD_LIBRARY_PATH LD_LIBRARY_PATH_32 and LD_LIBRARY_PATH_64 are now unexported from the enviroment. In special FIGNORE is dangerous, as it is frequently used by bash users but tells ksh93 to modify it's behavior with "echo *" and this may cause strange things with our makefiles in case that /bin/sh is ksh92. This applies e.g. to Oracle Solaris 11 and OpenSolaris. New features with AN-2020-10-09: - autoconf: Added support for newer HP-UX versions on Itanium. Thanks to Rudi Blom for reporting and making a change proposal.
2020-09-28archivers/star: Specifiy minimum required version of smake tool dependencymicha1-2/+2
This is required because devel/smake/Makefile.common must be recent enough.
2020-08-26archivers/star: Update to 1.6.1nb10micha2-8/+8
New features with AN-2020-07-18: - star: star could dump core if it was used as "star -t ..." or. "star -x ..." while being in a UTF-8 based locale and trying to deal with extremely long pathnames (more than PATH_MAX) in the archive. This bug was caused by the dummy conversion routines _to_utf8() or _from_utf8() that did not stop after "tolen" bytes (the current size of the dynamically growing path structure) have been copied. This bug has been introduced in 2018 when the dynamic path name variables have been introduced together with support for extremely long path names. - star: lpath_unix.c and lhash.c renamed a local variable buflen to bflen to avoid a gcc shadowing warning with the rest of star. - star: star.c fixed some fallthrough warnings from lint. - star: The FIFO code (which is 30 years old) did use an int for the size which historically was OK, but this did limit the size of the FIFO to 2 GB. Now with modern tape drives that are really fast, a FIFO with 2 GB would only give a tape streaming reserve for approx. 8 seconds, which is not sufficient. Approx. 30 seconds reserve are recommended. With modern tape drives, this would need approx. 8 GB of FIFO. Be. however careful not to use more than half of the real RAM available in the whole system for the star FIFO. Note that this change induced the need for a lot of derived changes in approx. 1000 lines of code spread over the whole star project and for this reason, it is advised to carefully test the new version and to report if problems occur. New features with AN-2020-08-12: - autoconf: added a new test for the existence of <sys/auxv.h> - autoconf: added new tests for Linux getauxval() and FreeBSD elf_aux_info() - libschily: getexecpath.c now uses getauxval() on Linux and elf_aux_info() on FreeBSD. This was needed since readlink("/proc/curproc/file") on FreeBSD returns random values for hardlinked files, making it impossible to use the result in order to find out which behavior variant of a fat binary is requested. - star: GNU cpio archives may contain longer path names than permitted by the AT&T documentation. This did cause problems with our automated recognition of swapped CPIO headers. We now use a more robust method. - star: GNU cpio archives may contain longer path names than permitted by the AT&T documentation. This could cause star to dump core because the cpio module did not yet call the routine to grow our new dynamic path store. - star: older GNU compilers seem to decide that a division: long long / long results in a long. We now cast the divisor to long long to definitely get the right result for a printf argument. - star: changed a name in a parameter list for lreadlink() to avoid a GCC shadow warning. - star: The variable use_fifo is also needed if the FIFO is not available (e.g. on DOS). The previous code did not compile on platforms that did not support to implement the FIFO. We moved extern BOOL use_fifo out of a #ifdef FIFO Thanks to a hint from Albert Wik. - star: The file README.otherbugs has been changed to match the state of today and a geocrawler based URL now includes an archive.org prefix as geocrawler no longer exists.
2020-07-17archivers/star: Update to 1.6.1nb9micha2-9/+9
Changelog from AN-2020-07-01: - star: Backslashes are now honored when looking for the substitution separators in options like -s /from/to/ or -pax-s /from/to/ Previously, -s '/xxx\/yy//' was interpreted in a way that made the **to string** "yy" and the **from string** "xxx\" instead of making the from string "xxx\/yy" and the to string empty.
2020-06-05archivers/star: Update to 1.6.1nb8micha5-94/+10
- Remove pkgsrc patches (merged upstream) - Move OS specific helper code to devel/smake/Makefile.common Changes from AN-2020-05-25: - libmdgest: Added a "defined(_M_ARM)" check for MSVC byte order definitions (byte_order.h). Thanks to "Excalibur" for reporting. - star: SmartOS supports aclutils.h as published include file (what we intented to include in Schillix-ON as well, since it is needed for libsec) and aclutils.h includes ctype.h. We thus need to #include <ctype.h> before star.h in acl_unix.c The problem occurred because we did already have a aclutils.h related autoconf test, even though Schillix-ON does not yet ship aclutils.h Thanks to Michael Bäuerle from pkgsrc for reporting. - star: The subst command (since 2018) malloc()s the space for a copy of the old string in case that the string Is too long for the static storage. It did however still use the static buffer instead of a pointer to the allocated space. We now use the allocated space if needed. - star: The subst command for pax now supports the \1, \2, ... escapes for \(...\) selections in the from pattern, like it is used by sed(1). Thanks to Kristyna Streitova for reminding on this. - star: A new unit test for this new feature has been added, using the example from the SUSE bug-report for the above substitute command. - star: A new subst option -pax-s has been added that supports sed(1) like substitutions. The old option -s continues to support change(1) like substititions. NOTE: Both pax -s and star -pax-s silently fall back to change(1)-like substitutions in case that a target platform does not support "regex" in libc.
2020-05-14star: Fix typo in comment.wiz1-2/+2
2020-05-14archivers/star: Fix man page handling for different operating systemsmicha2-17/+50
- Check which systems need and support processing tables with tbl The default case matches for NetBSD (no processing) - Man pages are installed into native OS sections PLIST must match this logic (use variables)
2020-05-14archivers/star: Workaround for man page handlingmicha1-12/+14
tbl of NetBSD 9 does not work. Install man pages with unprocessed tables as workaround.
2020-05-13archivers/star: Add build fix for SmartOSmicha3-1/+53
The second patch silence a warning on NetBSD.
2020-05-12archivers/star: Change homepage to schilytoolsmicha1-2/+2
2020-05-11star: Update to 1.6.1nb6micha2-8/+9
Added SPECIAL_PERMS for config file (no more "wrong permissions" warning if installed as nonprivileged user. Changes from AN-2020-03-11: - configure: The autoconfiguration now has an enhanced test for waitid() that was needed since Mac OS is still not POSIX compliant and returns 0 instead of the signal number for a process that has been killed by a signal. MacOS did pass the POSIX certification as a result of a missing test for that problem. Since every vertified OS needs to run an annual refresh the certification with recent versions of the test, I guess that Mac OS (Catalina updates) may become more compliant witin a year. - psmake: The portable bootstrap compile environment for smake missed a symlink for unsetenv.c to libschily since the related code has been moved to libschily in 2018. This prevented compilation on IRIX. Thanks to Kazuo Kuroi for reporting - librmt: the code has been modified to allow librmt to be finally compiled without a need to link against libschily. This makes it easier to link ufsdump/ufsrestore from OpenSolaris against librmt. A call to errmsg() was replaced by a call to errmsgno() that has a private implementation in librmt already. - librmt: the man pages have been modified to make sure that man2html is able to correctly create links to referenced other man pages. - libstreamar: streamarchive.4 now mentions that the POSIX.1-2001 tar extensions are based on a Sun Microsystems proposal from 1997. - star: the man page now mentions that it is preferred to use the source from the schilytools instead of a star specific release. Changes from AN-2020-03-27: Changes from AN-2020-04-18: - librmt: A few small enhancements have been added to the man pages. This was a result of a code review for SchilliX-ON by Eric Ackermann - star: The unit tests port/lpath.sh did not work on IRIX because the "rm" command on IRIX is buggy and does not remove long path names (path names longer than PATH_MAX). We now use a recursive shell function to remove the long path. - star: The new shell function in port/lpath.sh did crash Linux in case that /bin/sh is "dash". "dash" is not POSIX compliant and fails to support arbitrary long working directory names. Whe therefore try to run the long path removal with "bosh", or at least "bash". Only if none of both is present, we fall back to the system default shell "/bin/sh". Changes from AN-2020-05-11: - Makefile system: A new version of the BSD make (bmake) program fixed a bug in pattern macro substitution, so we are now able to detect BSD make and to read BSD make program specific rules. This could in theory allow us to support BSD make in the future, but... Note that we on the other side discovered a new bug with pattern macro substitution in bsd make: The substitution: $(FOO:%=bar/%) is replaced by "bar/" with an empty "FOO", but of course, with an empty FOO, the substitution should be empty as well. This second bug (above) was fixed on May 6th, but we do not yet have all needed make rules and we do not know whether other bugs may still prevent the usability of BSD make. Supporting BSD make will be hard as BSD make does not support pattern matching default rules and this is important for placing the .o files into a sub-directory. Also note that the portable program source for "bmake" from "pkgsrc" is 2 years old and thus currently cannot be supported at all. If you like to experiment on your own, you need to get this version: http://crufty.net/help/sjg/bmake.html see http://www.crufty.net/ftp/pub/sjg/bmake.tar.gz and replace the newer files from the netbsd.org CVS tree by hand in order to fix the first and second mentioned pattern macro substitution bug. - Makefile system: RULES/MKLINKS was enhanced to create a new symlink RULES/r-bsdmake.tag that points to RULES/r-make.tag - Makefile system: The archive makefiles.tar.bz2 has been added to the schilytools tree to allow easy reuse of the makefile system for own projects.
2020-03-04star: Update to 1.6.1nb5micha2-8/+8
New features with AN-2020-02-11: - star: fixed typos in star.1 and star.4 Thanks to Eric Ackermann for reporting as a side effect of a code review for SchilliX-ON - star: fixed typos in header.c Thanks to Eric Ackermann for reporting - star: translated some German comment to English in diff.c, extract.c, list.c, remove.c, restore.c, fifo.c Thanks to Eric Ackermann for reporting as a side effect of a code review for SchilliX-ON - star: create.c: #ifdef __what_people_would_expect__ changed to: #ifdef __wrong_but_what_people_would_expect__ for better readability. - libschily: new man pages starthandlecond.3 and unhandlecond.3 - libschily: handlecond.3 and raisecond.3 now correctly mention handlecond() & raisecond() instead of handle()/raise(). The old names from 1980 had to be renamed because os an unfriendly actt from the C standard commitee. Thanks to Eric Ackermann for reporting as a side effect of a code review for SchilliX-ON - libschily: various small fixes in various man pages from libschily. Thanks to Eric Ackermann for reporting as a side effect of a code review for SchilliX-ON
2020-01-18all: migrate several HOMEPAGEs to httpsrillig1-2/+2
pkglint --only "https instead of http" -r -F With manual adjustments afterwards since pkglint 19.4.4 fixed a few indentations in unrelated lines. This mainly affects projects hosted at SourceForce, as well as freedesktop.org, CTAN and GNU.
2020-01-10archivers/star: Update to 1.6.1nb4micha2-8/+8
Based on Schily Tools Release 2019-12-05. AN-2019-11-11: - libschily: the new functions wcastoi wcastol wcastolb that have been added with the previous release have been forgotten in the linker map file. - star: When using star -copy, the default is now -no-secure-links. This is what users like since they are copying their own data that per definition cannot be untrusted external data. - star: star -diff is now "more smooth" to use, when the archive type is GNU TAR and the "atime" or "ctime" properties are not present for a specific file. Before, Jan 1 1970 was the assumed time in the archive. - star: star -diff now prints a diff statistics summary. - star: New version date AN-2019-12-05: - include/schily/stdio.h: We no longer define getc_unlocked() on Solaris in case that it is defined already. This was needed since Oracle Solaris 11.4 compiles 64 bit by default and made stdio less opaque than before - this result in the same bahavior as for 32 bit programs. This means, we no longer need to use tricks to get fast access to stdio. Thanks to Rolf Dietze for reporting. - libschily: the function getargs() and similar (from the option parser group) fixed a bug that prevented the usability of the official method to include the char '+' inside option names by quoting the character in the option name used in the format string. This bug has been fixed in order to be able to support "star -dump+ ..." - libshedit: because of the changes in Oracle Solaris 11.4, we need to #undef FAST_GETC_PUTC in order to avoid to use getc_unlocked(). Thanks to Rolf Dietze for reporting. - libfind: A new function walksname() has been added to set up the internals in "struct WALK" for external path names. This feature is needed to support "star -c list=names -find ...". - libfind: The functions fetchdir()/dfetchdir(), sortdir(), cmpdir() now use size_t instead of int for the entry number count and the allocated size. This breaks binary compatibility in 64 bit mode for those users only, that use the interfaces fetchdir()/dfetchdir(), sortdir(), cmpdir(). The only application that currently uses these interfaces is "star". Simple users of libfind and programs compiled as 32 bit programs are not affected by the change. Warning: packetizers need to take care of the changed name of the shared library file for libfind. - libfind: Because of the binary incompatible change, we incremented the major library version number from 3 to 4. WARNING: This affects only distros that ship 64 bit versions of star using a shared version of libfind. Since Solaris defaults to 32 bit programs, this is expected to only affect Linux distros. - libstreamar: unicode.c has been changed to make sure that is works even in case that the "len" parameter is an unsigned. - libstreamar: to_utf8() from unicode.c has been rewritten to use size_t. instead of int. Several changes have been introduced in the other code as well. - libstreamar: from_utf8() from unicode.c has been rewritten to use size_t. instead of int. Several changes have been introduced in the other code as well. - star: The new-volume-script= script is now called at the end of _every tape_, even at the last one. This now allows to have a script that automatically renames a standard archive name into numbered archive names when a tree should be splitted into chunks, e.g. with this command line: star -c f=/tmp/v.tar tsize=1G new-volume-script='sh -c \ "mv /tmp/v.tar /tmp/v$(($1-1)).tar" nv' . you get partial archives named /tmp/v1.tar ... /tmp/vn.tar Note that this would not work in case that "sh" is the historical Bourne Shell, e.g. as seen on Solaris 10. This is because "shell arithmetics" is a feature that was not present in the historical Bourne Shell. - star: The man page now mentions that "star cli=tar ..." works as an alias to "star cli=suntar ...". - star: The man page now mentions that "star cli=gnutar ..." does not impement the bugs from the GNU option parser. - star: Is "star cli=xxx ..." is used, then star now calls set_progname(xxx) and thus prints error messages labelled with the command line interface name. - star: In "pax" command line mode, star now uses -no-fsync as default in order to behave the same way as the closed source Solaris pax does. - star: Star now allows to combine the option list=names with -find This is useful, whenever a list of filenames is longer than ARG_MAX and thus cannot be used in the star command line after -find. Here is an example on how to use the new feature in a mercurial. based development environment: (hg status -a; hg status -m; hg status -c) | sed -e 's/^. //' > .hgfiles star -c list=.hgfiles -find -mtime -100 > /tmp/new.tar The first command puts all files under control of mercurial into thw file ".hgfiles" , while omitting the compile results from the file ".hgfiles". The second command takes that list and puts only those files into the archive that have been modified during the past 100 days. - star: A new option "-dump+" allows to have the "SCHILY.volhdr.hostname" meta data field filled out even when not making dumps with an associated dump level. This helps to remember the origin of tar archives. - star: unicode.c has been changed to use the same comment as unicode.c in libstreamar. - star: unicode.c has been changed to make sure that is works even. in case that the "len" parameter is an unsigned. - star: to_utf8() from unicode.c has been rewritten to use size_t. instead of int. Several changes have been introduced in the other code as well. - star: from_utf8() from unicode.c has been rewritten to use size_t. instead of int. Several changes have been introduced in the other code as well. - star: due to the incompatible interface change in libfind (see above), several changes have been introduced in order to use size_t instead of int for fetchdir()/dfetchdir(), sortdir(), cmpdir(). This finally permits star to be able to make use of the current POSIX maximum meta data size for so called "pax" archives (TAR archives with POSIX.1-2001 meta data enhancements derived from the Solaris 7 concept for tar from 1997). Previous versions of star have been limited to data no longer than 2 GB (even though the star main code supports 8 GB file size), this version now supports 8 GB for the. sum of all meta data for a single file in case a 64 bit binary from star is used. - star: the fifo now has a new variant of te function runfifo() that is used by the new fifo(1) standalone program. See below. - star: The README now mentions the new "star cli= ..." method and the fact that star deals with infinite path name length.
2019-11-08archivers/star: Update to 1.6.1nb3micha2-8/+8
Based on schilytools release from 2019-10-25. Changelog ========= - libstreamer: Added new keywords "fsdevmajor" and "fsdevminor" as there are too many incompatible st_dev binary formats. These keywords are not yet created, but they are understood. This permits to switch to the new format (fade out "dev") later. - star: Added new keywords "SCHILY.fsdevmajor" and "SCHILY.fsdevminor" as there are too many incompatible st_dev binary formats. These keywords are not yet created, but they are understood. This permits to switch to the new format (fade out "SCHILY.dev") later. - star: The amount of shared mamory used by default has been reduced to 1 MB on Ultrix. These are old small machines, that do not support 8 MB.
2019-10-24archivers/star: Update to 1.6.1nb2micha2-8/+8
Based on Release 2019-10-07. Changelog ========= - configure: Some shells report a syntax error with "< file (cmd)" and need the redirection statement to be *after* the command. Our changes to support the V7 shell by adding round braces caused ash variants like "dash" to fail. Thanks to Harald van Dijk for reporting - cont/cc-config.sh: canged some :>some-file statements into (:)>some-file. they have meen missed when introducing work arounds for the V7 Shell on Ultrix that does not support I/O redirection for builtin commands. Thanks to Robert Clausecker for reporting - libschily/resolvepath.c: resolving a symlink that points to another symlink that points to itself, caused a coredump as a result from an endless recursion. We now detect this situation and abort the check before the endless recursion causes a stack overflow. A symlink that directly loops is immediately stopped. A longer symlink loop chain over more than one symlink can only be detected by the recursion nesting level and is aborted after a nesting level of 1024 has been reached. This works under the assumption that the minimum stack size is more than 1024 * PATH_MAX and that there is no useful directory path with more than 1024 symlinks in the path. ----> This problem affected star and SCCS. Thanks to Philipp Wellner for reporting - star: Added a hint to the man page that helps to find pkglist= as a. similar option to list= - star: The new method to avoid extracting symlinks that point outside the star working directory that has been introduced in October 2018 could cause a core dump if a symlink is checked that points to another aready existing symlink that points to itself. This was caused by a problem in libschily/resolvepath.c, see above. Thanks to Philipp Wellner for reporting - star: The option -no-secure-links now may be configured as a global default via the tag STAR_SECURE_LINKS= in the file /etc/default/star and as a private default via an environment of the same name. If the value for this tag is 'n' or 'N', -no-secure-links is made the default, any other value sets the option -secure-links as the default. This may be useful for sysadmins that frequently use star to copy installation specific files, but it is risky in case that alien TAR archives are imported. The good news is that this permits users to switch to the old star behavior where no checks for risky links existed. Thanks to Dennis Clarke for reporting - star: A new enviroment STAR_NOHINT has been introduced to supress hint messages that are otherwise seen in case STAR_SECURE_LINKS or STAR_FSYNC is in the environment or in /etc/default/star - star: New version date
2019-10-04star: Update to 1.6.1nb1micha5-31/+40
Switch to latest distfile. Update PLIST. Replaced MESSAGE with share/doc/star/INSTALL.pkgsrc. 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> 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> 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> 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. Release 2019-08-13: - star: star -xdev -find typically works to exclude mounted files. It still does not always do what is expected, e.g. in case that /proc is in the tree of scanned files, where files deep in the new mounted tree suddenly have the same FS ID as other filesystems, e.g. the file /proc/<pid>/path/a.out. In such cases, "star -find -xdev" is still recommended where the mounted file exclusion is done inside libfind instead of being done inside star. Before, files on other filesystems have not been honored at all when using "star -xdev -find ...".
2019-03-19star: update to 1.6.wiz3-10/+21
Update provided by Michael Bäuerle via pkgsrc-wip. Changelog ========= Release 2018-11-22: -libschily: resolvenpath() did not work as expected when some path names do not exist. A stat() call that should check whether we already reached the "/" directory caused a return (-1) even with (flags & RSPF_EXIST) == 0 This bug caused star to classify more symlinks as dangerous than needed. - star: A typo in the function dolchmodat() has been fixed. The bug has been introduced in July 2018 while adding support for very long path names. - star: added a new timestamp to the star version. - star: The man page now mentions incremental backups and restores in the FEATURES section. Release 2018-12-06: - star: hole.c: A memory leak in in hole.c::put_sparse() has been fixed. Thanks to Pavel Raiskup for reporting this coverity result. - star: xheader.c: the macro scopy() no longer has a semicolon at the end. Thanks to Pavel Raiskup for reporting this coverity result. Release 2019-01-22: - libstrar & star unicode.c: iconv() may return > 0 if there are characters that could not be converted into an identical meaning. We therefore now check for ret != 0 instead of ret == -1. - star: added support for auto detection of "zstd" compressed archives. - star: added a new option -zstd to support compression and uncompression using the program "zstd". - star: Recently, star did hang in the FIFO code on Solaris. This did not happen on Solaris over 20 years before... On Linux - on fast multi CPU machines - the probability that a child process from fork() starts up before the parent is 1000x higher than on Solaris, where 10 million tries were needed to reproduce the same problem. As a result, the FIFO in star on Linux could in rare cases (1 of. ~ 10000 tries) even finish the 1st read() from the input file before the "tar"-process starts with e.g. command lines like "star -tv" or. "star -x". Since star introduced auto-byte-order detection and handling in 1985, star needs a special start up sequence to do that. Star introduced the FIFO in the late 1980s and the machines from that time did always restart the parent before the fork()ed child starts. The new OS behavior thus caused a situation that was not forseeable when the FIFO has been designed. This new OS behavior caused a deadlock in aprox. 1 of 10000 star calls on Linux and 1 of 10000000 star calls on Solaris. Star now waits when entering the FIFO fill-process until the. FIFO get-process did start up before trying to wake up a waiting get process. - star: On Linux, in 1 of 1.5 million tries, star did die from SIGPIPE. Note that this did never happen on Solaris. Star now ignores SIGPIPE and it seems that this fixed the problem since it did not happen again after that change with even 100 million tries. - star: The debug printing for the FIFO has been enhanced to print more information from the FIFO control structure to make it easier to debug problems like the ones mentioned above. - star: There seems to be a problem in pipe handling in the Linux kernel. It seems that in rare cases, the read(2) on a pipe returns 0 even though the write side did write(2) one byte to the pipe just before calling exit(). Unfortunately, this problem is hard to debug as it happens only once every ~30 million tries. Our workaround is to behave as if the expected byte could be read and star currently prints something like: star: Erfolg. Sync pipe read error pid 8141 ret 0 star: Erfolg. Ib 0 Ob 1 e 0 p 1 g 0 chan 5. star: Erfolg. Trying to work around Kernel Pipe botch. before it continues. Since the star exit code in such a case is 0, we assume that this is a correct workaround and this case thus may be made completely silent in the future. - star: an even less frequent FIFO problem (occurs once every 50 million tries on fast multi CPU machines) has been identified. Star reports a hard EOF on input even though the complete file with logical EOF has been read and there is still input to process. In order to debug this problem a debug message has been added to the code. With this debug message, it turned out, that this problem happened because a context switch occurred in the FIFO read process after it did see an empty FIFO and later, after the process was resumed, the following check for the FIFO_MEOF flag did see EOF. We now first check for the FIFO_MEOF flag and later for the amount of data inside as the FIFO as FIFO_MEOF is set after the FIFO content has been updated and thus a context switch is no longer able to cause a wrong assumption about the content of the FIFO. If you still see this, please send a report. - star: added support to print debug malloc statistics to better debug memory problems in star. - star: pathname.c:: free_pspace() now only frees the path buffer if it is != NULL - star: fixed a bug in the file create.c that caused star to incorrectly grow the path buffer by 2 bytes for every archived file. This caused star to constantly grow if a larger amount of files are archived and eat up all memory available to 32 bit processes if the archived filesystem is larger than approx. 1 TB. - star: If the path name now cannot be handled because of low memory, we print a warning that includes the text "out of memory". - star: Now checking whether open of /dev/null failed while running a compress pipe. This avoids a core dump on defective OS installations. Thanks to Pavel Raiskup for poiting to a related Coverity message. - star: props.c: Added a missing /* FALLTHROUGH */ comment.. Thanks to Pavel Raiskup for poiting to a related Coverity message. - star: create.c: Add more comment for the CPIO CRC format handler to explain why the last instance if a series of hard links for a file needs to archive the data. - star: diff.c: added a filling fillbytes(&finfo, ...) to make sure that ACL pointers are initialized. Thanks to Pavel Raiskup for poiting to a related Coverity message. - star: Several /* NOTREACHED */ comments have been added to tell programs like coverity that after a NULL pointer check, there is no continuation of the program Thanks to Pavel Raiskup for poiting to a related Coverity message. - star: extract.c: A if (path->ps_path == '\0') has been corrected to if (path->ps_path[0] == '\0') after a mktemp() call. This was a typo introduced with the new support for extremely long path names. Thanks to Pavel Raiskup for poiting to a related Coverity message. - star: extract.c An initalization for a struct pathstore has been moved to the front to verify that path.ps_path is always initialized. Thanks to Pavel Raiskup for poiting to a related Coverity message. - star: header.c: isgnumagic(&ptb->dbuf.t_vers) has been changed to isgnumagic(ptb->ustar_dbuf.t_magic) as it is a "ustar" structure that is going to be checked. Thanks to Pavel Raiskup for poiting to a related Coverity message. - star: some Cstyle changes - bsh / Bourne Shell / star: the function hop_dirs() no longer checks for p2 != NULL before calling *p2 = '/' as p2 has been granted to be != NULL from a break with strchr(p, '/') == NULL Release 2019-02-18: - star: another similar has been fixed similat to what has been fixed already in the 2019-01-22 release: An even less frequent FIFO problem (occurs once every 50 million tries on fast multi CPU machines) has been identified. Star reports a hard EOF on input even though the complete file with logical EOF has been read and there is still input to process. In order to debug this problem a debug message has been added to the code. With this debug message, it turned out, that this problem happened because a context switch occurred in the FIFO read process after it did see an empty FIFO and later, after the process was resumed, the following check for the FIFO_MEOF flag did see EOF. We now first check for the FIFO_MEOF flag and later for the amount of data inside as the FIFO as FIFO_MEOF is set after the FIFO content has been updated and thus a context switch is no longer able to cause a wrong assumption about the content of the FIFO. We now did run 250 million tests without seeing another problem. If you still see this, please send a report. - star: Note that the debug output for this problem now has been disabled. If you need to debug this, call: smake clean COPTX=-DFIFO_EOF_DEBUG all in the star directory. - star: The message "Sync pipe read error" is no longer printed when the FIFO background process dies instead of sending a final wakeup. This is needed since there is a possibility for a context switch in the foreground process that can make it later wait for a wakeup while the background process misses to see the wait flag and just exits. - star: In rare conditions (once every 2 million tries), a hang could. occur with "star -c" if the tar process fills the FIFO and sets the EOF flag and then calls wait() to wait for the FIFO tape output process. This happens in case that the tape output did not see the EOF flag because it has undergone a context switch after it checked for the not yet existing EOF flag and before waiting for a wakeup from the tar FIFO fill process. Star now closes the sync pipes before calling wait() as this always wakes up the waiting other side. We did run another 300 million tests for this condition and did not see any problem now. - star: The version is now 1.6 Short overview for what changed since the last "stable" version: - Support for "infinitely" long path names has been added. - Support for comparing timestamps with nanosecond granularity - -secure-links has been made the default when extracting archived (except when doing an incremental restore). - Added Support for NFSv4 ACLs on FreeBSD. Solaris has been supported since 2013. - Added Support to archive SELinix attributes. - Allow to configure whether "star -fsync" is the default in order to support filesystems that are slow with granted transactions (like ZFS) or platforms that are genrally slow with fsync() (like Linux). - Full UNICODE support has been added for tar headers. - Support for -zstd compression has been added. - Some rare FIFO problems have been fixed. Note that we did recently run more than a billion tests to verify the FIFO after we identified a method to trigger the problem on Linux. Release 2019-03-11: - star: Support for base-256 numbers in timestams and uid/gid has been added. This has been planned in the 1990s already, when star invented the base-256 coding, but it has been forgotten in favor of the POSIX.1-2001 enhanded archive headers. Now it seems that GNU tar. that copied the format from star uses it for timestamps and uid/gid and we need to implement it in order to get archive compatibility. Thanks to Michal Górny (mgorny@gentoo.org) for detecting the missing feature. - star: The t_rdev field in the old star header now may use base-256 as well. - star: The function stoli() added a new parameter "fieldwidth" that allows to configure when a "unterminated octal number" warning is printed. This is needed since this function is used for 8 byte and for 12 byte fields. - star: star did print archives with illegal 32 byte user/group. names (where the nul terminator is missing) "correctly", when in. list mode but it used only the first 31 bytes when extractig. such archives - star: a new function istarnumber() is used to do better heuristics on what a valid TAR archive is. We have some special handling to work. around the non-compliance of GNU tar in some known cases. If you discover other GNU tar archives that are not detected as TAR archive, please report them to help to make th eheuristics better. The background is to make star better in detecting fool archives. - star: The directory testscripts added new files: testscripts/not_a_tar_file1 and testscripts/not_a_tar_file3 with correct checksums that fool tar implementations that use too few heuristics to identify tar archives. - star: fixed a bug in the FIFO related to extracting multi-volume archives. The bug was introduced with release 2019-02-18 and the effect was that the FIFO complained at the end of the last volume. - star/libschily: Added new error checking codes: "ID"<-->allows to control error behaviour with range errors in uid_t and gid_t values. "TIME"<>allows to control error behaviour with range errors in time_t - star: Creating multi volume archives without using the FIFO did dump core. We thus no longer set mp->chreel = TRUE; when the FIFO has. been disabled. The related bug has been introduced in January 2012. - star: Creating multi volume archives with a very small volume size could cause a hang at the end as the function startvol() did not check whether the TAR process did already decide to exit while waiting for the TAR process to calm down (stop) before writing the next multi volume header. We no longer wait in this case. - star: exprstats() now calls fifo_exit(ret) in order to avoid a FIFO Sync pipe read error message in case that star was terminated with an error. - star: Since we added better Unicode support in May 2018, star did dump core when a multi volume header with POSIX.1-2001 extensions was written in multi volume create mode. We now check for NULL pointers before we call nameascii() to decide whether the file. name needs a UTF-8 translation. - star: Creating multi volume archives without POSIX.1-2001 support no longer sets POSIX.1-2001 extension flags for the volume header. - star: The flag XF_NOTIME now works when creating POSIX.1-2001 extended headers and thus the 'x'-header with time stamps for the volume header tar header is no longer created. This avoids to write atime=1 for the volume number 1 since we encode the volume number in the otherwise useless atime of the volume header when in POSIX.1-1988 TAR mode. - star: the star.1 man page now mentions that the first tar program appeared in 1979 (3 years before star has been started as a project). - star: the star.4 man page now has a "SEE ALSO", a HISTORY and a AUTHOR section. - star: the star.4 man page now has a MULTI VOLUME ARCHIVE HANDLING section. - star: the star.4 man page added a new "BASIC TAR STRUCTURE" section. - star: The ACL reference test archives (formerly available from e.g.: http://sf.net/projects/s-tar/files/alpha/) have been added to the directory star/testscripts/. The files. acl-test.tar.gz acl-test2.tar.gz acl-test3.tar.gz acl-test4.tar.gz acl-test5.tar.gz contain ACLs that use the obsolete method from a POSIX proposal from around 1993 that was withdrawn in 1997 and never has become part of a standard. This method has been implemented in 1993 for UFS on Solaris. GNU tar claims to support this format but really does not support it at all. GNU tar fails to extract the reference tar archives from above and it fails to create a compliant tar archive in create mode. It is strange to see that GNU tar never has been tested against the reference archives that have been created in collaboration with SuSE in 2001 already. The files acl-nfsv4-test.tar.gz acl-nfsv4-test2.tar.gz acl-nfsv4-test3.tar.gz acl-nfsv4-test4.tar.gz acl-nfsv4-test5.tar.gz contain ACLs that have become part of the NFSv4 standard and that. are also used on NTFS and ZFS. This format is completely unsupported by GNU tar. - star TODO: create unit tests in order to avoid future problems with multi volume archives similar to the problems we recently fixed. - star: Updated version 1.6 (not yet published in separate tarball) Short overview for what changed since the last "stable" version: - Support for "infinitely" long path names has been added. - Support for base-256 numbers in timestams and uid/gid has been added. This has been planned in the 1990s already, when star invented the base-256 coding, but it has been forgotten in favor of the POSIX.1-2001 enhanded archive headers. - Support for comparing timestamps with nanosecond granularity - -secure-links has been made the default when extracting archived (except when doing an incremental restore). - Added Support for NFSv4 ACLs on FreeBSD. Solaris has been supported since 2013. - Added Support to archive SELinix attributes. - Allow to configure whether "star -fsync" is the default in order to support filesystems that are slow with granted transactions (like ZFS) or platforms that are genrally slow with fsync() (like Linux). - Full UNICODE support has been added for tar headers. - Support for -zstd compression has been added. - Some rare FIFO problems have been fixed. Note that we did recently run more than a billion tests to verify the FIFO after we identified a method to trigger the problem on Linux.
2018-11-10star: add MESSAGE filewiz1-0/+14
Part of 1.5.4 update.
2018-11-10star: update to 1.5.4nb1.wiz13-302/+137
Packaged for wip by Michael Bäuerle. Changes: too many to list, last distfile was from 2003.
2016-12-11Add missing rules files for sun4v-sunos4. Fixes PR 44379.dholland1-2/+4
2016-01-23update MASTER_SITES. berlios retired. project moved to sourceforge.zafer1-2/+2
2015-11-07Add build for openbsd amd64.dholland1-2/+3
2015-11-07Add workaround for install failure on case-insensitive fs; seen in thedholland1-1/+5
last MacOS PPC build.
2015-11-03Add SHA512 digests for distfiles for archivers categoryagc1-1/+2
Problems found with existing distfile for eagle: distfiles/bicom101.zip distfiles/szip-2.1nb3/szip-2.1.tar.gz distfiles/xmill-0.9.1.tar.gz No changes made to these distinfo files. Otherwise, existing SHA1 digests verified and found to be the same on the machine holding the existing distfiles (morden). All existing SHA1 digests retained for now as an audit trail.
2014-12-22Update HOMEPAGE, was 404 statusmef1-1/+2
2014-10-09Remove pkgviews: don't set PKG_INSTALLATION_TYPES in Makefiles.wiz1-3/+1
2014-09-24Ensure RUNPATH is empty to avoid bogus rpaths.jperkin1-1/+2
2014-06-26Create more symbolic links to fix build on FreeBSD 10.asau1-2/+4
2012-09-11"user-destdir" is default these daysasau1-2/+1
2012-06-28fix typodholland1-1/+1
2012-05-23Add another case symlinking configuration templates; should fix ppc build.dholland1-2/+2
2012-03-20If gcc is used, set CCOM=gcc in MAKE_ENV to let the schily makefileshans1-1/+8
know. Fixes build with gcc on SunOS and possibly other platforms.
2012-01-30Rename custom function "fexecve", which conflicts with glibc's fexecve(3),sbd5-5/+77
to schily_fexecve. Also <linux/fs.h> must be included before <linux/ext2_fs.h>.
2012-01-30Create a rules file for x86_64-linuxsbd1-1/+2
2011-03-27Allow to build on FreeBSD-x86_64 and DragonFly-x86_64.obache1-2/+3
2011-01-15Fix build under NetBSD-currenty removing unused custom function "getline"tron3-1/+37
which conflicts with getline(3).
2011-01-13Honor PKGMANDIR, per PR#44380.obache1-1/+2
2010-09-28fix local patch; void function cannot return vaule.tnn2-6/+6
reported by <BugeyeD> in #pkgsrc
2009-02-09DESTDIR support.joerg1-2/+3