Subject: CVS commit: pkgsrc/archivers/star
From: Michael Baeuerle
Date: 2020-01-10 13:24:56
Message id: 20200110122456.9B8F4FBF4@cvs.NetBSD.org

Log Message:
archivers/star: Update to 1.6.1nb4

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.

Files:
RevisionActionfile
1.43modifypkgsrc/archivers/star/Makefile
1.19modifypkgsrc/archivers/star/distinfo