Subject: CVS commit: pkgsrc/archivers/star
From: Michael Baeuerle
Date: 2020-08-26 15:51:36
Message id:

Log Message:
archivers/star: Update to 1.6.1nb10

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

- 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 prefix as geocrawler no longer exists.