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

	Version 2.12

	Update docs, use gettext 0.19.6

2015-09-01  Sergey Poznyakoff  <gray@gnu.org>

	Fix generation of manual directory
	* doc/Makefile.am: Change 'manual' goal.
	* doc/gendocs.sh: New file.
	* doc/gendocs_template: ps output is not built.

	Remove not used files
	* headers/Makefile.am: Remove.
	* headers/fnmatch.h: Remove.
	* Makefile.am: Update.
	* configure.ac: Update.

	Include gnulib and paxutils as submodules.
	* gnulib: New submodule.
	* paxutils: New submodule.
	* .gitignore: Updage
	* .gitmodules: Update
	* README-hacking: Update.
	* bootstrap: Install slightly modified version from the gnulib
	repo.
	* bootstrap.conf: Add paxutils-related stuff.
	* po/.gitignore: Update.
	* tests/symlink-bad-length.at: Fix expected output.
	* src/copyin.c: Tiny change.
	* src/util.c: Likewise.

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

	Fix symlink-bad-length test for 64-bit architectures.
	* src/util.c: Return non-zero exit code if EOF is hit prematurely.
	* tests/symlink-bad-length.at: Revert to original archive: there's
	no use testing for recovery, because that depends on the host
	architecture.  Don't test for exit code as well (same reason).
	Account for eventual warning messages.

	Fix error recovery in copy-in mode
	* src/copyin.c (copyin_link): Fix null dereference.
	(read_in_header): Fix error recovery (bug introduced by
	27e0ae55).
	* tests/symlink-bad-length.at: Test error recovery.
	Catch various architecture-dependent error messages (suggested
	by Pavel Raiskup).

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

	Fix typo

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

	Bugfix
	* src/copyin.c (get_link_name): Fix range checking.
	* tests/symlink-bad-length.at: Change expected error message.

	Fix memory overrun on reading improperly created link records.
	See
	http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html
	* src/copyin.c (get_link_name): New function.
	(list_file, copyin_link): use get_link_name
	* tests/symlink-bad-length.at: New file.
	* tests/symlink-long.at: New file.
	* tests/Makefile.am: Add new files.
	* tests/testsuite.at: Likewise.

	New options to create device and inode-independent archives.
	* src/util.c (inode_val): New member trans_inode
	(find_inode_val): New function.
	(find_inode_file): Rewrite using the above.
	(add_inode): Initialize the trans_inode member
	depending on the value of renumber_inodes_option.
	(get_inode_and_dev): New function.
	(stat_to_cpio): Use get_inode_and_dev.
	(arf_stores_inode_p): New function.
	* src/extern.h (renumber_inodes_option)
	(ignore_devno_option): New externs.
	* src/global.c (renumber_inodes_option)
	(ignore_devno_option): New variables.
	* src/main.c: Add new options.
	* NEWS: Document changes.
	* doc/cpio.1: Document new options.
	* doc/cpio.texi: Likewise.

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

	Fix package name recognition in bootstrap.
	The script logic failed if AC_INIT was split among two lines.
	Reported
	by Pavel.
	* bootstrap (extract_package_name): Rewrite as m4 script to allow
	for multiline AC_INIT.

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

	Update copyright years.

	Treat UID/GID as numeric if prefixed by + (-R option)
	The IDs supplied with the -R option are treated as numeric
	(without
	looking them up in the system database), when prefixed with +.
	This
	allows to force using numeric value if a user (group) with
	a numeric
	name exists in the database.
	Reported by Joshua Briefman <sirgatez@gmail.com>.
	* src/userspec.c (parse_user_spec): Use + as an indicator of
	a numeric UID/GID.
	* doc/cpio.1: Document changes.
	* doc/cpio.texi: Likewise.

	Use exit codes consistenly.

	Improve documentation.
	* .gitignore: Update.
	* NEWS: Update.
	* doc/cpio.1: Rewrite.
	* doc/cpio.texi: Major revamp.
	* src/main.c (options): Fix sectioning of the help output.
	(parse_opt):
	* src/util.c: Use PAXEXIT_FAILURE to indicate an error.

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

	Distribute rmt.8; update build system
	* NEWS: Update.
	* bootstrap (gnulib_extra_files): Remove "missing"
	* configure.ac: Do not distribute shar archive.
	Define CPIO_MT_COND
	* doc/Makefile.am: Always install manpages (mt.1 and rmt.8 --
	depending on whether the corresponding programs are built).
	* doc/cpio.1: Update.
	* doc/mt.1: Update.
	* lib/Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
	* src/Makefile.am: Likewise.
	* tests/Makefile.am: Likewise.

2012-02-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Always use 32 bit CRC
	* src/cpiohdr.h (cpio_file_stat) <c_chksum>: Change type to
	uint32_t.
	* src/extern.h (crc): Change type to uint32_t.
	* src/global.c: Likewise.
	* src/copyout.c (read_for_checksum): Return uint32_t.
	* src/copyin.c: Fix printf formats.

2011-09-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix error handling in disk_empty_output_buffer and sparse_write
	* src/extern.h (delayed_seek_count): Remove.
	(disk_empty_output_buffer): Change signature.
	* src/util.c (disk_empty_output_buffer): Take two arguments.
	Correctly handle partial writes (errno is not meaningful).
	(delayed_seek_count): Remove variable.
	(sparse_write): Change return type and signature.  Rewrite.
	Return number actual number of bytes written or -1 on error.
	Check returns from lseek and write.
	* src/copyin.c (copyin_regular_file): Call
	disk_empty_output_buffer
	with flush=true before closing the file.
	* src/copypass.c (process_copy_pass): Likewise.

	Minor fixes.
	* configure.ac: Use gettext 0.18
	* doc/.gitignore: Add parse-datetime.texi.
	* lib/Makefile.am (libpax_a_SOURCES): Add exit-status.c
	* src/copyin.c (read_pattern_file): Use open_fatal if opening
	pattern file failed.
	* src/util.c (set_file_times): Use fdutimens.

2010-08-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	Bugfixes.
	* gnulib.modules: Add getline, required by rmt.
	* src/mt.c (fatal_exit): Change exit code to
	MT_EXIT_FAILURE.

2010-07-23  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix setstat testcases to work on Darwin.
	* tests/setstat01.at: Set write permission on the directory
	before attempting to rename it.
	* tests/setstat02.at: Likewise.

	Housekeeping.
	* .gitignore: Sort.
	* src/cpiohdr.h: Fix indentation of preprocessor statements.
	* src/filetypes.h: Likewise.

	Improve handling of -D in copy-pass mode.
	* gnulib.modules: Add xgetcwd.
	* src/copypass.c (process_copy_pass): Convert directory_name
	to absolute if -D option was given.

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

	Fix bootstrapping.
	* bootstrap (symlink_to_dir): Fix symlink calculation.

	Minor fix.
	* src/filetypes.h: Remove declarations of stat and lstat.

	Minor fixes.
	* src/copyout.c (count_defered_links_to_dev_ino): Return size_t.
	(last_link): Do not use superfluous local variable.
	* src/util.c (copy_files_disk_to_tape)
	(copy_files_disk_to_disk): Shut down gcc warnings.

	Minor changes
	* .gitignore: Update.
	* am/.gitignore: New file.
	* src/.gitignore: Add .gdbinit.
	* tests/symlink-to-stdout.at: Fix keywords.

	Provide a tar-like --directory (-D) option.
	* src/copyin.c (process_copy_in): Call change_dir.
	* src/copyout.c (process_copy_out): Likewise.
	* src/copypass.c (process_copy_pass): Likewise.
	* src/extern.h (change_directory_option): New extern.
	(change_dir): New proto.
	* src/global.c (change_directory_option): New global.
	* src/main.c (options): New option --directory.
	(parse_opt): Handle the --directory option.
	* src/util.c (change_dir): New proto.
	* doc/cpio.texi: Document the --directory option.

2010-07-22  Dmitry V. Levin  <ldv@altlinux.org>

	Fix --to-stdout option support
	* src/copyin.c (copyin_link): Skip an appropriate number of bytes
	when to_stdout_option flag is set.
	* tests/symlink-to-stdout.at: New test case.
	* tests/Makefile.am (TESTSUITE_AT): Add symlink-to-stdout.at.
	* tests/testsuite.at: Include symlink-to-stdout.at.

2010-03-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	Version 2.11
	* configure.ac, NEWS: Raise version number.

	Bugfixes.
	* src/main.c (cpio_options): Remove unused options.
	* src/util.c (cpio_create_dir): Fix conditional.
	* NEWS: Update.

2010-02-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Use same code when creating directories in copy-in and copy-pass
	modes.
	* src/copyin.c (copyin_mkdir): Remove.
	(copyin_directory): Remove.
	(copyin_file): Use cpio_create_dir instead
	of copyin_directory.
	* src/copypass.c (process_copy_pass): Use cpio_create_dir
	to create directories.
	* src/extern.h (delay_cpio_set_stat): New proto.
	* src/util.c (delay_cpio_set_stat): New function.
	(delay_set_stat): Rewrite as a wrapper to the above.
	(cpio_create_dir): New function.
	* tests/setstat01.at: Fix testcase.
	* tests/setstat02.at: Likewise.
	* tests/setstat03.at: New testcase.
	* tests/setstat04.at: New testcase.
	* tests/setstat05.at: New testcase.
	* tests/Makefile.am: Add new testcases.
	* tests/testsuite.at: Likewise.

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

	Fix inode number typing.
	* src/copyin.c (create_defered_links): Use ino_t for
	inode numbers.
	(create_defered_links_to_skipped): Likewise.
	(process_copy_in): Add typecast to inode fprintf argument.
	* src/copyout.c (count_defered_links_to_dev_ino)
	(writeout_other_defers): Use ino_t for inode numbers.
	* src/copypass.c (link_to_maj_min_ino): Likewise.
	* src/util.c (struct inode_val): Likewise.
	(find_inode_file, add_inode): Likewise.
	* src/extern.h (link_to_maj_min_ino)
	(find_inode_file, add_inode): Change signature.

	Improve configuration suite.
	* configure.ac: Raise version number to 2.10.91.
	Require autotools 2.63/1.11.1.
	Create shar archive.
	Enable silent rules by default.
	* Makefile.am (AUTOMAKE_OPTIONS): Remove.
	* lib/Makefile.am (rmt-command.h): Silent rule.
	* NEWS: Update.

	Update copyright years.

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

	Delay setting directory attributes until end of run, if they do
	not permit writing. Fix debian bug #458079.
	* src/copyin.c (copyin_mkdir): New function.
	(copyin_directory): Use copyin_mkdir to create directory.
	Call set_perms only when safe, otherwise use
	repair_delayed_set_stat.
	* src/extern.h (cpio_to_stat): New prototype.
	(repair_delayed_set_stat): Change prototype.
	* src/util.c (cpio_to_stat): New function.
	(repair_delayed_set_stat): New function.
	* tests/setstat01.at: New test case.
	* tests/setstat02.at: New test case.
	* tests/Makefile.am (TESTSUITE_AT): Add setstat01.at and
	setstat02.at
	* tests/testsuite.at: Include setstat01.at and setstat02.at.
	* NEWS: Update.

	Minor compatibility fix
	* src/cpiohdr.h (struct old_cpio_header): c_dev and c_rdev
	are unsigned short.

	Raise version number to 2.10.90

	Fix mt and make sure it is always build during distcheck. Minor
	fixes in cpio.
	* Makefile.am (AM_DISTCHECK_CONFIGURE_FLAGS): New variable.
	Ensure that distcheck builds mt.
	* bootstrap: Patch Makefile.in to honor
	AM_DISTCHECK_CONFIGURE_FLAGS.
	* gnulib.modules: add argp-version-etc and progname.
	* src/Makefile.am: Remove useless dependency.
	* src/copyin.c (long_format): Fix printf arguments.
	* src/copyout.c (read_for_checksum): Return unsigned long.
	(process_copy_out): Remove unused variable.
	* src/extern.h (crc): Change type to unsigned long.
	(program_name): Remove.
	* src/global.c: Likewise.
	* src/main.c: Include argp-version-etc.h and progname.h
	(argp_program_version): Remove.
	(program_authors): New global.
	(options): Remove the 'Informative options' group. These are
	handled automatically by argp.
	(parse_opt): Likewise.
	(licence): Remove. This info is output by --version.
	(process_args): Remove useless test.
	(main): Use set_program_name and argp_version_setup.
	* src/mt.c: Remove superfluous includes.
	Include argp-version-etc.h and progname.h
	Use argp to parse arguments.
	Supply the fatal_exit function.
	* tests/version.at: Update for the new --version output.
	* THANKS: Add Peter Breitenlohner.
	* AUTHORS: Update Sergey's email.

2009-06-22  Sergey Poznyakoff  <gray@gnu.org.ua>

	Fix bootstrap
	* bootstrap: do not modify original system.h, create a copy of
	it instead.

2009-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	Version 2.10

2009-06-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Update docs.
	* NEWS, THANKS: Update

	Make sure the structs used for I/O mapping are not padded.
	* am/flushleft.m4, am/pack.m4: New files.
	* Makefile.am (ACLOCAL_AMFLAGS): Add -I am.
	* bootstrap: Fix arguments to aclocal.
	* configure.ac: Call CPIO_PACKED_STRUCTS.
	* src/cpiohdr.h: Ensure old_cpio_header,
	old_ascii_header and new_ascii_header are packed.

2009-06-19  Clint Adams  <schizo@debian.org>

	Improve docs
	* doc/cpio.texi: Document format file size limits.

2009-06-19  Sergey Poznyakoff  <gray@gnu.org.ua>

	Housekeeping changes
	* lib/Makefile.am: New file
	* src/Makefile.am (INCLUDES): add lib
	* src/main.c: Include configmake.h (needed for LOCALEDIR).
	* tests/Makefile.am (check-local, installcheck-local): Honor
	TESTSUITEFLAGS.

2009-03-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	Refelect changes to paxutils

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

	Fix exit codes

	Minor fix

	Fix bootstrap

	Delete paxutils

	Switch to Git

2008-03-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	* bootstrap: Update .cvsignore files.
	* po/.cvsignore: Update.

	* bootstrap: Sync with tar.
	* po/.cvsignore: New file.

2008-02-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	* NEWS, configure.ac: Raise the patchlevel number.
	* THANKS: Update
	
	* doc/cpio.texi: Fix a typo.
	* src/extern.h (warn_if_file_changed): Fix type of the 2nd
	argument.
	* src/tar.c (write_out_tar_header): Stylistic change.
	* src/util.c (copy_files_disk_to_disk): Fix types of automatic
	variables. 
	(warn_if_file_changed): Fix type of the 2nd argument.
	
	Patches supplied by Ladislav Michnovic.
	
2008-02-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	* po/POTFILES.in: Add missing files.
	* src/Makefile.am (INCLUDES): Add -I$(top_builddir)/lxib
	* src/extern.h (warn_if_file_changed): Fix type of the 3rd
	argument.
	* src/util.c (copy_files_tape_to_disk)
	(copy_files_disk_to_tape): Fix types of size and k.
	(warn_if_file_changed): Fix type of the 3rd argument.

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

	Fix mingw build. Thanks to Robert Millan.
	
	* NEWS, THANKS: Update.
	* bootstrap: Create lib/system.c, m4/sysdep.m4, update lib/system.h.
	* mingw.m4, sysdep.m4: New files.
	* configure.ac: Raise version number to 2.9.90.
	Call CPIO_SYSDEP. Remove the call to gl_USE_SYSTEM_EXTENSIONS.
	(AC_CHECK_HEADERS): Add process.h sys/ioctl.h
	* lib/Makefile.am (libcpio_a_SOURCES): Add system.c
	* src/idcache.c: Include system.h
	* src/userspec.c: Remove alloca stuff (already handled by
	gnulib). Include alloca.h.
	Remove useless declarations of get.* functions.
	* src/util.c: Include sys/ioctl.h conditionally.

2007-09-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	* src/copyin.c (read_in_binary): Fix passing improper argument
	to swab_array. Reported by Dr. David Alan Gilbert.

2007-06-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	* bootstrap: Update for the change of the TP URL
	
	* NEWS: Update
	* src/extern.h, src/makepath.c (make_path): Remove mode
	argument. All callers updated.
	* src/util.c (apply_delayed_set_stat): Use inverted permissions
	from data->stat.
	* tests/interdir.at: New test case.
	* tests/Makefile.am, tests/testsuite.at: Add interdir.at

	* src/copyin.c, src/copypass.c: Save current umask before
	processing and call apply_delayed_set_stat afterwards
	* src/extern.h (newdir_umask): New global
	(delay_set_stat,repair_delayed_set_stat)
	(apply_delayed_set_stat): New functions
	
	* src/global.c (newdir_umask): New global
	* src/idcache.c: Include xalloc.h
	* src/main.c: New warning control option -W interdir
	* src/makepath.c: Rewrite using delayed set_stat functions
	* src/util.c (create_all_directories): Update call to make_path
	(delay_set_stat,repair_delayed_set_stat)
	(apply_delayed_set_stat): New functions

	* NEWS, doc/cpio.1, doc/cpio.texi: Update
	* src/copyin.c, src/copyout.c, src/copypass.c: Number of blocks is
	size_t.
	* src/extern.h, src/global.c: Use size_t for buffer sizes and
	off_t for total I/O bytes.

2007-06-27  Sergey Poznyakoff  <gray@gnu.org.ua>

        Relicense under GPLv3

2007-06-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	* configure.ac, NEWS: Version number 2.8
	* bootstrap.conf: Update

2007-06-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	* NEWS: Update
	* configure.ac: Raise version to 2.7.90
	* doc/cpio.texi: Update
	* src/extern.h (set_perms, set_file_times): Take file descriptor
	as the first argument.
	* src/util.c (set_perms): Take file descriptor
	as the first argument and use fchmod/fchown if available.  Fixes
	CAN-2005-1111.
	* src/copyin.c, src/copyout.c, src/copypass.c: Update calls to
	set_perms.
	* src/makepath.c: Remove useless includes.
	
	* src/util.c (set_perms, stat_to_cpio): Use CPIO_UID and CPIO_GID
	macros to set uid and gid
	* src/main.c (process_args): Allow to use --owner in copy-out mode.
	* THANKS: Add Mike Frysinger
	
2007-05-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	* bootstrap: Update from tar repository
	* doc/cpio.texi: Fix typo
	* src/copyin.c (from_ascii): Bugfix: allow for empty fields
	* src/copyout.c (process_copy_out): Fix memory leaks on
	orig_file_name.
	* src/copypass.c (process_copy_pass): symlink_error takes two
	arguments.
	* src/extern.h: Add missing includes.

2006-12-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	* README-cvs: New file
	* lib/Makefile.tmpl, lib/bcopy.c, lib/mkdir.c, lib/strdup.c,
	lib/strerror.c, lib/.cvsignore, po/.cvsignore,
	po/Makevars: Removed
	* lib/Makefile.am: New file
	* po/POTFILES.in: Update
	* bootstrap: Synch with tar.
	* configure.ac: Update
	* gnulib.modules: Add lchown, strerror
	* src/Makefile.am: Update
	* src/main.c, src/mt.c: Include rmt-command.h instead of localedir.h
	* .cvsignore, doc/.cvsignore: Sort
	
	* src/util.c (sparse_write): Static.  Provide a forward
	declaration. Define enum sparse_write_states inside the function.

	* src/copyin.c (long_format): Use PRIuMAX for printing file size
	* src/copyout.c (write_out_binary_header): Fix size conversion
	* src/extern.h (tape_toss_input, warn_if_file_changed): Last
	argument is off_t
	* src/util.c (tape_toss_input, warn_if_file_changed): Last
	argument is off_t
	(warn_if_file_changed): Use ngettext

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

	* src/copypass.c: Fix setting output file permissions

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

	* doc/cpio.texi: Consistently use @option{} for displaying command
	line options.
	Fix formatting in "Invoking `cpio'" section
	* src/main.c (process_args): Fix usage error diagnostics in
	copy-pass mode.

2006-10-24  Sergey Poznyakoff  <gray@gnu.org.ua>

	* src/copyout.c (process_copy_out): Add terminating zero to the
	link_name.

	* tests/symlink.at: New testcase
	* tests/Makefile.am: New test symlink.at
	* tests/inout.at: Add keywords
	* tests/testsuite.at (AT_SKIP_TEST): New macro
	New test symlink.at

2006-10-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	* configure.ac, NEWS: Version 2.7
	* gnulib.modules: Add stdint
	* src/util.c: Use STRINGIFY_BIGINT to display num_bytes

2006-09-27  Sergey Poznyakoff  <gray@gnu.org.ua>

	* TODO: Update
	* README-alpha: Update
	* bootstrap: Imported from tar
	* configure.ac: Require autoconf 2.59 and gettext 1.15
	* gnulib.modules: add inttypes
	* doc/cpio.texi: Minor fixes
	* po/Makevars: Remove automatically generated file
	* po/.cvsignore: Add Makevars
	* lib/.cvsignore: Update
	* src/copyin.c, src/copyout.c, src/copypass.c, src/cpio.h,
	src/cpiohdr.h, src/defer.c, src/defer.h, src/extern.h,
	src/global.c, src/main.c, src/makepath.c, src/tar.c,
	src/util.c: Update copyright year. 

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

	* bootstrap (update_po): Fix single translation update
	* lib/Makefile.tmpl: Initialize AM_CPPFLAGS
	(noinst_HEADERS): Add system-ioctl.h

	Start rewriting using a better suited internal representation for
	the file meta-data.
	
	* src/cpiohdr.h (struct old_cpio_header): Remove unused fields
	c_mtime, c_filesize and c_name.
	(struct old_ascii_header): New data type
	(struct new_ascii_header): New data type. Describes the header
	structure, not its internal representation.
	(struct cpio_file_stat): New data type. Describes internal
	representation of a file metadata

	* src/copyin.c (from_ascii): New function
	Use cpio_file_stat for internal header representation.
	* src/copyout.c: Use cpio_file_stat for internal header
	representation. Among other things this fixes bug reported by
	Peter Vrabec on Mar 2, 2006
	(http://lists.gnu.org/archive/html/bug-cpio/2006-03/msg00000.html)
	* src/copypass.c: Use cpio_file_stat for internal header
	representation.
	* src/tar.c: Likewise
	* src/util.c: Likewise
	* src/defer.c: Likewise
	* src/defer.h: Likewise
	* src/extern.h: Likewise
	(from_ascii): New prototype
	(LG_8,LG_16,FROM_OCTAL,FROM_HEX): New defines
	* src/main.c: New command line option --HANG (hidden)

2006-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	* tests/Makefile.am (AM_CPPFLAGS): Define LOCALEDIR

2006-02-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	* gnulib.modules: Add stpcpy. Thanks Benigno B. Junior for
	reporting.
	* THANKS: Add Benigno B. Junior
	* src/makepath.c: Fix indentation.

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

	* src/copyout.c (process_copy_out): Fix typo.

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

	* bootstrap: Minor fix
	* src/copyout.c (write_out_header): Rewritten using separate
	functions for each file format. Use to_ascii to convert numbers to
	ascii representation. Check for overflows and report them if
	appropriate. Return 0 if it is OK to proceed with archiving this
	file, 1 otherwise. All callers updated.
	* src/extern.h (write_out_header): Return int.

2005-10-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	* src/util.c: Include paxlib.
	* bootstrap: If file `.bootstrap' exists in the cwd and is
        readable, prepend its contents to the command line.

	Fix Debian bug 335580:
	
	* src/copyout.c (read_for_checksum,write_out_header): CRC is a
	32-bit unsigned value. Patch proposed by Jim Castleberry and
	Peter Vrabec. 
	* src/extern.h (crc): Change declaration
	* src/global.c: Likewise
	* src/tar.c (tar_checksum): Return unsigned int

	* THANKS: Add Jim Castleberry
	* NEWS: Updated
	
2005-09-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	* src/copyout.c (process_copy_out): Discern between original and
	(eventually fixed) file name (in tar terminology, `file name'
	vs. `member name'.

2005-09-08  Sergey Poznyakoff  <gray@gnu.org.ua>

	* gnulib.modules: Add utimens
	* src/util.c (cpio_safer_name_suffix): Preserve ./ no matter what
	the value of strip_leading_dots is.
	(set_file_times): New function
	* src/extern.h (set_file_times): New function
	* src/copyin.c: Use set_file_times() to update file atime/mtime
	* src/copyout.c: Likewise.
	* src/copypass.c: Likewise.

2005-05-25  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* src/copyin.c: Use cpio_safer_name_suffix() and CPIO_TRAILER_NAME
	define instead of hardcoding the trailer file name.
	* src/copyout.c: Likewise.
	* src/cpio.h (CPIO_TRAILER_NAME): New define
	* src/extern.h (cpio_safer_name_suffix): New proto
	* src/tar.c: Use CPIO_TRAILER_NAME define instead of hardcoding
	the trailer file name.
	* src/util.c (cpio_safer_name_suffix): New function
	(add_cdf_double_slashes): Add FIXME warning.
	
	* lib/fatal.c: New file
	* lib/Makefile.tmpl (libcpio_a_SOURCES): Add fatal.c
	* src/copyout.c: Use error reporting functions from paxlib
	* src/makepath.c: Likewise
	* src/mt.c: Likewise
	* src/main.c (fatal_exit): Moved to lib/fatal.c

2005-05-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* src/copyin.c (process_copy_in): Use safer_name_suffix no matter
	what the value of no_abs_paths_flag. The function knows better
	what to do in any case.
	* src/copyout.c (process_copy_out): Honor no_abs_paths_flag.
	* src/main.c (options): Minor fixes.

2005-05-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* bootstrap (copy_files): Create destination directory if it does
	not exist.
	Preserve longlong.m4 as longlong_gl.m4 
	* src/main.c: Include paxlib.h
	
2005-05-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* lib/.cvsignore: Updated
	* gnulib.modules: Add hash
	* doc/cpio.texi (Reports): New chapter
	* lib/Makefile.tmpl: Add new paxutils files.
	* po/POTFILES.in: Likewise
	* src/copyin.c [!HAVE_LCHOWN] (lchown): Define to 0 to avoid
	changing ownership of the target file.
	(process_copy_in): Use safer_name_suffix()
	* src/main.c (parse_opt): Handle new --absolute-filenames option.
	(process_args): Updated
	* src/util.c: Rewrite inode lookup/insertion functions using hash
	module. 

u2005-05-20  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* configure.ac: Raised version number to 2.6.90
	* NEWS: Updated
	* src/copyin.c: Use set_perms.
	* src/copypass.c: Likewise.
	* src/copyout.c (process_copy_out): Use stat_to_cpio() to convert
	struct stat to struct new_cpio_header.
	* src/defer.h: Remove legacy P_() stuff.
	* src/dstring.c: Likewise
	* src/extern.h: Likewise
	* src/util.c (stat_to_cpio,set_perms): New functions
	* doc/.cvsignore: Updated
	* lib/.cvsignore: Updated
	* tests/.cvsignore: Updated
	* .cvsignore: Updated
	* COPYING: Added to the repository

2005-05-19  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* po/POTFILES.in: Add paxerror.c paxexit.c paxconvert.c

	* bootstrap (copy_files): Accept optional third argument: a prefix
	to be appended to destination file names.
	Import paxutils/paxlib files.
	* lib/Makefile.tmpl (libcpio_a_SOURCES): Add paxerror.c paxexit.c
	paxconvert.c
	* src/copyin.c: Use paxutils error reporting functions
	* src/copyout.c: Likewise
	* src/copypass.c: Likewise
	* src/util.c: Likewise. Add missing includes
	* src/main.c (USAGE_ERROR): Removed
	(CHECK_USAGE,parse_opt,process_args): Use error() instead of USAGE_ERROR
	(fatal_exit): New function
	* src/tar.c (is_tar_filename_too_long): Removed unused variable

	* Makefile.am, configure.ac, doc/Makefile.am,
	doc/cpio.texi, doc/gendocs_template, headers/Makefile.am,
	headers/fnmatch.h, lib/Makefile.tmpl, lib/mkdir.c,
	lib/strdup.c, lib/strerror.c, src/Makefile.am,
	src/copyin.c, src/copyout.c, src/copypass.c, src/cpio.h,
	src/cpiohdr.h, src/defer.c, src/defer.h, src/dstring.c,
	src/dstring.h, src/extern.h, src/filemode.c,
	src/filetypes.h, src/global.c, src/idcache.c,
	src/main.c, src/makepath.c, src/mt.c, src/tar.c,
	src/tar.h, src/tarhdr.h, src/userspec.c, src/util.c,
	tests/Makefile.am, tests/inout.at, tests/testsuite.at,
	tests/version.at: Updated FSF postal mail address.

	* bootstrap: Port recent changes from tar bootstrap.
	* gnulib.modules: New file
	* tests/Makefile.am (genfile_SOURCES,LDADD): Updated

	* THANKS: Updated
	* configure.ac: Remove check for gethostname, it is never used.
	Remove check for setsockopt, it is provided by paxutils.

	Fix LFS support issues. Proposed by Peter Vrabec and Dmitry V. Levin

	* src/extern.h (copy_files_tape_to_disk, copy_files_disk_to_tape,
	copy_files_disk_to_disk): Change num_bytes argument type from
	long to off_t.
	* src/util.c (copy_files_tape_to_disk, copy_files_disk_to_tape,
	copy_files_disk_to_disk, disk_fill_input_buffer,
	write_nuls_to_file): Likewise.
	(write_nuls_to_file, copy_files_disk_to_tape,
	copy_files_disk_to_disk): Handle `off_t num_bytes' properly.

	* src/util.c (find_inode_file): Fix typos causing function to
	occasionally miss inodes and, therefore, to copy out the same
	(hard-linked) file several times to archive. Proposed by Brian
	Mays.

2005-03-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* src/main.c (process_args): Fixed discrepancy I have been
	overlooking so far: cpio still does not handle --sparse option
	the same way tar is handling it. --sparse is allowed in copy-in
	and copy-pass modes, just as docs say it. Thanks Dmitry Levin.
	* THANKS: Updated

2005-03-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* src/util.c (disk_buffered_write): Fix typo introduced
	2005-01-11.
	* src/main.c (process_args): Fixed error message

2005-01-31  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* src/main.c (main): Remove umask(0). Fixes CAN-1999-1572.
	[__TURBOC__,__EMX__]: Removed
	* src/copypass.c (process_copy_pass): Set umask 0
	* src/copyin.c (process_copy_in): Likewise
	* src/util.c (open_archive): Use MODE_RW.
	
2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* doc/gendocs_template: Template file for gendocs.sh.
	* doc/Makefile.am: Use gendocs.sh to generate webdocs.
	* doc/cpio.texi: Updated.

	* src/copyin.c: Use memset instead of bzero, memmove
	(or memcpy, if appropriate), instead of bcopy, and
	strchr/strrchr instead of index/rindex.
	* src/copypass.c: Likewise.
	* src/main.c: Likewise.
	* src/makepath.c: Likewise.
	* src/tar.c: Likewise.
	* src/util.c: Likewise.
	(write_nuls_to_file): Made extern. All callers updated
	
	* src/copyout.c: Likewise. Use write_nuls_to_file instead
	of explicitely accessing zeros_512
	* src/userspec.c: Likewise.
	Rename isnumber to isnumber_p. Proposed by
	Albert Chin
	* src/extern.h (zeros_512): Removed
	(write_nuls_to_file): New function
	* src/global.c (zeros_512): Removed
	
2005-01-06  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* bootstrap: Add 'fileblocks' gnulib module
	Create paxutils.m4
	* configure.ac: Call cpio_PAXUTILS
	* src/main.c: Remove ifdef around setlocale
	* src/mt.c: Likewise

2004-12-21  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* configure.ac: New option --enable-mt
	Check for locale.h
	* doc/cpio.info: Removed
	* src/mt.c (main): Use argmatch_invalid()

2004-12-20  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	Released version 2.6. Sources up to this point are tagged
	release_2_6.

	* configure.ac: Raised version number to 2.6
	* NEWS: Likewise
	* bootstrap (update_po): Give -r to wget. Always remove index.html
	Ignore alloca-opt module (it duplicates alloca)

2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* src/main.c (enum cpio_options): Bugfix: Initialize first enum
	value to 256.
	* bootstrap: Add unlocked-io
	* headers/argp.h: Removed
	* headers/getopt.h: Removed
	* headers/Makefile.am: Updated

2004-10-14  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* src/copyout.c: Add trailing slash to directory names in
	ustar format.
	* src/makepath.c: Removed redeclaration of error().
	* src/tar.c: Fixed deviations from POSIX.1-1988:
	Properly split long file names. Fill in octal fields with zeros,
	not spaces. Save only protection modes, not the whole mode.
	
	* NEWS: Updated

2004-09-08  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* NEWS: Updated
	* TODO: Updated
	* bootstrap: Install po files by default
	* po/LINGUAS: Removed. File is generated automatically
	* po/.cvsignore: Updated
	* src/copyin.c: Implemented --to-stdout option
	* src/copyout.c: Display the annoying 'truncating inode number'
	message only if the user wishes it.
	* src/extern.h: Added new globals.
	* src/global.c: Likewise.

	* src/main.c: Added support for --to-stdout and --warning options
	* src/tar.c (read_in_tar_header): Use warn_junk_bytes()
	* src/util.c (create_all_directories): Use dir_name.

	* configure.ac: Added support for the test suite
	* Makefile.am: Likewise

	* tests: New directory
	* tests/.cvsignore: New file
	* tests/Makefile.am: New file
	* tests/testsuite.at: New file
	* tests/inout.at: New file
	* tests/version.at: New file
	* tests/atlocal.in: New file
	
2004-09-07  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* src/main.c (process_args): Bugfix. Allow extra arguments
	in copy_in mode.
	* src/util.c (write_nuls_to_file): Use buffered I/O. All
	callers changed. Thanks Matthew Braithwaite <mab@cnet.com>
	for noticing.
	Bugfix: extra_bytes was mistakenly used instead of blocks.
	* THANKS: Added Matthew Braithwaite.

2004-09-06  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	Started merging with tar into paxutils. Sources before
	this point are tagged alpha-2_50_90.
	
	* bootstrap: New file
	* autogen.sh: Removed
	* Makefile.am: Updated
	* NEWS: Updated
	* README-alpha: Updated
	* configure.ac: Updated
	* doc/cpio.1: Updated
	* po/POTFILES.in: Updated

	* src/Makefile.am: Updated
	* src/error.c: Removed
	* src/dirname.c: Likewise
	* src/xmalloc.c: Likewise
	* src/stripslash.c: Likewise
	* src/xstrdup.c
	* src/gettext.h: Likewise
	* src/system.h: Likewise
	* src/rmt.h: Likewise
	* src/getopt.c: Likewise
	* src/getopt1.c: Likewise
	* src/bcopy.c: Likewise
	* src/fnmatch.c: Likewise
	* src/mkdir.c: Likewise
	* src/strdup.c: Likewise
	* src/argp-ba.c: Likewise
	* src/argp-eexst.c: Likewise
	* src/argp-fmtstream.c: Likewise
	* src/argp-fs-xinl.c: Likewise
	* src/argp-help.c: Likewise
	* src/argp-parse.c: Likewise
	* src/argp-pv.c: Likewise
	* src/argp-pvh.c: Likewise
	* src/argp-xinl.c: Likewise
	* src/pin.c: Likewise
	* src/alloca.c: Likewise
	* src/argmatch.c: Likewise
	* src/rmt.c: Likewise
	* src/rtapelib.c: Likewise
	* src/strerror.c: Likewise
	
	* src/copyin.c: Switched to ANSI C (sigh)
	* src/copyout.c: Likewise
	* src/copypass.c: Likewise
	* src/defer.c: Likewise
	* src/defer.h: Likewise
