ChangeLog 522 KB
Newer Older
Janos Lenart's avatar
Janos Lenart committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
2019-02-23  Sergey Poznyakoff  <gray@gnu.org>

	Version 1.32

2019-02-04  Sergey Poznyakoff  <gray@gnu.org>

	Minor fixes in docs.

	* doc/tar.1: Remove description of the --preserve option
	Document verbosity levels.
	* doc/tar.texi: Fix description of the -o option.

2019-01-15  Daniel Le  <greenrecyclebin@gmail.com>

	Fix typos in the documentation

	Short option "t" was mistranslated to "--test" instead of "--list"
	in commit
	67cad0792b4e6cf22c6cb1b167b149cd176d49f9.

2019-01-15  Sergey Poznyakoff  <gray@gnu.org>

	Fix build on AIX

	* src/unlink.c (flush_deferred_unlinks): Avoid possible duplicate
	case
	(if ENOTEMPTY==EEXIST)

2019-01-15  Sergey Poznyakoff  <gray@gnu.org>

	Version 1.31.90

2019-01-14  Sergey Poznyakoff  <gray@gnu.org>

	Ensure gnu format when running checkpoint tests

2019-01-14  Sergey Poznyakoff  <gray@gnu.org>

	Fix compression tests

	Existing compression tests used tar with compiled-in
	defaults. However,
	some of the defaults are sure to create archives that are not
	byte-to-byte
	reproducible (e.g. DEFAULT_ARCHIVE_FORMAT=POSIX, because the
	name field
	in posix extended headers uses PID of the creating process
	by default).
	Moreover, some compressors (e.g. gzip) store current timestamp in
	the file header when compressing from stdin, so that using cmp
	on the
	two created archives as the tests did is error-prone. Another
	problem
	is that the tests implicitly assumed that tar uses archive
	suffix to
	recognize its format when extracting, which isn't the
	case. Finally,
	there's hardly any reason in using sed to create m4 sources, when
	everything can be achieved by m4 itself.

	* tests/Makefile.am: Remove generation of compress-*.at files.
	* tests/compress.at.in: Remove.
	* tests/compress.m4: New file.
	* tests/testsuite.at: Include compress.m4, use TAR_CHECK_COMPRESS
	to
	check compression options.

2019-01-14  Sergey Poznyakoff  <gray@gnu.org>

	Fix possible NULL dereference (savannah bug #55369)

	* src/sparse.c (pax_decode_header): Check return from
	find_next_block.

2019-01-14  Sergey Poznyakoff  <gray@gnu.org>

	Fix compilation without iconv.

2019-01-14  Sergey Poznyakoff  <gray@gnu.org>

	Fix iconv usage.

	Patch by Christian Weisgerber.

	* src/utf8.c (utf8_convert): non-zero return from iconv means
	failure.

2019-01-14  Pavel Raiskup  <praiskup@redhat.com>

	tests: fix numeric.at for BSD

	While creating file, BSD kernels inherit the group ownership from
	parent directory.
	http://lists.gnu.org/archive/html/bug-tar/2016-06/msg00000.html

	* tests/numeric.at: Attempt to 'chown' the newly created directory
	to proper group (at least on affected machines that command is
	expected to succeed).

2019-01-14  Sergey Poznyakoff  <gray@gnu.org>

	Fix typo in manpage.

2019-01-14  Sergey Poznyakoff  <gray@gnu.org>

	Fix expected output in dirrem tests.

	In both tests, the "file changed as we read it" warning might be
	produced for dir/sub, depending on the ctime resolution and
	timing.
	The problem was fixed by 64b43fdf70d82c39eb2ca900cd4f8e49,
	but regressed
	after e7cd377f7801d42aa8e07addff93d2150666c237, which removed
	1 second
	delays between each pair of checkpoints. Since the presense
	or absense
	of this warning is irrelevant for the test, it is now suppressed.

	* tests/dirrem01.at: Suppress the file-changed warning.
	* tests/dirrem02.at: Likewise.

2019-01-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix the use of --checkpoint without explicit --checkpoint-action

	* src/checkpoint.c (checkpoint_finish_compile): Set default
	action,
	if necessary.
	* tests/checkpoint/defaults.at: New testcase.
	* tests/checkpoint/dot-compat.at: New testcase.
	* tests/checkpoint/dot-int.at: New testcase.
	* tests/checkpoint/dot.at: New testcase.
	* tests/checkpoint/interval.at: New testcase.
	* tests/Makefile.am: Add new testcases.
	* tests/testsuite.at Include new testcases.

2019-01-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Remove erroneous abort() call

	The call was introduced by commit ccef8581. It caused tar to abort
	on perfectly normal operations, like untarring archives containing
	./ with the -U option,

	See
	http://lists.gnu.org/archive/html/bug-tar/2019-01/msg00019.html
	for details.

	* src/extract.c (maybe_recoverable): Remove misplaced call
	to abort().

2019-01-02  Sergey Poznyakoff  <gray@gnu.org>

	Version 1.31

2018-12-28  Sergey Poznyakoff  <gray@gnu.org>

	Fix the difflink test

	Hardlinking a symlink produces hardlink on BSD and symlink
	on GNU/Linux. Avoid the ambiguity.

	* tests/difflink.at: Create hard link from a regular file.

2018-12-28  Sergey Poznyakoff  <gray@gnu.org>

	Work over a bug in gnulib error()

	The error() function from glibc correctly prefixes each message it
	prints with program_name as set by set_program_name. However, its
	replacement from gnulib, which is linked in on systems where this
	function is not available, prints the name returned by
	getprogname()
	instead. Due to this messages output by tar subprocess (which
	sets its
	program name to 'tar (child)') become indiscernible from those
	printed
	by the main process. In particular, this breaks the remfiles01.at
	and
	remfiles02.at test cases.

	* configure.ac: Define ENABLE_ERROR_PRINT_PROGNAME if using
	gnulib error().
	* src/tar.c [ENABLE_ERROR_PRINT_PROGNAME] (tar_print_progname):
	New function.
	(main) [ENABLE_ERROR_PRINT_PROGNAME]: Set error_print_progname.

2018-12-28  Sergey Poznyakoff  <gray@gnu.org>

	Implement the "wait" checkpoint action.

	This action instructs tar to pause until given signal is
	delivered.
	The newer genfile tool uses this action for communication between
	genfile and tar in exec mode. This eliminates race conitions and
	speeds up the tests based on exec mode.

	* doc/tar.texi: Document changes.
	* paxutils: Upgrade.
	* src/checkpoint.c: Implement the wait action.
	* src/common.h (decode_signal): New proto.
	* src/tar.c (decode_signal): New function.
	(set_stat_signal): Rewrite.
	* tests/dirrem01.at: Adjust genfile and tar command line arguments
	to use the new feature.
	* tests/dirrem02.at: Likewise.
	* tests/filerem01.at: Likewise.
	* tests/filerem02.at: Likewise.
	* tests/grow.at: Likewise.
	* tests/sptrcreat.at: Likewise.
	* tests/sptrdiff00.at: Likewise.
	* tests/sptrdiff01.at: Likewise.
	* tests/truncate.at: Likewise.

2018-12-27  Sergey Poznyakoff  <gray@gnu.org>

	Fix CVE-2018-20482

	* NEWS: Update.
	* src/sparse.c (sparse_dump_region): Handle short read condition.
	(sparse_extract_region,check_data_region): Fix dumped_size
	calculation.
	Handle short read condition.
	(pax_decode_header): Fix dumped_size calculation.
	* tests/Makefile.am: Add new testcases.
	* tests/testsuite.at: Likewise.

	* tests/sptrcreat.at: New file.
	* tests/sptrdiff00.at: New file.
	* tests/sptrdiff01.at: New file.

2018-12-21  Sergey Poznyakoff  <gray@gnu.org>

	Disallow modifications to the global pax extended header in
	update mode.

	Updating global headers in update mode is not possible, because:

	1) If the original archive was not in PAX format, writing the
	global header would overwrite first member header (and eventually
	data blocks) in the archive.
	2) Otherwise, using the --pax-option can make the updated header
	occupy more blocks than the original one, which would lead to the
	same effect as in 1.

	This also fixes
	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00007.html

	* src/xheader.c (xheader_forbid_global): New function.
	* src/common.h (xheader_forbid_global): New prototype.
	* src/update.c (update_archive): Use xheader_forbid_global,
	instead
	of trying to write global extended header record.

2018-12-21  Sergey Poznyakoff  <gray@gnu.org>

	Bugfix

	Bug reported in
	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00014.html

	* src/names.c (collect_and_sort_names): Fix iteration over
	namelist.

2018-12-21  Sergey Poznyakoff  <gray@gnu.org>

	Fix semantics of -K used together with explicit member names.

	This also fixes the bug reported in
	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00012.html

	* src/common.h (starting_file_option): Describe the variable.
	* src/names.c (add_starting_file): New function.
	(name_match): Ignore everything before the member indicated by the
	--starting-file option
	* src/tar.c: Use add_starting_file to handle the -K option.

2018-12-21  Sergey Poznyakoff  <gray@gnu.org>

	Fix error handling when reading incremental snapshots

	Bug reported in
	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00008.html

	* incremen.c (read_incr_db_01): Don't try to continue after
	errors.

2018-12-21  Sergey Poznyakoff  <gray@gnu.org>

	Reject pax options starting with equals sign

	Bug reported in
	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00010.html

	* xheader.c (xheader_set_keyword_equal): Bail out if the keyword
	starts
	with =

2018-12-21  Sergey Poznyakoff  <gray@gnu.org>

	Fix buffer overflow

	Bug reported in
	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00011.html

	* src/xheader.c (xheader_format_name): fix length calculation

2018-12-21  Sergey Poznyakoff  <gray@gnu.org>

	Fix improper memory access

	Bug reported in
	  http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00009.html

	* src/transform.c (parse_transform_expr): Check if re is not empty
	before accessing its last byte.

2018-11-24  Sergey Poznyakoff  <gray@gnu.org>

	Fix parsing of ACLs

	Text returned by acl_to_text can contain comments (introduced
	by #).
	Strip comments and horizontal tabs prior to storing ACLs in PAX
	headers.

	* src/xattrs.c (xattrs_acls_cleanup): New function.
	(xattrs__acls_get_a,xattrs__acls_get_d): Use xattrs_acls_cleanup.

2018-11-24  Sergey Poznyakoff  <gray@gnu.org>

	Don't try to read past the end of header string fields

	* src/common.h (assign_string_n): New proto.
	(ASSIGN_STRING_N): New macro.
	* src/misc.c (assign_string_n): New function.
	* gnulib.modules: Add strnlen.
	* src/buffer.c: Use assign_string_n where appropriate.
	* src/list.c: Likewise.

2018-11-12  Sergey Poznyakoff  <gray@gnu.org>

	Fix verbose ACL listing

	* src/xattrs.c (acls_one_line): Advance pos.
	(xattrs_print): Insert a comma between ACL and default ACL if both
	are non-empty.

2018-10-29  Paul Eggert  <eggert@cs.ucla.edu>

	tar: fix numbered backup bug

	* src/misc.c (maybe_backup_file): Pass chdir_fd, not AT_FDCWD,
	to find_backup_file_name.  This fixes a bug whereby the wrong
	backup file name was chosen for numbered backups.

2018-10-29  Paul Eggert  <eggert@cs.ucla.edu>

	* src/tar.c (expand_pax_option): Pacify recent GCC.

2018-10-29  Paul Eggert  <eggert@cs.ucla.edu>

	build: update gnulib submodule to latest

	* src/misc.c (maybe_backup_file): Adjust to Gnulib change.

2018-08-02  Sergey Poznyakoff  <gray@gnu.org>

	Minor fixes in wordsplit.c

2018-08-02  Paul Eggert  <eggert@cs.ucla.edu>

	build: update gnulib submodule to latest

2018-07-31  Sergey Poznyakoff  <gray@gnu.org>

	Silence gcc warnings in wordsplit

2018-07-31  Sergey Poznyakoff  <gray@gnu.org>

	Fix double-free introduced by 577dc345

	* src/utf8.c (utf8_convert): Don't store freed value in *output

2018-07-31  Pavel Raiskup  <praiskup@redhat.com>

	Report race on systems without O_DIRECTORY

	* src/names.c (collect_and_sort_names): Report ENOTDIR after
	successful fstat() but !S_ISDIR.

2018-07-31  Pavel Raiskup  <praiskup@redhat.com>

	Avoid some resource leaks

	* src/incremen.c (store_rename): Free temp_name, leaked before for
	each renamed directory with --listed-incremental.
	* src/transform.c (add_literal_segment): Tighten arguments by
	const.
	(parse_transform_expr): Free 'str', leaked storage for each
	--transform option before.
	* src/utf8.c (utf8_convert): Deallocate buffer for failed iconv()
	call so callers don't have to.

2018-07-31  Sergey Poznyakoff  <gray@gnu.org>

	Sync wordsplit and paxutils with the most recent versions

2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/tar.1: Fix font typo noted by esr.

2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/tar.1: Don't refer to nonexistent tar(5).

2018-04-13  Jim Meyering  <meyering@fb.com>

	--one-top-level: avoid a heap-buffer-overflow

	* NEWS: Mention this.
	* src/suffix.c (strip_compression_suffix): Fix string comparison
	guard.
	Without this change, some ASAN-enabled test runs would fail
	with the
	following.  Also, strip an additional .tar suffix only if
	the just-
	stripped suffix did not match /^\.t/".

	==30815==ERROR: AddressSanitizer: heap-buffer-overflow on
	address 0x6020000002ed at pc 0x00000049d1f4 bp 0x7ffeb5906d50
	sp 0x7ffeb5906500
	READ of size 1 at 0x6020000002ed thread T0
	SCARINESS: 12 (1-byte-read-heap-buffer-overflow)
	    #0 0x49d1f3 in __interceptor_strncmp
	    /j/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:407
	    #1 0x5670f3 in strip_compression_suffix
	    /j/tar/src/suffix.c:107
	    #2 0x575788 in decode_options /j/tar/src/tar.c:2545
	    #3 0x5760c0 in main /j/tar/src/tar.c:2708
	    #4 0x7f105090df29 in __libc_start_main ../csu/libc-start.c:308
	    #5 0x408629 in _start (/j/tar/src/tar+0x408629)

	0x6020000002ed is located 3 bytes to the left of 6-byte region
	[0x6020000002f0,0x6020000002f6)
	allocated by thread T0 here:
	    #0 0x4d0710 in __interceptor_malloc
	    /j/gcc/libsanitizer/asan/asan_malloc_linux.cc:86
	    #1 0x4908ad in __interceptor_strndup
	    /j/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:326
	    #2 0x5cbcbd in xstrndup /j/tar/gnu/xstrndup.c:32
	    #3 0x5a325b in base_name /j/tar/gnu/basename.c:57
	    #4 0x575772 in decode_options /j/tar/src/tar.c:2544
	    #5 0x5760c0 in main /j/tar/src/tar.c:2708
	    #6 0x7f105090df29 in __libc_start_main ../csu/libc-start.c:308

2018-04-07  Andrew Hounsell  <andrewhounsell@gmail.com>

	Tiny fix

	* doc/snapshot.texi: Fix a typo
	* scripts/tar-snapshot-edit: Fix a typo

2018-04-07  Jim Meyering  <jim@meyering.net>

	tests: avoid test failure with non-ancient autoconf

	Running "make check" would fail with this:
	  T-nonl.at:30: error: m4_divert_push: cannot change diversion
	  to `GROW' inside m4_expand
	* tests/T-nonl.at: Use printf in place of AS_ECHO_N.
	These days, printf should work for everyone.

2018-04-07  Jim Meyering  <meyering@fb.com>

	maint: avoid -Wstringop-truncation warnings from upcoming GCC8

	* src/create.c (start_private_header, start_header): Convert
	trivial uses of strncpy to memcpy, to avoid warnings like this:
	In function 'strncpy',
	    inlined from 'start_private_header' at create.c:522:3:
	/usr/include/bits/string_fortified.h:106:10: warning: \
	  '__builtin_strncpy' output truncated before terminating nul \
	  copying 2 bytes from a string of the same length \
	  [-Wstringop-truncation]

2018-04-07  Jim Meyering  <meyering@fb.com>

	maint: avoid -Wstringop-truncation warnings upcoming GCC8

	* src/buffer.c (gnu_add_multi_volume_header): Convert a use of
	strncpy to memcpy, to avoid this warning:
	In function 'strncpy',
	    inlined from 'gnu_add_multi_volume_header' at buffer.c:1782:3,
	    ...
	/usr/include/bits/string_fortified.h:106:10: error:
	'__builtin_strncpy'\
	   specified bound 100 equals destination size \
	   [-Werror=stringop-truncation]

2018-04-07  Jim Meyering  <meyering@fb.com>

	maint: avoid warnings from upcoming GCC8

	* src/transform.c (_single_transform_name_to_obstack): Mark with
	FALLTHROUGH statement rather than /* FALL THROUGH */ comment.
	Only the former works with gcc-8.
	* src/extract.c (maybe_recoverable): Call abort to tell gcc-8 that
	this code is unreachable.

2018-04-07  Sergey Poznyakoff  <gray@gnu.org>

	Rewrite struct tm formatting

	* src/list.c (tartime): Use strftime instead of manually
	formatting
	fields of the struct tm. This should also suppress some gcc
	warnings.

2018-04-07  Jim Meyering  <jim@meyering.net>

	tests: add coverage for new --zstd and all other compression tools

	* tests/compress.at.in: New file: template from which each
	per-compression-tool test is derived.
	* tests/Makefile.am (TESTSUITE_AT): Add it.
	(EXTRA_DIST): Add compress.at.in.
	(compress-*.at): New rules to generate a file/tests for each
	compression tool.
	* tests/testsuite.at (Compression): Add each of these generated
	files in a new section.
	* tests/.gitignore: Ignore the new generated files.

2018-03-18  Aaron Schrab  <aaron@schrab.com>

	Fix typo

2018-03-18  Sergey Poznyakoff  <gray@gnu.org>

	Version 1.30.90

	* NEWS: Update.
	* configure.ac: Update.
	* THANKS: Add Adam Borowski.

2018-03-18  Adam Borowski  <kilobyte@angband.pl>

	Add support for zstd compression

	* configure.ac (zstd): Register compression program.
	* doc/tar.1: Mention --zstd.
	* doc/tar.texi: Document zstd support.
	* src/buffer.c: Register zstd compression.
	* src/suffix.c: Add suffixes zst and tzst.
	* src/tar.c: New compression option --zstd.

2018-03-18  Pavel Raiskup  <praiskup@redhat.com>

	tests: fix race in dirrem01 and dirrem02

	Previously the '--checkpoint-action=echo' was triggered after
	'--checkpoint-action=sleep=1' - so the order of events *usually*
	was (for --format='gnu'):

	  ...
	  1. checkpoint handler before write of 'dir/sub' member
	  2. one-second delay
	  3. stderr write: 'tar: Write checkpoint 3'
	  4. write the member 'dir/sub' into the archive
	  5. check that the member's ctime has not been changed
	  6. genfile's detecting 'Write checkpoint', doing unlink
	  ...

	But sometimes, the genfile was fast enough to win the race and
	unlinked the directory before the member was written into the
	archive (IOW, the order was 1-2-3-6-4-5).  This led to the
	occasional warning 'tar: dir/sub: file changed as we read it'.

	Swap the order of 'sleep=1' and 'echo' actions so the genfile
	utility has (hopefully) enough time to do the unlink before
	writing the file into the archive (enforce 1-2-3-6-4-5 order).

	* tests/dirrem01.at: Swap 'sleep=1' and 'echo' actions.
	* tests/dirrem02.at: Likewise.

2018-03-13  Sergey Poznyakoff  <gray@gnu.org>

	Fix typos in the docs

2018-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Provide a way to skip tests that create very large files

	Define environment variable TARTEST_SKIP_LARGE_FILES=1 in order
	to skip tests that require lots of disk space.

	* tests/testsuite.at (AT_SKIP_LARGE_FILES): New macro.
	* tests/sparse03.at: Mark test with AT_SKIP_LARGE_FILES.
	* tests/sparse05.at: Likewise.
	* tests/star/pax-big-10g.at: Likewise.
	* tests/star/ustar-big-2g.at: Likewise.
	* tests/star/ustar-big-8g.at: Likewise.

2018-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Testsuite bugfix

	* tests/difflink.at: Define order of files within tested archive.

2018-03-13  Sergey Poznyakoff  <gray@gnu.org>

	testsuite: account for absolute file names starting with double
	slash

	* tests/incr08.at: Absolute file names can start with //
	* tests/xform03.at: Likewise.

Bdale Garbee's avatar
Bdale Garbee committed
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
2017-12-17  Sergey Poznyakoff  <gray@gnu.org>

	Version 1.30

	* configure.ac: Set version 1.30
	* NEWS: Update.

2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix "concatenating" typo.

	Problem reported by Rodrigo Queiro in:
	https://lists.gnu.org/r/bug-tar/2017-11/msg00021.html
	* doc/intern.texi (Extensions): Fix typo.

2017-11-18  Paul Eggert  <eggert@cs.ucla.edu>

	Port to gcc -Wimplicit-fallthrough=5

	* src/common.h (FALLTHROUGH): New macro, for use with gcc
	-Wimplicit-fallthrough=5, which is now the default when used with
	Gnulib after commit 2017-05-16T16:23:52!eggert@cs.ucla.edu
	and with --enable-gcc-warnings

2017-11-18  Paul Eggert  <eggert@cs.ucla.edu>

	Port to Texinfo 6.4

	* doc/tar.texi (Sparse Recovery): Omit ‘.’ from anchor name,
	as ‘makeinfo’ now complains about it.  All uses changed.

2017-11-18  Paul Eggert  <eggert@cs.ucla.edu>

	Document base-256 representation in GNU format

	Problem reported by Rodrigo Queiro in:
	https://lists.gnu.org/r/bug-tar/2017-11/msg00018.html
	* doc/intern.texi (Standard, Extensions):
	Document base-256 representations.

2017-11-18  Paul Eggert  <eggert@cs.ucla.edu>

	build: update gnulib submodule to latest

2017-11-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix typo caught by GCC 7.2.1

	* lib/wordsplit.c (wordsplit_perror): Add missing "break;".

2017-11-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update docs

	* doc/Makefile.am: Add recipes.texi
	* doc/recipes.texi: New file.
	* doc/tar.texi: New appendix "Recipes"

2017-11-16  Pavel Raiskup  <praiskup@redhat.com>

	tests: more deterministic xattr07

	* tests/xattr07.at: Define order of files within tested archive.

2017-11-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor improvements in the docs.

2017-11-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	New option --warning=failed-read

	* NEWS: Document the --warning=failed-read option.
	* doc/tar.texi: Likewise.
	* doc/tar.1: Likewise.
	* src/common.h (WARN_FAILED_READ): New constant.
	(WARNING_ENABLED): New macro.
	* src/misc.c (close_diag, open_diag)
	(read_diag_details, readlink_diag)
	(savedir_diag, seek_diag_details)
	(stat_diag): Suppress warnings if WARN_FAILED_READ is set.
	* src/warning.c (failed-read): New keyword.

2017-11-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix docs

	* doc/tar.texi: Fix description of the argument to
	--xattrs-exclude
	and --xattrs-include option. It is a globbing pattern, not
	a regex.

	Fix a typo (LZOP)

2017-11-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix the --delay-directory-restore option

	* src/extract.c (find_direct_ancestor): New function.
	(create_placeholder_file): Set after_links member on
	delayed_set_stat
	entries starting from the direct ancestor of the placeholder file.

	* tests/extrac21.at: New testcase.
	* tests/testsuite.at: Add extrac21
	* tests/Makefile.am: Likewise.

	* NEWS: Update.

2017-11-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix reporting of hardlink mismatch during compare

	* src/common.h (quote_n_colon): New prototype.
	* src/misc.c (quote_n_colon): New function.
	* src/compare.c (report_difference, diff_link): Use quote_n_colon.

	* tests/difflink.at: New file.
	* tests/Makefile.am: Add difflink.at
	* tests/testsuite.at: Likewise.

2017-11-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix --verbatim-files-from

	* src/names.c (read_next_name): Don't unquote name read from the
	file, if --verbatim-files-from option is in effect.
	(names_options): improve description of --verbatim-files-from
	* tests/T-null2.at: Test the change.

2017-11-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix typo

	* doc/tar.texi

2017-09-30  Sergey Poznyakoff  <gray@gnu.org>

	Fix the effect of --transform over hard link targets without
	the --absolute-names

	* src/create.c (file_count_links): Apply safer_name_suffix to the
	hard link name prior to transforming it.
	* tests/xform03.at: New test case.
	* tests/Makefile.am: Add xform03.at
	* tests/testsuite.at: Likewise.

2017-08-24  Sergey Poznyakoff  <gray@gnu.org>

	Bugfix

	* src/tar.c (tar_help_filter): Add missing break statement

2017-06-29  Troels Thomsen  <troels@thomsen.io>

	Fix typo

2017-05-29  Pavel Raiskup  <praiskup@redhat.com>

	Fix non-deterministic archive type detection

	Due to analysis of partly uninitialized read-ahead buffer
	(short_read call), we sometimes mistakenly classified very small
	compressed archives as non-compressed; which in turn caused
	extraction failure.

	* src/buffer.c (check_compressed_archive): Don't assume that
	archives smaller than BLOCKSIZE could be non-compressed, as tar
	header always has at least one block.

2017-05-29  Jonas Julino  <ml-julino@1und1.de>
	    Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix handling of directories removed during incremental tar run

	* paxutils: Upgrade
	* src/create.c (create_archive): Use file_removed_diag
	instead of calling the corresponding *_diag function
	directly.
	* tests/dirrem01.at: New testcase.
	* tests/dirrem02.at: New testcase.
	* tests/Makefile.am: Add new tests.
	* tests/testsuite.at: Likewise.

2017-05-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix a bug in multi-volume archive creation.

	When creating multivolume archives, the bufmap code in buffer.c
	implicitly assumed that the members are stored in the archive
	contiguously, ignoring the member (and eventual extended) headers
	between them.  This worked until the member header happened to be
	at the very beginning of the volume, in which case its length was
	included in the calculation of the stored size and size left to
	store.	Due to this, the GNUFileParts extended header contained
	invalid GNU.volume.offset value, and the resulting archive failed
	to extract properly.

	This patch also eliminates improper listing of file part headers
	as regular files, when creating multivolume posix archives
	with -v.

	* src/buffer.c (bufmap): New member nblocks.  Counts number
	of blocks
	of file data written since reset.
	(bufmap_reset): Reset nblocks to 0.
	(_flush_write): Update nblocks.  When computing offset difference
	for
	bufmap_reset, count only data blocks, not headers.
	(close_archive): Flush archive until all blocks are written.
	(add_chunk_header): Use simple_finish_header instead of
	finish_header
	to avoid listing chunk header as regular file in verbose mode.
	* tests/multiv10.at: New test case.
	* tests/Makefile.am: Add new test.
	* tests/testsuite.at: Add new test.

2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>

	--numeric-owner now affects private headers too

	Problem reported by Daniel Peebles in:
	http://lists.gnu.org/archive/html/bug-tar/2017-04/msg00004.html
	* NEWS: Document this.
	* src/create.c (write_gnu_long_link): If --numeric-owner,
	leave the user and group empty in a private header.  Cache the
	names for 0.

2017-02-28  Pavel Raiskup  <praiskup@redhat.com>

	Test and document --keep-directory-symlink

	* doc/tar.1: Document the option.
	* tests/extrac20.at: New testcase.
	* tests/Makefile.am: Mention extrac20.
	* tests/testsuite.at: Likewise.

2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>

	Fix incompatibility with PGI 16.10

	* src/tar.c (options): Fix incompatibility with the C standard,
	which says that arguments to macro calls cannot contain #
	directives.

2017-01-02  Sergey Poznyakoff  <gray@gnu.org>

	Update copyright years

2016-11-12  Sergey Poznyakoff  <gray@gnu.org>

	Fix description of the "escape" quoting style

2016-11-12  Sergey Poznyakoff  <gray@gnu.org>

	Better error checking in the backup script.

	* scripts/backup.in: Check exit code of MT_BEGIN
	* scripts/backup.sh.in (backup_host): Return meaningful code
	in case of remote execution.  See the comment, though.

2016-11-12  Sergey Poznyakoff  <gray@gnu.org>

	Minor documentation fix

	* doc/tar.texi: Fix example about use of --no-recursion with -T

2016-11-12  Sergey Poznyakoff  <gray@gnu.org>

	Fix the --add-file option.

	* src/common.h (name_more_files): New proto.
	(files_from_option): Remove.
	* src/names.c (name_more_files): New file.
	(names_options): Fix declaration of the
	add-file option.
	(names_parse_opt): Handle --add-file.
	* src/tar.c (struct tar_args): Remove the input_files member.
	Change all uses: use name_more_files() instead.
	* tests/Makefile.am: Add new test.
	* tests/add-file.at: New testcase.
	* tests/testsuite.at: Add new test.

2016-11-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Add missing files

2016-11-11  Pavel Raiskup  <praiskup@redhat.com>

	don't set xattrs when --skip-old-files is used

	* src/extract.c (set_xattr): Properly handle maybe_recoverable()
	output.  Throw warnings to not complicate caller.
	(extract_file): Don't handle set_xattr's error.
	* tests/xattr07.at: New testcase.
	* tests/Makefile.am: Mention new testcase.
	* tests/testsuite.at: Likewise.
	* THANKS: Dawid.

2016-11-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor fix

	* src/tar.h (tar_stat_info): Change type of real_size_set to bool

2016-11-11  Pavel Raiskup  <praiskup@redhat.com>

	sparse: fix pax extraction for unicode filenames

	Make sure that 'GNU.sparse.name' header has higher priority than
	(for sparse-purposes artificially modified) 'path' pax header.

	Historically, the 'GNU.sparse.name' header comes before 'path';
	this caused that modified 'path' header won and that is not what
	we want in sparse "capable" tar implementation.

	* src/tar.h (tar_stat_info): New argument sparse_name_done.
	* src/xheader.c (raw_path_decoder): Move here the unconditional
	code from path_decoder.
	(path_decoder): Apply raw_path_decoder only if sparse_path_decoder
	was not yet called.
	(sparse_path_decoder): New wrapper around raw_path_decoder.
	* tests/sparse07.at: New testcase.
	* tests/testsuite.at: Mention new testcase.
	* tests/Makefile.am: Likewise.

2016-11-10  Pavel Raiskup  <praiskup@redhat.com>

	* tests/xattr06.at: Test include/exclude during archive/exctract.

2016-11-10  Ian McLeod	<imcleod@redhat.com>

	Bugfix - fix xattr exclude/include for archive create

	This makes archive create behavior consistent with the
	documentation.	Without this change xattr include/exclude options
	are accepted when creating an archive but are silently ignored.

	* src/xattrs.c (xattrs_xattrs_get): Apply exclude/include mask
	when fetching extended attributes
	* tests/Makefile.am: Add new test case.
	* tests/testsuite.at: Likewise.

2016-10-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	When extracting, skip ".." members

	* NEWS: Document this.
	* src/extract.c (extract_archive): Skip members whose names
	contain "..".

2016-09-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Mark all tests related to -C option with the "chdir" keyword

2016-09-26  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix interaction of -u with -C

	* src/update.c (update_archive): Pass correct change_dir
	value for addname
	* tests/update03.at: New file.
	* tests/Makefile.am: Add update03.at
	* tests/testsuite.at: Include update03.at

2016-09-21  Sergey Poznyakoff  <gray@gnu.org>

	Fix passing string values via TAR_OPTIONS

	* src/tar.c (parse_default_options): Don't free parsed words.
	* tests/options03.at: New testcase.
	* tests/Makefile.am: Add options03.at
	* tests/testsuite.at: Include options03.at

2016-05-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	Tiny bugfix

2016-05-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	Report positional options that were used but had no effect during
	archive creation

	* src/names.c (file_selection_option)
	(file_selection_option_name): New functions.
	(unconsumed_option_push, unconsumed_option_free)
	(unconsumed_option_report): New functions.
	(name_list_advance): Maintain a list
	of eventually unconsumed options during archive creation.
	Report unconsumed options, if any.

	* tests/positional01.at: New test case.
	* tests/positional02.at: New test case.
	* tests/positional03.at: New test case.
	* tests/Makefile.am: Add new test cases.
	* tests/testsuite.at: Likewise.

	* NEWS: Document the changes.
	* configure.ac: Version 1.29.90
	* doc/tar.texi: Document the changes.

Bdale Garbee's avatar
Bdale Garbee committed
1019
1020
1021
1022
2016-05-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Version 1.29

Bdale Garbee's avatar
Bdale Garbee committed
1023
1024
2016-05-16  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
1025
	Minor fix
Bdale Garbee's avatar
Bdale Garbee committed
1026

Bdale Garbee's avatar
Bdale Garbee committed
1027
1028
1029
1030
1031
1032
	* src/names.c (new_name): rename to make_file_name. All uses
	changed.

2016-04-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix argument handling when running external commands.
Bdale Garbee's avatar
Bdale Garbee committed
1033

Bdale Garbee's avatar
Bdale Garbee committed
1034
1035
1036
1037
1038
1039
1040
1041
1042
	* src/system.c (xexec): Use sh -c to run the command.  This fixed
	bug introduced by 7b5e80396 (tar 1.27)
	* doc/tar.texi: Fix checkpoint examples: (1) $TAR_FILENAME
	is not available when creating archive and (2) --checkpoint
	can't be used as abbreviation of --checkpoint-action

2016-04-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Remove iotty test
Bdale Garbee's avatar
Bdale Garbee committed
1043

Bdale Garbee's avatar
Bdale Garbee committed
1044
1045
1046
1047
1048
1049
1050
	The auxiliary utility ttyemu proved to be unreliable.
	Given existing
	differences between pty implementations and termios ioctls
	on various
	platforms, writing it in a portable way requires effort
	disproportional
	to its actual purpose.
Bdale Garbee's avatar
Bdale Garbee committed
1051

Bdale Garbee's avatar
Bdale Garbee committed
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
	* configure.ac: Remove check for grantpt
	* gnulib.modules: Remove posix_openpt, ptsname, and unlockpt
	* tests/Makefile.am (TESTSUITE_AT): Remove iotty.at
	(check_PROGRAMS): Remove ttyemu.
	* tests/testsuite.at: Remove iotty.at
	* tests/iotty.at: Remove.
	* tests/ttyemu.c: Remove.

2016-04-05  Pavel Raiskup  <praiskup@redhat.com>

	xattrs: fix build on Darwin
Bdale Garbee's avatar
Bdale Garbee committed
1063

Bdale Garbee's avatar
Bdale Garbee committed
1064
1065
	Be careful to define HAVE_XATTRS when not all needed xattr-related
	functions are properly defined either in libc or libattr.
Bdale Garbee's avatar
Bdale Garbee committed
1066

Bdale Garbee's avatar
Bdale Garbee committed
1067
	Reported independently by Denis Excoffier and Dominyk Tille.
Bdale Garbee's avatar
Bdale Garbee committed
1068

Bdale Garbee's avatar
Bdale Garbee committed
1069
1070
1071
1072
1073
1074
1075
1076
	* acinclude.m4 (TAR_HEADERS_ATTR_XATTR_H): Check for each xattr
	function separately.  Don't AC_CHECK_LIB (LIBS is filled by
	AC_SEARCH_LIBS when necessary).
	* src/Makefile.am: The LDADD -lattr was redundant.

2016-03-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Remove --preserve option
Bdale Garbee's avatar
Bdale Garbee committed
1077

Bdale Garbee's avatar
Bdale Garbee committed
1078
1079
1080
1081
	* src/tar.c: Remove --preserve option
	* NEWS: Update.
	* doc/tar.texi: Update.

Bdale Garbee's avatar
Bdale Garbee committed
1082
1083
2016-03-24  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
1084
	Fix testcase
Bdale Garbee's avatar
Bdale Garbee committed
1085

Bdale Garbee's avatar
Bdale Garbee committed
1086
1087
	* tests/time02.at: Sort tar -d output

Bdale Garbee's avatar
Bdale Garbee committed
1088
1089
2016-03-24  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
1090
1091
1092
1093
1094
	Update THANKS file

2016-03-24  Jeremy Bobbio  <lunar@debian.org>

	New option --clamp-mtime
Bdale Garbee's avatar
Bdale Garbee committed
1095

Bdale Garbee's avatar
Bdale Garbee committed
1096
1097
1098
1099
1100
1101
	The new `--clamp-mtime` option will change the behavior of
	`--mtime` to only
	use the time specified if the file mtime is newer than the
	given time.
	The `--clamp-mtime` option can only be used together with
	`--mtime`.
Bdale Garbee's avatar
Bdale Garbee committed
1102

Bdale Garbee's avatar
Bdale Garbee committed
1103
1104
1105
1106
1107
1108
1109
1110
	Typical use case is to make builds reproducible: to loose less
	information, it's better to keep the original date of an archive,
	except for
	files modified during the build process. In that case, using
	a reference
	(and thus reproducible) timestamps for the latter is good
	enough. See
	<https://wiki.debian.org/ReproducibleBuilds> for more information.
Bdale Garbee's avatar
Bdale Garbee committed
1111

Bdale Garbee's avatar
Bdale Garbee committed
1112
1113
	Patch submitted by Jeremy Bobbio and
	Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Bdale Garbee's avatar
Bdale Garbee committed
1114

Bdale Garbee's avatar
Bdale Garbee committed
1115
1116
	* doc/tar.1: Document --clamp-mtime
	* doc/tar.texi: Likewise.
Bdale Garbee's avatar
Bdale Garbee committed
1117

Bdale Garbee's avatar
Bdale Garbee committed
1118
1119
1120
1121
1122
1123
1124
	* src/common.h (set_mtime_option_mode): New enum
	(set_mtime_option): Change type to enum set_mtime_option_mode.
	(NEWER_OPTION_INITIALIZED): Rename to NEWER_OPTION_INITIALIZED.
	* src/create.c (start_header): Set mtime depending on
	set_mtime_option.
	* src/tar.c (options,parse_opt): New option --clamp-mtime
	(decode_options): Initialize mtime_option
Bdale Garbee's avatar
Bdale Garbee committed
1125

Bdale Garbee's avatar
Bdale Garbee committed
1126
1127
1128
1129
1130
1131
1132
	* tests/time02.at: New testcase.
	* tests/Makefile.am: Add new testcase
	* tests/testsuite.at: Likewise.

2016-03-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	Acknowledgments
Bdale Garbee's avatar
Bdale Garbee committed
1133

Bdale Garbee's avatar
Bdale Garbee committed
1134
1135
	* THANKS: Add Dagobert Michelsen

Bdale Garbee's avatar
Bdale Garbee committed
1136
1137
2016-03-21  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
1138
	Fix the testsuite
Bdale Garbee's avatar
Bdale Garbee committed
1139

Bdale Garbee's avatar
Bdale Garbee committed
1140
1141
1142
1143
1144
1145
	* tests/sparse06.at: Don't use timeout: depending on the
	filesystem
	mounted, current LA and lots of other factors, creation of
	archive can
	take much more time than the expected 2 seconds.

Bdale Garbee's avatar
Bdale Garbee committed
1146
1147
2016-03-21  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
1148
	Fix ckmtime
Bdale Garbee's avatar
Bdale Garbee committed
1149

Bdale Garbee's avatar
Bdale Garbee committed
1150
1151
1152
1153
1154
1155
	* gnulib.modules: Use timespec-sub
	* tests/ckmtime.c: Use second resolution.

2016-03-20  Sergey Poznyakoff  <gray@gnu.org>

	Fix the testsuite
Bdale Garbee's avatar
Bdale Garbee committed
1156

Bdale Garbee's avatar
Bdale Garbee committed
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
	* tests/sparse05.at: Use autom4te magic to generate mapfile,
	instead of the shell command seq, which is not always available.
	* tests/listed03.at: Skip the test if xgetcwd fails.
	* tests/ckmtime.c: New file.
	* tests/Makefile.am: Build ckmtime
	* tests/testsuite.at (AT_CHECK_TIMESTAMP): Check whether newly
	created
	files have timestamps consistent with the creation time.
	Skip the test
	if not.
	* tests/incr01.at: Use AT_CHECK_TIMESTAMP
	* tests/incr02.at: Likewise.
	* tests/incr03.at: Likewise.
	* tests/incr04.at: Likewise.
	* tests/incr05.at: Likewise.
	* tests/incr06.at: Likewise.
	* tests/incr07.at: Likewise.
	* tests/incr08.at: Likewise.
	* tests/incr09.at: Likewise.
	* tests/incr10.at: Likewise.
	* tests/incr11.at: Likewise.
	* tests/incremental.at: Likewise.
	* tests/listed01.at: Likewise.
	* tests/listed02.at: Likewise.
	* tests/listed04.at: Likewise.
	* tests/listed05.at: Likewise.

2016-03-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Testsuite fixes.
Bdale Garbee's avatar
Bdale Garbee committed
1187

Bdale Garbee's avatar
Bdale Garbee committed
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
	* paxutils: Update.
	* src/unlink.c (flush_deferred_unlinks): OpenSolaris sets EEXIST
	instead of ENOTEMPTY if trying to remove a non-empty directory.
	* tests/numeric.at: Avoid using awk -v: some older awks don't
	support
	that option.  Also fix environment variable usage.
	* tests/onetop05.at: Skip test if unable to set initial directory
	mode bits.
	* tests/sparse06.at: Use --quiet option.

Bdale Garbee's avatar
Bdale Garbee committed
1198
1199
2016-03-18  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
1200
1201
	Revise docs

Bdale Garbee's avatar
Bdale Garbee committed
1202
1203
2016-03-18  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
1204
	Fix build with --enable-gcc-warnings
Bdale Garbee's avatar
Bdale Garbee committed
1205

Bdale Garbee's avatar
Bdale Garbee committed
1206
1207
1208
1209
1210
	* configure.ac: Disable stack-protector warnings

2016-03-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Improve testsuite
Bdale Garbee's avatar
Bdale Garbee committed
1211

Bdale Garbee's avatar
Bdale Garbee committed
1212
1213
1214
1215
1216
	* tests/iotty.at: Skip test if ttyemu can't do its job

2016-03-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Document xattrs, ACL and SELinux-related options.
Bdale Garbee's avatar
Bdale Garbee committed
1217

Bdale Garbee's avatar
Bdale Garbee committed
1218
1219
1220
1221
1222
1223
	* doc/tar.1: Document all options.
	* doc/tar.texi: Likewise.

2016-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix appending to archive with changed blocking factor.
Bdale Garbee's avatar
Bdale Garbee committed
1224

Bdale Garbee's avatar
Bdale Garbee committed
1225
1226
1227
1228
1229
	* src/buffer.c (flush_archive): If previous reading attempt
	resulted
	in short read, correctly use the remaining record space.
	(backspace_output): Fix position calculation (still has to be
	improved).
Bdale Garbee's avatar
Bdale Garbee committed
1230

Bdale Garbee's avatar
Bdale Garbee committed
1231
1232
1233
1234
1235
1236
1237
	* tests/append05.at: New test case.
	* tests/Makefile.am: Add new test.
	* tests/testsuite.at: Likewise.

2016-03-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix coredump on parsing invalid traditional option
Bdale Garbee's avatar
Bdale Garbee committed
1238

Bdale Garbee's avatar
Bdale Garbee committed
1239
1240
1241
1242
1243
1244
	* src/tar.c (find_argp_option): Fix loop termination condition.

2016-01-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update copyright years

Bdale Garbee's avatar
Bdale Garbee committed
1245
1246
2016-01-20  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
1247
	Allow escaped delimiters in transform expressions.
Bdale Garbee's avatar
Bdale Garbee committed
1248

Bdale Garbee's avatar
Bdale Garbee committed
1249
	Patch provided by Charles McGarvey and Flavio Poletti.
Bdale Garbee's avatar
Bdale Garbee committed
1250

Bdale Garbee's avatar
Bdale Garbee committed
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
	* src/transform.c (parse_transform_expr): Allow escaped delimiters
	in transform expressions.
	* tests/xform02.at: New test case.
	* tests/Makefile.am: Add xform02.at
	* tests/testsuite.at: Include xform02.at
	* THANKS: Update.

2015-12-17  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix eventual dereference of uninitialized pointer.
Bdale Garbee's avatar
Bdale Garbee committed
1261

Bdale Garbee's avatar
Bdale Garbee committed
1262
1263
1264
1265
1266
	* src/exclist.c (hg_initfn): Initialize hgopt.

2015-12-17  Pavel Raiskup  <praiskup@redhat.com>

	sparse: fix use of indeterminate value
Bdale Garbee's avatar
Bdale Garbee committed
1267

Bdale Garbee's avatar
Bdale Garbee committed
1268
1269
1270
1271
1272
	* src/xheader.c (sparse_map_decoder): Move 'e' up from loop-block.

2015-12-11  Sergey Poznyakoff  <gray@gnu.org.ua>

	fix a typo
Bdale Garbee's avatar
Bdale Garbee committed
1273

Bdale Garbee's avatar
Bdale Garbee committed
1274
1275
1276
	* doc/tar.texi (Incremental Dumps): Add missing --file to the
	'--list' example.

Bdale Garbee's avatar
Bdale Garbee committed
1277
1278
2015-12-11  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
1279
	Minor fixes.
Bdale Garbee's avatar
Bdale Garbee committed
1280

Bdale Garbee's avatar
Bdale Garbee committed
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
	* doc/tar.texi: Document position-sensitive options in a
	separate subsection.
	* src/names.c (names_argp,names_argp_children): Explicitly
	initialize
	all members.

2015-12-11  Sergey Poznyakoff  <gray@gnu.org>

	Minor fix

Bdale Garbee's avatar
Bdale Garbee committed
1291
1292
2015-12-11  Sergey Poznyakoff  <gray@gnu.org>

Bdale Garbee's avatar
Bdale Garbee committed
1293
	Fix handling of filename-selection options.
Bdale Garbee's avatar
Bdale Garbee committed
1294

Bdale Garbee's avatar
Bdale Garbee committed
1295
1296
1297
1298
1299
1300
	Filename-selection options are --wildcards, --recursive, etc. (see
	names.c for a complete list).  These options are
	position-sensitive,
	i.e. each such option affects all filenames and filename-selection
	options that appear after it until eventually cancelled by a
	corresponding counterpart option.
Bdale Garbee's avatar
Bdale Garbee committed
1301

Bdale Garbee's avatar
Bdale Garbee committed
1302
1303
1304
1305
1306
1307
	These options can appear in "file-from" file lists, which
	means that
	they cannot be handled right away, but instead should be put on
	the "name_elt" list and processed sequentionally, as file name
	arguments
	are.
Bdale Garbee's avatar
Bdale Garbee committed
1308

Bdale Garbee's avatar
Bdale Garbee committed
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
	* src/common.h (warn_regex_usage): Remove.
	(name_add_name): Change signature.
	(name_add_dir, name_add_file): Remove prototypes.
	* src/names.c (name_add_option, name_add_dir)
	(name_add_file): Static functions.
	(names_options, is_file_selection_option, names_parse_opt):
	Static functions.
	(names_argp_children): New variable.
	(NELT_NAME, NELT_CHDIR)
	(NELT_FILE, NELT_NOOP): Redefine as enum nelt_type.
	(NELT_FMASK): Remove.
	(NELT_OPTION): New constant.
	(name_elt) <type>: Change type.
	<v.opt>: New member.
	(name_elt_alloc_matflags): Remove.
	(name_add_name): Take one argument.
	(name_add_option): New static function.
	(name_add_file): Take one argument.
	(read_next_name): Use filename_terminator and
	verbatim_files_from_option to initialize file.term and
	file.verbatim.
	* src/tar.c: Move handling of filename-selection options to
	names.c
Bdale Garbee's avatar
Bdale Garbee committed
1332

Bdale Garbee's avatar
Bdale Garbee committed
1333
1334
1335
1336
1337
1338
	* tests/T-dir00.at: Fix typo.
	* tests/T-recurse.at: Remove expected failure.

2015-12-10  Pavel Raiskup  <praiskup@redhat.com>

	better test --{,no-}recursion options
Bdale Garbee's avatar
Bdale Garbee committed
1339

Bdale Garbee's avatar
Bdale Garbee committed
1340
1341
1342
1343
1344
1345
1346
1347
1348
	* tests/recurs02.at: Also test --list mode.
	* tests/T-recurse.at: New test case.  Test that -T option works
	correctly together with --{,no-}recursion.
	* tests/Makefile.am: Mention new test T-recurse.at.
	* tests/testsuite.at: Likewise.

2015-12-06  Pavel Raiskup  <praiskup@redhat.com>

	Bugfix
Bdale Garbee's avatar
Bdale Garbee committed
1349

Bdale Garbee's avatar
Bdale Garbee committed
1350
1351
1352
1353
1354
1355
1356
	* src/buffer.c (try_new_volume): Warn if user supplied malformed
	tar archive.
	Consistently use WARN (instead of ERROR) when reporting.

2015-12-06  Sergey Poznyakoff  <gray@gnu.org>

	Fix segfault when extracting from a multi-volume archive.
Bdale Garbee's avatar
Bdale Garbee committed
1357

Bdale Garbee's avatar
Bdale Garbee committed
1358
	Fix suggested by Pavel Raiskup.
Bdale Garbee's avatar
Bdale Garbee committed
1359

Bdale Garbee's avatar
Bdale Garbee committed
1360
1361
1362
1363
1364
	* src/buffer.c (try_new_volume): Fix dereferencing NULL pointer.
	* tests/multiv09.at: New testcase.
	* tests/Makefile.am: Add new testcase.
	* tests/testsuite.at: Likewise.

Bdale Garbee's avatar
Bdale Garbee committed
1365
1366
2015-12-06  Sergey Poznyakoff  <gray@gnu.org>

Bdale Garbee's avatar
Bdale Garbee committed
1367
1368
1369
1370
1371
	Fix NEWS

2015-12-06  Pavel Raiskup  <praiskup@redhat.com>

	numeric-owner: print big UID/GID correctly
Bdale Garbee's avatar
Bdale Garbee committed
1372

Bdale Garbee's avatar
Bdale Garbee committed
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
	* src/list.c (simple_print_header): Do not parse ustar header
	for UID/GID again (tar_stat_info has already been correctly
	filled with respect to possible uid/gid extended headers).
	* tests/numeric.at: New testcase for --numeric-owner option.
	* tests/Makefile.am: Add new testcase.
	* tests/testsuite.at: Likewise.

2015-12-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	Use SEEK_HOLE for hole detection
Bdale Garbee's avatar
Bdale Garbee committed
1383

Bdale Garbee's avatar
Bdale Garbee committed
1384
	Based on patch by Pavel Raiskup.
Bdale Garbee's avatar
Bdale Garbee committed
1385

Bdale Garbee's avatar
Bdale Garbee committed
1386
1387
	Use SEEK_HOLE/SEEK_DATA feature of lseek on systems that support
	it.  This can make archiving of sparse files much faster.
Bdale Garbee's avatar
Bdale Garbee committed
1388

Bdale Garbee's avatar
Bdale Garbee committed
1389
1390
	Implement the --hole-detection option to allow users to select
	hole-detection method.
Bdale Garbee's avatar
Bdale Garbee committed
1391

Bdale Garbee's avatar
Bdale Garbee committed
1392
1393
1394
1395
1396
1397
1398
1399
	* src/common.h (hole_detection_method): New enum.
	(hole_detection): New global.
	* src/sparse.c	(sparse_scan_file_wholesparse): New function as a
	method for detecting sparse files without any data.
	(sparse_scan_file_raw): Rename from sparse_scan_file; with edits.
	(sparse_scan_file_seek): New function.
	(sparse_scan_file): Reimplement function.
	* src/tar.c: New option --hole-detection
Bdale Garbee's avatar
Bdale Garbee committed
1400

Bdale Garbee's avatar
Bdale Garbee committed
1401
1402
1403
1404
1405
1406
1407
1408
1409
	* tests/checkseekhole.c: New file.
	* tests/.gitignore: Mention two test binaries.
	* tests/Makefile.am: Add new tests.
	* tests/testsuite.at (AT_SEEKHOLE_PREREQ): New macro.
	Include sparse06.at.
	* tests/sparse06.at: New test case.
	* tests/sparse02.at: Force raw hole-detection method.
	* tests/sparsemv.at: Likewise.
	* tests/sparsemvp.at: Likewise.
Bdale Garbee's avatar
Bdale Garbee committed
1410

Bdale Garbee's avatar
Bdale Garbee committed
1411
1412
1413
1414
1415
1416
1417
1418
	* doc/tar.1: Document --hole-detection option.
	* doc/tar.texi: Document hole-detection algorithms and
	command-line options.
	* NEWS: Document hole-detection.

2015-12-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Catch compressor execution errors.
Bdale Garbee's avatar
Bdale Garbee committed
1419

Bdale Garbee's avatar
Bdale Garbee committed
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
	* src/misc.c (write_fatal_details): Move to buffer.c
	* src/buffer.c (write_fatal_details): Close the archive and
	wait for
	the compressor program to terminate in order to catch eventual
	execution
	errors.
	* src/system.c (sys_child_open_for_compress): Ignore SIGPIPE so
	tar will
	not silently terminate when unable to write to the compressor.
	* tests/comperr.at: New file.
	* tests/Makefile.am: Add comperr.at
	* tests/testsuite.at: Include comperr.at

Bdale Garbee's avatar
Bdale Garbee committed
1433
1434
2015-12-05  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
1435
1436
1437
1438
1439
1440
	Upgrade paxutils

2015-11-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix extraction from concatenated incremental archives with
	renamed directories.
Bdale Garbee's avatar
Bdale Garbee committed
1441

Bdale Garbee's avatar
Bdale Garbee committed
1442
	Complements 15c02c2b.
Bdale Garbee's avatar
Bdale Garbee committed
1443

Bdale Garbee's avatar
Bdale Garbee committed
1444
1445
1446
1447
1448
	* src/extract.c (delayed_set_stat): Change type of file_name.
	(delay_set_stat): Allocate file_name member.
	(free_delayed_set_stat): Free file_name.
	(fixup_delayed_set_stat): New function.
	(rename_directory): Call fixup_delayed_set_stat on success.
Bdale Garbee's avatar
Bdale Garbee committed
1449

Bdale Garbee's avatar
Bdale Garbee committed
1450
1451
1452
1453
1454
1455
1456
1457
	* tests/incr11.at: New testcase.
	* tests/incr10.at: Improve description.
	* tests/Makefile.am: Add incr11.at
	* tests/testsuite.at: Add incr11.at

2015-11-21  Sergey Poznyakoff  <gray@gnu.org>

	Fix bug in the inplementation of --one-top-level.
Bdale Garbee's avatar
Bdale Garbee committed
1458

Bdale Garbee's avatar
Bdale Garbee committed
1459
1460
1461
1462
1463
	When extracting an archive that contains './' with the
	--one-top-level option,
	the mode and ownership of '.' would be incorrectly applied to
	the current
	working directory, instead of the requested top-level directory.
Bdale Garbee's avatar
Bdale Garbee committed
1464

Bdale Garbee's avatar
Bdale Garbee committed
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
	* src/list.c (enforce_one_top_level): Map '.' to the top-level
	directory.
	* tests/Makefile.am: Add onetop05.at
	* tests/testsuite.at: Include onetop05.at.
	* tests/onetop05.at: New file.
	* tests/onetop01.at: Fix keywords.
	* tests/onetop02.at: Likewise.
	* tests/onetop03.at: Likewise.
	* tests/onetop04.at: Likewise.

2015-11-11  Sergey Poznyakoff  <gray@gnu.org>

	Work around unlinkat bug on FreeBSD and GNU/Hurd
Bdale Garbee's avatar
Bdale Garbee committed
1478

Bdale Garbee's avatar
Bdale Garbee committed
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
	* src/unlink.c (dunlink_insert): New function.
	(flush_deferred_unlinks): Skip cwds and nonempty directories
	at the first pass.  If force is requested, run a second pass
	removing them.
	(queue_deferred_unlink): Make sure current working directory
	entries are sorted in descending order by the value of dir_idx.
	This makes sure they will be removed in right order, which works
	around unlinkat bug on FreeBSD and GNU/Hurd.
	* tests/remfiles08b.at: Remove expected failure.
	* tests/remfiles09b.at: Likewise.

2015-11-10  Sergey Poznyakoff  <gray@gnu.org>

	Fix coredump on FreeBSD when TAR_OPTIONS is set
Bdale Garbee's avatar
Bdale Garbee committed
1493

Bdale Garbee's avatar
Bdale Garbee committed
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
	* src/tar.c (parse_default_options): Use program_name instead of
	program_invocation_short_name.	On some systems the latter is
	NULL when
	the function is called, which causes coredumps.
	(tar_set_quoting_style): Likewise.
	* src/names.c: Likewise.

2015-11-02  Sergey Poznyakoff  <gray@gnu.org>

	Use sort in T-dir tests.

Bdale Garbee's avatar
Bdale Garbee committed
1505
1506
2015-11-02  Sergey Poznyakoff  <gray@gnu.org>

Bdale Garbee's avatar
Bdale Garbee committed
1507
	Fix distclean in tests/
Bdale Garbee's avatar
Bdale Garbee committed
1508

Bdale Garbee's avatar
Bdale Garbee committed
1509
1510
	* tests/Makefile.am: Remove "download"

Bdale Garbee's avatar
Bdale Garbee committed
1511
1512
2015-11-02  Sergey Poznyakoff  <gray@gnu.org>

Bdale Garbee's avatar
Bdale Garbee committed
1513
	New options: --owner-map and --group-map.
Bdale Garbee's avatar
Bdale Garbee committed
1514

Bdale Garbee's avatar
Bdale Garbee committed
1515
1516
1517
	* NEWS: Update.
	* doc/tar.1: Document --owner-map and --group-map
	* doc/tar.texi: Likewise.
Bdale Garbee's avatar
Bdale Garbee committed
1518

Bdale Garbee's avatar
Bdale Garbee committed
1519
1520
1521
1522
1523
1524
1525
1526
	* src/map.c: New file.
	* src/Makefile.am: Add map.c
	* src/common.h (owner_map_read, owner_map_translate)
	(group_map_read, group_map_translate): New protos.
	* src/create.c (start_header): Use owner_map_translate
	and group_map_translate to optionally translate user/group
	names/ids.
	* src/tar.c: New options --owner-map and --group-map.
Bdale Garbee's avatar
Bdale Garbee committed
1527

Bdale Garbee's avatar
Bdale Garbee committed
1528
1529
1530
1531
1532
1533
1534
	* tests/map.at: New file.
	* tests/Makefile.am: Add map.at
	* tests/testsuite.at: Include map.at.

2015-09-24  Kir Kolyshkin  <kir@openvz.org>  (tiny change)

	doc: fix font and spelling typos
Bdale Garbee's avatar
Bdale Garbee committed
1535

Bdale Garbee's avatar
Bdale Garbee committed
1536
1537
1538
1539
1540
	* doc/tar.1: Fix font and spelling typos in man page.

2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>

	Fix problems caught by static checking
Bdale Garbee's avatar
Bdale Garbee committed
1541

Bdale Garbee's avatar
Bdale Garbee committed
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
	Most of these can be caught by configuring with
	--enable-gcc-warnings.
	Problem reported by Pavel Raiskup in:
	http://lists.gnu.org/archive/html/bug-tar/2015-09/msg00001.html
	* src/buffer.c (format_total_stats):
	Prefer pointer to const when it’s OK to use const.
	(default_total_format): Now const.
	* src/buffer.c (default_total_format):
	* src/exclist.c (excfile_head, excfile_tail, vcs_ignore_files):
	* src/misc.c (namebuf_add_dir, namebuf_finish):
	* src/tar.c (verbatim_files_from_option, option_set_in_cl)
	(optloc_eq, set_old_files_option):
	Now static.
	* src/common.h: Adjust to match the other changes described here.
	* src/exclist.c (info_cleanup_exclist):
	* src/tar.c (argp_program_version, argp_program_bug_address):
	Remove; unused.
	(parse_default_options): Define via prototype instead of old
	style.
	(parse_default_options, decode_options):
	Fill out incomplete initializers.

2015-08-31  Sergey Poznyakoff  <gray@gnu.org>

	Improve option sanity checking
Bdale Garbee's avatar
Bdale Garbee committed
1567

Bdale Garbee's avatar
Bdale Garbee committed
1568
1569
1570
1571
1572
	Any two conflicting options are reported only if they both
	occur in
	the command line.  Otherwise, options defined in the command line
	silently override those set in the TAR_OPTIONS environment
	variable.
Bdale Garbee's avatar
Bdale Garbee committed
1573

Bdale Garbee's avatar
Bdale Garbee committed
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
	* src/common.h (option_source): New enum.
	(option_locus): New struct.
	* src/names.c (name_elt): New member: line.
	(name_add_file): Initialize line.
	(read_name_from_file): Keep track of input line number for
	diagnostic
	purposes.
	(handle_option): Take a pointer to struct name_elt as 2nd
	parameter;
	pass locus info to more_options().
	* src/tar.c (tar_args): New member: loc.
	(option_class): New enum.
	(optloc_save,optloc_lookup)
	(option_set_in_cl,optloc_eq): New functions.
	(set_use_compress_program_option): Take into account option
	location.
	(set_old_files_option): New function.
	(parse_opt): Keep track of option locations.
	(more_options): Improve error reporting.
	(parse_default_options): New function.
	(decode_options): Parse TAR_OPTION and command line separately.
	Options from the latter silently override those from the former.
Bdale Garbee's avatar
Bdale Garbee committed
1596

Bdale Garbee's avatar
Bdale Garbee committed
1597
1598
1599
1600
1601
1602
1603
	* lib/prepargs.c: Remove.
	* lib/prepargs.h: Remove.
	* lib/Makefile.am: Update.

2015-08-24  Sergey Poznyakoff  <gray@gnu.org>

	Improve check-full
Bdale Garbee's avatar
Bdale Garbee committed
1604

Bdale Garbee's avatar
Bdale Garbee committed
1605
1606
1607
1608
1609
	* tests/atlocal.in: Download external archives to
	$abs_builddir/download.
	(tarball_prereq): Create destination directory if necessary.
	* tests/.gitignore: Add download

Bdale Garbee's avatar
Bdale Garbee committed
1610
1611
2015-08-24  Sergey Poznyakoff  <gray@gnu.org>

Bdale Garbee's avatar
Bdale Garbee committed
1612
	Fix check-full
Bdale Garbee's avatar
Bdale Garbee committed
1613

Bdale Garbee's avatar
Bdale Garbee committed
1614
1615
1616
	* tests/atlocal.in (TAR_DATA_URL): Berlios is dead.  Get
	test archives from gnu.org.ua

Bdale Garbee's avatar
Bdale Garbee committed
1617
1618
2015-08-24  Sergey Poznyakoff  <gray@gnu.org>

Bdale Garbee's avatar
Bdale Garbee committed
1619
	Include gnulib and paxutils as submodules.
Bdale Garbee's avatar
Bdale Garbee committed
1620

Bdale Garbee's avatar
Bdale Garbee committed
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
	* .gitmodules: New file.
	* README-alpha: Update.
	* README-hacking: Update.
	* bootstrap: Install slightly modified version from the gnulib
	repo.
	* bootstrap.conf: Add paxutils-related stuff.
	* .gitignore: Update.
	* doc/.gitignore: Update.
	* po/.gitignore: Update.
	* gnu/Makefile.am

Bdale Garbee's avatar
Bdale Garbee committed
1632
1633
2015-08-24  Sergey Poznyakoff  <gray@gnu.org>

Bdale Garbee's avatar
Bdale Garbee committed
1634
	Update docs.
Bdale Garbee's avatar
Bdale Garbee committed
1635

Bdale Garbee's avatar
Bdale Garbee committed
1636
1637
1638
1639
1640
	* doc/tar.1: Document --verbatim-files-from option.

2015-08-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Add missing VCS files to --exclude-vcs list
Bdale Garbee's avatar
Bdale Garbee committed
1641

Bdale Garbee's avatar
Bdale Garbee committed
1642
1643
1644
1645
1646
1647
	* src/tar.c (vcs_file_table): Add .gitmodules and .gitattributes
	* doc/tar.texi: Update.

2015-08-03  Sergey Poznyakoff  <gray@gnu.org.ua>

	Options to control option handling in file lists.
Bdale Garbee's avatar
Bdale Garbee committed
1648

Bdale Garbee's avatar
Bdale Garbee committed
1649
1650
	The --verbatim-files-from option disables option handling in
	file lists.  The --no-verbatim-files-from reverts its effect.
Bdale Garbee's avatar
Bdale Garbee committed
1651

Bdale Garbee's avatar
Bdale Garbee committed
1652
1653
	The --null option implies --verbatim-files-from.  This restores
	the documented behavior, broken by 26538c9b.
Bdale Garbee's avatar
Bdale Garbee committed
1654

Bdale Garbee's avatar
Bdale Garbee committed
1655
1656
1657
1658
1659
1660
1661
	* src/common.h (verbatim_files_from_option): New global.
	* src/names.c (name_elt): New member: file.verbatim
	(name_add_file): Take 'verbatim' state as its third parameter.
	(read_next_name): Don't call handle_option if file.verbatim
	is set.
	* src/tar.c: New options --verbatim-files-from and
	--no-verbatim-files-from.
Bdale Garbee's avatar
Bdale Garbee committed
1662

Bdale Garbee's avatar
Bdale Garbee committed
1663
1664
1665
1666
	* doc/tar.texi: Document --verbatim-files-from and
	--no-verbatim-files-from options.
	* NEWS: Update.
	* configure.ac: Version 1.28.90
Bdale Garbee's avatar
Bdale Garbee committed
1667

Bdale Garbee's avatar
Bdale Garbee committed
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
	* tests/T-null2.at: New testcase.
	* tests/Makefile.am: Update.
	* tests/testsuite.at: Update.

2015-07-25  Anders Jonsson  <anders.jonsson@norsjovallen.se>  (tiny
change)

	Fix typos (preceeded etc.)

2015-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	tar: fix symlink race and symlink transform bug
Bdale Garbee's avatar
Bdale Garbee committed
1680

Bdale Garbee's avatar
Bdale Garbee committed
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
	Problem reported by Tobias Stoeckmann in:
	http://lists.gnu.org/archive/html/bug-tar/2015-07/msg00004.html
	* gnulib.modules: Add areadlinkat-with-size.
	* src/create.c: Include areadlink.h.
	(dump_file0): Use areadlinkat_with_size, rather than trying to do
	it by hand, incorrectly.  This also avoids assumption that
	the symlink contents fit on the stack.	Also, use the transformed
	link name, not the original link name, when deciding whether the
	name is long enough to require writing a long link.

Bdale Garbee's avatar
Bdale Garbee committed
1691
1692
2015-07-13  Paul Eggert  <eggert@cs.ucla.edu>

Bdale Garbee's avatar
Bdale Garbee committed
1693
	tar: port -d to longer symlinks
Bdale Garbee's avatar
Bdale Garbee committed
1694

Bdale Garbee's avatar
Bdale Garbee committed
1695
1696
1697
1698
1699
1700
	* src/compare.c (diff_symlink):
	Don't use alloca on symlink length; it might be too big for
	the stack.
	Don't assume that readlinkat's return value fits in 'int'.
	Prefer memcmp to strncmp where either will do.

Bdale Garbee's avatar
Bdale Garbee committed
1701
1702
2015-07-13  Paul Eggert  <eggert@cs.ucla.edu>

Bdale Garbee's avatar
Bdale Garbee committed
1703
	tar: port to recent gnulib
Bdale Garbee's avatar
Bdale Garbee committed
1704

Bdale Garbee's avatar
Bdale Garbee committed
1705
1706
	* gnulib.modules: Remove 'acl' and add 'file-has-acl'.

Bdale Garbee's avatar
Bdale Garbee committed
1707
1708
2015-07-13  Paul Eggert  <eggert@cs.ucla.edu>

Bdale Garbee's avatar
Bdale Garbee committed
1709
	tar: pacify GCC 5.1 -Wformat-signedness
Bdale Garbee's avatar
Bdale Garbee committed
1710

Bdale Garbee's avatar
Bdale Garbee committed
1711
1712
1713
1714
1715
1716
1717
1718
1719
	* lib/wordsplit.c (struct wordsplit_node.flags):
	Now unsigned, so that 'printf ("%x", p->flags)' doesn't provoke
	GCC.
	* src/incremen.c (read_num, dumpdir_ok):
	Don't printf an int with %x or %o.

2015-04-16  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix extraction from concatenated incremental archives.
Bdale Garbee's avatar
Bdale Garbee committed
1720

Bdale Garbee's avatar
Bdale Garbee committed
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
	* src/common.h (remove_delayed_set_stat): New proto.
	* src/extract.c (free_delayed_set_stat)
	(remove_delayed_set_stat): New function.
	(apply_nonancestor_delayed_set_stat): Use free_delayed_set_stat.
	* src/misc.c (safer_rmdir): Remove delayed_set_stat entry
	corresponding to the removed directory.
	* tests/incr10.at: New test case.
	* tests/Makefile.am: Add new test.
	* tests/testsuite.at: Likewise.

2015-04-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix make installcheck
Bdale Garbee's avatar
Bdale Garbee committed
1734

Bdale Garbee's avatar
Bdale Garbee committed
1735
1736
1737
	Make installcheck would fail unless make check had been run
	before it.
	Reported by Erik Brangs <erik.brangs@gmx.de>
Bdale Garbee's avatar
Bdale Garbee committed
1738

Bdale Garbee's avatar
Bdale Garbee committed
1739
1740
1741
1742
1743
1744
	* tests/Makefile.am (installcheck-local): Depend on
	$(check_PROGRAMS)

2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>

	tar: don't assume GZIP
Bdale Garbee's avatar
Bdale Garbee committed
1745

Bdale Garbee's avatar
Bdale Garbee committed
1746
1747
1748
1749
1750
1751
	* Makefile.am (dist-hook): Port to gzip implementations that
	warn about nontrivial settings in the GZIP environment var.

2015-03-17  Paul Eggert  <eggert@cs.ucla.edu>

	tar: don't suggest GZIP
Bdale Garbee's avatar
Bdale Garbee committed
1752

Bdale Garbee's avatar
Bdale Garbee committed
1753
1754
1755
1756
1757
1758
	* doc/tar.texi (gzip): Don't suggest using the GZIP environment
	variable, as it will be deprecated in the next gzip release.

2015-02-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Improve compression format recognition
Bdale Garbee's avatar
Bdale Garbee committed
1759

Bdale Garbee's avatar
Bdale Garbee committed
1760
1761
1762
	Some comressed archives can pass the checksum test, which
	makes tar
	treat them as uncompressed archives.
Bdale Garbee's avatar
Bdale Garbee committed
1763

Bdale Garbee's avatar
Bdale Garbee committed
1764
1765
1766
1767
1768
1769
1770
	* src/buffer.c (check_compressed_archive): Test the checksum only
	if the block we read looks like a valid tar header (i.e. has
	a magic string).

2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>

	tar: port xattr-at.c to Solaris 10
Bdale Garbee's avatar
Bdale Garbee committed
1771

Bdale Garbee's avatar
Bdale Garbee committed
1772
1773
1774
1775
1776
	* lib/xattr-at.c (setxattrat, lsetxattrat, getxattrat,
	lgetxattrat)
	(listxattrat, llistxattrat): Compile only if HAVE_XATTRS, so that
	the code doesn't call functions that are not declared.

Bdale Garbee's avatar
Bdale Garbee committed
1777
1778
2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>

Bdale Garbee's avatar
Bdale Garbee committed
1779
	tar: port wordsplit attribute to Sun C
Bdale Garbee's avatar
Bdale Garbee committed
1780

Bdale Garbee's avatar
Bdale Garbee committed
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
	Reported by Ted Carr in:
	http://lists.gnu.org/archive/html/bug-tar/2015-01/msg00002.html
	* lib/wordsplit.h (__WORDSPLIT_ATTRIBUTE_FORMAT):
	New macro, taken from Gnulib.
	(struct wordsplit): Use it.
	* lib/wordsplit.c (_wsplt_error): Use it.

2014-12-17  Sergey Poznyakoff  <gray@gnu.org>

	Silent a cc warning
Bdale Garbee's avatar
Bdale Garbee committed
1791

Bdale Garbee's avatar
Bdale Garbee committed
1792
1793
1794
1795
1796
1797
	* src/xheader.c (xheader_string_end): Make sure pointer
	arithmetics applies on char*.

2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	tar: port ISFOUND, WASFOUND to C89
Bdale Garbee's avatar
Bdale Garbee committed
1798

Bdale Garbee's avatar
Bdale Garbee committed
1799
1800
1801
1802
1803
1804
1805
	Problem reported by Romano Maspero in:
	http://lists.gnu.org/archive/html/bug-tar/2014-12/msg00010.html
	* src/common.h (ISFOUND, WASFOUND): Port to C89.

2014-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix tar -c -l file file
Bdale Garbee's avatar
Bdale Garbee committed
1806

Bdale Garbee's avatar
Bdale Garbee committed
1807
1808
	When the same file is added several times to the archive, count
	correctly the number of hard links.  See also 37ddfb0b.
Bdale Garbee's avatar
Bdale Garbee committed
1809

Bdale Garbee's avatar
Bdale Garbee committed
1810
1811
1812
1813
1814
1815
	* src/create.c (dump_hard_link): Don't decrease nlink if it is 0.
	* tests/link04.at: Test -cl options.

2014-11-07  Sergey Poznyakoff  <gray@gnu.org>

	Honor the pax-option overrides when creating archive.
Bdale Garbee's avatar
Bdale Garbee committed
1816

Bdale Garbee's avatar
Bdale Garbee committed
1817
	Changes proposed by Denis Excoffier.
Bdale Garbee's avatar
Bdale Garbee committed
1818

Bdale Garbee's avatar
Bdale Garbee committed
1819
1820
1821
1822
1823
1824
1825
1826
	* NEWS: Fix typos.
	* doc/tar.texi: Fix typos.  Improve recipe for creation of binary
	equivalent archives.
	* src/create.c (write_extended): Use the value of the
	--mtime option (if specified) as the default for exthdr.mtime.
	* src/xheader.c (xheader_store): Create the header if at least
	one override is supplied in --pax-option.

Bdale Garbee's avatar
Bdale Garbee committed
1827
1828
2014-11-07  Sergey Poznyakoff  <gray@gnu.org>

Bdale Garbee's avatar
Bdale Garbee committed
1829
	Add testcase for the previous commit.
Bdale Garbee's avatar
Bdale Garbee committed
1830

Bdale Garbee's avatar
Bdale Garbee committed
1831
1832
1833
1834
1835
1836
1837
	* tests/sparse05.at: New file.
	* tests/Makefile.am: Add sparse05.at
	* tests/testsuite.at: Include sparse05.at

2014-11-07  Pavel Raiskup  <praiskup@redhat.com>

	Fix bug in sparse file listing
Bdale Garbee's avatar
Bdale Garbee committed
1838

Bdale Garbee's avatar
Bdale Garbee committed
1839
1840
1841
1842
1843
1844
1845
	List posix archives containing sparse files >8GB correctly and
	do not fail.
	This fixes also bug in format of listing for sparse files >8GB -
	now the
	real size is printed instead of the effective one (this is
	not strictly
	posix format related).
Bdale Garbee's avatar
Bdale Garbee committed
1846

Bdale Garbee's avatar
Bdale Garbee committed
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
	* src/list.c: Remove redundant assignment.
	* src/tar.h: Add new 'real_size' and 'real_size_set' fields in
	  tar_stat_info struct.
	* src/xheader.c: Correctly handle (especially sparse) file sizes
	directly in
	  xheader_decode().

2014-10-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix a typo

2014-10-01  Sergey Poznyakoff  <gray@gnu.org>

	Fix README
Bdale Garbee's avatar
Bdale Garbee committed
1861

Bdale Garbee's avatar
Bdale Garbee committed
1862
1863
1864
1865
1866
	Remove the reference to PORTS

2014-09-25  Sergey Poznyakoff  <gray@gnu.org>

	Bugfixes.
Bdale Garbee's avatar
Bdale Garbee committed
1867

Bdale Garbee's avatar
Bdale Garbee committed
1868
1869
1870
1871
1872
1873
1874
1875
	* doc/tar.1: Fix typo in font spec.
	* src/tar.c (sort_mode_arg, sort_mode_flag): Protect "inode"
	(SAVEDIR_SORT_INODE) with D_INO_IN_DIRENT

2014-09-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfix: entries read from the -T file did not get proper
	matching_flag.
Bdale Garbee's avatar
Bdale Garbee committed
1876

Bdale Garbee's avatar
Bdale Garbee committed
1877
1878
1879
1880
1881
1882
	* src/common.h (name_add_file): Change signature.
	* src/names.c (name_elt_alloc_matflags): New function.
	(name_add_name): Use name_elt_alloc_matflags.
	(name_add_file): Take matching flags as third argument.
	(read_next_name): Remove trailing slashes.
	* src/tar.c (parse_opt): Pass matching_flags to name_add_file.
Bdale Garbee's avatar
Bdale Garbee committed
1883

Bdale Garbee's avatar
Bdale Garbee committed
1884
1885
1886
1887
1888
1889
1890
1891
	* tests/T-dir00.at: New file.
	* tests/T-dir01.at: New file.
	* tests/Makefile.am: Add new testcases.
	* tests/testsuite.at: Likewise.

2014-08-16  Sergey Poznyakoff  <gray@gnu.org>

	Improve documentation.
Bdale Garbee's avatar
Bdale Garbee committed
1892

Bdale Garbee's avatar
Bdale Garbee committed
1893
1894
1895
	* doc/tar.1: Document --skip-old-files and --warning=existing-file
	* doc/tar.texi: Document --warning=existing-file

Bdale Garbee's avatar
Bdale Garbee committed
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
2014-07-27  Sergey Poznyakoff  <gray@gnu.org>

	Version 1.28

2014-07-27  Nathan Stratton Treadway  <nathanst@ontko.com>

	Minor change in docstrings. nor ch#

	Restructure the remfiles testsuite.

2014-07-22  Sergey Poznyakoff  <gray@gnu.org>

	Don't build ttyemu and run tty I/O test if grantpt is not
	available.
Bdale Garbee's avatar
Bdale Garbee committed
1910

Bdale Garbee's avatar
Bdale Garbee committed
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
	* configure.ac (TAR_COND_GRANTPT): Define conditional depending
	on whether grantpt is available.
	* gnulib.modules: Remove grantpt. It relies upon a helper binary
	pt_chown which it installs and which is useless in the testsuite.
	* tests/Makefile.am [TAR_COND_GRANTPT]: Build ttyemu
	* tests/iotty.at: Skip test if ttyemu is not build.
	* tests/ttyemu.c (noecho): Fix error message
	(main): Use TIOCSCTTY if it is defined.

2014-07-22  Benno Schulenberg  <bensberg@justemail.net>

	Fix a typo and some wordings in the documentation.
Bdale Garbee's avatar
Bdale Garbee committed
1923

Bdale Garbee's avatar
Bdale Garbee committed
1924
1925
1926
1927
1928
1929
	* doc/tar.texi: Fix some missing articles, and make it clearer
	that "any" does not mean "anything" but "either of the two".

2014-07-22  Nathan Stratton Treadway  <nathanst@ontko.com>

	Fix the testsuite
Bdale Garbee's avatar
Bdale Garbee committed
1930

Bdale Garbee's avatar
Bdale Garbee committed
1931
1932
1933
1934
1935
	* tests/incr07.at: Don't assume case-sensitive filesystem.

2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>

	tar: minor fixups related to recent checkpoint.c change
Bdale Garbee's avatar
Bdale Garbee committed
1936

Bdale Garbee's avatar
Bdale Garbee committed
1937
1938
1939
1940
1941
1942
1943
1944
	* src/checkpoint.c (getwidth, format_checkpoint_string):
	Use long and strtol, not int, to avoid overflow issues.
	(getwidth): Don't assume termios.h defines TIOCGWINSZ,
	as it doesn't on some older hosts.

2014-07-11  Sergey Poznyakoff  <gray@gnu.org>

	Bugfixes
Bdale Garbee's avatar
Bdale Garbee committed
1945

Bdale Garbee's avatar
Bdale Garbee committed
1946
1947
1948
1949
1950
1951
	* gnulib.modules: Add faccessat
	* src/checkpoint.c: Include termios.h

2014-06-29  Nathan Stratton Treadway  <nathanst@ontko.com>

	tar: document xgetcwd test case better
Bdale Garbee's avatar
Bdale Garbee committed
1952

Bdale Garbee's avatar
Bdale Garbee committed
1953
1954
1955
1956
1957
1958
1959
	* src/misc.c (normalize_filename): Add commentary for clarity.
	* tests/extrac09.at: Retitle test case and add comments for
	clarity.

2014-06-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix typos in ChangeLog
Bdale Garbee's avatar
Bdale Garbee committed
1960

Bdale Garbee's avatar
Bdale Garbee committed
1961
1962
1963
1964
1965
1966
1967
	* ChangeLog.CVS: Fix typos.
	* ChangeLog.amend: New file.
	* Makefile.am: Define changelog_amend_file.

2014-04-30  Paul Eggert  <eggert@cs.ucla.edu>

	tar: do not dereference NULL pointer with '--remove-files .'
Bdale Garbee's avatar
Bdale Garbee committed
1968

Bdale Garbee's avatar
Bdale Garbee committed
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
	Problem reported by Thorsten Hirsch in:
	http://lists.gnu.org/archive/html/bug-tar/2014-04/msg00011.html
	* src/unlink.c (flush_deferred_unlinks):
	Do not attempt to find the parent of "." when "." is
	at the top level.
	* tests/remfiles10.at: New file.
	* tests/Makefile.am (TESTSUITE_AT):
	* tests/testsuite.at: Add it.

2014-03-27  Sergey Poznyakoff  <gray@gnu.org>

	Refuse to write archive contents to a tty.
Bdale Garbee's avatar
Bdale Garbee committed
1981

Bdale Garbee's avatar
Bdale Garbee committed
1982
1983
1984
1985
1986
1987
1988
	* NEWS: Update.
	* src/buffer.c (_open_archive): Refuse to write to a tty.
	* tests/iotty.at: Test output to a tty.

2014-03-26  Vitezslav Cizek  <vcizek@suse.cz>

	fix an eternal loop in handle_option
Bdale Garbee's avatar
Bdale Garbee committed
1989

Bdale Garbee's avatar
Bdale Garbee committed
1990
1991
1992
1993
1994
	* src/names.c (handle_option): increment loop counter

2014-03-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fail if archive comes from a terminal.
Bdale Garbee's avatar
Bdale Garbee committed
1995

Bdale Garbee's avatar
Bdale Garbee committed
1996
	Based on patch from Pavel Raiskup <praiskup@redhat.com>.
Bdale Garbee's avatar
Bdale Garbee committed
1997

Bdale Garbee's avatar
Bdale Garbee committed
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
	* gnulib.modules: Add new modules.
	* src/buffer.c (_open_archive): Refuse to read archive from a tty.
	* tests/Makefile.am (TESTSUITE_AT): Add iotty.at
	(check_PROGRAMS): New program ttyemu
	* tests/testsuite.at: Include iotty.at
	* tests/iotty.at: New file.
	* tests/ttyemu.c: New file.

2014-03-13  Paul Eggert  <eggert@cs.ucla.edu>

	tar: port to Solaris 9
Bdale Garbee's avatar
Bdale Garbee committed
2009

Bdale Garbee's avatar
Bdale Garbee committed
2010
2011
2012
2013
2014
2015
2016
	Problem reported by Jesse C in:
	http://lists.gnu.org/archive/html/bug-tar/2014-03/msg00034.html
	* gnulib.modules: Add strtoimax and strtoumax, since tar invokes
	these functions directly and they don't exist on Solaris 9.

2014-02-25  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
2017
	Test the --[no-]recursive options (see commit 2bd9c153).
Bdale Garbee's avatar
Bdale Garbee committed
2018

Bdale Garbee's avatar
Bdale Garbee committed
2019
2020
2021
2022
2023
2024
2025
	* tests/recurs02.at: New test case.
	* tests/Makefile.am: Add new file.
	* tests/testsuite.at: Add new file.

2014-02-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Support exclusion patterns from various VCS ignore lists.
Bdale Garbee's avatar
Bdale Garbee committed
2026

Bdale Garbee's avatar
Bdale Garbee committed
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
	* src/Makefile.am (tar_SOURCES): Add exclist.c
	* src/common.h (EXCL_DEFAULT, EXCL_RECURSIVE)
	(EXCL_NON_RECURSIVE): New flags.
	(excfile_add, info_attach_exclist)
	(info_cleanup_exclist,info_free_exclist)
	(exclude_vcs_ignores): New prototypes.
	* src/create.c (dump_dir0): Call info_attach_exclist.
	* src/exclist.c: New file.
	* src/incremen.c (scan_directory): Call info_attach_exclist.
	* src/names.c (excluded_name): Moved to exclist.c. Change
	signature.
	All uses updated.
	* src/tar.c: New options: --exclude-ignore,
	--exclude-ignore-recursive
	and --exclude-vcs-ignores.
	(tar_stat_destroy): Free exclist.
	* src/tar.h (tar_stat_info): New member exclude_list.
Bdale Garbee's avatar
Bdale Garbee committed
2044

Bdale Garbee's avatar
Bdale Garbee committed
2045
2046
2047
2048
2049
2050
2051
	* NEWS: Document new exclusion options.
	* doc/tar.texi: Likewise.
	* doc/tar.1: Likewise.

2014-02-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix in testsuite
Bdale Garbee's avatar
Bdale Garbee committed
2052

Bdale Garbee's avatar
Bdale Garbee committed
2053
2054
2055
2056
2057
	* acls03.at: Fix improper invocation of setfacl.

2014-02-14  Pavel Raiskup  <praiskup@redhat.com>

	testsuite: add test for buggy default ACLs
Bdale Garbee's avatar
Bdale Garbee committed
2058

Bdale Garbee's avatar
Bdale Garbee committed
2059
2060
2061
2062
	* tests/Makefile.am: Mention acls03.at.
	* tests/testsuite.at: Likewise.
	* tests/acls03.at: New testcase.

Bdale Garbee's avatar
Bdale Garbee committed
2063
2064
2014-02-14  Pavel Raiskup  <praiskup@redhat.com>

Bdale Garbee's avatar
Bdale Garbee committed
2065
	acls: bugfix for default ACLs extraction
Bdale Garbee's avatar
Bdale Garbee committed
2066

Bdale Garbee's avatar
Bdale Garbee committed
2067
2068
2069
2070
	When --acls option is on (regardless of tarball contents or
	tarball format), we should explicitly set OR delete default ACLs
	for extracted directories.  Prior to this update, we always
	created arbitrary default ACLs based standard file permissions.
Bdale Garbee's avatar
Bdale Garbee committed
2071

Bdale Garbee's avatar
Bdale Garbee committed
2072
2073
2074
2075
2076
	* configure.ac (with_posix_acls): Check also for acl_free and
	acl_delete_def_file to mark IEEE 1003.1e ACLs as supported.
	* src/xattrs.c (acl_delete_def_file_at): New function.
	(xattrs__acls_set): Do not treat acls_option at all;  Delete
	default ACLs if appropriate.
Bdale Garbee's avatar
Bdale Garbee committed
2077

Bdale Garbee's avatar
Bdale Garbee committed
2078
2079
2080
2081
	References:
	http://www.mail-archive.com/bug-tar@gnu.org/msg04355.html
	Thanks: Juan J. Martínez and Mark Steinborn

Bdale Garbee's avatar
Bdale Garbee committed
2082
2083
2014-02-14  Pavel Raiskup  <praiskup@redhat.com>

Bdale Garbee's avatar
Bdale Garbee committed
2084
	tar: imply --xattrs when --xattrs-{inc,exc}lude used
Bdale Garbee's avatar
Bdale Garbee committed
2085

Bdale Garbee's avatar
Bdale Garbee committed
2086
2087
	Options --xattrs-include=MASK and --xattrs-exclude=MASK now turn
	on the --xattrs option.
Bdale Garbee's avatar
Bdale Garbee committed
2088

Bdale Garbee's avatar
Bdale Garbee committed
2089
2090
	Fix also bug in printing in xattrs.c - don't print when option is
	negative.
Bdale Garbee's avatar
Bdale Garbee committed
2091

Bdale Garbee's avatar
Bdale Garbee committed
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
	* src/tar.c (set_xattr_option): New static function.
	(parse_opt): Call new function when --xatrrs, --xattrs-include or
	--xattrs-exclude option is used.
	* src/xattrs.c (xattrs_print, xattrs_print_char): Expect positive
	values in options.

2014-02-14  Sergey Poznyakoff  <gray@gnu.org.ua>

	THANKS: Add Anthony G. Basile.

Bdale Garbee's avatar
Bdale Garbee committed
2102
2103
2014-02-14  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
2104
	Use correct headers/libraries when providing xattr support
Bdale Garbee's avatar
Bdale Garbee committed
2105

Bdale Garbee's avatar
Bdale Garbee committed
2106
2107
	See https://savannah.gnu.org/patch/index.php?8252. Patch provided
	by Anthony G. Basile.
Bdale Garbee's avatar
Bdale Garbee committed
2108

Bdale Garbee's avatar
Bdale Garbee committed
2109
2110
2111
2112
2113
2114
2115
	* acinclude.m4 (TAR_HEADERS_ATTR_XATTR_H): Look for <sys/xattr.h>
	first and then for <attr/xattr.h>.  Link against libattr.so if
	needed.
	* lib/xattr-at.h: Include sys/xattr.h or attr/xattr.h, depending
	on which one is detected.
	* src/Makefile.am [TAR_LIB_ATTR] (tar_LDADD): Link against -lattr.

Bdale Garbee's avatar
Bdale Garbee committed
2116
2117
2014-02-14  Sergey Poznyakoff  <gray@gnu.org.ua>

Bdale Garbee's avatar
Bdale Garbee committed
2118
	Minor change
Bdale Garbee's avatar
Bdale Garbee committed
2119

Bdale Garbee's avatar
Bdale Garbee committed
2120
2121
2122
2123
2124
2125
	* src/tar.c (decode_options): Silently ignore --one-top-level
	if used with a non-reading command.

2014-02-14  Sergey Poznyakoff  <gray@gnu.org>

	New option --sort=ORDER
Bdale Garbee's avatar
Bdale Garbee committed
2126

Bdale Garbee's avatar
Bdale Garbee committed
2127
	This option makes tar sort the entries of directories that will be
Bdale Garbee's avatar
Bdale Garbee committed
2128
	added to an archive according to ORDER (none, name, or inode).
Bdale Garbee's avatar
Bdale Garbee committed
2129

Bdale Garbee's avatar
Bdale Garbee committed
2130
2131
	Based on proposition by Dick Streefland
	(https://savannah.gnu.org/patch/?7892).
Bdale Garbee's avatar
Bdale Garbee committed
2132

Bdale Garbee's avatar
Bdale Garbee committed
2133
2134
2135
2136
	* src/common.h (savedir_sort_order): New global.
	* src/create.c: Pass savedir_sort_order to streamsavedir.
	* src/misc.c: Likewise.
	* src/tar.c: New option --sort.
Bdale Garbee's avatar
Bdale Garbee committed
2137

Bdale Garbee's avatar
Bdale Garbee committed
2138
2139
2140
2141
2142
2143
2144
	* NEWS: Update.
	* doc/tar.texi: Document the --sort option.
	* doc/tar.1: Likewise.

2014-02-13  Sergey Poznyakoff  <gray@gnu.org>

	Fix the testsuite
Bdale Garbee's avatar
Bdale Garbee committed
2145

Bdale Garbee's avatar
Bdale Garbee committed
2146
2147
2148
2149
2150
2151
	* tests/opcomp01.at: Update expected error messages.
	* tests/opcomp03.at: Likewise.

2014-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix --one-top-level used together with --list.
Bdale Garbee's avatar
Bdale Garbee committed
2152

Bdale Garbee's avatar