Home - Waterfall Grid T-Grid Console Builders Recent Builds Buildslaves Changesources - JSON API - About

Builder gtar-solaris10-i386 Build #315

Results:

Failed shell shell_1 shell_2 shell_3

SourceStamp:

Projectgtar
Repositorygit://git.savannah.gnu.org/tar.git
Branchmaster
Revision1f58835f3b4c67341889b273336eb66bb7223c03
Got Revision1f58835f3b4c67341889b273336eb66bb7223c03
Changes35 changes

BuildSlave:

unstable10x

Reason:

The SingleBranchScheduler scheduler named 'schedule-gtar-solaris10-i386' triggered this build

Steps and Logfiles:

  1. git update ( 26 secs )
    1. stdio
  2. shell '/opt/csw/bin/bash bootstrap' failed ( 1 mins, 23 secs )
    1. stdio
  3. shell_1 './configure' failed ( 0 secs )
    1. stdio
  4. shell_2 'gmake' failed ( 0 secs )
    1. stdio
  5. shell_3 'gmake check' failed ( 0 secs )
    1. stdio
    2. testsuite.log

Build Properties:

NameValueSource
branch master Build
builddir /export/home/buildbot/slave/gtar-solaris10-i386 slave
buildername gtar-solaris10-i386 Builder
buildnumber 315 Build
codebase Build
got_revision 1f58835f3b4c67341889b273336eb66bb7223c03 Git
project gtar Build
repository git://git.savannah.gnu.org/tar.git Build
revision 1f58835f3b4c67341889b273336eb66bb7223c03 Build
scheduler schedule-gtar-solaris10-i386 Scheduler
slavename unstable10x BuildSlave
workdir /export/home/buildbot/slave/gtar-solaris10-i386 slave (deprecated)

Forced Build Properties:

NameLabelValue

Responsible Users:

  1. Darren Carreras
  2. Paul Eggert
  3. Pavel Cahyna
  4. Sergey Poznyakoff

Timing:

StartThu Sep 3 15:06:01 2026
EndThu Sep 3 15:07:52 2026
Elapsed1 mins, 51 secs

All Changes:

:

  1. Change #273834

    Category gtar
    Changed by Pavel Cahyna <pcahynaohnoyoudont@redhat.com>
    Changed at Fri 03 Jul 2026 11:58:18
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 08c3fc2e9337094aff01a511170fd35fdb8f1ee3

    Comments

    Avoid acl_ prefix for functions
    The acl.h header from libacl uses acl_ prefix for its functions. Avoid
    defining functions with the same name in order to protect its namespace.

    Changed files

    • src/xattrs.c
  2. Change #275385

    Category gtar
    Changed by Sergey Poznyakoff <grayohnoyoudont@gnu.org>
    Changed at Tue 21 Jul 2026 21:49:04
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 87819f9f0a6c2d546c7936123fce5eecb6e6f149

    Comments

    Check if the dumpdir read from the archive is well-formed before using it.
    * src/common.h (dumpdir_ok): New proto.
    * src/incremen.c (dumpdir_ok): Take size as the second argument.
    Verify if the last byte is 0 and the dumpdir contains 0 or more
    nul-terminated strings.
    (get_gnu_dumpdir): Check if the obtained dumpdir is ok. Clear the
    is_dumpdir flag if it is not.
    * src/xheader.c (dumpdir_decoder) Verify if the obtained dumpdir is
    ok.

    Changed files

    • src/common.h
    • src/incremen.c
    • src/xheader.c
  3. Change #275568

    Category gtar
    Changed by Sergey Poznyakoff <grayohnoyoudont@gnu.org>
    Changed at Thu 23 Jul 2026 08:00:22
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 5a225f25c5f414aaebe2f9fa5572f2cdfb7e1177

    Comments

    Update paxutils

    Changed files

    • paxutils
  4. Change #275576

    Category gtar
    Changed by Sergey Poznyakoff <grayohnoyoudont@gnu.org>
    Changed at Thu 23 Jul 2026 09:52:03
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 19a3a73e8c48bd3c59cbea9b5ed6780fc6836c6d

    Comments

    Assume directory members have size=0.
    Since commit b8d8a61b, tar started honoring size field in headers
    of the directory archive members when listing and extracting. That
    doesn't seem right: although GNU tar always stores 0 for such members,
    there are other tar implementation that don't. As a result, GNU tar
    skips the actual directory contents when listing or extracting archives
    created by such implementations.
    
    This commit fixes that by assuming that size is 0 for directory archive
    members.
    
    * src/list.c (member_is_dir): Restore function.
    (skim_member): Don't apply skim_file to directory members.
    * tests/skipdir.at: Fix expectations.

    Changed files

    • src/list.c
    • tests/skipdir.at
  5. Change #275820

    Category gtar
    Changed by Sergey Poznyakoff <grayohnoyoudont@gnu.org>
    Changed at Sat 25 Jul 2026 16:10:11
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision e407e6e7ddf61b84d5a0fabb2546a1efd96a512c

    Comments

    Fix --set-mtime-command.
    This fixes a bug introduced by 281e03ec6.
    
    * src/system.c (sys_exec_setmtime_script): Increase buflen by
    value of nread.

    Changed files

    • src/system.c
  6. Change #276520

    Category gtar
    Changed by Pavel Cahyna <pcahynaohnoyoudont@redhat.com>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 1b91f5f66f8e6c490eef0fdee50f652cfe155844

    Comments

    Draft patch for openat2 changes vs --one-top-level
    The patch leverages the existing -C code. In order to do that, every
    entry in the wd[] table gets another companion entry in the table that
    represents the --one-top-level directory. There is one additional field
    in each entry that allows skipping the companion entries if they are not
    desired.
    
    The actual directory is created lazily by chdir_do() if needed, as you
    requested, to avoid empty "a/foo" after --one-top-level=foo -C a -C b.
    
    The patch "by the way" fixes also extraction of hardlinks with
    --one-top-level which currently is broken in the typical case (the
    transform is not applied to the target, so the hardlink is wrong).
    
    The patch does not yet handle the --show-transformed case with
    --one-top-level that you discussed in another subthread. As a result, two
    tests now fail (onetop02.at and onetop04.at). I suppose that this would
    be quite easy to fix.
    
    Another issue that I am aware of is that I am not sure whether to call
    repair_delayed_set_stat and/or delay_set_stat on the newly created
    directories like extract_dir() does (the whole delay_set code is abit
    mysterious to me).
    
    Use of --create together with --one-top-level should probably be
    forbidden, as unlink.c uses wd[] in a way that will likely break in the
    presence of companion entries (the chdir_do call in
    flush_deferred_unlinks).
    
    Show the one-top-level arg as a transformation

    Changed files

    • src/common.h
    • src/extract.c
    • src/list.c
    • src/misc.c
    • src/names.c
    • src/tar.c
    • src/unlink.c
    • src/update.c
  7. Change #276521

    Category gtar
    Changed by Pavel Cahyna <pcahynaohnoyoudont@redhat.com>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 3903b37673dc025c51e6ea2a53a22318e1b48f46

    Comments

    Revert "tar: incremental 'X' follows --one-top-level"
    This reverts commit 79d61af0e118a9368425729f624a66e1065be61e.

    Changed files

    • src/incremen.c
  8. Change #276522

    Category gtar
    Changed by Pavel Cahyna <pcahynaohnoyoudont@redhat.com>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision b17665b2c0548c77b6cd8d2d5b61e4c4fcc4f770

    Comments

    Add tests for cyclic renames
    Using options to extract to a subdirectory: one test with -C,
    another with --one-top-level.

    Changed files

    • tests/Makefile.am
    • tests/rename08.at
    • tests/rename09.at
    • tests/testsuite.at
  9. Change #276523

    Category gtar
    Changed by Pavel Cahyna <pcahynaohnoyoudont@redhat.com>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 325b899214ac13519153318e66c889a31c15342d

    Comments

    Eliminate redundant chdir_do
    If one-top-level is not provided, chdir_do is a no-op.

    Changed files

    • src/extract.c
  10. Change #276524

    Category gtar
    Changed by Pavel Cahyna <pcahynaohnoyoudont@redhat.com>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 1980e032afe60c5fe0e5df573457885ece4e69d5

    Comments

    Get rid of create_dir
    It turns out that make_directories can do what we need (create all
    directories in a path) if we append a dummy "." component, as it creates
    directories up to and excluding the last component of the path.
    
    Also, do not avoid using delay_set_stat on the newly created
    directories. This matches the rest of the code and avoids potentially
    leaving the newly-created directories with too open permissions.
    This requires some workarounds to cope with
    apply_nonancestor_delayed_set_stat and mark_metadata_set problems: do it
    as in the rest of the code - apply the stats before proceeding with
    extraction of anything else.

    Changed files

    • src/common.h
    • src/extract.c
    • src/misc.c
  11. Change #276525

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision e335e2c8b102f83b63ffd373f0b88401da3ebe6c

    Comments

    Add comment about deducing --one-top-level name

    Changed files

    • src/tar.c
  12. Change #276526

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 0ec9f0ebf6c52d3e0a71b39ef45043f5ff8e27a7

    Comments

    Go back to simpler chdir_arg API
    * src/misc.c (add_wd, ensure_wd): New functions, replacing ...
    (grow_wd): .. this function, for clarity.  All uses changed.
    (chdir_arg): Omit 2nd arg, to keep callers simpler.
    All uses changed.  Instead of being recursive, be iterative;
    this is part of the simplification.

    Changed files

    • src/common.h
    • src/misc.c
    • src/names.c
  13. Change #276527

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision d405469bf4786b358990e2a4c02e619b318666f7

    Comments

    Improve --keep-directory-symlink performance
    * src/extract.c (is_directory_link): Remove; no longer needed.
    (extract_dir): If --keep-directory-symlink, avoid the need
    to call issymlinkat if either --dereference is not specified,
    or if the plain stat fails.  This saves a syscall, simplifies
    the code a bit, and should simplify future changes.

    Changed files

    • src/extract.c
  14. Change #276528

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 4dc85c626fb9dcc1ccacf0c1ab7c0e9f2163c06f

    Comments

    Simplify make_directories API
    * src/extract.c (make_directories): Return a 3-way int rather than
    an int (actually a bool) and another optional bool via a pointer.
    All callers changed.  In comment, make it clearer what the
    return value means.  Also, improve behavior in a small way: when
    issuing a diagnostic on MS-Windows-like systems, use the original
    directory name rather than translating '\\' to '/'.

    Changed files

    • src/common.h
    • src/extract.c
    • src/misc.c
  15. Change #276529

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision b7704c8d989cbc63d681bc7d3a59764f1adb4e99

    Comments

    Avoid need to append "/." for make_directories
    * src/extract.c (make_directories): New arg JUST_PARENT.
    All callers changed.
    * src/misc.c (struct wd.name, add_wd, chdir_arg):
    Use char *, not char const *, to let make_directories
    temporarily alter slashes.  All uses changed.
    (chdir_do): Do not create a new name with trailing "/."
    because make_directories no longer needs this.

    Changed files

    • src/common.h
    • src/extract.c
    • src/misc.c
    • src/names.c
  16. Change #276530

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision bad45bee3e4bda479b792162dc73a7817d5664d1

    Comments

    Improve dir checking in make_directories
    Prefer faccessat to fstatat for dir checking.
    Also, don’t bother doing either check if caller
    is about to check the rough equivalent anyway.
    * src/extract.c (make_directories): Now static.
    2nd arg is now a three-way flag.  All uses changed.
    Use faccessat instead of fstatat, to avoid EOVERFLOW issues.
    (create_dir): New function, for use outside this module.
    External caller changed.
    (maybe_recoverable): Set *INTERDIR_MADE if make_directories
    said we made the parent.

    Changed files

    • src/common.h
    • src/extract.c
    • src/misc.c
  17. Change #276531

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision ffe45511365321b3b2ba6f141f8a4c029931ca49

    Comments

    Remove struct wd.one_top_level
    This merely refactors.
    * src/misc.c: Don’t include assert.h.
    (struct wd.one_top_level): Remove.  All uses changed to say that
    it’s a one_top_level directory iff its index is odd and
    one_top_level_dir is nonnull.  This simplifies the code and
    removes the need for a couple of ‘assert’s.  This code
    uses ~+X instead of ~X to pacify gcc -Wbool-operation.

    Changed files

    • src/misc.c
  18. Change #276532

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 25d8b4b1ac58b86ba7bf2db17da41399516d6db6

    Comments

    Save a syscall in trivial extract_dir
    * src/extract.c (trivial_base_name): New function.
    (extract_dir): Use it.

    Changed files

    • src/extract.c
  19. Change #276533

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 05f21fe936b27382e667b5400d986d4dbd112ef1

    Comments

    Save work if one_top_level_dir is absolute
    * src/misc.c (chdir_arg): Optimize --one-top-level=X where X is an
    absolute file name.

    Changed files

    • src/misc.c
  20. Change #276534

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 941f62b24db232c58a41a0a621e08451f7f97ed8

    Comments

    --one-top-level clarifications
    Bring back documentation for --one-top-level absolute file names,
    and clarify its behavior.  Allow --one-top-level only with
    -x, -d, -t.
    * src/misc.c (chdir_do): Do not pass -1 to openat.  Simplify now
    that open_searchdir_how no longer has RESOLVE_BENEATH when
    one_top_level_dir is absolute.  Fix errno confusion in messages.
    * src/tar.c (decode_options): Allow --one-top-level only with -x,
    -d, and -t.  Do not use RESOLVE_BENEATH if --one-top-level=/foo is
    used; this simplifies chdir_do.

    Changed files

    • NEWS
    • doc/tar.texi
    • src/misc.c
    • src/tar.c
  21. Change #276535

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision e54e505a929c37d1f842ebb2516fb807b8254699

    Comments

    tar: open directories more efficiently
    Without this patch, tar would open the parent of a directory
    for search, then open the directory itself for search.
    It's more efficient to just open the directory for search.
    * src/create.c (create_archive, restore_parent_fd, chdir_do):
    Use open_searchdir instead of opening by hand.
    * src/misc.c (chdir_do): Use fdbase_opendir and fdbase_close
    instead of openat and close, so that the fd is cached properly.
    (chdirable): New function.
    (fdbase_clear): Use it to avoid closing chdirable FDs.
    (fdbase_close): New function.
    (open_subdir): New arg OFLAGS.  All callers changed.
    (fdbase_opendir): New arg CHILD_OFLAGS.  All callers changed.
    Prefer AT_FDCWD for absolute file names, so that we need not
    worry about chdir_fd == BADFD in that case.
    Do not allow empty file names.
    When replacing an old directory, do not close its fd if it
    is chdirable.
    (open_searchdir): New function.
    * src/tar.c (decode_options): Do not worry about one_top_level_dir
    and IS_ABSOLUTE_FILE_NAME (one_top_level_dir), as fdbase_opendir
    now prefers AT_FDCWD for absolute file names.
    (tar_stat_close): Use fdbase_close instead of close,
    so that the fd is cached properly.

    Changed files

    • src/common.h
    • src/create.c
    • src/misc.c
    • src/tar.c
  22. Change #276536

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Thu 30 Jul 2026 08:12:46
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 9371d36cc707a099e6867199f18bbaa7795b6150

    Comments

    tar: reuse FD when extracting hard links
    * src/extract.c (rename_directory): Redo to accommodate
    new semantics of fdbase1, and to use fds more intelligently.
    * src/misc.c (fdbase_opendir): If ALTERNATE, it is now OK to use,
    though not update, the main cache.  This makes it possible for the
    caller to do linkat (N, "A", N, "B") instead of the
    linkat (N, "A", N + 1, "B") it previously did, and this
    saves some open and close calls on directories.

    Changed files

    • src/extract.c
    • src/misc.c
  23. Change #277169

    Category gtar
    Changed by Darren Carreras <artemisohnoyoudont@perpetualsai.com>
    Changed at Thu 06 Aug 2026 07:35:37
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision d1df7f403de05bfbe11527a5b570469fb1011fda

    Comments

    tar: invalidate directory cache after failed open
    fdbase_opendir copies a requested directory name into the cache before
    opening it.  If open_subdir fails, this leaves the new name associated
    with the old file descriptor.  A retry after tar creates the missing
    parent can then extract into the old directory.
    
    Close an unowned old descriptor before trying to open the new dir and
    invalidate the cache entry if that fails.  Add a regression test using
    equal-length sibling directory names.
    
    * src/misc.c (fdbase_opendir): Invalidate the cache after a failed
    replacement open.
    * tests/extrac35.at: New test.
    * tests/Makefile.am (TESTSUITE_AT): Add it.
    * tests/testsuite.at: Include it.

    Changed files

    • src/misc.c
    • tests/Makefile.am
    • tests/extrac35.at
    • tests/testsuite.at
  24. Change #278401

    Category gtar
    Changed by Sergey Poznyakoff <grayohnoyoudont@gnu.org>
    Changed at Mon 17 Aug 2026 06:07:27
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision c5c6440baeacc6f605cb4c5ecec074c419bc7cf9

    Comments

    Accept relative file names in recursive exclude files.
    This fixes bug #68616: exclude lists supplied with
    --exclude-ignore-recursive now specify file names irrespective
    of the actual name of the containing directory. This also fixes
    processing of the VCS ignore files.
    
    * src/exclist.c (struct exclist): New fields: prefix, prefix_len.
    (info_attach_exclist): Store original directory name as prefix.
    (info_free_exclist): Free prefix.
    (excluded_name): Recompute rname at each loop stripping off the
    directory prefix.
    
    * tests/exclude21.at: New test.
    * tests/exclude22.at: New test.
    * tests/Makefile.am: Add new tests.
    * tests/testsuite.at: Include new tests.

    Changed files

    • gnulib
    • src/exclist.c
    • tests/Makefile.am
    • tests/exclude21.at
    • tests/exclude22.at
    • tests/testsuite.at
  25. Change #278637

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Tue 18 Aug 2026 18:09:42
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision c1ada134b2aaa280e4301a18e4edf67ff27e2f65

    Comments

    build: update gnulib submodule to latest

    Changed files

    • gnulib
  26. Change #278649

    Category gtar
    Changed by Sergey Poznyakoff <grayohnoyoudont@gnu.org>
    Changed at Tue 18 Aug 2026 20:51:55
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision f022ac4ee0ad80a411386f14ec7570856a7cc8d1

    Comments

    Fix handling of negated and rooted entries in .gitignore files.
    * src/exclist.c (struct vcs_ignore_file): New field: matchfn.
    (struct exclist): New field: vcs.
    (info_attach_exclist): Initialize vcs.
    (excluded_name): Rewrite using excluded_file_name_status from gnulib.
    (git_addfn): Special handling for entries starting with '!' and '/'.
    (vcs_ignore_files): Initialize matchfn member in the ".gitignore"
    entry.
    
    * tests/exclude23.at: New test.
    * tests/Makefile.am: Add new test.
    * tests/testsuite.at: Include new test.

    Changed files

    • src/exclist.c
    • tests/Makefile.am
    • tests/exclude22.at
    • tests/exclude23.at
    • tests/testsuite.at
  27. Change #278826

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Fri 21 Aug 2026 00:26:53
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 399289153ededdd160fb1fa0b9893c4d87116449

    Comments

    build: update gnulib submodule to latest

    Changed files

    • gnulib
  28. Change #278827

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Fri 21 Aug 2026 00:46:21
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision e5aeda0699346384fafa5fea67d8635818c4afc3

    Comments

    tar: don’t evict from fdbase_cache if open fails
    * src/misc.c (fdbase_opendir): Fix the recent fix
    d1df7f403de05bfbe11527a5b570469fb1011fda,
    which introduced bugs causing us to pass BADFD to openat.
    Don’t close and evict an existing cache resident merely because
    the open of a subdirectory fails.
    Refactor this too-tricky code to add some clarity.

    Changed files

    • src/misc.c
  29. Change #278828

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Fri 21 Aug 2026 00:46:21
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 0713d3502a0717347a0af62c3afd61e537b4bcc7

    Comments

    tar: refactor fdbase_opendir
    * src/misc.c (fdbase_opendir): Rename locals to more clearly
    distinguish new subdirectory name from old.
    Cache c->subdir and c->subdirlen to help the compiler warn
    us statically if we mess up.
    Move the large part of an if that ends in a break to be
    out of the loop, to make things a bit clearer and reduce indentation.
    Distinguish whether the new name is a subdirectory of the old,
    from whether the new name extends the old; they are not the same
    thing as the new and old names can have different chdir_fd values.
    If the new name extends the old, don’t overwrite the old name;
    just store into the old name’s extension.
    Although these changes improve performance with long names,
    the primary goal is to clarify the code, not performance.

    Changed files

    • src/misc.c
  30. Change #278829

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Fri 21 Aug 2026 00:46:21
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 961e48a903f610c559a58ffdc3a8285983993365

    Comments

    tar: support --one-top-dir=/abs/olute
    It appears that people were using the --one-top-dir=DIR option
    with an absolute file name, even though this behavior was
    undocumented and erratic and recent tar versions rejected it.
    Document and implement behavior that I hope people expect.
    * src/extract.c (MAKEDIR_FULL_ESCAPE): New constant.
    (make_directories): Let full directory names escape if
    MAKEDIR_FULL_ESCAPE is passed.
    (create_dir): Let DIR escape if it is the one-top-level dir
    or an ancestor.
    * src/misc.c (fdbase_opendir): Replace old CHILD_OFLAGS arg with
    two new args CHILD and OFLAG, so that the functionalities can be
    distinguished.  All callers changed.
    (fdbase_escape): New function.
    (fdbase): Use it, for simplicity.
    * tests/onetop06.at: New test file.
    * tests/Makefile.am (TESTSUITE_AT): Add it.
    * tests/testsuite.at: Include it.

    Changed files

    • NEWS
    • doc/tar.texi
    • src/common.h
    • src/extract.c
    • src/misc.c
    • tests/Makefile.am
    • tests/onetop06.at
    • tests/testsuite.at
  31. Change #278830

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Fri 21 Aug 2026 00:46:21
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 94391c4bf180062345ae0ce816f69f1c971d3969

    Comments

    tar: reject -C x --one-top-dir=/abs/olute
    It’s not clear what ‘-C x --one-top-dir=/abs/olute’ should mean,
    so for now let’s play it safe and reject that combination.
    * src/misc.c (chdir_arg): Diagnose attempts to combine
    -C with --one-top-level=/abs/olute.
    * tests/onetop06.at: Move last test to onetop07.at,
    since it now differs in behavior and it’s better to
    test it separately.
    * tests/onetop07.at: New file.
    * tests/Makefile.am (TESTSUITE_AT): Add it.
    * tests/testsuite.at: Include it.

    Changed files

    • NEWS
    • doc/tar.texi
    • src/misc.c
    • tests/Makefile.am
    • tests/onetop06.at
    • tests/onetop07.at
    • tests/testsuite.at
  32. Change #278832

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Fri 21 Aug 2026 03:24:53
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 1b3dcd545f98602f762663264f71bd9e0e35f28a

    Comments

    “doc: 512 blocks” → “512-byte blocks”
    Problem reported by Psysion in:
    https://lists.gnu.org/r/bug-tar/2025-06/msg00005.html

    Changed files

    • doc/intern.texi
  33. Change #278881

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Fri 21 Aug 2026 20:46:59
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision b9cdce5e2c6ac5727fb1b310510e938e6325e729

    Comments

    scripts: remove EOF == -1 assumption
    * scripts/xsparse.c (main): Don’t assume EOF == -1.

    Changed files

    • scripts/xsparse.c
  34. Change #278882

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Fri 21 Aug 2026 20:46:59
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 11034474cde17bb87bd5a12012e767cbfa426d04

    Comments

    tar: more-consistent EOF checking
    * src/names.c (read_name_from_file): Test sign of getc return,
    rather than checking exactly for EOF.  This helps the compiler
    a little bit and is more consistent with other parts of this code.

    Changed files

    • src/names.c
  35. Change #278883

    Category gtar
    Changed by Paul Eggert <eggertohnoyoudont@cs.ucla.edu>
    Changed at Fri 21 Aug 2026 20:46:59
    Repository git://git.savannah.gnu.org/tar.git
    Project gtar
    Branch master
    Revision 1f58835f3b4c67341889b273336eb66bb7223c03

    Comments

    maint: spelling fixes, including UK→US

    Changed files

    • ChangeLog.1
    • NEWS
    • doc/recipes.texi
    • doc/tar.texi
    • src/incremen.c
    • src/tar.h
    • src/xheader.c
    • tests/dirrem01.at
    • tests/extrac22.at
    • tests/incremental.at
    • tests/options03.at
    • tests/recurs02.at