From: Matthew Fernandez Date: Thu, 24 Sep 2020 01:52:23 +0000 (-0700) Subject: switch to ustar POSIX format for tarballs produced by make dist X-Git-Tag: 2.46.0~20^2^2~59^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=16d0c7eee99bf3b2ab603242620b0318d0224ddb;p=graphviz switch to ustar POSIX format for tarballs produced by make dist 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 --- diff --git a/CHANGELOG.md b/CHANGELOG.md index c7e69f4b1..d1272e851 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/configure.ac b/configure.ac index f2f02d1f9..bf6b20923 100644 --- a/configure.ac +++ b/configure.ac @@ -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])])