Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [netbsd-10] src



Module Name:    src
Committed By:   martin
Date:           Wed Aug  7 10:52:49 UTC 2024

Modified Files:
        src/bin/pax [netbsd-10]: ar_subs.c buf_subs.c extern.h file_subs.c
            ftree.c pax.c
        src/tests/bin/pax [netbsd-10]: t_pax.sh

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #776):

        bin/pax/buf_subs.c: revision 1.31
        tests/bin/pax/t_pax.sh: revision 1.3
        tests/bin/pax/t_pax.sh: revision 1.4
        tests/bin/pax/t_pax.sh: revision 1.5
        tests/bin/pax/t_pax.sh: revision 1.6
        tests/bin/pax/t_pax.sh: revision 1.7
        bin/pax/extern.h: revision 1.61
        bin/pax/pax.c: revision 1.50
        bin/pax/pax.c: revision 1.51
        bin/pax/file_subs.c: revision 1.65
        bin/pax/ftree.c: revision 1.43
        bin/pax/ar_subs.c: revision 1.58

pax: exit 0 if stdin filelist is used and empty

If copying a list of files from stdin, exit zero instead of non-zero
if there are no files supplied.

AFAICT, POSIX doesn't require a non-zero an error in this situation,
since there are no files to not match.

Fix from PR bin/41736 by Lloyd Parkes.

pax: don't overwrite destination if -r -w copy fails

Add more error handling to pax -r -w so that any failure
during the copy to the temporary file (including a failed flush)
prevents any existing destination file from being replaced
with the partial (including possibly empty) temporary file.

The partial temporary file is removed.  pax still exists non-zero.
Thanks to Michael van Elst (mlelstv@) for the analysis
of the problem in the PR.
Should fix PR misc/33753.

tests/bin/pax: Add test for pax list in an ungettable cwd.
The list operation has no need to touch the file system, so it should
have no need for open(".") or getcwd() to succeed.

PR bin/44498: tar(1) unnecessarily demands that getcwd() work
(The PR was filed about tar(1), which is now bsdtar by default, but
the issue applies to pax(1) too and would continue to apply to tar(1)
if you set MKBSDTAR=no.)
pax(1): Don't require open(".") or getcwd to work for list operation.

PR 44498: tar(1) unnecessarily demands that getcwd() work
tests/bin/pax: Test pax(1) succeeds with empty file list on stdin.

PR bin/41736: pax reports an error when copying zero files
tests/bin/pax: Add some more cwd-related test cases.

PR bin/44498: tar(1) unnecessarily demands that getcwd() work
pax(1): Only require getcwd if we're reading without --insecure.

No other paths use the result of getcwd.

PR bin/44498: tar(1) unnecessarily demands that getcwd() work


To generate a diff of this commit:
cvs rdiff -u -r1.57 -r1.57.2.1 src/bin/pax/ar_subs.c
cvs rdiff -u -r1.30 -r1.30.2.1 src/bin/pax/buf_subs.c
cvs rdiff -u -r1.60 -r1.60.6.1 src/bin/pax/extern.h
cvs rdiff -u -r1.64 -r1.64.10.1 src/bin/pax/file_subs.c
cvs rdiff -u -r1.42 -r1.42.42.1 src/bin/pax/ftree.c
cvs rdiff -u -r1.49 -r1.49.10.1 src/bin/pax/pax.c
cvs rdiff -u -r1.1 -r1.1.44.1 src/tests/bin/pax/t_pax.sh

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index