]> granicus.if.org Git - graphviz/commitdiff
switch to ustar POSIX format for tarballs produced by make dist
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Thu, 24 Sep 2020 01:52:23 +0000 (18:52 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Wed, 30 Sep 2020 14:45:27 +0000 (07:45 -0700)
Without setting this option, Automake was defaulting to the “V7” format that
only supports filenames up to 99 characters. This was causing the following
(unnoticed) error during portable source generation:

  tardir=graphviz-2.44.2~dev.20200921.1021 && ${TAR-tar} chof - "$tardir" | eval GZIP= gzip --best -c >graphviz-2.44.2~dev.20200921.1021.tar.gz
  tar: graphviz-2.44.2~dev.20200921.1021/macosx/graphviz.xcodeproj/project.xcworkspace/contents.xcworkspacedata: file name is too long (max 99); not dumped
  tar: graphviz-2.44.2~dev.20200921.1021/macosx/graphviz.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: file name is too long (max 99); not dumped
  tar: Exiting with failure status due to previous errors

In this commit, we switch to the newer “ustar” format that supports filenames
up to 256 characters. This format is still widely supported. From the Automake
documentation [0]:

  tar-ustar selects the ustar format defined by POSIX 1003.1-1988. This format
  is old enough to be portable: As of 2018, it is supported by the native tar
  command on GNU, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, and Solaris, at least.
  It fully supports empty directories. It can store file names with up to 256
  characters, provided that the file name can be split at directory separator in
  two parts, first of them being at most 155 bytes long. So, in most cases the
  maximum file name length will be shorter than 256 characters.

Closes #1830.

  [0]: https://www.gnu.org/software/automake/manual/html_node/List-of-Automake-options.html

CHANGELOG.md
configure.ac

index c7e69f4b1f4361f6a72af94daa3c0b1e85ed89e3..d1272e851e7783f09bd2acc4f28e617fa644dab6 100644 (file)
@@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - Building Graphviz with ICC defaults to -O2 instead of -O0
 - Build system work arounds for GCC 3 have been removed
 - Incomplete support for running the test suite under CMake has been removed
+- Portable source tarballs now use the “ustar” POSIX format
 
 ### Fixed
 - gvpr: line numbers in gvpr errors/warnings are incorrect #1594
@@ -39,6 +40,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - iffe "lib" check always succeeds when compiler optimises #1521
 - syntax error near text who is not present #1411
 - Explicitly links with libstdc++; should allow libc++ if appropriate #163
+- A macOS file that was erroneously excluded from portable source tarballs has
+  been restored
 
 ## [2.44.1] - 2020-06-29
 
index f2f02d1f9223e62ea10d831effe5e5f6e97a0229..bf6b20923ccbb91f1a4672a35543f921e358c991 100644 (file)
@@ -209,7 +209,7 @@ DEFAULT_DPI=96
 AC_DEFINE_UNQUOTED(DEFAULT_DPI,$DEFAULT_DPI,Default DPI.)
 AC_DEFINE_UNQUOTED(BROWSER,"$BROWSER",[Command to open a browser on a URL])
 
-AM_INIT_AUTOMAKE([no-define subdir-objects])
+AM_INIT_AUTOMAKE([no-define subdir-objects tar-ustar])
 
 # Suppress verbose compile lines
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])